opentk-1.0.20101006/0000775000175000017500000000000011755465541012563 5ustar laneylaneyopentk-1.0.20101006/OpenTK.snk0000664000175000017500000000112411453131442014417 0ustar laneylaney$RSA2Zq+Q'#Aޘ.IKq ,eБG>r%~Yxg)9(G̟x&p&_6'"X:Yo /TٍDU25mie^>yvȟs1<ةc^-!0ͫ$ٶ}%NNl!"^Yyq} }"vLK8ؽ:.$ *F,UuJ6s߁Zi#/Pѻ U k#G+B_C?!hQх85?RB7pj8\l&#q&8k_B© ڼs-1/\.t vopentk-1.0.20101006/Source/0000775000175000017500000000000011453142152014004 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/0000775000175000017500000000000011453142152015562 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/ExampleInfo.cs0000664000175000017500000000117311453131440020320 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace Examples { /// /// Contains the information necessary to display and launch an example thorugh the ExampleLauncer. /// class ExampleInfo { public readonly Type Example; public readonly ExampleAttribute Attribute; public ExampleInfo(Type example, ExampleAttribute attr) { Example = example; Attribute = attr; } public override string ToString() { return Attribute.ToString(); } } } opentk-1.0.20101006/Source/Examples/Main.cs0000664000175000017500000000620211453131440016773 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2010 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.IO; using System.Drawing; namespace Examples { static class Program { [STAThread] public static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (Form browser = new ExampleBrowser()) { try { if (File.Exists("debug.log")) File.Delete("debug.log"); if (File.Exists("trace.log")) File.Delete("trace.log"); } catch (Exception expt) { MessageBox.Show("Could not access debug.log", expt.ToString()); } Debug.Listeners.Clear(); Debug.Listeners.Add(new TextWriterTraceListener("debug.log")); Debug.Listeners.Add(new ConsoleTraceListener()); Trace.Listeners.Clear(); Trace.Listeners.Add(new TextWriterTraceListener("debug.log")); Trace.Listeners.Add(new ConsoleTraceListener()); Application.Run(browser); } } catch (System.Security.SecurityException e) { MessageBox.Show("The Example Launcher failed to start, due to insufficient permissions. This may happen if you execute the application from a network share.", "OpenTK Example Launcher failed to start.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); Trace.WriteLine(e.ToString()); } } } } opentk-1.0.20101006/Source/Examples/Shapes/0000775000175000017500000000000011453142152017005 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Shapes/ChamferCube.cs0000664000175000017500000003175711453131434021516 0ustar laneylaneyusing System; using System.Collections.Generic; using OpenTK; namespace Examples.Shapes { public sealed class ChamferCube: DrawableShape { public enum SubDivs: byte { Zero, One, Two, Three, Four, } public ChamferCube( double Width, double Height, double Length, SubDivs subdivs, double radius, bool useDL ) : base( useDL ) { SlicedSphere.eSubdivisions sphereSubDivs = SlicedSphere.eSubdivisions.Zero; uint hoseSubDivs = 0; switch ( subdivs ) { case SubDivs.Zero: sphereSubDivs = SlicedSphere.eSubdivisions.Zero; hoseSubDivs = 0; break; case SubDivs.One: sphereSubDivs = SlicedSphere.eSubdivisions.One; hoseSubDivs = 1; break; case SubDivs.Two: sphereSubDivs = SlicedSphere.eSubdivisions.Two; hoseSubDivs = 3; break; case SubDivs.Three: sphereSubDivs = SlicedSphere.eSubdivisions.Three; hoseSubDivs = 7; break; case SubDivs.Four: sphereSubDivs = SlicedSphere.eSubdivisions.Four; hoseSubDivs = 15; break; } #region Temporary Storage List AllChunks = new List(); OpenTK.Graphics.OpenGL.BeginMode TemporaryMode; VertexT2dN3dV3d[] TemporaryVBO; uint[] TemporaryIBO; #endregion Temporary Storage Vector3d FrontTopRightEdge = new Vector3d( +Width - radius, +Height - radius, +Length - radius ); Vector3d FrontTopLeftEdge = new Vector3d( +Width - radius, +Height - radius, -Length + radius ); Vector3d FrontBottomRightEdge = new Vector3d( +Width - radius, -Height + radius, +Length - radius ); Vector3d FrontBottomLeftEdge = new Vector3d( +Width - radius, -Height + radius, -Length + radius ); Vector3d BackTopRightEdge = new Vector3d( -Width + radius, +Height - radius, +Length - radius ); Vector3d BackTopLeftEdge = new Vector3d( -Width + radius, +Height - radius, -Length + radius ); Vector3d BackBottomRightEdge = new Vector3d( -Width + radius, -Height + radius, +Length - radius ); Vector3d BackBottomLeftEdge = new Vector3d( -Width + radius, -Height + radius, -Length + radius ); #region 8 sliced Spheres SlicedSphere tempSphere; Vector3d tempVector = Vector3d.Zero; SlicedSphere.eDir[] tempEdge = new SlicedSphere.eDir[1]; for ( int i = 0; i < 8; i++ ) { switch ( i ) { case 0: tempVector = FrontTopRightEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.FrontTopRight }; break; case 1: tempVector = FrontTopLeftEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.FrontTopLeft }; break; case 2: tempVector = FrontBottomRightEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.FrontBottomRight }; break; case 3: tempVector = FrontBottomLeftEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.FrontBottomLeft }; break; case 4: tempVector = BackBottomRightEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.BackBottomRight }; break; case 5: tempVector = BackBottomLeftEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.BackBottomLeft }; break; case 6: tempVector = BackTopRightEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.BackTopRight }; break; case 7: tempVector = BackTopLeftEdge; tempEdge = new SlicedSphere.eDir[] { SlicedSphere.eDir.BackTopLeft }; break; } tempSphere = new SlicedSphere( radius, tempVector, sphereSubDivs, tempEdge, false ); tempSphere.GetArraysforVBO( out TemporaryMode, out TemporaryVBO, out TemporaryIBO ); tempSphere.Dispose(); AllChunks.Add( new Chunk( ref TemporaryVBO, ref TemporaryIBO ) ); } #endregion 8 sliced Spheres #region 12 sliced Hoses SlicedHose tempHose; SlicedHose.eSide tempSide = SlicedHose.eSide.BackBottom; Vector3d tempHoseStart = Vector3d.Zero; Vector3d tempHoseEnd = Vector3d.Zero; for ( int i = 0; i < 12; i++ ) { switch ( i ) { #region Around X Axis case 0: tempSide = SlicedHose.eSide.BottomRight; tempHoseStart = BackBottomRightEdge; tempHoseEnd = FrontBottomRightEdge; break; case 1: tempSide = SlicedHose.eSide.TopRight; tempHoseStart = BackTopRightEdge; tempHoseEnd = FrontTopRightEdge; break; case 2: tempSide = SlicedHose.eSide.TopLeft; tempHoseStart = BackTopLeftEdge; tempHoseEnd = FrontTopLeftEdge; break; case 3: tempSide = SlicedHose.eSide.BottomLeft; tempHoseStart = BackBottomLeftEdge; tempHoseEnd = FrontBottomLeftEdge; break; #endregion Around X Axis #region Around Y Axis case 4: tempSide = SlicedHose.eSide.FrontRight; tempHoseStart = FrontBottomRightEdge; tempHoseEnd = FrontTopRightEdge; break; case 5: tempSide = SlicedHose.eSide.BackRight; tempHoseStart = BackBottomRightEdge; tempHoseEnd = BackTopRightEdge; break; case 6: tempSide = SlicedHose.eSide.BackLeft; tempHoseStart = BackBottomLeftEdge; tempHoseEnd = BackTopLeftEdge; break; case 7: tempSide = SlicedHose.eSide.FrontLeft; tempHoseStart = FrontBottomLeftEdge; tempHoseEnd = FrontTopLeftEdge; break; #endregion Around Y Axis #region Around Z Axis case 8: tempSide = SlicedHose.eSide.FrontTop; tempHoseStart = FrontTopRightEdge; tempHoseEnd = FrontTopLeftEdge; break; case 9: tempSide = SlicedHose.eSide.BackTop; tempHoseStart = BackTopRightEdge; tempHoseEnd = BackTopLeftEdge; break; case 10: tempSide = SlicedHose.eSide.BackBottom; tempHoseStart = BackBottomRightEdge; tempHoseEnd = BackBottomLeftEdge; break; case 11: tempSide = SlicedHose.eSide.FrontBottom; tempHoseStart = FrontBottomRightEdge; tempHoseEnd = FrontBottomLeftEdge; break; #endregion Around Z Axis } tempHose = new SlicedHose( tempSide, hoseSubDivs, radius, tempHoseStart, tempHoseEnd, false ); tempHose.GetArraysforVBO( out TemporaryMode, out TemporaryVBO, out TemporaryIBO ); tempHose.Dispose(); AllChunks.Add( new Chunk( ref TemporaryVBO, ref TemporaryIBO ) ); } #endregion 12 sliced Hoses #region 6 quads for the sides VertexT2dN3dV3d[] tempVBO = new VertexT2dN3dV3d[4]; uint[] tempIBO = new uint[6] { 0, 1, 2, 0, 2, 3 }; // all quads share this IBO // all quads use the same texcoords tempVBO[0].TexCoord = new Vector2d( 0.0, 1.0 ); tempVBO[1].TexCoord = new Vector2d( 0.0, 0.0 ); tempVBO[2].TexCoord = new Vector2d( 1.0, 0.0 ); tempVBO[3].TexCoord = new Vector2d( 1.0, 1.0 ); // front face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = Vector3d.UnitX; tempVBO[0].Position = FrontTopRightEdge + new Vector3d( radius, 0.0, 0.0 ); tempVBO[1].Position = FrontBottomRightEdge + new Vector3d( radius, 0.0, 0.0 ); tempVBO[2].Position = FrontBottomLeftEdge + new Vector3d( radius, 0.0, 0.0 ); tempVBO[3].Position = FrontTopLeftEdge + new Vector3d( radius, 0.0, 0.0 ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); // back face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = -Vector3d.UnitX; tempVBO[0].Position = BackTopLeftEdge - new Vector3d( radius, 0.0, 0.0 ); tempVBO[1].Position = BackBottomLeftEdge - new Vector3d( radius, 0.0, 0.0 ); tempVBO[2].Position = BackBottomRightEdge - new Vector3d( radius, 0.0, 0.0 ); tempVBO[3].Position = BackTopRightEdge - new Vector3d( radius, 0.0, 0.0 ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); // top face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = Vector3d.UnitY; tempVBO[0].Position = BackTopRightEdge + new Vector3d( 0.0, radius, 0.0 ); tempVBO[1].Position = FrontTopRightEdge + new Vector3d( 0.0, radius, 0.0 ); tempVBO[2].Position = FrontTopLeftEdge + new Vector3d( 0.0, radius, 0.0 ); tempVBO[3].Position = BackTopLeftEdge + new Vector3d( 0.0, radius, 0.0 ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); // bottom face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = -Vector3d.UnitY; tempVBO[0].Position = BackBottomLeftEdge - new Vector3d( 0.0, radius, 0.0 ); tempVBO[1].Position = FrontBottomLeftEdge - new Vector3d( 0.0, radius, 0.0 ); tempVBO[2].Position = FrontBottomRightEdge - new Vector3d( 0.0, radius, 0.0 ); tempVBO[3].Position = BackBottomRightEdge - new Vector3d( 0.0, radius, 0.0 ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); // right face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = Vector3d.UnitZ; tempVBO[0].Position = BackTopRightEdge + new Vector3d( 0.0, 0.0, radius ); tempVBO[1].Position = BackBottomRightEdge + new Vector3d( 0.0, 0.0, radius ); tempVBO[2].Position = FrontBottomRightEdge + new Vector3d( 0.0, 0.0, radius ); tempVBO[3].Position = FrontTopRightEdge + new Vector3d( 0.0, 0.0, radius ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); // left face tempVBO[0].Normal = tempVBO[1].Normal = tempVBO[2].Normal = tempVBO[3].Normal = -Vector3d.UnitZ; tempVBO[0].Position = FrontTopLeftEdge - new Vector3d( 0.0, 0.0, radius ); tempVBO[1].Position = FrontBottomLeftEdge - new Vector3d( 0.0, 0.0, radius ); tempVBO[2].Position = BackBottomLeftEdge - new Vector3d( 0.0, 0.0, radius ); tempVBO[3].Position = BackTopLeftEdge - new Vector3d( 0.0, 0.0, radius ); AllChunks.Add( new Chunk( ref tempVBO, ref tempIBO ) ); #endregion 6 quads for the sides #region Final Assembly of Chunks PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; Chunk.GetArray( ref AllChunks, out VertexArray, out IndexArray ); AllChunks.Clear(); #endregion Final Assembly of Chunks } } } opentk-1.0.20101006/Source/Examples/Shapes/TorusKnot.cs0000664000175000017500000001357611453131434021321 0ustar laneylaneyusing System; using System.Diagnostics; using OpenTK; namespace Examples.Shapes { public sealed class TorusKnot: DrawableShape { #region Constants // hard minimums to make sure the created Torusknot is 3D private const int MINShapeVertices = 3; private const int MINPathSteps = 32; private const double TwoPi = ( 2.0 * System.Math.PI ); #endregion Constants public TorusKnot( int pathsteps, int shapevertices, double radius, int p, int q, int TexCount, bool useDL ) : base( useDL ) { Trace.Assert( pathsteps >= MINPathSteps, "A Path must have at least " + MINPathSteps + " Steps to form a volume." ); Trace.Assert( shapevertices >= MINShapeVertices, "A Shape must contain at least " + MINShapeVertices + " Vertices to be considered valid and create a volume." ); Trace.Assert( TexCount > 1, "at least 1 Texture set is required." ); PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.TriangleStrip; Vector3d[] PathPositions = new Vector3d[pathsteps]; #region Find the center Points for each step on the path for ( int i = 0; i < pathsteps; i++ ) { double Angle = ( i / (double)pathsteps ) * TwoPi; double AngleTimesP = Angle * p; double AngleTimesQ = Angle * q; double r = ( 0.5 * ( 2.0 + System.Math.Sin( AngleTimesQ ) ) ); PathPositions[i] = new Vector3d( ( r * System.Math.Cos( AngleTimesP ) ), ( r * System.Math.Cos( AngleTimesQ ) ), ( r * System.Math.Sin( AngleTimesP ) ) ); } #endregion Find the center Points for each step on the path #region Find the Torus length Vector3d result; double[] Lengths = new double[pathsteps]; Vector3d.Subtract( ref PathPositions[pathsteps - 1], ref PathPositions[0], out result ); Lengths[0] = result.Length; double TotalLength = result.Length; for ( int i = 1; i < pathsteps; i++ ) // skipping { Vector3d.Subtract( ref PathPositions[i - 1], ref PathPositions[i], out result ); Lengths[i] = result.Length; TotalLength += result.Length; } Trace.WriteLine( "the TorusKnot's length is: " + TotalLength + " " ); #endregion Find the Torus length VertexArray = new VertexT2dN3dV3d[pathsteps * shapevertices]; #region Loft a circle Shape along the path double TwoPiThroughVert = TwoPi / shapevertices; // precalc for reuse for ( uint i = 0; i < pathsteps; i++ ) { Vector3d last, next, normal, tangent; if ( i == pathsteps - 1 ) next = PathPositions[0]; else next = PathPositions[i + 1]; if ( i == 0 ) last = PathPositions[pathsteps - 1]; else last = PathPositions[i - 1]; Vector3d.Subtract( ref next, ref last, out tangent ); // Guesstimate tangent tangent.Normalize(); Vector3d.Add( ref next, ref last, out normal ); // Approximate N normal.Normalize(); Vector3d.Multiply( ref normal, radius, out normal );// scale the shape to desired radius for ( uint j = 0; j < shapevertices; j++ ) { uint index = i * (uint)shapevertices + j; // Create a point on the plane and rotate it Matrix4d RotationMatrix = Matrix4d.Rotate( tangent, -( j * TwoPiThroughVert ) ); Vector3d point = Vector3d.TransformVector( normal, RotationMatrix ); Vector3d.Add( ref PathPositions[i], ref point, out VertexArray[index].Position ); // Since the used shape is a circle, the Vertex normal's heading is easy to find Vector3d.Subtract( ref VertexArray[index].Position, ref PathPositions[i], out VertexArray[index].Normal ); VertexArray[index].Normal.Normalize(); // just generate some semi-useful UVs to fill blanks VertexArray[index].TexCoord = new Vector2d( (double)( i / TotalLength/ TexCount ), j / ( shapevertices - 1.0 ) ); } } #endregion Loft a circle Shape along the path PathPositions = null; // not needed anymore uint currentindex = 0; #region Build a Triangle strip from the Vertices IndexArray = new uint[pathsteps * ( shapevertices * 2 + 2 )]; // 2 triangles per vertex, +2 due to added degenerate triangles for ( uint i = 0; i < pathsteps; i++ ) { uint RowCurrent = i * (uint)shapevertices; uint RowBelow; if ( i == pathsteps - 1 ) RowBelow = 0; // for the last row, the first row is the following else RowBelow = ( i + 1 ) * (uint)shapevertices; // new ring begins here for ( uint j = 0; j < shapevertices; j++ ) { IndexArray[currentindex++] = RowCurrent + j; IndexArray[currentindex++] = RowBelow + j; } // ring ends here, repeat first 2 vertices to insert 2 degenerate triangles to reach following ring IndexArray[currentindex++] = RowCurrent; IndexArray[currentindex++] = RowBelow; } #endregion Build a Triangle strip from the Vertices } } } opentk-1.0.20101006/Source/Examples/Shapes/KochTetrahedron.cs0000664000175000017500000000475111453131434022430 0ustar laneylaneyusing System; using System.Collections.Generic; namespace Examples.Shapes { public sealed class KochTetrahedron: DrawableShape { public enum eSubdivisions { Zero = 0, One = 1, Two = 2, Three = 3, Four = 4, Five=5, Six=6, Seven=7, Eight=8, } public KochTetrahedron( double scale, double extrusionHeight, double extrusionMultiplier, eSubdivisions subdivs, bool useDL ) : base( useDL ) { TetrahedronFace[] Triangles; switch ( subdivs ) { case eSubdivisions.Zero: SierpinskiTetrahedron.CreateDefaultTetrahedron( scale, out Triangles ); break; case eSubdivisions.One: case eSubdivisions.Two: case eSubdivisions.Three: case eSubdivisions.Four: case eSubdivisions.Five: case eSubdivisions.Six: case eSubdivisions.Seven: case eSubdivisions.Eight: SierpinskiTetrahedron.CreateDefaultTetrahedron( scale, out Triangles ); for ( int i = 0; i < (int)subdivs; i++ ) { TetrahedronFace[] temp; this.SubdivideKoch( extrusionHeight, ref Triangles, out temp ); Triangles = temp; extrusionHeight *= extrusionMultiplier; } break; default: throw new ArgumentOutOfRangeException( "Subdivisions other than contained in the enum cause overflows and are not allowed." ); } PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; SierpinskiTetrahedron.GetVertexArray( ref Triangles, out VertexArray ); IndexArray = null; } private void SubdivideKoch( double height, ref TetrahedronFace[] input, out TetrahedronFace[] output ) { output = new TetrahedronFace[input.Length * 6]; int counter = 0; for ( int i = 0; i < input.Length; i++ ) { input[i].SubdivideKoch(height, out output[counter + 0], out output[counter + 1], out output[counter + 2], out output[counter + 3], out output[counter + 4], out output[counter + 5] ); counter += 6; // every source triangle emits 6 new triangles } } } } opentk-1.0.20101006/Source/Examples/Shapes/SlicedSphere.cs0000664000175000017500000002053511453131434021714 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; using OpenTK; namespace Examples.Shapes { public sealed class SlicedSphere: DrawableShape { public enum eSubdivisions { Zero = 0, One = 1, Two = 2, Three = 3, Four = 4, Five=5, Six=6, Seven=7, Eight=8, } public enum eDir { All, FrontTopRight, FrontBottomRight, FrontBottomLeft, FrontTopLeft, BackTopRight, BackBottomRight, BackBottomLeft, BackTopLeft, } public SlicedSphere( double radius, Vector3d offset, eSubdivisions subdivs, eDir[] sides, bool useDL ) : base( useDL ) { double Diameter = radius; PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; if ( sides[0] == eDir.All ) { sides = new eDir[] { eDir.FrontTopRight, eDir.FrontBottomRight, eDir.FrontBottomLeft, eDir.FrontTopLeft, eDir.BackTopRight, eDir.BackBottomRight, eDir.BackBottomLeft, eDir.BackTopLeft,}; } VertexArray = new VertexT2dN3dV3d[sides.Length * 3]; IndexArray = new uint[sides.Length * 3]; uint counter = 0; foreach ( eDir s in sides ) { GetDefaultVertices( s, Diameter, out VertexArray[counter + 0], out VertexArray[counter + 1], out VertexArray[counter + 2] ); IndexArray[counter + 0] = counter + 0; IndexArray[counter + 1] = counter + 1; IndexArray[counter + 2] = counter + 2; counter += 3; } if ( subdivs != eSubdivisions.Zero ) { for ( int s = 0; s < (int)subdivs; s++ ) { #region Assemble Chunks and convert to Arrays List AllChunks = new List(); for ( uint i = 0; i < IndexArray.Length; i += 3 ) { Chunk chu; Subdivide( Diameter, ref VertexArray[IndexArray[i + 0]], ref VertexArray[IndexArray[i + 1]], ref VertexArray[IndexArray[i + 2]], out chu ); AllChunks.Add( chu ); } Chunk.GetArray( ref AllChunks, out VertexArray, out IndexArray ); AllChunks.Clear(); #endregion Assemble Chunks and convert to Arrays } } for (int i=0; iCreates a Sierpinski Tetrahedron using 4 triangles. Zero = 0, /// Creates a Sierpinski Tetrahedron using 16 triangles. One = 1, /// Creates a Sierpinski Tetrahedron using 64 triangles. Two = 2, /// Creates a Sierpinski Tetrahedron using 256 triangles. Three = 3, /// Creates a Sierpinski Tetrahedron using 1024 triangles. Four = 4, /// Creates a Sierpinski Tetrahedron using 4096 triangles. Five = 5, /// Creates a Sierpinski Tetrahedron using 16384 triangles. Six = 6, /// Creates a Sierpinski Tetrahedron using 65536 triangles. Seven = 7, /// Creates a Sierpinski Tetrahedron using 262144 triangles. Eight = 8, /// Creates a Sierpinski Tetrahedron using 1048576 triangles. Nine = 9, } /// Creates a Sierpinski Tetrahedron which is centered at (0,0,0) and fits into a sphere of radius 1f, or a diameter of 2f /// Default: 1f. /// The number of subdivisions of the Tetrahedron. /// public SierpinskiTetrahedron( double scale, eSubdivisions subdivs, bool useDL ) : base( useDL ) { TetrahedronFace[] Triangles; switch ( subdivs ) { case eSubdivisions.Zero: CreateDefaultTetrahedron( scale, out Triangles ); break; case eSubdivisions.One: case eSubdivisions.Two: case eSubdivisions.Three: case eSubdivisions.Four: case eSubdivisions.Five: case eSubdivisions.Six: case eSubdivisions.Seven: case eSubdivisions.Eight: case eSubdivisions.Nine: CreateDefaultTetrahedron( scale, out Triangles ); for ( int i = 0; i < (int)subdivs; i++ ) { TetrahedronFace[] temp; SubdivideTetrahedron( ref Triangles, out temp ); Triangles = temp; } break; default: throw new ArgumentOutOfRangeException( "Subdivisions other than contained in the enum cause overflows and are not allowed." ); } PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; SierpinskiTetrahedron.GetVertexArray( ref Triangles, out VertexArray ); IndexArray = null; } internal static void GetVertexArray( ref TetrahedronFace[] input, out VertexT2dN3dV3d[] output ) { output = new VertexT2dN3dV3d[input.Length * 3]; int counter = 0; for ( int i = 0; i < input.Length; i++ ) { input[i].GetVertices( out output[counter + 0], out output[counter + 1], out output[counter + 2] ); counter += 3; } } /// Generates the lowest subdivision mesh, which consists of 4 Triangles. internal static void CreateDefaultTetrahedron( double scale, out TetrahedronFace[] array ) { Vector3d[] Points = new Vector3d[4]; Points[0] = new Vector3d( 0.0 * scale, 0.0 * scale, 1.0 * scale ); Points[1] = new Vector3d( -0.816 * scale, 0.471 * scale, -0.333 * scale ); Points[2] = new Vector3d( 0.816 * scale, 0.471 * scale, -0.333 * scale ); Points[3] = new Vector3d( 0.0 * scale, -0.943 * scale, -0.333 * scale ); Vector2d[] TexCoords = new Vector2d[4]; TexCoords[0] = new Vector2d( 0.0, 0.0 ); TexCoords[1] = new Vector2d( 1.0, 0.0 ); TexCoords[2] = new Vector2d( 0.0, 1.0 ); TexCoords[3] = new Vector2d( 1.0, 1.0 ); Vector3d Normal; array = new TetrahedronFace[4]; FindNormal( ref Points[0], ref Points[2], ref Points[1], ref Points[3], out Normal ); array[0] = new TetrahedronFace( ref Points[0], ref TexCoords[2], ref Points[2], ref TexCoords[0], ref Points[1], ref TexCoords[1], ref Points[3], ref Normal ); FindNormal( ref Points[0], ref Points[3], ref Points[2], ref Points[1], out Normal ); array[1] = new TetrahedronFace( ref Points[0], ref TexCoords[0], ref Points[3], ref TexCoords[1], ref Points[2], ref TexCoords[2], ref Points[1], ref Normal ); FindNormal( ref Points[0], ref Points[1], ref Points[3], ref Points[2], out Normal ); array[2] = new TetrahedronFace( ref Points[0], ref TexCoords[2], ref Points[1], ref TexCoords[1], ref Points[3], ref TexCoords[3], ref Points[2], ref Normal ); FindNormal( ref Points[1], ref Points[2], ref Points[3], ref Points[0], out Normal ); array[3] = new TetrahedronFace( ref Points[1], ref TexCoords[3], ref Points[2], ref TexCoords[2], ref Points[3], ref TexCoords[1], ref Points[0], ref Normal ); } /// Subdivides each triangle into 4 new ones. private void SubdivideTetrahedron( ref TetrahedronFace[] source, out TetrahedronFace[] output ) { output = new TetrahedronFace[source.Length * 4]; int counter = 0; for ( int i = 0; i < source.Length; i++ ) { source[i].SubdivideSierpinski( out output[counter + 0], out output[counter + 1], out output[counter + 2], out output[counter + 3] ); counter += 4; // every source triangle emits 4 new triangles } } /// A, B and C are the triangle whos normal is to be determined. D is the 4th Point in the Tetraeder which does not belong to the triangle. internal static void FindNormal( ref Vector3d A, ref Vector3d B, ref Vector3d C, ref Vector3d D, out Vector3d result ) { Vector3d temp1, temp2, temp3; Vector3d.Subtract( ref A, ref D, out temp1 ); Vector3d.Subtract( ref B, ref D, out temp2 ); Vector3d.Subtract( ref C, ref D, out temp3 ); Vector3d.Add( ref temp1, ref temp2, out result ); Vector3d.Add(ref result, ref temp3, out result); result.Normalize(); } internal static void FindNormal( ref Vector3d A, ref Vector3d B, ref Vector3d C, out Vector3d result ) { Vector3d temp1, temp2; Vector3d.Subtract( ref A, ref B, out temp1 ); temp1.Normalize(); Vector3d.Subtract(ref C, ref B, out temp2); temp2.Normalize(); Vector3d.Cross( ref temp1, ref temp2, out result ); result *= -1.0; result.Normalize(); } } } opentk-1.0.20101006/Source/Examples/Shapes/Old/IsoSphere.cs0000664000175000017500000000350611453131434021760 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK; namespace Examples.Shapes { class IsoSphere : Shape { const double DoublePI = System.Math.PI * 2.0; public IsoSphere(int s_steps, int t_steps, float x_scale, float y_scale, float z_scale) { int count = 4 * s_steps * t_steps ; Vertices = new Vector3[count]; Normals = new Vector3[count]; Texcoords = new Vector2[count]; Indices = new int[6 * count / 4]; int i = 0; for (double t = -System.Math.PI; (float)t < (float)System.Math.PI - Single.Epsilon; t += System.Math.PI / (double)t_steps) { for (double s = 0.0; (float)s < (float)DoublePI; s += System.Math.PI / (double)s_steps) { Vertices[i].X = x_scale * (float)(System.Math.Cos(s) * System.Math.Sin(t)); Vertices[i].Y = y_scale * (float)(System.Math.Sin(s) * System.Math.Sin(t)); Vertices[i].Z = z_scale * (float)System.Math.Cos(t); //vertices[i] = vertices[i].Scale(x_scale, y_scale, z_scale); Normals[i] = Vector3.Normalize(Vertices[i]); ++i; } } for (i = 0; i < 6*count/4; i+=6) { Indices[i] = i; Indices[i + 1] = i + 1; Indices[i + 2] = i + 2 * s_steps + 1; Indices[i + 3] = i + 2 * s_steps; Indices[i + 4] = i; Indices[i + 5] = i + 2 * s_steps + 1; } } } } opentk-1.0.20101006/Source/Examples/Shapes/Old/Cube.cs0000664000175000017500000000444011453131434020733 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Runtime.InteropServices; using OpenTK; namespace Examples.Shapes { public class Cube : Shape { public Cube() { Vertices = new Vector3[] { new Vector3(-1.0f, -1.0f, 1.0f), new Vector3( 1.0f, -1.0f, 1.0f), new Vector3( 1.0f, 1.0f, 1.0f), new Vector3(-1.0f, 1.0f, 1.0f), new Vector3(-1.0f, -1.0f, -1.0f), new Vector3( 1.0f, -1.0f, -1.0f), new Vector3( 1.0f, 1.0f, -1.0f), new Vector3(-1.0f, 1.0f, -1.0f) }; Indices = new int[] { // front face 0, 1, 2, 2, 3, 0, // top face 3, 2, 6, 6, 7, 3, // back face 7, 6, 5, 5, 4, 7, // left face 4, 0, 3, 3, 7, 4, // bottom face 0, 1, 5, 5, 4, 0, // right face 1, 5, 6, 6, 2, 1, }; Normals = new Vector3[] { new Vector3(-1.0f, -1.0f, 1.0f), new Vector3( 1.0f, -1.0f, 1.0f), new Vector3( 1.0f, 1.0f, 1.0f), new Vector3(-1.0f, 1.0f, 1.0f), new Vector3(-1.0f, -1.0f, -1.0f), new Vector3( 1.0f, -1.0f, -1.0f), new Vector3( 1.0f, 1.0f, -1.0f), new Vector3(-1.0f, 1.0f, -1.0f), }; Colors = new int[] { Utilities.ColorToRgba32(Color.DarkRed), Utilities.ColorToRgba32(Color.DarkRed), Utilities.ColorToRgba32(Color.Gold), Utilities.ColorToRgba32(Color.Gold), Utilities.ColorToRgba32(Color.DarkRed), Utilities.ColorToRgba32(Color.DarkRed), Utilities.ColorToRgba32(Color.Gold), Utilities.ColorToRgba32(Color.Gold), }; } } } opentk-1.0.20101006/Source/Examples/Shapes/Old/Shape.cs0000664000175000017500000000264511453131434021122 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Drawing; using OpenTK; namespace Examples.Shapes { public abstract class Shape { private Vector3[] vertices, normals; private Vector2[] texcoords; private int[] indices; private int[] colors; public Vector3[] Vertices { get { return vertices; } protected set { vertices = value; } } public Vector3[] Normals { get { return normals; } protected set { normals = value; } } public Vector2[] Texcoords { get { return texcoords; } protected set { texcoords = value; } } public int[] Indices { get { return indices; } protected set { indices = value; } } public int[] Colors { get { return colors; } protected set { colors = value; } } } } opentk-1.0.20101006/Source/Examples/Shapes/Old/Plane.cs0000664000175000017500000000321111453131434021107 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK; namespace Examples.Shapes { public class Plane : Shape { public Plane(int x_res, int y_res, float x_scale, float y_scale) { Vertices = new Vector3[x_res * y_res]; Normals = new Vector3[x_res * y_res]; Indices = new int[6 * x_res * y_res]; Texcoords = new Vector2[x_res * y_res]; int i = 0; for (int y = -y_res / 2; y < y_res / 2; y++) { for (int x = -x_res / 2; x < x_res / 2; x++) { Vertices[i].X = x_scale * (float)x / (float)x_res; Vertices[i].Y = y_scale * (float)y / (float)y_res; Vertices[i].Z = 0; Normals[i].X = Normals[i].Y = 0; Normals[i].Z = 1; i++; } } i = 0; for (int y = 0; y < y_res - 1; y++) { for (int x = 0; x < x_res - 1; x++) { Indices[i++] = (y + 0) * x_res + x; Indices[i++] = (y + 1) * x_res + x; Indices[i++] = (y + 0) * x_res + x + 1; Indices[i++] = (y + 0) * x_res + x + 1; Indices[i++] = (y + 1) * x_res + x; Indices[i++] = (y + 1) * x_res + x + 1; } } } } } opentk-1.0.20101006/Source/Examples/Shapes/Base/0000775000175000017500000000000011453142154017661 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Shapes/Base/VertexStructs.cs0000664000175000017500000000134611453131434023060 0ustar laneylaneyusing System; using OpenTK; namespace Examples.Shapes { public struct VertexT2dN3dV3d { public Vector2d TexCoord; public Vector3d Normal; public Vector3d Position; public VertexT2dN3dV3d( Vector2d texcoord, Vector3d normal, Vector3d position ) { TexCoord = texcoord; Normal = normal; Position = position; } } public struct VertexT2fN3fV3f { public Vector2 TexCoord; public Vector3 Normal; public Vector3 Position; } public struct VertexT2hN3hV3h { public Vector2h TexCoord; public Vector3h Normal; public Vector3h Position; } } opentk-1.0.20101006/Source/Examples/Shapes/Base/DrawableShape.cs0000664000175000017500000001441111453131434022712 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using OpenTK; using OpenTK.Graphics.OpenGL; namespace Examples.Shapes { // Abstract base class for procedurally generated geometry // // All classes derived from it must produce Counter-Clockwise (CCW) primitives. // Derived classes must create a single VBO and IBO, without primitive restarts for strips. // Uses an double-precision all-possible-attributes VertexT2dN3dV3d Array internally. // Cannot directly use VBO, but has Get-methods to retrieve VBO-friendly data. // Can use a Display List to prevent repeated immediate mode draws. // public abstract class DrawableShape: IDisposable { protected BeginMode PrimitiveMode; protected VertexT2dN3dV3d[] VertexArray; protected uint[] IndexArray; public int GetTriangleCount { get { switch ( PrimitiveMode ) { case BeginMode.Triangles: if ( IndexArray != null ) { return IndexArray.Length / 3; } else { return VertexArray.Length / 3; } // break; default: throw new NotImplementedException("Unknown primitive type."); } } } #region Display List private bool UseDisplayList; private int DisplayListHandle = 0; #endregion Display List public DrawableShape( bool useDisplayList ) { UseDisplayList = useDisplayList; PrimitiveMode = BeginMode.Triangles; VertexArray = null; IndexArray = null; } #region Convert to VBO public void GetArraysforVBO(out BeginMode primitives, out VertexT2dN3dV3d[] vertices, out uint[] indices) { primitives = PrimitiveMode; vertices = new VertexT2dN3dV3d[VertexArray.Length]; for (uint i = 0; i < VertexArray.Length; i++) { vertices[i].TexCoord = VertexArray[i].TexCoord; vertices[i].Normal = VertexArray[i].Normal; vertices[i].Position = VertexArray[i].Position; } indices = IndexArray; } public void GetArraysforVBO(out BeginMode primitives, out VertexT2fN3fV3f[] vertices, out uint[] indices) { primitives = PrimitiveMode; vertices = new VertexT2fN3fV3f[VertexArray.Length]; for (uint i = 0; i < VertexArray.Length; i++) { vertices[i].TexCoord = (Vector2)VertexArray[i].TexCoord; vertices[i].Normal = (Vector3)VertexArray[i].Normal; vertices[i].Position = (Vector3)VertexArray[i].Position; } indices = IndexArray; } public void GetArraysforVBO(out BeginMode primitives, out VertexT2hN3hV3h[] vertices, out uint[] indices) { primitives = PrimitiveMode; vertices = new VertexT2hN3hV3h[VertexArray.Length]; for (uint i = 0; i < VertexArray.Length; i++) { vertices[i].TexCoord = (Vector2h)VertexArray[i].TexCoord; vertices[i].Normal = (Vector3h)VertexArray[i].Normal; vertices[i].Position = (Vector3h)VertexArray[i].Position; } indices = IndexArray; } #endregion Convert to VBO private void DrawImmediateMode() { GL.Begin( PrimitiveMode ); { if ( IndexArray == null ) foreach ( VertexT2dN3dV3d v in VertexArray ) { GL.TexCoord2( v.TexCoord.X, v.TexCoord.Y ); GL.Normal3( v.Normal.X, v.Normal.Y, v.Normal.Z ); GL.Vertex3( v.Position.X, v.Position.Y, v.Position.Z ); } else { for ( uint i = 0; i < IndexArray.Length; i++ ) { uint index = IndexArray[i]; GL.TexCoord2( VertexArray[index].TexCoord.X, VertexArray[index].TexCoord.Y ); GL.Normal3( VertexArray[index].Normal.X, VertexArray[index].Normal.Y, VertexArray[index].Normal.Z ); GL.Vertex3( VertexArray[index].Position.X, VertexArray[index].Position.Y, VertexArray[index].Position.Z ); } } } GL.End(); } /// /// Does not touch any state/matrices. Does call Begin/End and Vertex&Co. /// Creates and compiles a display list if not present yet. Requires an OpenGL context. /// public void Draw() { if ( !UseDisplayList ) DrawImmediateMode(); else if ( DisplayListHandle == 0 ) { if ( VertexArray == null ) throw new Exception("Cannot draw null Vertex Array."); DisplayListHandle = GL.GenLists( 1 ); GL.NewList( DisplayListHandle, ListMode.CompileAndExecute ); DrawImmediateMode(); GL.EndList(); } else GL.CallList( DisplayListHandle ); } #region IDisposable Members /// /// Removes reference to VertexArray and IndexArray. /// Deletes the Display List, so it requires an OpenGL context. /// The instance is effectively destroyed. /// public void Dispose() { if ( VertexArray != null ) VertexArray = null; if ( IndexArray != null ) IndexArray = null; if ( DisplayListHandle != 0 ) { GL.DeleteLists( DisplayListHandle, 1 ); DisplayListHandle = 0; } } #endregion } } opentk-1.0.20101006/Source/Examples/Shapes/SlicedHose.cs0000664000175000017500000001464311453131434021367 0ustar laneylaneyusing System; using System.Collections.Generic; using OpenTK; namespace Examples.Shapes { public sealed class SlicedHose : DrawableShape { public enum eSide:byte { // Around X Axis BottomRight, TopRight, TopLeft, BottomLeft, // Around Y Axis FrontRight, BackRight, BackLeft, FrontLeft, // Around Z Axis FrontBottom, BackBottom, BackTop, FrontTop, } public SlicedHose( eSide side, uint subdivs, double scale, Vector3d offset1, Vector3d offset2, bool useDL ) : base( useDL ) { PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; Vector3d start = Vector3d.Zero, end = Vector3d.Zero; double TexCoordStart=0f, TexCoordEnd=0f; switch ( side ) { #region Around X Axis case eSide.BottomRight: start = -Vector3d.UnitY; end = Vector3d.UnitZ; TexCoordStart = 0.0; TexCoordEnd = 0.25; break; case eSide.TopRight: start = Vector3d.UnitZ; end = Vector3d.UnitY; TexCoordStart = 0.25; TexCoordEnd = 0.5; break; case eSide.TopLeft: start = Vector3d.UnitY; end = -Vector3d.UnitZ; TexCoordStart = 0.5; TexCoordEnd = 0.75; break; case eSide.BottomLeft: start = -Vector3d.UnitZ; end = -Vector3d.UnitY; TexCoordStart = 0.75; TexCoordEnd = 1.0; break; #endregion Around X Axis #region Around Y Axis case eSide.FrontRight: start = Vector3d.UnitX; end = Vector3d.UnitZ; TexCoordStart = 0.0; TexCoordEnd = 0.25; break; case eSide.BackRight: start = Vector3d.UnitZ; end = -Vector3d.UnitX; TexCoordStart = 0.25; TexCoordEnd = 0.5; break; case eSide.BackLeft: start = -Vector3d.UnitX; end = -Vector3d.UnitZ; TexCoordStart = 0.5; TexCoordEnd = 0.75; break; case eSide.FrontLeft: start = -Vector3d.UnitZ; end = Vector3d.UnitX; TexCoordStart = 0.75; TexCoordEnd = 1.0; break; #endregion Around Y Axis #region Around Z Axis case eSide.FrontBottom: start = -Vector3d.UnitY; end = Vector3d.UnitX; TexCoordStart = 0.0; TexCoordEnd = 0.25; break; case eSide.BackBottom: start = -Vector3d.UnitX; end = -Vector3d.UnitY; TexCoordStart = 0.25; TexCoordEnd = 0.5; break; case eSide.BackTop: start = Vector3d.UnitY; end = -Vector3d.UnitX; TexCoordStart = 0.5; TexCoordEnd = 0.75; break; case eSide.FrontTop: start = Vector3d.UnitX; end = Vector3d.UnitY; TexCoordStart = 0.75; TexCoordEnd = 1.0; break; #endregion Around Z Axis } VertexT2dN3dV3d[] temp = new VertexT2dN3dV3d[2 + subdivs]; double divisor = 1.0/ ((double)temp.Length-1.0); for ( int i = 0; i < temp.Length; i++ ) { float Multiplier = (float)( i * divisor ); temp[i].TexCoord.X = TexCoordStart * Multiplier + TexCoordEnd * ( 1.0f- Multiplier); Slerp( ref start, ref end, Multiplier, out temp[i].Normal ); temp[i].Normal.Normalize(); temp[i].Position = temp[i].Normal; temp[i].Position *= scale; } VertexArray = new VertexT2dN3dV3d[temp.Length * 2]; IndexArray = new uint[( temp.Length - 1 ) * 2 * 3]; uint VertexCounter = 0, IndexCounter = 0, QuadCounter = 0; for ( int i = 0; i < temp.Length; i++ ) { VertexArray[VertexCounter + 0].TexCoord.X = temp[i].TexCoord.X; VertexArray[VertexCounter + 0].TexCoord.Y = 0.0; VertexArray[VertexCounter + 0].Normal = temp[i].Normal; VertexArray[VertexCounter + 0].Position = temp[i].Position + offset1; VertexArray[VertexCounter + 1].TexCoord.X = temp[i].TexCoord.X; VertexArray[VertexCounter + 1].TexCoord.Y = 1.0; VertexArray[VertexCounter + 1].Normal = temp[i].Normal; VertexArray[VertexCounter + 1].Position = temp[i].Position + offset2; VertexCounter += 2; if ( i < temp.Length - 1 ) { IndexArray[IndexCounter + 0] = QuadCounter + 0; IndexArray[IndexCounter + 1] = QuadCounter + 1; IndexArray[IndexCounter + 2] = QuadCounter + 2; IndexArray[IndexCounter + 3] = QuadCounter + 2; IndexArray[IndexCounter + 4] = QuadCounter + 1; IndexArray[IndexCounter + 5] = QuadCounter + 3; IndexCounter += 6; QuadCounter += 2; } } } private void Slerp( ref Vector3d a, ref Vector3d b, double factor, out Vector3d result) { double t1; Vector3d.Dot( ref a, ref b, out t1 ); double theta = System.Math.Acos( t1 ); double temp = 1.0 / System.Math.Sin( theta ); double t2 = System.Math.Sin( ( 1.0 - factor ) * theta ) * temp; double t3 = System.Math.Sin( factor * theta ) * temp; Vector3d v1 = Vector3d.Multiply( a, t2); Vector3d v2 = Vector3d.Multiply( b, t3 ); result = Vector3d.Add( v1, v2 ); } } } opentk-1.0.20101006/Source/Examples/Shapes/MengerSponge.cs0000664000175000017500000000731611453131434021735 0ustar laneylaneyusing System; using System.Collections.Generic; using OpenTK; namespace Examples.Shapes { public sealed partial class MengerSponge: DrawableShape { public enum eSubdivisions { None = 0, One = 1, Two = 2, Three = 3, } public MengerSponge( double scale, eSubdivisions subdivs, bool useDL ) : base( useDL ) { List Cubes; switch ( subdivs ) { case eSubdivisions.None: CreateDefaultMengerSponge( scale, out Cubes ); break; case eSubdivisions.One: case eSubdivisions.Two: case eSubdivisions.Three: CreateDefaultMengerSponge( scale, out Cubes ); for ( int i = 0; i < (int)subdivs; i++ ) { List temp; SubdivideMengerSponge( ref Cubes, out temp ); Cubes = temp; } break; default: throw new ArgumentOutOfRangeException( "Subdivisions other than contained in the enum cause overflows and are not allowed." ); } PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; #region Get Array Dimensions uint VertexCount = 0, IndexCount = 0; foreach ( MengerCube c in Cubes ) { uint t1, t2; c.GetArraySizes( out t1, out t2 ); VertexCount += t1; IndexCount += t2; } VertexArray = new VertexT2dN3dV3d[VertexCount]; IndexArray = new uint[IndexCount]; #endregion Get Array Dimensions List AllChunks = new List(); #region Build a temporary List of all loose pieces foreach ( MengerCube c in Cubes ) { c.GetVboAndIbo( ref AllChunks ); } #endregion Build a temporary List of all loose pieces #region Assemble pieces into a single VBO and IBO VertexCount = 0; IndexCount = 0; foreach ( Chunk ch in AllChunks ) { for ( int i = 0; i < ch.Vertices.Length; i++ ) { VertexArray[VertexCount + i] = ch.Vertices[i]; } for ( int i = 0; i < ch.Indices.Length; i++ ) { IndexArray[IndexCount + i] = ch.Indices[i] + VertexCount; } VertexCount += (uint)ch.Vertices.Length; IndexCount += (uint)ch.Indices.Length; } #endregion Assemble pieces into a single VBO and IBO AllChunks.Clear(); } private void CreateDefaultMengerSponge( double halfwidth, out List output ) { output = new List( 1 ); output.Add( new MengerCube( Vector3d.Zero, halfwidth, MengerCube.AllSides, MengerCube.AllSides ) ); } private void SubdivideMengerSponge( ref List input, out List output ) { output = new List( input.Count * 20 ); foreach ( MengerCube InputCube in input ) { MengerCube[] SubdividedCubes; InputCube.Subdivide( out SubdividedCubes ); for ( int i = 0; i < SubdividedCubes.Length; i++ ) { output.Add( SubdividedCubes[i] ); } } } } } opentk-1.0.20101006/Source/Examples/Shapes/Capsule.cs0000664000175000017500000001110111453131434020723 0ustar laneylaneyusing System; using System.Collections.Generic; using OpenTK; namespace Examples.Shapes { public sealed class Capsule: DrawableShape { public enum eSubdivisions { None = 0, One = 1, Two = 2, Three = 3, Four = 4, } public Capsule( double radius, double height, eSubdivisions subdivs, bool useDL ) : base( useDL ) { uint HoseSubDivs = 0; SlicedSphere.eSubdivisions spheresubdivs = SlicedSphere.eSubdivisions.Zero; switch ( subdivs ) { case eSubdivisions.None: spheresubdivs = SlicedSphere.eSubdivisions.Zero; HoseSubDivs = 0; break; case eSubdivisions.One: spheresubdivs = SlicedSphere.eSubdivisions.One; HoseSubDivs = 1; break; case eSubdivisions.Two: spheresubdivs = SlicedSphere.eSubdivisions.Two; HoseSubDivs = 3; break; case eSubdivisions.Three: spheresubdivs = SlicedSphere.eSubdivisions.Three; HoseSubDivs = 7; break; case eSubdivisions.Four: spheresubdivs = SlicedSphere.eSubdivisions.Four; HoseSubDivs = 15; break; } PrimitiveMode = OpenTK.Graphics.OpenGL.BeginMode.Triangles; OpenTK.Graphics.OpenGL.BeginMode TemporaryMode; VertexT2dN3dV3d[] TemporaryVBO; uint[] TemporaryIBO; List AllChunks = new List(); Vector3d offset1 = new Vector3d( 0.0, 0.0, height ), offset2 = new Vector3d( 0.0, 0.0, -height ); for ( int i = 0; i < 4; i++ ) { SlicedHose.eSide tempSide = SlicedHose.eSide.FrontTop; switch ( i ) { case 0: tempSide = SlicedHose.eSide.FrontBottom; break; case 1: tempSide = SlicedHose.eSide.BackBottom; break; case 2: tempSide = SlicedHose.eSide.BackTop; break; case 3: tempSide = SlicedHose.eSide.FrontTop; break; } SlicedHose tempHose = new SlicedHose( tempSide, HoseSubDivs, radius, offset1, offset2, false ); tempHose.GetArraysforVBO( out TemporaryMode, out TemporaryVBO, out TemporaryIBO ); tempHose.Dispose(); AllChunks.Add( new Chunk( ref TemporaryVBO, ref TemporaryIBO ) ); } SlicedSphere front = new SlicedSphere( radius, offset1, spheresubdivs, new SlicedSphere.eDir[] { SlicedSphere.eDir.BackBottomRight, SlicedSphere.eDir.FrontTopRight, SlicedSphere.eDir.BackTopRight, SlicedSphere.eDir.FrontBottomRight, }, false ); front.GetArraysforVBO( out TemporaryMode, out TemporaryVBO, out TemporaryIBO ); AllChunks.Add( new Chunk( ref TemporaryVBO, ref TemporaryIBO ) ); front.Dispose(); SlicedSphere back = new SlicedSphere( radius, offset2, spheresubdivs, new SlicedSphere.eDir[] { SlicedSphere.eDir.FrontBottomLeft, SlicedSphere.eDir.FrontTopLeft, SlicedSphere.eDir.BackTopLeft, SlicedSphere.eDir.BackBottomLeft }, false ); back.GetArraysforVBO( out TemporaryMode, out TemporaryVBO, out TemporaryIBO ); AllChunks.Add( new Chunk( ref TemporaryVBO, ref TemporaryIBO ) ); back.Dispose(); Chunk.GetArray( ref AllChunks, out VertexArray, out IndexArray ); AllChunks.Clear(); } } } opentk-1.0.20101006/Source/Examples/Shapes/Helpers/0000775000175000017500000000000011453142154020411 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Shapes/Helpers/TetrahedronFace.cs0000664000175000017500000002216011453131434023776 0ustar laneylaneyusing System; using OpenTK; namespace Examples.Shapes { /// winding always assumed CCW (Counter-ClockWise) internal struct TetrahedronFace { private Vector3d APosition, BPosition, CPosition; private Vector3d DPosition, Normal; private Vector2d ATexCoord, BTexCoord, CTexCoord; public TetrahedronFace( ref Vector3d apos, ref Vector2d atc, ref Vector3d bpos, ref Vector2d btc, ref Vector3d cpos, ref Vector2d ctc, ref Vector3d dpos, ref Vector3d normal ) { APosition = apos; ATexCoord = atc; BPosition = bpos; BTexCoord = btc; CPosition = cpos; CTexCoord = ctc; DPosition = dpos; Normal = normal; } /// Expects CCW triangle order as input, emits 4 new CCW triangles. /// 1st output Triangle /// 2nd output Triangle /// 3rd output Triangle /// 4th output Triangle public void SubdivideSierpinski( out TetrahedronFace first, out TetrahedronFace second, out TetrahedronFace third, out TetrahedronFace fourth ) { Vector3d temp; // find the 3 points AB, BC, CA Vector3d CenterAB; Vector3d.Add( ref this.APosition, ref this.BPosition, out temp ); Vector3d.Multiply( ref temp, 0.5f, out CenterAB ); Vector3d CenterBC; Vector3d.Add( ref this.BPosition, ref this.CPosition, out temp ); Vector3d.Multiply( ref temp, 0.5f, out CenterBC ); Vector3d CenterCA; Vector3d.Add( ref this.CPosition, ref this.APosition, out temp ); Vector3d.Multiply( ref temp, 0.5f, out CenterCA ); // find the 3 points AD, BD, CD Vector3d CenterAD; Vector3d.Lerp( ref this.APosition, ref this.DPosition, 0.5, out CenterAD ); Vector3d CenterBD; Vector3d.Lerp( ref this.BPosition, ref this.DPosition, 0.5, out CenterBD ); Vector3d CenterCD; Vector3d.Lerp( ref this.CPosition, ref this.DPosition, 0.5, out CenterCD ); // emit 4 new CCW triangles first = new TetrahedronFace( ref this.APosition, ref this.ATexCoord, ref CenterAB, ref this.BTexCoord, ref CenterCA, ref this.CTexCoord, ref CenterAD, ref this.Normal ); second = new TetrahedronFace( ref CenterAB, ref this.ATexCoord, ref this.BPosition, ref this.BTexCoord, ref CenterBC, ref this.CTexCoord, ref CenterBD, ref this.Normal ); third = new TetrahedronFace( ref CenterCA, ref this.ATexCoord, ref CenterBC, ref this.BTexCoord, ref this.CPosition, ref this.CTexCoord, ref CenterCD, ref this.Normal ); fourth = new TetrahedronFace( ref CenterAD, ref this.ATexCoord, ref CenterBD, ref this.BTexCoord, ref CenterCD, ref this.CTexCoord, ref this.DPosition, ref this.Normal ); } internal void SubdivideKoch( double height, out TetrahedronFace first, out TetrahedronFace second, out TetrahedronFace third, out TetrahedronFace fourth, out TetrahedronFace fifth, out TetrahedronFace sixth ) { Vector3d CenterAB, CenterBC, CenterCA, CenterD; Vector2d TexCoordAB, TexCoordBC, TexCoordCA, TexCoordD; Vector3d.Lerp( ref this.APosition, ref this.BPosition, 0.5, out CenterAB ); Vector3d.Lerp( ref this.BPosition, ref this.CPosition, 0.5, out CenterBC ); Vector3d.Lerp( ref this.CPosition, ref this.APosition, 0.5, out CenterCA ); CenterD = CenterAB; Vector3d.Add(ref CenterD, ref CenterBC, out CenterD); Vector3d.Add(ref CenterD, ref CenterCA, out CenterD); CenterD /= 3.0; Vector3d E = CenterD + ( this.Normal * 0.5 ); Vector3d temp = this.Normal; temp *= height; Vector3d.Add(ref CenterD, ref temp, out CenterD); Vector2d.Lerp( ref this.ATexCoord, ref this.BTexCoord, 0.5, out TexCoordAB ); Vector2d.Lerp( ref this.BTexCoord, ref this.CTexCoord, 0.5, out TexCoordBC ); Vector2d.Lerp( ref this.CTexCoord, ref this.ATexCoord, 0.5, out TexCoordCA ); TexCoordD = TexCoordAB; Vector2d.Add(ref TexCoordD, ref TexCoordBC, out TexCoordD); Vector2d.Add(ref TexCoordD, ref TexCoordCA, out TexCoordD); TexCoordD /= 3.0; #region 1 first.APosition = this.APosition; first.ATexCoord = this.ATexCoord; first.BPosition = CenterAB; first.BTexCoord = TexCoordAB; first.CPosition = CenterCA; first.CTexCoord = TexCoordCA; first.Normal = this.Normal; temp = ( this.APosition + CenterAB + CenterCA ); temp /= 3.0; temp += this.Normal * -1.0; first.DPosition = temp; #endregion 1 #region 2 second.APosition = CenterAB; second.ATexCoord = TexCoordAB; second.BPosition = this.BPosition; second.BTexCoord = this.BTexCoord; second.CPosition = CenterBC; second.CTexCoord = TexCoordBC; second.Normal = this.Normal; temp = CenterAB + this.BPosition + CenterBC; temp /= 3.0; temp += this.Normal * -1.0; second.DPosition = temp; #endregion 2 #region 3 third.APosition = CenterBC; third.ATexCoord = TexCoordBC; third.BPosition = this.CPosition; third.BTexCoord = this.CTexCoord; third.CPosition = CenterCA; third.CTexCoord = TexCoordCA; third.Normal = this.Normal; temp = CenterBC + this.CPosition + CenterCA; temp /= 3.0; temp += this.Normal * -1.0; third.DPosition = temp; #endregion 3 #region 4 fourth.APosition = CenterAB; fourth.ATexCoord = TexCoordAB; fourth.BPosition = CenterD; fourth.BTexCoord = TexCoordD; fourth.CPosition = CenterCA; fourth.CTexCoord = TexCoordCA; SierpinskiTetrahedron.FindNormal( ref CenterAB, ref CenterD, ref CenterCA, out fourth.Normal ); fourth.DPosition = E; #endregion 4 #region 5 fifth.APosition = CenterAB; fifth.ATexCoord = TexCoordAB; fifth.BPosition = CenterBC; fifth.BTexCoord = TexCoordBC; fifth.CPosition = CenterD; fifth.CTexCoord = TexCoordD; SierpinskiTetrahedron.FindNormal( ref CenterAB, ref CenterBC, ref CenterD, out fifth.Normal ); fifth.DPosition = E; #endregion 5 #region 6 sixth.APosition = CenterBC; sixth.ATexCoord = TexCoordBC; sixth.BPosition = CenterCA; sixth.BTexCoord = TexCoordCA; sixth.CPosition = CenterD; sixth.CTexCoord = TexCoordD; SierpinskiTetrahedron.FindNormal( ref CenterBC, ref CenterCA, ref CenterD, out sixth.Normal ); sixth.DPosition = E; #endregion 6 } /// Returns 3 Vertices which form a CCW triangle. public void GetVertices( out VertexT2dN3dV3d first, out VertexT2dN3dV3d second, out VertexT2dN3dV3d third ) { first.TexCoord = this.ATexCoord; first.Normal = this.Normal; first.Position = this.APosition; second.TexCoord = this.BTexCoord; second.Normal = this.Normal; second.Position = this.BPosition; third.TexCoord = this.CTexCoord; third.Normal = this.Normal; third.Position = this.CPosition; } /// Debugging Aid, no real purpose public override string ToString() { return "A= " + this.APosition.ToString() + " TexCoord: " + this.ATexCoord.ToString() + "\n" + "B= " + this.BPosition.ToString() + " TexCoord: " + this.ATexCoord.ToString() + "\n" + "C= " + this.CPosition.ToString() + " TexCoord: " + this.ATexCoord.ToString() + "\n" + "Normal= " + this.Normal.ToString(); } } } opentk-1.0.20101006/Source/Examples/Shapes/Helpers/Chunk.cs0000664000175000017500000000423711453131434022015 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace Examples.Shapes { public class Chunk { public VertexT2dN3dV3d[] Vertices; public uint[] Indices; public uint VertexCount { get { return (uint)Vertices.Length; } } public uint IndexCount { get { return (uint)Indices.Length; } } public Chunk( uint vertexcount, uint indexcount ) { Vertices = new VertexT2dN3dV3d[vertexcount]; Indices = new uint[indexcount]; } public Chunk( ref VertexT2dN3dV3d[] vbo, ref uint[] ibo ) { Vertices = new VertexT2dN3dV3d[vbo.Length]; for ( int i = 0; i < Vertices.Length; i++ ) { Vertices[i] = vbo[i]; } Indices = new uint[ibo.Length]; for ( int i = 0; i < Indices.Length; i++ ) { Indices[i] = ibo[i]; } } public static void GetArray( ref List c, out VertexT2dN3dV3d[] vbo, out uint[] ibo ) { uint VertexCounter = 0; uint IndexCounter = 0; foreach ( Chunk ch in c ) { VertexCounter += ch.VertexCount; IndexCounter += ch.IndexCount; } vbo = new VertexT2dN3dV3d[VertexCounter]; ibo = new uint[IndexCounter]; VertexCounter = 0; IndexCounter = 0; foreach ( Chunk ch in c ) { for ( int i = 0; i < ch.Vertices.Length; i++ ) { vbo[VertexCounter + i] = ch.Vertices[i]; } for ( int i = 0; i < ch.Indices.Length; i++ ) { ibo[IndexCounter + i] = ch.Indices[i] + VertexCounter; } VertexCounter += (uint)ch.VertexCount; IndexCounter += (uint)ch.IndexCount; } } } } opentk-1.0.20101006/Source/Examples/Shapes/Helpers/MengerCube.cs0000664000175000017500000004570011453131434022761 0ustar laneylaneyusing System; using System.Collections.Generic; using OpenTK; namespace Examples.Shapes { public sealed partial class MengerSponge { private struct MengerCube { private Vector3d Center; private double SideLength; private eSides[] VisibleSides; private eSides[] VisibilityToInherit; public void GetArraySizes( out uint vertexcount, out uint indexcount ) { vertexcount = (uint)VisibleSides.Length * 8 + 6 * 12; indexcount = (uint)VisibleSides.Length * 8 * 3 + 6 * 8 * 3; } public MengerCube( Vector3d center, double sidelength, eSides[] visibleSides, eSides[] parentsVisibility ) { Center = center; SideLength = sidelength; /* List Sides = new List(); foreach ( eSides s in visibleSides ) { bool isVisible = false; foreach ( eSides p in parentsVisibility ) { if ( (int)p == (int)s ) { isVisible = true; break; } } if ( isVisible ) { Sides.Add( s ); } } VisibleSides = Sides.ToArray();*/ VisibleSides = visibleSides; VisibilityToInherit = visibleSides; } public void Subdivide( out MengerCube[] cubes ) { cubes = new MengerCube[20]; // 8 + 4 + 8 double NewLength = this.SideLength / 3.0; double six = this.SideLength * 2.0 / 3.0; // we got 3x3x3 cubes. All center cubes who touch the XYZ-Axis are removed. // front cubes[0] = new MengerCube( new Vector3d( Center.X - six, Center.Y + six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Left, eSides.Top }, this.VisibilityToInherit ); cubes[1] = new MengerCube( new Vector3d( Center.X + 0.0, Center.Y + six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Bottom, eSides.Back, eSides.Top }, this.VisibilityToInherit ); cubes[2] = new MengerCube( new Vector3d( Center.X + six, Center.Y + six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Top }, this.VisibilityToInherit ); cubes[3] = new MengerCube( new Vector3d( Center.X - six, Center.Y + 0.0, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Back, eSides.Left }, this.VisibilityToInherit ); cubes[4] = new MengerCube( new Vector3d( Center.X + six, Center.Y + 0.0, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Back, eSides.Left }, this.VisibilityToInherit ); cubes[5] = new MengerCube( new Vector3d( Center.X - six, Center.Y - six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Left, eSides.Bottom } , this.VisibilityToInherit ); cubes[6] = new MengerCube( new Vector3d( Center.X + 0.0, Center.Y - six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Top, eSides.Back, eSides.Bottom }, this.VisibilityToInherit ); cubes[7] = new MengerCube( new Vector3d( Center.X + six, Center.Y - six, Center.Z + six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Bottom }, this.VisibilityToInherit ); // center cubes[8] = new MengerCube( new Vector3d( Center.X - six, Center.Y + six, Center.Z + 0.0 ), NewLength, new eSides[] { eSides.Top, eSides.Right, eSides.Bottom, eSides.Left }, this.VisibilityToInherit ); cubes[9] = new MengerCube( new Vector3d( Center.X + six, Center.Y + six, Center.Z + 0.0 ), NewLength, new eSides[] { eSides.Top, eSides.Right, eSides.Bottom, eSides.Left }, this.VisibilityToInherit ); cubes[10] = new MengerCube( new Vector3d( Center.X - six, Center.Y - six, Center.Z + 0.0 ), NewLength, new eSides[] { eSides.Top, eSides.Right, eSides.Bottom, eSides.Left }, this.VisibilityToInherit ); cubes[11] = new MengerCube( new Vector3d( Center.X + six, Center.Y - six, Center.Z + 0.0 ), NewLength, new eSides[] { eSides.Top, eSides.Right, eSides.Bottom, eSides.Left }, this.VisibilityToInherit ); // back cubes[12] = new MengerCube( new Vector3d( Center.X - six, Center.Y + six, Center.Z - six ), NewLength, new eSides[] { eSides.Top, eSides.Back, eSides.Left }, this.VisibilityToInherit ); cubes[13] = new MengerCube( new Vector3d( Center.X + 0.0, Center.Y + six, Center.Z - six ), NewLength, new eSides[] { eSides.Top, eSides.Back, eSides.Bottom, eSides.Front }, this.VisibilityToInherit ); cubes[14] = new MengerCube( new Vector3d( Center.X + six, Center.Y + six, Center.Z - six ), NewLength, new eSides[] { eSides.Top, eSides.Back, eSides.Right }, this.VisibilityToInherit ); cubes[15] = new MengerCube( new Vector3d( Center.X - six, Center.Y + 0.0, Center.Z - six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Back, eSides.Left } , this.VisibilityToInherit ); cubes[16] = new MengerCube( new Vector3d( Center.X + six, Center.Y + 0.0, Center.Z - six ), NewLength, new eSides[] { eSides.Front, eSides.Right, eSides.Back, eSides.Left } , this.VisibilityToInherit ); cubes[17] = new MengerCube( new Vector3d( Center.X - six, Center.Y - six, Center.Z - six ), NewLength, new eSides[] { eSides.Back, eSides.Bottom, eSides.Left } , this.VisibilityToInherit ); cubes[18] = new MengerCube( new Vector3d( Center.X + 0.0, Center.Y - six, Center.Z - six ), NewLength, new eSides[] { eSides.Top, eSides.Back, eSides.Bottom, eSides.Front }, this.VisibilityToInherit ); cubes[19] = new MengerCube( new Vector3d( Center.X + six, Center.Y - six, Center.Z - six ), NewLength, new eSides[] { eSides.Back, eSides.Bottom, eSides.Right }, this.VisibilityToInherit ); } public enum eSides: byte { Front, Back, Right, Left, Top, Bottom } internal static readonly eSides[] AllSides = new eSides[] { eSides.Front, eSides.Back, eSides.Right, eSides.Left, eSides.Top, eSides.Bottom }; public void GetVboAndIbo( ref List chunks ) { foreach ( eSides s in AllSides ) { DrawSide( s, ref chunks ); } } private void DrawSide( eSides side, ref List chunks ) { #region Setup constants for current direction double _Zero = 0.0; // 0/3 double _Three = 0.3333333333333; // 1/3 double _Six = 0.66666666666666; // 2/3 double _One = 1.0; // 3/3 double ThirdLength = SideLength / 3f; Vector3d C0 = Center + new Vector3d( -SideLength, -SideLength, +SideLength ); Vector3d C1 = Center + new Vector3d( +SideLength, -SideLength, +SideLength ); Vector3d C2 = Center + new Vector3d( +SideLength, +SideLength, +SideLength ); Vector3d C3 = Center + new Vector3d( -SideLength, +SideLength, +SideLength ); Vector3d C4 = Center + new Vector3d( -SideLength, -SideLength, -SideLength ); Vector3d C5 = Center + new Vector3d( +SideLength, -SideLength, -SideLength ); Vector3d C6 = Center + new Vector3d( +SideLength, +SideLength, -SideLength ); Vector3d C7 = Center + new Vector3d( -SideLength, +SideLength, -SideLength ); Vector3d P0, P1, P2, P3, P4, P5, P6, P7; switch ( side ) { case eSides.Front: P0 = C0; P1 = C1; P2 = C2; P3 = C3; P4 = C4; P5 = C5; P6 = C6; P7 = C7; break; case eSides.Back: P0 = C5; P1 = C4; P2 = C7; P3 = C6; P4 = C1; P5 = C0; P6 = C3; P7 = C2; break; case eSides.Right: P0 = C1; P1 = C5; P2 = C6; P3 = C2; P4 = C0; P5 = C4; P6 = C7; P7 = C3; break; case eSides.Left: P0 = C4; P1 = C0; P2 = C3; P3 = C7; P4 = C5; P5 = C1; P6 = C2; P7 = C6; break; case eSides.Top: P0 = C3; P1 = C2; P2 = C6; P3 = C7; P4 = C0; P5 = C1; P6 = C5; P7 = C4; break; case eSides.Bottom: P0 = C1; P1 = C0; P2 = C4; P3 = C5; P4 = C2; P5 = C3; P6 = C7; P7 = C6; break; default: throw new NotImplementedException( "Unknown enum value: " + side ); } #endregion Setup constants for current direction #region Set Normal Vector3d FaceNormal; switch ( side ) { case eSides.Front: FaceNormal = Vector3d.UnitZ; break; case eSides.Back: FaceNormal = -Vector3d.UnitZ; break; case eSides.Right: FaceNormal = Vector3d.UnitX; break; case eSides.Left: FaceNormal = -Vector3d.UnitX; break; case eSides.Top: FaceNormal = Vector3d.UnitY; break; case eSides.Bottom: FaceNormal = -Vector3d.UnitY; break; default: throw new NotImplementedException( "Unknown enum value: " + side ); } #endregion Set Normal bool FaceIsVisible = false; foreach ( eSides s in VisibleSides ) { if ( s == side ) { FaceIsVisible = true; break; } } if ( FaceIsVisible ) { #region Define Layer1 Vertices Chunk Layer1 = new Chunk( 8, 8 * 3 ); Layer1.Vertices[0].TexCoord = new Vector2d( _Zero, _Zero ); Layer1.Vertices[0].Normal = FaceNormal; Layer1.Vertices[0].Position = P0; Layer1.Vertices[1].TexCoord = new Vector2d( _One, _Zero ); Layer1.Vertices[1].Normal = FaceNormal; Layer1.Vertices[1].Position = P1; Layer1.Vertices[2].TexCoord = new Vector2d( _One, _One ); Layer1.Vertices[2].Normal = FaceNormal; Layer1.Vertices[2].Position = P2; Layer1.Vertices[3].TexCoord = new Vector2d( _Zero, _One ); Layer1.Vertices[3].Normal = FaceNormal; Layer1.Vertices[3].Position = P3; Layer1.Vertices[4].TexCoord = new Vector2d( _Three, _Three ); Layer1.Vertices[4].Normal = FaceNormal; Vector3d.Lerp( ref P0, ref P2, _Three, out Layer1.Vertices[4].Position ); Layer1.Vertices[5].TexCoord = new Vector2d( _Six, _Three ); Layer1.Vertices[5].Normal = FaceNormal; Vector3d.Lerp( ref P1, ref P3, _Three, out Layer1.Vertices[5].Position ); Layer1.Vertices[6].TexCoord = new Vector2d( _Six, _Six ); Layer1.Vertices[6].Normal = FaceNormal; Vector3d.Lerp( ref P0, ref P2, _Six, out Layer1.Vertices[6].Position ); Layer1.Vertices[7].TexCoord = new Vector2d( _Three, _Six ); Layer1.Vertices[7].Normal = FaceNormal; Vector3d.Lerp( ref P1, ref P3, _Six, out Layer1.Vertices[7].Position ); #endregion Define Layer1 Vertices #region Define Layer1 Indices Layer1.Indices[0] = 0; Layer1.Indices[1] = 5; Layer1.Indices[2] = 4; Layer1.Indices[3] = 0; Layer1.Indices[4] = 1; Layer1.Indices[5] = 5; Layer1.Indices[6] = 5; Layer1.Indices[7] = 1; Layer1.Indices[8] = 2; Layer1.Indices[9] = 6; Layer1.Indices[10] = 5; Layer1.Indices[11] = 2; Layer1.Indices[12] = 7; Layer1.Indices[13] = 6; Layer1.Indices[14] = 2; Layer1.Indices[15] = 3; Layer1.Indices[16] = 7; Layer1.Indices[17] = 2; Layer1.Indices[18] = 0; Layer1.Indices[19] = 7; Layer1.Indices[20] = 3; Layer1.Indices[21] = 0; Layer1.Indices[22] = 4; Layer1.Indices[23] = 7; chunks.Add( Layer1 ); #endregion Define Layer1 Indices } #region Define Layer2 Vertices Chunk Layer2 = new Chunk( 12, 8 * 3 ); Vector3d T0, T1, T2, T3; Vector3d.Lerp( ref P0, ref P4, _Six, out T0 ); Vector3d.Lerp( ref P1, ref P5, _Six, out T1 ); Vector3d.Lerp( ref P2, ref P6, _Six, out T2 ); Vector3d.Lerp( ref P3, ref P7, _Six, out T3 ); Layer2.Vertices[0].TexCoord = new Vector2d( _Three, _Zero ); Layer2.Vertices[0].Normal = FaceNormal; Vector3d.Lerp( ref T0, ref T1, _Three, out Layer2.Vertices[0].Position ); Layer2.Vertices[1].TexCoord = new Vector2d( _Six, _Zero ); Layer2.Vertices[1].Normal = FaceNormal; Vector3d.Lerp( ref T0, ref T1, _Six, out Layer2.Vertices[1].Position ); Layer2.Vertices[3].TexCoord = new Vector2d( _One, _Three ); Layer2.Vertices[3].Normal = FaceNormal; Vector3d.Lerp( ref T1, ref T2, _Three, out Layer2.Vertices[3].Position ); Layer2.Vertices[4].TexCoord = new Vector2d( _One, _Six ); Layer2.Vertices[4].Normal = FaceNormal; Vector3d.Lerp( ref T1, ref T2, _Six, out Layer2.Vertices[4].Position ); Layer2.Vertices[6].TexCoord = new Vector2d( _Six, _One ); Layer2.Vertices[6].Normal = FaceNormal; Vector3d.Lerp( ref T2, ref T3, _Three, out Layer2.Vertices[6].Position ); Layer2.Vertices[7].TexCoord = new Vector2d( _Three, _One ); Layer2.Vertices[7].Normal = FaceNormal; Vector3d.Lerp( ref T2, ref T3, _Six, out Layer2.Vertices[7].Position ); Layer2.Vertices[9].TexCoord = new Vector2d( _Zero, _Six ); Layer2.Vertices[9].Normal = FaceNormal; Vector3d.Lerp( ref T3, ref T0, _Three, out Layer2.Vertices[9].Position ); Layer2.Vertices[10].TexCoord = new Vector2d( _Zero, _Three ); Layer2.Vertices[10].Normal = FaceNormal; Vector3d.Lerp( ref T3, ref T0, _Six, out Layer2.Vertices[10].Position ); Layer2.Vertices[2].TexCoord = new Vector2d( _Six, _Three ); Layer2.Vertices[2].Normal = FaceNormal; Vector3d.Lerp( ref Layer2.Vertices[1].Position, ref Layer2.Vertices[6].Position, _Three, out Layer2.Vertices[2].Position ); Layer2.Vertices[5].TexCoord = new Vector2d( _Six, _Six ); Layer2.Vertices[5].Normal = FaceNormal; Vector3d.Lerp( ref Layer2.Vertices[1].Position, ref Layer2.Vertices[6].Position, _Six, out Layer2.Vertices[5].Position ); Layer2.Vertices[8].TexCoord = new Vector2d( _Three, _Six ); Layer2.Vertices[8].Normal = FaceNormal; Vector3d.Lerp( ref Layer2.Vertices[7].Position, ref Layer2.Vertices[0].Position, _Three, out Layer2.Vertices[8].Position ); Layer2.Vertices[11].TexCoord = new Vector2d( _Three, _Three ); Layer2.Vertices[11].Normal = FaceNormal; Vector3d.Lerp( ref Layer2.Vertices[7].Position, ref Layer2.Vertices[0].Position, _Six, out Layer2.Vertices[11].Position ); #endregion Define Layer2 Vertices #region Define Layer2 Indices Layer2.Indices[0] = 0; Layer2.Indices[1] = 2; Layer2.Indices[2] = 11; Layer2.Indices[3] = 0; Layer2.Indices[4] = 1; Layer2.Indices[5] = 2; Layer2.Indices[6] = 2; Layer2.Indices[7] = 3; Layer2.Indices[8] = 4; Layer2.Indices[9] = 2; Layer2.Indices[10] = 4; Layer2.Indices[11] = 5; Layer2.Indices[12] = 5; Layer2.Indices[13] = 6; Layer2.Indices[14] = 8; Layer2.Indices[15] = 8; Layer2.Indices[16] = 6; Layer2.Indices[17] = 7; Layer2.Indices[18] = 11; Layer2.Indices[19] = 8; Layer2.Indices[20] = 10; Layer2.Indices[21] = 10; Layer2.Indices[22] = 8; Layer2.Indices[23] = 9; chunks.Add( Layer2 ); #endregion Define Layer2 Indices } } } } opentk-1.0.20101006/Source/Examples/Shapes/Helpers/VboShape.cs0000664000175000017500000000142411453131434022447 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace Examples.Shapes { public sealed class VboShape: DrawableShape { public VboShape( ref OpenTK.Graphics.OpenGL.BeginMode primitives, ref VertexT2dN3dV3d[] vertices, ref uint[] indices, bool useDL ) : base( useDL ) { PrimitiveMode = primitives; VertexArray = new VertexT2dN3dV3d[vertices.Length]; for ( uint i = 0; i < vertices.Length; i++ ) { VertexArray[i] = vertices[i]; } IndexArray = new uint[indices.Length]; for ( uint i = 0; i < indices.Length; i++ ) { IndexArray[i] = indices[i]; } } } } opentk-1.0.20101006/Source/Examples/Shapes/VertexPositionColor.cs0000664000175000017500000000352711453131434023345 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2010 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System.Drawing; using System.Runtime.InteropServices; using OpenTK; namespace Examples.Tutorial { [StructLayout(LayoutKind.Sequential, Pack = 1)] struct VertexPositionColor { public Vector3 Position; public uint Color; public VertexPositionColor(float x, float y, float z, Color color) { Position = new Vector3(x, y, z); Color = ToRgba(color); } static uint ToRgba(Color color) { return (uint)color.A << 24 | (uint)color.B << 16 | (uint)color.G << 8 | (uint)color.R; } } } opentk-1.0.20101006/Source/Examples/Utilities/0000775000175000017500000000000011453142154017537 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Utilities/LoaderStatics.cs0000664000175000017500000000473411453131440022633 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using OpenTK.Graphics.OpenGL; namespace Examples.TextureLoaders { /// The parameters in this class have only effect on the following Texture loads. public static class TextureLoaderParameters { /// (Debug Aid, should be set to false) If set to false only Errors will be printed. If set to true, debug information (Warnings and Queries) will be printed in addition to Errors. public static bool Verbose = false; /// Always-valid fallback parameter for GL.BindTexture (Default: 0). This number will be returned if loading the Texture failed. You can set this to a checkerboard texture or similar, which you have already loaded. public static uint OpenGLDefaultTexture = 0; /// Compressed formats must have a border of 0, so this is constant. public const int Border = 0; /// false==DirectX TexCoords, true==OpenGL TexCoords (Default: true) public static bool FlipImages = true; /// When enabled, will use Glu to create MipMaps for images loaded with GDI+ (Default: false) public static bool BuildMipmapsForUncompressed = false; /// Selects the Magnification filter for following Textures to be loaded. (Default: Nearest) public static TextureMagFilter MagnificationFilter = TextureMagFilter.Nearest; /// Selects the Minification filter for following Textures to be loaded. (Default: Nearest) public static TextureMinFilter MinificationFilter = TextureMinFilter.Nearest; /// Selects the S Wrapping for following Textures to be loaded. (Default: Repeat) public static TextureWrapMode WrapModeS = TextureWrapMode.Repeat; /// Selects the T Wrapping for following Textures to be loaded. (Default: Repeat) public static TextureWrapMode WrapModeT = TextureWrapMode.Repeat; /// Selects the Texture Environment Mode for the following Textures to be loaded. Default: Modulate) public static TextureEnvMode EnvMode = TextureEnvMode.Modulate; } } opentk-1.0.20101006/Source/Examples/Utilities/LoaderDDS.cs0000664000175000017500000011454511453131440021635 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion // #define READALL // uncomment so ALL fields read from file are interpreted and filled. Necessary to implement uncompressed DDS // TODO: Find app that can build compressed dds cubemaps and verify that the import code works. using System; using System.IO; using System.Diagnostics; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.TextureLoaders { /// /// Expects the presence of a valid OpenGL Context and Texture Compression Extensions (GL 1.5) and Cube Maps (GL 1.3). /// You will get what you give. No automatic Mipmap generation or automatic compression is done. (both bad quality) /// Textures are never rescaled or checked if Power of 2, but you should make the Width and Height a multiple of 4 because DXTn uses 4x4 blocks. /// (Image displays correctly but runs extremely slow with non-power-of-two Textures on FX5600, Cache misses?) /// CubeMap support is experimental and the file must specify all 6 faces to work at all. /// static class ImageDDS { #region Constants private const byte HeaderSizeInBytes = 128; // all non-image data together is 128 Bytes private const uint BitMask = 0x00000007; // bits = 00 00 01 11 private static NotImplementedException Unfinished = new NotImplementedException( "ERROR: Only 2 Dimensional DXT1/3/5 compressed images for now. 1D/3D Textures may not be compressed according to spec." ); #endregion Constants #region Simplified In-Memory representation of the Image private static bool _IsCompressed; private static int _Width, _Height, _Depth, _MipMapCount; private static int _BytesForMainSurface; // must be handled with care when implementing uncompressed formats! private static byte _BytesPerBlock; private static PixelInternalFormat _PixelInternalFormat; #endregion Simplified In-Memory representation of the Image #region Flag Enums [Flags] // Surface Description private enum eDDSD: uint { CAPS = 0x00000001, // is always present HEIGHT = 0x00000002, // is always present WIDTH = 0x00000004, // is always present PITCH = 0x00000008, // is set if the image is uncompressed PIXELFORMAT = 0x00001000, // is always present MIPMAPCOUNT = 0x00020000, // is set if the image contains MipMaps LINEARSIZE = 0x00080000, // is set if the image is compressed DEPTH = 0x00800000 // is set for 3D Volume Textures } [Flags] // Pixelformat private enum eDDPF: uint { NONE = 0x00000000, // not part of DX, added for convenience ALPHAPIXELS = 0x00000001, FOURCC = 0x00000004, RGB = 0x00000040, RGBA = 0x00000041 } /// This list was derived from nVidia OpenGL SDK [Flags] // Texture types private enum eFOURCC: uint { UNKNOWN = 0, #if READALL R8G8B8 = 20, A8R8G8B8 = 21, X8R8G8B8 = 22, R5G6B5 = 23, X1R5G5B5 = 24, A1R5G5B5 = 25, A4R4G4B4 = 26, R3G3B2 = 27, A8 = 28, A8R3G3B2 = 29, X4R4G4B4 = 30, A2B10G10R10 = 31, A8B8G8R8 = 32, X8B8G8R8 = 33, G16R16 = 34, A2R10G10B10 = 35, A16B16G16R16 = 36, L8 = 50, A8L8 = 51, A4L4 = 52, D16_LOCKABLE = 70, D32 = 71, D24X8 = 77, D16 = 80, D32F_LOCKABLE = 82, L16 = 81, // s10e5 formats (16-bits per channel) R16F = 111, G16R16F = 112, A16B16G16R16F = 113, // IEEE s23e8 formats (32-bits per channel) R32F = 114, G32R32F = 115, A32B32G32R32F = 116 #endif DXT1 = 0x31545844, DXT2 = 0x32545844, DXT3 = 0x33545844, DXT4 = 0x34545844, DXT5 = 0x35545844, } [Flags] // dwCaps1 private enum eDDSCAPS: uint { NONE = 0x00000000, // not part of DX, added for convenience COMPLEX = 0x00000008, // should be set for any DDS file with more than one main surface TEXTURE = 0x00001000, // should always be set MIPMAP = 0x00400000 // only for files with MipMaps } [Flags] // dwCaps2 private enum eDDSCAPS2: uint { NONE = 0x00000000, // not part of DX, added for convenience CUBEMAP = 0x00000200, CUBEMAP_POSITIVEX = 0x00000400, CUBEMAP_NEGATIVEX = 0x00000800, CUBEMAP_POSITIVEY = 0x00001000, CUBEMAP_NEGATIVEY = 0x00002000, CUBEMAP_POSITIVEZ = 0x00004000, CUBEMAP_NEGATIVEZ = 0x00008000, CUBEMAP_ALL_FACES = 0x0000FC00, VOLUME = 0x00200000 // for 3D Textures } #endregion Flag Enums #region Private Members private static string idString; // 4 bytes, must be "DDS " private static UInt32 dwSize; // Size of structure is 124 bytes, 128 including all sub-structs and the header private static UInt32 dwFlags; // Flags to indicate valid fields. private static UInt32 dwHeight; // Height of the main image in pixels private static UInt32 dwWidth; // Width of the main image in pixels private static UInt32 dwPitchOrLinearSize; // For compressed formats, this is the total number of bytes for the main image. private static UInt32 dwDepth; // For volume textures, this is the depth of the volume. private static UInt32 dwMipMapCount; // total number of levels in the mipmap chain of the main image. #if READALL private static UInt32[] dwReserved1; // 11 UInt32s #endif // Pixelformat sub-struct, 32 bytes private static UInt32 pfSize; // Size of Pixelformat structure. This member must be set to 32. private static UInt32 pfFlags; // Flags to indicate valid fields. private static UInt32 pfFourCC; // This is the four-character code for compressed formats. #if READALL private static UInt32 pfRGBBitCount; // For RGB formats, this is the total number of bits in the format. dwFlags should include DDpf_RGB in this case. This value is usually 16, 24, or 32. For A8R8G8B8, this value would be 32. private static UInt32 pfRBitMask; // For RGB formats, these three fields contain the masks for the red, green, and blue channels. For A8R8G8B8, these values would be 0x00ff0000, 0x0000ff00, and 0x000000ff respectively. private static UInt32 pfGBitMask; // .. private static UInt32 pfBBitMask; // .. private static UInt32 pfABitMask; // For RGB formats, this contains the mask for the alpha channel, if any. dwFlags should include DDpf_ALPHAPIXELS in this case. For A8R8G8B8, this value would be 0xff000000. #endif // Capabilities sub-struct, 16 bytes private static UInt32 dwCaps1; // always includes DDSCAPS_TEXTURE. with more than one main surface DDSCAPS_COMPLEX should also be set. private static UInt32 dwCaps2; // For cubic environment maps, DDSCAPS2_CUBEMAP should be included as well as one or more faces of the map (DDSCAPS2_CUBEMAP_POSITIVEX, DDSCAPS2_CUBEMAP_NEGATIVEX, DDSCAPS2_CUBEMAP_POSITIVEY, DDSCAPS2_CUBEMAP_NEGATIVEY, DDSCAPS2_CUBEMAP_POSITIVEZ, DDSCAPS2_CUBEMAP_NEGATIVEZ). For volume textures, DDSCAPS2_VOLUME should be included. #if READALL private static UInt32[] dwReserved2; // 3 = 2 + 1 UInt32 #endif #endregion Private Members /// /// This function will generate, bind and fill a Texture Object with a DXT1/3/5 compressed Texture in .dds Format. /// MipMaps below 4x4 Pixel Size are discarded, because DXTn's smallest unit is a 4x4 block of Pixel data. /// It will set correct MipMap parameters, Filtering, Wrapping and EnvMode for the Texture. /// The only call inside this function affecting OpenGL State is GL.BindTexture(); /// /// The name of the file you wish to load, including path and file extension. /// 0 if invalid, otherwise a Texture Object usable with GL.BindTexture(). /// 0 if invalid, will output what was loaded (typically Texture1D/2D/3D or Cubemap) public static void LoadFromDisk( string filename, out uint texturehandle, out TextureTarget dimension ) { #region Prep data // invalidate whatever it was before dimension = (TextureTarget) 0; texturehandle = TextureLoaderParameters.OpenGLDefaultTexture; ErrorCode GLError = ErrorCode.NoError; _IsCompressed = false; _Width = 0; _Height = 0; _Depth = 0; _MipMapCount = 0; _BytesForMainSurface = 0; _BytesPerBlock = 0; _PixelInternalFormat = PixelInternalFormat.Rgba8; byte[] _RawDataFromFile; #endregion #region Try try // Exceptions will be thrown if any Problem occurs while working on the file. { _RawDataFromFile = File.ReadAllBytes( @filename ); #region Translate Header to less cryptic representation ConvertDX9Header( ref _RawDataFromFile ); // The first 128 Bytes of the file is non-image data // start by checking if all forced flags are present. Flags indicate valid fields, but aren't written by every tool ..... if ( idString != "DDS " || // magic key dwSize != 124 || // constant size of struct, never reused pfSize != 32 || // constant size of struct, never reused !CheckFlag( dwFlags, (uint) eDDSD.CAPS ) || // must know it's caps !CheckFlag( dwFlags, (uint) eDDSD.PIXELFORMAT ) || // must know it's format !CheckFlag( dwCaps1, (uint) eDDSCAPS.TEXTURE ) // must be a Texture ) throw new ArgumentException( "ERROR: File has invalid signature or missing Flags." ); #region Examine Flags if ( CheckFlag( dwFlags, (uint) eDDSD.WIDTH ) ) _Width = (int) dwWidth; else throw new ArgumentException( "ERROR: Flag for Width not set." ); if ( CheckFlag( dwFlags, (uint) eDDSD.HEIGHT ) ) _Height = (int) dwHeight; else throw new ArgumentException( "ERROR: Flag for Height not set." ); if ( CheckFlag( dwFlags, (uint) eDDSD.DEPTH ) && CheckFlag( dwCaps2, (uint) eDDSCAPS2.VOLUME ) ) { dimension = TextureTarget.Texture3D; // image is 3D Volume _Depth = (int) dwDepth; throw Unfinished; } else {// image is 2D or Cube if ( CheckFlag( dwCaps2, (uint) eDDSCAPS2.CUBEMAP ) ) { dimension = TextureTarget.TextureCubeMap; _Depth = 6; } else { dimension = TextureTarget.Texture2D; _Depth = 1; } } // these flags must be set for mipmaps to be included if ( CheckFlag( dwCaps1, (uint) eDDSCAPS.MIPMAP ) && CheckFlag( dwFlags, (uint) eDDSD.MIPMAPCOUNT ) ) _MipMapCount = (int) dwMipMapCount; // image contains MipMaps else _MipMapCount = 1; // only 1 main image // Should never happen if ( CheckFlag( dwFlags, (uint) eDDSD.PITCH ) && CheckFlag( dwFlags, (uint) eDDSD.LINEARSIZE ) ) throw new ArgumentException( "INVALID: Pitch AND Linear Flags both set. Image cannot be uncompressed and DTXn compressed at the same time." ); // This flag is set if format is uncompressed RGB RGBA etc. if ( CheckFlag( dwFlags, (uint) eDDSD.PITCH ) ) { // _BytesForMainSurface = (int) dwPitchOrLinearSize; // holds bytes-per-scanline for uncompressed _IsCompressed = false; throw Unfinished; } // This flag is set if format is compressed DXTn. if ( CheckFlag( dwFlags, (uint) eDDSD.LINEARSIZE ) ) { _BytesForMainSurface = (int) dwPitchOrLinearSize; _IsCompressed = true; } #endregion Examine Flags #region Examine Pixel Format, anything but DXTn will fail atm. if ( CheckFlag( pfFlags, (uint) eDDPF.FOURCC ) ) switch ( (eFOURCC) pfFourCC ) { case eFOURCC.DXT1: _PixelInternalFormat = (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbS3tcDxt1Ext; _BytesPerBlock = 8; _IsCompressed = true; break; //case eFOURCC.DXT2: case eFOURCC.DXT3: _PixelInternalFormat = (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbaS3tcDxt3Ext; _BytesPerBlock = 16; _IsCompressed = true; break; //case eFOURCC.DXT4: case eFOURCC.DXT5: _PixelInternalFormat = (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbaS3tcDxt5Ext; _BytesPerBlock = 16; _IsCompressed = true; break; default: throw Unfinished; // handle uncompressed formats } else throw Unfinished; // pf*Bitmasks should be examined here #endregion // Works, but commented out because some texture authoring tools don't set this flag. /* Safety Check, if file is only 1x 2D surface without mipmaps, eDDSCAPS.COMPLEX should not be set if ( CheckFlag( dwCaps1, (uint) eDDSCAPS.COMPLEX ) ) { if ( result == eTextureDimension.Texture2D && _MipMapCount == 1 ) // catch potential problem Trace.WriteLine( "Warning: Image is declared complex, but contains only 1 surface." ); }*/ if ( TextureLoaderParameters.Verbose ) Trace.WriteLine( "\n" + GetDescriptionFromMemory( filename, dimension ) ); #endregion Translate Header to less cryptic representation #region send the Texture to GL #region Generate and Bind Handle GL.GenTextures( 1, out texturehandle ); GL.BindTexture( dimension, texturehandle ); #endregion Generate and Bind Handle int Cursor = HeaderSizeInBytes; // foreach face in the cubemap, get all it's mipmaps levels. Only one iteration for Texture2D for ( int Slices = 0 ; Slices < _Depth ; Slices++ ) { int trueMipMapCount = _MipMapCount - 1; // TODO: triplecheck correctness int Width = _Width; int Height = _Height; for ( int Level = 0 ; Level < _MipMapCount ; Level++ ) // start at base image { #region determine Dimensions int BlocksPerRow = ( Width + 3 ) >> 2; int BlocksPerColumn = ( Height + 3 ) >> 2; int SurfaceBlockCount = BlocksPerRow * BlocksPerColumn; // // DXTn stores Texels in 4x4 blocks, a Color block is 8 Bytes, an Alpha block is 8 Bytes for DXT3/5 int SurfaceSizeInBytes = SurfaceBlockCount * _BytesPerBlock; // this check must evaluate to false for 2D and Cube maps, or it's impossible to determine MipMap sizes. if ( TextureLoaderParameters.Verbose && Level == 0 && _IsCompressed && _BytesForMainSurface != SurfaceSizeInBytes ) Trace.WriteLine( "Warning: Calculated byte-count of main image differs from what was read from file." ); #endregion determine Dimensions // skip mipmaps smaller than a 4x4 Pixels block, which is the smallest DXTn unit. if ( Width > 2 && Height > 2 ) { // Note: there could be a potential problem with non-power-of-two cube maps #region Prepare Array for TexImage byte[] RawDataOfSurface = new byte[SurfaceSizeInBytes]; if ( !TextureLoaderParameters.FlipImages ) { // no changes to the image, copy as is Array.Copy( _RawDataFromFile, Cursor, RawDataOfSurface, 0, SurfaceSizeInBytes ); } else { // Turn the blocks upside down and the rows aswell, done in a single pass through all blocks for ( int sourceColumn = 0 ; sourceColumn < BlocksPerColumn ; sourceColumn++ ) { int targetColumn = BlocksPerColumn - sourceColumn - 1; for ( int row = 0 ; row < BlocksPerRow ; row++ ) { int target = ( targetColumn * BlocksPerRow + row ) * _BytesPerBlock; int source = ( sourceColumn * BlocksPerRow + row ) * _BytesPerBlock + Cursor; #region Swap Bytes switch ( _PixelInternalFormat ) { case (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbS3tcDxt1Ext: // Color only RawDataOfSurface[target + 0] = _RawDataFromFile[source + 0]; RawDataOfSurface[target + 1] = _RawDataFromFile[source + 1]; RawDataOfSurface[target + 2] = _RawDataFromFile[source + 2]; RawDataOfSurface[target + 3] = _RawDataFromFile[source + 3]; RawDataOfSurface[target + 4] = _RawDataFromFile[source + 7]; RawDataOfSurface[target + 5] = _RawDataFromFile[source + 6]; RawDataOfSurface[target + 6] = _RawDataFromFile[source + 5]; RawDataOfSurface[target + 7] = _RawDataFromFile[source + 4]; break; case (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbaS3tcDxt3Ext: // Alpha RawDataOfSurface[target + 0] = _RawDataFromFile[source + 6]; RawDataOfSurface[target + 1] = _RawDataFromFile[source + 7]; RawDataOfSurface[target + 2] = _RawDataFromFile[source + 4]; RawDataOfSurface[target + 3] = _RawDataFromFile[source + 5]; RawDataOfSurface[target + 4] = _RawDataFromFile[source + 2]; RawDataOfSurface[target + 5] = _RawDataFromFile[source + 3]; RawDataOfSurface[target + 6] = _RawDataFromFile[source + 0]; RawDataOfSurface[target + 7] = _RawDataFromFile[source + 1]; // Color RawDataOfSurface[target + 8] = _RawDataFromFile[source + 8]; RawDataOfSurface[target + 9] = _RawDataFromFile[source + 9]; RawDataOfSurface[target + 10] = _RawDataFromFile[source + 10]; RawDataOfSurface[target + 11] = _RawDataFromFile[source + 11]; RawDataOfSurface[target + 12] = _RawDataFromFile[source + 15]; RawDataOfSurface[target + 13] = _RawDataFromFile[source + 14]; RawDataOfSurface[target + 14] = _RawDataFromFile[source + 13]; RawDataOfSurface[target + 15] = _RawDataFromFile[source + 12]; break; case (PixelInternalFormat) ExtTextureCompressionS3tc.CompressedRgbaS3tcDxt5Ext: // Alpha, the first 2 bytes remain RawDataOfSurface[target + 0] = _RawDataFromFile[source + 0]; RawDataOfSurface[target + 1] = _RawDataFromFile[source + 1]; // extract 3 bits each and flip them GetBytesFromUInt24( ref RawDataOfSurface, (uint) target + 5, FlipUInt24( GetUInt24( ref _RawDataFromFile, (uint) source + 2 ) ) ); GetBytesFromUInt24( ref RawDataOfSurface, (uint) target + 2, FlipUInt24( GetUInt24( ref _RawDataFromFile, (uint) source + 5 ) ) ); // Color RawDataOfSurface[target + 8] = _RawDataFromFile[source + 8]; RawDataOfSurface[target + 9] = _RawDataFromFile[source + 9]; RawDataOfSurface[target + 10] = _RawDataFromFile[source + 10]; RawDataOfSurface[target + 11] = _RawDataFromFile[source + 11]; RawDataOfSurface[target + 12] = _RawDataFromFile[source + 15]; RawDataOfSurface[target + 13] = _RawDataFromFile[source + 14]; RawDataOfSurface[target + 14] = _RawDataFromFile[source + 13]; RawDataOfSurface[target + 15] = _RawDataFromFile[source + 12]; break; default: throw new ArgumentException( "ERROR: Should have never arrived here! Bad _PixelInternalFormat! Should have been dealt with much earlier." ); } #endregion Swap Bytes } } } #endregion Prepare Array for TexImage #region Create TexImage switch ( dimension ) { case TextureTarget.Texture2D: GL.CompressedTexImage2D( TextureTarget.Texture2D, Level, _PixelInternalFormat, Width, Height, TextureLoaderParameters.Border, SurfaceSizeInBytes, RawDataOfSurface ); break; case TextureTarget.TextureCubeMap: GL.CompressedTexImage2D( TextureTarget.TextureCubeMapPositiveX + Slices, Level, _PixelInternalFormat, Width, Height, TextureLoaderParameters.Border, SurfaceSizeInBytes, RawDataOfSurface ); break; case TextureTarget.Texture1D: // Untested case TextureTarget.Texture3D: // Untested default: throw new ArgumentException( "ERROR: Use DXT for 2D Images only. Cannot evaluate " + dimension ); } GL.Finish( ); #endregion Create TexImage #region Query Success int width, height, internalformat, compressed; switch ( dimension ) { case TextureTarget.Texture1D: case TextureTarget.Texture2D: case TextureTarget.Texture3D: GL.GetTexLevelParameter( dimension, Level, GetTextureParameter.TextureWidth, out width ); GL.GetTexLevelParameter( dimension, Level, GetTextureParameter.TextureHeight, out height ); GL.GetTexLevelParameter( dimension, Level, GetTextureParameter.TextureInternalFormat, out internalformat ); GL.GetTexLevelParameter( dimension, Level, GetTextureParameter.TextureCompressed, out compressed ); break; case TextureTarget.TextureCubeMap: GL.GetTexLevelParameter( TextureTarget.TextureCubeMapPositiveX + Slices, Level, GetTextureParameter.TextureWidth, out width ); GL.GetTexLevelParameter( TextureTarget.TextureCubeMapPositiveX + Slices, Level, GetTextureParameter.TextureHeight, out height ); GL.GetTexLevelParameter( TextureTarget.TextureCubeMapPositiveX + Slices, Level, GetTextureParameter.TextureInternalFormat, out internalformat ); GL.GetTexLevelParameter( TextureTarget.TextureCubeMapPositiveX + Slices, Level, GetTextureParameter.TextureCompressed, out compressed ); break; default: throw Unfinished; } GLError = GL.GetError( ); if ( TextureLoaderParameters.Verbose ) Trace.WriteLine( "GL: " + GLError.ToString( ) + " Level: " + Level + " DXTn: " + ( ( compressed == 1 ) ? "Yes" : "No" ) + " Frmt:" + (ExtTextureCompressionS3tc) internalformat + " " + width + "*" + height ); if ( GLError != ErrorCode.NoError || compressed == 0 || width == 0 || height == 0 || internalformat == 0 ) { GL.DeleteTextures( 1, ref texturehandle ); throw new ArgumentException( "ERROR: Something went wrong after GL.CompressedTexImage(); Last GL Error: " + GLError.ToString( ) ); } #endregion Query Success } else { if ( trueMipMapCount > Level ) trueMipMapCount = Level - 1; // The current Level is invalid } #region Prepare the next MipMap level Width /= 2; if ( Width < 1 ) Width = 1; Height /= 2; if ( Height < 1 ) Height = 1; Cursor += SurfaceSizeInBytes; #endregion Prepare the next MipMap level } #region Set States properly GL.TexParameter( dimension, (TextureParameterName) All.TextureBaseLevel, 0 ); GL.TexParameter( dimension, (TextureParameterName) All.TextureMaxLevel, trueMipMapCount ); int TexMaxLevel; GL.GetTexParameter( dimension, GetTextureParameter.TextureMaxLevel, out TexMaxLevel ); if ( TextureLoaderParameters.Verbose ) Trace.WriteLine( "Verification: GL: " + GL.GetError( ).ToString( ) + " TextureMaxLevel: " + TexMaxLevel + ( ( TexMaxLevel == trueMipMapCount ) ? " (Correct.)" : " (Wrong!)" ) ); #endregion Set States properly } #region Set Texture Parameters GL.TexParameter( dimension, TextureParameterName.TextureMinFilter, (int) TextureLoaderParameters.MinificationFilter ); GL.TexParameter( dimension, TextureParameterName.TextureMagFilter, (int) TextureLoaderParameters.MagnificationFilter ); GL.TexParameter( dimension, TextureParameterName.TextureWrapS, (int) TextureLoaderParameters.WrapModeS ); GL.TexParameter( dimension, TextureParameterName.TextureWrapT, (int) TextureLoaderParameters.WrapModeT ); GL.TexEnv( TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (int) TextureLoaderParameters.EnvMode ); GLError = GL.GetError( ); if ( GLError != ErrorCode.NoError ) { throw new ArgumentException( "Error setting Texture Parameters. GL Error: " + GLError ); } #endregion Set Texture Parameters // If it made it here without throwing any Exception the result is a valid Texture. return; // success #endregion send the Texture to GL } catch ( Exception e ) { dimension = (TextureTarget) 0; texturehandle = TextureLoaderParameters.OpenGLDefaultTexture; throw new ArgumentException( "ERROR: Exception caught when attempting to load file " + filename + ".\n" + e + "\n" + GetDescriptionFromFile( filename ) ); // return; // failure } finally { _RawDataFromFile = null; // clarity, not really needed } #endregion Try } #region Helpers private static void ConvertDX9Header( ref byte[] input ) { UInt32 offset = 0; idString = GetString( ref input, offset ); offset += 4; dwSize = GetUInt32( ref input, offset ); offset += 4; dwFlags = GetUInt32( ref input, offset ); offset += 4; dwHeight = GetUInt32( ref input, offset ); offset += 4; dwWidth = GetUInt32( ref input, offset ); offset += 4; dwPitchOrLinearSize = GetUInt32( ref input, offset ); offset += 4; dwDepth = GetUInt32( ref input, offset ); offset += 4; dwMipMapCount = GetUInt32( ref input, offset ); offset += 4; #if READALL dwReserved1 = new UInt32[11]; // reserved #endif offset += 4 * 11; pfSize = GetUInt32( ref input, offset ); offset += 4; pfFlags = GetUInt32( ref input, offset ); offset += 4; pfFourCC = GetUInt32( ref input, offset ); offset += 4; #if READALL pfRGBBitCount = GetUInt32( ref input, offset ); offset += 4; pfRBitMask = GetUInt32( ref input, offset ); offset += 4; pfGBitMask = GetUInt32( ref input, offset ); offset += 4; pfBBitMask = GetUInt32( ref input, offset ); offset += 4; pfABitMask = GetUInt32( ref input, offset ); offset += 4; #else offset += 20; #endif dwCaps1 = GetUInt32( ref input, offset ); offset += 4; dwCaps2 = GetUInt32( ref input, offset ); offset += 4; #if READALL dwReserved2 = new UInt32[3]; // offset is 4+112 here, + 12 = 4+124 #endif offset += 4 * 3; } /// Returns true if the flag is set, false otherwise private static bool CheckFlag( uint variable, uint flag ) { return ( variable & flag ) > 0 ? true : false; } private static string GetString( ref byte[] input, uint offset ) { return "" + (char) input[offset + 0] + (char) input[offset + 1] + (char) input[offset + 2] + (char) input[offset + 3]; } private static uint GetUInt32( ref byte[] input, uint offset ) { return (uint) ( ( ( input[offset + 3] * 256 + input[offset + 2] ) * 256 + input[offset + 1] ) * 256 + input[offset + 0] ); } private static uint GetUInt24( ref byte[] input, uint offset ) { return (uint) ( ( input[offset + 2] * 256 + input[offset + 1] ) * 256 + input[offset + 0] ); } private static void GetBytesFromUInt24( ref byte[] input, uint offset, uint splitme ) { input[offset + 0] = (byte) ( splitme & 0x000000ff ); input[offset + 1] = (byte) ( ( splitme & 0x0000ff00 ) >> 8 ); input[offset + 2] = (byte) ( ( splitme & 0x00ff0000 ) >> 16 ); return; } /// DXT5 Alpha block flipping, inspired by code from Evan Hart (nVidia SDK) private static uint FlipUInt24( uint inputUInt24 ) { byte[][] ThreeBits = new byte[2][]; for ( int i = 0 ; i < 2 ; i++ ) ThreeBits[i] = new byte[4]; // extract 3 bits each into the array ThreeBits[0][0] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[0][1] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[0][2] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[0][3] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[1][0] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[1][1] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[1][2] = (byte) ( inputUInt24 & BitMask ); inputUInt24 >>= 3; ThreeBits[1][3] = (byte) ( inputUInt24 & BitMask ); // stuff 8x 3bits into 3 bytes uint Result = 0; Result = Result | (uint) ( ThreeBits[1][0] << 0 ); Result = Result | (uint) ( ThreeBits[1][1] << 3 ); Result = Result | (uint) ( ThreeBits[1][2] << 6 ); Result = Result | (uint) ( ThreeBits[1][3] << 9 ); Result = Result | (uint) ( ThreeBits[0][0] << 12 ); Result = Result | (uint) ( ThreeBits[0][1] << 15 ); Result = Result | (uint) ( ThreeBits[0][2] << 18 ); Result = Result | (uint) ( ThreeBits[0][3] << 21 ); return Result; } #endregion Helpers #region String Representations private static string GetDescriptionFromFile( string filename ) { return "\n--> Header of " + filename + "\nID: " + idString + "\nSize: " + dwSize + "\nFlags: " + dwFlags + " (" + (eDDSD) dwFlags + ")" + "\nHeight: " + dwHeight + "\nWidth: " + dwWidth + "\nPitch: " + dwPitchOrLinearSize + "\nDepth: " + dwDepth + "\nMipMaps: " + dwMipMapCount + "\n\n---PixelFormat---" + filename + "\nSize: " + pfSize + "\nFlags: " + pfFlags + " (" + (eDDPF) pfFlags + ")" + "\nFourCC: " + pfFourCC + " (" + (eFOURCC) pfFourCC + ")" + #if READALL "\nBitcount: " + pfRGBBitCount + "\nBitMask Red: " + pfRBitMask + "\nBitMask Green: " + pfGBitMask + "\nBitMask Blue: " + pfBBitMask + "\nBitMask Alpha: " + pfABitMask + #endif "\n\n---Capabilities---" + filename + "\nCaps1: " + dwCaps1 + " (" + (eDDSCAPS) dwCaps1 + ")" + "\nCaps2: " + dwCaps2 + " (" + (eDDSCAPS2) dwCaps2 + ")"; } private static string GetDescriptionFromMemory( string filename, TextureTarget Dimension ) { return "\nFile: " + filename + "\nDimension: " + Dimension + "\nSize: " + _Width + " * " + _Height + " * " + _Depth + "\nCompressed: " + _IsCompressed + "\nBytes for Main Image: " + _BytesForMainSurface + "\nMipMaps: " + _MipMapCount; } #endregion String Representations } } opentk-1.0.20101006/Source/Examples/Utilities/LoaderGDI.cs0000664000175000017500000001611011453131440021613 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion // TODO: Find paint program that can properly export 8/16-bit Textures and make sure they are loaded correctly. using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.TextureLoaders { class ImageGDI { public static void LoadFromDisk( string filename, out uint texturehandle, out TextureTarget dimension ) { dimension = (TextureTarget) 0; texturehandle = TextureLoaderParameters.OpenGLDefaultTexture; ErrorCode GLError = ErrorCode.NoError; Bitmap CurrentBitmap = null; try // Exceptions will be thrown if any Problem occurs while working on the file. { CurrentBitmap = new Bitmap( filename ); if ( TextureLoaderParameters.FlipImages ) CurrentBitmap.RotateFlip( RotateFlipType.RotateNoneFlipY ); if ( CurrentBitmap.Height > 1 ) dimension = TextureTarget.Texture2D; else dimension = TextureTarget.Texture1D; GL.GenTextures( 1, out texturehandle ); GL.BindTexture( dimension, texturehandle ); #region Load Texture OpenTK.Graphics.OpenGL.PixelInternalFormat pif; OpenTK.Graphics.OpenGL.PixelFormat pf; OpenTK.Graphics.OpenGL.PixelType pt; if (TextureLoaderParameters.Verbose) Trace.WriteLine( "File: " + filename + " Format: " + CurrentBitmap.PixelFormat ); switch ( CurrentBitmap.PixelFormat ) { case System.Drawing.Imaging.PixelFormat.Format8bppIndexed: // misses glColorTable setup pif = OpenTK.Graphics.OpenGL.PixelInternalFormat.Rgb8; pf = OpenTK.Graphics.OpenGL.PixelFormat.ColorIndex; pt = OpenTK.Graphics.OpenGL.PixelType.Bitmap; break; case System.Drawing.Imaging.PixelFormat.Format16bppArgb1555: case System.Drawing.Imaging.PixelFormat.Format16bppRgb555: // does not work pif = OpenTK.Graphics.OpenGL.PixelInternalFormat.Rgb5A1; pf = OpenTK.Graphics.OpenGL.PixelFormat.Bgr; pt = OpenTK.Graphics.OpenGL.PixelType.UnsignedShort5551Ext; break; /* case System.Drawing.Imaging.PixelFormat.Format16bppRgb565: pif = OpenTK.Graphics.OpenGL.PixelInternalFormat.R5G6B5IccSgix; pf = OpenTK.Graphics.OpenGL.PixelFormat.R5G6B5IccSgix; pt = OpenTK.Graphics.OpenGL.PixelType.UnsignedByte; break; */ case System.Drawing.Imaging.PixelFormat.Format24bppRgb: // works pif = OpenTK.Graphics.OpenGL.PixelInternalFormat.Rgb8; pf = OpenTK.Graphics.OpenGL.PixelFormat.Bgr; pt = OpenTK.Graphics.OpenGL.PixelType.UnsignedByte; break; case System.Drawing.Imaging.PixelFormat.Format32bppRgb: // has alpha too? wtf? case System.Drawing.Imaging.PixelFormat.Canonical: case System.Drawing.Imaging.PixelFormat.Format32bppArgb: // works pif = OpenTK.Graphics.OpenGL.PixelInternalFormat.Rgba; pf = OpenTK.Graphics.OpenGL.PixelFormat.Bgra; pt = OpenTK.Graphics.OpenGL.PixelType.UnsignedByte; break; default: throw new ArgumentException( "ERROR: Unsupported Pixel Format " + CurrentBitmap.PixelFormat ); } BitmapData Data = CurrentBitmap.LockBits( new System.Drawing.Rectangle( 0, 0, CurrentBitmap.Width, CurrentBitmap.Height ), ImageLockMode.ReadOnly, CurrentBitmap.PixelFormat ); if ( Data.Height > 1 ) { // image is 2D if (TextureLoaderParameters.BuildMipmapsForUncompressed) { throw new Exception("Cannot build mipmaps, Glu is deprecated."); // Glu.Build2DMipmap(dimension, (int)pif, Data.Width, Data.Height, pf, pt, Data.Scan0); } else GL.TexImage2D(dimension, 0, pif, Data.Width, Data.Height, TextureLoaderParameters.Border, pf, pt, Data.Scan0); } else { // image is 1D if (TextureLoaderParameters.BuildMipmapsForUncompressed) { throw new Exception("Cannot build mipmaps, Glu is deprecated."); // Glu.Build1DMipmap(dimension, (int)pif, Data.Width, pf, pt, Data.Scan0); } else GL.TexImage1D(dimension, 0, pif, Data.Width, TextureLoaderParameters.Border, pf, pt, Data.Scan0); } GL.Finish( ); GLError = GL.GetError( ); if ( GLError != ErrorCode.NoError ) { throw new ArgumentException( "Error building TexImage. GL Error: " + GLError ); } CurrentBitmap.UnlockBits( Data ); #endregion Load Texture #region Set Texture Parameters GL.TexParameter( dimension, TextureParameterName.TextureMinFilter, (int) TextureLoaderParameters.MinificationFilter ); GL.TexParameter( dimension, TextureParameterName.TextureMagFilter, (int) TextureLoaderParameters.MagnificationFilter ); GL.TexParameter( dimension, TextureParameterName.TextureWrapS, (int) TextureLoaderParameters.WrapModeS ); GL.TexParameter( dimension, TextureParameterName.TextureWrapT, (int) TextureLoaderParameters.WrapModeT ); GL.TexEnv( TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (int) TextureLoaderParameters.EnvMode ); GLError = GL.GetError( ); if ( GLError != ErrorCode.NoError ) { throw new ArgumentException( "Error setting Texture Parameters. GL Error: " + GLError ); } #endregion Set Texture Parameters return; // success } catch ( Exception e ) { dimension = (TextureTarget) 0; texturehandle = TextureLoaderParameters.OpenGLDefaultTexture; throw new ArgumentException( "Texture Loading Error: Failed to read file " + filename + ".\n" + e ); // return; // failure } finally { CurrentBitmap = null; } } } }opentk-1.0.20101006/Source/Examples/ExampleAttribute.cs0000664000175000017500000000372711453131440021377 0ustar laneylaney#region --- License --- /* Copyright (c) 2006-2008 the OpenTK team * See license.txt for licensing details */ #endregion using System; using System.Collections.Generic; using System.Text; namespace Examples { [AttributeUsage(AttributeTargets.Class)] public class ExampleAttribute : System.Attribute { string title; bool visible = true; public string Title { get { return title; } internal set { title = value; } } public readonly ExampleCategory Category; public readonly string Subcategory; public int Difficulty; public string Documentation; public bool Visible { get { return visible; } set { visible = value; } } public ExampleAttribute(string title, ExampleCategory category, string subcategory) : this(title, category, subcategory, Int32.MaxValue, true) { } public ExampleAttribute(string title, ExampleCategory category, string subcategory, int difficulty) : this(title, category, subcategory, difficulty, true) { } public ExampleAttribute(string title, ExampleCategory category, string subcategory, bool visible) : this(title, category, subcategory, Int32.MaxValue, visible) { } public ExampleAttribute(string title, ExampleCategory category, string subcategory, int difficulty, bool visible) { this.Title = title; this.Category = category; this.Subcategory = subcategory; this.Difficulty = difficulty; this.Visible = visible; } public override string ToString() { if (Difficulty != 0) return String.Format("{0} {1}: {2}", Category, Difficulty, Title); return String.Format("{0}: {1}", Category, Title); } } public enum ExampleCategory { OpenTK = 0, OpenGL, OpenAL, OpenCL, OpenGLES } } opentk-1.0.20101006/Source/Examples/ExampleBrowser.cs0000664000175000017500000004301311453131440021047 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Text; using System.Reflection; using System.Windows.Forms; using OpenTK.Examples.Properties; using System.Threading; using System.IO; namespace Examples { public partial class ExampleBrowser : Form { #region Fields //PrivateFontCollection font_collection = new PrivateFontCollection(); bool show_warning = true; static readonly string SourcePath = FindSourcePath(); #endregion #region Constructors public ExampleBrowser() { Font = SystemFonts.DialogFont; InitializeComponent(); Icon = Resources.App; // Windows 6 (Vista) and higher come with Consolas, a high-quality monospace font. Use that or fallback to // the generic monospace font on other systems. if (System.Environment.OSVersion.Platform == PlatformID.Win32NT && System.Environment.OSVersion.Version.Major >= 6) { textBoxOutput.Font = richTextBoxSource.Font = new Font("Consolas", 10.0f, FontStyle.Regular); } else { textBoxOutput.Font = richTextBoxSource.Font = new Font(FontFamily.GenericMonospace, 10.0f, FontStyle.Regular); } } #endregion #region Protected Members protected override void OnLoad(EventArgs e) { base.OnLoad(e); // Add those by hand, because using the designer results in an empty // image list when cross-compiling on Mono. imageListSampleCategories.Images.Add("OpenAL", Resources.OpenAL); imageListSampleCategories.Images.Add("OpenGL", Resources.OpenGL); imageListSampleCategories.Images.Add("OpenGLES", Resources.OpenGLES); imageListSampleCategories.Images.Add("OpenCL", Resources.OpenCL); imageListSampleCategories.Images.Add("OpenTK", Resources.OpenTK); imageListSampleCategories.Images.Add("1.x", Resources.v1x); imageListSampleCategories.Images.Add("2.x", Resources.v2x); imageListSampleCategories.Images.Add("3.x", Resources.v3x); imageListSampleCategories.Images.Add("4.x", Resources.v4x); Debug.Listeners.Add(new TextBoxTraceListener(textBoxOutput)); treeViewSamples.TreeViewNodeSorter = new SamplesTreeViewSorter(); LoadSamplesFromAssembly(Assembly.GetExecutingAssembly()); } protected override void OnShown(EventArgs e) { if (show_warning) { //MessageBox.Show("The new Sample Browser is not complete. Please report any issues at http://www.opentk.com/project/issues.", // "Work in Progress", MessageBoxButtons.OK, MessageBoxIcon.Information); show_warning = false; } } #endregion #region Private Members #region Events #region TreeView private void treeViewSamples_AfterSelect(object sender, TreeViewEventArgs e) { const string no_docs = "Documentation has not been entered."; const string no_source = "Source code has not been entered."; if (e.Node.Tag != null && !String.IsNullOrEmpty(((ExampleInfo)e.Node.Tag).Attribute.Documentation)) { string docs = null; string source = null; ExampleInfo einfo = (ExampleInfo)e.Node.Tag; string sample = einfo.Attribute.Documentation; string category = einfo.Attribute.Category.ToString(); string subcategory = einfo.Attribute.Subcategory; string path = Path.Combine(Path.Combine(Path.Combine(SourcePath, category), subcategory), sample); string sample_rtf = Path.ChangeExtension(path, "rtf"); string sample_cs = Path.ChangeExtension(path, "cs"); if (File.Exists(sample_rtf)) { docs = File.ReadAllText(sample_rtf); } if (File.Exists(sample_cs)) { source = File.ReadAllText(sample_cs); } if (String.IsNullOrEmpty(docs)) richTextBoxDescription.Text = String.Format("File {0} not found.", sample_rtf); else richTextBoxDescription.Rtf = docs; if (String.IsNullOrEmpty(source)) richTextBoxSource.Text = String.Format("File {0} not found.", sample_cs); else richTextBoxSource.Text = source; } else { richTextBoxDescription.Text = no_docs; richTextBoxSource.Text = no_source; } } private void treeViewSamples_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Tag != null) { ActivateNode(e.Node); } } private void treeViewSamples_KeyDown(object sender, KeyEventArgs e) { // The enter key activates a node (either expands/collapses or executes its sample). switch (e.KeyCode) { case Keys.Enter: ActivateNode(treeViewSamples.SelectedNode); e.Handled = true; e.SuppressKeyPress = true; break; } } private void treeViewSamples_MouseDown(object sender, MouseEventArgs e) { // Make sure that right-clicking a new node will select that node before displaying // the context menu. Without this, right-clicking a node does not select it, which // is completely disorienting. // As a bonus, make any mouse button select the underlying node, TreeNode node = treeViewSamples.HitTest(e.Location).Node; if (node != null) treeViewSamples.SelectedNode = node; // Middle click selects and activates a node (either expands/collapses or executes its sample). // Right button displays the context menu. // All other mouse buttons simply select the underlying node. switch (e.Button) { case MouseButtons.Middle: ActivateNode(node); break; case MouseButtons.Right: treeViewSamples.ContextMenuStrip.Show(sender as Control, e.Location); break; } } private void treeViewSamples_AfterExpand(object sender, TreeViewEventArgs e) { foreach (TreeNode child in e.Node.Nodes) child.EnsureVisible(); } private void contextMenuStripSamples_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Text) { case "&Run Sample": RunSample(this, (ExampleInfo)treeViewSamples.SelectedNode.Tag); break; case "View Description": tabControlSample.SelectedTab = tabDescription; break; case "View Source Code": tabControlSample.SelectedTab = tabSource; break; } } #endregion #region Description private void richTextBoxDescription_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { richTextBoxDescription.ContextMenuStrip.Show(sender as Control, e.X, e.Y); } } private void contextMenuStripDescription_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Text == "&Copy") { Clipboard.SetText(richTextBoxDescription.SelectedRtf, TextDataFormat.Rtf); } } #endregion #region Source Code private void richTextBoxSource_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { richTextBoxSource.ContextMenuStrip.Show(sender as Control, e.X, e.Y); } } private void contextMenuStripSource_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Text == "&Copy") { Clipboard.SetText(richTextBoxSource.SelectedText, TextDataFormat.Text); } } #endregion #endregion #region Actions void LoadSamplesFromAssembly(Assembly assembly) { if (assembly == null) throw new ArgumentNullException("assembly"); Type[] types = assembly.GetTypes(); foreach (Type type in types) { object[] attributes = type.GetCustomAttributes(false); ExampleAttribute example = null; foreach (object attr in attributes) { if (attr is ExampleAttribute) { example = (ExampleAttribute)attr; if (example.Visible) { // Add this example to the sample TreeView. // First check whether the ExampleCategory exists in the tree (and add it if it doesn't). // Then add the example as a child node on this category. if (!treeViewSamples.Nodes.ContainsKey(example.Category.ToString())) { int category_index = GetImageIndexForSample(imageListSampleCategories, example.Category.ToString(), String.Empty); treeViewSamples.Nodes.Add(example.Category.ToString(), String.Format("{0} samples", example.Category), category_index, category_index); } int image_index = GetImageIndexForSample(imageListSampleCategories, example.Category.ToString(), example.Subcategory); TreeNode node = new TreeNode(example.Title, image_index, image_index); node.Name = example.Title; node.Tag = new ExampleInfo(type, example); treeViewSamples.Nodes[example.Category.ToString()].Nodes.Add(node); } } } } treeViewSamples.Sort(); } void ActivateNode(TreeNode node) { if (node == null) return; if (node.Tag == null) { if (node.IsExpanded) node.Collapse(); else node.Expand(); } else { tabControlSample.SelectedTab = tabPageOutput; textBoxOutput.Clear(); RunSample(node.TreeView.TopLevelControl, (ExampleInfo)node.Tag); } } static int GetImageIndexForSample(ImageList list, string category, string subcategory) { if (list == null) throw new ArgumentNullException("list"); foreach (string extension in new string[] { "", ".png", ".jpg" }) { string name = subcategory.ToString() + extension; if (list.Images.ContainsKey(name)) return list.Images.IndexOfKey(name); name = category.ToString() + extension; if (list.Images.ContainsKey(name)) return list.Images.IndexOfKey(name); } return -1; } static void RunSample(Control parent, ExampleInfo e) { if (e == null) return; MethodInfo main = e.Example.GetMethod("Main", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) ?? e.Example.GetMethod("Main", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[] { typeof(object), typeof(object) }, null); if (main != null) { try { if (parent != null) { parent.Visible = false; Application.DoEvents(); } Trace.WriteLine(String.Format("Launching sample: \"{0}\"", e.Attribute.Title)); Trace.WriteLine(String.Empty); Thread thread = new Thread((ThreadStart)delegate { try { main.Invoke(null, null); } catch (TargetInvocationException expt) { string ex_info; if (expt.InnerException != null) ex_info = expt.InnerException.ToString(); else ex_info = expt.ToString(); MessageBox.Show(ex_info, "An OpenTK example encountered an error.", MessageBoxButtons.OK, MessageBoxIcon.Warning); Debug.Print(expt.ToString()); } catch (NullReferenceException expt) { MessageBox.Show(expt.ToString(), "The Example launcher failed to load the example.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }); thread.IsBackground = true; thread.Start(); thread.Join(); } finally { if (parent != null) { parent.Visible = true; Application.DoEvents(); } } } else { MessageBox.Show("The selected example does not define a Main method", "Entry point not found", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } // Tries to detect the path that contains the source for the examples. static string FindSourcePath() { string current_dir = Directory.GetCurrentDirectory(); // Typically, our working directory is either "[opentk]/Binaries/OpenTK/[config]" or "[opentk]". // The desired source path is "[opentk]/Source/Examples/[ExampleCategory]" string guess = current_dir; if (CheckPath(ref guess)) return guess; // We were in [opentk] after all guess = current_dir; for (int i = 0; i < 3; i++) { DirectoryInfo dir = Directory.GetParent(guess); if (!dir.Exists) break; guess = dir.FullName; } if (CheckPath(ref guess)) return guess; // We were in [opentk]/Binaries/OpenTK/[config] after all throw new DirectoryNotFoundException(); } static bool CheckPath(ref string path) { string guess = path; if (Directory.Exists(guess)) { guess = Path.Combine(guess, "Source"); if (Directory.Exists(guess)) { guess = Path.Combine(guess, "Examples"); if (Directory.Exists(guess)) { // We are have found [opentk]/Source/Examples path = guess; return true; } } } return false; } #endregion #endregion } } opentk-1.0.20101006/Source/Examples/IExample.cs0000664000175000017500000000111511453131440017611 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace Examples { /// /// This interface is is used by the ExampleLauncher to identify OpenTK examples, /// your applications do not need to implement or use it. /// interface IExample { void Launch(); } } opentk-1.0.20101006/Source/Examples/TextBoxTraceListener.cs0000664000175000017500000000470311453131440022175 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Windows.Forms; using System.Threading; namespace Examples { public class TextBoxTraceListener : TraceListener { TextBox _target; StringSendDelegate _invokeWrite; public TextBoxTraceListener(TextBox target) { _target = target; _invokeWrite = new StringSendDelegate(SendString); } public override void Write(string message) { if (_target.Created) _target.BeginInvoke(_invokeWrite, new object[] { message }); } public override void WriteLine(string message) { if (_target.Created) _target.BeginInvoke(_invokeWrite, new object[] { message + Environment.NewLine }); } private delegate void StringSendDelegate(string message); private void SendString(string message) { if (_target.Created) { // No need to lock text box as this function will only // ever be executed from the UI thread _target.Text += message; } } } } opentk-1.0.20101006/Source/Examples/Properties/0000775000175000017500000000000011453142152017716 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Properties/AssemblyInfo.cs0000664000175000017500000000106711453131434022645 0ustar laneylaneyusing System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("OpenTK.Examples")] [assembly: AssemblyDescription("Examples showcasing OpenTK and OpenGL")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("f236c767-678f-4c20-9282-d051a3c39657")] opentk-1.0.20101006/Source/Examples/Properties/Resources.resx0000664000175000017500000002044611453131434022602 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ../Resources/App.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\OpenAL.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\OpenCL.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\OpenGL.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\OpenGLES.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\OpenTK.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\v1x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\v2x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\v3x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\v4x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a opentk-1.0.20101006/Source/Examples/Properties/Resources.Designer.cs0000664000175000017500000001232611453131434023763 0ustar laneylaney//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace OpenTK.Examples.Properties { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTK.Examples.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } internal static System.Drawing.Icon App { get { object obj = ResourceManager.GetObject("App", resourceCulture); return ((System.Drawing.Icon)(obj)); } } internal static System.Drawing.Bitmap OpenAL { get { object obj = ResourceManager.GetObject("OpenAL", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap OpenCL { get { object obj = ResourceManager.GetObject("OpenCL", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap OpenGL { get { object obj = ResourceManager.GetObject("OpenGL", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap OpenGLES { get { object obj = ResourceManager.GetObject("OpenGLES", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap OpenTK { get { object obj = ResourceManager.GetObject("OpenTK", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap v1x { get { object obj = ResourceManager.GetObject("v1x", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap v2x { get { object obj = ResourceManager.GetObject("v2x", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap v3x { get { object obj = ResourceManager.GetObject("v3x", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } internal static System.Drawing.Bitmap v4x { get { object obj = ResourceManager.GetObject("v4x", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } } } opentk-1.0.20101006/Source/Examples/ExampleBrowser.Designer.cs0000664000175000017500000004371011453131440022612 0ustar laneylaneynamespace Examples { partial class ExampleBrowser { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.treeViewSamples = new System.Windows.Forms.TreeView(); this.contextMenuStripSamples = new System.Windows.Forms.ContextMenuStrip(this.components); this.runSampleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); this.viewDescriptionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewSourceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.imageListSampleCategories = new System.Windows.Forms.ImageList(this.components); this.tabControlSample = new System.Windows.Forms.TabControl(); this.tabDescription = new System.Windows.Forms.TabPage(); this.richTextBoxDescription = new System.Windows.Forms.RichTextBox(); this.contextMenuStripDescription = new System.Windows.Forms.ContextMenuStrip(this.components); this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabSource = new System.Windows.Forms.TabPage(); this.richTextBoxSource = new System.Windows.Forms.RichTextBox(); this.contextMenuStripSource = new System.Windows.Forms.ContextMenuStrip(this.components); this.copyToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.tabPageOutput = new System.Windows.Forms.TabPage(); this.textBoxOutput = new System.Windows.Forms.TextBox(); this.contextMenuStripOutput = new System.Windows.Forms.ContextMenuStrip(this.components); this.copyToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolTipSamples = new System.Windows.Forms.ToolTip(this.components); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); this.contextMenuStripSamples.SuspendLayout(); this.tabControlSample.SuspendLayout(); this.tabDescription.SuspendLayout(); this.contextMenuStripDescription.SuspendLayout(); this.tabSource.SuspendLayout(); this.contextMenuStripSource.SuspendLayout(); this.tabPageOutput.SuspendLayout(); this.contextMenuStripOutput.SuspendLayout(); this.SuspendLayout(); // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.Location = new System.Drawing.Point(0, 0); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 // this.splitContainer1.Panel1.Controls.Add(this.treeViewSamples); // // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.tabControlSample); this.splitContainer1.Size = new System.Drawing.Size(784, 564); this.splitContainer1.SplitterDistance = 261; this.splitContainer1.TabIndex = 0; // // treeViewSamples // this.treeViewSamples.ContextMenuStrip = this.contextMenuStripSamples; this.treeViewSamples.Dock = System.Windows.Forms.DockStyle.Fill; this.treeViewSamples.FullRowSelect = true; this.treeViewSamples.HideSelection = false; this.treeViewSamples.HotTracking = true; this.treeViewSamples.ImageIndex = 0; this.treeViewSamples.ImageList = this.imageListSampleCategories; this.treeViewSamples.Indent = 32; this.treeViewSamples.Location = new System.Drawing.Point(0, 0); this.treeViewSamples.Name = "treeViewSamples"; this.treeViewSamples.SelectedImageIndex = 0; this.treeViewSamples.Size = new System.Drawing.Size(261, 564); this.treeViewSamples.TabIndex = 0; this.toolTipSamples.SetToolTip(this.treeViewSamples, "Right-click a sample for more options."); this.treeViewSamples.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.treeViewSamples_AfterExpand); this.treeViewSamples.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeViewSamples_AfterSelect); this.treeViewSamples.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeViewSamples_NodeMouseDoubleClick); this.treeViewSamples.KeyDown += new System.Windows.Forms.KeyEventHandler(this.treeViewSamples_KeyDown); this.treeViewSamples.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeViewSamples_MouseDown); // // contextMenuStripSamples // this.contextMenuStripSamples.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.runSampleToolStripMenuItem, this.toolStripMenuItem1, this.viewDescriptionToolStripMenuItem, this.viewSourceToolStripMenuItem}); this.contextMenuStripSamples.Name = "contextMenuStripSamples"; this.contextMenuStripSamples.Size = new System.Drawing.Size(170, 76); this.contextMenuStripSamples.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.contextMenuStripSamples_ItemClicked); // // runSampleToolStripMenuItem // this.runSampleToolStripMenuItem.Name = "runSampleToolStripMenuItem"; this.runSampleToolStripMenuItem.Size = new System.Drawing.Size(169, 22); this.runSampleToolStripMenuItem.Text = "&Run Sample"; // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; this.toolStripMenuItem1.Size = new System.Drawing.Size(166, 6); // // viewDescriptionToolStripMenuItem // this.viewDescriptionToolStripMenuItem.Name = "viewDescriptionToolStripMenuItem"; this.viewDescriptionToolStripMenuItem.Size = new System.Drawing.Size(169, 22); this.viewDescriptionToolStripMenuItem.Text = "View Description"; // // viewSourceToolStripMenuItem // this.viewSourceToolStripMenuItem.Name = "viewSourceToolStripMenuItem"; this.viewSourceToolStripMenuItem.Size = new System.Drawing.Size(169, 22); this.viewSourceToolStripMenuItem.Text = "View Source Code"; // // imageListSampleCategories // this.imageListSampleCategories.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; this.imageListSampleCategories.ImageSize = new System.Drawing.Size(35, 35); this.imageListSampleCategories.TransparentColor = System.Drawing.Color.Transparent; // // tabControlSample // this.tabControlSample.Controls.Add(this.tabDescription); this.tabControlSample.Controls.Add(this.tabSource); this.tabControlSample.Controls.Add(this.tabPageOutput); this.tabControlSample.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlSample.Location = new System.Drawing.Point(0, 0); this.tabControlSample.Name = "tabControlSample"; this.tabControlSample.SelectedIndex = 0; this.tabControlSample.Size = new System.Drawing.Size(519, 564); this.tabControlSample.TabIndex = 0; // // tabDescription // this.tabDescription.Controls.Add(this.richTextBoxDescription); this.tabDescription.Location = new System.Drawing.Point(4, 22); this.tabDescription.Name = "tabDescription"; this.tabDescription.Padding = new System.Windows.Forms.Padding(3); this.tabDescription.Size = new System.Drawing.Size(511, 538); this.tabDescription.TabIndex = 0; this.tabDescription.Text = "Description"; this.tabDescription.UseVisualStyleBackColor = true; // // richTextBoxDescription // this.richTextBoxDescription.ContextMenuStrip = this.contextMenuStripDescription; this.richTextBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill; this.richTextBoxDescription.Location = new System.Drawing.Point(3, 3); this.richTextBoxDescription.Name = "richTextBoxDescription"; this.richTextBoxDescription.ReadOnly = true; this.richTextBoxDescription.Size = new System.Drawing.Size(505, 532); this.richTextBoxDescription.TabIndex = 0; this.richTextBoxDescription.Text = ""; this.richTextBoxDescription.MouseDown += new System.Windows.Forms.MouseEventHandler(this.richTextBoxDescription_MouseDown); // // contextMenuStripDescription // this.contextMenuStripDescription.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.copyToolStripMenuItem}); this.contextMenuStripDescription.Name = "contextMenuStripDescription"; this.contextMenuStripDescription.Size = new System.Drawing.Size(103, 26); this.contextMenuStripDescription.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.contextMenuStripDescription_ItemClicked); // // copyToolStripMenuItem // this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; this.copyToolStripMenuItem.Size = new System.Drawing.Size(102, 22); this.copyToolStripMenuItem.Text = "&Copy"; // // tabSource // this.tabSource.Controls.Add(this.richTextBoxSource); this.tabSource.Location = new System.Drawing.Point(4, 22); this.tabSource.Name = "tabSource"; this.tabSource.Padding = new System.Windows.Forms.Padding(3); this.tabSource.Size = new System.Drawing.Size(511, 538); this.tabSource.TabIndex = 1; this.tabSource.Text = "Source Code"; this.tabSource.UseVisualStyleBackColor = true; // // richTextBoxSource // this.richTextBoxSource.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(216)))), ((int)(((byte)(242)))), ((int)(((byte)(240))))); this.richTextBoxSource.ContextMenuStrip = this.contextMenuStripSource; this.richTextBoxSource.Dock = System.Windows.Forms.DockStyle.Fill; this.richTextBoxSource.Location = new System.Drawing.Point(3, 3); this.richTextBoxSource.Name = "richTextBoxSource"; this.richTextBoxSource.ReadOnly = true; this.richTextBoxSource.Size = new System.Drawing.Size(505, 532); this.richTextBoxSource.TabIndex = 0; this.richTextBoxSource.Text = ""; this.richTextBoxSource.MouseDown += new System.Windows.Forms.MouseEventHandler(this.richTextBoxSource_MouseDown); // // contextMenuStripSource // this.contextMenuStripSource.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.copyToolStripMenuItem1}); this.contextMenuStripSource.Name = "contextMenuStripSource"; this.contextMenuStripSource.Size = new System.Drawing.Size(103, 26); this.contextMenuStripSource.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.contextMenuStripSource_ItemClicked); // // copyToolStripMenuItem1 // this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1"; this.copyToolStripMenuItem1.Size = new System.Drawing.Size(102, 22); this.copyToolStripMenuItem1.Text = "&Copy"; // // tabPageOutput // this.tabPageOutput.Controls.Add(this.textBoxOutput); this.tabPageOutput.Location = new System.Drawing.Point(4, 22); this.tabPageOutput.Name = "tabPageOutput"; this.tabPageOutput.Padding = new System.Windows.Forms.Padding(3); this.tabPageOutput.Size = new System.Drawing.Size(511, 538); this.tabPageOutput.TabIndex = 2; this.tabPageOutput.Text = "Output"; this.tabPageOutput.UseVisualStyleBackColor = true; // // textBoxOutput // this.textBoxOutput.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(216)))), ((int)(((byte)(242)))), ((int)(((byte)(240))))); this.textBoxOutput.ContextMenuStrip = this.contextMenuStripOutput; this.textBoxOutput.Dock = System.Windows.Forms.DockStyle.Fill; this.textBoxOutput.Location = new System.Drawing.Point(3, 3); this.textBoxOutput.MaxLength = 1048576; this.textBoxOutput.Multiline = true; this.textBoxOutput.Name = "textBoxOutput"; this.textBoxOutput.ReadOnly = true; this.textBoxOutput.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.textBoxOutput.Size = new System.Drawing.Size(505, 532); this.textBoxOutput.TabIndex = 0; // // contextMenuStripOutput // this.contextMenuStripOutput.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.copyToolStripMenuItem2}); this.contextMenuStripOutput.Name = "contextMenuStripOutput"; this.contextMenuStripOutput.Size = new System.Drawing.Size(103, 26); // // copyToolStripMenuItem2 // this.copyToolStripMenuItem2.Name = "copyToolStripMenuItem2"; this.copyToolStripMenuItem2.Size = new System.Drawing.Size(102, 22); this.copyToolStripMenuItem2.Text = "&Copy"; // // ExampleBrowser // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(784, 564); this.Controls.Add(this.splitContainer1); this.Name = "ExampleBrowser"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "The Open Toolkit Sample Browser"; this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.ResumeLayout(false); this.contextMenuStripSamples.ResumeLayout(false); this.tabControlSample.ResumeLayout(false); this.tabDescription.ResumeLayout(false); this.contextMenuStripDescription.ResumeLayout(false); this.tabSource.ResumeLayout(false); this.contextMenuStripSource.ResumeLayout(false); this.tabPageOutput.ResumeLayout(false); this.tabPageOutput.PerformLayout(); this.contextMenuStripOutput.ResumeLayout(false); this.ResumeLayout(false); } #endregion private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.TabControl tabControlSample; private System.Windows.Forms.TabPage tabDescription; private System.Windows.Forms.TabPage tabSource; private System.Windows.Forms.RichTextBox richTextBoxDescription; private System.Windows.Forms.RichTextBox richTextBoxSource; private System.Windows.Forms.TreeView treeViewSamples; private System.Windows.Forms.ImageList imageListSampleCategories; private System.Windows.Forms.ContextMenuStrip contextMenuStripDescription; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip contextMenuStripSource; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem1; private System.Windows.Forms.ContextMenuStrip contextMenuStripSamples; private System.Windows.Forms.ToolStripMenuItem runSampleToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem viewDescriptionToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem viewSourceToolStripMenuItem; private System.Windows.Forms.ToolTip toolTipSamples; private System.Windows.Forms.TabPage tabPageOutput; private System.Windows.Forms.TextBox textBoxOutput; private System.Windows.Forms.ContextMenuStrip contextMenuStripOutput; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem2; } }opentk-1.0.20101006/Source/Examples/OpenGL/0000775000175000017500000000000011453142152016706 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGL/1.x/0000775000175000017500000000000011453142152017314 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGL/1.x/Picking.rtf0000664000175000017500000000253311453131434021421 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates a way to select 3d objects from a scene using the mouse. In OpenGL nomenclature, this process is called "picking".\par \par \b\fs28 Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par The mouse pointer picks items automatically. Move the mouse to pick a different item.\par \par \b\fs28 Implementation\par \b0\fs22\par Every object in the scene is assigned a unique id by "coloring" all of its vertices with the same color. The color is generated by encoding the Int32 id into a 4-byte Rgba value.\par \par A first rendering pass clears the screen to Int32.MaxValue, disables all textures and shaders and renders the scene using the aforementioned coloring scheme. As soon as this rendering is complete, we use GL.ReadPixels() to retrieve the pixel below the mouse cursor. By reversing the encoding process, we convert the Rgba value of the pixel back into the unique Int32 id.\par \par A second rendering pass clears the screen once more and proceeds to render the scene normally (using all necessary textures and shaders). The user never sees the results of the first rendering pass!\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/ImmediateMode.rtf0000664000175000017500000000264311453131434022542 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;\red0\green0\blue255;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates the concept of "immediate mode" rendering, which was introduced in OpenGL 1.0.\par \par Immediate mode is the simplest way to render geometry in OpenGL. It is also the slowest by far, which makes it unsuitable for applications concerned about performance.\par \par Please note that immediate mode rendering is no longer supported in OpenGL 3.1 or higher.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par Immediate mode rendering takes place within a GL.Begin()-GL.End() region. GL.Begin() takes a BeginMode parameter than marks the kind of primitives to emit (points, lines, triangles, quads); GL.Vertex, GL.Normal, GL.Color, GL.TexCoords emit the specified vertex attribute; GL.End() marks the end of the immediate mode region.\par \par See {\field{\*\fldinst{HYPERLINK "http://www.opentk.com/doc/chapter/2/opengl/geometry/primitives"}}{\fldrslt{\ul\cf2 http://www.opentk.com/doc/chapter/2/opengl/geometry/primitives}}}\f0\fs22 for more information on geometric primitives.\par \par The DrawCube method shows how to render a simple, colored cube using immediate mode.\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/DisplayLists.rtf0000664000175000017500000000245011453131434022457 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates the concept of "display lists", which was introduced in OpenGL 1.1.\par \par Display lists provide the fastest way to display static geometry (even faster than vertex buffer objects in some cases). On the other hand, geometry built into a display list cannot be modified after the fact.\par \par Please note that display lists are not supported in OpenGL 3.1 or higher.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par 1. The OnLoad event handler builds the display lists. OpenGL commands placed within a GL.NewList()-GL.EndList() region are recorded into the display list. (Note that some OpenGL commands cannot be recorded - consult the OpenGL reference for more information).\par \par 2. The OnRenderFrame event handler uses GL.CallLists() to render the display lists. This command takes an array of valid display list ids and "replays" the commands recorded in each list.\par \par 3. The OnUnload event handler uses GL.DeleteLists() to clean up the display lists.\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VertexArrays.cs0000664000175000017500000001471511453131434022313 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Threading; using OpenTK; using System.Diagnostics; using OpenTK.Input; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.Tutorial { /// /// Demonstrates Vertex Arrays (in system memory). Example is incomplete (documentation). /// Broken since release 0.3.12. /// [Example("Vertex Arrays", ExampleCategory.OpenGL, "1.x", 5, false)] class T02_Vertex_Arrays : GameWindow { float rotation_speed = 3.0f; float angle = 0.0f; Shapes.Shape shape = new Examples.Shapes.Plane(16, 16, 2.0f, 2.0f); //TextureFont sans = new TextureFont(new Font(FontFamily.GenericSansSerif, 32, FontStyle.Regular, // GraphicsUnit.Pixel)); #region Constructor public T02_Vertex_Arrays() : base(800, 600) { //this.VSync = VSyncMode.On; this.Keyboard.KeyUp += Keyboard_KeyUp; } void Keyboard_KeyUp(object sender, KeyboardKeyEventArgs e) { // F4 cycles between available VSync modes. if (e.Key == Key.F4) { if (this.VSync == VSyncMode.Off) this.VSync = VSyncMode.On; else if (this.VSync == VSyncMode.On) this.VSync = VSyncMode.Adaptive; else this.VSync = VSyncMode.Off; } } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { GL.Enable(EnableCap.Texture2D); GL.ClearColor(Color.CadetBlue); GL.Enable(EnableCap.DepthTest); GL.EnableClientState(EnableCap.VertexArray); //GL.EnableClientState(GL.Enums.EnableCap.COLOR_ARRAY); GL.VertexPointer(3, VertexPointerType.Float, 0, shape.Vertices); //GL.ColorPointer(4, GL.Enums.ColorPointerType.UNSIGNED_BYTE, 0, shape.Colors); } #endregion #region OnResize /// /// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(0, 0, Width, Height); double aspect_ratio = Width / (double)Height; OpenTK.Matrix4 perspective = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, (float)aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perspective); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { // Escape quits. if (Keyboard[Key.Escape]) { this.Exit(); return; } if (Keyboard[Key.F11]) if (WindowState != WindowState.Fullscreen) WindowState = WindowState.Fullscreen; else WindowState = WindowState.Normal; // Plus/Minus change the target render frequency. // PageUp/PageDown change the target update frequency. if (Keyboard[Key.Plus] || Keyboard[Key.KeypadAdd]) TargetRenderFrequency++; if (Keyboard[Key.Minus] || Keyboard[Key.KeypadSubtract]) TargetRenderFrequency--; if (Keyboard[Key.PageUp]) TargetUpdateFrequency++; if (Keyboard[Key.PageDown]) TargetUpdateFrequency--; // Right/Left control the rotation speed and direction. if (Keyboard[Key.Right]) rotation_speed += 0.5f; if (Keyboard[Key.Left]) rotation_speed -= 0.5f; } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); angle += rotation_speed * (float)e.Time; if (angle >= 360.0f) angle -= 360.0f; GL.Rotate(angle, 0.0f, 1.0f, 0.0f); GL.DrawElements(BeginMode.Triangles, shape.Indices.Length, DrawElementsType.UnsignedInt, shape.Indices); //GL.Begin(GL.Enums.BeginMode.TRIANGLES); //GL.Vertex3(-1.0, -1.0, 5.0); //GL.Vertex3(1.0, -1.0, 5.0); //GL.Vertex3(1.0, 1.0, 5.0); //GL.End(); GL.PushMatrix(); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 1.0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); //GL.Translate(0.7f, 1.0f, 0.0f); //sans.Print(String.format("{0:f1}", RenderFrequency)); GL.PopMatrix(); SwapBuffers(); } #endregion #region public void Launch() /// /// Launches this example. /// /// /// Provides a simple way for the example launcher to launch the examples. /// public void Launch() { // Lock UpdateFrame rate at 30Hz and RenderFrame rate 85Hz. //Run(60.0, 85.0); Run(30.0, 85.0); } #endregion public static readonly int order = 2; } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VBOStatic.cs0000664000175000017500000001572211453131434021451 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion #region --- Using directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Threading; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Platform; using System.Drawing; #endregion namespace Examples.Tutorial { [Example("VBO Static", ExampleCategory.OpenGL, "1.x", 3, Documentation="VBOStatic")] public class T08_VBO : GameWindow { const float rotation_speed = 180.0f; float angle; struct Vbo { public int VboID, EboID, NumElements; } Vbo[] vbo = new Vbo[2]; VertexPositionColor[] CubeVertices = new VertexPositionColor[] { new VertexPositionColor(-1.0f, -1.0f, 1.0f, Color.DarkRed), new VertexPositionColor( 1.0f, -1.0f, 1.0f, Color.DarkRed), new VertexPositionColor( 1.0f, 1.0f, 1.0f, Color.Gold), new VertexPositionColor(-1.0f, 1.0f, 1.0f, Color.Gold), new VertexPositionColor(-1.0f, -1.0f, -1.0f, Color.DarkRed), new VertexPositionColor( 1.0f, -1.0f, -1.0f, Color.DarkRed), new VertexPositionColor( 1.0f, 1.0f, -1.0f, Color.Gold), new VertexPositionColor(-1.0f, 1.0f, -1.0f, Color.Gold) }; readonly short[] CubeElements = new short[] { 0, 1, 2, 2, 3, 0, // front face 3, 2, 6, 6, 7, 3, // top face 7, 6, 5, 5, 4, 7, // back face 4, 0, 3, 3, 7, 4, // left face 0, 1, 5, 5, 4, 0, // bottom face 1, 5, 6, 6, 2, 1, // right face }; public T08_VBO() : base(800, 600) { } protected override void OnLoad(EventArgs e) { base.OnLoad(e); string version = GL.GetString(StringName.Version); int major = (int)version[0]; int minor = (int)version[2]; if (major <= 1 && minor < 5) { System.Windows.Forms.MessageBox.Show("You need at least OpenGL 1.5 to run this example. Aborting.", "VBOs not supported", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); this.Exit(); } GL.ClearColor(System.Drawing.Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); vbo[0] = LoadVBO(CubeVertices, CubeElements); vbo[1] = LoadVBO(CubeVertices, CubeElements); } protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(0, 0, Width, Height); float aspect_ratio = Width / (float)Height; Matrix4 perpective = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perpective); } protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[OpenTK.Input.Key.Escape]) this.Exit(); } protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); angle += rotation_speed * (float)e.Time; GL.Rotate(angle, 0.0f, 1.0f, 0.0f); Draw(vbo[0]); SwapBuffers(); } Vbo LoadVBO(TVertex[] vertices, short[] elements) where TVertex : struct { Vbo handle = new Vbo(); int size; // To create a VBO: // 1) Generate the buffer handles for the vertex and element buffers. // 2) Bind the vertex buffer handle and upload your vertex data. Check that the buffer was uploaded correctly. // 3) Bind the element buffer handle and upload your element data. Check that the buffer was uploaded correctly. GL.GenBuffers(1, out handle.VboID); GL.BindBuffer(BufferTarget.ArrayBuffer, handle.VboID); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(vertices.Length * BlittableValueType.StrideOf(vertices)), vertices, BufferUsageHint.StaticDraw); GL.GetBufferParameter(BufferTarget.ArrayBuffer, BufferParameterName.BufferSize, out size); if (vertices.Length * BlittableValueType.StrideOf(vertices) != size) throw new ApplicationException("Vertex data not uploaded correctly"); GL.GenBuffers(1, out handle.EboID); GL.BindBuffer(BufferTarget.ElementArrayBuffer, handle.EboID); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(elements.Length * sizeof(short)), elements, BufferUsageHint.StaticDraw); GL.GetBufferParameter(BufferTarget.ElementArrayBuffer, BufferParameterName.BufferSize, out size); if (elements.Length * sizeof(short) != size) throw new ApplicationException("Element data not uploaded correctly"); handle.NumElements = elements.Length; return handle; } void Draw(Vbo handle) { // To draw a VBO: // 1) Ensure that the VertexArray client state is enabled. // 2) Bind the vertex and element buffer handles. // 3) Set up the data pointers (vertex, normal, color) according to your vertex format. // 4) Call DrawElements. (Note: the last parameter is an offset into the element buffer // and will usually be IntPtr.Zero). GL.EnableClientState(EnableCap.ColorArray); GL.EnableClientState(EnableCap.VertexArray); GL.BindBuffer(BufferTarget.ArrayBuffer, handle.VboID); GL.BindBuffer(BufferTarget.ElementArrayBuffer, handle.EboID); GL.VertexPointer(3, VertexPointerType.Float, BlittableValueType.StrideOf(CubeVertices), new IntPtr(0)); GL.ColorPointer(4, ColorPointerType.UnsignedByte, BlittableValueType.StrideOf(CubeVertices), new IntPtr(12)); GL.DrawElements(BeginMode.Triangles, handle.NumElements, DrawElementsType.UnsignedShort, IntPtr.Zero); } /// /// Entry point of this example. /// [STAThread] public static void Main() { using (T08_VBO example = new T08_VBO()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VBODynamic.cs0000664000175000017500000001743711453131434021613 0ustar laneylaneyusing System; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { [Example("VBO Dynamic", ExampleCategory.OpenGL, "1.x", 4, Documentation = "VBODynamic")] class T09_VBO_Dynamic: GameWindow { /// Creates a 800x600 window with the specified title. public T09_VBO_Dynamic( ) : base( 800, 600 ) { this.VSync = VSyncMode.Off; } #region Particles static int MaxParticleCount = 2000; int VisibleParticleCount; VertexC4ubV3f[] VBO = new VertexC4ubV3f[MaxParticleCount]; ParticleAttribut[] ParticleAttributes = new ParticleAttribut[MaxParticleCount]; // this struct is used for drawing struct VertexC4ubV3f { public byte R, G, B, A; public Vector3 Position; public static int SizeInBytes = 16; } // this struct is used for updates struct ParticleAttribut { public Vector3 Direction; public uint Age; // more stuff could be here: Rotation, Radius, whatever } uint VBOHandle; #endregion Particles /// Load resources here. /// Not used. protected override void OnLoad( EventArgs e ) { GL.ClearColor( .1f, 0f, .1f, 0f ); GL.Enable( EnableCap.DepthTest ); // Setup parameters for Points GL.PointSize( 5f ); GL.Enable( EnableCap.PointSmooth ); GL.Hint( HintTarget.PointSmoothHint, HintMode.Nicest ); // Setup VBO state GL.EnableClientState( EnableCap.ColorArray ); GL.EnableClientState( EnableCap.VertexArray ); GL.GenBuffers( 1, out VBOHandle ); // Since there's only 1 VBO in the app, might aswell setup here. GL.BindBuffer( BufferTarget.ArrayBuffer, VBOHandle ); GL.ColorPointer( 4, ColorPointerType.UnsignedByte, VertexC4ubV3f.SizeInBytes, (IntPtr) 0 ); GL.VertexPointer( 3, VertexPointerType.Float, VertexC4ubV3f.SizeInBytes, (IntPtr) (4*sizeof(byte)) ); Random rnd = new Random( ); Vector3 temp = Vector3.Zero; // generate some random stuff for the particle system for ( uint i = 0 ; i < MaxParticleCount ; i++ ) { VBO[i].R = (byte) rnd.Next( 0, 256 ); VBO[i].G = (byte) rnd.Next( 0, 256 ); VBO[i].B = (byte) rnd.Next( 0, 256 ); VBO[i].A = (byte) rnd.Next( 0, 256 ); // isn't actually used VBO[i].Position = Vector3.Zero; // all particles are born at the origin // generate direction vector in the range [-0.25f...+0.25f] // that's slow enough so you can see particles 'disappear' when they are respawned temp.X = (float) ( ( rnd.NextDouble( ) - 0.5 ) * 0.5f ); temp.Y = (float) ( ( rnd.NextDouble( ) - 0.5 ) * 0.5f ); temp.Z = (float) ( ( rnd.NextDouble( ) - 0.5 ) * 0.5f ); ParticleAttributes[i].Direction = temp; // copy ParticleAttributes[i].Age = 0; } VisibleParticleCount = 0; } protected override void OnUnload(EventArgs e) { GL.DeleteBuffers( 1, ref VBOHandle ); } /// /// Called when your window is resized. Set your viewport here. It is also /// a good place to set up your projection matrix (which probably changes /// along when the aspect ratio of your window). /// /// Contains information on the new Width and Size of the GameWindow. protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); GL.MatrixMode(MatrixMode.Projection); Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 50.0f); GL.LoadMatrix(ref p); GL.MatrixMode(MatrixMode.Modelview); Matrix4 mv = Matrix4.LookAt(Vector3.UnitZ, Vector3.Zero, Vector3.UnitY); GL.LoadMatrix(ref mv); } /// /// Called when it is time to setup the next frame. Add you game logic here. /// /// Contains timing information for framerate independent logic. protected override void OnUpdateFrame( FrameEventArgs e ) { if ( Keyboard[Key.Escape] ) { Exit( ); } // will update particles here. When using a Physics SDK, it's update rate is much higher than // the framerate and it would be a waste of cycles copying to the VBO more often than drawing it. if ( VisibleParticleCount < MaxParticleCount ) VisibleParticleCount++; Vector3 temp; for ( int i = MaxParticleCount - VisibleParticleCount ; i < MaxParticleCount ; i++ ) { if (ParticleAttributes[i].Age >= MaxParticleCount) { // reset particle ParticleAttributes[i].Age = 0; VBO[i].Position = Vector3.Zero; } else { ParticleAttributes[i].Age += (uint)Math.Max(ParticleAttributes[i].Direction.LengthFast * 10, 1); Vector3.Multiply( ref ParticleAttributes[i].Direction, (float) e.Time, out temp ); Vector3.Add( ref VBO[i].Position, ref temp, out VBO[i].Position ); } } } /// /// Called when it is time to render the next frame. Add your rendering code here. /// /// Contains timing information. protected override void OnRenderFrame( FrameEventArgs e ) { this.Title = VisibleParticleCount + " Points. FPS: " + string.Format( "{0:F}", 1.0 / e.Time ); GL.Clear( ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit ); GL.PushMatrix( ); GL.Translate( 0f, 0f, -5f ); // Tell OpenGL to discard old VBO when done drawing it and reserve memory _now_ for a new buffer. // without this, GL would wait until draw operations on old VBO are complete before writing to it GL.BufferData( BufferTarget.ArrayBuffer, (IntPtr) ( VertexC4ubV3f.SizeInBytes * MaxParticleCount ), IntPtr.Zero, BufferUsageHint.StreamDraw ); // Fill newly allocated buffer GL.BufferData( BufferTarget.ArrayBuffer, (IntPtr) ( VertexC4ubV3f.SizeInBytes * MaxParticleCount ), VBO, BufferUsageHint.StreamDraw ); // Only draw particles that are alive GL.DrawArrays( BeginMode.Points, MaxParticleCount - VisibleParticleCount, VisibleParticleCount ); GL.PopMatrix( ); SwapBuffers( ); } /// /// The main entry point for the application. /// [STAThread] static void Main() { // The 'using' idiom guarantees proper resource cleanup. // We request 30 UpdateFrame events per second, and unlimited // RenderFrame events (as fast as the computer can handle). using (T09_VBO_Dynamic example = new T09_VBO_Dynamic()) { Utilities.SetWindowTitle(example); example.Run(60.0, 0.0); } } } }opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VertexLighting.cs0000664000175000017500000001425411453131434022615 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK; using OpenTK.Graphics.OpenGL; using Examples.Shapes; namespace Examples.Tutorial { /// /// Demonstrates fixed-function OpenGL lighting. Example is incomplete (documentation). /// [Example("Vertex Lighting", ExampleCategory.OpenGL, "1.x", false)] public class T04_Vertex_Lighting : GameWindow { float x_angle, zoom; Shape shape = new Plane(16, 16, 4.0f, 4.0f); #region Constructor public T04_Vertex_Lighting() : base(800, 600) { } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); //GL.Enable(GL.Enums.EnableCap.CULL_FACE); GL.EnableClientState(EnableCap.VertexArray); GL.EnableClientState(EnableCap.NormalArray); GL.VertexPointer(3, VertexPointerType.Float, 0, shape.Vertices); GL.NormalPointer(NormalPointerType.Float, 0, shape.Normals); // Enable Light 0 and set its parameters. GL.Light(LightName.Light0, LightParameter.Position, new float[] { 1.0f, 1.0f, -0.5f }); GL.Light(LightName.Light0, LightParameter.Ambient, new float[] { 0.3f, 0.3f, 0.3f, 1.0f }); GL.Light(LightName.Light0, LightParameter.Diffuse, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }); GL.Light(LightName.Light0, LightParameter.Specular, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }); GL.Light(LightName.Light0, LightParameter.SpotExponent, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }); GL.LightModel(LightModelParameter.LightModelAmbient, new float[] { 0.2f, 0.2f, 0.2f, 1.0f }); GL.LightModel(LightModelParameter.LightModelTwoSide, 1); GL.LightModel(LightModelParameter.LightModelLocalViewer, 1); GL.Enable(EnableCap.Lighting); GL.Enable(EnableCap.Light0); // Use GL.Material to set your object's material parameters. GL.Material(MaterialFace.Front, MaterialParameter.Ambient, new float[] { 0.3f, 0.3f, 0.3f, 1.0f }); GL.Material(MaterialFace.Front, MaterialParameter.Diffuse, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }); GL.Material(MaterialFace.Front, MaterialParameter.Specular, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }); GL.Material(MaterialFace.Front, MaterialParameter.Emission, new float[] { 0.0f, 0.0f, 0.0f, 1.0f }); } #endregion #region OnResize /// /// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(0, 0, Width, Height); float aspect_ratio = Width / (float)Height; Matrix4 perpective = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perpective); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); return; } if (Keyboard[OpenTK.Input.Key.F11]) if (WindowState != WindowState.Fullscreen) WindowState = WindowState.Fullscreen; else WindowState = WindowState.Normal; if (Mouse[OpenTK.Input.MouseButton.Left]) x_angle = Mouse.X; else x_angle += 0.5f; zoom = Mouse.Wheel * 0.5f; // Mouse.Wheel is broken on both Linux and Windows. // Do not leave x_angle drift too far away, as this will cause inaccuracies. if (x_angle > 360.0f) x_angle -= 360.0f; else if (x_angle < -360.0f) x_angle += 360.0f; } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 lookat = Matrix4.LookAt(0, 0, -7.5f + zoom, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); GL.Rotate(x_angle, 0.0f, 1.0f, 0.0f); GL.Begin(BeginMode.Triangles); foreach (int index in shape.Indices) { GL.Normal3(shape.Normals[index]); GL.Vertex3(shape.Vertices[index]); } GL.End(); SwapBuffers(); } #endregion #region public void Launch() /// /// Launches this example. /// /// /// Provides a simple way for the example launcher to launch the examples. /// public static void Main() { using (T04_Vertex_Lighting example = new T04_Vertex_Lighting()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/Textures.rtf0000664000175000017500000000327211453131434021661 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates how to load and display a simple texture.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par 1. The OnLoad event handler constructs a new texture object with GL.GenTextures(). It then uses System.Drawing.Bitmap to load an image from the hard drive and uploads the image data to OpenGL via GL.TexImage2D().\par \par 2. The OnRenderFrame event handler uses immediate mode to render a simple textured quad.\par \par Note 1: System.Drawing.Bitmap stores its image data in BGRA order. This means we must use Bgra as our PixelFormat in GL.TexImage2D().\par \par Note 2: In GL.TexImage2D(), PixelInternalFormat defines the storage format of texels ("texel elements") in video memory. PixelFormat defines the format of the image data we will upload to video memory. If these do not match, OpenGL will automatically convert our image data from PixelFormat to PixelInternalFormat, which will incure a slight performance penalty.\par \par Note 3: In this sample, we explicitly disable mipmaps by setting TextureMinFilter to Linear (via GL.TexParameter()). Alternatively, we could enable mipmaps (set TextureMinFilter to LinearMipmapNearest or LinearMipmapLinear) and generate mipmaps for our source image using GL.GenerateMipmap().\par \par Note 4: Do not forget to enable texturing via GL.Enable(EnableCap.Texture2D) prior to rendering. Without this, textures will show up white!\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/DisplayLists.cs0000664000175000017500000001201711453131434022271 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion #region --- Using Directives --- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using OpenTK; using OpenTK.Graphics.OpenGL; #endregion --- Using Directives --- namespace Examples.Tutorial { [Example("Display Lists", ExampleCategory.OpenGL, "1.x", 2, Documentation="DisplayLists")] public class T07_Display_Lists_Flower : GameWindow { #region --- Fields --- const int num_lists = 13; int[] lists = new int[num_lists]; #endregion #region --- Constructor --- public T07_Display_Lists_Flower() : base(800, 600) { } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); // Build some display lists. int first_list = GL.GenLists(num_lists); float c = 0; for (int i = 0; i < num_lists; i++) { lists[i] = first_list + i; GL.NewList(first_list + i, ListMode.Compile); GL.Color3(0.3 + 0.7 * c * c, 0.3 + 1.4 * c * c, 0.7 - 0.7 * c * c); c += 1 / (float)num_lists; GL.PushMatrix(); GL.Rotate(c * 360.0f, 0.0, 0.0, 1.0); GL.Translate(5.0, 0.0, 0.0); GL.Begin(BeginMode.Quads); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.End(); GL.PopMatrix(); GL.EndList(); } } #endregion #region OnUnload protected override void OnUnload(EventArgs e) { GL.DeleteLists(lists[0], num_lists); } #endregion #region OnResize protected override void OnResize(EventArgs e) { GL.Viewport(ClientRectangle); float aspect = this.ClientSize.Width / (float)this.ClientSize.Height; Matrix4 projection_matrix; Matrix4.CreatePerspectiveFieldOfView((float)Math.PI / 4, aspect, 1, 64, out projection_matrix); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref projection_matrix); } #endregion #region OnUpdateFrame protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); } } #endregion #region OnRenderFrame protected override void OnRenderFrame(FrameEventArgs e) { Matrix4 lookat = Matrix4.LookAt(0, 0, 16, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.CallLists(num_lists, ListNameType.Int, lists); SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (T07_Display_Lists_Flower example = new T07_Display_Lists_Flower()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } }opentk-1.0.20101006/Source/Examples/OpenGL/1.x/FramebufferObject.rtf0000664000175000017500000000165211453131434023411 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0\deflang1032\deflangfe1032{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fswiss\fcharset0 Arial;}{\f2\fswiss\fcharset161{\*\fname Arial;}Arial Greek;}} {\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\qc\lang1033\b\f0\fs32 Framebuffer Objects\par \b0\f1\fs20\par \lang1032\f2\par \pard\lang1033\b\f1\fs24 Overview\par \par \b0\fs22 This sample demonstrates Framebuffer objects (FBOs) via the EXT_framebuffer_object extension. FBOs provide an efficient method to perform off-screen rendering.\par \par \par \b\fs24 Requirements\b0\fs22\par \par You may use FBOs if you create an OpenGL 3.0 context or if the EXT_framebuffer_object extension string is present.\par \par In the first case, FBOs are exposed as core functions (GL). In the second case, FBOs are exposed via extensions (GL.Ext).\par \par \par \b\f0\fs24 Usage\par \par \b0\f1\fs22 [Todo]\par \lang1032\f2\fs20\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/Textures.cs0000664000175000017500000001143111453131434021467 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.IO; using System.Drawing; using System.Drawing.Imaging; using OpenTK; using OpenTK.Graphics.OpenGL; using OpenTK.Graphics; namespace Examples.Tutorial { /// /// Demonstrates simple OpenGL Texturing. /// [Example("Texture mapping", ExampleCategory.OpenGL, "1.x", 5, Documentation="Textures")] public class Textures : GameWindow { Bitmap bitmap = new Bitmap("Data/Textures/logo.jpg"); int texture; public Textures() : base(800, 600) { } #region OnLoad /// /// Setup OpenGL and load resources here. /// /// Not used. protected override void OnLoad(EventArgs e) { GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.Texture2D); GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest); GL.GenTextures(1, out texture); GL.BindTexture(TextureTarget.Texture2D, texture); BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); bitmap.UnlockBits(data); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); } #endregion #region OnUnload protected override void OnUnload(EventArgs e) { GL.DeleteTextures(1, ref texture); } #endregion #region OnResize /// /// Respond to resize events here. /// /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 4.0); } #endregion #region OnUpdateFrame /// /// Add your game logic here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) this.Exit(); } #endregion #region OnRenderFrame /// /// Add your game rendering code here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); GL.BindTexture(TextureTarget.Texture2D, texture); GL.Begin(BeginMode.Quads); GL.TexCoord2(0.0f, 1.0f); GL.Vertex2(-0.6f, -0.4f); GL.TexCoord2(1.0f, 1.0f); GL.Vertex2(0.6f, -0.4f); GL.TexCoord2(1.0f, 0.0f); GL.Vertex2(0.6f, 0.4f); GL.TexCoord2(0.0f, 0.0f); GL.Vertex2(-0.6f, 0.4f); GL.End(); SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (Textures example = new Textures()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)typeof(Textures).GetCustomAttributes(false)[0]); example.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VBODynamic.rtf0000664000175000017500000000523611453131434021773 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates how to modify the data in an existing VBO.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par This sample builds on the concepts of the "VBO Static" sample, so please refer to that for instructions on how to load and render a VBO.\par \par OpenGL defines nine different BufferUsageHints for VBO that can improve rendering performance when used correctly. Each hint consists of two parts:\par 1. update frequency, which can be one of "static", "dynamic" or "stream", and\par 2. buffer usage, which can be one of "draw", "read" or "copy".\par \par Update frequency defines how often the buffer will be updated: static means that the buffer is modified infrequently or not at all; dynamic means that parts of it may be modified frequently; stream means that the whole buffer is discarded and recreated frequently.\par \par Buffer usage defines how the buffer will be used: draw means that the buffer will be used to draw geometry; read means that the buffer will be used to read data from OpenGL back into system memory (via GL.GetBufferSubData or GL.MapBuffer); copy means that the buffer will hold intermediate results that will be copied from/to other OpenGL buffers.\par \par When uploading data to a VBO via GL.BufferData, you should specify the BufferUsageHint that most closely resembles the usage pattern for this buffer. For example, if you are planning to use this buffer for rendering unchanging (or mostly unchanging) geometry you should specify BufferUsageHint.StaticDraw. If you are planning to read back results that change every frame, you should use BufferUsageHint.StreamRead.\par \par Note that this is only a hint that might allow the driver to optimize performance. It doesn't prevent you from using the buffer in a way opposed to the hint (for example, reading back data from a StaticDraw buffer). However, doing so might result in a performance penalty.\par \par In this sample, we use a StreamDraw buffer that is recreated every frame (see OnRenderFrame method). Since OpenGL might not have finished drawing from the buffer when we try to update its data, we first call GL.BufferData(..., IntPtr.Zero) to allocate a new buffer and upload the new data to this. Without this optimization, OpenGL would have to block until the old buffer would finish drawing; this optimization allows the drawing and the data upload to go on at the same time.\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/ImmediateMode.cs0000664000175000017500000001247311453131434022356 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion #region --- Using Directives --- using System; using System.Collections.Generic; using System.Windows.Forms; using System.Threading; using System.Drawing; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; #endregion namespace Examples.Tutorial { /// /// Demonstrates immediate mode rendering. /// [Example("Immediate mode", ExampleCategory.OpenGL, "1.x", 1, Documentation="ImmediateMode")] public class T03_Immediate_Mode_Cube : GameWindow { #region --- Fields --- const float rotation_speed = 180.0f; float angle; #endregion #region --- Constructor --- public T03_Immediate_Mode_Cube() : base(800, 600, new GraphicsMode(16, 16)) { } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); } #endregion #region OnResize /// /// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(0, 0, Width, Height); double aspect_ratio = Width / (double)Height; OpenTK.Matrix4 perspective = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, (float)aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perspective); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); return; } } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); angle += rotation_speed * (float)e.Time; GL.Rotate(angle, 0.0f, 1.0f, 0.0f); DrawCube(); this.SwapBuffers(); Thread.Sleep(1); } #endregion #region private void DrawCube() private void DrawCube() { GL.Begin(BeginMode.Quads); GL.Color3(Color.Silver); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Color3(Color.Honeydew); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Color3(Color.Moccasin); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Color3(Color.IndianRed); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Color3(Color.PaleVioletRed); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Color3(Color.ForestGreen); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.End(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (T03_Immediate_Mode_Cube example = new T03_Immediate_Mode_Cube()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/StencilCSG.cs0000664000175000017500000002641011453131434021605 0ustar laneylaneyusing System; using System.Drawing; using System.Drawing.Imaging; using System.Diagnostics; using OpenTK; using OpenTK.Input; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using Examples.Shapes; namespace Examples.Tutorial { [Example("Stencil CSG", ExampleCategory.OpenGL, "1.x", Documentation = "StencilCSG")] partial class StencilCSG: GameWindow { #region Model Related DrawableShape OperandB; DrawableShape OperandA; float MySphereZOffset = 0f; float MySphereXOffset = 0f; int Texture; #endregion Model Related string WindowTitle; bool ShowDebugWireFrame = true; float CameraZoom; float CameraRotX; float CameraRotY; Vector3 EyePosition = new Vector3( 0f, 0f, 15f ); #region Window public StencilCSG() : base( 800, 600, new GraphicsMode( new ColorFormat( 8, 8, 8, 8 ), 24, 8 ) ) // request 8-bit stencil buffer { base.VSync = VSyncMode.Off; Keyboard.KeyDown += delegate(object sender, KeyboardKeyEventArgs e) { switch (e.Key) { case Key.Escape: this.Exit(); break; case Key.Space: ShowDebugWireFrame = !ShowDebugWireFrame; break; } }; } protected override void OnResize(EventArgs e ) { GL.Viewport( 0, 0, Width, Height ); GL.MatrixMode( MatrixMode.Projection ); Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 64.0f); GL.LoadMatrix(ref p); } #endregion Window protected override void OnLoad(EventArgs e) { #region Abort on platforms which will not be able to execute the ops properly /* if (!GL.SupportsExtension("VERSION_1_2")) { Trace.WriteLine("Aborting. OpenGL 1.2 or later required."); this.Exit(); } int[] t = new int[2]; GL.GetInteger(GetPName.MajorVersion, out t[0]); GL.GetInteger(GetPName.MinorVersion, out t[1]); Trace.WriteLine("OpenGL Context Version: " + t[0] + "." + t[1]); GL.GetInteger(GetPName.DepthBits, out t[0]); Trace.WriteLine("Depth Bits: " + t[0]); GL.GetInteger(GetPName.StencilBits, out t[1]); Trace.WriteLine("Stencil Bits: " + t[1]); if (t[0] < 16) { Trace.WriteLine("Aborting. Need at least 16 depth bits, only " + t[0] + " available."); this.Exit(); } if (t[1] < 1) { Trace.WriteLine("Aborting. Need at least 1 stencil bit, only " + t[1] + " available."); this.Exit(); } */ #endregion Abort on platforms which will not be able to execute the ops properly WindowTitle = "Cube-Sphere Stencil CSG " + GL.GetString(StringName.Renderer) + " (GL " + GL.GetString(StringName.Version) + ")"; #region GL States GL.ClearColor(.08f, .12f, .16f, 1f); GL.Enable(EnableCap.DepthTest); GL.DepthFunc(DepthFunction.Less); GL.ClearDepth(1.0); GL.Enable(EnableCap.StencilTest); GL.ClearStencil(0); GL.StencilMask(0xFFFFFFFF); // read&write GL.Enable(EnableCap.CullFace); GL.FrontFace(FrontFaceDirection.Ccw); GL.CullFace(CullFaceMode.Back); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); GL.Color4(1f, 1f, 1f, 1f); GL.Enable(EnableCap.Lighting); GL.Enable(EnableCap.Light0); GL.ShadeModel(ShadingModel.Smooth); #endregion GL States #region Load Texture Bitmap bitmap = new Bitmap("Data/Textures/logo-dark.jpg"); bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY); GL.GenTextures(1, out Texture); GL.BindTexture(TextureTarget.Texture2D, Texture); BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.Finish(); bitmap.UnlockBits(data); #endregion Load Texture OperandA = new ChamferCube(1.5, 2.0, 2.5, ChamferCube.SubDivs.Four, 0.42, true); OperandB = new SlicedSphere(2.0f, Vector3d.Zero, SlicedSphere.eSubdivisions.Three, new SlicedSphere.eDir[] { SlicedSphere.eDir.All }, true); #region Invert Operand B's Normals // only the inside of the operand is ever drawn to color buffers and lighting requires this. BeginMode tempPrimMode; VertexT2dN3dV3d[] tempVertices; uint[] tempIndices; OperandB.GetArraysforVBO(out tempPrimMode, out tempVertices, out tempIndices); OperandB.Dispose(); for (int i = 0; i < tempVertices.Length; i++) { tempVertices[i].Normal *= -1.0; tempVertices[i].Normal.Normalize(); } OperandB = new VboShape(ref tempPrimMode, ref tempVertices, ref tempIndices, true); #endregion Invert Operand B's Normals } protected override void OnUnload(EventArgs e) { GL.DeleteTextures( 1, ref Texture ); OperandA.Dispose(); OperandB.Dispose(); base.OnUnload( e ); } protected override void OnUpdateFrame( FrameEventArgs e ) { #region Magic numbers for camera CameraRotX = -Mouse.X * .5f; CameraRotY = Mouse.Y * .5f; CameraZoom = Mouse.Wheel * .2f; #endregion Magic numbers for camera } public void DrawOperandB() { GL.PushMatrix(); GL.Translate( Math.Cos(MySphereXOffset), -1f, Math.Cos(MySphereZOffset) ); OperandB.Draw(); GL.PopMatrix(); } public void DrawOperandA() { GL.Enable( EnableCap.Texture2D ); OperandA.Draw(); GL.Disable( EnableCap.Texture2D ); } public void RenderCsg() { // first pass GL.Disable( EnableCap.StencilTest ); GL.ColorMask( false, false, false, false ); GL.CullFace( CullFaceMode.Front ); DrawOperandB();// draw front-faces into depth buffer // use stencil plane to find parts of b in a GL.DepthMask( false ); GL.Enable( EnableCap.StencilTest ); GL.StencilFunc( StencilFunction.Always, 0, 0 ); GL.StencilOp( StencilOp.Keep, StencilOp.Keep, StencilOp.Incr ); GL.CullFace( CullFaceMode.Back ); DrawOperandA(); // increment the stencil where the front face of a is drawn GL.StencilOp( StencilOp.Keep, StencilOp.Keep, StencilOp.Decr ); GL.CullFace( CullFaceMode.Front ); DrawOperandA(); // decrement the stencil buffer where the back face of a is drawn GL.DepthMask( true ); GL.Disable( EnableCap.DepthTest ); GL.ColorMask( true, true, true, true ); GL.StencilFunc( StencilFunction.Notequal, 0, 1 ); DrawOperandB(); // draw the part of b that's in a // fix depth GL.ColorMask( false, false, false, false ); GL.Enable( EnableCap.DepthTest ); GL.Disable( EnableCap.StencilTest ); GL.DepthFunc( DepthFunction.Always ); DrawOperandA(); GL.DepthFunc( DepthFunction.Less ); // second pass GL.CullFace( CullFaceMode.Back ); DrawOperandA(); GL.DepthMask( false ); GL.Enable( EnableCap.StencilTest ); GL.StencilFunc( StencilFunction.Always, 0, 0 ); GL.StencilOp( StencilOp.Keep, StencilOp.Keep, StencilOp.Incr ); DrawOperandB(); // increment the stencil where the front face of b is drawn GL.StencilOp( StencilOp.Keep, StencilOp.Keep, StencilOp.Decr ); GL.CullFace( CullFaceMode.Front ); DrawOperandB(); // decrement the stencil buffer where the back face of b is drawn GL.DepthMask( true ); GL.Disable( EnableCap.DepthTest ); GL.ColorMask( true, true, true, true ); GL.StencilFunc( StencilFunction.Equal, 0, 1 ); GL.CullFace( CullFaceMode.Back ); DrawOperandA(); // draw the part of a that's in b GL.Enable( EnableCap.DepthTest ); } protected override void OnRenderFrame( FrameEventArgs e ) { this.Title = WindowTitle + " FPS: " + ( 1f / e.Time ).ToString("0."); MySphereZOffset += (float)( e.Time * 3.1 ); MySphereXOffset += (float)( e.Time * 4.2 ); #region Transform setup GL.Clear( ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit | ClearBufferMask.StencilBufferBit ); // Camera GL.MatrixMode( MatrixMode.Modelview ); Matrix4 mv = Matrix4.LookAt( EyePosition, Vector3.Zero, Vector3.UnitY ); GL.LoadMatrix(ref mv); GL.Translate( 0f, 0f, CameraZoom ); GL.Rotate( CameraRotX, Vector3.UnitY ); GL.Rotate( CameraRotY, Vector3.UnitX ); #endregion Transform setup RenderCsg(); // --------------------------------- if ( ShowDebugWireFrame ) { GL.Color3(System.Drawing.Color.LightGray); GL.Disable( EnableCap.StencilTest ); GL.Disable( EnableCap.Lighting ); //GL.Disable( EnableCap.DepthTest ); GL.PolygonMode( MaterialFace.Front, PolygonMode.Line ); DrawOperandB(); GL.PolygonMode( MaterialFace.Front, PolygonMode.Fill ); GL.Enable( EnableCap.DepthTest ); GL.Enable( EnableCap.Lighting ); GL.Enable( EnableCap.StencilTest ); } this.SwapBuffers(); } [STAThread] static void Main() { using ( StencilCSG example = new StencilCSG() ) { Utilities.SetWindowTitle(example); example.Run( 30.0, 0.0 ); } } } } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/VBOStatic.rtf0000664000175000017500000000636011453131434021635 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates how the concept of "Vertex Buffer Objects" or, in short, VBOs.\par \par VBOs provide an efficient and versatile method to store and render geometry in OpenGL programs. Unlike display lists, VBOs can be used for both static and dynamic geometry. \par \par VBOs were introduced in OpenGL 1.5 and are supported all the way up to OpenGL 4.0.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par This sample renders a simple spinning cube. Two parts are of interest here: the LoadVBO() method, which constructs a VBO, and the Draw() method, which renders a VBO.\par \par For each VBO-based object, we typically require two VBOs:\par 1. an "array buffer" which contains vertices for our geometry, and\par 2. an optional "element array buffer" which indicates how these vertices are connected to form triangles or other geometric primitives. Using an element array will typically result in higher performance.\par \par To construct a VBO, we need to generate a buffer id (GL.GenBuffers), bind it (GL.BindBuffer) and upload our buffer data (GL.BufferData). GL.BindBuffer defines whether the VBO is an array buffer (BufferTarget.ArrayBuffer) or an element array buffer (BufferTarget.ElementArrayBuffer).\par \par GL.BufferData is a generic function. When creating an element array buffer, we need to pass an array of bytes, shorts or ints that indicate indices into the array buffer. When specifying an array buffer, we need to pass an array of structures that contain our desired vertex attributes (e.g. position, color, texcoords, normals). When using GLSL, we can also define "generic" vertex attributes the usage of which is defined by the GLSL shader (see "OpenGL 3.0" sample for a demonstration of generic attributes).\par \par The LoadVBO() method demonstrates how to create an array buffer that contains "potision" and "color" attributes and an element array buffer that uses short (16-bit) indices.\par \par Once a VBO is constructed, we can render it in four simple steps:\par 1. Enabled the desired vertex attributes with GL.EnableClientState(EnableCap.[Vertex|Color|Normal|...]Array). This is not necessary when using GLSL.\par \par 2. Bind the array and (optional) element array buffers with GL.BindBuffer.\par \par 3. Define the layout of the array buffer via GL.[Vertex|Color|Normal|...]Pointer. In this sample, we instruct OpenGL that vertex position is stored as 3 floats at offset 0 and vertex color as 4 bytes at offset 12 (3*sizeof(float)). A more complex sample might also specify vertex texcoords (typically 2 floats) and vertex normals (typically 3 floats). The exact offsets are defined by the layout of your "Vertex" struct (see definition of VertexPositionColor for this sample).\par \par 4. Call GL.DrawElements (if an element array buffer is bound) or GL.DrawArrays (if no element array buffer exists).\par \par Note: OpenGL 3.0+ simplifies this process by eliminating steps 1 and 3. See OpenGL 3.0 sample for more information.\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/TextureMatrix.cs0000664000175000017500000001521011453131434022470 0ustar laneylaneyusing System; using System.Drawing; using System.Drawing.Imaging; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { [Example("Texture Matrix Wormhole", ExampleCategory.OpenGL, "1.x", Documentation = "TextureMatrix")] class TextureMatrix : GameWindow { public TextureMatrix() : base(800, 600, new GraphicsMode(32, 16, 0, 4)) { VSync = VSyncMode.On; } int Texture; int list; protected override void OnLoad(EventArgs e) { GL.ClearColor(0f, 0f, 0f, 0f); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.CullFace); Texture = LoadTexture("Data/Textures/logo-dark.jpg"); GL.Enable(EnableCap.Texture2D); list = GL.GenLists(1); GL.NewList(list, ListMode.Compile); { const int slices = 32; const float distance = 0.25f; GL.Begin(BeginMode.Quads); for (float scale = 0.26f; scale < 5f; scale += distance) for (int i = 0; i < slices; i++) { Vector3 MiddleCenter = new Vector3((float)(Math.Sin((double)i / slices * 2 * Math.PI) * scale), (float)(Math.Cos((double)i / slices * 2 * Math.PI) * scale), (float)(1f / scale)); Vector3 MiddleRight = new Vector3((float)(Math.Sin((double)(i + 1) / slices * 2 * Math.PI) * scale), (float)(Math.Cos((double)(i + 1) / slices * 2 * Math.PI) * scale), (float)(1f / scale)); Vector3 BottomRight = new Vector3((float)(Math.Sin((double)(i + 1) / slices * 2 * Math.PI) * (scale - distance)), (float)(Math.Cos((double)(i + 1) / slices * 2 * Math.PI) * (scale - distance)), (float)(1f / (scale - distance))); Vector3 BottomCenter = new Vector3((float)(Math.Sin((double)i / slices * 2 * Math.PI) * (scale - distance)), (float)(Math.Cos((double)i / slices * 2 * Math.PI) * (scale - distance)), (float)(1f / (scale - distance))); GL.TexCoord2(1f, 0f); GL.Vertex3(MiddleCenter); GL.TexCoord2(0f, 0f); GL.Vertex3(MiddleRight); GL.TexCoord2(0f, 1f); GL.Vertex3(BottomRight); GL.TexCoord2(1f, 1f); GL.Vertex3(BottomCenter); } GL.End(); } GL.EndList(); } protected override void OnResize(EventArgs e) { GL.Viewport(this.ClientRectangle); Matrix4 projection = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 1.0f, 50.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref projection); } protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[Key.Escape]) Exit(); } protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.MatrixMode(MatrixMode.Texture); GL.Translate(e.Time/2, -e.Time, 0f); Matrix4 modelview = Matrix4.LookAt(Vector3.Zero, Vector3.UnitZ, Vector3.UnitY); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref modelview); GL.Translate(0f, 0f, 1.5f); GL.Rotate(Mouse.X, Vector3.UnitY); GL.Rotate(Mouse.Y, Vector3.UnitX); GL.CallList(list); SwapBuffers(); } public static int LoadTexture(string filename) { TextureTarget Target = TextureTarget.Texture2D; int texture; GL.GenTextures(1, out texture); GL.BindTexture(Target, texture); float version = Single.Parse(GL.GetString(StringName.Version).Substring(0, 3), System.Globalization.CultureInfo.InvariantCulture); if (version >= 1.4) { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.GenerateMipmap, (int)All.True); GL.TexParameter(Target, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.LinearMipmapLinear); } else { GL.TexParameter(Target, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); } GL.TexParameter(Target, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.TexParameter(Target, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Repeat); GL.TexParameter(Target, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Repeat); Bitmap bitmap = new Bitmap(filename); BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexImage2D(Target, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); GL.Finish(); bitmap.UnlockBits(data); if (GL.GetError() != ErrorCode.NoError) throw new Exception("Error loading texture " + filename); return texture; } /// /// The main entry point for the application. /// [STAThread] static void Main() { using (TextureMatrix example = new TextureMatrix()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.Run(30.0, 0.0); } } } }opentk-1.0.20101006/Source/Examples/OpenGL/1.x/FramebufferObject.cs0000664000175000017500000003252211453131434023223 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Diagnostics; using System.Drawing; using OpenTK; using OpenTK.Input; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.Tutorial { [Example("Framebuffer Objects", ExampleCategory.OpenGL, "1.x", Documentation="FramebufferObject")] public class SimpleFBO : GameWindow { public SimpleFBO() : base(800, 600) { } Font sans = new Font(System.Drawing.FontFamily.GenericSansSerif, 16.0f); uint ColorTexture; uint DepthTexture; uint FBOHandle; const int TextureSize = 512; #region Randoms Random rnd = new Random(); public const float scale = 3f; /// Returns a random Float in the range [-0.5*scale..+0.5*scale] public float GetRandom() { return (float)(rnd.NextDouble() - 0.5) * scale; } /// Returns a random Float in the range [0..1] public float GetRandom0to1() { return (float)rnd.NextDouble(); } #endregion Randoms protected override void OnLoad(EventArgs e) { if (!GL.GetString(StringName.Extensions).Contains("EXT_framebuffer_object")) { System.Windows.Forms.MessageBox.Show( "Your video card does not support Framebuffer Objects. Please update your drivers.", "FBOs not supported", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); Exit(); } GL.Enable(EnableCap.DepthTest); GL.ClearDepth(1.0f); GL.DepthFunc(DepthFunction.Lequal); GL.Disable(EnableCap.CullFace); GL.PolygonMode(MaterialFace.Back, PolygonMode.Line); // Create Color Tex GL.GenTextures(1, out ColorTexture); GL.BindTexture(TextureTarget.Texture2D, ColorTexture); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba8, TextureSize, TextureSize, 0, PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToBorder); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToBorder); // GL.Ext.GenerateMipmap( GenerateMipmapTarget.Texture2D ); // Create Depth Tex GL.GenTextures(1, out DepthTexture); GL.BindTexture(TextureTarget.Texture2D, DepthTexture); GL.TexImage2D(TextureTarget.Texture2D, 0, (PixelInternalFormat)All.DepthComponent32, TextureSize, TextureSize, 0, PixelFormat.DepthComponent, PixelType.UnsignedInt, IntPtr.Zero); // things go horribly wrong if DepthComponent's Bitcount does not match the main Framebuffer's Depth GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToBorder); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToBorder); // GL.Ext.GenerateMipmap( GenerateMipmapTarget.Texture2D ); // Create a FBO and attach the textures GL.Ext.GenFramebuffers(1, out FBOHandle); GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, FBOHandle); GL.Ext.FramebufferTexture2D(FramebufferTarget.FramebufferExt, FramebufferAttachment.ColorAttachment0Ext, TextureTarget.Texture2D, ColorTexture, 0); GL.Ext.FramebufferTexture2D(FramebufferTarget.FramebufferExt, FramebufferAttachment.DepthAttachmentExt, TextureTarget.Texture2D, DepthTexture, 0); #region Test for Error switch (GL.Ext.CheckFramebufferStatus(FramebufferTarget.FramebufferExt)) { case FramebufferErrorCode.FramebufferCompleteExt: { Console.WriteLine("FBO: The framebuffer is complete and valid for rendering."); break; } case FramebufferErrorCode.FramebufferIncompleteAttachmentExt: { Console.WriteLine("FBO: One or more attachment points are not framebuffer attachment complete. This could mean there’s no texture attached or the format isn’t renderable. For color textures this means the base format must be RGB or RGBA and for depth textures it must be a DEPTH_COMPONENT format. Other causes of this error are that the width or height is zero or the z-offset is out of range in case of render to volume."); break; } case FramebufferErrorCode.FramebufferIncompleteMissingAttachmentExt: { Console.WriteLine("FBO: There are no attachments."); break; } /* case FramebufferErrorCode.GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT: { Console.WriteLine("FBO: An object has been attached to more than one attachment point."); break; }*/ case FramebufferErrorCode.FramebufferIncompleteDimensionsExt: { Console.WriteLine("FBO: Attachments are of different size. All attachments must have the same width and height."); break; } case FramebufferErrorCode.FramebufferIncompleteFormatsExt: { Console.WriteLine("FBO: The color attachments have different format. All color attachments must have the same format."); break; } case FramebufferErrorCode.FramebufferIncompleteDrawBufferExt: { Console.WriteLine("FBO: An attachment point referenced by GL.DrawBuffers() doesn’t have an attachment."); break; } case FramebufferErrorCode.FramebufferIncompleteReadBufferExt: { Console.WriteLine("FBO: The attachment point referenced by GL.ReadBuffers() doesn’t have an attachment."); break; } case FramebufferErrorCode.FramebufferUnsupportedExt: { Console.WriteLine("FBO: This particular FBO configuration is not supported by the implementation."); break; } default: { Console.WriteLine("FBO: Status unknown. (yes, this is really bad.)"); break; } } // using FBO might have changed states, e.g. the FBO might not support stereoscopic views or double buffering int[] queryinfo = new int[6]; GL.GetInteger(GetPName.MaxColorAttachmentsExt, out queryinfo[0]); GL.GetInteger(GetPName.AuxBuffers, out queryinfo[1]); GL.GetInteger(GetPName.MaxDrawBuffers, out queryinfo[2]); GL.GetInteger(GetPName.Stereo, out queryinfo[3]); GL.GetInteger(GetPName.Samples, out queryinfo[4]); GL.GetInteger(GetPName.Doublebuffer, out queryinfo[5]); Console.WriteLine("max. ColorBuffers: " + queryinfo[0] + " max. AuxBuffers: " + queryinfo[1] + " max. DrawBuffers: " + queryinfo[2] + "\nStereo: " + queryinfo[3] + " Samples: " + queryinfo[4] + " DoubleBuffer: " + queryinfo[5]); Console.WriteLine("Last GL Error: " + GL.GetError()); #endregion Test for Error GL.PushAttrib(AttribMask.ViewportBit); { GL.Viewport(0, 0, TextureSize, TextureSize); // clear the screen in red, to make it very obvious what the clear affected. only the FBO, not the real framebuffer GL.ClearColor(1f, 0f, 0f, 0f); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); // smack 50 random triangles into the FBO's textures GL.Begin(BeginMode.Triangles); { for (int i = 0; i < 50; i++) { GL.Color3(GetRandom0to1(), GetRandom0to1(), GetRandom0to1()); GL.Vertex3(GetRandom(), GetRandom(), GetRandom()); GL.Color3(GetRandom0to1(), GetRandom0to1(), GetRandom0to1()); GL.Vertex3(GetRandom(), GetRandom(), GetRandom()); GL.Color3(GetRandom0to1(), GetRandom0to1(), GetRandom0to1()); GL.Vertex3(GetRandom(), GetRandom(), GetRandom()); } } GL.End(); } GL.PopAttrib(); GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, 0); // disable rendering into the FBO GL.ClearColor(.1f, .2f, .3f, 0f); GL.Color3(1f, 1f, 1f); GL.Enable(EnableCap.Texture2D); // enable Texture Mapping GL.BindTexture(TextureTarget.Texture2D, 0); // bind default texture } protected override void OnUnload(EventArgs e) { // Clean up what we allocated before exiting if (ColorTexture != 0) GL.DeleteTextures(1, ref ColorTexture); if (DepthTexture != 0) GL.DeleteTextures(1, ref DepthTexture); if (FBOHandle != 0) GL.Ext.DeleteFramebuffers(1, ref FBOHandle); } protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); double aspect_ratio = Width / (double)Height; OpenTK.Matrix4 perspective = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, (float)aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perspective); Matrix4 lookat = Matrix4.LookAt(0, 0, 3, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); base.OnResize(e); } protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[Key.Escape]) this.Exit(); } protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.PushMatrix(); { // Draw the Color Texture GL.Translate(-1.1f, 0f, 0f); GL.BindTexture(TextureTarget.Texture2D, ColorTexture); GL.Begin(BeginMode.Quads); { GL.TexCoord2(0f, 1f); GL.Vertex2(-1.0f, 1.0f); GL.TexCoord2(0.0f, 0.0f); GL.Vertex2(-1.0f, -1.0f); GL.TexCoord2(1.0f, 0.0f); GL.Vertex2(1.0f, -1.0f); GL.TexCoord2(1.0f, 1.0f); GL.Vertex2(1.0f, 1.0f); } GL.End(); // Draw the Depth Texture GL.Translate(+2.2f, 0f, 0f); GL.BindTexture(TextureTarget.Texture2D, DepthTexture); GL.Begin(BeginMode.Quads); { GL.TexCoord2(0f, 1f); GL.Vertex2(-1.0f, 1.0f); GL.TexCoord2(0.0f, 0.0f); GL.Vertex2(-1.0f, -1.0f); GL.TexCoord2(1.0f, 0.0f); GL.Vertex2(1.0f, -1.0f); GL.TexCoord2(1.0f, 1.0f); GL.Vertex2(1.0f, 1.0f); } GL.End(); } GL.PopMatrix(); this.SwapBuffers(); } #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleFBO example = new SimpleFBO()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } }opentk-1.0.20101006/Source/Examples/OpenGL/1.x/Picking.cs0000664000175000017500000003013611453131434021233 0ustar laneylaneyusing System; using System.IO; using System.Drawing; using System.Diagnostics; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; using Examples.Shapes; namespace Examples.Tutorial { /// /// This demo shows over which triangle the cursor is, it does so by assigning all 3 vertices of a triangle the same Ids. /// Each Id is a uint, split into 4 bytes and used as triangle color. In an extra pass, the screen is cleared to uint.MaxValue, /// and then the mesh is drawn using color. Using GL.ReadPixels() the value under the mouse cursor is read and can be converted. /// [Example("Picking", ExampleCategory.OpenGL, "1.x", Documentation = "Picking")] class Picking : GameWindow { /// Creates a 800x600 window with the specified title. public Picking() : base(800, 600, GraphicsMode.Default, "Picking", GameWindowFlags.Default, DisplayDevice.Default, 1, 1, GraphicsContextFlags.Default) { VSync = VSyncMode.On; } struct Byte4 { public byte R, G, B, A; public Byte4(byte[] input) { R = input[0]; G = input[1]; B = input[2]; A = input[3]; } public uint ToUInt32() { byte[] temp = new byte[] { this.R, this.G, this.B, this.A }; return BitConverter.ToUInt32(temp, 0); } public override string ToString() { return this.R + ", " + this.G + ", " + this.B + ", " + this.A; } } struct Vertex { public Byte4 Color; // 4 bytes public Vector3 Position; // 12 bytes public const byte SizeInBytes = 16; } const TextureTarget Target = TextureTarget.TextureRectangleArb; float angle; BeginMode VBO_PrimMode; Vertex[] VBO_Array; uint VBO_Handle; uint SelectedTriangle; // int VertexShaderObject, FragmentShaderObject, ProgramObject; /// Load resources here. /// Not used. protected override void OnLoad(EventArgs e) { GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.CullFace); #region prepare data for VBO from procedural object DrawableShape temp_obj = new SierpinskiTetrahedron(3f, SierpinskiTetrahedron.eSubdivisions.Five, false); VertexT2fN3fV3f[] temp_VBO; uint[] temp_IBO; temp_obj.GetArraysforVBO(out VBO_PrimMode, out temp_VBO, out temp_IBO); temp_obj.Dispose(); if (temp_IBO != null) throw new Exception("Expected data for GL.DrawArrays, but Element Array is not null."); // Convert from temp mesh to final object, copy position and add triangle Ids for the color attribute. VBO_Array = new Vertex[temp_VBO.Length]; int TriangleCounter = -1; for (int i = 0; i < temp_VBO.Length; i++) { // Position VBO_Array[i].Position = temp_VBO[i].Position; // Index if (i % 3 == 0) TriangleCounter++; VBO_Array[i].Color = new Byte4(BitConverter.GetBytes(TriangleCounter)); } #endregion prepare data for VBO from procedural object #region Setup VBO for drawing GL.GenBuffers(1, out VBO_Handle); GL.BindBuffer(BufferTarget.ArrayBuffer, VBO_Handle); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(VBO_Array.Length * Vertex.SizeInBytes), VBO_Array, BufferUsageHint.StaticDraw); GL.InterleavedArrays(InterleavedArrayFormat.C4ubV3f, 0, IntPtr.Zero); ErrorCode err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("VBO Setup failed (Error: " + err + "). Attempting to continue."); #endregion Setup VBO for drawing #region Shader /* // Load&Compile Vertex Shader using (StreamReader sr = new StreamReader("Data/Shaders/Picking_VS.glsl")) { VertexShaderObject = GL.CreateShader(ShaderType.VertexShader); GL.ShaderSource(VertexShaderObject, sr.ReadToEnd()); GL.CompileShader(VertexShaderObject); } err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("Vertex Shader: " + err); string LogInfo; GL.GetShaderInfoLog(VertexShaderObject, out LogInfo); if (LogInfo.Length > 0 && !LogInfo.Contains("hardware")) Trace.WriteLine("Vertex Shader failed!\nLog:\n" + LogInfo); else Trace.WriteLine("Vertex Shader compiled without complaint."); // Load&Compile Fragment Shader using (StreamReader sr = new StreamReader("Data/Shaders/Picking_FS.glsl")) { FragmentShaderObject = GL.CreateShader(ShaderType.FragmentShader); GL.ShaderSource(FragmentShaderObject, sr.ReadToEnd()); GL.CompileShader(FragmentShaderObject); } GL.GetShaderInfoLog(FragmentShaderObject, out LogInfo); err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("Fragment Shader: " + err); if (LogInfo.Length > 0 && !LogInfo.Contains("hardware")) Trace.WriteLine("Fragment Shader failed!\nLog:\n" + LogInfo); else Trace.WriteLine("Fragment Shader compiled without complaint."); // Link the Shaders to a usable Program ProgramObject = GL.CreateProgram(); GL.AttachShader(ProgramObject, VertexShaderObject); GL.AttachShader(ProgramObject, FragmentShaderObject); // link it all together GL.LinkProgram(ProgramObject); err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("LinkProgram: " + err); GL.UseProgram(ProgramObject); err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("UseProgram: " + err); // flag ShaderObjects for delete when not used anymore GL.DeleteShader(VertexShaderObject); GL.DeleteShader(FragmentShaderObject); int temp; GL.GetProgram(ProgramObject, ProgramParameter.LinkStatus, out temp); Trace.WriteLine("Linking Program (" + ProgramObject + ") " + ((temp == 1) ? "succeeded." : "FAILED!")); if (temp != 1) { GL.GetProgramInfoLog(ProgramObject, out LogInfo); Trace.WriteLine("Program Log:\n" + LogInfo); } Trace.WriteLine("End of Shader build. GL Error: " + GL.GetError()); GL.UseProgram(0); */ #endregion Shader } protected override void OnUnload(EventArgs e) { GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.DeleteBuffers(1, ref VBO_Handle); base.OnUnload(e); } /// /// Called when your window is resized. Set your viewport here. It is also /// a good place to set up your projection matrix (which probably changes /// along when the aspect ratio of your window). /// /// Contains information on the new Width and Size of the GameWindow. protected override void OnResize(EventArgs e) { GL.Viewport(ClientRectangle); Matrix4 projection = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, this.Width / (float)this.Height, 0.1f, 10.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref projection); } /// /// Called when it is time to setup the next frame. Add you game logic here. /// /// Contains timing information for framerate independent logic. protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[Key.Escape]) Exit(); } /// /// Called when it is time to render the next frame. Add your rendering code here. /// /// Contains timing information. protected override void OnRenderFrame(FrameEventArgs e) { GL.Color3(Color.White); GL.Enable(EnableCap.ColorArray); #region Pass 1: Draw Object and pick Triangle GL.ClearColor(1f, 1f, 1f, 1f); // clears to uint.MaxValue GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 modelview = Matrix4.LookAt(Vector3.UnitZ, Vector3.Zero, Vector3.UnitY); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref modelview); GL.Translate(0f, 0f, -3f); GL.Rotate(angle, Vector3.UnitX); GL.Rotate(angle, Vector3.UnitY); angle += (float)e.Time * 3.0f; // You may re-enable the shader, but it works perfectly without and will run on intel HW too // GL.UseProgram(ProgramObject); GL.DrawArrays(VBO_PrimMode, 0, VBO_Array.Length); // GL.UseProgram(0); // Read Pixel under mouse cursor Byte4 Pixel = new Byte4(); GL.ReadPixels(Mouse.X, this.Height - Mouse.Y, 1, 1, PixelFormat.Rgba, PixelType.UnsignedByte, ref Pixel); SelectedTriangle = Pixel.ToUInt32(); #endregion Pass 1: Draw Object and pick Triangle GL.Color3(Color.White); GL.Disable(EnableCap.ColorArray); #region Pass 2: Draw Shape if (SelectedTriangle == uint.MaxValue) GL.ClearColor(.2f, .1f, .3f, 1f); // purple else GL.ClearColor(0f, .2f, .3f, 1f); // cyan GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Color3(1f, 1f, 1f); GL.DrawArrays(VBO_PrimMode, 0, VBO_Array.Length); GL.PolygonMode(MaterialFace.Front, PolygonMode.Line); GL.Color3(Color.Red); GL.DrawArrays(VBO_PrimMode, 0, VBO_Array.Length); GL.PolygonMode(MaterialFace.Front, PolygonMode.Fill); if (SelectedTriangle != uint.MaxValue) { GL.Disable(EnableCap.DepthTest); GL.Color3(Color.Green); GL.DrawArrays(VBO_PrimMode, (int)SelectedTriangle * 3, 3); GL.Enable(EnableCap.DepthTest); } #endregion Pass 2: Draw Shape this.SwapBuffers(); ErrorCode err = GL.GetError(); if (err != ErrorCode.NoError) Trace.WriteLine("Error at Swapbuffers: " + err); } /// /// The main entry point for the application. /// [STAThread] static void Main() { // The 'using' idiom guarantees proper resource cleanup. // We request 30 UpdateFrame events per second, and unlimited // RenderFrame events (as fast as the computer can handle). using (Picking example = new Picking()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Title = String.Format("OpenTK | {0} {1}: {2} (use the mouse to pick)", info.Category, info.Difficulty, info.Title); example.Run(30.0); } } } }opentk-1.0.20101006/Source/Examples/OpenGL/1.x/TextureMatrix.rtf0000664000175000017500000000132411453131434022657 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates the use of texture matrices to animate textures.\par \b\fs28\par Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par Move the mouse to rotate the camera.\par \par \b\fs28 Implementation\par \b0\fs22\par 1. The OnLoad event handler loads the wormhole texture and builds a display list for a "wormhole" object.\par \par 2. The OnRenderFrame event handler modifies the texture matrix to give the illusion of animation and renders the wormhole.\par } opentk-1.0.20101006/Source/Examples/OpenGL/1.x/StencilCSG.rtf0000664000175000017500000000131611453131434021771 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates the use of the stencil buffer for rendering constructive solid geometry (or CSG in short).\par \par CSG allows the construction of complex models by combining simple shapes via boolean operators (union, difference, intersection and more).\par \par \b\fs28 Controls\par \b0\fs22\par Press Esc or click the close button to exit.\par Press Space to toggle wireframe mode on/off.\par Move the mouse to rotate the camera.\par Scroll the mouse wheel to zoom in/out.\par } opentk-1.0.20101006/Source/Examples/OpenGL/3.x/0000775000175000017500000000000011453142152017316 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGL/3.x/HelloGL3.cs0000664000175000017500000002231311453131434021220 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.IO; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.Tutorial { [Example("OpenGL 3.0", ExampleCategory.OpenGL, "3.x", Documentation="HelloGL3")] public class HelloGL3 : GameWindow { string vertexShaderSource = @" #version 130 precision highp float; uniform mat4 projection_matrix; uniform mat4 modelview_matrix; in vec3 in_position; in vec3 in_normal; out vec3 normal; void main(void) { //works only for orthogonal modelview normal = (modelview_matrix * vec4(in_normal, 0)).xyz; gl_Position = projection_matrix * modelview_matrix * vec4(in_position, 1); }"; string fragmentShaderSource = @" #version 130 precision highp float; const vec3 ambient = vec3(0.1, 0.1, 0.1); const vec3 lightVecNormalized = normalize(vec3(0.5, 0.5, 2.0)); const vec3 lightColor = vec3(0.9, 0.9, 0.7); in vec3 normal; out vec4 out_frag_color; void main(void) { float diffuse = clamp(dot(lightVecNormalized, normalize(normal)), 0.0, 1.0); out_frag_color = vec4(ambient + diffuse * lightColor, 1.0); }"; int vertexShaderHandle, fragmentShaderHandle, shaderProgramHandle, modelviewMatrixLocation, projectionMatrixLocation, vaoHandle, positionVboHandle, normalVboHandle, eboHandle; Vector3[] positionVboData = new Vector3[]{ new Vector3(-1.0f, -1.0f, 1.0f), new Vector3( 1.0f, -1.0f, 1.0f), new Vector3( 1.0f, 1.0f, 1.0f), new Vector3(-1.0f, 1.0f, 1.0f), new Vector3(-1.0f, -1.0f, -1.0f), new Vector3( 1.0f, -1.0f, -1.0f), new Vector3( 1.0f, 1.0f, -1.0f), new Vector3(-1.0f, 1.0f, -1.0f) }; int[] indicesVboData = new int[]{ // front face 0, 1, 2, 2, 3, 0, // top face 3, 2, 6, 6, 7, 3, // back face 7, 6, 5, 5, 4, 7, // left face 4, 0, 3, 3, 7, 4, // bottom face 0, 1, 5, 5, 4, 0, // right face 1, 5, 6, 6, 2, 1, }; Matrix4 projectionMatrix, modelviewMatrix; public HelloGL3() : base(640, 480, new GraphicsMode(), "OpenGL 3 Example", 0, DisplayDevice.Default, 3, 0, GraphicsContextFlags.ForwardCompatible | GraphicsContextFlags.Debug) { } protected override void OnLoad (System.EventArgs e) { VSync = VSyncMode.On; CreateShaders(); CreateVBOs(); CreateVAOs(); // Other state GL.Enable(EnableCap.DepthTest); GL.ClearColor(System.Drawing.Color.MidnightBlue); } void CreateShaders() { vertexShaderHandle = GL.CreateShader(ShaderType.VertexShader); fragmentShaderHandle = GL.CreateShader(ShaderType.FragmentShader); GL.ShaderSource(vertexShaderHandle, vertexShaderSource); GL.ShaderSource(fragmentShaderHandle, fragmentShaderSource); GL.CompileShader(vertexShaderHandle); GL.CompileShader(fragmentShaderHandle); Debug.WriteLine(GL.GetShaderInfoLog(vertexShaderHandle)); Debug.WriteLine(GL.GetShaderInfoLog(fragmentShaderHandle)); // Create program shaderProgramHandle = GL.CreateProgram(); GL.AttachShader(shaderProgramHandle, vertexShaderHandle); GL.AttachShader(shaderProgramHandle, fragmentShaderHandle); GL.LinkProgram(shaderProgramHandle); Debug.WriteLine(GL.GetProgramInfoLog(shaderProgramHandle)); GL.UseProgram(shaderProgramHandle); // Set uniforms projectionMatrixLocation = GL.GetUniformLocation(shaderProgramHandle, "projection_matrix"); modelviewMatrixLocation = GL.GetUniformLocation(shaderProgramHandle, "modelview_matrix"); float aspectRatio = ClientSize.Width / (float)(ClientSize.Height); Matrix4.CreatePerspectiveFieldOfView((float)Math.PI / 4, aspectRatio, 1, 100, out projectionMatrix); modelviewMatrix = Matrix4.LookAt(new Vector3(0, 3, 5), new Vector3(0, 0, 0), new Vector3(0, 1, 0)); GL.UniformMatrix4(projectionMatrixLocation, false, ref projectionMatrix); GL.UniformMatrix4(modelviewMatrixLocation, false, ref modelviewMatrix); } void CreateVBOs() { GL.GenBuffers(1, out positionVboHandle); GL.BindBuffer(BufferTarget.ArrayBuffer, positionVboHandle); GL.BufferData(BufferTarget.ArrayBuffer, new IntPtr(positionVboData.Length * Vector3.SizeInBytes), positionVboData, BufferUsageHint.StaticDraw); GL.GenBuffers(1, out normalVboHandle); GL.BindBuffer(BufferTarget.ArrayBuffer, normalVboHandle); GL.BufferData(BufferTarget.ArrayBuffer, new IntPtr(positionVboData.Length * Vector3.SizeInBytes), positionVboData, BufferUsageHint.StaticDraw); GL.GenBuffers(1, out eboHandle); GL.BindBuffer(BufferTarget.ElementArrayBuffer, eboHandle); GL.BufferData(BufferTarget.ElementArrayBuffer, new IntPtr(sizeof(uint) * indicesVboData.Length), indicesVboData, BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0); } void CreateVAOs() { // GL3 allows us to store the vertex layout in a "vertex array object" (VAO). // This means we do not have to re-issue VertexAttribPointer calls // every time we try to use a different vertex layout - these calls are // stored in the VAO so we simply need to bind the correct VAO. GL.GenVertexArrays(1, out vaoHandle); GL.BindVertexArray(vaoHandle); GL.EnableVertexAttribArray(0); GL.BindBuffer(BufferTarget.ArrayBuffer, positionVboHandle); GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, true, Vector3.SizeInBytes, 0); GL.BindAttribLocation(shaderProgramHandle, 0, "in_position"); GL.EnableVertexAttribArray(1); GL.BindBuffer(BufferTarget.ArrayBuffer, normalVboHandle); GL.VertexAttribPointer(1, 3, VertexAttribPointerType.Float, true, Vector3.SizeInBytes, 0); GL.BindAttribLocation(shaderProgramHandle, 1, "in_normal"); GL.BindBuffer(BufferTarget.ElementArrayBuffer, eboHandle); GL.BindVertexArray(0); } protected override void OnUpdateFrame(FrameEventArgs e) { Matrix4 rotation = Matrix4.CreateRotationY((float)e.Time); Matrix4.Mult(ref rotation, ref modelviewMatrix, out modelviewMatrix); GL.UniformMatrix4(modelviewMatrixLocation, false, ref modelviewMatrix); if (Keyboard[OpenTK.Input.Key.Escape]) Exit(); } protected override void OnRenderFrame(FrameEventArgs e) { GL.Viewport(0, 0, Width, Height); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.BindVertexArray(vaoHandle); GL.DrawElements(BeginMode.Triangles, indicesVboData.Length, DrawElementsType.UnsignedInt, IntPtr.Zero); SwapBuffers(); } [STAThread] public static void Main() { using (HelloGL3 example = new HelloGL3()) { Utilities.SetWindowTitle(example); example.Run(30); } } } }opentk-1.0.20101006/Source/Examples/OpenGL/2.x/0000775000175000017500000000000011453142152017315 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGL/2.x/SwizzledParallax.cs0000664000175000017500000003660411453131434023156 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Diagnostics; using System.Drawing; using System.IO; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using Examples.TextureLoaders; namespace Examples.Tutorial { /// Demonstrates Swizzled DXT5 Parallax Mapping /// The idea is described in more detail right here: http://www.opentk.com/node/394 /// [Example("Swizzled Parallax Mapping", ExampleCategory.OpenGL, "2.x", Documentation = "SwizzledParallax")] public class T12_GLSL_Parallax: GameWindow { public T12_GLSL_Parallax( ) : base( 800, 600 ) { } #region internal Fields // Shader int VertexShaderObject, FragmentShaderObject, ProgramObject; const string VertexShaderFilename = "Data/Shaders/Parallax_VS.glsl"; const string FragmentShaderFilename = "Data/Shaders/Parallax_FS.glsl"; const int AttribTangent = 5; // slot where to pass tangents to VS, not sure which are reserved besides 0 Vector3 Tangent = new Vector3( 1f, 0f, 0f ); Vector3 Normal = new Vector3( 0f, 0f, 1f ); // Material parameter //Vector3 MaterialScaleAndBiasAndShininess = new Vector3( 0.07f, 0.0f, 38.0f ); // for Metal tex Vector3 MaterialScaleAndBiasAndShininess = new Vector3( 0.04f, 0.0f, 92.0f ); // for Rock tex // Textures const TextureUnit TMU0_Unit = TextureUnit.Texture0; const int TMU0_UnitInteger = 0; const string TMU0_Filename = "Data/Textures/swizzled-rock-diffuse-height.dds"; uint TMU0_Handle; TextureTarget TMU0_Target; const TextureUnit TMU1_Unit = TextureUnit.Texture1; const int TMU1_UnitInteger = 1; const string TMU1_Filename = "Data/Textures/swizzled-rock-normal-gloss.dds"; uint TMU1_Handle; TextureTarget TMU1_Target; // Camera Vector3 EyePos = new Vector3( 0.0f, 0.0f, 3.0f ); // Light Vector3 LightPosition = new Vector3( 0.0f, 1.0f, 1.0f ); Vector3 LightDiffuse = new Vector3( 0.5f, 0.5f, 0.5f ); Vector3 LightSpecular = new Vector3( 1f, 1f, 1f ); #endregion internal Fields /// Setup OpenGL and load resources here. /// Not used. protected override void OnLoad(EventArgs e) { this.VSync = VSyncMode.Off; // Check for necessary capabilities: string extensions = GL.GetString(StringName.Extensions); if ( !GL.GetString(StringName.Extensions).Contains("GL_ARB_shading_language")) { throw new NotSupportedException(String.Format("This example requires OpenGL 2.0. Found {0}. Aborting.", GL.GetString(StringName.Version).Substring(0, 3))); } if (!extensions.Contains("GL_ARB_texture_compression") || !extensions.Contains("GL_EXT_texture_compression_s3tc")) { throw new NotSupportedException("This example requires support for texture compression. Aborting."); } int[] temp = new int[1]; GL.GetInteger( GetPName.MaxTextureImageUnits, out temp[0] ); Trace.WriteLine( temp[0] + " TMU's for Fragment Shaders found. (2 required)" ); GL.GetInteger( GetPName.MaxVaryingFloats, out temp[0] ); Trace.WriteLine( temp[0] + " varying floats between VS and FS allowed. (6 required)" ); GL.GetInteger( GetPName.MaxVertexUniformComponents, out temp[0] ); Trace.WriteLine( temp[0] + " uniform components allowed in Vertex Shader. (6 required)" ); GL.GetInteger( GetPName.MaxFragmentUniformComponents, out temp[0] ); Trace.WriteLine( temp[0] + " uniform components allowed in Fragment Shader. (11 required)" ); Trace.WriteLine("" ); #region GL State GL.ClearColor( 0.2f, 0f, 0.4f, 0f ); GL.PointSize( 10f ); GL.Disable( EnableCap.Dither ); GL.FrontFace( FrontFaceDirection.Ccw ); GL.PolygonMode( MaterialFace.Front, PolygonMode.Fill ); GL.PolygonMode( MaterialFace.Back, PolygonMode.Line ); #endregion GL State #region Shaders string LogInfo; // Load&Compile Vertex Shader using ( StreamReader sr = new StreamReader( VertexShaderFilename ) ) { VertexShaderObject = GL.CreateShader( ShaderType.VertexShader ); GL.ShaderSource( VertexShaderObject, sr.ReadToEnd( ) ); GL.CompileShader( VertexShaderObject ); } GL.GetShaderInfoLog( VertexShaderObject, out LogInfo ); if ( LogInfo.Length > 0 && !LogInfo.Contains( "hardware" ) ) Trace.WriteLine( "Vertex Shader failed!\nLog:\n" + LogInfo ); else Trace.WriteLine( "Vertex Shader compiled without complaint." ); // Load&Compile Fragment Shader using ( StreamReader sr = new StreamReader( FragmentShaderFilename ) ) { FragmentShaderObject = GL.CreateShader( ShaderType.FragmentShader ); GL.ShaderSource( FragmentShaderObject, sr.ReadToEnd( ) ); GL.CompileShader( FragmentShaderObject ); } GL.GetShaderInfoLog( FragmentShaderObject, out LogInfo ); if ( LogInfo.Length > 0 && !LogInfo.Contains( "hardware" ) ) Trace.WriteLine( "Fragment Shader failed!\nLog:\n" + LogInfo ); else Trace.WriteLine( "Fragment Shader compiled without complaint." ); // Link the Shaders to a usable Program ProgramObject = GL.CreateProgram( ); GL.AttachShader( ProgramObject, VertexShaderObject ); GL.AttachShader( ProgramObject, FragmentShaderObject ); // must bind the attribute before linking GL.BindAttribLocation( ProgramObject, AttribTangent, "AttributeTangent" ); // link it all together GL.LinkProgram( ProgramObject ); // flag ShaderObjects for delete when not used anymore GL.DeleteShader( VertexShaderObject ); GL.DeleteShader( FragmentShaderObject ); GL.GetProgram( ProgramObject, ProgramParameter.LinkStatus, out temp[0] ); Trace.WriteLine( "Linking Program (" + ProgramObject + ") " + ( ( temp[0] == 1 ) ? "succeeded." : "FAILED!" ) ); if ( temp[0] != 1 ) { GL.GetProgramInfoLog( ProgramObject, out LogInfo ); Trace.WriteLine( "Program Log:\n" + LogInfo ); } GL.GetProgram( ProgramObject, ProgramParameter.ActiveAttributes, out temp[0] ); Trace.WriteLine( "Program registered " + temp[0] + " Attributes. (Should be 4: Pos, UV, Normal, Tangent)" ); Trace.WriteLine( "Tangent attribute bind location: " + GL.GetAttribLocation( ProgramObject, "AttributeTangent" ) ); Trace.WriteLine( "End of Shader build. GL Error: " + GL.GetError( ) ); #endregion Shaders #region Textures TextureLoaderParameters.MagnificationFilter = TextureMagFilter.Linear; TextureLoaderParameters.MinificationFilter = TextureMinFilter.LinearMipmapLinear; TextureLoaderParameters.WrapModeS = TextureWrapMode.ClampToBorder; TextureLoaderParameters.WrapModeT = TextureWrapMode.ClampToBorder; TextureLoaderParameters.EnvMode = TextureEnvMode.Modulate; ImageDDS.LoadFromDisk( TMU0_Filename, out TMU0_Handle, out TMU0_Target ); Trace.WriteLine( "Loaded " + TMU0_Filename + " with handle " + TMU0_Handle + " as " + TMU0_Target ); ImageDDS.LoadFromDisk( TMU1_Filename, out TMU1_Handle, out TMU1_Target ); Trace.WriteLine( "Loaded " + TMU1_Filename + " with handle " + TMU1_Handle + " as " + TMU1_Target ); #endregion Textures Trace.WriteLine( "End of Texture Loading. GL Error: " + GL.GetError( ) ); Trace.WriteLine( ""); } protected override void OnUnload(EventArgs e) { GL.DeleteProgram( ProgramObject ); GL.DeleteTextures( 1, ref TMU0_Handle ); GL.DeleteTextures( 1, ref TMU1_Handle ); base.OnUnload( e ); } /// Respond to resize events here. /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize( EventArgs e ) { GL.Viewport( 0, 0, Width, Height ); GL.MatrixMode( MatrixMode.Projection ); Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 100.0f); GL.LoadMatrix(ref p); GL.MatrixMode( MatrixMode.Modelview ); GL.LoadIdentity( ); base.OnResize( e ); } /// Add your game logic here. /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame( FrameEventArgs e ) { base.OnUpdateFrame( e ); if ( Keyboard[OpenTK.Input.Key.Escape] ) this.Exit( ); if ( Keyboard[OpenTK.Input.Key.Space] ) Trace.WriteLine( "GL: " + GL.GetError( ) ); if ( Keyboard[OpenTK.Input.Key.Q] ) { MaterialScaleAndBiasAndShininess.X += 0.01f; Trace.WriteLine( "Scale: " + MaterialScaleAndBiasAndShininess.X + " Bias: " + MaterialScaleAndBiasAndShininess.Y ); } if ( Keyboard[OpenTK.Input.Key.A] ) { MaterialScaleAndBiasAndShininess.X -= 0.01f; Trace.WriteLine( "Scale: " + MaterialScaleAndBiasAndShininess.X + " Bias: " + MaterialScaleAndBiasAndShininess.Y ); } if ( Keyboard[OpenTK.Input.Key.W] ) { MaterialScaleAndBiasAndShininess.Y += 0.01f; Trace.WriteLine( "Scale: " + MaterialScaleAndBiasAndShininess.X + " Bias: " + MaterialScaleAndBiasAndShininess.Y ); } if ( Keyboard[OpenTK.Input.Key.S] ) { MaterialScaleAndBiasAndShininess.Y -= 0.01f; Trace.WriteLine( "Scale: " + MaterialScaleAndBiasAndShininess.X + " Bias: " + MaterialScaleAndBiasAndShininess.Y ); } if ( Keyboard[OpenTK.Input.Key.E] ) { MaterialScaleAndBiasAndShininess.Z += 1f; Trace.WriteLine( "Shininess: " + MaterialScaleAndBiasAndShininess.Z ); } if ( Keyboard[OpenTK.Input.Key.D] ) { MaterialScaleAndBiasAndShininess.Z -= 1f; Trace.WriteLine( "Shininess: " + MaterialScaleAndBiasAndShininess.Z ); } LightPosition.X = ( -( this.Width / 2 ) + Mouse.X ) / 100f; LightPosition.Y = ( ( this.Height / 2 ) - Mouse.Y ) / 100f; EyePos.Y = Mouse.Wheel * 0.5f; } /// Add your game rendering code here. /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame( FrameEventArgs e ) { this.Title = "FPS: " + (1 / e.Time).ToString("0."); GL.Clear( ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit ); GL.UseProgram( ProgramObject ); #region Textures GL.ActiveTexture( TMU0_Unit ); GL.BindTexture( TMU0_Target, TMU0_Handle ); GL.ActiveTexture( TMU1_Unit ); GL.BindTexture( TMU1_Target, TMU1_Handle ); #endregion Textures #region Uniforms // first Material's uniforms GL.Uniform1( GL.GetUniformLocation( ProgramObject, "Material_DiffuseAndHeight" ), TMU0_UnitInteger ); GL.Uniform1( GL.GetUniformLocation( ProgramObject, "Material_NormalAndGloss" ), TMU1_UnitInteger ); GL.Uniform3( GL.GetUniformLocation( ProgramObject, "Material_ScaleBiasShininess" ), MaterialScaleAndBiasAndShininess.X, MaterialScaleAndBiasAndShininess.Y, MaterialScaleAndBiasAndShininess.Z ); // the rest are vectors GL.Uniform3( GL.GetUniformLocation( ProgramObject, "Camera_Position" ), EyePos.X, EyePos.Y, EyePos.Z ); GL.Uniform3( GL.GetUniformLocation( ProgramObject, "Light_Position" ), LightPosition.X, LightPosition.Y, LightPosition.Z ); GL.Uniform3( GL.GetUniformLocation( ProgramObject, "Light_DiffuseColor" ), LightDiffuse.X, LightDiffuse.Y, LightDiffuse.Z ); GL.Uniform3( GL.GetUniformLocation( ProgramObject, "Light_SpecularColor" ), LightSpecular.X, LightSpecular.Y, LightSpecular.Z ); #endregion Uniforms GL.PushMatrix( ); Matrix4 t = Matrix4.LookAt( EyePos, Vector3.Zero, Vector3.UnitY ); GL.MultMatrix(ref t); #region Draw Quad GL.Color3( 1f, 1f, 1f ); GL.Begin( BeginMode.Quads ); { GL.Normal3( Normal ); GL.VertexAttrib3( AttribTangent, ref Tangent ); GL.MultiTexCoord2( TextureUnit.Texture0, 0f, 1f ); GL.Vertex3( -1.0f, 1.0f, 0.0f ); GL.Normal3( Normal ); GL.VertexAttrib3( AttribTangent, ref Tangent ); GL.MultiTexCoord2( TextureUnit.Texture0, 0f, 0f ); GL.Vertex3( -1.0f, -1.0f, 0.0f ); GL.Normal3( Normal ); GL.VertexAttrib3( AttribTangent, ref Tangent ); GL.MultiTexCoord2( TextureUnit.Texture0, 1f, 0f ); GL.Vertex3( 1.0f, -1.0f, 0.0f ); GL.Normal3( Normal ); GL.VertexAttrib3( AttribTangent, ref Tangent ); GL.MultiTexCoord2( TextureUnit.Texture0, 1f, 1f ); GL.Vertex3( 1.0f, 1.0f, 0.0f ); } GL.End( ); #endregion Draw Quad GL.UseProgram( 0 ); // visualize the light position 'somehow' GL.Begin( BeginMode.Points ); { GL.Color3( LightSpecular ); GL.Vertex3( LightPosition ); } GL.End( ); GL.PopMatrix( ); this.SwapBuffers( ); } /// Entry point [STAThread] public static void Main( ) { using ( T12_GLSL_Parallax example = new T12_GLSL_Parallax( ) ) { Utilities.SetWindowTitle( example ); example.Run( 30.0, 0.0 ); } } } } opentk-1.0.20101006/Source/Examples/OpenGL/2.x/GeometryShader.cs0000664000175000017500000002314711453131434022576 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.Drawing; using OpenTK; using OpenTK.Input; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.Tutorial { [Example("Basic Geometry Shader", ExampleCategory.OpenGL, "2.x", Documentation = "Simple usage of EXT_geometry_shader4")] public class SimpleGeometryShader : GameWindow { public SimpleGeometryShader() : base(800, 600) { } int shaderProgram = 0; protected override void OnLoad(EventArgs e) { if (!GL.GetString(StringName.Extensions).Contains("EXT_geometry_shader4")) { System.Windows.Forms.MessageBox.Show( "Your video card does not support EXT_geometry_shader4. Please update your drivers.", "EXT_geometry_shader4 not supported", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); Exit(); throw new NotSupportedException(); } // create a shader object. shaderProgram = GL.CreateProgram(); // create shader objects for all three types. int vert = GL.CreateShader(ShaderType.VertexShader); int frag = GL.CreateShader(ShaderType.FragmentShader); int geom = GL.CreateShader(ShaderType.GeometryShaderExt); // GLSL for fragment shader. String fragSource = @" void main( void ) { gl_FragColor = vec4(0, 1, 0, 0); } "; // GLSL for vertex shader. String vertSource = @" void main( void ) { gl_Position = ftransform(); } "; // GLSL for geometry shader. // Note this is a version 1.20 shader // Also note GL_EXT_geometry_shader4 must be enabled explicitly, correct // OpenGL implementations should only have the new tokens, like // EmitVertex and EndPrimitive, when this extension is enabled. String geomSource = @" #version 120 #extension GL_EXT_geometry_shader4 : enable void main(void) { // variable to use in for loops int i; // Emit the original vertices without changing, making // this part exactly the same as if no geometry shader // was used. for(i=0; i< gl_VerticesIn; i++) { gl_Position = gl_PositionIn[i]; EmitVertex(); } // End the one primitive with the original vertices EndPrimitive(); // Now we generate some more! This translates 0.2 over // the positive x axis. for(i=0; i< gl_VerticesIn; i++) { gl_Position = gl_PositionIn[i]; gl_Position.x += 0.2; EmitVertex(); } EndPrimitive(); } "; // compile shaders. compileShader(frag, fragSource); compileShader(vert, vertSource); compileShader(geom, geomSource); // attach shaders and link the program. GL.AttachShader(shaderProgram, frag); GL.AttachShader(shaderProgram, vert); GL.AttachShader(shaderProgram, geom); // Set the input type of the primitives we are going to feed the geometry shader, this should be the same as // the primitive type given to GL.Begin. If the types do not match a GL error will occur (todo: verify GL_INVALID_ENUM, on glBegin) GL.Ext.ProgramParameter(shaderProgram, ExtGeometryShader4.GeometryInputTypeExt, (int)BeginMode.Lines); // Set the output type of the geometry shader. Becasue we input Lines we will output LineStrip(s). GL.Ext.ProgramParameter(shaderProgram, ExtGeometryShader4.GeometryOutputTypeExt, (int)BeginMode.LineStrip); // We must tell the shader program how much vertices the geometry shader will output (at most). // One simple way is to query the maximum and use that. // NOTE: Make sure that the number of vertices * sum(components of active varyings) does not // exceed MaxGeometryTotalOutputComponents. GL.Ext.ProgramParameter(shaderProgram, ExtGeometryShader4.GeometryVerticesOutExt, 50); // NOTE: calls to ProgramParameter do not take effect until you call LinkProgram. GL.LinkProgram(shaderProgram); // output link info log. string info; GL.GetProgramInfoLog(shaderProgram, out info); Debug.WriteLine(info); // Set clearcolor and bind the shader program. GL.ClearColor(0.1f, 0.1f, 0.1f, 0.1f); GL.UseProgram(shaderProgram); // Set color to red. If the shader fails the fixed pipeline will be used and // the lines will be red, if all is ok the fragment shader is used and they will be green. GL.Color3(1.0f, 0, 0); // Clean up resources. Note the program object is not deleted. if (frag != 0) GL.DeleteShader(frag); if (vert != 0) GL.DeleteShader(vert); if (geom != 0) GL.DeleteShader(geom); } /// /// Helper method to avoid code duplication. /// Compiles a shader and prints results using Debug.WriteLine. /// /// A shader object, gotten from GL.CreateShader. /// The GLSL source to compile. void compileShader(int shader, string source) { GL.ShaderSource(shader, source); GL.CompileShader(shader); string info; GL.GetShaderInfoLog(shader, out info); Debug.WriteLine(info); int compileResult; GL.GetShader(shader, ShaderParameter.CompileStatus, out compileResult); if (compileResult != 1) { Debug.WriteLine("Compile Error!"); Debug.WriteLine(source); } } protected override void OnUnload(EventArgs e) { if (shaderProgram != 0) GL.DeleteProgram(shaderProgram); base.OnUnload(e); } /// /// Sets the viewport and projection matrix for orthographic projection. /// /// resize event args protected override void OnResize(EventArgs e) { GL.Viewport(ClientRectangle); // Set projection matrix GL.MatrixMode(MatrixMode.Projection); OpenTK.Matrix4 ortho = OpenTK.Matrix4.CreateOrthographicOffCenter(-1, 1, -1, 1, 1, -1); GL.LoadMatrix(ref ortho); // Set selector state back to matrix mode GL.MatrixMode(MatrixMode.Modelview); base.OnResize(e); } protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[Key.Space]) { ErrorCode err = GL.GetError(); //Console.WriteLine(err + " " + Glu.ErrorString((GluErrorCode)err)); Console.WriteLine("GL error code: {0}", err); } if (Keyboard[Key.Escape]) this.Exit(); } protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); // draw two vertical lines GL.Begin(BeginMode.Lines); { // line one GL.Vertex2(-0.5f, -0.5f); GL.Vertex2(-0.5f, 0.5f); // line two GL.Vertex2(0.5f, 0.5f); GL.Vertex2(0.5f, -0.5f); } GL.End(); this.SwapBuffers(); } #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleGeometryShader example = new SimpleGeometryShader()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } }opentk-1.0.20101006/Source/Examples/OpenGL/2.x/JuliaSetFractal.cs0000664000175000017500000003052711453131434022671 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Written by Christoph Brandtner */ #endregion using System; using System.Windows.Forms; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.IO; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { /// /// Demonstrates how to render an animated Julia Set in real-time. Quality is sacrificed for speed. /// Info about the fractal: http://en.wikipedia.org/wiki/Julia_set /// One more major optimization could be applied (exploit the symmetry of the image with RTT), but /// that would make the program alot more complicated to follow. You can do this as an exercise. /// [Example("Julia Set Fractal", ExampleCategory.OpenGL, "2.x", Documentation = "JuliaSetFractal")] public class JuliaSetFractal : GameWindow { public JuliaSetFractal() : base(512, 512) { } #region Private Fields // GLSL Objects int VertexShaderObject, FragmentShaderObject, ProgramObject; int TextureObject; // Julia Variables for animation float AnimOffsetX = 0.213f; // using non-zero as starting point to make it more interesting float AnimOffsetY = 0.63f; const double AnimSpeedX = 0.65; // anim speed scaling is solely used to make the anim more interesting const double AnimSpeedY = 1.05; const double AnimCosinusPercent = 0.85f; // scales the cosinus down to 85% to avoid the (boring) borders float UniformScaleFactorX; // fractal horizontal scaling is only affected by window resize float UniformScaleFactorY; // fractal vertical scaling is only affected by window resize float UniformOffsetX = 1.8f; // fractal horizontal offset float UniformOffsetY = 1.8f; // fractal vertical offset #endregion private Fields #region OnLoad /// /// Setup OpenGL and load resources here. /// /// Not used. protected override void OnLoad(EventArgs e) { // Check for necessary capabilities: string version = GL.GetString(StringName.Version); int major = (int)version[0]; int minor = (int)version[2]; if (major < 2) { MessageBox.Show("You need at least OpenGL 2.0 to run this example. Aborting.", "GLSL not supported", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Exit(); } this.VSync = VSyncMode.On; GL.Disable(EnableCap.Dither); GL.ClearColor(0.2f, 0f, 0.4f, 0f); // declare some variables for tracking which shader did compile, and which texture to use string[] ShaderFilenames = new string[2]; ShaderFilenames[0] = "Data/Shaders/JuliaSet_SM3_FS.glsl"; ShaderFilenames[1] = "Data/Shaders/JuliaSet_SM2_FS.glsl"; byte CurrentOption = 0; string LogInfo; #region Shaders // Load&Compile Vertex Shader using (StreamReader sr = new StreamReader("Data/Shaders/JuliaSet_VS.glsl")) { VertexShaderObject = GL.CreateShader(ShaderType.VertexShader); GL.ShaderSource(VertexShaderObject, sr.ReadToEnd()); GL.CompileShader(VertexShaderObject); } GL.GetShaderInfoLog(VertexShaderObject, out LogInfo); if (LogInfo.Length > 0 && !LogInfo.Contains("hardware")) Trace.WriteLine("Vertex Shader Log:\n" + LogInfo); else Trace.WriteLine("Vertex Shader compiled without complaint."); // Load&Compile Fragment Shader FragmentShaderObject = GL.CreateShader(ShaderType.FragmentShader); do { using (StreamReader sr = new StreamReader(ShaderFilenames[CurrentOption])) { GL.ShaderSource(FragmentShaderObject, sr.ReadToEnd()); GL.CompileShader(FragmentShaderObject); } GL.GetShaderInfoLog(FragmentShaderObject, out LogInfo); if (LogInfo.Length > 0 && !LogInfo.Contains("hardware")) Trace.WriteLine("Compiling " + ShaderFilenames[CurrentOption] + " failed!\nLog:\n" + LogInfo); else { Trace.WriteLine("Fragment Shader compiled without complaint."); break; } if (++CurrentOption > 1) { MessageBox.Show("Neither SM2 nor SM3 Fragment Shader compiled successfully. Aborting.", "Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Exit(); } } while (true); // Link the Shaders to a usable Program ProgramObject = GL.CreateProgram(); GL.AttachShader(ProgramObject, VertexShaderObject); GL.AttachShader(ProgramObject, FragmentShaderObject); GL.LinkProgram(ProgramObject); // make current GL.UseProgram(ProgramObject); // Flag ShaderObjects for delete when app exits GL.DeleteShader(VertexShaderObject); GL.DeleteShader(FragmentShaderObject); #endregion Shaders #region Textures // Load&Bind the 1D texture for color lookups GL.ActiveTexture(TextureUnit.Texture0); // select TMU0 GL.GenTextures(1, out TextureObject); GL.TexParameter(TextureTarget.Texture1D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.TexParameter(TextureTarget.Texture1D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.Texture1D, TextureParameterName.TextureWrapS, (int)(TextureWrapMode)All.ClampToEdge); using (Bitmap bitmap = new Bitmap("Data/Textures/JuliaColorTable.bmp")) { BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); GL.TexImage1D(TextureTarget.Texture1D, 0, PixelInternalFormat.Rgb8, data.Width, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgr, PixelType.UnsignedByte, data.Scan0); bitmap.UnlockBits(data); } #endregion Textures Keyboard.KeyUp += KeyUp; } int i = 0; void KeyUp(object sender, KeyboardKeyEventArgs e) { if (e.Key == Key.F12) { Bitmap bmp = new Bitmap(this.Width, this.Height); System.Drawing.Imaging.BitmapData data = bmp.LockBits(new System.Drawing.Rectangle(0, 0, this.Width, this.Height), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); GL.ReadPixels(0, 0, this.Width, this.Height, OpenTK.Graphics.OpenGL.PixelFormat.Bgr, OpenTK.Graphics.OpenGL.PixelType.UnsignedByte, data.Scan0); bmp.UnlockBits(data); bmp.RotateFlip(RotateFlipType.RotateNoneFlipY); bmp.Save("Screenshot" + (i++).ToString() + ".png", ImageFormat.Png); } } #endregion #region OnUnload protected override void OnUnload(EventArgs e) { if (TextureObject != 0) GL.DeleteTextures(1, ref TextureObject); if (ProgramObject != 0) GL.DeleteProgram(ProgramObject); // implies deleting the previously flagged ShaderObjects } #endregion #region OnResize /// /// Respond to resize events here. /// /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize(EventArgs e) { // Magic numbers so the fractal almost fits inside the window. // If changing this, also change the -1.6f offset in the fragment shader accordingly. UniformScaleFactorX = Width / (UniformOffsetX * 2f); UniformScaleFactorY = Height / (UniformOffsetY * 2f); GL.Viewport(0, 0, Width, Height); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 1.0); // 2D setup GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); } #endregion #region OnUpdateFrame /// /// Add your game logic here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); } } #endregion #region OnRenderFrame /// /// Add your game rendering code here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { //this.Title = "FPS: " + 1 / e.Time; GL.Clear(ClearBufferMask.ColorBufferBit); // First, render the next frame of the Julia fractal. GL.UseProgram(ProgramObject); // advance the animation by elapsed time, scaling is solely used to make the anim more interesting AnimOffsetX += (float)(e.Time * AnimSpeedX); AnimOffsetY += (float)(e.Time * AnimSpeedY); // pass uniforms into the fragment shader // first the texture GL.Uniform1(GL.GetUniformLocation(ProgramObject, "COLORTABLE"), TextureObject); // the rest are floats GL.Uniform1(GL.GetUniformLocation(ProgramObject, "CETX"), (float)(Math.Cos(AnimOffsetX) * AnimCosinusPercent)); GL.Uniform1(GL.GetUniformLocation(ProgramObject, "CETY"), (float)(Math.Cos(AnimOffsetY) * AnimCosinusPercent)); GL.Uniform1(GL.GetUniformLocation(ProgramObject, "SCALINGX"), UniformScaleFactorX); GL.Uniform1(GL.GetUniformLocation(ProgramObject, "SCALINGY"), UniformScaleFactorY); GL.Uniform1(GL.GetUniformLocation(ProgramObject, "OFFSETX"), UniformOffsetX); GL.Uniform1(GL.GetUniformLocation(ProgramObject, "OFFSETY"), UniformOffsetY); // Fullscreen quad. Using immediate mode, since this app is fragment shader limited anyways. GL.Begin(BeginMode.Quads); { GL.Vertex2(-1.0f, -1.0f); GL.Vertex2(1.0f, -1.0f); GL.Vertex2(1.0f, 1.0f); GL.Vertex2(-1.0f, 1.0f); } GL.End(); SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (JuliaSetFractal example = new JuliaSetFractal()) { Utilities.SetWindowTitle(example); example.Run(30.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenGL/2.x/DDSCubeMap.cs0000664000175000017500000002342211453131434021517 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Drawing; using System.Collections.Generic; using System.Diagnostics; using System.Windows.Forms; using System.IO; using System.Text; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using Examples.Shapes; using Examples.TextureLoaders; namespace Examples.Tutorial { [Example("DDS Cube Map", ExampleCategory.OpenGL, "2.x", Documentation = "DDSCubeMap")] public class T13_GLSL_Earth: GameWindow { public T13_GLSL_Earth( ) : base( 800, 800 ) { } #region internal Fields // Shader int VertexShaderObject, FragmentShaderObject, ProgramObject; const string VertexShaderFilename = "Data/Shaders/CubeMap_VS.glsl"; const string FragmentShaderFilename = "Data/Shaders/CubeMap_FS.glsl"; // Textures const TextureUnit TMU0_Unit = TextureUnit.Texture0; const int TMU0_UnitInteger = 0; const string TMU0_Filename = "Data/Textures/earth-cubemap.dds"; uint TMU0_Handle; TextureTarget TMU0_Target; // DL DrawableShape sphere; // Camera Vector3 EyePos = new Vector3( 0.0f, 0.0f, 6.0f ); Vector3 Trackball = Vector3.Zero; #endregion internal Fields /// Setup OpenGL and load resources here. /// Not used. protected override void OnLoad(EventArgs e) { this.VSync = VSyncMode.Off; // Check for necessary capabilities: string extensions = GL.GetString(StringName.Extensions); if (!GL.GetString(StringName.Extensions).Contains("GL_ARB_shading_language")) { throw new NotSupportedException(String.Format("This example requires OpenGL 2.0. Found {0}. Aborting.", GL.GetString(StringName.Version).Substring(0, 3))); } if (!extensions.Contains("GL_ARB_texture_compression") || !extensions.Contains("GL_EXT_texture_compression_s3tc")) { throw new NotSupportedException("This example requires support for texture compression. Aborting."); } #region GL State GL.ClearColor( 0f, 0f, 0f, 0f ); GL.Disable( EnableCap.Dither ); GL.Enable( EnableCap.CullFace ); GL.FrontFace( FrontFaceDirection.Ccw ); GL.PolygonMode( MaterialFace.Front, PolygonMode.Fill ); // GL.PolygonMode( MaterialFace.Back, PolygonMode.Line ); #endregion GL State #region Shaders string LogInfo; // Load&Compile Vertex Shader using ( StreamReader sr = new StreamReader( VertexShaderFilename ) ) { VertexShaderObject = GL.CreateShader( ShaderType.VertexShader ); GL.ShaderSource( VertexShaderObject, sr.ReadToEnd( ) ); GL.CompileShader( VertexShaderObject ); } GL.GetShaderInfoLog( VertexShaderObject, out LogInfo ); if ( LogInfo.Length > 0 && !LogInfo.Contains( "hardware" ) ) Trace.WriteLine( "Vertex Shader failed!\nLog:\n" + LogInfo ); else Trace.WriteLine( "Vertex Shader compiled without complaint." ); // Load&Compile Fragment Shader using ( StreamReader sr = new StreamReader( FragmentShaderFilename ) ) { FragmentShaderObject = GL.CreateShader( ShaderType.FragmentShader ); GL.ShaderSource( FragmentShaderObject, sr.ReadToEnd( ) ); GL.CompileShader( FragmentShaderObject ); } GL.GetShaderInfoLog( FragmentShaderObject, out LogInfo ); if ( LogInfo.Length > 0 && !LogInfo.Contains( "hardware" ) ) Trace.WriteLine( "Fragment Shader failed!\nLog:\n" + LogInfo ); else Trace.WriteLine( "Fragment Shader compiled without complaint." ); // Link the Shaders to a usable Program ProgramObject = GL.CreateProgram( ); GL.AttachShader( ProgramObject, VertexShaderObject ); GL.AttachShader( ProgramObject, FragmentShaderObject ); // link it all together GL.LinkProgram( ProgramObject ); // flag ShaderObjects for delete when not used anymore GL.DeleteShader( VertexShaderObject ); GL.DeleteShader( FragmentShaderObject ); int[] temp = new int[1]; GL.GetProgram( ProgramObject, ProgramParameter.LinkStatus, out temp[0] ); Trace.WriteLine( "Linking Program (" + ProgramObject + ") " + ( ( temp[0] == 1 ) ? "succeeded." : "FAILED!" ) ); if ( temp[0] != 1 ) { GL.GetProgramInfoLog( ProgramObject, out LogInfo ); Trace.WriteLine( "Program Log:\n" + LogInfo ); } GL.GetProgram( ProgramObject, ProgramParameter.ActiveAttributes, out temp[0] ); Trace.WriteLine( "Program registered " + temp[0] + " Attributes. (Should be 4: Pos, UV, Normal, Tangent)" ); Trace.WriteLine( "Tangent attribute bind location: " + GL.GetAttribLocation( ProgramObject, "AttributeTangent" ) ); Trace.WriteLine( "End of Shader build. GL Error: " + GL.GetError( ) ); #endregion Shaders #region Textures TextureLoaderParameters.FlipImages = false; TextureLoaderParameters.MagnificationFilter = TextureMagFilter.Linear; TextureLoaderParameters.MinificationFilter = TextureMinFilter.Linear; TextureLoaderParameters.WrapModeS = TextureWrapMode.ClampToEdge; TextureLoaderParameters.WrapModeT = TextureWrapMode.ClampToEdge; TextureLoaderParameters.EnvMode = TextureEnvMode.Modulate; ImageDDS.LoadFromDisk( TMU0_Filename, out TMU0_Handle, out TMU0_Target ); Trace.WriteLine( "Loaded " + TMU0_Filename + " with handle " + TMU0_Handle + " as " + TMU0_Target ); #endregion Textures Trace.WriteLine( "End of Texture Loading. GL Error: " + GL.GetError( ) ); Trace.WriteLine( ""); sphere = new SlicedSphere(1.5f, Vector3d.Zero, SlicedSphere.eSubdivisions.Four, new SlicedSphere.eDir[] { SlicedSphere.eDir.All }, true); } protected override void OnUnload(EventArgs e) { sphere.Dispose(); GL.DeleteProgram( ProgramObject ); GL.DeleteTextures( 1, ref TMU0_Handle ); base.OnUnload( e ); } /// Respond to resize events here. /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize( EventArgs e ) { GL.Viewport( 0, 0, Width, Height ); GL.MatrixMode( MatrixMode.Projection ); Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 10.0f); GL.LoadMatrix(ref p); GL.MatrixMode( MatrixMode.Modelview ); GL.LoadIdentity( ); base.OnResize( e ); } /// Add your game logic here. /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame( FrameEventArgs e ) { base.OnUpdateFrame( e ); if ( Keyboard[OpenTK.Input.Key.Escape] ) this.Exit( ); if ( Keyboard[OpenTK.Input.Key.Space] ) Trace.WriteLine( "GL: " + GL.GetError( ) ); Trackball.X = Mouse.X; Trackball.Y = Mouse.Y; Trackball.Z = Mouse.Wheel * 0.5f; } /// Add your game rendering code here. /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { this.Title = "FPS: " + (1 / e.Time).ToString("0."); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.UseProgram(ProgramObject); #region Textures GL.ActiveTexture(TMU0_Unit); GL.BindTexture(TMU0_Target, TMU0_Handle); #endregion Textures #region Uniforms GL.Uniform1(GL.GetUniformLocation(ProgramObject, "Earth"), TMU0_UnitInteger); #endregion Uniforms GL.PushMatrix(); Matrix4 temp = Matrix4.LookAt(EyePos, Vector3.Zero, Vector3.UnitY); GL.MultMatrix(ref temp); GL.Rotate(Trackball.X, Vector3.UnitY); GL.Rotate(Trackball.Y, Vector3.UnitX); #region Draw GL.Color3(1f, 1f, 1f); sphere.Draw(); #endregion Draw GL.PopMatrix(); this.SwapBuffers(); } /// Entry point [STAThread] public static void Main( ) { using ( T13_GLSL_Earth example = new T13_GLSL_Earth( ) ) { Utilities.SetWindowTitle(example); example.Run( 30.0, 0.0 ); } } } } opentk-1.0.20101006/Source/Examples/OpenGL/2.x/GeometryShaderAdvanced.cs0000664000175000017500000012766311453131434024234 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.Drawing; using OpenTK; using OpenTK.Input; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; /* * The idea is to make a simple scene: A box with a checker texture with a sphere inside it. The * camera will be inside the box looking at the sphere. * * Rendering will be done in two passes. The first pass will render the box from within the * sphere, looking in along all three axes in the positive and negative directions. These six * different camara orientations will be rendered to individual faces of a cubemap, in one * single pass using the gl_Layer token in the geometry shader. This cubemap will be used the * the second pass. * * The second pass will render both the box and the sphere. The box will have the checker * texture, and the sphere will use the cubemap from the first pass. * * Keys: * F1 - switch to cubemap cross texture view * F2 - switch to the normal scene render * * F5 - Polygon mode points * F6 - Polygon mode lines * F7 - Polygon mode fill * * References: * http://www.opengl.org/wiki/GL_EXT_framebuffer_object#Quick_example.2C_render_to_texture_.28Cubemap.29 * http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt * http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt */ namespace Examples.Tutorial { [Example("Advanced Geometry Shader", ExampleCategory.OpenGL, "2.x", Documentation = "Advanced usage of EXT_geometry_shader4")] public class SimpleGeometryShader2 : GameWindow { public SimpleGeometryShader2() : base(800, 600) { Keyboard.KeyDown += Keyboard_KeyDown; } enum ViewMode { CubemapCross, Scene, } struct VertexPositionNormalTexture { public Vector3 Position, Normal; public Vector2 Texture; public VertexPositionNormalTexture(Vector3 position, Vector3 normal, Vector2 texture) { Position = position; Normal = normal; Texture = texture; } } #region Fields int shaderProgramBox; int shaderProgramSphere; int shaderProgramCubemap; int textureCubeColor; int textureCubeDepth; int textureCubeFBO; int vboCube; int vboCubeStride; int vboSphere; int vboSphereStride = BlittableValueType.Stride; int eboSphere; int sphereElementCount; ViewMode mode = ViewMode.Scene; Vector3 eyePos = new Vector3(0, -8, 0); Vector3 eyeLookat = new Vector3(0, -9, -0); Vector3 spherePos = new Vector3(0, -9, 0); DateTime startTime = DateTime.Now; #endregion #region keyboard handler void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { switch (e.Key) { case Key.F1: switchToMode(ViewMode.CubemapCross); break; case Key.F2: switchToMode(ViewMode.Scene); break; case Key.F5: GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); break; case Key.F6: GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); break; case Key.F7: GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); break; case Key.Escape: this.Exit(); break; default: break; } } #endregion #region init methods void initShaderProgramBox() { // create a program object. shaderProgramBox = GL.CreateProgram(); // create shader objects. int vert = GL.CreateShader(ShaderType.VertexShader); int frag = GL.CreateShader(ShaderType.FragmentShader); // GLSL for fragment shader. // diagonal checker String fragSource = @" varying vec3 normal; void main( void ) { float s = gl_TexCoord[0].s * 6.28 * 8.0; float t = gl_TexCoord[0].t * 6.28 * 8.0; gl_FragColor = gl_TexCoord[1] * vec4(sign(cos(s)+cos(t))); //gl_FragColor = vec4(normal*vec3(0.5)+vec3(0.5), 1); } "; // GLSL for vertex shader. String vertSource = @" varying vec3 normal; void main( void ) { gl_Position = ftransform(); normal = gl_Normal; gl_TexCoord[0] = gl_MultiTexCoord0; gl_TexCoord[1] = normalize(gl_Vertex)*0.5+0.5; } "; // compile shaders. compileShader(frag, fragSource); compileShader(vert, vertSource); // attach shaders and link the program. GL.AttachShader(shaderProgramBox, frag); GL.AttachShader(shaderProgramBox, vert); GL.LinkProgram(shaderProgramBox); // output link info log. string info; GL.GetProgramInfoLog(shaderProgramBox, out info); Debug.WriteLine(info); // Clean up resources. Note the program object is not deleted. if (frag != 0) GL.DeleteShader(frag); if (vert != 0) GL.DeleteShader(vert); } void initShaderProgramSphere() { // create a program object. shaderProgramSphere = GL.CreateProgram(); // create shader objects. int vert = GL.CreateShader(ShaderType.VertexShader); int frag = GL.CreateShader(ShaderType.FragmentShader); // GLSL for fragment shader. String fragSource = @" varying vec3 normal; varying vec3 eyevec; uniform samplerCube tex; void main( void ) { gl_FragColor = textureCube(tex, reflect(normalize(-eyevec), normalize(normal))); } "; // GLSL for vertex shader. String vertSource = @" varying vec3 normal; varying vec3 eyevec; void main( void ) { gl_Position = ftransform(); eyevec = -gl_Vertex.xyz; normal = gl_Normal; } "; // compile shaders. compileShader(frag, fragSource); compileShader(vert, vertSource); // attach shaders and link the program. GL.AttachShader(shaderProgramSphere, frag); GL.AttachShader(shaderProgramSphere, vert); GL.LinkProgram(shaderProgramSphere); // output link info log. string info; GL.GetProgramInfoLog(shaderProgramSphere, out info); Debug.WriteLine(info); // Clean up resources. Note the program object is not deleted. if (frag != 0) GL.DeleteShader(frag); if (vert != 0) GL.DeleteShader(vert); } void initShaderProgramCubemap() { // create a program object. shaderProgramCubemap = GL.CreateProgram(); // create shader objects. int vert = GL.CreateShader(ShaderType.VertexShader); int frag = GL.CreateShader(ShaderType.FragmentShader); int geom = GL.CreateShader(ShaderType.GeometryShaderExt); // GLSL for fragment shader. // Checkerboard :) String fragSource = @" #version 120 #extension GL_EXT_gpu_shader4 : enable void main( void ) { float s = gl_TexCoord[0].s * 6.28 * 8.0; float t = gl_TexCoord[0].t * 6.28 * 8.0; gl_FragColor = gl_TexCoord[2] * vec4(sign(cos(s)+cos(t)))/* * gl_TexCoord[1]*/; // gl_FragColor = gl_TexCoord[1]; } "; // GLSL for vertex shader. String vertSource = @" #version 120 #extension GL_EXT_gpu_shader4 : enable //varying vec4 p[2]; //varying vec4 nx; void main( void ) { gl_Position = gl_Vertex; gl_TexCoord[2] = normalize(gl_Vertex)*0.5+0.5; gl_TexCoord[0] = gl_MultiTexCoord0; } "; // GLSL for geometry shader. String geomSource = @" #version 120 #extension GL_EXT_geometry_shader4 : enable #extension GL_EXT_gpu_shader4 : enable uniform mat4 matrixPX; uniform mat4 matrixNX; uniform mat4 matrixPY; uniform mat4 matrixNY; uniform mat4 matrixPZ; uniform mat4 matrixNZ; void main(void) { int i, layer; gl_Layer = 0; gl_TexCoord[1] = vec4(1, 0, 0, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixPX * gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); gl_Layer = 1; gl_TexCoord[1] = vec4(0, 0, 1, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixNX * gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); gl_Layer = 2; gl_TexCoord[1] = vec4(0, 1, 0, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixPY* gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); gl_Layer = 3; gl_TexCoord[1] = vec4(1, 1, 0, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixNY * gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); gl_Layer = 4; gl_TexCoord[1] = vec4(1, 1, 1, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixPZ * gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); gl_Layer = 5; gl_TexCoord[1] = vec4(1, 0, 1, 1); for (i = 0; i < gl_VerticesIn; i++) { gl_Position = matrixNZ * gl_PositionIn[i]; gl_TexCoord[0] = gl_TexCoordIn[i][0]; gl_TexCoord[2] = gl_TexCoordIn[i][2]; EmitVertex(); } EndPrimitive(); } "; // compile shaders. compileShader(frag, fragSource); compileShader(vert, vertSource); compileShader(geom, geomSource); int tmp; GL.GetInteger((GetPName)ExtGeometryShader4.MaxGeometryOutputVerticesExt, out tmp); GL.Ext.ProgramParameter(shaderProgramCubemap, ExtGeometryShader4.GeometryVerticesOutExt, 18); GL.Ext.ProgramParameter(shaderProgramCubemap, ExtGeometryShader4.GeometryInputTypeExt, (int)All.Triangles); GL.Ext.ProgramParameter(shaderProgramCubemap, ExtGeometryShader4.GeometryOutputTypeExt, (int)All.TriangleStrip); // attach shaders and link the program. GL.AttachShader(shaderProgramCubemap, frag); GL.AttachShader(shaderProgramCubemap, vert); GL.AttachShader(shaderProgramCubemap, geom); GL.LinkProgram(shaderProgramCubemap); // output link info log. string info; GL.GetProgramInfoLog(shaderProgramCubemap, out info); Debug.WriteLine(info); // Clean up resources. Note the program object is not deleted. if (frag != 0) GL.DeleteShader(frag); if (vert != 0) GL.DeleteShader(vert); if (geom != 0) GL.DeleteShader(geom); } /// /// Helper method to avoid code duplication. /// Compiles a shader and prints results using Debug.WriteLine. /// /// A shader object, gotten from GL.CreateShader. /// The GLSL source to compile. void compileShader(int shader, string source) { GL.ShaderSource(shader, source); GL.CompileShader(shader); string info; GL.GetShaderInfoLog(shader, out info); Debug.WriteLine(info); int compileResult; GL.GetShader(shader, ShaderParameter.CompileStatus, out compileResult); if (compileResult != 1) { Debug.WriteLine("Compile Error!"); Debug.WriteLine(source); } } void initTextureCube() { textureCubeColor = GL.GenTexture(); GL.BindTexture(TextureTarget.TextureCubeMap, textureCubeColor); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapR, (int)TextureWrapMode.ClampToEdge); foreach (TextureTarget target in new TextureTarget[] { TextureTarget.TextureCubeMapPositiveX, TextureTarget.TextureCubeMapNegativeX, TextureTarget.TextureCubeMapPositiveY, TextureTarget.TextureCubeMapNegativeY, TextureTarget.TextureCubeMapPositiveZ, TextureTarget.TextureCubeMapNegativeZ, }) { GL.TexImage2D(target, 0, PixelInternalFormat.Rgba8, 512, 512, 0, PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero); } /* GL.BindTexture(TextureTarget.TextureCubeMap, textureCubeDepth); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapS, (int)TextureWrapMode.ClampToEdge); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapT, (int)TextureWrapMode.ClampToEdge); GL.TexParameter(TextureTarget.TextureCubeMap, TextureParameterName.TextureWrapR, (int)TextureWrapMode.ClampToEdge); foreach (TextureTarget target in new TextureTarget[] { TextureTarget.TextureCubeMapPositiveX, TextureTarget.TextureCubeMapNegativeX, TextureTarget.TextureCubeMapPositiveY, TextureTarget.TextureCubeMapNegativeY, TextureTarget.TextureCubeMapPositiveZ, TextureTarget.TextureCubeMapNegativeZ, }) { GL.TexImage2D(target, 0, (PixelInternalFormat)All.DepthComponent32, 512, 512, 0, PixelFormat.DepthComponent, PixelType.UnsignedInt, IntPtr.Zero); } */ GL.Ext.GenFramebuffers(1, out textureCubeFBO); GL.Ext.GenRenderbuffers(1, out textureCubeDepth); GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, textureCubeFBO); GL.Ext.FramebufferTexture(FramebufferTarget.FramebufferExt, FramebufferAttachment.ColorAttachment0Ext, textureCubeColor, 0); //GL.Ext.BindRenderbuffer(RenderbufferTarget.RenderbufferExt, textureCubeDepth); //GL.Ext.RenderbufferStorage(RenderbufferTarget.RenderbufferExt, (RenderbufferStorage)All.DepthComponent24, 512, 512); //GL.Ext.FramebufferRenderbuffer(FramebufferTarget.FramebufferExt, FramebufferAttachment.DepthAttachmentExt, RenderbufferTarget.RenderbufferExt, textureCubeDepth); #region Test for Error FramebufferErrorCode e = GL.Ext.CheckFramebufferStatus(FramebufferTarget.FramebufferExt); switch (e) { case FramebufferErrorCode.FramebufferCompleteExt: { Console.WriteLine("FBO: The framebuffer is complete and valid for rendering."); break; } case FramebufferErrorCode.FramebufferIncompleteAttachmentExt: { Console.WriteLine("FBO: One or more attachment points are not framebuffer attachment complete. This could mean there’s no texture attached or the format isn’t renderable. For color textures this means the base format must be RGB or RGBA and for depth textures it must be a DEPTH_COMPONENT format. Other causes of this error are that the width or height is zero or the z-offset is out of range in case of render to volume."); break; } case FramebufferErrorCode.FramebufferIncompleteMissingAttachmentExt: { Console.WriteLine("FBO: There are no attachments."); break; } /* case FramebufferErrorCode.GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT: { Console.WriteLine("FBO: An object has been attached to more than one attachment point."); break; }*/ case FramebufferErrorCode.FramebufferIncompleteDimensionsExt: { Console.WriteLine("FBO: Attachments are of different size. All attachments must have the same width and height."); break; } case FramebufferErrorCode.FramebufferIncompleteFormatsExt: { Console.WriteLine("FBO: The color attachments have different format. All color attachments must have the same format."); break; } case FramebufferErrorCode.FramebufferIncompleteDrawBufferExt: { Console.WriteLine("FBO: An attachment point referenced by GL.DrawBuffers() doesn’t have an attachment."); break; } case FramebufferErrorCode.FramebufferIncompleteReadBufferExt: { Console.WriteLine("FBO: The attachment point referenced by GL.ReadBuffers() doesn’t have an attachment."); break; } case FramebufferErrorCode.FramebufferUnsupportedExt: { Console.WriteLine("FBO: This particular FBO configuration is not supported by the implementation."); break; } case (FramebufferErrorCode)All.FramebufferIncompleteLayerTargetsExt: { Console.WriteLine("FBO: Framebuffer Incomplete Layer Targets."); break; } case (FramebufferErrorCode)All.FramebufferIncompleteLayerCountExt: { Console.WriteLine("FBO: Framebuffer Incomplete Layer Count."); break; } default: { Console.WriteLine("FBO: Status unknown. (yes, this is really bad.)"); break; } } // using FBO might have changed states, e.g. the FBO might not support stereoscopic views or double buffering int[] queryinfo = new int[6]; GL.GetInteger(GetPName.MaxColorAttachmentsExt, out queryinfo[0]); GL.GetInteger(GetPName.AuxBuffers, out queryinfo[1]); GL.GetInteger(GetPName.MaxDrawBuffers, out queryinfo[2]); GL.GetInteger(GetPName.Stereo, out queryinfo[3]); GL.GetInteger(GetPName.Samples, out queryinfo[4]); GL.GetInteger(GetPName.Doublebuffer, out queryinfo[5]); Console.WriteLine("max. ColorBuffers: " + queryinfo[0] + " max. AuxBuffers: " + queryinfo[1] + " max. DrawBuffers: " + queryinfo[2] + "\nStereo: " + queryinfo[3] + " Samples: " + queryinfo[4] + " DoubleBuffer: " + queryinfo[5]); Console.WriteLine("Last GL Error: " + GL.GetError()); #endregion Test for Error GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, 0); // disable rendering into the FBO } void initVBOCube() { GL.GenBuffers(1, out vboCube); // vertex 3 floats // normal 3 floats // texcoord 2 floats // 3+3+2=8 floats = 8*4 = 32 bytes vboCubeStride = 32; GL.BindBuffer(BufferTarget.ArrayBuffer, vboCube); GL.BufferData(BufferTarget.ArrayBuffer, new IntPtr(cubeData.Length * vboCubeStride), cubeData, BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); } void initVBOSpere() { VertexPositionNormalTexture[] sphereVertices = CalculateSphereVertices(1, 1, 16, 16); ushort[] sphereElements = CalculateSphereElements(1, 1, 16, 16); sphereElementCount = sphereElements.Length; GL.GenBuffers(1, out vboSphere); GL.BindBuffer(BufferTarget.ArrayBuffer, vboSphere); GL.BufferData(BufferTarget.ArrayBuffer, new IntPtr(BlittableValueType.StrideOf(sphereVertices) * sphereVertices.Length), sphereVertices, BufferUsageHint.StaticDraw); GL.GenBuffers(1, out eboSphere); GL.BindBuffer(BufferTarget.ElementArrayBuffer, eboSphere); GL.BufferData(BufferTarget.ElementArrayBuffer, new IntPtr(BlittableValueType.StrideOf(sphereElements) * sphereElements.Length), sphereElements, BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); } #endregion #region perspective void setOrtho() { OpenTK.Matrix4 proj; proj = OpenTK.Matrix4.CreateOrthographicOffCenter(-1, 1, -1, 1, 1, -1); GL.LoadMatrix(ref proj); } void setPerspective() { OpenTK.Matrix4 proj; proj = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 200f); GL.LoadMatrix(ref proj); } void switchToMode(ViewMode m) { mode = m; // force update of projection matrix by calling OnResize this.OnResize(EventArgs.Empty); } #endregion #region render methods void drawCubemapCross() { GL.ClearColor(0.1f, 0.1f, 0.1f, 0.1f); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.PushAttrib(AttribMask.PolygonBit); GL.Enable(EnableCap.TextureCubeMap); GL.BindTexture(TextureTarget.TextureCubeMap, textureCubeColor); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); /* * * +---+ * | 4 | * +---+---+---+---+ * | 0 | 1 | 2 | 3 | * +---+---+---+---+ * | 5 | * +---+ * 0 -x * 1 +z * 2 +x * 3 -z * 4 +y * 5 -y */ GL.PushMatrix(); GL.LoadIdentity(); GL.Begin(BeginMode.Quads); // 0 -x GL.TexCoord3(-1.0f, +1.0f, -1.0f); GL.Vertex2(-1.0f, +0.3333f); GL.TexCoord3(-1.0f, +1.0f, +1.0f); GL.Vertex2(-0.5f, +0.3333f); GL.TexCoord3(-1.0f, -1.0f, +1.0f); GL.Vertex2(-0.5f, -0.3333f); GL.TexCoord3(-1.0f, -1.0f, -1.0f); GL.Vertex2(-1.0f, -0.3333f); // 1 +z GL.TexCoord3(-1.0f, +1.0f, +1.0f); GL.Vertex2(-0.5f, +0.3333f); GL.TexCoord3(+1.0f, +1.0f, +1.0f); GL.Vertex2(+0.0f, +0.3333f); GL.TexCoord3(+1.0f, -1.0f, +1.0f); GL.Vertex2(+0.0f, -0.3333f); GL.TexCoord3(-1.0f, -1.0f, +1.0f); GL.Vertex2(-0.5f, -0.3333f); // 2 +x GL.TexCoord3(+1.0f, +1.0f, +1.0f); GL.Vertex2(+0.0f, +0.3333f); GL.TexCoord3(+1.0f, +1.0f, -1.0f); GL.Vertex2(+0.5f, +0.3333f); GL.TexCoord3(+1.0f, -1.0f, -1.0f); GL.Vertex2(+0.5f, -0.3333f); GL.TexCoord3(+1.0f, -1.0f, +1.0f); GL.Vertex2(+0.0f, -0.3333f); // 3 -z GL.TexCoord3(+1.0f, +1.0f, -1.0f); GL.Vertex2(+0.5f, +0.3333f); GL.TexCoord3(-1.0f, +1.0f, -1.0f); GL.Vertex2(+1.0f, +0.3333f); GL.TexCoord3(-1.0f, -1.0f, -1.0f); GL.Vertex2(+1.0f, -0.3333f); GL.TexCoord3(+1.0f, -1.0f, -1.0f); GL.Vertex2(+0.5f, -0.3333f); // 4 +y GL.TexCoord3(-1.0f, +1.0f, -1.0f); GL.Vertex2(-0.5f, +1.0f); GL.TexCoord3(+1.0f, +1.0, -1.0f); GL.Vertex2(+0.0f, +1.0); GL.TexCoord3(+1.0f, +1.0f, +1.0f); GL.Vertex2(+0.0f, +0.3333f); GL.TexCoord3(-1.0f, +1.0f, +1.0f); GL.Vertex2(-0.5f, +0.3333f); // 5 -y GL.TexCoord3(-1.0f, -1.0f, +1.0f); GL.Vertex2(-0.5f, -0.3333f); GL.TexCoord3(+1.0f, -1.0, +1.0f); GL.Vertex2(+0.0f, -0.3333f); GL.TexCoord3(+1.0f, -1.0f, -1.0f); GL.Vertex2(+0.0f, -1.0f); GL.TexCoord3(-1.0f, -1.0f, -1.0f); GL.Vertex2(-0.5f, -1.0f); GL.End(); GL.PopMatrix(); GL.Disable(EnableCap.TextureCubeMap); GL.PopAttrib(); } void renderCubeVBO() { GL.EnableClientState(EnableCap.VertexArray); GL.EnableClientState(EnableCap.NormalArray); GL.EnableClientState(EnableCap.TextureCoordArray); //GL.ClientActiveTexture(TextureUnit.Texture0 + 0); GL.BindBuffer(BufferTarget.ArrayBuffer, vboCube); GL.VertexPointer(3, VertexPointerType.Float, vboCubeStride, new IntPtr(0)); GL.NormalPointer(NormalPointerType.Float, vboCubeStride, new IntPtr(Vector3.SizeInBytes)); GL.TexCoordPointer(2, TexCoordPointerType.Float, vboCubeStride, new IntPtr(Vector3.SizeInBytes + Vector3.SizeInBytes)); //GL.Arb.DrawArraysInstanced(BeginMode.Triangles, 0, cubeData.Length/8, 1); GL.DrawArrays(BeginMode.Triangles, 0, cubeData.Length / (vboCubeStride / sizeof(float))); GL.DisableClientState(EnableCap.VertexArray); GL.DisableClientState(EnableCap.NormalArray); GL.DisableClientState(EnableCap.TextureCoordArray); } void renderSphereVBO() { GL.EnableClientState(EnableCap.VertexArray); GL.EnableClientState(EnableCap.NormalArray); GL.EnableClientState(EnableCap.TextureCoordArray); //GL.ClientActiveTexture(TextureUnit.Texture0 + 0); GL.BindBuffer(BufferTarget.ArrayBuffer, vboSphere); GL.VertexPointer(3, VertexPointerType.Float, vboSphereStride, new IntPtr(0)); GL.NormalPointer(NormalPointerType.Float, vboSphereStride, new IntPtr(Vector3.SizeInBytes)); GL.TexCoordPointer(2, TexCoordPointerType.Float, vboSphereStride, new IntPtr(Vector3.SizeInBytes + Vector3.SizeInBytes)); GL.BindBuffer(BufferTarget.ElementArrayBuffer, eboSphere); GL.DrawElements(BeginMode.Triangles, 16 * 16 * 6, DrawElementsType.UnsignedShort, IntPtr.Zero); //GL.Arb.DrawArraysInstanced(BeginMode.Triangles, 0, cubeData.Length/8, 1); //GL.DrawArrays(BeginMode.Triangles, 0, sphereData.Length / (vboSphereStride / sizeof(float))); GL.DisableClientState(EnableCap.VertexArray); GL.DisableClientState(EnableCap.NormalArray); GL.DisableClientState(EnableCap.TextureCoordArray); } void renderCubemap() { GL.Disable(EnableCap.DepthTest); // draw onto cubemap FBO using geometry shader GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, textureCubeFBO); GL.UseProgram(shaderProgramCubemap); GL.PushAttrib(AttribMask.ViewportBit); { GL.Viewport(0, 0, 512, 512); // clear all cubemap faces to blue GL.ClearColor(0f, 0f, 1f, 0f); for (int i = 0; i < 6; i++) { GL.Ext.FramebufferTexture2D(FramebufferTarget.FramebufferExt, FramebufferAttachment.ColorAttachment0, TextureTarget.TextureCubeMapPositiveX + i, textureCubeColor, 0); //todo select depth renderbuffer face and trun depth_test on again GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); } GL.Ext.FramebufferTexture(FramebufferTarget.FramebufferExt, FramebufferAttachment.ColorAttachment0, textureCubeColor, 0); // Create 6 ModelViewProjection matrices, one to look in each direction // proj with 90 degrees (1/2 pi) fov // translate negative to place cam insize sphere Matrix4 model = Matrix4.Scale(-1) * Matrix4.CreateTranslation(spherePos); Matrix4 proj = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver2, 1, 0.1f, 100f); Matrix4[] m = new Matrix4[6]; m[0] = model * Matrix4.LookAt(Vector3.Zero, Vector3.UnitX, -Vector3.UnitY) * proj; m[1] = model * Matrix4.LookAt(Vector3.Zero, -Vector3.UnitX, -Vector3.UnitY) * proj; m[2] = model * Matrix4.LookAt(Vector3.Zero, Vector3.UnitY, Vector3.UnitZ) * proj; m[3] = model * Matrix4.LookAt(Vector3.Zero, -Vector3.UnitY, -Vector3.UnitZ) * proj; m[4] = model * Matrix4.LookAt(Vector3.Zero, Vector3.UnitZ, -Vector3.UnitY) * proj; m[5] = model * Matrix4.LookAt(Vector3.Zero, -Vector3.UnitZ, -Vector3.UnitY) * proj; GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixPX"), false, ref m[0]); GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixNX"), false, ref m[1]); GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixPY"), false, ref m[2]); GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixNY"), false, ref m[3]); GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixPZ"), false, ref m[4]); GL.UniformMatrix4(GL.GetUniformLocation(shaderProgramCubemap, "matrixNZ"), false, ref m[5]); renderCubeVBO(); } GL.PopAttrib(); GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, 0); GL.UseProgram(0); GL.Enable(EnableCap.DepthTest); } void renderScene() { GL.MatrixMode(MatrixMode.Projection); GL.PushMatrix(); setPerspective(); GL.MatrixMode(MatrixMode.Modelview); GL.PushMatrix(); Matrix4 lookat = Matrix4.LookAt(eyePos, eyeLookat, Vector3.UnitY); GL.LoadMatrix(ref lookat); GL.UseProgram(shaderProgramBox); renderCubeVBO(); GL.UseProgram(shaderProgramSphere); GL.BindTexture(TextureTarget.TextureCubeMap, textureCubeColor); GL.Uniform1(GL.GetUniformLocation(shaderProgramSphere, "tex"), 0); GL.Translate(spherePos); GL.Enable(EnableCap.DepthTest); renderSphereVBO(); GL.UseProgram(0); GL.MatrixMode(MatrixMode.Projection); GL.PopMatrix(); GL.MatrixMode(MatrixMode.Modelview); GL.PopMatrix(); } #endregion #region overrides protected override void OnLoad(EventArgs e) { if (!GL.GetString(StringName.Extensions).Contains("EXT_geometry_shader4")) { System.Windows.Forms.MessageBox.Show( "Your video card does not support EXT_geometry_shader4. Please update your drivers.", "EXT_geometry_shader4 not supported", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); Exit(); } //int tmp; //GL.GetInteger(GetPName.MaxVertexUniformComponents, out tmp); //0x0400 // 6 * 4x4 mat (0x10) = 0x60 // init shaders initShaderProgramBox(); initShaderProgramSphere(); initShaderProgramCubemap(); // init textures / fbos initTextureCube(); // init vbos initVBOCube(); initVBOSpere(); //switchToMode(ViewMode.Scene); } protected override void OnUnload(EventArgs e) { if (shaderProgramBox != 0) GL.DeleteProgram(shaderProgramBox); if (shaderProgramSphere != 0) GL.DeleteProgram(shaderProgramSphere); if (shaderProgramCubemap != 0) GL.DeleteProgram(shaderProgramCubemap); if (textureCubeColor != 0) GL.DeleteTexture(textureCubeColor); if (textureCubeDepth != 0) GL.DeleteTexture(textureCubeDepth); if (textureCubeFBO != 0) GL.DeleteFramebuffers(1, ref textureCubeFBO); base.OnUnload(e); } protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); // Set projection matrix GL.MatrixMode(MatrixMode.Projection); switch (mode) { case ViewMode.CubemapCross: setOrtho(); break; case ViewMode.Scene: setPerspective(); break; default: GL.LoadIdentity(); break; } // Set selector state back to ModelView matrix mode GL.MatrixMode(MatrixMode.Modelview); base.OnResize(e); } protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); // elapsed time in ms since last start double elapsed = (DateTime.Now - startTime).TotalMilliseconds; spherePos.X = (float)Math.Sin(elapsed / 5000) * 3; spherePos.Z = (float)Math.Cos(elapsed / 5000) * 3; eyePos.X = (float)Math.Cos(elapsed / 3000) * 8; eyePos.Z = (float)Math.Sin(elapsed / 2000) * 8; if (Keyboard[Key.Space]) { ErrorCode err = GL.GetError(); //Console.WriteLine(err + " " + Glu.ErrorString((GluErrorCode)err)); Console.WriteLine("GL error code: {0}", err); } } protected override void OnRenderFrame(FrameEventArgs e) { if (mode == ViewMode.CubemapCross) { renderCubemap(); drawCubemapCross(); } if (mode == ViewMode.Scene) { renderCubemap(); GL.ClearColor(0.1f, 0.1f, 0.1f, 0.1f); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); renderScene(); } this.SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleGeometryShader2 example = new SimpleGeometryShader2()) { Utilities.SetWindowTitle(example); example.Run(60.0, 0.0); } } #endregion #region data //structure: vec3 pos, vec3 normal, vec2 texcoord static float[] cubeData = { -10,-10,-10, 0,0,-10, 1.0f,0.0f, -10,10,-10, 0,0,-10, 1.0f,1.0f, 10,10,-10, 0,0,-10, 0.0f,1.0f, 10,10,-10, 0,0,-10, 0.0f,1.0f, 10,-10,-10, 0,0,-10, 0.0f,0.0f, -10,-10,-10, 0,0,-10, 1.0f,0.0f, -10,-10,10, 0,0,10, 0.0f,0.0f, 10,-10,10, 0,0,10, 1.0f,0.0f, 10,10,10, 0,0,10, 1.0f,1.0f, 10,10,10, 0,0,10, 1.0f,1.0f, -10,10,10, 0,0,10, 0.0f,1.0f, -10,-10,10, 0,0,10, 0.0f,0.0f, -10,-10,-10, 0,-10,0, 0.0f,0.0f, 10,-10,-10, 0,-10,0, 1.0f,0.0f, 10,-10,10, 0,-10,0, 1.0f,1.0f, 10,-10,10, 0,-10,0, 1.0f,1.0f, -10,-10,10, 0,-10,0, 0.0f,1.0f, -10,-10,-10, 0,-10,0, 0.0f,0.0f, 10,-10,-10, 10,0,0, 0.0f,0.0f, 10,10,-10, 10,0,0, 1.0f,0.0f, 10,10,10, 10,0,0, 1.0f,1.0f, 10,10,10, 10,0,0, 1.0f,1.0f, 10,-10,10, 10,0,0, 0.0f,1.0f, 10,-10,-10, 10,0,0, 0.0f,0.0f, 10,10,-10, 0,10,0, 0.0f,0.0f, -10,10,-10, 0,10,0, 1.0f,0.0f, -10,10,10, 0,10,0, 1.0f,1.0f, -10,10,10, 0,10,0, 1.0f,1.0f, 10,10,10, 0,10,0, 0.0f,1.0f, 10,10,-10, 0,10,0, 0.0f,0.0f, -10,10,-10, -10,0,0, 0.0f,0.0f, -10,-10,-10, -10,0,0, 1.0f,0.0f, -10,-10,10, -10,0,0, 1.0f,1.0f, -10,-10,10, -10,0,0, 1.0f,1.0f, -10,10,10, -10,0,0, 0.0f,1.0f, -10,10,-10, -10,0,0, 0.0f,0.0f, }; static VertexPositionNormalTexture[] CalculateSphereVertices(float radius, float height, byte segments, byte rings) { VertexPositionNormalTexture[] data = new VertexPositionNormalTexture[segments * rings]; int i = 0; for (double y = 0; y < rings; y++) { double phi = (y / (rings - 1)) * Math.PI; for (double x = 0; x < segments; x++) { double theta = (x / (segments - 1)) * 2 * Math.PI; Vector3 v = new Vector3( (float)(radius * Math.Sin(phi) * Math.Cos(theta)), (float)(height * Math.Cos(phi)), (float)(radius * Math.Sin(phi) * Math.Sin(theta))); Vector3 n = Vector3.Normalize(v); Vector2 uv = new Vector2( (float)(x / (segments - 1)), (float)(y / (rings - 1))); // Using data[i++] causes i to be incremented multiple times in Mono 2.2 (bug #479506). data[i] = new VertexPositionNormalTexture(v, n, uv); i++; } } return data; } static ushort[] CalculateSphereElements(float radius, float height, byte segments, byte rings) { int num_vertices = segments * rings; ushort[] data = new ushort[num_vertices * 6]; ushort i = 0; for (byte y = 0; y < rings - 1; y++) { for (byte x = 0; x < segments - 1; x++) { data[i++] = (ushort)((y + 0) * segments + x); data[i++] = (ushort)((y + 1) * segments + x); data[i++] = (ushort)((y + 1) * segments + x + 1); data[i++] = (ushort)((y + 1) * segments + x + 1); data[i++] = (ushort)((y + 0) * segments + x + 1); data[i++] = (ushort)((y + 0) * segments + x); } } // Verify that we don't access any vertices out of bounds: foreach (int index in data) if (index >= segments * rings) throw new IndexOutOfRangeException(); return data; } #endregion } }opentk-1.0.20101006/Source/Examples/OpenGL/2.x/SimpleGLSL.cs0000664000175000017500000002600111453131434021557 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion #region --- Using Directives --- using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using System.Diagnostics; using System.IO; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; #endregion --- Using Directives --- namespace Examples.Tutorial { /// /// Demonstrates how to load and use a simple OpenGL shader program. Example is incomplete (documentation). /// [Example("First shader", ExampleCategory.OpenGL, "2.x", Documentation = "SimpleGLSL")] public class T10_GLSL_Cube : GameWindow { #region --- Fields --- static float angle = 0.0f, rotation_speed = 3.0f; int vertex_shader_object, fragment_shader_object, shader_program; int vertex_buffer_object, color_buffer_object, element_buffer_object; Shapes.Shape shape = new Examples.Shapes.Cube(); #endregion #region --- Constructors --- public T10_GLSL_Cube() : base(800, 600, GraphicsMode.Default) { } #endregion #region OnLoad /// /// This is the place to load resources that change little /// during the lifetime of the GameWindow. In this case, we /// check for GLSL support, and load the shaders. /// /// Not used. protected override void OnLoad(EventArgs e) { // Check for necessary capabilities: string version = GL.GetString(StringName.Version); int major = (int)version[0]; int minor = (int)version[2]; if (major < 2) { MessageBox.Show("You need at least OpenGL 2.0 to run this example. Aborting.", "GLSL not supported", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Exit(); } GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); CreateVBO(); using (StreamReader vs = new StreamReader("Data/Shaders/Simple_VS.glsl")) using (StreamReader fs = new StreamReader("Data/Shaders/Simple_FS.glsl")) CreateShaders(vs.ReadToEnd(), fs.ReadToEnd(), out vertex_shader_object, out fragment_shader_object, out shader_program); } #endregion #region CreateShaders void CreateShaders(string vs, string fs, out int vertexObject, out int fragmentObject, out int program) { int status_code; string info; vertexObject = GL.CreateShader(ShaderType.VertexShader); fragmentObject = GL.CreateShader(ShaderType.FragmentShader); // Compile vertex shader GL.ShaderSource(vertexObject, vs); GL.CompileShader(vertexObject); GL.GetShaderInfoLog(vertexObject, out info); GL.GetShader(vertexObject, ShaderParameter.CompileStatus, out status_code); if (status_code != 1) throw new ApplicationException(info); // Compile vertex shader GL.ShaderSource(fragmentObject, fs); GL.CompileShader(fragmentObject); GL.GetShaderInfoLog(fragmentObject, out info); GL.GetShader(fragmentObject, ShaderParameter.CompileStatus, out status_code); if (status_code != 1) throw new ApplicationException(info); program = GL.CreateProgram(); GL.AttachShader(program, fragmentObject); GL.AttachShader(program, vertexObject); GL.LinkProgram(program); GL.UseProgram(program); } #endregion #region private void CreateVBO() void CreateVBO() { int size; GL.GenBuffers(1, out vertex_buffer_object); GL.GenBuffers(1, out color_buffer_object); GL.GenBuffers(1, out element_buffer_object); // Upload the vertex buffer. GL.BindBuffer(BufferTarget.ArrayBuffer, vertex_buffer_object); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(shape.Vertices.Length * 3 * sizeof(float)), shape.Vertices, BufferUsageHint.StaticDraw); GL.GetBufferParameter(BufferTarget.ArrayBuffer, BufferParameterName.BufferSize, out size); if (size != shape.Vertices.Length * 3 * sizeof(Single)) throw new ApplicationException(String.Format( "Problem uploading vertex buffer to VBO (vertices). Tried to upload {0} bytes, uploaded {1}.", shape.Vertices.Length * 3 * sizeof(Single), size)); // Upload the color buffer. GL.BindBuffer(BufferTarget.ArrayBuffer, color_buffer_object); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(shape.Colors.Length * sizeof(int)), shape.Colors, BufferUsageHint.StaticDraw); GL.GetBufferParameter(BufferTarget.ArrayBuffer, BufferParameterName.BufferSize, out size); if (size != shape.Colors.Length * sizeof(int)) throw new ApplicationException(String.Format( "Problem uploading vertex buffer to VBO (colors). Tried to upload {0} bytes, uploaded {1}.", shape.Colors.Length * sizeof(int), size)); // Upload the index buffer (elements inside the vertex buffer, not color indices as per the IndexPointer function!) GL.BindBuffer(BufferTarget.ElementArrayBuffer, element_buffer_object); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(shape.Indices.Length * sizeof(Int32)), shape.Indices, BufferUsageHint.StaticDraw); GL.GetBufferParameter(BufferTarget.ElementArrayBuffer, BufferParameterName.BufferSize, out size); if (size != shape.Indices.Length * sizeof(int)) throw new ApplicationException(String.Format( "Problem uploading vertex buffer to VBO (offsets). Tried to upload {0} bytes, uploaded {1}.", shape.Indices.Length * sizeof(int), size)); } #endregion #region OnUnload protected override void OnUnload(EventArgs e) { if (shader_program != 0) GL.DeleteProgram(shader_program); if (fragment_shader_object != 0) GL.DeleteShader(fragment_shader_object); if (vertex_shader_object != 0) GL.DeleteShader(vertex_shader_object); if (vertex_buffer_object != 0) GL.DeleteBuffers(1, ref vertex_buffer_object); if (element_buffer_object != 0) GL.DeleteBuffers(1, ref element_buffer_object); } #endregion #region OnResize /// /// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); float aspect_ratio = Width / (float)Height; Matrix4 perpective = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perpective); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) this.Exit(); if (Keyboard[OpenTK.Input.Key.F11]) if (WindowState != WindowState.Fullscreen) WindowState = WindowState.Fullscreen; else WindowState = WindowState.Normal; } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); angle += rotation_speed * (float)e.Time; GL.Rotate(angle, 0.0f, 1.0f, 0.0f); GL.EnableClientState(EnableCap.VertexArray); GL.EnableClientState(EnableCap.ColorArray); GL.BindBuffer(BufferTarget.ArrayBuffer, vertex_buffer_object); GL.VertexPointer(3, VertexPointerType.Float, 0, IntPtr.Zero); GL.BindBuffer(BufferTarget.ArrayBuffer, color_buffer_object); GL.ColorPointer(4, ColorPointerType.UnsignedByte, 0, IntPtr.Zero); GL.BindBuffer(BufferTarget.ElementArrayBuffer, element_buffer_object); GL.DrawElements(BeginMode.Triangles, shape.Indices.Length, DrawElementsType.UnsignedInt, IntPtr.Zero); //GL.DrawArrays(GL.Enums.BeginMode.POINTS, 0, shape.Vertices.Length); GL.DisableClientState(EnableCap.VertexArray); GL.DisableClientState(EnableCap.ColorArray); //int error = GL.GetError(); //if (error != 0) // Debug.Print(Glu.ErrorString(Glu.Enums.ErrorCode.INVALID_OPERATION)); SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (T10_GLSL_Cube example = new T10_GLSL_Cube()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenAL/0000775000175000017500000000000011453142152016700 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenAL/Test/0000775000175000017500000000000011453142152017617 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenAL/Test/OpenALDiagnostics.cs0000664000175000017500000005342211453131440023460 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Runtime.InteropServices; using OpenTK; using OpenTK.Audio; using OpenTK.Audio.OpenAL; namespace Examples { /// /// A text-based diagnosis program for OpenAL. /// The constructors will call the OpenAL commands, the Print() methods just show the information. /// [Example("OpenAL diagnostics", ExampleCategory.OpenAL, "Test", 0, true)] class OpenALDiagnostics { public static void checkForErrors() { { IntPtr device = Alc.GetContextsDevice(Alc.GetCurrentContext()); AlcError error = Alc.GetError(device); if (error != AlcError.NoError) Trace.WriteLine("ALC ERROR: (" + error + ") " + Alc.GetString(device, (AlcGetString)error)); } { ALError error = AL.GetError(); if (error != ALError.NoError) Trace.WriteLine("AL ERROR: (" + error + ") " + AL.GetErrorString(error)); } } [STAThread] static void Main() { Trace.Listeners.RemoveAt(0); Trace.Listeners.Add(new ConsoleTraceListener()); Trace.WriteLine("This application is currently running as " + (IntPtr.Size == 4 ? "x86" : "x64")); DeviceDiagnostic DevDiag = new DeviceDiagnostic(); DevDiag.Print(); DevDiag = null; using (AudioContext A = new AudioContext()) { AlcDiagnostic AlcDiag = new AlcDiagnostic(Alc.GetContextsDevice(Alc.GetCurrentContext())); checkForErrors(); AlcDiag.Print(); AlcDiag = null; ALDiagnostic ALdiag = new ALDiagnostic(A); checkForErrors(); ALdiag.Print(); ALdiag = null; EfxDiagnostic EfxDiag = new EfxDiagnostic(); checkForErrors(); EfxDiag.Print(); EfxDiag = null; XRamDiagnostic XRamDiag = new XRamDiagnostic(); checkForErrors(); XRamDiag.Print(); XRamDiag = null; RecorderDiagnostic rec = new RecorderDiagnostic(); rec.Print(); rec = null; } // Trace.WriteLine("All done. Press Enter to exit."); // Console.ReadLine(); } } class DeviceDiagnostic { #region Fields public readonly IList AllPlaybackDevices; public readonly IList AllRecordingDevices; public readonly string DefaultPlaybackDevice; public readonly string DefaultRecordingDevice; #endregion Fields public DeviceDiagnostic() { Trace.WriteLine("--- Device related errors ---"); AllPlaybackDevices = AudioContext.AvailableDevices; AllRecordingDevices = AudioCapture.AvailableDevices; DefaultPlaybackDevice = AudioContext.DefaultDevice; DefaultRecordingDevice = AudioCapture.DefaultDevice; } public void Print() { Trace.WriteLine("--- Device related analysis ---"); Trace.Indent(); { Trace.WriteLine("Default playback device: " + DefaultPlaybackDevice); Trace.WriteLine("All known playback devices:"); Trace.Indent(); { foreach (string s in AllPlaybackDevices) Trace.WriteLine(s); } Trace.Unindent(); Trace.WriteLine("Default recording device: " + DefaultRecordingDevice); Trace.WriteLine("All known recording devices:"); Trace.Indent(); { foreach (string s in AllRecordingDevices) Trace.WriteLine(s); } Trace.Unindent(); } Trace.Unindent(); } } class AlcDiagnostic { #region Fields private string[] Alc_Extension_C_Names = new string[] { "ALC_ENUMERATE_ALL_EXT", "ALC_ENUMERATION_EXT", "ALC_EXT_ASA", "ALC_EXT_ASA_DISTORTION", "ALC_EXT_ASA_ROGER_BEEP", "ALC_EXT_BRS_GAME_LICENSE_REQUIRED", "ALC_EXT_capture", "ALC_EXT_DEDICATED", "ALC_EXT_EFX", }; public readonly int MajorVersion; public readonly int MinorVersion; public readonly int EfxMajorVersion; public readonly int EfxMinorVersion; public readonly int EfxMaxAuxiliarySends; public readonly string ExtensionString; public readonly Dictionary Extensions = new Dictionary(); #endregion Fields public AlcDiagnostic(IntPtr dev) { Trace.WriteLine("--- Alc related errors ---"); Alc.GetInteger(dev, AlcGetInteger.MajorVersion, 1, out MajorVersion); Alc.GetInteger(dev, AlcGetInteger.MinorVersion, 1, out MinorVersion); Alc.GetInteger(dev, AlcGetInteger.EfxMajorVersion, 1, out EfxMajorVersion); Alc.GetInteger(dev, AlcGetInteger.EfxMinorVersion, 1, out EfxMinorVersion); Alc.GetInteger(dev, AlcGetInteger.EfxMaxAuxiliarySends, 1, out EfxMaxAuxiliarySends); ExtensionString = Alc.GetString(dev, AlcGetString.Extensions); foreach (string s in Alc_Extension_C_Names) Extensions.Add(s, Alc.IsExtensionPresent(dev, s)); } public void Print() { Trace.WriteLine("--- Alc related analysis ---"); Trace.Indent(); { Trace.WriteLine("Alc Version: " + MajorVersion + "." + MinorVersion); Trace.WriteLine("Efx Version: " + EfxMajorVersion + "." + EfxMinorVersion); Trace.WriteLine("Efx max. Auxiliary sends: " + EfxMaxAuxiliarySends); Trace.WriteLine("Alc Extension string: " + ExtensionString); Trace.WriteLine("Confirmed Alc Extensions:"); Trace.Indent(); { foreach (KeyValuePair pair in Extensions) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); } Trace.Unindent(); } } class ALDiagnostic { #region Fields private string[] AL_Extension_Names = new string[] { "AL_EXT_ALAW", "AL_EXT_BFORMAT", "AL_EXT_double", "AL_EXT_EXPONENT_DISTANCE", "AL_EXT_float32", "AL_EXT_FOLDBACK", "AL_EXT_IMA4", "AL_EXT_LINEAR_DISTANCE", "AL_EXT_MCFORMATS", "AL_EXT_mp3", "AL_EXT_MULAW", "AL_EXT_OFFSET", "AL_EXT_vorbis", "AL_LOKI_quadriphonic", "EAX-RAM", "EAX", "EAX1.0", "EAX2.0", "EAX3.0", "EAX3.0EMULATED", "EAX4.0", "EAX4.0EMULATED", "EAX5.0" }; public readonly Dictionary Extensions = new Dictionary(); public readonly string DeviceName; public readonly float SpeedOfSound; public readonly string ExtensionString; public readonly string Renderer; public readonly string Vendor; public readonly string Version; public readonly ALDistanceModel DistanceModel; const uint MaxSourcesLimit = 128; public readonly uint MaxSources; #endregion Fields public ALDiagnostic(AudioContext ac) { Trace.WriteLine("--- AL related errors ---"); DeviceName = ac.CurrentDevice; ExtensionString = AL.Get(ALGetString.Extensions); Renderer = AL.Get(ALGetString.Renderer); Vendor = AL.Get(ALGetString.Vendor); Version = AL.Get(ALGetString.Version); SpeedOfSound = AL.Get(ALGetFloat.SpeedOfSound); DistanceModel = AL.GetDistanceModel(); foreach (string s in AL_Extension_Names) Extensions.Add(s, AL.IsExtensionPresent(s)); AL.GetError(); // clear it, need this for the source counting to work properly uint[] dummy_sources = new uint[MaxSourcesLimit]; for (MaxSources = 0; MaxSources < MaxSourcesLimit; MaxSources++) { AL.GenSource(out dummy_sources[MaxSources]); if (AL.GetError() != ALError.NoError) break; } for (int i = 0; i < MaxSources; i++) AL.DeleteSource(ref dummy_sources[i]); } public void Print() { Trace.WriteLine("--- AL related analysis ---"); Trace.Indent(); { Trace.WriteLine("Used Device: "+DeviceName); Trace.WriteLine("AL Renderer: " + Renderer); Trace.WriteLine("AL Vendor: " + Vendor); Trace.WriteLine("AL Version: " + Version); Trace.WriteLine("AL Speed of sound: " + SpeedOfSound); Trace.WriteLine("AL Distance Model: " + DistanceModel.ToString()); Trace.WriteLine("AL Maximum simultanous Sources: " + MaxSources); Trace.WriteLine("AL Extension string: " + ExtensionString); Trace.WriteLine("Confirmed AL Extensions:"); Trace.Indent(); { foreach (KeyValuePair pair in Extensions) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); } Trace.Unindent(); } } class EfxDiagnostic { #region Fields private EfxEffectType[] EffectNames = new EfxEffectType[] { EfxEffectType.Autowah, EfxEffectType.Chorus, EfxEffectType.Compressor, EfxEffectType.Distortion, EfxEffectType.EaxReverb, EfxEffectType.Echo, EfxEffectType.Equalizer, EfxEffectType.Flanger, EfxEffectType.FrequencyShifter, EfxEffectType.PitchShifter, EfxEffectType.Reverb, EfxEffectType.RingModulator, EfxEffectType.VocalMorpher, }; private EfxFilterType[] FilterNames = new EfxFilterType[] { EfxFilterType.Bandpass, EfxFilterType.Highpass, EfxFilterType.Lowpass, }; public readonly Dictionary Effects = new Dictionary(); public readonly Dictionary Filters = new Dictionary(); const uint MaxAuxiliaryEffectSlotsLimit = 4; public readonly uint MaxAuxiliaryEffectSlots; #endregion Fields public EfxDiagnostic() { Trace.WriteLine("--- Efx related errors ---"); EffectsExtension Efx = new EffectsExtension(); Trace.Assert(Efx.IsInitialized); #region Test for available Effects uint effect; Efx.GenEffect(out effect); AL.GetError(); foreach (EfxEffectType e in EffectNames) { Efx.BindEffect(effect, e); Effects.Add(e.ToString(), AL.GetError() == ALError.NoError); } Efx.DeleteEffect(ref effect); #endregion Test for available Effects #region Test for available Filters uint filter; Efx.GenFilter(out filter); AL.GetError(); foreach (EfxFilterType f in FilterNames) { Efx.Filter(filter, EfxFilteri.FilterType, (int)f); Filters.Add(f.ToString(), AL.GetError() == ALError.NoError); } Efx.DeleteFilter(ref filter); #endregion Test for available Filters AL.GetError(); uint[] dummy_slots = new uint[MaxAuxiliaryEffectSlotsLimit]; for (MaxAuxiliaryEffectSlots = 0; MaxAuxiliaryEffectSlots < MaxAuxiliaryEffectSlotsLimit; MaxAuxiliaryEffectSlots++) { Efx.GenAuxiliaryEffectSlot(out dummy_slots[MaxAuxiliaryEffectSlots]); if (AL.GetError() != ALError.NoError) break; } for (uint i = 0; i < MaxAuxiliaryEffectSlots; i++) Efx.DeleteAuxiliaryEffectSlot(ref dummy_slots[i]); } public void Print() { Trace.WriteLine("--- Efx related analysis ---"); Trace.Indent(); { Trace.WriteLine("Efx Effects supported:"); Trace.Indent(); { foreach (KeyValuePair pair in Effects) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); Trace.WriteLine("Efx Filters supported:"); Trace.Indent(); { foreach (KeyValuePair pair in Filters) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); Trace.WriteLine("Efx max. Auxiliary Effect Slots: " + MaxAuxiliaryEffectSlots); } Trace.Unindent(); } } class XRamDiagnostic { #region Fields private XRamExtension.XRamStorage[] storagemodes = new XRamExtension.XRamStorage[] { XRamExtension.XRamStorage.Hardware, XRamExtension.XRamStorage.Accessible, XRamExtension.XRamStorage.Automatic, }; public readonly bool XRamFound; public readonly int RamTotal; public readonly int RamFree; public readonly Dictionary BufferModes = new Dictionary(); #endregion Fields public XRamDiagnostic() { Trace.WriteLine("--- X-RAM related errors ---"); XRamExtension XRam = new XRamExtension(); if (XRam.IsInitialized) { XRamFound = true; RamTotal = XRam.GetRamSize; RamFree = XRam.GetRamFree; uint buffer; AL.GenBuffer(out buffer); foreach (XRamExtension.XRamStorage m in storagemodes) { bool result = XRam.SetBufferMode(1, ref buffer, m); BufferModes.Add(m.ToString(), m == XRam.GetBufferMode(ref buffer)); } AL.DeleteBuffer(ref buffer); } else XRamFound = false; } public void Print() { Trace.WriteLine("--- X-RAM related analysis ---"); if (XRamFound) { Trace.Indent(); // * Trace.WriteLine("X-RAM extension found."); } else { Trace.Indent(); { Trace.WriteLine("X-RAM extension is not available, skipping test."); } Trace.Unindent(); return; } Trace.WriteLine("Ram status (free/total) in bytes: " + RamFree + "/" + RamTotal); Trace.WriteLine("Available buffer modes:"); Trace.Indent(); { foreach (KeyValuePair pair in BufferModes) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); Trace.Unindent(); // * } } class RecorderDiagnostic { #region Fields bool IsDeviceAvailable; bool BufferContentsAllZero; short MaxSample = short.MinValue; short MinSample = short.MaxValue; private AudioCapture r; Dictionary Errorlist = new Dictionary(); string DeviceName; #endregion Fields private void CheckRecorderError(string location) { AlcError err = r.CurrentError; if (err != AlcError.NoError) Errorlist.Add(location, err); } public RecorderDiagnostic() { Trace.WriteLine("--- AudioCapture related errors ---"); IsDeviceAvailable = false; try { r = new AudioCapture(AudioCapture.DefaultDevice, 16000, ALFormat.Mono16, 4096); } catch (AudioDeviceException ade) { Trace.WriteLine("AudioCapture Exception caught: " + ade.Message); return; } IsDeviceAvailable = true; DeviceName = r.CurrentDevice; CheckRecorderError("Alc.CaptureOpenDevice"); r.Start(); CheckRecorderError("Alc.CaptureStart"); Thread.Sleep(100); r.Stop(); CheckRecorderError("Alc.CaptureStop"); byte[] Buffer = new byte[8192]; Thread.Sleep(10); // Wait for a few samples to become available. int SamplesBefore = r.AvailableSamples; CheckRecorderError("Alc.GetInteger(...CaptureSamples...)"); r.ReadSamples(Buffer, (SamplesBefore > 4096 ? 4096 : SamplesBefore)); CheckRecorderError("Alc.CaptureSamples"); int SamplesCaptured = SamplesBefore - r.AvailableSamples; uint ZeroCounter = 0; for (int i = 0; i < SamplesCaptured * 2; i++) { if (Buffer[i] == 0) ZeroCounter++; } for (int i = 0; i < SamplesCaptured; i++) { short sample = BitConverter.ToInt16(Buffer, i * 2); if (sample > MaxSample) MaxSample = sample; if (sample < MinSample) MinSample = sample; } if (ZeroCounter < SamplesCaptured * 2 && SamplesCaptured > 0) BufferContentsAllZero = false; else BufferContentsAllZero = true; r.Dispose(); CheckRecorderError("Alc.CaptureCloseDevice"); // no playback test needed due to Parrot test app. /* uint buf; AL.GenBuffer(out buf); AL.BufferData(buf, ALFormat.Mono16, BufferPtr, SamplesCaptured * 2, 16000); uint src; AL.GenSource(out src); AL.BindBufferToSource(src, buf); AL.Listener(ALListenerf.Gain, 16.0f); AL.SourcePlay(src); while (AL.GetSourceState(src) == ALSourceState.Playing) { Thread.Sleep(0); } AL.SourceStop(src); AL.DeleteSource(ref src); AL.DeleteBuffer(ref buf); */ } public void Print() { Trace.WriteLine("--- AudioCapture related analysis ---"); if (!IsDeviceAvailable) { Trace.WriteLine("Capture Device could not be initlialized (no microphone plugged into the jack?). Skipping test."); return; } Trace.Indent(); { Trace.WriteLine("Using capture device: " + DeviceName); if (Errorlist.Count > 0) { Trace.WriteLine("Found Alc Errors:"); Trace.Indent(); { foreach (KeyValuePair pair in Errorlist) Trace.WriteLine(pair.Key + ": " + pair.Value); } Trace.Unindent(); } Trace.WriteLine("Buffer contents after capture was all 0's: " + BufferContentsAllZero); Trace.WriteLine("Sample min/max in recorded data: " + MinSample + " / " + MaxSample); } Trace.Unindent(); } } }opentk-1.0.20101006/Source/Examples/OpenAL/Test/TestAudioContext.cs0000664000175000017500000001632211453131440023416 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Diagnostics; using OpenTK.Audio; using OpenTK.Audio.OpenAL; using AlContext = System.IntPtr; using AlDevice = System.IntPtr; namespace Examples { [Example("AudioContext Test", ExampleCategory.OpenTK, "Test", 0, false)] class TestApp { public static void PrintOpenALErrors( IntPtr device ) { ALError AlErr = AL.GetError(); Trace.WriteLine("OpenAL error: {0}"+ AlErr); } public static void Main() { AlcUnitTestFunc(); } public static void AlcUnitTestFunc() { AudioContext context = new AudioContext(); Trace.WriteLine("Testing AudioContext functions."); Trace.Indent(); // Trace.WriteLine("Suspend()..."); // context.Suspend(); // Trace.Assert(!context.IsProcessing); // // Trace.WriteLine("Process()..."); // context.Process(); // Trace.Assert(context.IsProcessing); //Trace.WriteLine("MakeCurrent()..."); //context.MakeCurrent(); //Trace.Assert(context.IsCurrent); //Trace.WriteLine("IsCurrent = false..."); //context.IsCurrent = false; //Trace.Assert(!context.IsCurrent); //Trace.WriteLine("IsCurrent = true..."); //context.IsCurrent = true; //Trace.Assert(context.IsCurrent); Trace.WriteLine("AudioContext.CurrentContext..."); Trace.Assert(AudioContext.CurrentContext == context); #region Get Attribs //int AttribCount; //Alc.GetInteger(context.Device, AlcGetInteger.AttributesSize, sizeof(int), out AttribCount); //Trace.WriteLine("AttributeSize: " + AttribCount); //if (AttribCount > 0) //{ // int[] Attribs = new int[AttribCount]; // Alc.GetInteger(context.Device, AlcGetInteger.AllAttributes, AttribCount, out Attribs[0]); // for (int i = 0; i < Attribs.Length; i++) // { // Trace.Write(Attribs[i]); // Trace.Write(" "); // } // Trace.WriteLine(); //} #endregion Get Attribs #if false AlDevice MyDevice; AlContext MyContext; // Initialize Open AL MyDevice = Alc.OpenDevice( null );// open default device if ( MyDevice != Al.Null ) { Trace.WriteLine( "Device allocation succeeded." ); MyContext = Alc.CreateContext( MyDevice, Al.Null ); // create context if ( MyContext != Al.Null ) { Trace.WriteLine( "Context allocation succeeded." ); GetOpenALErrors( MyDevice ); Alc.SuspendContext( MyContext ); // disable context Alc.ProcessContext( MyContext ); // enable context. The default state of a context created by alcCreateContext is that it is processing. Al.Bool result = Alc.MakeContextCurrent( MyContext ); // set active context Trace.WriteLine( "MakeContextCurrent succeeded? " + result ); GetOpenALErrors( MyDevice ); Trace.WriteLine( "Default: " + Alc.GetString( MyDevice, Enums.AlcGetString.DefaultDeviceSpecifier ) ); Trace.WriteLine( "Device: " + Alc.GetString( MyDevice, Enums.AlcGetString.DeviceSpecifier ) ); Trace.WriteLine( "Extensions: " + Alc.GetString( MyDevice, Enums.AlcGetString.Extensions ) ); GetOpenALErrors( MyDevice ); #region Get Attribs int AttribCount; Alc.GetInteger( MyDevice, Enums.AlcGetInteger.AttributesSize, sizeof( int ), out AttribCount ); Trace.WriteLine( "AttributeSize: " + AttribCount ); if ( AttribCount > 0 ) { int[] Attribs = new int[AttribCount]; Alc.GetInteger( MyDevice, Enums.AlcGetInteger.AttributesSize, AttribCount, out Attribs[0] ); for ( int i = 0; i < Attribs.Length; i++ ) Trace.Write( ", " + Attribs[i] ); Trace.WriteLine( ); } #endregion Get Attribs GetOpenALErrors( MyDevice ); AlDevice currdev = Alc.GetContextsDevice( MyContext ); AlContext currcon = Alc.GetCurrentContext( ); if ( MyDevice == currdev ) Trace.WriteLine( "Devices match." ); else Trace.WriteLine( "Error: Devices do not match." ); if ( MyContext == currcon ) Trace.WriteLine( "Context match." ); else Trace.WriteLine( "Error: Contexts do not match." ); // exit Alc.MakeContextCurrent( Al.Null ); // results in no context being current Alc.DestroyContext( MyContext ); result = Alc.CloseDevice( MyDevice ); Trace.WriteLine( "Result: " + result ); Trace.ReadLine( ); } else { Trace.WriteLine( "Context creation failed." ); } } else { Trace.WriteLine( "Failed to find suitable Device." ); } #endif /* include include int main (int argc, char **argv) { ALuint helloBuffer, helloSource; alutInit (&argc, argv); helloBuffer = alutCreateBufferHelloWorld (); alGenSources (1, &helloSource); alSourcei (helloSource, AL_Buffer, helloBuffer); alSourcePlay (helloSource); alutSleep (1); alutExit (); return EXIT_SUCCESS; }*/ /* * Processing Loop Example: // PlaceCamera - places OpenGL camera & updates OpenAL listener buffer void AVEnvironment::PlaceCamera() { // update OpenGL camera position glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-0.1333, 0.1333, -0.1, 0.1, 0.2, 50.0); gluLookAt(listenerPos[0], listenerPos[1], listenerPos[2], (listenerPos[0] + sin(listenerAngle)), listenerPos[1], (listenerPos[2] - cos(listenerAngle)), 0.0, 1.0, 0.0); // update OpenAL // place listener at camera alListener3f(AL_POSITION, listenerPos[0], listenerPos[1], listenerPos[2]); float directionvect[6]; directionvect[0] = (float) sin(listenerAngle); directionvect[1] = 0; directionvect[2] = (float) cos(listenerAngle); directionvect[3] = 0; directionvect[4] = 1; directionvect[5] = 0; alListenerfv(AL_ORIENTATION, directionvect); } */ } } } opentk-1.0.20101006/Source/Examples/OpenAL/EFX/0000775000175000017500000000000011453142152017322 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenAL/EFX/EFXReverb.cs0000664000175000017500000000767711453131440021460 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.Threading; using System.IO; using OpenTK.Audio; using OpenTK.Audio.OpenAL; namespace Examples { [Example("EFX: Reverb", ExampleCategory.OpenAL, "EFX", Documentation="EFXReverb")] public class ReverbExample { static readonly string filename = Path.Combine(Path.Combine("Data", "Audio"), "the_ring_that_fell.wav"); public static void Main() { using (AudioContext context = new AudioContext()) { Trace.WriteLine("Testing WaveReader({0}).ReadToEnd()", filename); EffectsExtension efx = new EffectsExtension(); int buffer = AL.GenBuffer(); int source = AL.GenSource(); int state; int effect = efx.GenEffect(); int slot = efx.GenAuxiliaryEffectSlot(); efx.BindEffect(effect, EfxEffectType.Reverb); efx.Effect(effect, EfxEffectf.ReverbDecayTime, 3.0f); efx.Effect(effect, EfxEffectf.ReverbDecayHFRatio, 0.91f); efx.Effect(effect, EfxEffectf.ReverbDensity, 0.7f); efx.Effect(effect, EfxEffectf.ReverbDiffusion, 0.9f); efx.Effect(effect, EfxEffectf.ReverbRoomRolloffFactor, 3.1f); efx.Effect(effect, EfxEffectf.ReverbReflectionsGain, 0.723f); efx.Effect(effect, EfxEffectf.ReverbReflectionsDelay, 0.03f); efx.Effect(effect, EfxEffectf.ReverbGain, 0.23f); efx.AuxiliaryEffectSlot(slot, EfxAuxiliaryi.EffectslotEffect, effect); int channels, bits, rate; byte[] data = Playback.LoadWave(File.Open(filename, FileMode.Open), out channels, out bits, out rate); AL.BufferData(buffer, Playback.GetSoundFormat(channels, bits), data, data.Length, rate); AL.Source(source, ALSourcef.ConeOuterGain, 1.0f); AL.Source(source, ALSourcei.Buffer, buffer); AL.SourcePlay(source); Trace.Write("Playing"); // Query the source to find out when it stops playing. do { Thread.Sleep(250); Trace.Write("."); AL.GetSource(source, ALGetSourcei.SourceState, out state); } while ((ALSourceState)state == ALSourceState.Playing); Trace.WriteLine(""); AL.SourceStop(source); AL.DeleteSource(source); AL.DeleteBuffer(buffer); efx.DeleteEffect(effect); efx.DeleteAuxiliaryEffectSlot(slot); } } } }opentk-1.0.20101006/Source/Examples/OpenAL/1.1/0000775000175000017500000000000011453142152017177 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenAL/1.1/Parrot.cs0000664000175000017500000001713511453131440021002 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Threading; using OpenTK; using OpenTK.Audio; using OpenTK.Audio.OpenAL; namespace Examples { [Example("Parrot Audio Capture", ExampleCategory.OpenAL, "1.1", Documentation = "Parrot")] public partial class Parrot : Form { #region Fields AudioContext audio_context; AudioCapture audio_capture; int src; short[] buffer = new short[512]; const byte SampleToByte = 2; #endregion #region Constructors public Parrot() { InitializeComponent(); this.Text = "OpenAL Parrot (" + (IntPtr.Size == 4 ? "x86" : "x64") + ")"; // Add available capture devices to the combo box. IList recorders = AudioCapture.AvailableDevices; for (int i = 0; i < recorders.Count; i++) { if (!String.IsNullOrEmpty(recorders[i])) comboBox_RecorderSelection.Items.Add(recorders[i]); } if (comboBox_RecorderSelection.Items.Count > 0) comboBox_RecorderSelection.SelectedIndex = 0; } #endregion #region Events private void button_Start_Click(object sender, EventArgs e) { if (audio_capture == null || !audio_capture.IsRunning) { button_Start.Text = "Stop Recording"; groupBox_RecorderParameters.Enabled = false; this.StartRecording(); } else { button_Start.Text = "Start Recording"; groupBox_RecorderParameters.Enabled = true; this.StopRecording(); } } private void timer_UpdateSamples_Tick(object sender, EventArgs e) { this.UpdateSamples(); } private void Parrot_FormClosing(object sender, FormClosingEventArgs e) { this.StopRecording(); } #endregion #region Private Members void StartRecording() { try { audio_context = new AudioContext(); } catch (AudioException ae) { MessageBox.Show("Fatal: Cannot continue without a playback device.\nException caught when opening playback device.\n" + ae.Message); Application.Exit(); } AL.Listener(ALListenerf.Gain, (float)numericUpDown_PlaybackGain.Value); src = AL.GenSource(); int sampling_rate = (int)numericUpDown_Frequency.Value; double buffer_length_ms = (double)numericUpDown_BufferLength.Value; int buffer_length_samples = (int)((double)numericUpDown_BufferLength.Value * sampling_rate * 0.001 / BlittableValueType.StrideOf(buffer)); try { audio_capture = new AudioCapture((string)comboBox_RecorderSelection.SelectedItem, sampling_rate, ALFormat.Mono16, buffer_length_samples); } catch (AudioDeviceException ade) { MessageBox.Show("Exception caught when opening recording device.\n" + ade.Message); audio_capture = null; } if (audio_capture == null) return; audio_capture.Start(); timer_GetSamples.Start(); timer_GetSamples.Interval = (int)(buffer_length_ms / 2 + 0.5); // Tick when half the buffer is full. } void StopRecording() { timer_GetSamples.Stop(); if (audio_capture != null) { audio_capture.Stop(); audio_capture.Dispose(); audio_capture = null; } if (audio_context != null) { int r; AL.GetSource(src, ALGetSourcei.BuffersQueued, out r); ClearBuffers(r); AL.DeleteSource(src); audio_context.Dispose(); audio_context = null; } } void UpdateSamples() { if (audio_capture == null) return; int available_samples = audio_capture.AvailableSamples; if (available_samples * SampleToByte > buffer.Length * BlittableValueType.StrideOf(buffer)) { buffer = new short[MathHelper.NextPowerOfTwo( (int)(available_samples * SampleToByte / (double)BlittableValueType.StrideOf(buffer) + 0.5))]; } if (available_samples > 0) { audio_capture.ReadSamples(buffer, available_samples); int buf = AL.GenBuffer(); AL.BufferData(buf, ALFormat.Mono16, buffer, (int)(available_samples * BlittableValueType.StrideOf(buffer)), audio_capture.SampleFrequency); AL.SourceQueueBuffer(src, buf); label_SamplesConsumed.Text = "Samples consumed: " + available_samples; if (AL.GetSourceState(src) != ALSourceState.Playing) AL.SourcePlay(src); } ClearBuffers(0); } void ClearBuffers(int input) { if (audio_context == null || audio_context == null) return; int[] freedbuffers; if (input == 0) { int BuffersProcessed; AL.GetSource(src, ALGetSourcei.BuffersProcessed, out BuffersProcessed); if (BuffersProcessed == 0) return; freedbuffers = AL.SourceUnqueueBuffers(src, BuffersProcessed); } else { freedbuffers = AL.SourceUnqueueBuffers(src, input); } AL.DeleteBuffers(freedbuffers); } #endregion #region Main [STAThread] static void Main() { using (Parrot parrot = new Parrot()) { parrot.ShowDialog(); } } #endregion } }opentk-1.0.20101006/Source/Examples/OpenAL/1.1/Parrot.Designer.cs0000664000175000017500000003545211453131440022543 0ustar laneylaneynamespace Examples { partial class Parrot { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.comboBox_RecorderSelection = new System.Windows.Forms.ComboBox(); this.groupBox_RecorderParameters = new System.Windows.Forms.GroupBox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.numericUpDown_PlaybackGain = new System.Windows.Forms.NumericUpDown(); this.label_MONO16BIT = new System.Windows.Forms.Label(); this.label_RINGBUFFER = new System.Windows.Forms.Label(); this.label_FREQUENCY = new System.Windows.Forms.Label(); this.numericUpDown_BufferLength = new System.Windows.Forms.NumericUpDown(); this.numericUpDown_Frequency = new System.Windows.Forms.NumericUpDown(); this.groupBox_RecordingControls = new System.Windows.Forms.GroupBox(); this.label_SamplesConsumed = new System.Windows.Forms.Label(); this.button_Start = new System.Windows.Forms.Button(); this.timer_GetSamples = new System.Windows.Forms.Timer(this.components); this.groupBox_RecorderParameters.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_PlaybackGain)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_BufferLength)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_Frequency)).BeginInit(); this.groupBox_RecordingControls.SuspendLayout(); this.SuspendLayout(); // // comboBox_RecorderSelection // this.comboBox_RecorderSelection.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.comboBox_RecorderSelection.FormattingEnabled = true; this.comboBox_RecorderSelection.Location = new System.Drawing.Point(6, 19); this.comboBox_RecorderSelection.Name = "comboBox_RecorderSelection"; this.comboBox_RecorderSelection.Size = new System.Drawing.Size(216, 21); this.comboBox_RecorderSelection.TabIndex = 0; // // groupBox_RecorderParameters // this.groupBox_RecorderParameters.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.groupBox_RecorderParameters.Controls.Add(this.label2); this.groupBox_RecorderParameters.Controls.Add(this.label1); this.groupBox_RecorderParameters.Controls.Add(this.numericUpDown_PlaybackGain); this.groupBox_RecorderParameters.Controls.Add(this.label_MONO16BIT); this.groupBox_RecorderParameters.Controls.Add(this.label_RINGBUFFER); this.groupBox_RecorderParameters.Controls.Add(this.label_FREQUENCY); this.groupBox_RecorderParameters.Controls.Add(this.numericUpDown_BufferLength); this.groupBox_RecorderParameters.Controls.Add(this.numericUpDown_Frequency); this.groupBox_RecorderParameters.Controls.Add(this.comboBox_RecorderSelection); this.groupBox_RecorderParameters.Location = new System.Drawing.Point(12, 12); this.groupBox_RecorderParameters.Name = "groupBox_RecorderParameters"; this.groupBox_RecorderParameters.Size = new System.Drawing.Size(228, 168); this.groupBox_RecorderParameters.TabIndex = 2; this.groupBox_RecorderParameters.TabStop = false; this.groupBox_RecorderParameters.Text = "Recording Device Setup"; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(6, 132); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(74, 13); this.label2.TabIndex = 105; this.label2.Text = "Sample format"; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(6, 102); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(96, 13); this.label1.TabIndex = 104; this.label1.Text = "Playback gain (dB)"; // // numericUpDown_PlaybackGain // this.numericUpDown_PlaybackGain.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.numericUpDown_PlaybackGain.Location = new System.Drawing.Point(145, 100); this.numericUpDown_PlaybackGain.Maximum = new decimal(new int[] { 64, 0, 0, 0}); this.numericUpDown_PlaybackGain.Minimum = new decimal(new int[] { 1, 0, 0, 65536}); this.numericUpDown_PlaybackGain.Name = "numericUpDown_PlaybackGain"; this.numericUpDown_PlaybackGain.Size = new System.Drawing.Size(76, 20); this.numericUpDown_PlaybackGain.TabIndex = 103; this.numericUpDown_PlaybackGain.ThousandsSeparator = true; this.numericUpDown_PlaybackGain.Value = new decimal(new int[] { 4, 0, 0, 0}); // // label_MONO16BIT // this.label_MONO16BIT.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label_MONO16BIT.AutoSize = true; this.label_MONO16BIT.Location = new System.Drawing.Point(142, 132); this.label_MONO16BIT.Name = "label_MONO16BIT"; this.label_MONO16BIT.Size = new System.Drawing.Size(64, 13); this.label_MONO16BIT.TabIndex = 102; this.label_MONO16BIT.Text = "Mono 16-bit"; // // label_RINGBUFFER // this.label_RINGBUFFER.AutoSize = true; this.label_RINGBUFFER.Location = new System.Drawing.Point(6, 76); this.label_RINGBUFFER.Name = "label_RINGBUFFER"; this.label_RINGBUFFER.Size = new System.Drawing.Size(89, 13); this.label_RINGBUFFER.TabIndex = 101; this.label_RINGBUFFER.Text = "Buffer length (ms)"; // // label_FREQUENCY // this.label_FREQUENCY.AutoSize = true; this.label_FREQUENCY.Location = new System.Drawing.Point(6, 50); this.label_FREQUENCY.Name = "label_FREQUENCY"; this.label_FREQUENCY.Size = new System.Drawing.Size(85, 13); this.label_FREQUENCY.TabIndex = 100; this.label_FREQUENCY.Text = "Sample rate (Hz)"; // // numericUpDown_BufferLength // this.numericUpDown_BufferLength.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.numericUpDown_BufferLength.Location = new System.Drawing.Point(145, 74); this.numericUpDown_BufferLength.Maximum = new decimal(new int[] { 1000, 0, 0, 0}); this.numericUpDown_BufferLength.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numericUpDown_BufferLength.Name = "numericUpDown_BufferLength"; this.numericUpDown_BufferLength.Size = new System.Drawing.Size(76, 20); this.numericUpDown_BufferLength.TabIndex = 2; this.numericUpDown_BufferLength.ThousandsSeparator = true; this.numericUpDown_BufferLength.Value = new decimal(new int[] { 50, 0, 0, 0}); // // numericUpDown_Frequency // this.numericUpDown_Frequency.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.numericUpDown_Frequency.Location = new System.Drawing.Point(145, 48); this.numericUpDown_Frequency.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); this.numericUpDown_Frequency.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numericUpDown_Frequency.Name = "numericUpDown_Frequency"; this.numericUpDown_Frequency.Size = new System.Drawing.Size(76, 20); this.numericUpDown_Frequency.TabIndex = 1; this.numericUpDown_Frequency.ThousandsSeparator = true; this.numericUpDown_Frequency.Value = new decimal(new int[] { 16000, 0, 0, 0}); // // groupBox_RecordingControls // this.groupBox_RecordingControls.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.groupBox_RecordingControls.Controls.Add(this.label_SamplesConsumed); this.groupBox_RecordingControls.Controls.Add(this.button_Start); this.groupBox_RecordingControls.Location = new System.Drawing.Point(12, 186); this.groupBox_RecordingControls.Name = "groupBox_RecordingControls"; this.groupBox_RecordingControls.Size = new System.Drawing.Size(228, 78); this.groupBox_RecordingControls.TabIndex = 3; this.groupBox_RecordingControls.TabStop = false; this.groupBox_RecordingControls.Text = "Talk to the parrot"; // // label_SamplesConsumed // this.label_SamplesConsumed.AutoSize = true; this.label_SamplesConsumed.Location = new System.Drawing.Point(6, 52); this.label_SamplesConsumed.Name = "label_SamplesConsumed"; this.label_SamplesConsumed.Size = new System.Drawing.Size(108, 13); this.label_SamplesConsumed.TabIndex = 103; this.label_SamplesConsumed.Text = "Samples consumed: -"; // // button_Start // this.button_Start.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.button_Start.Location = new System.Drawing.Point(35, 19); this.button_Start.Name = "button_Start"; this.button_Start.Size = new System.Drawing.Size(159, 24); this.button_Start.TabIndex = 3; this.button_Start.Text = "Start recording"; this.button_Start.UseVisualStyleBackColor = true; this.button_Start.Click += new System.EventHandler(this.button_Start_Click); // // timer_GetSamples // this.timer_GetSamples.Tick += new System.EventHandler(this.timer_UpdateSamples_Tick); // // Parrot // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(252, 276); this.Controls.Add(this.groupBox_RecordingControls); this.Controls.Add(this.groupBox_RecorderParameters); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; this.Name = "Parrot"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "OpenAL Parrot"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Parrot_FormClosing); this.groupBox_RecorderParameters.ResumeLayout(false); this.groupBox_RecorderParameters.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_PlaybackGain)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_BufferLength)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_Frequency)).EndInit(); this.groupBox_RecordingControls.ResumeLayout(false); this.groupBox_RecordingControls.PerformLayout(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.ComboBox comboBox_RecorderSelection; private System.Windows.Forms.GroupBox groupBox_RecorderParameters; private System.Windows.Forms.Label label_RINGBUFFER; private System.Windows.Forms.Label label_FREQUENCY; private System.Windows.Forms.NumericUpDown numericUpDown_BufferLength; private System.Windows.Forms.NumericUpDown numericUpDown_Frequency; private System.Windows.Forms.GroupBox groupBox_RecordingControls; private System.Windows.Forms.Label label_SamplesConsumed; private System.Windows.Forms.Button button_Start; private System.Windows.Forms.Label label_MONO16BIT; private System.Windows.Forms.Timer timer_GetSamples; private System.Windows.Forms.Label label1; private System.Windows.Forms.NumericUpDown numericUpDown_PlaybackGain; private System.Windows.Forms.Label label2; } } opentk-1.0.20101006/Source/Examples/OpenAL/1.1/StreamingPlayback.cs0000664000175000017500000000642511453131440023133 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Diagnostics; using System.Collections.Generic; using System.Text; using System.Threading; using System.ComponentModel; using OpenTK.Audio; using OpenTK.Audio.OpenAL; namespace Examples.OpenAL { // Not working correctly (sound pops). //[Example("Streaming Playback", ExampleCategory.OpenAL)] public class StreamingPlayback { const string filename = "Data\\Audio\\the_ring_that_fell.wav"; const int buffer_size = (int)(0.5*44100); const int buffer_count = 4; //static object openal_lock = new object(); // Should be global in your app. public static void Main() { using (AudioContext context = new AudioContext()) { int source = AL.GenSource(); int[] buffers = AL.GenBuffers(buffer_count); int state; Trace.WriteLine("Testing WaveReader({0}).ReadSamples()", filename); Trace.Write("Playing"); //foreach (int buffer in buffers) // AL.BufferData(buffer, sound.ReadSamples(buffer_size)); AL.SourceQueueBuffers(source, buffers.Length, buffers); AL.SourcePlay(source); int processed_count, queued_count; do { //Trace.Write("."); do { AL.GetSource(source, ALGetSourcei.BuffersProcessed, out processed_count); //Thread.Sleep(1); } while (processed_count == 0); Trace.WriteLine(processed_count); //while (processed_count > 0) //{ // int buffer = AL.SourceUnqueueBuffer(source); // if (buffer != 0 && !sound.EndOfFile) // { // Trace.WriteLine(" " + buffer.ToString()); // AL.BufferData(buffer, sound.ReadSamples(buffer_size)); // AL.SourceQueueBuffer(source, buffer); // } // --processed_count; //} AL.GetSource(source, ALGetSourcei.BuffersQueued, out queued_count); if (queued_count > 0) { AL.GetSource(source, ALGetSourcei.SourceState, out state); if ((ALSourceState)state != ALSourceState.Playing) { AL.SourcePlay(source); Trace.WriteLine("r"); } } else break; } while (true); AL.SourceStop(source); AL.DeleteSource(source); AL.DeleteBuffers(buffers); } Trace.WriteLine(""); } } } opentk-1.0.20101006/Source/Examples/OpenAL/1.1/Parrot.rtf0000664000175000017500000000375511453131440021173 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample implements a simple OpenAL-based audio recorder.\par \b\fs28\par Controls\par \b0\fs22\par Ensure the correct recording device is selected in the drop-down list (e.g. "Microphone"), then click on the "Start recording" and talk to the parrot. Click on "Stop recording" when done.\par \par Sample rate (Hz): indicates he sample rate of the recording. Typical sound cards support the following values: 8000, 16000, 22050, 32000, 44100 and 48000Hz but some sound cards may support higher values. A value of 8000Hz is considered adequate for voice reproduction, while a value of 44100Hz is considered adequate for music reproduction.\par \par Buffer length (ms): indicates how much data will be buffered before playback starts. Higher values may decrease CPU usage at the cost of higher latency between recording and playback. Lower values will decrease latency but may increase CPU usage and introduce noise if the CPU cannot respond fast enough. Values between 10-200ms are considered adequate for real-time audio conferencing. On the other hand, the buffer shouldn't exceed 10ms for real-time recording & playback of musical instruments.\par \par Playback gain (dB): specifies the amount of gain (amplification) when playing back the recorded signal. High values may introduce noise.\par \par \b\fs28 Implementation\par \b0\fs22\par The application enumerates available recording devices and awaits for the user to click on the "Start recording" button. When the button is clicked, the application constructs an AudioContext and an AudioCapture object using the parameters specified by the user.\par \par A timer fires periodically to check whether the capture buffer is full, in which case it copies its data to an audio buffer and enqueues it to the AudioContext for playback.\par } opentk-1.0.20101006/Source/Examples/OpenAL/1.1/Playback.rtf0000664000175000017500000000147111453131440021443 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates OpenAL-based sound playback.\par \b\fs28\par Controls\par \b0\fs22\par None.\par \par \b\fs28 Implementation\par \b0\fs22\par This application loads an uncompressed WAV file and plays back its contents.\par \par 1. It creates an AudioContext using default playback parameters.\par \par 2. It opens the WAV file, decodes its header and pushes its sound data to an OpenAL buffer.\par \par 3. It attaches the buffer to an OpenAL source and starts playing that source.\par \par 4. It waits until the source stops playing, destroyes all OpenAL resources and exits.\par } opentk-1.0.20101006/Source/Examples/OpenAL/1.1/PlayStatic.cs0000664000175000017500000000616611453131440021612 0ustar laneylaney/* * Copyright (c) 2006, Creative Labs Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided * that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this list of conditions and * the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions * and the following disclaimer in the documentation and/or other materials provided with the distribution. * * Neither the name of Creative Labs Inc. nor the names of its contributors may be used to endorse or * promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Threading; using OpenTK.Audio; namespace Examples { #if false [Example("PlayStatic Sample", ExampleCategory.OpenAL)] public partial class PlayStatic { public static void Main() { AudioContext context = new AudioContext(); Sound sound = new Sound("Data\\Audio\\Asterisk.wav"); uint buffer; uint source; int state; Trace.WriteLine("PlayStatic Test Application\n"); // Generate an AL Buffer AL.GenBuffers(out buffer); // Load Wave file into OpenAL Buffer AL.BufferData(buffer, sound.ReadToEnd()); // Generate a Source to playback the Buffer AL.GenSources(out source); // Attach Source to Buffer AL.Source(source, ALSourcei.Buffer, (int)buffer); // Play Source AL.SourcePlay(source); Trace.WriteLine("Playing Source "); do { Thread.Sleep(100); Trace.Write("."); // Get Source State AL.GetSource(source, ALGetSourcei.SourceState, out state); } while ((ALSourceState)state == ALSourceState.Playing); Trace.WriteLine(); // Clean up by deleting Source(s) and Buffer(s) AL.SourceStop(source); AL.DeleteSources(ref source); AL.DeleteBuffers(ref buffer); return; } } #endif } opentk-1.0.20101006/Source/Examples/OpenAL/1.1/Parrot.resx0000664000175000017500000001466411453131440021362 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 True True True 17, 17 opentk-1.0.20101006/Source/Examples/OpenAL/1.1/Playback.cs0000664000175000017500000001034511453131440021255 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Diagnostics; using System.Threading; using System.IO; using OpenTK.Audio; using OpenTK.Audio.OpenAL; namespace Examples { [Example("Playback", ExampleCategory.OpenAL, "1.1", Documentation="Playback")] public class Playback { static readonly string filename = Path.Combine(Path.Combine("Data", "Audio"), "the_ring_that_fell.wav"); // Loads a wave/riff audio file. public static byte[] LoadWave(Stream stream, out int channels, out int bits, out int rate) { if (stream == null) throw new ArgumentNullException("stream"); using (BinaryReader reader = new BinaryReader(stream)) { // RIFF header string signature = new string(reader.ReadChars(4)); if (signature != "RIFF") throw new NotSupportedException("Specified stream is not a wave file."); int riff_chunck_size = reader.ReadInt32(); string format = new string(reader.ReadChars(4)); if (format != "WAVE") throw new NotSupportedException("Specified stream is not a wave file."); // WAVE header string format_signature = new string(reader.ReadChars(4)); if (format_signature != "fmt ") throw new NotSupportedException("Specified wave file is not supported."); int format_chunk_size = reader.ReadInt32(); int audio_format = reader.ReadInt16(); int num_channels = reader.ReadInt16(); int sample_rate = reader.ReadInt32(); int byte_rate = reader.ReadInt32(); int block_align = reader.ReadInt16(); int bits_per_sample = reader.ReadInt16(); string data_signature = new string(reader.ReadChars(4)); if (data_signature != "data") throw new NotSupportedException("Specified wave file is not supported."); int data_chunk_size = reader.ReadInt32(); channels = num_channels; bits = bits_per_sample; rate = sample_rate; return reader.ReadBytes((int)reader.BaseStream.Length); } } public static ALFormat GetSoundFormat(int channels, int bits) { switch (channels) { case 1: return bits == 8 ? ALFormat.Mono8 : ALFormat.Mono16; case 2: return bits == 8 ? ALFormat.Stereo8 : ALFormat.Stereo16; default: throw new NotSupportedException("The specified sound format is not supported."); } } public static void Main() { using (AudioContext context = new AudioContext()) { int buffer = AL.GenBuffer(); int source = AL.GenSource(); int state; int channels, bits_per_sample, sample_rate; byte[] sound_data = LoadWave(File.Open(filename, FileMode.Open), out channels, out bits_per_sample, out sample_rate); AL.BufferData(buffer, GetSoundFormat(channels, bits_per_sample), sound_data, sound_data.Length, sample_rate); AL.Source(source, ALSourcei.Buffer, buffer); AL.SourcePlay(source); Trace.Write("Playing"); // Query the source to find out when it stops playing. do { Thread.Sleep(250); Trace.Write("."); AL.GetSource(source, ALGetSourcei.SourceState, out state); } while ((ALSourceState)state == ALSourceState.Playing); Trace.WriteLine(""); AL.SourceStop(source); AL.DeleteSource(source); AL.DeleteBuffer(buffer); } } } } opentk-1.0.20101006/Source/Examples/OpenTK.Examples.csproj0000664000175000017500000005436311453131440021732 0ustar laneylaney Local 8.0.50727 2.0 {868E37B3-0000-0000-0000-000000000000} Debug AnyCPU Resources\App.ico Examples JScript Grid IE50 false v2.0 WinExe OpenTK.Examples Examples.Program 2.0 false publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false true true 285212672 DEBUG;TRACE; true 4096 false ..\..\Binaries\OpenTK\Debug\ False False 4 AllRules.ruleset full true 285212672 TRACE; 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none ..\..\Binaries\OpenTK\Release\ true 285212672 TRACE; 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none true ..\..\OpenTK.snk System False System.Data False System.Drawing False System.Windows.Forms False System.Xml False OpenTK {A37A7E14-0000-0000-0000-000000000000} OpenTK.GLControl {A625BE88-0000-0000-0000-000000000000} Properties\GlobalAssemblyInfo.cs Code Code Code Code Code Form Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Form Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Form Code Form UserControl Form Form Code Code Code Code Code Code Form Code Code Form ExampleBrowser.cs ExampleBrowser.cs ResXFileCodeGenerator Resources.Designer.cs Designer True Resources.resx True Parrot.cs Parrot.cs FontRenderingBasic.cs FontRenderingBasic.cs MultipleGLControls.cs MultipleGLControls.cs GLControlGameLoop.cs GLControlGameLoop.cs GLControlSimple.cs GLControlSimple.cs DerivedGLControl.cs DerivedGLControl.cs Extensions.cs Extensions.cs InputLogger.cs InputLogger.cs OpenTK.snk Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always Always False .NET Framework 3.5 SP1 Client Profile false False .NET Framework 3.5 SP1 true False Windows Installer 3.1 true opentk-1.0.20101006/Source/Examples/Resources/0000775000175000017500000000000011453142152017534 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Resources/v1x.png0000664000175000017500000000104011453131440020751 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDIDATX;hTQBhae!,DEbcgm,GDIPl$BA ^pY!Dށ=3gonlZ.cY S05S""Vbxn;2Q[~5̜ &"؋ ^`z|،fDǕuLwM+ a|CW0Ԓs߀+@?0,i{&~=bFe$xLElp-q*@U@w8f n{3*9^gc ܒo8`{2y!iX Kl+JI)}|jgwVKɶ" aړ#5NgnW?B{i{\Hrۢ0]DiI* t~:ϋ@[5.v%#< ]IjĎ"@.ovRh*EK$5d ="i.5*Hf&iRws Hc1(i[#9+xdFJxB}S$ٔU'j={Rf6e4e4e4e4e4e4e4e4e4f6l=j=U'S#ےM$F,# }<7O#^1pBS|+|~Ue4e4e4e4e4e4e4e4e4e4v[qDpB]1O"\,@$BW%՜`4pCg6Q{))pCe4e4e4e4e4e4e4e4m?)2qDpC`4T&ןM( s3W*uIg7e4=))mdh9i9j:j:j:j:i9h8s_))\qg7uIX)n- 'N!rGm>e4g76))+mmm>n?n?n?n?m>m=S*)Fi9m>rGM!_-i.d9uIe4g7N)*+-dzrDsDsEsEsDrDqBX+*)R{e4uId:i.M#|Rh8f5of))+-/>xMwJxJxJwJvIuH_-+)Yyi9i9|RM#nW^a5yNf6i9F)+-/1KV|O|P|P|O{NzMK/-+Ql=i9zPa4nW^f-pGsFi9m=es*-/:mSTUUUUTZ31/,,~Um=uIpHf-W%ݮ{SoBl=pA\,.@lUWYZ[mXn^420.+BpArE}VW%N"_n@pAlqcQjmWZ]^`dGį:ɶ9ȵ8Ƴ6ð42/9BxMrDbN"Kitg4VyL}QUX\_bdŽe|=ͺ<̹;˸:ȵ8Ų5¯30q{6dsDmKN"m*~T^|PTX\`dÏfđiŒjr?н?ϼ=ͺ;˸9ȵ7ı4;h++|RlN"W%ݷf3g{P\W\`dĐhƓkǕnɗpɘqcĬAҿ?н=ͺ;ʷ8Ƴ5¯h9@{oe}hW'j-[W)9F^_cĐhƔlɗpʙs̛u͜v~RϺA>ϼT«Nb?01)\^j/nW^lD􂠄)+.VaÏfƓkȗp˚t͝wϟzС|С|wpx^0-*nEnW^P%4+.1amǕnʙr͝wС|ҤӥӥWӿqĬġ|W<¯40-9ɤQ&i1|W|+.25YsxϟzңէתתȬNԿAҿ>κ:ɶ7ı41-~Zl1'N"ßM.8T8ŲIŰР{ӥ֩ٮٮǩIϻC̹:ɶ7ı41MơO"'4d9ĭBji=ï̜vР{֩٭N7ı3;g<4?\)ϱ[GwqȖo˛tŠ{0Ҫ֩Ϥ`ĭmYR>]\)Ϣ?K T%泂^ȵyxyC.HȴpΣϠ{şzjUιaT%K K _+Ϣi@ҮV]f*.;ʷN˶͟z͜v˙s˛vص԰kA_+K ?8P$lܾٶУԫڸnP$8?'l1S)[ǡԲܾƱܿԴȢ\S)l1'nW^m/Y*ݑP$KP$Y*ݿm/nW^??(@      !"""""!   !#%')2R,Wg8ws>xBzC|DyBwAp=b6mD%K*('$#    #&),.F'Tp=FчJJ K O$Q&R'U)Q&P&N#J J J |Dg9(?-+(%"  "&)-0 9i9G܇J N#X,`4h8l=l=l=l=l=l=l=l=kl>j;i9g7f6f5f5e4f5f6g6h8i:kk=`3R'J FW/m40-)%!   $(-15V.nHL![/k>m?kn@g:U)J zB2 M30+'#   %).2 oAj;f5e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4g7l>oBe8N$J [3x51,(#  $(-22 MH݉L!d9pCl>f6e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4h8oAoAZ/J s> 70,'"  !&+0B$UIQ'n@qDi9e4n@zXe4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4l=rFf:L"|D 8.)$  "',H'UJ U+qEpBf6g8am+7m?e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4i9rFk?L#F 3*%   "&:BIW,tHoBf5e4r_)))O~nAe4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4zQTyuKm?e4e4g7sFnBM#|D*$    ,IݏS)tHoBe4e4e4sH))))1g8e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4mc))4pCe4e4g6sGmAL"v?#  }DN%tIrEe4e4e4e4g8*))))w[e4e4e4e4e4e5e5e5e5e5e4e4e4e4e4e4e4Xv))):i9e4e4g7vJi>Ke8[  n>_J nCuIf5e4e4e4e4xY)))))hhf5g6g6g7g7h7h7h7h7h7g7g7g6f6f5e5f63)))*rGe4e4e4i:xM]2J 2$  5 K!`5yNh8e4e4e4e4e4oa)))));{Sk=i9j:j:j:j:j;j:j:j:j:i9i8h8g7}T)))));f5e4e4e4n@yMQ&F IN$yOn@e4e4e4e4e4e4p`)))))**drlm=l=T~*)))))Xuj;e4e4e4i9}SX.J J R&~Ul>e4e4e4e4f5n@C)))**+,-7))*+,-../01=xKxKyLyLyLyLxKxKxKxJwJvHuHL.,,*)))lij:h8g6e4e4pBYK"I!^@ J!pG{Qe4f5g7i9j;rE*))+,-./0013\zN{N{O{O{O{O{O{NzMzMyLxKxKL.-,+*))`tlg7i9k;m=n?pAbv*+,-/01Gc}Q~RSSTTTUTTTS~R~R}Qq10/.-,*))W|o@llk;m>hY0J K tN]ko@qB{QIfxxK}QWo}U[WXZ[\]^__```K:ɶ:ȵ9ȵ9Ǵ8Ƴ7ı6ð54310/-,NOfv~UpBo@m=l>j^5JJ xR^m=pA}c<)6izM|O}QSUWY[\]_`aabbc|;ʷ;ʷ;ʷ:ɶ:ȵ9Ǵ8Ƴ7ı6ð5321/.,b>A|RrCpAn?m=ma9J J!ySan?S)2+qszM|O}QSVWZ[]_`abcdŽeŽeŽft?ʷ<̹<˸;˸;ʷ:ɶ9Ǵ8Ƴ7ı5¯4310.>[6)/bqCo@o@p`9I J wQfY)1yM_lw{O}QSUWZ\]_abdŽeÏfÐgĐhĐhđhkIȳ=λ=ͺ<̹<˸;ʷ:ȵ9Ǵ7Ų6ð5320/uy[*)),wKpBrDs^4KK!ާsLm[)6wIyLzN}PSUWZ\^`acŽeÏfĐhđiŒjœkƓkƓkƓl\ª?ϼ>ϼ=λ=ͺ<˸;ʷ:ȵ8Ƴ7ı6¯431Lb.+)91xLrCvK—uW.J J g@ØwxL)*XzM|P~RXWY[]`bdŽfÐgđiŒjƓlǔlǕmǕnȕnȖo@Ѿ?н?ϼ>λ=ͺ;˸:ɶ9Ǵ8Ų6ð532t`-+AVXN_}TØwL"I[J\3Ŝ{xL4)/nwb[TX[]_bdÏfĐhŒjƓkǔmȕnȖoɗpɘqɘqʘqȘreë@ҿ@Ѿ?ϼ=λ<̹;ʷ:ȵ8Ƴ7ı5¯42Y/-,`E9)|g^oJ J"4K XL#śzZV))*1-1`\_acŽfĐhŒjƓlǕnȖoɘqʙrʙs˚s˛t˛t˚tÝwZɲAҿ?Ѿ>ϼ=ͺ<˸:ɶP7Ų7®E>1/-,+)))~Tm^J!U J J hkf))*,./Am`cŽeÐgŒjƔlȕnɗpʘr˚s̛u̜v͜v͝w͝w͝w͜v~Mι@ҿ?н>λ<̹k~mbcT/.,*))9vIƝ}oGJ!K!٨uNǞ}{P,)*,.01GbdÏgőiƓlǕnɗpʙr˚t̜v͝wΞxΟyϟzϟzϟzΟy˟zǕmœklÏfrJ0.,+))gxXɡT+IzIzS*ʣ[\)+,.013{kĐhœkǕmȗpʘr˛t̜vΞxϟzϠ{С|Ѣ}Ѣ}С|С|mǯCs̜v˚sɘqv_s;320.,+))Z”pnJ I#M"I mėu])+-.0235NmƔlȖoɘq˚s̜vΞxϠzС|Ѣ}ңҤҤҤңsǮDD̛u}^9Ǵ?5¯420.-+)I|PˤoHL"J!f?ͨWR+-.02357ı<IJ\Útʙr̛u͝wϟzС|ѣ~ӤӦԦԦԦӥΥ[̶AUɴLȳNű=ȴ9Ǵ7ı5¯420.-+)fjȠM#J YL!6K Øwřv^--.0245¯7ıR|˚s~ΞyС|ѣ~ӥԦը֩֩֨էԦHA@Ѿ>ϼ<̹;ʷ9Ǵ7Ų5¯420.-+HTͦySK!UK"g>Ь_n}-.024A7ı8ƳCƲPĮtϟzѢ}ҤԦը֪׫ث׫֩էӥQι@Ѿ>ϼ<̹;ʷ9Ǵ7Ų5¯420.-/bŗtɡN#J!]H!'K!nͦYH.02;}@8Ƴ:ɶ<˸XůϠ{Ѣ}ӥէ֩ث٭ڮ٭׫֨_ƯAκMű;ʷ9Ǵ7Ų5¯420.-xybѮnEL"L S*Ωɞ|c90jgÏgn8Ƴ:ɶ<˸ΞxϠ{ѣ~ӥէ֪جگ۰ڮw>̣~|9Ǵ7ı5¯420.T\ЫoJ J 0U K!ڠiBԲĕqn5diÏgŒjg?ƳȜvΞxϠ{ѣ~ͥѧ֪جڮگ٭Т~jgXɘr^7ı5¯320G`̦ͥQ&IK)K!]ֵĔpr6>őityʘr̛u͝wϠzѢ}KҨ׫ججثתը\У¦Fͺ=ͺ^yE9ñ662Beͥү_7L!ǪUKRK k׷ƘssR5ƓlȖoʘq˚t͝wϟzǢ~5+~ө֪ת֩ըԦӥѣ~Р{Z¬<ʶL7ï~DhΦֵhBK"NI iJ nٺʞ|cQK~[ʙsƜxġ~I+2Eı}x˥ңС|ϟz͝wGƱ9Ǵ8Ų7ïJtjѬֵmGL!G#$K!mI cڼҫÏhÐg|W{|CO~*29Ǵ?нC^DZ|С|ϠzΞx̜v˚sÚtmÏfƖp׵Դe>L"H!.JZJ!oJֶٸ˝zđi>-3Gx2*29Ǵ?ϼB@ѾС|ϟzΞx͜v˛tʘrȖoǔmŒjŒjϧ۽ʦW.L!݇H J"4K"W/Ɵֳ}uI}}))*28Ƴ>ϼA?ϼ]ΟyΞx̜v˛tʙrɗpǕnƔlͣۻڼfK"J I$D"K J pKҰîطȥ}N@vR58Ƴ=λ@ѾC͸mʝw̛u˚tʙrɗpʙtѩܾ¬ĞY2K"I!eI;L!ЇJ sOΪ۬شĩ͞{˚tƜvžz̛u˚t˛uϢԭڹưܿš}]6K J"M&J HK"ćJ Y1lѭįȴȳݾܼ۹ܽ޾ĭɴȴܾɣ|ZM%K!I M!G#$KM#܇J M$iD]tĝǣ̧Ơ›}mxU_6J K!M"J `I$N!J YJL L"ވL!K!J L"M"L#ӇJ J!|IB@ ????????????opentk-1.0.20101006/Source/Examples/Resources/OpenAL.png0000664000175000017500000000103411453131440021354 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDIDATX1K\AXH$ ѨM>+  ;>_CPdM,-L" LD UN4{yмKZwxL8߯Z(c'jY f)czrgęOjY00Z"+d]X@©j3\T͋`řz j}?3O߀ jFzh>%΁~/E_?H ] |mA6Ph&a3?u)yk]CIENDB`opentk-1.0.20101006/Source/Examples/Resources/v3x.png0000664000175000017500000000130611453131440020760 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDnIDATXKTQ?3FVd R""ZD EHPP *Lmڄ-&("E0p"L\^hz.=?/S*X(eQ &IW`76f'Ic}Kp Wf6``7ͬ#?e4e px̎A"3fQ z9Om3 ܗ4v>{I v6B"? afg`c|chfh-ecLV 0iLB=ko(?1ŀ&]4)onU-Mf \] ,wSCR! 3;ms3NKl֋q~6oc3@+3Jqvňm=&MZnICU7ϛ a.iu YR2 w+<V{;%ݎMQ[R|E`/_JϜ:|Sjͬu@v30afwg껼$=v=`_3A`XLϽ'}R&N`E0?=Ū IENDB`opentk-1.0.20101006/Source/Examples/Resources/OpenTK.png0000664000175000017500000000076311453131440021406 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDIDATXOKQ7-m!@ ?@#\n/ aM@p*`FF*RfHI="38̔* ge] )`%L!509~9߰JCn PN6Q:!v{xxrf?q00qB/!4 '҈4$X wv_ m]rmUtJjMϪ~$5eJHG+Ն y 'k{#ףיؓ?|?$cI9aIIIr뀷ڳ4J;}`=kYo@R3^Rc2W (Ke FLI2\ٞFxu]LS7Cڛs7pKIENDB`opentk-1.0.20101006/Source/Examples/Resources/OpenGLES.png0000664000175000017500000000113511453131440021614 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDIDATX;kQߚ ($)AAD(h@wI)(0(" b I4Y)ag ٘b\8sϹsRլYeILLRIo6C؂y|4Dek*Ţ'wm̾4Dsp)n!k%2iLcCLw0H|Mʹ8X\KC(`O`\`o N!ar9S{0NMμӷId$RWzSk p8!MC2U~,:Vq7ˡ~Lcv`"ٲE54( qp~0SSW.Wv4_ґBE5ǘrd])mY11K bM󾓫l5]8k~ L8 -IENDB`opentk-1.0.20101006/Source/Examples/Resources/OpenCL.png0000664000175000017500000000072411453131440021363 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGD|IDATX헻JQPJ%Ul|_JX%v 6Q("uwI6s?3k$1(că`.c<0c}^[Ǯ,(  j`e;D@ DrO1paK4mzX&,Mt xL),Qئm=3k}T˒2kt{8k0]{OV1f$K0,ԄסC\mNbKIz3T3{ 7'0fWuЈ.R' :tL'o ǜܱb-Sv!w{x0L RF?xIENDB`opentk-1.0.20101006/Source/Examples/Resources/v4x.png0000664000175000017500000000113711453131440020763 0ustar laneylaneyPNG  IHDR##ٳYsRGBbKGDIDATXϋQ?BM( l5 cb3Sl-o!-YEt' !vepB^޹sx9s}sF|` 0!dGg P/i1 L&26/1 peHle^`$l F`0붫ĀgPW$WVhk\0n)lm F-tdxUўiRX7}@.,9>1kg$C}b{:nht(Y7[y@b eZ0eI;l7~#8`awI:q|o0+" i)pX|lWwہffba#OR6e4ׅJG 8Ic&åT`$C?R Y'OI/$l+Dq@nV5Ɋv/ (vD>IENDB`opentk-1.0.20101006/Source/Examples/OpenCL/0000775000175000017500000000000011453142152016702 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenCL/VectorAdd.cs0000664000175000017500000001376611453131434021122 0ustar laneylaney#if EXPERIMENTAL using System; using System.Collections.Generic; using System.Text; using OpenTK.Compute.CL10; namespace Examples { using cl_context = IntPtr; using cl_device_id = IntPtr; using cl_command_queue = IntPtr; using cl_program = IntPtr; using cl_kernel = IntPtr; using cl_mem = IntPtr; [Example("Vector Addition", ExampleCategory.OpenCL, "1.0")] class VectorAdd { public static void Main() { const int cnBlockSize = 4; const int cnBlocks = 3; IntPtr cnDimension = new IntPtr(cnBlocks * cnBlockSize); string sProgramSource = @" __kernel void vectorAdd(__global const float * a, __global const float * b, __global float * c) { // Vector element index int nIndex = get_global_id(0); c[nIndex] = a[nIndex] + b[nIndex]; } "; ErrorCode error; // create OpenCL device & context cl_context hContext; unsafe { hContext = CL.CreateContextFromType((ContextProperties*)null, DeviceTypeFlags.DeviceTypeDefault, IntPtr.Zero, IntPtr.Zero, &error); } // query all devices available to the context IntPtr nContextDescriptorSize; CL.GetContextInfo(hContext, ContextInfo.ContextDevices, IntPtr.Zero, IntPtr.Zero, out nContextDescriptorSize); cl_device_id[] aDevices = new cl_device_id[nContextDescriptorSize.ToInt32()]; unsafe { fixed (cl_device_id* ptr = aDevices) { IntPtr ret; CL.GetContextInfo(hContext, ContextInfo.ContextDevices, nContextDescriptorSize, new IntPtr(ptr), out ret); } } // create a command queue for first device the context reported cl_command_queue hCmdQueue = CL.CreateCommandQueue(hContext, aDevices[0], (CommandQueueFlags)0, out error); // create & compile program cl_program hProgram; unsafe { hProgram = CL.CreateProgramWithSource(hContext, 1, new string[] { sProgramSource }, null, &error); } CL.BuildProgram(hProgram, 0, (IntPtr[])null, null, IntPtr.Zero, IntPtr.Zero); // create kernel cl_kernel hKernel = CL.CreateKernel(hProgram, "vectorAdd", out error); // allocate host vectors float[] A = new float[cnDimension.ToInt32()]; float[] B = new float[cnDimension.ToInt32()]; float[] C = new float[cnDimension.ToInt32()]; // initialize host memory Random rand = new Random(); for (int i = 0; i < A.Length; i++) { A[i] = rand.Next() % 256; B[i] = rand.Next() % 256; } // allocate device memory unsafe { fixed (float* pA = A) fixed (float* pB = B) fixed (float* pC = C) { cl_mem hDeviceMemA, hDeviceMemB, hDeviceMemC; hDeviceMemA = CL.CreateBuffer(hContext, MemFlags.MemReadOnly | MemFlags.MemCopyHostPtr, new IntPtr(cnDimension.ToInt32() * sizeof(float)), new IntPtr(pA), out error); hDeviceMemB = CL.CreateBuffer(hContext, MemFlags.MemReadOnly | MemFlags.MemCopyHostPtr, new IntPtr(cnDimension.ToInt32() * sizeof(float)), new IntPtr(pA), out error); hDeviceMemC = CL.CreateBuffer(hContext, MemFlags.MemWriteOnly, new IntPtr(cnDimension.ToInt32() * sizeof(float)), IntPtr.Zero, out error); // setup parameter values CL.SetKernelArg(hKernel, 0, new IntPtr(sizeof(cl_mem)), new IntPtr(&hDeviceMemA)); CL.SetKernelArg(hKernel, 1, new IntPtr(sizeof(cl_mem)), new IntPtr(&hDeviceMemB)); CL.SetKernelArg(hKernel, 2, new IntPtr(sizeof(cl_mem)), new IntPtr(&hDeviceMemC)); // write data from host to device CL.EnqueueWriteBuffer(hCmdQueue, hDeviceMemA, true, IntPtr.Zero, new IntPtr(cnDimension.ToInt32() * sizeof(float)), new IntPtr(pA), 0, null, (IntPtr[])null); CL.EnqueueWriteBuffer(hCmdQueue, hDeviceMemB, true, IntPtr.Zero, new IntPtr(cnDimension.ToInt32() * sizeof(float)), new IntPtr(pB), 0, null, (IntPtr[])null); // execute kernel error = (ErrorCode)CL.EnqueueNDRangeKernel(hCmdQueue, hKernel, 1, null, &cnDimension, null, 0, null, null); if (error != ErrorCode.Success) throw new Exception(error.ToString()); // copy results from device back to host IntPtr event_handle = IntPtr.Zero; error = (ErrorCode)CL.EnqueueReadBuffer(hCmdQueue, hDeviceMemC, true, IntPtr.Zero, new IntPtr(cnDimension.ToInt32() * sizeof(float)), new IntPtr(pC), 0, null, (IntPtr[])null); if (error != ErrorCode.Success) throw new Exception(error.ToString()); CL.Finish(hCmdQueue); CL.ReleaseMemObject(hDeviceMemA); CL.ReleaseMemObject(hDeviceMemB); CL.ReleaseMemObject(hDeviceMemC); } } for (int i = 0; i < A.Length; i++) { System.Diagnostics.Trace.WriteLine(String.Format("{0} + {1} = {2}", A[i], B[i], C[i])); } } } } #endifopentk-1.0.20101006/Source/Examples/ExampleBrowser.resx0000664000175000017500000001565011453131440021431 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 616, 17 17, 17 810, 17 219, 17 430, 17 945, 17 opentk-1.0.20101006/Source/Examples/SamplesTreeViewSorter.cs0000664000175000017500000000522211453131440022366 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Collections; namespace Examples { class SamplesTreeViewSorter : IComparer, IComparer { #region IComparer Members public int Compare(TreeNode x, TreeNode y) { ExampleInfo x_info = x.Tag as ExampleInfo; ExampleInfo y_info = y.Tag as ExampleInfo; if (x_info == null || y_info == null) { return x.Text.CompareTo(y.Text); } else { int result = x_info.Attribute.Category.CompareTo(y_info.Attribute.Category); if (result == 0) result = x_info.Attribute.Subcategory.CompareTo(y_info.Attribute.Subcategory); if (result == 0) result = x_info.Attribute.Difficulty.CompareTo(y_info.Attribute.Difficulty); if (result == 0) result = x_info.Attribute.Title.CompareTo(y_info.Attribute.Title); return result; } } #endregion #region IComparer Members public int Compare(object x, object y) { if (x is TreeNode && y is TreeNode) return Compare(x as TreeNode, y as TreeNode); else return 0; } #endregion } } opentk-1.0.20101006/Source/Examples/Data/0000775000175000017500000000000011453142152016433 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Data/Shaders/0000775000175000017500000000000011453142152020024 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Data/Shaders/CubeMap_FS.glsl0000664000175000017500000000030311453131440022605 0ustar laneylaney// Copyright (c) 2008 the OpenTK Team. See license.txt for legal bla uniform samplerCube Earth; varying vec3 Normal; void main() { gl_FragColor = textureCube( Earth, Normal.xyz ); }opentk-1.0.20101006/Source/Examples/Data/Shaders/JuliaSet_SM2_FS.glsl0000664000175000017500000000457711453131440023513 0ustar laneylaney#version 110 // www.OpenTK.net GLSL Julia Set (c) 2008 Christoph Brandtner // uniforms from OpenGL uniform sampler1D COLORTABLE; uniform float CETX; uniform float CETY; uniform float SCALINGX; uniform float SCALINGY; uniform float OFFSETX; uniform float OFFSETY; // GLSL internal variables. const int MAXIterations = 16; // must be greater than zero, 16 is a good blend between detail and speed float XPos; float YPos; float XQuad; float YQuad; // half precision floating point could be used on those 4 floats for speed, but will throw a warning. int TableIndex; int LoopCount; // this function reduces duplicate code void Iterate(void) { YPos = 2.0 * XPos * YPos + CETY; XPos = XQuad - YQuad + CETX; XQuad = pow(XPos, 2.0); YQuad = pow(YPos, 2.0); TableIndex++; if ( (XQuad + YQuad) > 4.0 ) LoopCount = MAXIterations; // skip further iterations for this Pixel LoopCount++; } // Shader entry point, this is executed per Pixel void main(void) { XPos = gl_FragCoord.x / SCALINGX - OFFSETX; YPos = gl_FragCoord.y / SCALINGY - OFFSETY; XQuad = pow(XPos, 2.0); YQuad = pow(YPos, 2.0); TableIndex = -1; LoopCount = 0; // the loop is unrolled for SM 2.0 compatibility if ( LoopCount <= MAXIterations ) Iterate(); // TableIndex==0 if ( LoopCount > 1 ) discard; // attempt to early-out, will affect ~1/3 of all Pixels if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); if ( LoopCount <= MAXIterations ) Iterate(); // TableIndex==16 float FinalTableIndex = float( TableIndex ) / float( MAXIterations ); gl_FragColor = texture1D( COLORTABLE, FinalTableIndex ); // lookup texture for output // gl_FragColor.rgb = vec3(FinalTableIndex); // Debug: output greyscale }opentk-1.0.20101006/Source/Examples/Data/Shaders/Parallax_VS.glsl0000664000175000017500000000206111453131440023060 0ustar laneylaney// Copyright (c) 2008 the OpenTK Team. See license.txt for legal bla // custom vertex attribute attribute vec3 AttributeTangent; // world uniforms uniform vec3 Light_Position; uniform vec3 Camera_Position; // MUST be written to for FS varying vec3 VaryingLightVector; varying vec3 VaryingEyeVector; void main() { gl_Position = ftransform(); gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; vec3 nor = normalize( gl_NormalMatrix * gl_Normal ); vec3 tan = normalize( gl_NormalMatrix * AttributeTangent ); vec3 bi = cross(nor, tan); // need positions in tangent space vec3 vertex = vec3( gl_ModelViewMatrix * gl_Vertex ); vec3 temp = Light_Position - vertex; VaryingLightVector.x = dot(temp, tan); // optimization, calculate dot products rather than building TBN matrix VaryingLightVector.y = dot(temp, bi); VaryingLightVector.z = dot(temp, nor); temp = Camera_Position - vertex; VaryingEyeVector.x = dot(temp, tan); VaryingEyeVector.y = dot(temp, bi); VaryingEyeVector.z = dot(temp, nor); }opentk-1.0.20101006/Source/Examples/Data/Shaders/CubeMap_VS.glsl0000664000175000017500000000033511453131440022632 0ustar laneylaney// Copyright (c) 2008 the OpenTK Team. See license.txt for legal bla // MUST be written to for FS varying vec3 Normal; void main() { gl_Position = ftransform(); Normal = /*gl_NormalMatrix * */ gl_Normal ; }opentk-1.0.20101006/Source/Examples/Data/Shaders/Parallax_FS.glsl0000664000175000017500000000406211453131440023043 0ustar laneylaney// Copyright (c) 2008 the OpenTK Team. See license.txt for legal bla // Material uniforms uniform sampler2D Material_DiffuseAndHeight; uniform sampler2D Material_NormalAndGloss; uniform vec3 Material_ScaleBiasShininess; // x=Scale, y=Bias, z=Shininess // Light uniforms uniform vec3 Light_DiffuseColor; uniform vec3 Light_SpecularColor; // from VS varying vec3 VaryingLightVector; varying vec3 VaryingEyeVector; vec3 normal; void main() { vec3 lightVector = normalize( VaryingLightVector ); vec3 eyeVector = normalize( VaryingEyeVector ); // first, find the parallax displacement by reading only the height map float parallaxOffset = texture2D( Material_DiffuseAndHeight, gl_TexCoord[0].st ).a * Material_ScaleBiasShininess.x - Material_ScaleBiasShininess.y; vec2 newTexCoords = gl_TexCoord[0].st + ( parallaxOffset * eyeVector.xy ); // displace texcoords according to viewer // knowing the displacement, read RGB, Normal and Gloss vec3 diffuseColor = texture2D( Material_DiffuseAndHeight, newTexCoords.st ).rgb; vec4 temp = texture2D( Material_NormalAndGloss, newTexCoords.st ); // build a usable normal vector normal.xy = temp.ag * 2.0 - 1.0; // swizzle alpha and green to x/y and scale to [-1..+1] normal.z = sqrt( 1.0 - normal.x*normal.x - normal.y*normal.y ); // z = sqrt(1-x-y) // move other properties to be better readable float gloss = temp.r; // float alpha = temp.b; // if ( alpha < 0.2 ) // optimization: should move this test before reading RGB texture // discard; // tweaked phong lighting float lambert = max( dot( lightVector, normal ), 0.0 ); gl_FragColor = vec4( Light_DiffuseColor * diffuseColor, 1.0 ) * lambert; if ( lambert > 0.0 ) { float specular = pow( clamp( dot( reflect( -lightVector, normal ), eyeVector ), 0.0, 1.0 ), Material_ScaleBiasShininess.z ); gl_FragColor += vec4( Light_SpecularColor * diffuseColor, 1.0 ) * ( specular * gloss ); } }opentk-1.0.20101006/Source/Examples/Data/Shaders/JuliaSet_VS.glsl0000664000175000017500000000014111453131440023031 0ustar laneylaneyvoid main(void) { gl_Position = ftransform(); // gl_ModelViewProjectionMatrix * gl_Vertex; }opentk-1.0.20101006/Source/Examples/Data/Shaders/Simple_FS.glsl0000664000175000017500000000014511453131440022526 0ustar laneylaney/* Copies incoming fragment color without change. */ void main() { gl_FragColor = gl_Color; }opentk-1.0.20101006/Source/Examples/Data/Shaders/Picking_VS.glsl0000664000175000017500000000034111453131440022677 0ustar laneylaney#version 120 flat varying vec4 vColor; // must be flat, cannot have this interpolated in any way void main(void) { vColor = gl_Color; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; // ftransform(); }opentk-1.0.20101006/Source/Examples/Data/Shaders/JuliaSet_SM3_FS.glsl0000664000175000017500000000221711453131440023501 0ustar laneylaney#version 120 // www.OpenTK.net GLSL Julia Set (c) 2008 Christoph Brandtner uniform sampler1D COLORTABLE; uniform float CETX; uniform float CETY; uniform float SCALINGX; uniform float SCALINGY; uniform float OFFSETX; uniform float OFFSETY; const int MAXIterations = 32; // *must* be > 0 void main(void) { float XPos = gl_FragCoord.x / SCALINGX - OFFSETX; float YPos = gl_FragCoord.y / SCALINGY - OFFSETY; float XQuad = pow( XPos, 2.0 ); float YQuad = pow( YPos, 2.0 ); int TableIndex = -1; int LoopCount = 0; while ( LoopCount <= MAXIterations ) { YPos = 2.0 * XPos * YPos + CETY; XPos = XQuad - YQuad + CETX; XQuad = pow( XPos, 2.0 ); YQuad = pow( YPos, 2.0 ); TableIndex++; if ( (XQuad + YQuad) > 4.0 ) { if (TableIndex == 0) discard; LoopCount = MAXIterations; } LoopCount++; } float FinalTableIndex = float( TableIndex ) / float( MAXIterations ); gl_FragColor = texture1D( COLORTABLE, FinalTableIndex ); // lookup texture for output // gl_FragColor.rgb = vec3( FinalTableIndex ); // Debug: output greyscale }opentk-1.0.20101006/Source/Examples/Data/Shaders/Picking_FS.glsl0000664000175000017500000000013711453131440022662 0ustar laneylaney#version 120 flat varying vec4 vColor; void main(void) { gl_FragColor = vColor; }opentk-1.0.20101006/Source/Examples/Data/Shaders/Simple_VS.glsl0000664000175000017500000000030111453131440022540 0ustar laneylaney/* Copies incoming vertex color without change. * Applies the transformation matrix to vertex position. */ void main() { gl_FrontColor = gl_Color; gl_Position = ftransform(); }opentk-1.0.20101006/Source/Examples/Data/Audio/0000775000175000017500000000000011453142152017474 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Data/Audio/the_ring_that_fell.wav0000664000175000017500000037375011453131436024056 0ustar laneylaneyRIFFWAVEfmt DDdata~yyv}~~~{|y|}y|~}~~}xy~{|~x{}z{~{{|{~~~|z{}{|~w{~y{|z|~zzzz|z||{}~||}~{|}~{z|{y~yx~{z~~|{}|y}|z|{}~z|~}{}~~{{~}xz~z}}yz}{{}}}||}|{}|{}zz~y{|{~zz{y~{{}||~}|}|}}~||~~{|}z}}{}}z{~z{}{}~||}}|}~}}}~||}|{~}xxxqx}|}|~{uv}}wx{~{zz}}nn}vsysp|soxxrv}xrwwsu}~xxx{|os|zsv|ymt{qrxouyps}ytuzvtxxvvyusx~srzqp{sqz~rp{so{|sq}yus||wvv}{uvyzsuzzuvz{lp}wqx|qr}yoqxqu}urz~tsvwyzw{vtw{qp}zsv}snu~utw~vps}snw~nm{xqsztns|wqp}~vosqlw}poyxoqywrrywop~vmrrnwmivpnu~ztnsrjo}qmu~qltsir~vprztko~snupjx}op||wtxzrp|{{wu}{svut{}vwzzvwyzwv{}ss~xsztryywxxrwvq{~uu}ytw|wwy}}yxw~~wtytt~|sv}xsw{yw~}ttxt{~wx|yuy|xy|}{xw~zsxyu|vt{|zyz~ztx{vu}zxz~vtz}tw|}wvz~us|}tt{suwux~xvx|yvx{uu}{swxsxwtyytwxrxwt{{uv|xvx}xwy~~wsuwuzvv}sny}vy~|yxxywx}wwzrxxx~ywz~yv~yw~{x}zx}x{}z|{}~{y}ywvx}z|}{z}}|x~{|{z}zxzz{z{}y{}v|zx}|}~~{}{{}|}{~~||{y~w{~{}{y~{zzy|{}|}}}|||{|}~|x|{x}zz{y|~y{}y}~zz~z|~~z}}}|z{}{zwx}wz}z|}{y~~~{z|z|}y{~zyzz|~{y{|x|yv}yy~|{z|~}}yz~{y{y{xy~}x||xz}~yxxx|uy{z|}{{z{|{z~|z~|wzyw~yy~zxz}x{{v}~yy~{|}~{~~x}}{|z~{}~~z~~~}|y~||{y}|}~}y}|~~{~|{~z{~{y~~||~~zyz{~z|~{{||~}}}||}{|}z~zz~z{}{||y}|{~{|~~{}~~}|}||}~y{}y|}~|~|}~}~~~~{~~}}~~~{}~|~}}~||~~~||~~~~~||}~}}}}~~}~~}|}~}}~|~|}|{~||}}~|~}}~~~{|}{~~}|~}}|}}|~}~|~{}|~}|}|}~~~z~}~}~}{}~~}~~}}~~~~~}~|x}}}}~|}{z{{||}|~}}}~~}~}~}}~x{}{xz~|}}{|{x~{}z{|y}|}~~~|z~y{~y~}yy}{}}y|yy}}}}zz{}~|||ww}zxv}}|||~z{yu|~z{{y}}x{|}}|}|{x{wxx{{y{}}{z~zx}wzz{|z}}~z{||~|{}wy{w~zz~}{zz~}}wy}y|~~~~|||{||~y{zv}|{~|y{yxz}zy|z{~z}}~zz{~{y~yvwx|{}~|x{~|x~~{|~xz~{y|z|}}yyxz}vz|z|~}{~|~{y~~|~}z}wwy|{xz{w~{x~xy|}}~}}~{|{{||~||}v{wu~~|vx{|~{}~{zy~{y{z~~y{~~{|x~~}z}}|~}|}}~~}}|z{~}{~}~}~zz{}|~}~|~|~~~||}z{|~{|~}}z}|{~}yz}zz~~y{xw~x|}y{|{||}}{}{z}}z|yyzyz~zsx~|y|vt~yv{yy{~{ux|{yz}|vv~ytzyuz}ww||xx||{x{~zxyzw{~vx}{uy~|wx}|vu~}vw{vy~ywyzy{}{zyzzuxyv|wu|ww}zwz~yu{~yx{xy~yz{~|yx}{tu{}yy|}sv~xtx~{xx}xuxxuzvu|yux}zuw{xx~xsxxv{}ww{{uw}{xy}zvw~xuzwv{}vv{|vw~|xw|{uvzwyxvz}wx||xx|{vv}{vxzuywuz~yx{}xvz{uy|uw~zzz{{xx}zwxzvx~vw}|vx|{uw}zwxzquzuywuz|wvy{yx{zvv}xuywu{utz}vv|~wu{|ut~{vwxvx~|wxy}xwz|uu||twztxxtwzvxzuw}wv{{uxz{}|ywy}yy|{w{yw~}zz}|zz|~|}|~}zy}yyyy~}y{~zy}zv}yx~zz|{z|||}{~~|{|~xy}x||x||y{yy~xz|z}}||}z|}|||}|z|zx~yz~zz~zw}|{{{~{y}~yy}{x|zy{~zy||xzzv}zz~}yy~|||}~{{{~{z|~z{}xz|y||z{|yz|y|{z}|y{~|{|~|z{|y|zy~yy~}z{~~{z~}zy}z{{z|~z{}}z{}~xv|zvy~xx~zuyzx{{wx|yx||yy}yuzxx|ww|yv{~xv~}wv~{xyzyz}zyz}yx||wx~{uyzvzzvy{vyzv{~yw{{yy}zyz}yxzxw|wv|vv}~ww}}xw||xw~{y{~yx{{vz~zwz~{wy{vyzuzyw{~zy{|zx{|zy}zx{yx|xy}~xx|~yw}~xx~{|~~{z|z}~~}||{{~}z}}x||z}~zy}y{~xz~{{|~|{|||{{{{||y|zy}zy~{z}{x|{z~zz~|{|~~|||}{{|~zz~y{|x{}z|}zz}y{|{}}z{~{z}~|~|y{~{{|{~{{~~~~}|~~}}~~}~~z}|}~}}{{||~|}~}}~~}~}}}~}~~|~|{}|~{}}{~~|~~}}~}~~}~~~||~}}{|~|}}}}{~~|}}}~~}}~~}~~}}~~{}~|~|{}}|~|}~}|~}}}|}~|}|}~{|||{|}{}~}~~~}|~}}~~}}|{~||}|~|{~~|}yx~}|}|{}{z{|{}zy~}yzzz|yz}yz|{}~zy||{|~{z|{y{zz~zx|zx}zz~}zz~|{{||}}xx}zz~}{{~yx|zzyw|}yy~zy}{wy~|{|}xy}}zy{{vy{wy|wyzvzzvyzx{}yxz{xx}zx{xvzxw|xv|~wu{}xx~|ww}zwx~{yz~xwz|wx}}wy~{uw~{x{}vv~zwz}yzzwy|zz|~zy|{wy~|xzzvzyvyzw{xv{}xx}|xy~yxy}yy{yw{~wv|~xx~}wx~|xx}yyzwy~zz|}yz|{xy}|y{{wyzw{{x{zx{~{z}~{z|zuw{wzzxy{uw~|xy|vw~yw{{y{|ww}{z{~{wy{x{zy~yx|}zz}}zz~|yz{z}zz}|yz~~z{~|xy|xz|y|{y{~{{}~{z}|yz~|z|zy|zy}{z}~zx}~zz~zx}yxz}{{~zxz}yy}~yy}{wy{x{{wzzwzyx}|wy~zz|{xy}xx|}yy~~xy{xz|y{{y{~|y{~z{}yz}{z||z|{xz|z}{y}}zz}}||~|{{}|z|{{~yy}}z|~{z~}yz}{||z|}{|~}|}~|z{~|z}|z}{z}zy~}{z}~{y~|z|~zz}~y{~}z|~}yy~}z|}y{~zz}~||}|{{}|z||z|zy}z{{z}}zz~~{{|zz{{}||{~{vw}}z{~wx~yuz|y{yvy~zx|~yx|zvy~{x{yx{~xw|zx}|vx~{wy{y{~zxyzx|~yx}|wy~|x{{xy~zwz{x{yw{}yy}}zy|{yy~|y{yx{xx}yy}}xw|zx|}ww~{yz}|zz~yxz}yy{~xy~|vx~|wy{wyzuw{x{~xw{{xy}{y{~ywy~yw{yv|~vu|~yx}}yw|{xx~{yz|xz}~z{~{w{{xz}y{|x{{x{|{}}|z{}zz~}{{}xw|{z~zx|~yx}{z~}yx~|z{|{|}zz{~{{~yz~|wz}z|{yz|y{|z}}yz}|{}{{|~zy|{z~yx}~z{~ww}yx}z|yw|{y{~|z}~{zz}z{xw}|xz}yw|}yx}zwz{v|xw||wy~|zz|~{yx}{xzxw|}wx}|x{|yw||xx}wyxw{}yz}|zz{{yx|}xzzv{xx}zz|}yw{~|z~~xyyx|{|}}zz{}zz}yz{wz|z||z{|xy|z}~yy}|y{~|{|{yy~|y|zx}~xy}~{{~}{y||zz|z|yy|}z{}{{}|yy~{x|upz}xy~xvzyuv{{xy}zmp|rpy|ss{rpy{uqx|ur|tpv{tvyzns}vqt{wmtxorslvupvyvsvwsszwtv|rpw~pq|}op{{poz|qp~{oo}wps~vsuyssvxrtzxps|vpt|vkssowwnrunt|sovwtvyqsy~suwywsu}umrtpxpnxyqqw{spxxop|vkpsqvomu{rot{roxzll{wnq~tns}}ros~~snt}qmvzmo|wlo~|nnv~tpq~{olvwnnzxoq{okt~qouqmuzonyzno~xnsxut{xqtzwuw~vsyzsw~xtw|wux~xvxwqv~uu~}rs{zvv{|vu}zstxuyvuzztv{zwx|ztu~yqvxsy~tsyywx}}yuzyrtwu|tt{zrv~|xw||tr}{uxztxzvxz{wx{ywx{yswyryurzwtz~ytx|wsz|vv~wuy~~uvz}vw{|tt{}tt~}suysuzvw}yvv{wuy|vw}xrw~wsyxtwzrr}~xt{|oq~usy~vwz{ruz|vu|sryrw{tw|zzx||wtx{zx{|tv~vqzvv|vsxytyxrz|uv~zxy}|vyz||xxx}ut|}qt}quxrvytt{st~xsw|uu{wty}utx|utzysxtp{}uu~|vtz~zwu|~{xv~~vtx|sv}|sw|xrv}|st{rtxqvwtx{wvwzxvy{vv|wrwus{tsy~usywqyuqz|st|yww{~xvv{~xuwusy}qs~{rv~yrs|zss{qswqv~utyyvvwxuuyysu~vpvtpztry}uqw~wqy~tp{ysu}vux}|tvx}{uuy~sr||orzpuyst}yts{tu}vsxztv|tvyxy}tr|xt|vs}}wy}yvz~|yw~}{y}xv{~y{}~|uz~}yw|xw}tv}wy{yy~}{yx~|z{}xx}yu{zx|ywz|vy{u{xv|}zz}{{z{}yz{|{}vv~|uy}xz{ww{||~~yyyvzy{wz~|wz|y~wv{{~{z~|~~z|}}}}}}{z|yzz~}z}y{}x||}}~}|}{~~|~}zz~y{y{~zz~}zzx~}{||}~zy}~{{~}xy}ww|x||vx~}yz{~}|}{~|yy{}xy}vzzv|{x|~zy~{x{|{~zz}}xz~~z}~~zx|zxyx}yz~~}{~}~|y}}|{|{||w|{z~}{{}xy~y}|y|}{|}}~|~||{|{z~yv|z{}}|z{{wy{v{yy{xz|z{{}~{{z~yuzxy}uxzwz}{y~|vv{w{yy}ywz|yz|~{yy~yuzyv{xy|zx{~{z{uyzz|{{z~wz|}~|}|~zuxwxtvzxz}~zx~}wu~|wzyy}zv{|~yz|}}yy~{uy{v}yw{}zyz~xz{vz}y{{z}}~xz{|{{|{v{wvxz}yx{~}|{~}w|{x{}~~{}|||z|}}z}wwz{~zz~~}|x{|z}yy}y{~~z~{z{|}yzxy|vz}z|~}|y~~zy~|}}y{~yzz|{y{}y~zw~zz~~}}~~~z{}~}{}|~~wz|y~~{z}}yxzz}wz~||}~~{{||{}}}|x~tx~~zv}y|}|}~~}}{{z|z||x|~~|z}{z~~~}}~|}~~|}~|||~}~~~}{}~~}~~~||~~~|~{{{}~{|~|~}z{{}~~y{~~wz|z|vz{w~{y}|{{|}|||}|||}zz}~w|~yz}wsz~{{}uv~xv}}z{|xvz}~xz}zwz~vu~wv|wy~}xx}~}{y|zyz~zy}{w{yv{{x{|vx{uz|w{}yxzz|}}{|{|xv{yyvw~}wxzx}~xv~~zz|z{|z{|~}}{yytw~{x{~|txwty{xyyuz}xv{}ww~wv{~xvy~zy{}ut{}ww{vx~yuw~zyz~zwy}wv|}wyyuy~yvz{xyytyyw}}xw|zwy}{z{~ywyxw|xw~|uw}|xz|wwyv|{vy|y{{}~zzz}zy{|xx{zu{yv{xtyyx|xry}xw}|wx}xwx||xz|~xwz|uv}~ux{tv~zvx|xw~zuw~zx{|uw{xvz}{wy~xswxszxt{}vtz}yw{|xv{yvw~wv||vz|vx}zwy|ww|vy~zy||xy{zz}~{zz}zv{|w|xw}{y|}yz~{x|~|{~z{}}}x{~~z|~~yx~xyxz}yy~}{z}~|z~~{z|}z|zx}yx}{y|{vz{x~zx}}{yz~xy||z{|}~xx}}vy{uy{vy|vx{vx~zx|}xw{yy{~xx{~xw{ww}wu}}vw~|xx~{xw~~zxy~zy{|vx}{wz~{vx~yux{vzyuy~xv{}yx{{xw{zxy~yvzvv{ww}xty|tt}~xv|{uu}xvx~ywx~|vvz|vw|{su~ysxyswytvxtx~xuyzvv{xvx}wvx~vtyut{~ts|}tu}{uu}zuu~yvx}wvy{uv{ytx~xsw~xswysxwrx~wuz|xvyzwv{xvyvuztt|}tu}|tt|}ut~{uuytw}xwy{wwyzvw|ztwysxwszwty~xtx~xu{zxy~{xy}vv||wx|~ww}}vw}uv|vx|xx~{wx~|zz|wx|{x{~zw{~xuz{wzyuzyv{~zx||zx{{zz~zxzxw|~wy~}wx~}ww~~xx|vw{xz}zz{{yy{{yz~{vyyuzxx~~ywz|xw}|yy~zxy~~xz~yz}|vy}y{}wx|x{|y{~{yz}||}}zz}|z|~{y}yx}zy|zx}~yx}~zy~|z{~~zz{~z{}}yy}}wz}xz{wy|y{|yz~zy|}z{}zz|~{z{{y|zx}zx~yy~|yz}{z{yz~zz}}y{~{wz~|y{{wz{wz|x{{x{}zy||zz}{yz}zx|xx}ww}~yx~~xw}}xx|yy~yxz}z{}|zy~}wx~}z|}wx~|wy}xyzvx{y{~zwy{xx|{wy~zwy~xuzyuzwuzwu|}wv|{ww|zxy~xvy}ww{}vw~}xx{~vv{xz|ww~|xy~{yy~}xx{|yz}|wx|zvz{uxyvz}vyzvz~{x{{x{{yy|{z{}yx{xw{yw|xv{}ww~zx}|ww}{yzzy{|wx||xz~|wx~{vy|wz{wyzx|~{z|yy}|{}|z|~yx}|z~zx|{z~{y}}{z}}|||{{~}yz}{{~}yz~}yz~zz}yz}z{|z||{{||{}zz|zy}zy~yx}~{z~{z~~|zz|{}}z{}|y{}z|}yz}zty{y|{vx~zx|}zy{|xx~{y{yvz~ww}yw{{ww~}wx{wy~xw{~yy{{wx|{vx{vyyuyyw{yvz|xw{}yy}zwy~xw{yx{~wv{~xw}}wv}{vw~|xyzwy~zxz}zy{}vv|{wz|wx~zux{wzyuy~yw{~yw{{ww|{xx~yuy}uu|wv{|tu|{uv~{vv~xuwxvz}vw{zvw|{uwzuwwsyyuz}wuy|wv||ww|yvx}xuyvvz~vuz~vu}|ut|ztvzvw~xuw}wvz|vv{ytv~ytxwswwsyxty|utz}vt{xtv|xuv}wtx~tsy~ts{|st|zss|ysuxsv~urw}vuyzrszyrt}zrt~votvqwuqv|sqx{tszyrs{vru~usw~rmu}rqzrnxznn{yqr}woq}upstpuzooxzpqzvor|umruotrmu}row{rqywppywpr}uotrnv~qox|qoxzppzzpp|woq}vqttqu{rpv{qqzyoq{wnr}votunrupusnvyqryyrs{vpr{upt~po{ury~ol{yqs~yqq|vrv~wsu|trxztw}zrrzvsxxquwqvvryuqx{utz{uu|wtw~xvyusz|st{}uv}zsu~ztu~ztw~xux}wvz|wx{ysu}yvyysxuryxuz}vtz~xuz|vv}xwx}ywy~wvz}vu{}vw~{tv~zuvzvxxsw}xw{|vw|yvw|zwxxtxwty~xx~~xvzzvx{yy~zvyyx}~ww{|vx}~yy}|uv~}wx|{~~yy~{w|}|}~}z|~zz}~{|}y}}}z{|z~{}{z{|}}|{~~~||{{~}z}~}z~|w|}y|~y|~zz{z}|~|~}~~~{}~~||{z{y~}z~~z||{|z~}|~}~~{}|}}}~z|~}~~~~}}~~}~|}~{}}~~|{~~~~~~~~~~~~{{{w}}}}{{~||}~~}wz|{~{||z{~{}}~~{~||~~vx|z~~|}~|{|||}z~{|~}}~||}~{{~}|z{~{}~}~~|z~~|}}|}}z||{{|}}|y|{yzx}~z{||{}}||z}|{}~yz~~wz|y}|xy~~z{zy|y{}}~~}}}|||}~||}z}zz}|~~}|}~|~{}||~}~~|}}~}~|{z{}~~|{~~{}||vxzx}|y}|xx}~yz~vx~xy~~{||zxy|}z||~yu{xv|~ux|xy}|zx}}xx{wy|vyzw{~wvz~zx{ztywt|ww~{xxz~z{y}|yx~~ywz}ux{vzzuw|wx|uwzty|xy~yxz{yxz~yxzxu{wu~~vv|~xw|~zw}~xu}|yzxy|{xz||yz}|vw~|ux{uz{wx|xy~}xy}zw{|y{~yx{}xx|zx{ytzxv~xw|{xw||{y}|xw~~xw|~wy~{uy~}yy~}vw}ux|wz~zyz}{yyzyy}zxy}ytzuv}vv{xv|xt|~vuzxz}xxy~{yz{|wx||uw{tyytyyvyztw~yxw|}xvzvuz}tv{~ww{|uu}~ut~{swzvx~ywy~{yx{ww{|wyzvz~xuz{wz{uwxtzyx{}ywy{yy|{xw|yvzxw|vu{~wv|wt|}vt}|vwzwx}}yxy}yxz|vv{|su~xrx{tu}ysvysvwrx{ww{ywwywux~xvysr{us}}st||us|}wt}zuu~xvx{uy}yuy|yswysxyrxxtz~xuy}yvy|zx{zww|yx|vv|~wv{xw|wt|~wv~}xy}{vt{zyz|ww~vu{}vx~|uv{{vv~}vvysvyvz{wxzywx|{yz~xsxwt|wv|}wvz}yw|}yv}yvyyy}|wz|~{wx}yx~}tv}vz|xy~{yx~}zz}zx{{xz~zx}yx{~{z|}uxxv~{y}~zxz|{z{{x~{vyzx|xy}~ywxzw}~wv~{vyyx|}yyy~}zx{}yz~wx~zv|zz|~|xy}z|}{}{{~z|}}|{}|}{}{y}{}}zy~}y}}w|}xz~~||~~|xz}|zz}z|xx}}y|~|{|}yw}zz}x{{z|~~}{}}zz{z~y|zx||}~}zz|x{}z~zz|{|~~|~|z{}}{|z{~~}y|~{~}~~|~~|~~~~}}{{|}z|}}{~{y~~~}~}}|}}}~~{{~z~~{|{|}}{z|z}~{}~|~{~~}~{x|zz|{}~{z}~{~~{z~{{~{~{y|~}{}yz{tz~{|~|yy~yz|~~|}|~~{xz~xzxzzvz}||}xx}xz{{}z{|{}}}}|||y{{zyz~}z{}}{}{x}~z{||~}z{|}}|~~{z}~xz~y||x{}{{{y|x{||~|xz|xy|~~{z~zuyyw}yw||yy{}|z||yy~~zy{xz~xxzxsy}yy~{suyu{yxz{xxz|zy|{wx~yv{yv|~ww{~xw|zv||wv}{xzyxz}|wy{~yy|}vv}}vx|uxzuw|yz{wx|ww||y{~xvz}xw{zw{xszxw~}xw}{yx|}yw~|xwy~yy{}vx}yux~|xx{wyzuyzw||yy{|xx~}{z|ywzzy}yx{}wx}zy}}xw}|xy|yzyxy~~zz|zx{|wx~~yz{wy~{xz|yzzvz~zz}}yz|zxz~|z{zwz{vyyw|{wyzw{}yw}|xw|zy{~yyz}}ww|~xy}|sv}vxzvxzvw|xy}xvz{wy}zx{ywzxv{yv{wu|yx}|xw{{yx}|zz~xwz~xy~~xy}|ww}~yy~ww~|xy{{}~{x|}{{}~||~}y{}y}~zz~}yyzz|xy}|{~|{{}{z{}z||w{zx||x{{vy}y||x{{yz}|}|}{{{}zz}zy~wx~zz~zx}zw}{z|zz~}{{|}{|}}zz|{w|}y|{vy{z}|y{~{y}}}}~|{|~~y|||~~z{{{z{~z{}|~}|{~}}}}~}{|~}|}{|}z|~{}}z|}{}~||~}{|~}|~|{}~{{~{|zy}{z{y~{y|}}|~zz|{z|}{|{w|}z}}y|~|{|~{|}{|}|}~|}~~z|~~{{~{zyy~{{{y}|z~}{|{|~}{}~{}~|y|~z|~yz}y{~{{}{z~~||~}|}{z}~{{|z}{y}}z}{x}|{}~||~}{|}}}||~z|~{|{z}zz{z~zz~}{~}{}{xz~{|yz}|x{}y{|wy}x{|xz}zy|~}{{{{{}|z{~{z}xx~zy}zx}yw}zy~|yy~~{{{~~{{|}yy|}xz|wz{wy|xz|wy{xz~{z||yz|{z{~{y{yw|{y|xv{~zy}{x|}yw}}zz}{yz~yy{yy|}wx}}ww~}wy|wx{xy{yz}yxz|yz}{xz~ywzzw{yvzyv{yw||yx||zy}{yy~yx{yx}~wx}}wx~~xx~|wx|xz{xy|xy{}zz||wx}zwzzwzyvzzx{zw{}yx|}zy~zyz~zy{yy|}wx}~xx~}wx|wx}yy{xy~zy{}zz|{xz}zx|{x{yv{zx}yx|}zy}|z{}{{{zy|}yz~|x{}xz{yz|yz|y|~{z{}{|~|z{}{y|{y}{x|zy}{y}~zy}~{z~}{z~~zz|~{|~~xy}yw{}yzzuyzx{{xzzxy}{z{~ywz~wx~xx}~xw}}vw}xx{xx~zy{|yz|{wy}{wzzvyzvzzvz~yvz~zx|}yx{zxy~zy{xw{~ww}xx~}ww~}xx|xx~~zxy{yy}xwz|yy||xy}zux~|vxzuyyuyzwz}xwz{wx|{xy~xvzxw{xv{~wu|xv}|wv}{wx~{xy~ywy~xx|~ww|{uw~|wx{vwzvx{wy~xvy|yy||xx|yvy~zx{yuz|wy{y||uv|z{}yzyx{~{{}~yy||yz~~yz|yz~{y|}zz~zy|{z}~zz}|z{~}{||y{|y|{z}~{y|~|{~}{z~|z||{}zz|~{{~{z~~zz~~z{}zz|z{}{{|z{~}{{~|y|zy}|z}zx}zy}{y~}zz~|z{||||{|~|{}}z}~z{~~{{~zz}z|}{|{z{}{|~~zz}|z{}y|{y{|z|}z|{y|~{{}}{{~{z{~|{|{y|zy}zy~~zy}~{z~~{z~|z{|{}~zz}}z{~zz}yz}y|{{|z{~|}|{|}{|~~|}|z|}{|}z|{z||{~{|}{||~}|~~}~~~~}{}}}~z||{~}y}|z}|{~}|~|{}}}}}}{|~}}~{y||{~{y~{y}}{{|y}~|{{{{~}y{}|z|}z{|xz~z||z||y{|{|~||{|{z|zz~~yy}zzzy~~yy~{||z{}{|~}}}|z{}|}}z||z|~{|~{y|~}|}|{}{z|~|{}{z|zy}{z~zy}~zy~}{{{uv~~{{}{wy~~vv}~xzspywtwxs{vqu|xvxzwvxvsv|wuzsnysr{rp}~upx{sr~zus||wuu}}uuyysuzyqt|xpuwnsxptvpu~vpt|vsxyttxvrv|trxspw~tryrmw|qp|~trzzrqyxss}zuv}trw{ru{|stz{rpy{styor~uqvwtv|tqu}tpxzqs|xnr}wqu~vqtuotupw{qpyxrt{xrs{vqs}vpvsltwlp|zssxvnozuosvos|mmxzqrzynozuor~wmrslv|tsy|tqxustzzuu~vqw~tsz}tu{yst{|us{zruxptwty~wtw|wsw}vu|zst|wsxwvy~vswwszvs{{st|zwx}zvu|~xtwxuz}st{{tx~{uv|zst~{uwxrw|vvz|xwyzutyzuw~yrvurxwtyvrw~vry~us{xsu|wuw~~vuw~}usx~us||rs|zrt~ztu~xstytwvsyzsu{yuw}xst|}ts{xsx}pp{ztw~yvv{~vtv~zuxuqz}tv}}uv|{xuy{uv|uvvuz}vx|{wxy{vv|}uwyrxxv{xvy}yux~yv||vv|wuzxx{}wvyxu{vt}|tu~{wy~zwv}}zwwywz}uu|ztx~zvx~xtv{txxsx}vu{|xx{ywvzyvxxtyts{~uv}|uu{{ut||uuysv~vvz|wwzzuuz{uv~zrvwrxxty~wsw}wty~vt{ysu|vuywuw}}uswus{}rr{{qr|ysu}ytr|xruurw{rsyysv|xrt{wqtxqvsnwurxzssyytrxzss}upusqy}rsz{rqx|rq|{qq~woswtw|xvv}}wswzuw}yru|wrwxtv~vpuxrxupv{stz|vsywuu{xsvuqx}rrz~ss{{rrzzrs~{stvqu}uuy|utxyssyzrt~xqu~vpvwsw~vqu|vsz|tt{wru|vtxusw~tryvsz|qq{{uu}{ut|xst~xux}utyysu{{tv|xqt~xquyrvuqv~wtx|vtxyuu{ytw~urwtsytsz}sqy}ts}{ss}xsu~xux|utw{tu{|su}xqu~yswxrvwrvxty{st{yvw|yuw~~vsxwtzus{|tt{|vv}{uu|zuvyvz~uty|vw||vv|{st~{uwysvxux~yvy{vuy{vv}ytx~vsxxuzwsx~vsz~wu|zuu|ywx~yvx}wuywv|}tu|ztv}xrv}wtwyqv}tt|ytv|ytw~xuw~wswvt|}utzyux~{vv}~xuwyuzwuz{uw}|xx}zvv|zuxzvzvty}xx|}xwy{sr|{uxzrv}usywuy}tqx{uu~}ts|uqvxvx{tty{ut{{tu~wpvwsxvsx}vrw~wt{{tt{wux}xvy~~vtw~vtzts|{rt}{vv}zut}ztuyvy|uuzzuw}zvw}ysu~zuxyqvvuzzwx}wtx|xw{{tv}vsx~yuxvrxvrxur{ztt|yvv|wux~|vtw~vu{}st|zru~zuwytu~ytwyux{uuzzwy}yvw|xuwyuzvsy~vv|~xv{{vu{|xxzvx~}uv{~xx||vu{|vv}vwyswzxz~zwx{xw{}yy}zux~uu}{y{wry~yw~~xw~zuy|{{~~yxx|yz}zx}zvz{w{{yz~zvy|w{yw||yy}}|{|{yy}{y|yx|~wx}~yz~yx|~xw~yzzxz~{{|}{{{|yy}~y{|wzzx{|y{}yx||y|~xyyx|{{}~yy|~zy~zy}xz}z|~}{~~zx{~{|~~zz}yw}{|{y{}{z|{~|y{|}~{|~}||}~|}~z{}{}}|~~}||~~}~||~|{}}}{{}|{~~|~{z~~}~~~}~~}}}~~~||}{~~|||}~|}}z}~}||~|}||}}|}~~}~}z|}{~}{~||}}|~||}||~~}}}~~|}~}~{{~|}|}}|}~~~~||}{}~}|{|||~|}|z~}}~||~|}~~~~~||~}{~~{}~}|}}|~|{~{|}~}|}}}|}}}~{x}~}|{}~}|~}}~}|}}~}~}z|}}|{z{}|}{{~~~|~}|}{|}~|~}{~|z}~{}}z{}z~}}~~~|~~~~}}}|}}}~}}}{~~~~}~~}}}~~}~}~~~}~~~|~~~~~~~~~~~~~~~}~~}~~}~}~}~|~~~~~}~~~|||~~~}}~~~}~~~~}~~}}~}}{~}}}}~~~}~}}}}|}|~~{|~~||}|~{{~|}~||}}}}~}}~}z||{~{z~|{}}{}|z}~|{}|}~{|}~~|}~{{~~y{z|}y{~{{}{}z{~}}~}|}}|{}~}{}|y||y}|z}{z||z}}||~|z{z{~}y{~}yz~~zz~xy}y{|z{}{z{~|{}|z{~|y|zz~zy|{y}{y}~{{~|{~{{}}|}}~||~}z|{{~y|~{{~{z{z}{|}|}||}|~|{|~}{|{x||y}{y||y{}z}~{y}}||~||}~~z{}{{~zz~~yzz{}zz~~{z}{{~{z}}z|{{~|z{{z}{y}{z~~||~}|{|||}}|}{z~{|~{{~~{{|{}z{}|}~||}}||}~|}}z||z}|z}|{}}{}|{~}{{~}|}{|}~{{}{{~zz~z{}{|}{{}{|~|{}~{{~}{}|z||z||z}{y|{z~}{{}|{{~|{|{z|zz~~z{}yz}z{}zz|y{|{}}z{||{|~|z{{y{{y}zy}~zy}|z}yw||zz}z{~zy{zz|yx|}xx~~yy~{wx|yy{yz~yx{|yz~{wy~zwzzw{yvzxv{~yw||xw|{xy~zyz{xy~yx|~yy|~xx|~xx~}xw}{wy{yz~ywy}yy|}ww}{wy~|uxzvy{wyzvy~xvz}yx|{xx|ywy~ywzxuz~vv}~xw||vu|{wxzwx~xwz~xx{|ww{{wx~|vxzuxzvzzwy~xv{~yx||xx|zwyzxzxvyyw{xv{}ww||xx~{ww}ywyzwy}wv{}ww}|vw}zvw~{vxyuy~xvz}xx|{vw|zwyyuxwuzxv|}wv{|ww}|ww~yvxywz~xw{}wuyzsv~zvx}ysvwtywtx~vtz|vu{ztu}xuxwtw}vuz}vu||uu|ytwyuwxuw~wuz}vtz{tu|{vw}ytv~ytwxtx~vty}vu{{uu{zuv}yuwwsx~vtz~vuz|uu{|uu}xrw~xvyxsw{uu{{vv|ztu~wtwxux~vuz}wuy|uw~{su~wvzyuw~vsx|vv||uu|yux~yvxwuy~xvz~vv||uu|yuxzvw~yuwxvz}vuz{uw}zvx}yuwyuyxuz}vu{}xx||wv|yvxzwyxvz}ww|}vw|{uv}|vwzuwyuxxuy|wuz|wv{zuw}xtwxuywty~wtz}vu|{uu|yuw~yuw~vtx~wuz}ut{{tu}zuv~vuz{wyur|{vw}{vx~yux~zyzzvy|xx|~yw||zz{zxy~|yz~yw|xw|xx}xv{~yx}yw~|yx}{z{~{zz~|yz|~yz~|wy|wz|xz{wy|xz{x{}zy||z{}{yz}zy{~xyxx}}vy|y{|yy~~xw}vw}|y{}{xz}ywz~|zy~xu|xw}~wx~zxz~}yw~}yzxv{~xy~zy|}zxy~|yy{vzyv|xy}|zy{|zy}}yy}{||{~{u|}||}|z~}z|zz~|{}~z|~z{yyyx|}yz}}xx|xw}~xyzuyyy|~zyz}xw|~yy~zuyzwzzy{~zwyzw{~xw}{wz~zz{~zxy~zw{yw|~vw~}xy}}zx{}xw~}yzyw{~xz|~zz{}xw|~xx}vxzwy~{xz~|zy{w{~yy~{xz}zy{{yz{wzzw}yx}}yz}}{z}|zy}|xzzx|~xy}~zz}}zx|}yx}xzzx{~zz|~{z{}xxww}|y}~~}yy{|zy~}yw~{v{xx}}xx{{yz}}wu}|vxyu{xwz}zyz}ywz|wv}{vzwu{wwz~zwz~xtzwv~{uxyxy}~zyz~yvy~wv|~uxzux~zwy|wwzuxyv{{ux}ywy|zwx~yuxxt{vu||vv{}xw||xv}{vwyw{}vw{{wy||ww}|uv{uyyuy~xwy~zxz}yvz|wx~zvzwvzyx{yuz~wu|~wwzvx}zxy~zyy~yvzww}|vx~zvy~|yy|vxzvzyx}|xy|{zz}|yy}zvyyw|ww|}xx|~zx|}xv}}xyzx{}xy{}zz|}yx|}wx|vzywz{yz~{xz|zy}}xy~xw|~xy|~zy|}yw|xx|xzzy{~{{||yz~zy}~y{{xz~{z|}zz|wz{y}~yz}|z{}||{~|yz{y|zy~}yz}~{{}~{y}}yy}z|zz|}{|}~|{}}yy~}x{zx|{yz|z|}{x{~yy~|z|yy{~~z{}~{y|~xx~~z{}y{~{z|}||~|z{~{{}z|{y|}|}|yz}y|{z~}{{|}||}}{{~|z{|z~zz}~{{~|{}~zy~~{{}|}~{yz~||~|y{yx~z{}yy}~{zzy{x{|{}|y{}{y{}}z{{vz{x|zy|}zy{~|z|}zx}{y{{z}}yz|~yy~~zz~ww|x{{z{}{z{}|{}}yy}|y|{y}yy|}{||wzzy~|{}|z{||||}}zzzx|zy~xy}}zy{|y}~xw}|y{{{|~}zzz~~{z}yx}}vy|x{zxy~|xy|xz~zx|~z{}yx|~zyz}|y{zw{yw}yy}}zx{~zx~~yw}yw{zz}}xy{|xy}~yx~|uw{wzzxy}zxy|y{}xx|{wzzy{~yxz~{w{zv{wv|~yy~|yx{|yx~|yzxw{~wy~{||}xw}}z{~yx{xz}||}{zz|{|}~zz}zw{{x|{y{{wz}x{zw{~zz}||{|~z{{||z|yw|xx~yz~~zx|zx~zy{yz{|}|z{|~}zz|yz}wz|x{|yz}xx|xz~{y{}yz|{z|}zxz}{w{yw|xv{~yy}~zw{}xu}~yx|~yxz}|ux}{wy~{vv}{uxzuyxuz}zz||xw{|yx}zwzxvzxx|~xw{}xv{~xx|wx~zxz~{z{}yxz~yx}xx|{vy~|z{~|ww~{wy{wz~xw{}yz||xx|{wx~{vzytx~vv{zvy}wtz|wv~{vw}wvy~~xxz}vuz|vv}|tw{tu|vrxyvwwrw|uu|ztv|wsv~wtxvrw~us{~us{ztu|zuw~yvv~~vtx~vu{{tu|ztv~zuwysvytyxty|vuzzwx|zvw|xtxxuzutz~wu{~wuz|vu||ww~yux~~xwzxuxzsu|}ww|zsu~xtwzvw}vty}vu{|uv}xtx}ytxyuw~urywu{|uuzzuv}zww}wtwvuz~uu{{tu|{uv~zuv~ytwyuy}wuy|ww|{vw|ytw~yuywtyvuz~xvz|vu{~wu{ztv~ywx}yvx~wuy}vu{|uw}ztv}ytwyuxvrx~wu{|uu{zuv|zwx~xtwwuzvuz}utz|vv}{uu|ytvyux~vux}wvz}vu{ztu}{twytwxtxxuy}wty|vv|zuxzxy}yvyxvzxuzwv}|xw{{xx|{yy}zwx~xx|ww|~wv{~wv}wu}}vw|wx~zww~}zyz}yxz{uw}{vzyuyzvxzuyyuy~yw{|xx{zxy|zxzxvzwv}ww}}wv|}ww|xxzvx}xx|{xy|zwy~{xzzuxyv{zwz~yx{~{y|}yx|{xz{y{yx|zy|yw|~xw}~yy~|xy~{yz~{y{~yx{~xy~|xy~{wy~|xy{wyzw{zy||yy||yz}{xy~xu{yx|wu{|wx}}yx}{ww{xzyx{|xy}}yy}|xy~{vy{w{yw{zx{~zy{}yx}|xzzx{yy{zx|~yw|~xx~}yy~|xy~|z{{yz~zy|~yz}|xz~{yz|xy{wz{x|{y{}zy|}{{}|yz~{y{zy}yy|~zz}zx|~yy~}yz{z{~{z|{z|~yy}~yz|y{~zy}}yz}zz|y{{z}}{z|}{{}}zz~|x{{z}zx||z{zy}~yy}}zz~{z{~{y{{z|zx|~xy~}yz~|yz~}zz|yzzy|~zz}|yz}|zz~~zz~{wz{z}{z{~{y|~|{}zy}{y||{|~{y{{y|{x|~yy}~{z}}yy}|zz~|y{zy{~yz}}yy}}yy~}yz|xy{y{|z{}zy{}zz}}yz~{x{{y|zxzzx{zx|}yy}}zy}|zz~{yz{y|yx|~xx}}yy~}yx}|xy{xzyx{}yz|}yy||xy|xzzw{zx{zx{~yx|~zy}|xy~zy{{y{~yx{~zy}~yx~|xy~|yz|yz{y{{y|}yy}}yz~|yy~zx{|yzzw{~yy}~zy}|yz~|yz{x{yy|~yy~~yy}|yz}yz{yzzz|~{z||yz}}zz~|x{{y{{y|{xz}xx~~zy}{wy~zx{zy{~xx|~yy~}wx~{wz|xy{xyyw{|yx||xx|zwzywzyvzyw|~xv||wx~|xx}zxyzx{~xx{}wx}}xy~|wx~|wx{wyywy~zy{}xx{{xy}|xx}yuyzwzyvz~xvz~yw{|ww|zwx~zwyxvzxv{wv|}vv}|wx~{wx~zwxzwz~uu|yx{|wv|xuxzvzyuy|wx||yy{zxy~{yz~yw|xv{~xy~~yw|~yw|}yy|xy~}xy}|{|}|xx}{xz|wzzv{{z|{xz}{z}~{z}{y|yz~{{}yy}zyzz}y{~}|~}{{}||~||~}z}|{}}z|}y{}z||z}}{|}}|}}{{~|{}{z~zz~{{~~zz~{{~zz{{}~|}}}{|}}{|~}z||y}|z}|{}{z}~}~~}y{}{}~}~}z|{|~}|{}~~~|{~~~}}}~~}~~~~~~}~~~~~~}}~}~~~}|~}~~~}~~~~{|}~}~}|~}}|~}~}}}}~}~~~{~~~}|~~{|~z}~}}~~}}}||~|}~{}}|~~zz}}|~|x|zy{|}xy{z}~|y~{xy|z||y{xx~~|{}zx}}{{|y|{z}}~}|z}~}}}||}{}}}}~}~}~~}}}|~}|~}{}~}~~{|~z}}|~||}~~}~|}}}~}||||}}~}z~|}~~~~}~}~}~}}|}}~{}~}|{~{|~~~}~}|~~~~~~|{~}|{{~}}~}~|~}}}~}|}|~~~~z||~~|~~}}~~~~~}|~}{~}}}x||}~~}~}|~}{||}}~}}}}~}~|~}~~}~~~~~~~~}}}|}~}~~~~~~~|}~~}~~~}}}~}}~}~~~~~}|~}~~~~~~~~}~}}}~~}~~}~}|}~~}~~}~~~~~~|~~|~~}{|~}~~}~}|}~}}~~}~~~~~}~|}|~}|~~~~}}~|~}}}|~}~~}}~|}}{|}~}}~~~}~~}|~|~||}{}~}~~||~{|~|~}}~~}~~}~~~~}}~|{|}~||~~~}~}~}~}~~~}~}}}}{~~~~~~|}~}~}}~~~~}}}|~}}|}~~~~~}~~}}~}|}~}~~}|||}~|}}}}}}~~}}~~{}||{|~~|}~|~|{}~}}~}}~}~~}}~|~~{~}|~}}~}|}~}~|}||~|}||~|{~|{~{|}||~~}~}||}}~|}}{}~}~~|{~|y|}|~{z}}{|~}}|~|z{}{}{z~~{|~}|~~|{}~{{}{}{|~~|}~~||}{z~z{}{|~}||~~|{}{{|{~~{|~|z|~}||}zz}y{{y}~{z|~|{|}{z}}zz~}y{xx|{{|{y{yw|zy~|y{~zz{~{z{~zy{xx~~yz{wz~|zz}zy{xzzy}|y{}{z{}|z{{xz{x}zy~|yy~{z|}z{~zy~|z|{zz|zz||z{xv|~yz|wx~{zz~|yzzvy~yy}}xy}{xz||yx}|wx{wzyw{~yx{~zx{}yw|}wx~zw{yx{~}yy{zw{~wv}}vx{wzzxy~~{y{|wy~ww~}y{~{xy|{xz}xyzvzzx|~yx{|zy{|zz~|xy~yw|yx}~yx{zx|zw|~ww~|z{~zzz}~{zz~{y|~ww}}wz|xy~{xy}xy{wz~zy}|y{}yy{}{z{{w{yv|xx~~yx{}zx|~zy~|xyzy}~yz}|xy}}yz~}wx{uz{{}~{xx{{z||{z~{wzyx~~xy}}yy}~{y}}xy}xzzz}}z{{}{{}}zz~}xz{y}zz|~|z{|y|~zy~}y|{{}~{{|~|{}{y}~yz}y|{{|~}{{}z|{z~~z|{xz~zz}~zzzw{zz~yz}zz{~~|{{{y{~zy~}x{}yy}yx|}zzzwz}xy~|xz}yx{{y{zwzyx~xx~|yz~{z{|zz~zy|yz~|xz~{x{|yz|wy{x|zx|}zz||{{}|zz~{x|zy}~xy}~yy}|yy~}yx~|x{~yy|}zz|}zy{{wy|yzzwzyw{~{z{}yx|}yy~|xzyx|zx|~zy{}xx}~yy|xz~zy{{z{~zx{}yy~|xz{xz{y{{yz~zx|~zz~|yz~{z|{z{{y{zy}zy}}yz~}{{~}zz~~zz{y|~{{|~{{|}zz}~zy~|y{{y{{y{~{z|~yx}~zz~|yz{y{{z|zy{~zy~~yz~|xz~|z{|yz{x{zz}}yz}|z{~|z{{xz{x|zy}~zz}}{z~}{z~|z{zy~~{|~~{{~}{{~{{~{|}|}~}}}}}}}~}|}~{}}{}||~~|}{|}{~}|~~}}}}~~~~}}|~|}||}}~{~}{}}~~~~~}~~~~~}}|}~|~~|}||~~}~}}}|~|}|}|}}|||}~~}~~~}~~~~~~~}}|}}~}~~}~}~~}~~~~~}~}~~}~~~}~~}~~~}~|}}~}|~}|}|~~||~~~~~~}~~}~~~}~}{}}|}{~~|}~|~}|~~}~}}~|}}~|||}}}}}~}}}}}~~}~}}~~|}|}~z}~|}~|}~||~|~}}~||~{||||{|{||~}}}~~~}}}~}}~|}}{}}|~}|}~|}~|~~~~~|~~~}}~}}~~}~~~~}~~~~~~~~}~}~~}~~}~~~~~~~~~~~~~~~}~}}}~~~}~~~~}~~}~~~~}}~}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~}~}~~|~~}~~}~~}~~~}|~}}~~}~}|~}}||~||}}~|}~}}~}}~|}}|~}|~}|}}|~~||~yy~}|}~z{~{z|{|~{y{zz{z}}zz~{z~~}|{~{z|}||~|y|~|y||y||y||x{{y||z|~|z||{{}|z|zz}yy}zy~zy}~yy~~zy|zz~{{|~{{|}zz}|y{}y{|xz|y{|x{{z}}{||{{~||}|{|zz~{{~{z}~{{{z~}{{~}|||||~{{}{{~~z{}y{}z{}z{}{||{|}||}}|}~|yz}y{|z|}yy~}{{~{y}|wx~|z}}wxyx}zx|{w{~xw}~{y}{zz}{z{|y|~~xy~|x{|vy|wz|xz}{y{}{z|{z{}yy}yy}~xx}xw~~xx~~xw~|yy~{zz}zz{~zz{{vy~{x{~|wyzvx{wz|vw~ywz~|yz|yw{{vx{xz}wuzyw{xuz}vu||uw~{ww}xvxyvx~xuz}vu||uv|xtw~zvw~xswwty}vv{{st}xvyzuu~~vty~vt{}vtzxtx~zvw~wtx~wvz~uu}{uw~}xx}{uw{wxzvz~yw{}yx{|yy||xx}zvyyx{wv{~xx|~xv|}vv~|wyzwy~zxy}yxz}xw||vx~zux~yvyzwzyuy}xw}|xy|zwy~yy{ywzwv|~xw}|vw}|xx~{ww~yvx~yxz|vw|zvx}{vx~zsvyuyytx~wuy}xw{|wvzyuw~yvyvty~vu{}vu{|ut|{uv~ytwxux}wvz|utzzvy|uv~vtzywz~yvx|wv|}ww|yux~zxz~yvyzuxxw|wv||xx|{yy}|xw}zxzyw{}vx}~xy|}ww}}vw|vyzvy~zxy}zxz|yw{{wzzvzxv{yw{yvzxv|~yx|{wx}zy{zyz~xx|~xx~|vy|xy|wx{wy{x{}yy}{xz}zy{~yx{yw{yx}~wv}}yy}}yx}{xyzy{~xy||wy}|xy~|wx{wy{wz~ywz}zy||yx|{xy~zx{xv{xw|~xw|~xv|}xw~{wx~yxy}yz|}yx{|vx|vyzuyzvzzvyzvy~zx|{wx|zxz}yx{xvzxv}wv}}vw}}xx~~yw{|xx~{z{~xx{}xz}|xy|{vx|wz{uxzwzzwy}ywz|xx}{wy}xwzywzxuz~xw}~xw}{ww}{yz~zxy}xx{~xx}|wx}|wy|wy{wx{xzzx{|yy||yz}{xy~zw{|y|yv{~zy}{x|}yx}}{{~{yz~~zz|zz|}xy}~xy}xy|wy}yz|yz~zy{~{z}{xz}{y|{x{zwzzx|yw|}yx}}zy}{yy~zy{yy|~xx|~yy~}xx~|wx|xzyx{~{z|~yx}{xy~|y{zw{zx{{y|~yx|}yy}|z{~zxz~{z|zx|~xw}yy~}xx}|yy|yzzxzzy|}yy|{xy}}yy~{wx{wz{x{~ywz~zy|}yx|{xy~{x{ywzyx{~yx}}xw||wx{xzyxz~yx|}yx|}ww~{x{zwy{y{{x{~yx|}y{{yz~zy||z{zx{yy~~yy~|yy~}{{}zy~yw{zz~~xx|{xz~|yy~{vx{w{yw{|xx|}zy|{yy~{xzzx|}wy}}yz}}yx~|wx{x{ywz}yy|}zy||xx}|xzzw{xw{zy|}yw{}ww~|xzywy~~yy{}yx{}xw|~yy}{uw~zx{|xyyvyzx{~xx}{wy}|xy~zvxzuyyv{}vv{|xx|{xx|zvw~zwzwv{}ww|}xx||wv}|vw{vy~xwz~yy{}xw{|ww}|wyyuyywzzwy~xuz~xw}|wx}xwzzyzxvy~ww}~ww~{vw}zwy{wxzvyyw||wx|ywz|yz~yuyzw|yw||xy}}zy}|yx~{yz{x{}yy|}yy}~yx|}wx~|wzzxzzy{{y{}yx{}xy{x{yx{{y{zw{~yw}~yy~{xy}|zz~|yyzwzzz}}xy}|xy}}yy~{wz{x{yx||yz|}zz}|yz{xzzx|yy|~zy|{y||xy}{|zy{}yz}~{{}}yy~}z{|z|{z|}{|~|{}~{z~~{||z|}{|}{||y|{{~||~}{{~}||}{|{{~||~~z{~~}}|{}{|~|}|}}~}}~}|~~||~{}||}}}||||~|}}|~}}}~}~~}~}|~~|}~~~}~}|~~~}~}}~~~~}}}}~~~}}~~}}~}~~~~~~~~~}}~~~~}}~}~~}~~|}~}}}~}~~}||~}}~~~~~~~~}~}~~}~}}~~}}~}|~~~~~~~}}~~}~~~~~~~~~~~~~~~|}~}~~~~~~}~~~~~~~}}}}~|}~}~~~~~~~}~}~}}}|~}}~}|~~|~}|~||~}}~}}~~}}~}~}|~|}}}~}}~}}~}}}|~~~~~}~~~~}~~~~~~~}~~~}}~~~~~}~~~}~~}~~~}~~}~~~}~~~~~~~|}~}}}~}}~~~}}~}~~}~}}~~~~~}}~}~}~~}~~~~}~}~~}~~~}~~~~}}~}~}}}|~~~}}~}}~~~}}~~~~}~}}}}~|}~}~}}~|}~}~}}~~}}~}~~|}~|}~|~}|~~}~}}~~}}~}~}|~}|~}|~||~|}~}}}|}~}}}|}||~}}~||~}~~|}}|}}}~||~}}~~}~}|~}}|}~|}~~}}~}}~}}~}}}~~}~~~~|}~}~~}~}|~~~}|~~}}~}~}}~~}~}~}}}~~}~~}~~}~}}}}~}~~}}~}~}}~}}~}~~}~}}~~}~}}~~}}}~}~~~~~}~~}~~}}~~~}}~}~}~}}~}~}}~}~~||~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~}~~~~}}~}}~~|}}~}|~}}~~~~~}}~~}~}}||}}}}}|}}~}}}}~~~~~}}|}~}~~|}~}~}|}|y|}}~|z|}{|~~{|~~yx}{x|~zy~zx{|y{}{y{}zz}{z{~yx|zz}~ww~~yx}~xx|xx~|zz~{yz}zy{|yz~{wz~zwz{w{zvzzw|{x{|yx||z{}{yz~yx{zz|wv|}yz~yw|}xw}|xy}yy|yxz}{{{}yx{}xw}}yy~{vx~zx{{wxyvzxw|}ww{{wy~|xx}zvxyvzxv{}ww||xx|{vw}{vyyvzwsxytx~|ywyysu~xuyxux{su}{vw|zst}yuyxsx~wu{}yx{|wv|zxy~{wyxvz~yx|}xx{{xx}}xx~zvyyvyzxz~ywy~yw|}xx}zvx~yxzywy~xvzxw|}vv|{vx{yy}zvwyw{~xw{|vx}{xy~{vw~zvyzvzwuz}yx{|xw{zwx~zwywuz~vv|~wv{|vu||vw~zuwxvy~xw{|wvz{vw~|vwytxyvzyvy}xvz}xw|{vw}yvyywzxux{vw~xv|yswyw{ywy|ww{~xw}|uv~zwz{vy~{xxyv{~yw{|wx}zwz~ywy~ywzyv{wu|}xx~|xx|zxx~{xz~xw{}wx~|wy}zvx~|wy{uxyvz~yx|{xw{{xx}{xy~xtyxw|wv{}wv|~xw}|vv}zvyywz}wvz}xx||vw}{uwzvyxuyyvy~yv{|vv|{wy~yvy~xvyyv{wu{}vv}}ww}zvw}{wxzwy~wvz}wx}{vw|{uw~{vxytwyuy~wuy|xvz|xw|zuv}xuyxvz~vuy~wu{}vu||tt}{vxyvw~}xvy~xw{|uu{{tw~ytxxtwyuxxty}vu{{vw}yxz|zwywv|wv{ww}}ww||vv}|xx{ww}xw{zxz{vw|}ww}|vw~yuxzvyyvx~ywz~yw|{vw|zwzywyxvzyv{~wv{}ww}|xx}zvw}zwyywz}wv{}wx}{vw}zuw|yzyux}yy|}zy{{xw|{y{zwy~xw|zx|~wv{xw}~yx}{wx~|zzzxz~yx{~yy}|wx}|wy|wyzwy{x{~zxz|yx||zz~zxy~zx{zw{~xw|yx}}xx|{xx~|yz~xw{}zz}~yx}{xy~}yz{wz~zy{{z||zy|}zz~|y|zwz{z}zx{zw|zz~}yy}{z{|z{~zy{zz~~yy~|xy}z{|yy{y{|z|}yy||z{~|yz~{xz|y|zw{zy|~yx}{xx|}yyzwz~xw{yx}}xx|}xx~|xyzwyyy|~zy{|xx|}xy|wyyw{{y{~ywz~yx}}yy~{wy~{y{zyz~yvzyx}~wv||wx~|xy~zwx{x{ywz|ww}}yy}zwx~{xyzwz~wv|~yy}|xx|{xx~|xyyvyyx|~yy||xw{}xy|wyyvyzx{~ywy~yw|~yx}{vx}zx{zxz~ywzzy}xv{{wy}zz}{wx~{y{zw{~xx|~zy}|xx}}yx~|xzzvxzy|~yy{}xw{}xy|vx~zwz{xz~ywyzx|~yx}{wx}zy{yxyyw{yx}}ww||xy~|yy~zxy{x{yw{|wy~|yz~{vx~{wzzwz~xw{~yy||xx|{xy~|xzyvz}wy{z||ww~|y{|xzyx|{{|}zy{}z{~~yy~zy{~{z|{z{~zy|zy~}yy}|y{}{{~|yz|z|zy}}yz}}z||yz~|y{|y|zy|~{{}}{z|}zz~}z|{y|zz}{z||yy~~{z|xzzy|{{}}zz}~zz~~yz{y{|{|}{|~zx}||}}zz~yy}~{|~~zy|}z{~z{{y|||~~{{}~|{}~{||z||{}|{}|z||{~~{{~|{}}|}|{||{~||~~z{~}|}~||~}||}|~~{{~}{}~|}~}{|~{||y}~{|~}{}}{{~}||}z|~{{~||~}{|~}|{~}{}}z|||~}|}~|{}~||~{||{}}}~|{}~|{~||}{|}|}}||}{}}|~||~}|}~}}}||~|}}|}||~~|}~}}~~{|}{~|{~||}|~~|{~~|}}|}~|}}}~~||~~|}|}}{}~}~~|}~}|~}}}{}}}~}}~}{}}|||~~|}~~~}}}~}~|}~|}~}~~~~}|}~}~~~~~}~~~}~~}~}~}}}~~~~}~~~~}}~|~}~}}~~~~}~}|~~~~}~}}~~~~|~}}~~~}}~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}}~~}}}~~~~}~~~~}~~~~}}~~~~~~~~~~~~}~~~~~}~~~~~~~~}}~~~}}~}}}}~}}~}~~}~}|}~}~~|~}|~}}}|~~}|}}}}}}}~~~~||~}}}}~|}~}~~|}~}~~}~~|}~~}~~}}}|}}|||~~}|}}~|}|{}|~~||}|~|{~}z|~{{~}|}}{{}||~{||{{~}z{~}y{}z||xz}z{|y{~{z|}||}|z{~{z|{z}yx|zy}zy}}yy}~zz}{z~{z{~{|~}zz}}z{~{{~}wx~|z|}yz~{y{|z||{|~~zz}|{}~|z{}}zz|z|{y|{{}~{z{}zz~~yy{z||y{{z{~|z|{y}~zz}}z{~|{|~|zz~|z|{y|yx}}z{~}{y{|zz|z{zy{}y{}z{}}xy~}z{{x{{y}}||~{z|~}|~~{{~{z}}|}|{||{}|z~}{|~}{|~}}~}{{}{~|{~~{|}}}}|{~}{}}{~{{~|}~}|}|{~|~}|}}}~~}}~~|{~|}~{||{}~}}}{|~|{~~|}~|z|}|~|{||z}|{~~z{~}{}}||}||~|y{{{~|{}~{{~}{z~~zz|z|{z{~{{}}{{}|yz|{}{y{~yz~}{|~}zz}|z||z{zy}{|~~zz}{z~}z{}z{|{}~{{|}{{|~{{}y{|y||{}|z{}z||{~~zz}|{~}{|~|z||z~zy}~z{~|z}}zz~}{{|{|~zz}}z|~}yz}}yz}y{{x{{z|~{z{}zz}}z{~{y{zy|zz}~yy}~zy~}yy~|yz|z|~{z{~zz}~yz~|xz~|y{{yz{y{{y|~yy||yz~|z{~{yz{y|zx|~xx}~yy}{xy~|yy|xzyx{~yy|}yy||xy}|xzzwzyw{zy|}yw{}yx}|yy~zwzzy|~yx{~xw|~xx~|wx~{xz{yz{xx~zx{~zy{}xx||yz~|xx}{wz{wzxvz~yy|}xw||xx}{xzyvzyx|~yx|}xw|}xx~|wx~zwyzy{~yxz}xx|}xx~{vx~{xz{xyzwzzx|}xx||xy~{yz~zwyzx|{x{~xx}~zz}}yx||yy|yzzx{~zz|~zy||yy}}xz|xzzx{{y{~zxz~zy}}yy}{xz~{y{zx{zx|zy}}xy~}zz|yz~{y{{z}~yy}|yz~}z{|yz|y{{y|}yz~~||~}yz~{y{|z}zy}~{{~~{z}}zz~}z{|{|~zz}~||~~zy}}yz}z|{y{|{||z|}{z}~{{|y{~{z|{{}{y|zz~{{~|z{~||}|z{~{z}{{~}yz~}z{{z||z{{y}}z{~|z|~|z|{z{{y}{z~~zz~}||}{{|{||{~~zz}}z|}{{}zz}z||z|~{z}~||~}{{}|y{|z}zy|zz~{z}~zy~~zz|yz{z||{|}zz|~{z~}yz{y||z|{y{{y|{z~|yz~|{||z|{y{{z~~yy}}yz}{{~|zz|z|{z|}zz}}{{~}zz~|y{}z|{x{{{}|z{~zy|~{{~|y{~zy|{z|zx|zx}yy~}yy~|z{{z{~~zy{zz}}xy~}xz|yz|xy|y{{y{}zz|}{{}|yz}{y{{y|yx|zy}~zy|}zy}}zz{yz~zz}~zz}}yx}~yz}xy{xz|z{{yz~{z|~zz}{xz~zz~|z|yw}{z~~zy}|z{}|{~|zz|{}zz}}z{~}y{}zz~}y{|y|~{z|~{{}}{{}|z{~|z}{y|zz~{{}~{z}~{{}z{|{|||}~{{|}{{~~z{|y{|z||z{}{z}|{~|z{~{{}|{}~{z}{z~zz~}z{}||}|{~{z}~|}~zz}|z}|{||y{}{~|{}|{|}}}~{{}|{}~{|~z{~~{|}{|}{{}|}~|{}}{}}|}~|z|}{}}z}|z}}|~~|{}~}|~}|}|{}|||{}{{~{{}z{}|}}{|}|{}~||}z||{}}|}|{}}{}||~~{{~}|}}|||{}||~{{}~||~||}{{~|}}|}||}{{~~{|~{{~~z|}z{}{|}{|~|{|~||~}{{~|{}{z|{z}{z~~zz~}z{~}{{}z{|z|{{~~zz}|{|}z{|z||z}{z}~{{}~|{~}{z~}{||{}{{}||~~|{}~zz~~{|}{{~}||}||{z}~{|~{{~|z|~{|}{{|y|||~~|{|~||}}{{~}z||z}{z|{z}|z|~{z}~{{|{|~{{||{}zz}zz~z{}zz~~{{}z{|z|~{|}{|~|{|}{||y||z~|{}~|{}~}|~~{{~}|}|}||~~{|||~{|~|}}||~}}~}}~||~~}~}|~}}}~}~}|}}|~}}~}}~~~~}}}}}~~}}~~~~~~|}~~~~~~~}~~~~}~~~~~~~~~}}~~}}~~}~~}}}~~~~~~}~~}~}}}}}}~~~~~~~~~}~}~~}~}~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~}~~~}~~}~~~~~}~~~~~}}}}|}~~~~~}}~}}}~}~|z~~||}{}~||~|{}}~|}~}}~~}}}|}||~|~|{~}}~|}~}}~~}}~|}}}|||}{|~|}}}~}}}~}}~~}}~}}~}{}~}}~{|~{}}|}~||}|}~~|}~|}}{}}|}||~}{||{~|||{|}|}{{}|z}{{~z{}{|~}{{}{{}{}|{}}{|~}z|~||}~z{|{~~{{~~|{~||}}|||{~~{|~~z|~|}|{~~{|}}}|}~~~~}}~~~~}~|{~}~}}~}~~}}}~~~~~~}~~~}}~|~~~~~~~~~~~~~~~~~~}}~~}~~~~~~}~~}~}~~~~|~~}~~}~~~~}~~~}~}}|}}}~}}~}}~}~~}}~|~}}}|~~|~~}}}}}|~}~}}~}~|}|~~}~}~}~}~~~~~|}~~~}~|~}~~~~~~~~~}~}~~}}}~~~~~~~~~~~~}}~~~}~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~}~~~}~~~~~~~~}~~~~~~~~~~~}~}}}~~}}~}}}}}~~}~}~~~}||~~~~}~~~}~~~}~~~~~~~~}~~~~~~}~~~~~~~~~~}~~}~~}~~~~}~~}~}~}}|}~}~}|~|}~|~}}~~~~~~~}~~}~~|~}}}}~}}~}|}|~}~}}}||~~}}~||~~{|~{}}{}}|}}{}~||~~||||}||}}{}|{~|{~{|}||~}{{|{}|{}z{~}{|~~{{~~{{}z{|{}|{}}||}~{{~}{||z}{z}{{}|z|{y}~{{~}{|~|{|~|||{z}zz~~yz}z{}zz}{{|z{~{{}}z|~|z|~|z|}z{{x|{z}{z|~{z|~{z}|z|{z}zz}~zz}{y}~zz~yz|z{|{|~|{|~{z}}y{|y{{y||z{|y{{y||{}}{{}{|}~}{|~|z|{z~zz~~z{~{z}~zz}yz{z}~{{|~{{|}zz~}yz|x||z||z{~|z||z}}z{|{|{{|{{}{y}zz~zz}{{~}{{}{{|z}~{{~}z|}|}~}z{}z||z}|{}~}|}}||}}||}{}{{~{{~|{~|z~{z~{|}|}~|}~~}}}~{|~{}}{}}{}~||~{|}|~~||~}}~~||}||}|{~{{~{|~|{~~|{~~{|}|}||~}{}~}||~z|}z|}z}|{}~}||~}{}|z||{}zz~~z{~~{z~~zz}z{|z|~{{}~{{}}{{~}z{|z|{z}{z}~|z}~{z}}z{|{|{{|{{}{z}~zz~z{|z{|{{|z{{z}~{{~}z{~|z||z||y|{y|zy}}{{}~{z}}zz~|z{zy}~zz}~zz}}yy~}xy|yzzwz~{z{{y{}yx}|xz~{wzzx{{xzyw{~yx||xy~{xz~{yzzx{~yx|~xy~|wz|yz~|xy{y{{y|}yz}{y{~|yz~{x{{x{zy|yx|~{z|}zy}|yz{y{zz|~zz|}yy}}yz~}xy{x{{y{zy{~zy|}yy}|x{{xz{y{zx{~zx|}yy~|yz~{yzzy|zx|~yx}}yz~|yz~|yz|yzzy{~zz}}yz}|yz~{y{{y{zx|yy}}zz}}zz~}zz~{yzzz}~zz|}zz}~zz~|yz|y{{x{~zy|{y|}zy}}yz~{y{zy{{y|zy|~yy}~yy~|yz~|zz|y{{y{~yy}}yz}|yz~|yz{xz{x|zy|}zy|}zz~|yz{x{{z}zy|}zz~~{z~}zz|z{zz|~zz}~zz}}yz}yz|y{{y{|z{~{z|}zz}}{|~{xz~{z|}y{zw|zy}zy||zz}}{z~{yzzy|}yz~}yy}|yz~}xy|xz{y{{yz}yy|}zz}{xy~zx{zx{yw{yx|yw|}xx~|xy~zyz~~zy{~yx|}wx}|wy{wyzwy{xzzwz}yx||xy}{xy~zxzywzxw|yx|}xx}}yx}|xx~{xy{yz~yx{}xx|}xx}{wx~|wx{vyzwyzwz}yx||xx|{wyzwzyw{zwz}vv|}xx}|ww}zwx~zxy~vuz}ww|~vu|ztw{vwzuw~xvy~ywz{wx|zwx}xvzxuyxu{wu|~wv|}xw}|xw}zxz~yx{|vx||wy}|wx~{ux{vyzvy~zxz}zx{|yx|{xy}yvzyx{ywzxv{xv|zw{}xx||zy}|yy~ywzyy|}wx}|xy}}xw}{vxzvyzwz}xwz}yx{|xx}{vxzvzxwzywz~xv{}xw}|wx~zwy}yy{~zxz}ww}}wx~|wyyxz{xz~yw{}yx|}xzzx{|z{~{xz{y|{y}~zz}}{z}}{z~|z{~|y|z{}~yz}~{{~~zy~}yz}z{|z{~|{||{|}zz~}z||z|{z|}{|{y|{{~~{{~|{{}}|||z|zz~{{~~z{~{{~~{z}z{}{|~{{}}{|}}{|~}y{|y||y}{z||z}~|z}}{{|{}{{}~{{~{{~~zz~z{}z{|{{}||~|z}}|}~{|{{~}|}}{|}{}{{~}|}~~}|}}||}z||{~{{~~|{}|{~{z~}{|}|}~||}~||}|{~~z{~{|}{|}||~{||{}~|}~~{|~||}~||}z||z~|{}~{{}~}|}~{{~}{|||~|{}{{}{{~zz~z{}{|}{{}{||{}}{|~}{||{|}z|}z||z}|{}~|{}}|{~}{||z|{{~{{}~{{}{z~~z{}{|}{|~|||}{}{{~}z|}z|}{|}z|}z|{z}~{{~}||~|{|~|{||z}{z~{{~~{{~~|{~~{{|{|||}~||}~{{~{{~yz}z|~{{|z{}z|zz}|{|~}{{~{z|{z}zy~~zz~}{{~|{{}{{|{}~{{~}{|}{|}{{}z|}z||{}~||}}||~}||}{}{{}|{~|{}~|{~|{~{|||}}||~||~||~{|}z|~{|}{|~{{}{}~||}}||~}||~|{||z}{z}{{~|{~~|{~~{{}|}~{|~~|}~~{|~{|~{|}{|}|}}|}~}|}~}}}|}||}}|~}|~~|}||}}~~}~~~}~~}}}}}}}}}|~}|}|~}}~~}~~}}}~}~|~}|}~}~|}~|~~}~}~~}~~~~~}~}}}}}}~~}~~}}~~}~~~~~~}}}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~}}~~~}~~~~}~~}~}~~~~~~~~~}~~~~~}}}~~}~~~~~~~}~~}~~}~}}~~}~}}~|~~~}~~~~~~~~~~|~}}}}}}~~|}}|{}}~~}}~}|}}|~{|~|}~||}||~|}|{}||~}|}~||}}|}|{}|{~||~~|{~~}|~||}{}||~{|~~{|~~{|~z|}{}}|}~||}~}|~~||~}{}}|~|{|||~|{}{{~~||}{|~}||}{|{{}|{~}{|}{{}{||z||{}||~~|{}~{{~}{||z||{}|{}~{{}~|{}{{|{||{}~|{}|{~~{{~}z{}{}|{|~|{~}|~~z{}{}}|}|{}|{}{{~~{{~{|}{|}{||{}{{}~{{}{|~}{|}{||z||{~~{{~}{|~}{|}{||z}|{~{{}~|{~~|{~}{{|{}|{|{{}{{~~{|~{{|{}}||}{}~||}~{{~}{}}{|~}{|}z||{}|{~~||}}||~~|||{}{z~{|~{{}{{~~{{}z|}|}|{|~|{}{{~}z|||~}||{{~}|~||~}{}~}}~}{|~}}}{~}|}~}}}|}~}}~|}}|~||~}|~||~||~||~|}~}}}|}}}~||~|}~|}~||~|}~|}}|~}|~~}|~~}}~|}}}~}}~}|~{{}|}~|||{}~||~|{}}|}~|}||}}}~||||~~|}~||~||}|~}|~~|}}|}}|}}|}}{~||~~}}}|}~~~}}~}}}~~~}}~}}}|~||{|~||}|}}{|||~~||~}{|}||}{||{}}{}~|}~~||~}|}}|}|{~||~||~}|~||}}~}}}}}~}}~~||~|}~||}|}~||}{}~||~||~}{}}|}}{}}|~||~~||~}}~||}|}}|~||~||~~||~||}|}}|}}|~}|~~||~~||}}~}|}||~}|~~||}{~|{|}}}~}||~||}|{}~{|}{}}{||{}|z}|{}}z{}||~}|||{||{}{{~~z{}{{}{{}z{|z|~{{}}{|}}{{~}z{|z|{z|{z}~{z}~{z}~{{~}z{{z|{{}zz}~zz~~zz~}yz|z{|z{~{z|~{z}}z{~|y{|z{{y|{y|zy}~zz}}z{~|z{~|z{{z|zz}~zz}}yy~}zz}yz{y{{z|~{z|}zz}}zz~|y{{y{{z|{z|~{z}~zz~}z{~|z||z{{z|{z}~zz}}z{~}z{~}zz~|y{|z|zz|}zz}}zz}}yz|y{{y{{z|~zz|~zy}|z{|yzzy|{z|~zy|~zz~}yz~{y{|z{{y|{z|~zz~}yz~|z{|z{|y{{z}{z}}z{~}{{~}z{|z||z|{z}{{}{{~~{{~~{{|{||{||{||{}~{{~}z{|z|}z{{z|{z}{z}}{{~}{{~|{||z|{{}~{{~}z{~}{{}z{|z||{}|{}~|{~~{|~}z|}{||z|~{{~|{}}z{~}{||{|{{}{{}~z{~~{{}z{}{||z||{}{{}}z{}{||z||z||z|{z}~{{~}{|~}{||{|{{}{{~~z{~~{{}{{}z{|{}~{{}}{{~}{{~|z{|z||z|{z}|z}~{{~}{{~|z|{{}{z}{{}{z~~z{}{{|{||{||z|~{{~~{{~}z{~}{{}z{|z||{}~{{}}{{~}z{|z{{z|{z|~{z}~{z}~{z~}{|}{|~{{}|{}~{{~~{{~z|}{|}{||{}|z|}z{}{|~}{{~|{||z|{z~{{~~{{~}||}{||{}|{}~||~~||~~{|}{|}{}|{}||}||~~||~}{|}{|~||~}|}~||~~||~||}|}||}~||~~||~~{|~{|}{}}|}}|}~}|~~}|}|}||~}|~||~||||~||~}|}|}}|~||~~|}~|}~||}{}}{}}|}}|}~||~~||~}|}|{~|{~||~|{~~|{~||}|}}||~{{~~||~~z{|z||{||{}|{}{{~}{|}{|}|}|{}|{~~||~{|~}||~|||{|||~|{}~{|~~||~}{|}{}|{}~|{~||~~||~}{|}|}|{}||~||~~|{~}{|}||}{|||}~|{}~{|~{|}{||{}|{|||~|z}}{|~~||~}{||{}|{}~{{~~|{~~{{}{{|{|}|}|{}}{}~||~}{|}|}|{}|{~}|}~||~|{~}|||{}}|}||}|{~|{~~{|}||}||}|}}|~||}~{|~}|}}{|}{}|{}{{~||~~|{~}{|}{|}{|{{}~||~~{|~~{|}{||{}|{}|{}~||~~{|}|}}|}||}||~||~~{|~|}}|}}|}}|~~||~~|}~||~}|}~}}}|}}|~}}~}{}~|}}|}{|}{}~|{|{}~}}|{}}||~||}|{}|{~{z~{{~{{~{{~}{|}||~{|~~{|~}{|}{|}{|}z|}{}|{}~||~~}}~}||||~}|~||~~}}}{~~|}}}~}}}|}~~~}|~|}}~}|~~~~}}}}~~}~}}~~|~~}~||~~~~}~~}}}~}}~}~}}~}}}}{|~{|~~}~||~}}}~}}{{~|}||~~||||~|}~~~~~}~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}|~~~}~~}~~~~}~~~~~~~}~~}~~}}~~}~~}~~~}~~}~}~~}~~}~}}~~}~~~~}}~}~~}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~}~~~~~~~}~}~}~}~~~~}}~~~~~~~~~~}~~~}~}}~~~}~~~~~~~~~}~~~~~~}~~~~~~~~~~~}~~}~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~}~~}~~}~~}~}~~}~~~~~~~~}}~~~}~~}~~}}~~~~~~~~~~}}}~~}~~}~~~~~}~~~~~~~~~~}~~}~}}}~~~~~~~~~~~~~~~}}}~~}}~}}}}~~~~}~~~~~}}|}~|~~|~~}}~|~}|~}}~~}}~}}~~}~}|~~|}~~~{|~}~~}~}}~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}~~}~~}~}~~~~~}~}~~~~}~~}~~}~}|}}}}~}}~}~}~}}~}}~}}~|}~|}~|~~|}}}~~}}~~}}}|~}|~}|~}|~}|}|~}}~}}~}~~}~}}|}~}}~}}~}}~}}~}~~}~~}~~}~~}~~}~}}~}}}}}}}}~}~}}~}}~}}~}}}}~|~~~~~}}~~~~~}~~~~~~}~}}}~}~~~~~~~~~~~}~}~~}~}~}~~}~~~~~}~}}~~~}|~}}}}}}~}~}}~}~~}}~~~}~}~}}~~}~}~~}~~~~}~~~~~}~}~~~~}}~~~~~~~~~~}}~}~~}~~}}}}}|~~}~}}~~}}~~}}~}}}}~}}~}}~}}}}~|}~}}~}~}}~}}}}~}~~}~~}}~}~~}~}}~~~~}~~}~~}~}|~}}~}~}}~}}~}}~}}}}~~|~}}}}}}~|}~}}~|}}}~~|}~~|}~|}~|}}|}}|~}|~}|~~}}~~|}}|~||~}|~}|~|||}~|}~}}~}}}}~}}~|}~|}~}}~||~|~}}~}}~~}~~}|~~|}~|}}|}}|}~|}}{}}|~}|}}|}}|}}{}|{~||~||~~||~||~}}}}~~|}~}}~}}~|}~|}}|~~}}~}}~|}}}~}}~}}~~|}~|}}{~}|~}}~}|~}|~|}}|~}}~}}~}|||~|}~~~}}}}~}~}}~}~~}}~~~}~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~}~}~}~}}~~~~~~}}}~}}}~}}}~~~~~~~~~~~~~~}}~}~~~~~}}~}~}}~|}|}~}~~}}~~~~}}~~}}}}~}|}}|~~{}}{~}|~}|~~~}~}}}}~}}~|}~|}~|}~|}~|}}}~~}}~~~~}}}|~}}}}~}}~~}}}}~~}~~}~~~}~}}~}~}~~~}~~}~~~~~~~~}~}|~}~}}~}}~~}~{|~}~~}}~|}~~}~}|~}~~}~~|}~~~~~}}~}}~}}}~~~~}~}~}~~~~}~~~~~~}}~}~~}~~}~~~~~}~~}~~~}}~~}~}~}}}}~}}~}~}}}}~}}}}~~}}}}~|}}}~~}~~}}~~}}}~}~}}~~}}}}~}}~}|~}~~}}~}}~}~}|~}}}}}|}~}~~{}||}}}|}~}~|}~}~~}~~}~~}~}}~}}~|~}}}}~~}~}||}~}~~}~~}}~}~}}~|~~}~~}}~}}}|~}}~}}~~}}~~}~~}~}|~}~}}~~}}}~}~~}~}}~~}~}}}}~|~~}~~}}~}~~}~~}~~}~}}~~}~~|~}}}}~}}~}}~}~}}~}}}}~}}}}}}~}~~}~~}~~}~~}~}}}}}}~}}~~}}|~}}~}~~}}~~~~}~}}}~~}~~}~}~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~}}}~}}}}~}~~}~}}~}~~}~~}}~}~}|~}}~~}}}~~}}~}~}}~}}}}}}}}~}}~}~~}~}}~}}~}}~}}~}~~}}}|~}}~~}}~~}}~}}~|}~}~}|~}}~}}~~||~|}~|}}}}}|~}|~||~|}}|}}|}}|}||~||~||~}|}}}~}|}{|~|}}|}}|~~|}}{~}}}}~~~~~~}}~}}}}|}}}~~}}|}}~}~}}~~~~~}}~{|~}~~|}}|}~|}|{~}}~|}}}~~}}}}~}|~}}~~~~}}~}}~|}}}}}~}}~}}~|}~|~}}~}|~~}~||~|}}}~}|}}|~}|~~||~}}}|}}}}~|}||~|}~}}~~|}~}}~|}}|~~~}|}~}~}}~~|}}|~~|}}|}~|}|{~}|~~}}~}|}}|}|{~||~~||~{{~||~{|}{}||~~||~}|}~|}|z}|{~||~~||~~|~~||}}~}}~|}~~}~~}~{}~}~~~~}~~~}~}}}~~}~~~}~}}}}}}}~~~~~~}~~~~|~}~~~~~}~~||}}~~}}~~}~}|~|}~}~}}}~}}}}~~|~~|~||~}}~~|~}}}}}}~}~~~}~~}~~}~~~~}~~~~~~~}~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~}~~~~~~~~~~~}}}}~~~~~~~~~~}~}~~~~}~~}~~~~~~~}~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~}~}~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}~~~~~~}~~~}~~~~~~|~}}}|~}~~}~~}}|~}}~|~~|~~}~~|}}|~}|~~}}~~~}~~}}~}}}|~|}|}~}|~|}||}|~~~~~}~~}}~~}~~|~}|~}~~}}~}~}~~}}~~~~}}~}}}}~}|~}~~~}~}}}}}}~}}}}~}}~||}|~}{}~~~}|}~}|~~|}}{}}|}~||}{}}{~||~~}}~~}}~~}~~~}~|||}~|}~}}||~|}}|}~|}~}}~~||}|}}{~|{~~}}~~}|~~||~|}||~}|~~}~~|}~}~~|~}}~}~~}~~~~}}}~}}~}~}}}}}}~}~~}~}}~}~}}}~~}~~}}~}~~|~}}~~~~~~}~~}~~}~}}}}}}~}}~~}}|~~}~~}~~}~~}}~|~~}~}~~~~~~}}~~~~}~|}~}~~}~}~~}~~}~~~}~~~~}~~}~}~~~~~~~~~~~}~~}~~}~~~}}~~~~~~~~~~~~~~~}~~}~~~}~~~~~~~}~~~}~}~~~~~}~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~}~~}~~|~~}~~~~~}}~~~~~}~~~|~~}~}~~~~~~~~~~~~~}}~~~}~}~~~~~~~~~~}~~}~~}~~~~}~~~~~~~~~~~~~}~}~}~~}~~~~~~~}~}~}~}~~~~~~~~~~~~~~~~}}~}~~~~~}~~~~~~}~~~~~}~~~}}~}~}~}}~}~~~~~~~~~~~~~}}~~~~~~~~~}}~~}~~~~~~~~~}~~~}~}~~~~}~~~~~~~~~}|~~~~}~~}~~}~}~~}~~~}}~~}~~}}}}~~}~~}}~}~}|}}~}~}}~~}~~}~~}~~~}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~}~~~~~~~~~}~~~}}}}}}}}~}~~~~~~~}}~}~}|~~|~~|~}|~~}~||~}~~~}}~}}~}|~|{~~}~|{}~}|~~}|~}||}|~{{~~{|~{{~||~{{}|}}|}~}|}}|}~}{|}{}|z}|{}}{}}{}|{~}||~||}||}|{}{|{{~~z{~||~|{}||}}}|}}|~~}}~~|}~|}}z}|{~~|}}{}}{}~||~}|}}}}~||}|{~|{~{|~||~||}||}|~||}}{}}|~}{|}{}}{}~{|~}}~~||}|}}|~||~}~}|~}}~}}~}~~}~~}~}}~}}~|~~|~~}~~}~}}~}~}~}~}~}}}}}}~|}~~~}~~}~~~~}|~}}}}~}~~}}}}~~~~|}~~}~|}~{}~}~~|}~}}~}~~}}~}~}~}|~}}|||}~}~~}}}|}}}|}~|}}|}|{}~|~|z}~{|}}}~||}}}}|{~~{|~|}}|}~||}|}||~||~}|}}|}}|}}{}|{~||~~||~~||}{}|{}{{~~{|~}{|~{|}z{|{}||}~|{}~||~}{|}{||{}{{}|{}|z}}yz}{||z|~~{{||{|~yy~}yz}yz{y{|z{{y|}zz~}z{~zy|{z|{z}zx|~yy~}zz~|zz~|z{{z{~zz~}z{~|xz|y{|yz{y{{y|}zz||{{}|z{~{y{{y|zy}~zy}~zz}~zy~}z{|z{~zz|~{{|~zy|}yy}y{|y{{z{|y{~{y|~yz~{y||z|{x|{y|zy}~yz|zz~}{{|z{{z|~{{~}xz~{z|}zz{x{{y|{z||y{~|{|~|y{zy}zz~~yz~~{{~~zz}{{}{|~{{}~{{}|{|~}z{|y|{z}{z|~|{}~{z}}{{|{|{z}{{~~{{}~zz~~z{}z{|{|~}||~|{}}{|}z||z||{}|z||z}|{~}{{~}||~|{||{|{{~z{~~z{~~{{}{{}{||{}~{{}}||~}{|~{{|z}|{}|{}|{}|z}~|{~}||~|{|||}{z}~{{{{}z{}||}{{~|{}||~}{|~||}}{|}{|}{~}{}~||~~~}}~}|~}|}||~{|~||~||~|{~{|}|}~}}}~}}}~}|~~|}}{~||~}|}~|}}{}}}|}~}}~~}}||~||~{|~|}~}|~||}|~~|}~}~}~}}~}}~{|}{~}}}}|}~}~}|~~|~}{}||~}|}|y}{{~||~}||~}}|}{|~{{{||z}}{}~{|}z|}{~~||~}|}~}}}~}{||{~|{~||~}|~|z}~{|~|}||}~|}}||~{{{|}{}}||}|}~||||~~}~}|}~}}}~|}}{}||||}~}}~~||~|}}|~||~~|}~~}|~||~{}}|~}|}~}}~~}|~~||}{}}}~}|}}|}|{~~|}}|}||}~}}~|{}{{~{}}{|}|}}||}{}~||}{}~||}}|}|z}|{~{{~||~~}|~~||}|}||}{|}|}~||~{|}{}|{~~}}}}||~}||}{}{{~{{~|{~}{~|{~|}|{}~|}~}|}~{{~~{|}z|}{|}||}{|||~}{}}|}~|{||{||y|{z~~{{}~|{}~|{~}{{{{}{{~}z|~~{{~~zz~z{}z||{|~}||~|{}~{{}z||z}{z||z}{z}zz~}{|~|{|~|{||z|zz~~z{}z{}{|}zz|z||{}}z|~|{|~}{||z|{z}{z~~{{}~|{~~|{~}z{|{}{{}~{{}~{{~~zz}z{|z{|{|~|{|~{{}~{{|z|{z}|{||z|{z}{{~}{|~}||~}{||z}zz~}z{~{{~}zz}zz|y|{{}}{{|}{|~}{{|y||z|zy}{z}|z|~{z~}{{{{}{{}~{{}~zz~~zz}z{|z{}{{}{|~{{}~{|~|z||z||z||y|{z}{{~}||}}||~}{||{}{{~~{{~~{{~~{{~z{}{||{|}||}~||~~{{}z||z}|z|~|{}|{}~{{~|{}{{}~{|~}{}zz~{|~{|}|}~||}{}||~~{|}|}~}{|}{||{}|{~~||~}||~~||}{}|{~{|~~||~~||~|{}{|}|}||}~}|}||~~{|}{}}{}}|}}{|}|~||~||~}}}}|}}|~|{~{|~||~~|||||{~|}~~||~}|}~||}{}}{~}|~~}}~~}|~~}}}|}}}|}~}}~}|||~|}~}~~}}~~}~}}~|}}}~}|~~}~~}~}}}~~~~}~~~}~}}~}}}~~}~~}~~~}}~~}~~}~}~|~~}~~~~~~~}~~}}~~~~~}~}}}~~~~~~~~~~~}}}~~}~~~~~}}~~~~~~~~}~~~}|~}}~~~~}~}}}~~~~~~~~~~}}~}~~}~~~~}~}~}~~~~~~~~}}~~~~~~}~~~~~~~~~}~}~~~~~~~}~~~~~~~~~~~~~}~~}}}~~~~}~~}}~}~|}~}~}}~}}}~~}~~~~~~~~~~~~}}}~~~}~}~~~~~~~}}}~}~~}~~~}~~~~~~~~~~~}}~~}~}|~}}}}~~}}~}}~|~}}}}~}~~}}~}}~}~}}~~~~~~~~~}}~}~}}~}}~}}}~}}~~}~~~~~~}}}~}~~}~~}~}}~}~~~~}~~~~~~}~~}~~}~}}~~}~}|~}}~}}~}~~~~~}~}}}}~}~~}~~}}~}~~}~}}~}~~}~~}~~}~~}~}}~~}~~}~}}~}~~~~~~}~~}}}~~}}~~~~~}~}}}~~}~~~~}~~}~~}~~~~~~~~~~~}~~}}~~~}}~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~}~~}~~}~}}}~}}~}~~}~}~~}}~~}~}~~}}~}~}~~}~~~}}~}~~~~}}~~}~}}}~~~}}~~~~}~~}}}~~|~}}~~}~~}~}}~~~~}~~~}~~}~}|~}}}|~~}}}}~|}~}~}}~~}}}}~|}~|~~}~}|~~}~}}~}}~}~}}~}}~}}}||}~}}~}}~}~}}~|}~|}}|}~|}~|}}|~}}~}~~}}~}~}|~}}}}~}}~}~~}}}}~~}}}~~}}}}~|}~}~}|}}}~~}~~||~~}}}}~}}~~}~||}}}~~}}~}~~}~}}~}}~}~~|}}~~|}}}~~~~~}}~~~~~}}}}~~}}}~~}~~}~}}}~~}~}}~~}}}}}}~~}}~}}~}~}}~}~~}}~}}~|~}|~}|~}}~}}~~~~}~}}}~~}}~}~}}~|}~}~~}~~}~~~~}}~}~~}~}}~~}~}|~}}~~~}}~~~~}~}}~}}}}~}}}}~}}~}~}}~~}}~}}~|}}|}~}~}|}~}~}}~~|}~}~}}}}|~~}~||~}}}}~|}~}~}|~}}~}}~|}~~|}~|}}|}}}~}}~~}}~~}~~|}}}~}}~}|~}}}}~}}~~~~}}~}~~}~}}~}~~}}~}}}}}|}}}~}}~~}}~}}~|}}|}~}~}|}}|~}}~|}~}}~}}}|}}}||~~|}~}}}|}~}~}|~~|}~}}~|}~|}~}~}|}}}~}}~~}|~}}}|}}}~~}~}|~}}}}~|}~}~~|}}}~}}~|}~}~~}}}|}~}~}|~~}}}}~}}~}~}}~|}~}}}}~}}}~}|}~}~~}~~}}~}~~|}}}~~}~}|~}}}}~}}~}~}}~}|~}}~|}~}}~}}}|}}}~}}~~|}~}~~}}}|~~}}}~~~~}}~}~~~}}~}~}}~}}}~~}~~}~~~}}~~}~}~}}~~~~}~}}~~~}}~}~~~~}}~~}}}~}}~~~}}~}~~~}}~~~~}~}}~~}}}~~~~~}~~~~~}}~~}~}~}~~}~~~~~~~}~}~~}~}~~~~}~~~~~~}~~~~~~}}~~~}~~~~~~}~~~~~~~~~~}~~}~}}}~~~}~~~~}}~~~~~}}~~~~~}~~~~}~~~~~~~}~~~~}~~}~~}~~~~~~~}~~~}~}~~~~}~~~~~~~}~~~~}~~}~}~~}~~}~~~}}~~~~~}}~~~}}}~~~~}}~~~~}~~}~~~~}~~}~~}~}}~~}~}~}}~~~~~~}~~~}}}~}~~}}}~~}~~~~~~~}~~}~~}~~}~~}~}~~}~~~~}~~~~~}~}}~}}}}}}~~~}}~~~~~~}~~~~}~~}~~}~~}~~~~~~}~~~~~}~}}~~}}~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~}~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~}~~}~~}~~~~~~~~~~}~~}~~}}}~~~}~~~~~~~~~~}~}~}~~}~~}~~~~~~~~~~~~~}~~~~}~~}~~~~}~~~~~~~~~~~}~~~}~}~~}~~~~~~~~~}~~}~~}~~}~~~~}~~~~~}~~~~~}}}~~}~~~~~~~~}~~~~~~}~~}~~}~~}~~~}~~~~~~~~~~~~}~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~}~}~~}~~}~~}~~~~~~}~~}~~}~~}~~}}}}~~}~~}~~}~~}}}}~~}~~}~~}~~}~~}~}~~}~~}~~}~~}~}}~}}~}}}}~}~~}~~}~}}~}}}}~}}~}~~}~~}~}}~}}~}}~}}~}~~}~}}~}}}}~}}~}}~}~}}~}}~}}}}~}}~}~~}~~}~}}~~}}~}}~}~~}~~}~}}~}}~}}~}}~}~~}~}}~}}}}~}}~}}~}~~}~}}~~}}~}}~}}~}~}}~}}~}}~~}}~}}~}~}}~}}~}}}}~}}~}}~}~~}~}}~}}~}}~}}~}}~|~}}~}}~~}}~}}~}}}}~}|~}}~}}~}}~}}~}}}}~}}~}}~~}}~}}~|}}}~}}~}}~}}~}}~}~~}~}}~}}~}}}}~}}~}}~}~}}~}}~}}~}}~}}~|}~}~}}~}}~~}}~}}~}~}|~}}~}}~}}~}}~}}~}~}}~}}~~|}~|}~|}}|}}|}}|~}}~~}}~}}~}}}|~}|~}|~~}}~}}~}}}|}}}~}}~~}}~}}~|}~|}}|~}|~}}~~}}~}}~|}}|~}|~}|~}|~}|~|}~}}}}}}|~}|~|}~|}~|}~|}}|}}|~~|}~~|}~|}}|}}|~}|~}|~~}|~~|}~|}}|~}|~}}~}|~~|}~|}~|}}|}}|~}|~~}}~|}}|}}|}}|~}|~}}~~}}~}}~|}}|~}|~}}~~|}~}}~|}~|}}|~}}~}}~~|}~|}~|}}|~}}~}|~}}~}}~|}}}~}}~}|~}}~}}~}}~}}}|}}}~}}~~}}~}}~|}~|}}|~}|~}}~}}~}}~}}}}~}}~}}~}}~~}}~|}~|}}}~}}~}}~}}~|}~}}~|}}|}}|~}}~~}}~~}}~|}}|}}|~}|~}}~}}~|}~}}}}}}}~}}~}}~~|}~|}~|}~}}}|~}}~}}~}}~}}~|}}|~}|~}}~}}~~}}~}}~}~}}~}}~}}}}~|}~|}~}}}|~}}~}}~~}}~}}~|}}|~}|~}|~}}~}}~}}~}~}|~}}~}}~}}~|}~|}}|~}}~}}~~}}~|}~|}}|~}|~}}~}}~~}}~}}}}~}}~}}~}|~~}}~}}~|}~}}}}~}}~}}~}}~|}~|}}|~}|~}}~~}}~}}~|}}|~}}~}|~}}~|}~|}~}}}|~}}~}}~~|}~|}~}}}}~}}~}}~~}}~}}~}}~}~}}~}}~}}~}}~}}~}}~}~}}~}}~}}~}}~}}~}~~}~}}~}}}}~}~~}~}}~}}~}}}}~}}~}~~}~~}~}}~}}~}~~}~~}~~}~}}}}~}}~}~~}~~}~~}}}}}}~~}~~}~~}~~}~}}}}~}~~}~~}~~}~~}}}~}~~}~~}~~}~~}}}}~~}}~}~~}~~}~~~}~}~~}~~}~~}~~}~~}~~~~~}~~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~}~~}~~~~~~~~~~~~~}~~~~~}~~}~~~~~~~~~~~~~~~~~}~~~~}~~}~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~}~~~~~~~~}~~}~~}~~}~}~~}~~}~~}~~}~~}~}}}}~~}~~}~~~~~}~~}~~}~~}~~}~~}~~~~~~~~~}~~}~~}~~}~~~~}~~}~~}~~~~~~~~}~}~~}~~}~~}~~}~~}~~}~~}~~}~~}~~~~~~~}~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~opentk-1.0.20101006/Source/Examples/Data/Poem.txt0000664000175000017500000000322311453131440020072 0ustar laneylaneyWaiting for the Barbarians What are we waiting for, assembled in the forum? The barbarians are to arrive today. Why such inaction in the Senate? Why do the Senators sit and pass no laws? Because the barbarians are to arrive today. What laws can the Senators pass any more? When the barbarians come they will make the laws. Why did our emperor wake up so early, and sits at the greatest gate of the city, on the throne, solemn, wearing the crown? Because the barbarians are to arrive today. And the emperor waits to receive their chief. Indeed he has prepared to give him a scroll. Therein he inscribed many titles and names of honor. Why have our two consuls and the praetors come out today in their red, embroidered togas; why do they wear amethyst-studded bracelets, and rings with brilliant, glittering emeralds; why are they carrying costly canes today, wonderfully carved with silver and gold? Because the barbarians are to arrive today, and such things dazzle the barbarians. Why don't the worthy orators come as always to make their speeches, to have their say? Because the barbarians are to arrive today; and they get bored with eloquence and orations. Why all of a sudden this unrest and confusion. (How solemn the faces have become). Why are the streets and squares clearing quickly, and all return to their homes, so deep in thought? Because night is here but the barbarians have not come. And some people arrived from the borders, and said that there are no longer any barbarians. And now what shall become of us without any barbarians? Those people were some kind of solution. - Constantine P. Cavafy (1904)opentk-1.0.20101006/Source/Examples/Data/Textures/0000775000175000017500000000000011453142152020256 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/Data/Textures/logo.jpg0000664000175000017500000012150111453131440021716 0ustar laneylaneyJFIF``ExifII*V^(X1fv``Paint.NET v3.10C  !"$"$C" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? aH rJJ3AL=;sր 05x[}j}*@uI9{fT@ʄ+{'{K@Iͅq@!N13?A#k# ^?&}=?ϵ;)|`'o$?ڔs徿qnG'Üv=UB898zҡH. m$1R=A48'>`ѮG,>kƛL,K?.H#@ vWOڨC-mqꧮGǥQӯdH%f 6Ё`730S3s֧ 9'  T#=nO8`ÖԁKc{Ty?*?UlF H< j )QQ|67O'H6p}*6j:~P@>}雾QQ  \ҘXcp9=Ҁ&F%2v8H0J\W8ʞ})G $`)X ^';,!1wkmfI@9֪GŤоV)QЂ*.f}ݮ1ʮ!ll,>@ϥRşjzRNW叄u 6tZV axxOWP 8V9A8)bG^9Q!T72;Rմ5+Co+::xCu>j>MJ0A*{O( ^yQ^\Ksw4VDY*I=+oSFqӎi?q]$/3oukg_]OZuI$TnOJʠ{`k;($ᤚ@?qXou.u8QX8#ozT_kI5+Wȿb1 `W>)K>j`,BO%*{l*%98R'SUSN;qE/WrGUtolv#}0=) g:`-_ 3<rN9ϽU0w:zA![hOy 6u _B=u5D;pקsRR:+SOtuI3ri-;š~c5PCGxxJp1$ҰA[M"%e d隕s2ck=s|U4#¾&W{ڐNu0 q]*2;1_..Bc̐- ɞJ-&9^pGJ펛,2?cl"hG_? @hKN)lWI0w6{nڡZ.m+kmni_|$5mR>(.b[G4n"jqw b1|q6-2 7N3;<֢3%Ṽx%|ܞsLs\q+\xKG/VI,|lgFPS;T?hόZ_ 8u;Pt5xN:@uOpUWqqSMOJg挠1xE3l[Tlm:wc8[~4;uG$zRq՗XG: L,G1v9[U`=΋w3*pO0Y8gdxoHee7Zc?WǛ{w5_@Cso*mtrz|>x@gmpW2f%tWoJvRe5Ï׷X>ޓ/t ]`ijh_LSNƷO2e"2c9S7 s\=߆4pl0xuk"ϚIz^#J?h@%ƨѿ̬5#GNUI0:6q9v??˥G eݹW7/i(w/>w/FvU@tO"mm/Ӹ<.3sy\xGN1s ?qu:_i:X?5ֳXJW΅nNJq/oƔ]r'zZ$𾚡OmfҠo i&0Fy.W dzgyb)qÞ7tOϬ GOE&G۟Uhd`jeQ]BF)m0rzG}+a? a훾q-~*VOOM7SeCvB+uqA9$2@>rsx?Cy՗~vv9V 5SMiv4NZvۈYQprĦ|۾ #9Ѹ9=w<>0ֆ %yLo irK gZvyusstpH v׮LgJظֶfs>,~Ҝkdzm]kE^gYz/B9I°š2gF3?m+gFPs>j`6ݳГB{_^Ú#E?.3П?c?.`6UTq *L$UVH ܣ0҇LUšAQϮxx-j9#*&ֆql]ziGA,R7\,}}~_q^ޔcC=֯4I[o3\zF}a19-}?Zvɼi& 9[8SR7`q>p?M>ZG. pgz!Ay.tSc#fH8>!5kF}- F'\,>LӼ%yLr]%r[C#ۜ pq|t4 k0'89^h:k¹vFt02:N rtƢ=N+ nV9}r\:܎G4ƠO)Bj?)ޝѬckw;s5(/*Ac:|W*; BʞZj42Eʹۗy ?{ОQÙ.rH8 .F#D҉ɹֲ~cj?*x-#h/q@Nѵ-07 XmpB hGo=<cP{nqX0h?KǑxyj %܀3LrYPJ8^Ǟ)ּmko|FwjWL>㣑9 ikU)m#v Jft_xzj^,ef8b5rqaJ@zŸ^{jZkk'յO#,7gg?INe&Akx3~ђx/Ou)|7 mƺOW^i*͌Y'Ben7< ,3hpWn|=WNQWz 8UgZj>!D6W A:v= ϛ^־6Mޓ&nYb\"Sc:|S]LWSCbŚky [>9OԃiZ~o"O.c.`zm`9;Lm0\ C8}/׳` :=  +HVi q3Pms9o.m&b#@5[Mw;kenm~u 袙pi 3ebVNDS <0㎢ 6\$:}w\WA3Rs޹ hc66xqMߘ+t]B+r}bL;` Ֆ܄"5 4״:G* Ni!,a/^k:Vxr%r;^cwMNHPCX4qHyp;3McGc%!>1]t5*c2}F#+XqyN#nO5=W~V =srjLPGZ}D Т;~uO-wG4da+ylc'w}1,p*ȏ%b}N^k EɍJ`N3԰{yT{u<~؈T2 =qqwr:?$i,eb}uڴ$$@z3ֳf[YD1˩LlV2 7g}ivĦ& S#hMPT3zW'KmmB}93^zX[NXuR:=+t_wQVBHlR^[^ۘ.I >r cGQA޳RNy֭8¯O}k+KOdy[egчG|O5AlZCMot0\*;FA]opffuDY"k{Wc"1`\QnșE]֧kg\ܤ1F3nY-C6ҭ!v)<`ג^xukո34p>d`ڡ9#(ʾ(f\tڽ:YjU̚B/obas8"## 88mDus T2#ےܞ={q8RR@F0>?u/EfhŜqwSn6-ѿx‡{c=G5krZ\ Q)Ƿ2p;u%c%ڣ;pqJӼsܯi-|h'<螙SB[4Lqx(g[O#GxC-8ϡ8xR[}.C}q؏ 񆞐e!viw<Z>5_#WǕܚm+1ceޛ7)>Yl/^RF[I #` ps֙| w`p>\:w )=G(uvU W$2F˼8by+]Ƥe8?u n{7BBɸǹ1^1x[X q'as%s)r1DY⾣fL5%fV9s^v)!T`0O+vICD*X<Zψv3d<=x鏯Y:N;~.071T1i5Uǘ>X=7wlqY~CϪQ>]Ԍpyj-Ayc<})eToFD9y"d":'..2!;I == 5llcLEmwgoLqӥdkz]{#bNcYvL>u-J6xۯ8&c6Նbuqsl ^l8Ȝ{qЌ󑁧^Z]GZ^trB8#w*'hvv\Rqƃ+ɒ)U\}|5W\&qg +ԓt9]5u^Aw;J&K`x$|bظzh׺5" вz/Hе[;V\dv~pw#_=x~|dmi5׀RpMN&;Iî+; 0?J>kMľ=IU$knxgH(̅#:gŚ(ˋRYsg=GJӿBO̖KF#*x(|U/]V i$wJ1aS?kdMx Lt9pGo}{'ĝ{~}IlV2'E'. x|C5} h## wp >\ >cM qtsMp"Ԭ5CzU}$\ φ79(??B+oqȦYCgi b( cEU/zP'-.-4h/Ц|Hw/BQZݘsO'FsVlR'T`A$c^kjqAviBXZs4ֻ=j-:|7Uk_iQMgm%cUip$otᨺWR*MB7de5{&s8q[*{r67Rٜ̅&\ӭXKę,mIHBD\ʹu c}pp>WZYV ɇ8 q< M#~ծID<`s޷h||ۗ,}xUKsG_åx^Z{uzGݎ0N2?׭h`H0\tQՁq!(FCWG0Ř9EҼUvw^( O$p#9z\|d铛Op6?ِaf{:V>j ݓozbeg,$dy z76BɅ]CߚͻKI\HGt_<.˨imJܮQUʼfA!q">>We)bnf8j2<94Ӥ>lf˵vloO|{}{?\n3ebGG׋qOl?vvnJvல,J DQ sltgc=,GtgVQv>k־Ѡt'q0v3ӓֿ447#yWڦemMt$щmڣ,EMvGF?B[IoaBJʼnךtzK4g.y#J͒b_6G JY،`c%[> ћ_ZH kKb *Onؚ<,<'i-~Acb1}Su]6L[7Pm81n,u6#W>qkZK|IۻuQ쏠;Acgۮ?>~|;ܒf,p`qO~+KD.6T#5H@3s\WΏñxb !Av2O>Ƿj槹h7e{E|^UY?Z.W_ڻB^z}o<Ő+qWDntauH̍ AUQXp:yu[ 6p|rphgzǸyA y c(hyXD9&}V+iVHPAFQTsN+kRj n,3?gӓ(=@NG=Е>FjQ"c=P~gcGhn^qt]vq &#Ӂ>G:eK{ƱH?S++GU" yO| jIoLk/غ`t'緯ɒRk-[g_}I{}7]S1=X޽CXme G {d~\^;72ɜVRνy>2.BHvƄtGwk1"C1DU]m BՅ@, q޾r*Gy3!FVHtXFܓ鞞b/h; y%^䓧LWJ#B`{kyUFNFp 5tʕ(Y-p,VB2vt_!ZK\E' 9!qWZ.?J߈>:s oMxw-r:׹TT(\aI+¥G>%{eGK)'MDZkǵ's"=%YNrF0}{֔6[V5݋Ccp49GfZJ;YN:tQ!"ZRtz?Z {c%I4nr:sxaWOw5XK듲Pv"I~j9"%Ƨs歕dKsտ-/~y"-$N;ot$K%@O;k"c^3=䱹>QtXyk`i聂"rI^N:⺋[RXJx?.} R#;bB3qxҭ9;z'^/T=xCt{~k4iWf8ؓo9c[=k$-T*P𬫽<a Ojގ:'[NG:m ox væOqpy]*>p9'SQI+.=F!i?չCVlE'y(R?+06gϚ}tہO)m\gaE=}knRSfxK OPAtZBNJJ?=LoKMb;+UL&~9f8B\k.վx;oM|&o[8C~`?tGKBe?Oν@@3$!6玣yxoghzψnWtQ#Ѧoaz7B-#Iՠ$θW| .{>zTVqcK.۩jG8LFG Vu6VGkk C H4Q(^} tF=)A8HÓ{lH'zWоHUڱġ@@98^Vku<ܣ v#4eT2s %7lSb~5AD#Xξ5Rq#㩢H 0WTcXdnQ1RR7g &esYX1ZrU^y'V+}ڐ0A9Wǩn&T`?ϧZ?fO H-(>t=:קWtk)*6k1w'޶ _}SozUqT$˔cW>³3|`(Yv$mes{W8ҿ[?YPןN>!7s.z}=q7sr!OOJ[꓀G@spcd˃nYYǯpcLRQ#^jڽgta}Nxw`E60Z'7(1B\O:}RV8I;TI#yxDzy־O5vR+2m8֭Hc:*wt<үYqx0 N2zRYrsm+NF>^$@7}e(ː{eI^ݫ[xbV 82 GL;?μTIZqA[RI2ᶐ ON3kLZ2]N-΃+D9#3Y1NNNOn+(%L-%q2`9üPg8Ee\>? @ UZC@1_{:qKџ0_7=-^s[cp~OenXɆ:r;gμR$XjH cqO|z_~ bL'qC׮ɯq2ۉxnH${wې+?tHڊe NqiOc =Ƿo)e$i=sgS'[vdy OOm)+OϦqx TcY' 9=N>= xK({?=ɮܧ Fwn r>|kdā ϨcSqT1?#qQ!bż'$Ո˅U֡<;׎㜞* c=̹ $z~|.x>Jdq>T09]f$W 18XPڗr}+'t?x=8x:uCA{s2C^-JgXܿN+N?żM.W;9P2c?`瑶˅<@ĝߏOZ'0j5%LWaA^8r8Wfxù#0] O)ڞ..iv,sVp (p8j)qE j8#Ȓ+8$y7aUabN<Չȭch-O۰X!Mᡃq>}޿;>W2p\6LrP?݌j"ѵ]MqCh=FG`p=؃[˴vOL[:T%1C A(FR1~/PG?N+u$c:7&<6 h){Y2629;VV<^O89\`u5rx+THܞ9ǽ|r|E<|qYONk/6-yNL&q*FOy^}P܆O6+j_91T㩵mQAP + ,c䁐Oʾ>Y(iU9{+ꏇzjZ2f9aF#ګdDž#l+(E#*OWr *0\V]듕Q\~6EMN<:B`uaY@6>Bϛ?U25@ 9k2gkxrĜ79$ 'sj"s'MXDsҾdӯ-;Ձzֻ?+ik΃16Qo5?oeV4KOUqOoQ^kŢf!Pma1ѵy/3ڦv֫BoPr2Fw+66V j$w8 |ϽrXV؋*cS˹@;Q\Qᙞ2g$_ZS=VWC23qן֭JX[ F3Th 1g4:xGun+0PS;g=st=ܵwdFFT`oTntETxBq{9%31Scت 2s*9.| eV0 !lV@NLEV#n0ōiU-mH8ʩ?Jκ`n '*%yp2j\e^Mc\4s'䒹?_xi [&0cON֡_x8Mhdּ;6zp( ԯL}J*2N<ƺOW,ã60}9=__@Tddp@鞽{}c/HehqzRB+ӃzdzWJ< .۹ӏOz.MݱtmlG; ebm˓t}X`U2:vA t+'Ne~R{s~baVg?~O7q{)*AmDōm=>r#8yUs¾,Y GR_„ɥn =:ӿ8gxu6n,f֍`o" ݦȇWr1<ӷq6G:9mrJuR[#os pqnNr{G^ՑެC ?~uR&z>Oz{MK@YPf ;#i4$0G|E'p\ 9Ne`Aۿ8`g_p'p+2_ Ex8yS&v (:ד|or p\fzZХwLdrzrq?ͰH p3pO˵bTv͎:uHk{N RHrOOSpbt/SݵOс976uک#^?hOy:Wxse|gTbcZuFA #G{~eWguSaFJ?v۳枸$mX6Kn&GARP;isEm\\KPĥFڪRIyʁǰ=Fm^M#Lv;o=a`Yi-ݑ[D(~sGF+K{4!1@8@>twi zo,wG<%eDG"dLKiKcֿ:NP::O4 `6J?NN?LVwڕfp>I l1ߥJ{ub ;沮Q<}O..e6zſ]UlHC8q=a#F%Ӵ<~B@g,O=9rOsls真\E%Vʬ:D,,'?ԭn| nSfX]m<R"'U?>8XLG'.q` ~Ok:Q""Ey(ݸ=2y?N&SZ:&cW})p=OOnt|q d '9Jp5o'TOxU.6 |v>F,̒/$>lwۘ⚭Nm4%u"g+kDE.mص/elg!/ڍJchmތ0?i6Kp.c9>J M)'8yۏ[]x!vRp_/wYb8yX|=rzgXO* 9}}yy5ԭeк4Gr _0*;RA8G)6[+yR@28kKxK\YD$$ϊw}nfF"F9a^] uѪymnXOJ9'`\TrFAx_|kPvOcL^~X#pNYA+3$_c,P iɧy ǰU!X'瘸a֯87nҩ*~\3cl21?犅e$PGS4Dwy^V;m U$qݍ[O.wA|oɣi -z\\ ~zO5BuȈxT9lj s*z>71]8͏\wIaH^zim, +YMBCmAXH?AJt9FGŭk Q^)9 ʪW ~IU|2n'}McHjvqi.:?Ҽ\UIsZ*.iyid]<"ۑ^_Ci )9$ԟz_:8+sp~u{gF!bA݂3pq݃$,ux;v'98h1zx?>?զu=Ju99=O<ըYs0>}N\.ϯƭD669Quh amq& ONxZY ԡpB}jI1zuW|l|x?[r̀ڹ%^~dI O^KcAs?ZҏƄ-BOI!Hݎ(A=+*#W}*ilF]GRg"BC~"n%Ritu#&Ǚ;{?ʇ^EkxTz{~ RxxIpƬ-nHy# 0OBq~t0,4 ZV'oX ;`i &>?޷TsMdx\waY?z;)hfA$r){cJ0`jix]|Ȟ#<`ǧ#׭a†a\t6O^~eNq+>\˺՛6S^Ќq?^~XT l =3 =O$FLu>koxz-N7{ 1Ǯ{WT>ͱ՞y G4dOx nh ~j;\y5ۭN`gszԱ LͰv^7)VElG+3lt=Ei[5Yags־h}XHP8 _z%%ij %\gv^+ặњd}|H>b)+g מx_N9̍a:)K#T縦Gby^czZpU2cĞS4L2d]8I\X۩u uͩXKY\ctpNkch`ĈɏyK3B[kHʝ6xsCצ# %sV1[$q&ǠY^#} fیg?F&UHyU$.Uu Wk|#[8zwFX|TԠz Ω{)?oVSCݪ?@o?Rmɹ {,ggG<܎T?tk󦡨&?/B%YGqa<%2G,l#8SNsЭMKL鷫/x7DD#vI'rz9mvŷsSY#_0LvH9#֎XIwe3YNB;L?z4)5㸶j?NTNz.ētČ]KrO ! \:F?<[^YrF}jm PHrzQ2ieI7RJ׍W!߹6USoSylʣNO:5KnX}p3zzWXisF0mCׯF'Y`K &OOS_ uCGxnZ;8hfg}(b6§9H&P家rnd=|޼UXĉ=r+AOZ)a#{/$k-;@.#Kr0Uo9a^-]D_>L~:t8k5? <:ϱY O|gJV`xO/ʒ˟SƼ.a19^ q:-b uq޻xu&BX:l]?0~+](B7m~?¾qFq]w.TFO;s澇\xvE@qo°,H`ﻂg+Z,dzs>a;8Azԇa(XFN}_8͋jVb*j`9?*`**FU`6COT41l*dzơCN0Tێ0Xx>^4;͍$'iɯ&̪<3pr 'tz}F09?y7ƒW[x[Wy~\⮏Ɓ#n[9=c#߅]Oaa Ltd('p>$pNV_8y#A~]#éS?WRn98ת黑P^N2i{2/g~[O#8oW8>:(p9j)ہR|0OsC:ғ^( Iqqv@$b~3ƀ N >x{Q*AȼZ{v9qц:&iQAŻqsG"tuʰ<Gq@\m-\Ŕh;[/lqV`@-u m5%㜴D#^ 3N#to٤ ~Zuu0;A^}kYxc?ϵTd1I̗DنmBc㯧h OC@ek%bzc';DHp>ztLS>?6&I%Eu$\Q{֗ <8靸}QEUSm1?}ևKTGG43\vcҺ]%ԆشU2ܜ=UGnk/ Z۩jyo|Vu'ӧkgإI#<%OMGP[J>Q`0;ץiedF mq+u,(ByϷUb@?zgZU, JpNF?˟ָ| rKێR{SpAz|d`l3KԜiEjwR`e{\:❧)Ba,lPyS)>KsI%vpN1=LGc43#|_kw Y4@&m9RsO۷"w-/%k=䰻069|% 闍I/B|gsk&Eo3g'F&p'mNj:N-$ {/+a^6aI;C6L'_Nw}%>BNA87 Sn\*3R8+yVgλo(ל梖{Drd׀zׇݳ`Wm'ӦyǯZg=&؟/K<6ws+IϚt7WryZn{z@pQgvujrSmhO;cs^aTPZ1:Wͱ49 xSM-8@W{dκ[$V tZX]H"BYP=HR J>e81U |r~964PKyT@r8 2:?qvgWHxvD^19̜ۊ d1^Ab$=9$`Ojv`TZ]V g09z;R 9^M|ejf}"qS\"[sߓ+I`8 h}e~^Q_K)?bݳ?^|P0@B۞q}F7o kd& MFfH `p}{ hӨa[a\(B'_EMT9_etf@+.=r@H@澊{B0ŽN>?eUU+ Kvc{VDAOOƩZFAjcUA^OR$ʼ&lN93Vr'qPG|xSDŕptQ۾*XcF`?Oʦ7 AT__ Lx98JKO,#9μ!9ǯ_^xHI8*J`=ʾ3v>S28iD薌mʣ=~5^*2?\t㚵L.C?͂N܀>Tx謤A#jzsҿD5MĻ +#[YG1y?_yKqc9%uKRy.Pˏק_TLd2f;yzT e`~\rsRc?)`V X wZ:{?hWqڵ഼~yKz|fHVV;SM#aּEXu.ى ?t~֮/P<+SB9(0{rxϦ g0vq[hӯZa*{7<Ϸk")%ز9yNӵ~kG#Ծn:e-#1oQ 㷦}-GK3Ԏ?OO_μ7?}b$yagzV->z;ySq(9ձ.4vLڶgӿ16$rAӂ<{בxkT|-{r֚uه^IT[ s_L6ZPTqb>2q{RNW=1@%0֩ߠ( q=bԾ$k~:|7MJ[4k"$*:U-{Tsa7RMB\X qz c$yio5)PW} <[፧-^tWUmӮ3<}?*=Zkki5g'AZ#ʑ9Z &q={xgV|] fCZ:E?/* O8jq-0\zƚ#?F.#n>fr?JLTzqYT@%p>Ǡk!5ՎFA[k>8i>76}3?KI$0|;t8(q\3xX$qkf;n" c-,N=<WPeTY^_~sfN~w]}ցʾ9հF鞼C\]25@g?$ Lqn@xg;Dќv{E(U8?iBxZ T 68ԐD2Qqݕ9#~^~4ݧ;G!rjx_c {׫i:`^Xі4s^++1O/݀zryBHݟSQGbr*ATV`8/Br׊OV@Q׊\6Oڀ<Gz^>q=)oҐ쑜u&}ޙ4{`W?q{Bs\ u WA9ۜRtN0+Z_[=WIpx&~g-uWrc+e%l!@}mc4+љ@,^&Ğ-#M(5\sk=QBiqT{N?%3p>}$.kyi0GL!?^ nxIy)NR.['32Ş26VʧāxC2<?^nA!0sR9tU&]gNּCt?Wn@W^mۻ0y< *4mŗw'W>kRWN:=LU` ms;?nxMzmBa,yc?5ù;B,dd+\kOY{&öG@lӨ~^'I{&%_I߆^Mּ3_,^ʤ+l:?}:( 2qusjQpwrk౩ʬN}ehW=\"GP 9S`o+wo#0;s`Mxu/ ^n"4_12o '5wğ <B9mf>p篿c*M${sTM'Lo7N3=j[Ip5lHIPN8'|k6oIN3L^1RzҥJ3o= ViKNU{8d`B^oiW ICwR7 =)n~Ǜ&L(d;NԜ+IQ_?thi_4dO0$|w +_Ý>u(X`Q,J~T,ryZV7ec2=s>ݽղGocӎi #uzk\<~" Z(* )N@mQu8t_S ȘKk"G5|]4as] Lg 2J Ct}*T0Q ;O+y80{iP&I$P\ڮ{ ]dԟaֹ=?]Ӵ !Եg!r/̣#߆bW `1ĝG1a@\S+3Z,G[EcvFAܻcu 1e x&ːi4`$0[F;v>P:ag+Wt7Ya>WA< ϥSVWIѳM8հP.2:ύ @C6WzcKcDO=|A1E\nʍc# Az `v9< ;ֻOВH~'I}'~~*%֋uC$L00Fc!?>!(K9IR=IdcVhs77T) s<;w]X xV9vm%@V4OS̓J}O:xMΓIZZ»B2@ӹsDu)Ghѳ @29cNIn3xL]CBmX`?yw4;lJe]Ff>K9=sЁƺƫLyH >=hRQ/OXc5ʃ϶^V6wv69XV8 1Z4K~129Qņ8#N"дlҕ 3[y9U9/Ԁ/̹<`:QYT02I?̚bx6`/7`6[ /$wSSU 䃜pA>ocXk躵a FsN~ &pFZhH#?Azb.1+vz sDk*3o(A3 e+gK-NIs$$RQϰ;ڶ*KkI-o xPQ9yntQbYRǖ>OH;K7x5`KӚ珁a7[šVE:)-qd~UߌdcӷJџpЮ(?ٰ4 'l?Mt\t01tx#%=4OA?a?-t``vϰ#8=09MG ]6otDM0Aoд-Xj6]"76'qҾ?t/ɿN2L?^<%}H| "d@kG\ǟ z/-NVB뤕 2T{֮/E߁/>3ı iARg#ⴣnup=E4ؠ奴j6?O׎gCu_>>}C6 nia#r7's{z#<'Ē*Mg&w :[6n<i}olⲣoyX oھ dĺ,vONs[x~Ѡo"F p]c$r=e?xVw.nKs0h ^k8DwigDuqW6i\F@V8B2(A<>CKŁCYl:=ZRcUª) OLd-?Rno#n8qcj<[RO1קcr@=IF{ww<ݥ%8yF ݒԐ.@0ď),7qE Glʱ xdg,kc|A;z1Gw>ؑNvOQG|%ԡokB;G8q:5$?O^ >W HmV8bVPD rnEw5>=MFty '/ouu1+pZaUnI|dW7jewr-1I;b4ho]gƹ[xt5,<g1]:ZhzdllY!#c uʬY$ư!<59Ŕ_nz$+xONg61G&#\1*|GWw4x[¢3Wio~'vֱa*'?9,zB6Qy,vWqD,W@L}qIXŦ[m{Η &Ƌ o_^ǁ[z!ZU8}֜a'˻^qO:Kzҳjw`.F,Kg95Wot|Se>_W4[aB ˄L`uFo8fhF8A(>ҽJ&Y#RϷ ҪatiG[T"fab5#qSZZ<|OQe 8F(v?{~KmzZ;19Qz0'_^Ɔcor/ֲ`yn?5 0iV:FKBxW%1жw5p:Mf1NQL4ú|"ԭ3orrO (%xɤ,V,w6lB&z _&F_T ȓEXH\:# /5;L$Qsϓ{l]*@4=cc?—DQvNJ'<:yFz:Gd |Z6 iv(r>]9LQ/^GH:rqC}=f5 ]rV>K"X)eʑI:wK9`xSy͕]g1@uE?poWEӏN摲W`rc[\on 6Adɿg]𯱵?ܓ<_/ ǜ2߷tD|_v{Ǖ?31;"FqSr9Uζ|[âaxH;" ٭%X׶=ͪjKH&. <G|=1+mVő&~,8bRpsRh:hnwu$6Vl/2 0Jp'謴;#$@fԜ* 99'ӥ03`(*".K`Ԟ`Ju l鞃$p}U̒H!G?RATq®I @m9$?4uU۴1?r&]K#_ Dqbˎ:ONkqG9<G\[cYn.$fL1`9cc)o,ۘ1ryMyǁ.o^>;|ȃONϺ;ӧa5ŢZF vB ͸nO^c;FǏfFQp n#w8'y߽`;n7B%F+mm$ͅRxgbKk {S..'WJFd9$E4Qo$29G?ҹ/x2ImsL>Xc9/;…=;m ާ-M5dڌeN YFp c9{,|Wa[b-B*v*9'oN0uST獺ez&RfP &O0|4~ n"FrZI*? ]r[ H2#1w&[[~#)|3NnnnRM\.Dh!)dsU{DQ9#QizteO+P$ >1'hnn.ͬ(1HJdx@wuU[Ay{fy(! 7P:5švM}2IY$Yv1`}h.o|g ,%ad?JX33cqUXhgIOubMVYu<-%H,Jk/xilmF8۞ꯎeҾ9xvᦒmKM4VR#*۷';Y£U$sOrJ8*9=<O$LQmy2Kӧ#;萋_7^/቗䈒1NzvV>$j4𜓬Wh+23zm' NɶJWHʌc{5oZ=kr.Q# dq׎ڳ o)<;$e˼urzyk_ܢ(fUA%Fy7I ;kᅯ~)x m);|1sh>#E5VyeEYgB p:VޣcLE3ǩi7^8e=A35ÝJ We 0.e#X($zv5njpi7w2VHF` {?,RZ,ѫ >jofz1 DI"edu܌`qҲ<}#G-nN2pFzs+#¶ԶWrE+!0Ivx>9II#8bolV[ırd&sϱ:PF񗚪6H6.ߛ=#ֽ+mZ;8;Hv ^g>obyzFVs LV4R*$bxJʮGFG8"߆p[ D XVmq ^k'g8?p5_%ϋ(ȭ3(qzq鑃Jnlwk\m6>2sv89z?-l&q 珼܎z+;kk~Yn.@P U30 ۃ@֪rzk ̏ºEjtWXPxME‹B\Y'd"_KuzX;S0gBe)7ҏX~.Km͎ʎIG=qX^*W<$ZV$2ƿk6ooH A] 9 jH9]8*@pGqX65$M3V6ư\|Cs&$nz,qHƐ!<{R3p>pAH' i?NRc>sBAF~`r{`CK֔'ڀ0;O_jUnGZ:`ɿNjW֚m?#_>d9{开"EYg 0>b!QTǀ1XjЭ]M uG4n/$Y6Cic Pr::czA_Ơu@\tJwX0 J02Yh[\`8U zcCt7t˽J {km$3+0 AR99)8'-4 :bI , \ rǀ01ЏA[$G覘20p6Rwd8*1L'<>/55 ͸2v$Ԟ4Ar *Y|Doo"i6dO) ֺC`]# rJcN2w ƨ%O>_WHU@= UūVZ׸ڊ*+#L/A):O7ce̜$H 2$tuw:egV(s!_:riDI8&{»GQ$O 2HHB9X9?7>80y#?9M7mS?M6Y%g,l~f;@ezd}Yd*GC8au!2"TWw[K CCp7C 8;LyX[9' Ӑ:-47,.*DpGˌc8 ;֟~"ZW^ e PF0z6s3Ntc{+x{ IyWY .g@pNsjivФ1ƪ=_z}[ZY[W>y';IE[u9bK(ί^hjw ;l+zk/u{Iq2%I `=@ds^~TW,>GUL^Q *CܶG"s,{u9=7ĞӵkW6Ͼ e1KprpàN/f KMu;[.)$ JFsb)QKmzb 0zCF{pA1Eϓ;vHH{Y=Ā|GK5-@m~h.u+9Q+0ԶIe,>Q\')] _?қOI1{WN?(8*INs n<#}t{S$O"yۧkA=9=3`Vyny9=?@BC` Ϧ?ͯ qli?_J<(g+(-o?8 7,E?^# >/'J<I1|=O]MA pwOR7$懁 º EjTW.|)Ci?Fmco^ISІmޟ09B#𞄹n]KWWA%QE~yg2(4`A!~,?Ёc>_ÚFOЎ?]#F@3?\zr4#ȩcpW1Ow] Fןʀ~\J4 8𞃏EҏxC hC%5ppF1) <@9O7RZ^Ӣ[i;SB9t?뮔#zϹf@ q84SB|]OB|?г|_o]@&z xSB=TGAOAZBQ{i2;p߶yg1i5{^?bo-mo- ׎T=<1?^|!r?Neq`O}cM?#z{$QaI|b-eq ̌H#9o}F0100ģ   !    2004:04:14 18:12:112004:04:14 18:12:11  n R980100dD658F2E4486C4D7E9367A1492457F7F4Zb(j6HHC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222x" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?gʷ݃Zѥ(+N;U 2ڬ9^^Ir{G&нFKm>l~3ҡ֎`1Sju=Be6Ő_A/uE'ыRGYn #IF=?\~#}C8)HSƎ *‰2@E1RP#VǩHTK98s5Dc;Zb6gU7r`{>-f8Df"ݛ㰏[A,֖xI|>EcMLW,G$.H(մ*-ʌ`ڸ:#|EhwydĚ%$vQYq95S{G P`>c@sr@veqxH7#Cq ⡷T2c?ƙ(_[ٓ:E44{c֞x1NRS2"3nX3KǑPnɠgrx%W?O?V'B#(AܻX (;{QWGV''8Lu7|Þx:ƣ+$?+K<D+VwObg,6v(ixW ?_1$ dIstz[ޅTǺB3E8*8O'z#-LҌ`Pwd2灏@Q 8!9E_~Q Jd2sg7*2\1߿M|vr_ֆ2`$s& zԚBY>vg?ΫZ93 Smƾqr{P%V۽m9c+!=k?/-L)!Nw\ǵR^bn;yn7Q9S 2k`:~f0_@~|b?U8K2M:\\8m%\F@pl`?̓S gJ&gbΝ M0yQ?UmGOM"K3;>sیh bRcIY?eΏwyHyv4I~3zZdТ?OؘN08ܡ_zcqcVʺ3/OGP\qmk1KٍT{sʜdV&~f~ V nr7o@)~TdrQFBxA܏SVw@vR}?ϥ;@mbaF{cOSn[n2 ?3c=qH$]"X~;|})f|#7ˎ}9aosr=J<ř&w$ݺC {IŲG1u? :鸟zD$m5ˍ FJ4i6M%8ђn3~ g{l2,nGQ/'E ?* * <yn!T.йXջ (ZyMQ|1st|X퐞X͌xi791Ү=%ԖYw$f'B6Ojx A.#Q@."XI*\'ެ2$!8EqN; '' '}?qfeIo9(8y}E X.lקwi"S/0=v?ĜM!U5&ZJ$j@ܜlU~XQhn"XTKzg#jwr!~|;A=ꈊI_],A=\γc-jɌpIv,zyn:S| _1;HY^;.>ǩH1ÇilN v<}5b+gU>ͻ_,4?/+h܌|yNȿNyF~5V&,YI*pϠm@#~7nqNv ?ZQd'*FN:<|)rx f'4Ƃ>m*WH&wE1꿏QT-fMGqcb>kj16<;cJ ȊHQʝc8G UT m]dk4G$ 럚\p(8G̀㝿 i Wgx>BIs%fLᏯs,Q-Ԃ6?t3*ɧĆVCI-wJjt"tuh\pwdOEpg2b:{Vhf c~Vpqɻ%ϗ@c8MAb @;zv[ePxwa׷ב8.(|(]{uod"+{Hxc17 qO'Z~B70y+ f=~}V{Fb0~aGfw\nNz(Z8E LʦX(G̍qz~v/[DjWԚ-Rտ|l+.$r93Utwe|?qӑB\;{!.Xvnql7w'B:n:~P,FڧquJ?+rIIs q%F-}Mm<\H2 } :6kzs/.i\ RZ$,O/-^*3*>O\c^)Yc@ sv&"Ei @S{(HMP.Z]D<4j~!la7*SdjF(pr~*#S2D{)O/pɨe3> :E'H$/H~M3Dr?k$zi12dDܯI<{8H|T#^NX#,LA A]FՌr~=*6/rCw ʮ6j_{Ԛ4y\1=x'Ǿ*[vpt=;vU>BRˀz{ZDx RqRʩ`1J\ղ 9۶_?Vw%a`1Gpq+-$c܅䑷ʓ~w*+>Ùcx“S+7m1S@6LpfƐIq--}_o1&֪`Ձcz $}81Pmo=J$ fֱS?VH=pQM Ķ  :.ђfS:QALS41# IoW?.}0ݻmRXXV.:[ٴ%vOz.dUWnXЫ1-7͝I$1=ۜsho >47*'ʈyc=:us K*huhv'PIYҫ**r';Gvv?IވNUL6S<!|{rTQY3D73Dw~F> `g<8.;K {\h%e$}QTM[wWKq}j3gi?& c"UTZZQ `8 y4QHWbkhelc嚲/0??ԏ)ĒHIYv*n0}?EhevjPhotoshop 3.08BIM^xOLYMPUS DIGITAL CAMERA A.Microsoft Windows Photo Gallery 6.0.6000.163868BIM%Xg~kjE:8BIMHH8BIM&?8BIM 8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM@@8BIM8BIMEP4141376nullboundsObjcRct1Top longLeftlongBtomlongRghtlongslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongRghtlongurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?8BIM8BIM Nx2JFIFHH Adobe_CMAdobed            x" ?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?ƫvW :L"1NZt``8kVZ8FGV8GQ:U QA$ʉel7J0|W w? hW#4\8:7O?I]'QDD,c~Lݣ@ԐG[uPݚ;R.\4^A? 6C{8i3Ĉ!iKvN#kTc >c%h¯%cZ'Ny>{+ 286D9u+gldGD71.yN?( C;׍7? *% e 8Z5??K6n?cT{KgmP;wp8h_mm?3v! #F?m\6j9Ha@{u2ӷF?j,lInQ7֨\^ d79 D/H*-{s M:΀vo{C];Xi2IH->bFU!cHq'V;KM~o`z֖7nښm 5>߼Zc߸9qm;2[% ϏИRt$kt|߹. !E<qr$?v&WXk5ߔ90xGVn?P"="^t[Y+U%7V}֘ĿHT nm5' vژO~ǍTΑK{<ƞE)im8Kǝv7X7ohd<}4wfAh d83sAẃ*ٲF]&b'cZu?@7i:l^I nk.{ Ӵ /;)ǖadn Rg=" ; #Pg2C@?JuѦ@xԗӲIh[66Zl`lkZ>/4"_kdY>#Z* }!\ZFLjփBǵp#X6}G;UuO5 G9i]Nꕭ}^KPt4=-]ԇqLsIoխn_ qwmM6cvF@ufmHϹ$X;}[բϬݻM1Zܩg ,#WX-Fsp^Ѵh rOfoL.-w4iwZ'lH$Jsk Z`] t5j6~3A `<'[V7kHt%s~EJT(kk6쥤:vlNGcCՑϱ~izl)thʶ&"9G5ǻH\-R 6FYvnf:ja_ eO:6*5݄4H Э-i.--ݿdm{ 4\}Έ6?󿴛5t5-?pw'G$:IJky145?5c 7v~mP׾\Z^Aw:vr1:Ɩ$4UF۶alijL[5nX?MzG`&`."}7! vcͳVs\ao!A T]A @7zsol{cpLMv'׭oؐ*!uh[Ic,x7s0MKF^s?d_]=C蹏o_gJc` kZ?D(6MwYKqqɯ#ߴZZ݃;Hk~uRm1€"hp:4;?:Y]ZK ҧ}'~'ӠƆ0G5El&Y n?NJciLo-?.|[ѽ ?t˟[ +0 7ݎVX]'퍗o*ݶf5>?m+V1˜Aq;F!9,i:N;nmZ1puO'B >b@llcCLnnof*aRCEd$ɏ_1Sm/. %lS۷ٵE?` OYVr^Ki5N c??'aqsaTj~ӻQ"e57ns7~+0$ O:gݖDgiC$:>㫽;Ћh3ii$;wԝ~@-%D=Fr?W\5nl?;;}^Dk!]< Bj-!56\I?ߺm|ܝ qGe6Ikw:HL##]gTH-ioJ f"77?rOE4csBLtu~ցK`-{? h;@b/ڱv=j\ZͿH>H6Ry>ֆLv!>nUŒH$zL} WkoGaqӎcژfbD@?mn*8j5@SJC UMapR{mYRduNO\/wLZ?7*'i>@/o0Hq$N/Iߎǐ9 :7wJ3(hu[lc5{-l' :eZ]NvͿ+pna#]uT,5dK\"8>oM3hmύ+f ٚms鬵O,&v洸B6詍A=7oNnikvٓٴUkwvn׵.l>'۽[vߥysfhD 7u8{ٳnvU6Xl@n9ۿ{Z pm~wˈ,Iszʫ!G'*?^+`sݣkk~~֦vg"{G Ybeqy $o>׻+;b.~h4ej׫K@u֒LmS} nsc -.qx:}p])CuM6ܘX@?-쏣q{DO/ _#5Qk+!6J[ߣCSt2CZ7?Fk0-ƇP?$%Kd4p60?HQnn`M` r4`B#; F?賓 s ~5lp` @I5Yhxw%aM݋a~S1>Ə?w1Xe? єmet{ns~%_4>Ӵ?{Zp=6ݶC~yHcIÄgk\KCO~RCC k>uRk[kYpkw 10/800 28/10 1 0220 2004-04-14T18:12:11-05:00 2004-04-14T18:12:11-05:00 5/1 0/10 30/10 5 10 110/10 0100 1 1024 768 3 1 0 0 1 0/100 0 0 0 0 0 100 False 0 2 False False OLYMPUS OPTICAL CO.,LTD C4100Z,C4000Z 1 72/1 72/1 2 2 2004-04-14T18:12:11-05:00 2004-04-15T10:06:00-05:00 2004-04-15T10:06:00-05:00 Adobe Photoshop CS Windows adobe:docid:photoshop:aa4bc0bf-8edd-11d8-9f25-e85d1140baff image/jpeg OLYMPUS DIGITAL CAMERA Microsoft Windows Photo Gallery 6.0.6000.16386Microsoft Windows Photo Gallery 6.0.6000.16386D658F2E4486C4D7E9367A1492457F7F4 XICC_PROFILE HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmAdobedC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? |B:ԌN}5I7&kzU[Gy^`;h>X-줐 gUءa z ~jr<],Q2aFU{d{ 9U,і 5K`V9MaU<y,yXՇy4X۹,[VfBAozjM_9DlTVR6'*ԫrੁ۸}9Ӣ^#hCRNz] -ydvWPd/"[r9ǽab$`0dN?)-c4#l42FNav\AA s桞LnE$$r\i5)k$()Ewq.́EcvZ5ZX!>0>lc}zR=09Z_뤛K3mU o= EÔ c?P dAEҺYQ9lMyIυ|97Pu TS3c~5w5 +rJ4ٜf)"*:bU463O!!Wr㍌{"f {dS+)` 1K:Uw'ZGk(>OzNI=`sS i0aȣ~TǑ?*@6rzTS [! ]mo*4mvoaȱTdzѵW #.JsFzS3 = ,I\.cT` =iΜÜ4Or?N$)0sQ ۃ\|Œ|ցҚqIO;jN?ϵ+ 1/A"=?Jx\cjpfSzw~O֐p?Ja^'l~E]! 31 ϥL.]兀Į:q=~zҘ&IͨǺys=legUlg9P$xb%{ UV>#G Ih]:9Liʳl$JhD:Idr« lV5;?ΒIL>X` -Em6-!H ,n\(>G |l+_2XR[)S cs ;NLcߌ{ӌFv] Uhr!{]t`,E瞴h+6Jv0M$iW 193M`w]sbxY n,si%q\S='#=2%LTEl"bo8'>5%cg=hh.'$ NXi˒?Za؍v Iy ό y dNR@@6+/(~{U? $/ "أ:+>V;*8Fq9 D Θ76hGB28ͻ Y`T;DDlqR-ڡ 97X -@ {\^?3p*Hzߦ)Lq:f^UJ *%EO:,c$4GH95 L] *4r'~gjBzEk5)U7YNYb+6~V4[@ױh D1mйak7{wޠkDcӪ/-;dQ@Ԭ;ag'o@`?CTbhm99,e!yy I_fx;AZdIg}q"W|t`qR5bb3ֶ7;TQN/>nNu7}nPRL왣L8=  ʯ%6rtM+2){pKwu 9!q_SVms>7#8OY-@=jn>bSdigA&#=\O c9sNGD@N_*R3Oӷ-.nY48]O:k3LUbs5 3KzARz#i+BooB crn*W$ i'k ckkESAw}]CEF{7Fz jsU (r95@kG0J'L!}>n N5+U h5mZ6>RO.7YKYkTʁk,{fV]t*y]q=*_@з N*! RG@\=9枝&Z[Lb$pQ=1 u'=r;檶 48cJߙ0 e0KrBeL1\\mK,@9#]DhlH5Utom^<=+4&M2Fl#R23;UKoD ~0Cr%LpBhVe&lwn0Ԏ *B`*H.w$ :Ÿf0NfW9,QڞR#X&-En {Ҳ =^rFӸdZw OkP*NxI%)9$S.TPH08LCm cie=s#ɱ OcMiUӃI=+v$҆۸4|tTϛ!nޗNbeG0" o9V*UK@oK$`X枡cO)+piZ';C]GpT$,RK$E2WXyUr I?zgh cOǛ0jGpJmO|C$Y s?5@|UC>1uL%ܤ{llDېvqIiy;@kβ Bh^? z1?<0\!$ź! n `*H!+;WaO]dö\g5:t"k0<6});-ؕ%vE2͒Anq֦yR2, Y99S7v̇ hz" ~NgU׫??z7B=~Ovp[ZpB㎴|hX~)+h]M9A6r^1Yq n={TFH=;I)P ֪s4No"-EP'SWeM?` 1!:(RP ֫2TpH{TvҮCuFPKB[ě@9?A@bsK^5ܾ#|Π aC6]J Ҫۮq"8);U}p3@JLu p%DFVFc. Gd!<z/ 1h$mPeMcZp:~>˔a|\sަ D $S@4t8c#ҟn,2Fxy>5Iv9i&[ d8 y)sP6Z+2*ĜO7wK?%q꣏1\aWpqSq!B`m?Φٶ&-۰ᎾL6ܦ*\; ;M;bbt-8C̶p Xh?4y毉[O&- mϩ Y-^դ`c,~Ϲa1JH<o@sjv҅! ʕVnGP p' +Vi~[8f X'5e۶e\X lFtFWK0jjhn6caܤ|g*nHj=ci)dsJ]!-Sq{D GيӢYVXD$S,9D"$vq ?Z-MFۼ'NTm6twa[D7#12MHFz⚍/vF(eoҮ% "C9!(J쩌GГی#O1$>`J~c\lÂƞ&7ܨxN=}q@dU%d XuBJ*z x6dXa$#A=%½iخV,͈: ^jXM .$5O37[i+g =?l6=A)؟ϯO4ʺL lIO4Y @o1ر) @=*^āVuaB j"ےFOjmD9/ 6X }C@F;^jImnJ~UN/aH?{Qô՛[D&ϓS9 6ۀ6LhnԮrbd\pH=6 ,pB8*'.d 쁿#>̎}*O<„tkaLcp2œAcdt C~8ӖSshNGp !Wh`#櫪HIbzW,z]PG֥ hF-Gcb(Q Kg ;$ʸRnB4QYD4y)xȍ@!A?֞$Fbr $#P):GyAL9#9s{ | )j).-̬d? +|kM0 ͻ솢]ATk}Q-$ʯt<6GT[O(q{HI"x!> t-mxP}zTmFxi<*cҤ_6IQE?-E/ 8SҦPi|5bYX0$oR)%FwZ#V9*}1UPI6Z<3yX1BdW)n#FUr! 84MVI\NOU1]Ōac:Sa ?1b@NӐ#F{VPGT֢S3Y>$;˃:~[¨ 2:% h݋"Asw\DR  s,˞K?忶΄l7YK3)ʝA3VbDi 8C-̧y9xmabn?ҥ/+/rA\?d6B's4Ь,$;eW)*Uߞ2S$rF#\ʥK?rHӧ]Ř~0ɥb"=(ޔ"-Y#Fp #9> 0Ma7Bʅ)EF`u>֘f.3C.Yh"7p$ۦQCKpn su?Zd2E* ЎҥXwp~b:CWb9m"|i˨DÝPmڥXg6oFyXIF`}j@"e(͝8nުn]*g>E,!)+ b7 2@TBC!8uIjDWMe,*8wm\jv2Fsޡ"|x2ϥڋ5$:44SBX4x!4Cm6͌Xs{6 )9=ʷ0H ˌEOtKN `N>4 ;\9sa_:<8d)$rBi%[Mi{b[-$nԄG؈vh37 h\fk[gr# Vp9mhĆ6/ccnҠJ[s>0Mҟ ډL|E}*ZAw~ ~S8Oaޕ`R@A=;zcwr>8ǹSԉ'!cu\'ғg[c>!色7rqQ7?0}7HZDڹ}rN,ĊEjFrw>pC43r#>Iq 2*>aa,9$5U;`S `x5441I~9jhu[^iG@;%Ep7D#v˭F)>KbXڟVzm]8Uj^+s(`~?Mu qqƭ?#i\}ifpF;b @dP['p$1*c30݁hDV6pE67mI9 '+G,"yI`vP-F>`Oz.&ܱ (ab leF =7m@26F~x)"G!TvO:Wܘh-/$9:c򦥘15ܳX)D Js^Cn?:!rwUhKe_jRhۇE'SXyu,&NƠH͝) R~sos`jVO*DR@!* ,[v˚"[\uA)[!*K<:nMQT.RTy 7V8?TD噘ډjV6uO_֕Gfy ƥt3 DŶ `Z6E"3y1~GaR\|`{ݨR]Ar#؎*]5)'{O? 1"sǽL3ٴ[e3 kNI-Ȧ%fUl9 ~|3)Tf3~M+\lp#ݑڑY7{i&~*dd9(ZTU& j$ӞWljReW 7$OוbLD`*ms**KQTǿ_Ү%X}2d|񱷧|n8^HE BFI+q ( +px}Ee@@KAt'z-ır#$i>hp1ߥ5RZ_q-B[w?1`:SrI1Ig$E $XBm9㏧A:Ù7 O\{TH9Pxi&ݘ-r#(>h2MAé 1eh)cog|Ut=l BK3HsGzw2)DHNxņ#nI f Vp3|Iti(fsʻi]dK338H|"pTFH3NhU!'nj#lLEAZK ĕjUUA¥Y`y$c޶0Xm<I"t4Pr 6˗1\1yKx |0Tv'޺| |!PMզ$fYHݨo'lFrv9>+ؽ=ȷ |MQw<W ^֯fNLή?xA? s-bv#:(5k-~{j}q />©es{+E@Ż*M7ѲV 4Nn66,\jr*)hϽE4Ɍ#՘wBs֓liD,~cS`C\rqR#L,O-*™HS`GOOܔ$N,#Wd&a')IlorH0%gYf2Dp!>Ƣ2]Yer|kn/qbBsRi$WYQIl0U { ԲE!ܲ :>T1ۿd 06SIORlj[2zܗxwHdsU|& 7(lc=Ya2w;[G|VQ0YXڝ Aw<]8P6mR7j%嶂^;TǰBxGrATqvC8\`)ע1nj+ Ns{ol'BFL>}N“/B̶Lpl1}~$.ۯU"WyC?Ҝ\ E }}i{ϡVH9ycip$ 'K41]V |m [yyag۹ mu[$j^<d/`AX6]3$dҋB$CIԩU+'zu~p+?Yqjrf Ԋ7\46@,BU%#+FX۵hfG0챱8L;0mE6_V'lCd8$l5R 1c|ācn ][O{@p0E&zcUQL >csdn0jO/s>?z'u [Y_+QL{ВCMg۞1$UI!f89`zmʗ!Xn,~$PC6Fܳc@[㴃U Ac*G(K7V<=2It,ʌ,u۰iȷy}[,\K$|$TqO>vƛIO?>%y36#^>,)‘X &p:[W7#rAV`Vlǿr#Nxӹd-;U}O>/T!)nT0^'nIxy$[yq<IXZO!NץO$~>qV31e\FrjC_1x Jrʒ!%ۅp9z>'y$kf)(߆aVR(>1I]:FN H?Nݨr-{?tjCko7i˴}*Iu(+kfeQbBP?"}/ٴ2%lҪ\X=xc}ΏAB;IŬh;eslZVh!aa}榌ƱXae9vX|pBnOҋ6ɕd-p`E qSRƒH>KF$ nJ\* jbĦYy$p >T%˱)Үn#]\ Oִ#P+b`?)e}&rrQ7== 7$Ai5&h|Y$#-}%>џj ra nx<[%ɛ8H|[6j?Ty;*Ē(bd|ZIlH b}*e1j#E'!TN(q%Liv $6)vϰcWNW*I/L[*x=1>#+vvmf6:ӂ qDV!"Hen8^DLu)M8O1N} ([ ǸS~K 0\J( 26/=*[Lba/,2 fNɒ@J͡;"1?0A:C2[}&2J(scG[Qa9 UW"nV5ym^vPU@81@yo+,;yv1Pɔ=)>@ҷW. ǣ~5Y6?w=j~Lʀ9~u ǂ,ay|Čzzj[>;3ߞ O YX <ߝT7m VYb4ԻnjISņ#4l,;2ǭA56 @&yqŸ)Dgs8Zw@i<شZ5 Sҟ2], d.K51$;`uNf1);TLV臯Re%ěݧ:cI(27?Oƪ$hI_OvvltOږbAgg`8z'مĀ*b'?ל;UiJ!V] qU r9vpW1uI!v#'z?&hByxT9--Y '{qK,\yQT,  ~5z(t3.K1#Yd#3 ;H_CM[}m##+?OjPn|pYSaWۼg*sޝ@I_4F`XMė wy+08j}q6ʔە_ƲƑGX]jzGd$wW^G א_!Kya2 Rl ٯGEt`]]|J!t{ ]L_Rj$\Ņ8mnZ KHi%v`+qqҕs WݱP s)r@vUMus7CDf_q8J Nը# *<5n"$^\ *-)n]SZ3 nT z=IRɃcҺ臨5|)HrY#XN<8YEsh1a Ғ0͒K]Di2AIc'͊WIuFNZ(a24A\T4YAA4Yuawb2X__8H3?[͓@ Kyps6ޞpAy$dSh }sC`p#6,b3<Ųg0y~ϴJo%% c1=WޤI aX֭,ڏsMU+0e05cZ$=GbqNdn2g 7;f-:C?6+B ﮖ>!7Υ I3֓]&1f'ųZ\Ǟ\v>? gOqܟIȒPU f8֞[Egmwd%a>#K/HI>x:饸23r.ץ:Oy Ng<~=uen[0+/#@IndEtA ,|<~Ur=*! iwNA'ULEm}p3Gv5J7/c B%xy`rG+f x`s eOcM`E).M ۿ?P0Wʒ%x(iW9FGT3$/4|(H݌˝ɐnӼۈX#1FCuW[!rh(^d> 5Xٸb `9Mw%PyTuֲfYA%ش왫Bۥ2UI9Z[AA_l|ߎ{,G#ds{++h7%`psCOv ȬoطgA}{(ѢKAˉv ӽWmR t1,(Ha@8>.mn 'ޓ苍1Bg?2TOmZp;?S樵MZ'-˶r=["%Kswr"[-J.5+@NʭwÛR>j2Y8q`Fj:K+U/1PUFZW*9eq9y3ܗ+P=WoqV Q&x0sU#$iRw*9L8Ah|Ӈ \@fpYH^0)q |#$1 Xqo=q\w Â:^jsau ppy-G)3"Ϋ(8^y;TǘLw*) G*W*KXg>k>K%V.0zasRVHڲWbvB2]9t@ Ʌӌ U-7k`ROb/vZߖ#[^ K|ӱr"Mcy~M'ZhȚAPΗqewG, r6=Y ̞av*Q}'Q+O$r-??75F+BG\8.nJ N٥k5Жia41¿gk4y$'U`}ϼ1^ N#DLevriًN%,͍i>F lҤg2FǦqGE4m$ģAC$}|^GP?bHO$l2Oz !T { t/dz-ĸQi"7exEÐ2>Us_a5WV-EPϠo3̊tÝ[{fX^GwN_s+$,iT) FFli>^ zK~Ri:4pdueip)yl? ׽Y #Ȇ{!l`zU}Q Ҋ]и^UArN3QKbpoӅ^Y'}*-e;wa c?ګx;os xmp~S!QDmԻvmFJ QC>ա oU $FT$˔;[Ϧ)tfc wP*rO?Sæiw# 2OӵL>֥9Ed F>Lɧks c 2F +jg$ fn.1!YP)<L'ev'jݰ'!Q<ɹ sO?&{}zI5b0n$Vf2>@95YmHam킃o=9cG7AصIHE8%x@8Fk{{iI .GP0jwc[u$ GMLtKgs,(._nF=zɆ_)$rF@w 暢reFd }0JuxCik`0 HE<אe_-cD;!2.~c!o˓S#oOzhmXGo\T{[kd`dterp4ÀTf9#S>AfJp~#T_j,A>¬lHK{%\OQl."۳g͜{p8o#i^쏖bU8"Em.97vZn=E̛#O'ɲbd u?^`v̂S0mVH+:kXڸlLyf19wf\Z@ʓu=yn y4ZYܚS9"9?oa򮬫2j63d"O=jvq !2gv5j!nwƤmy4ۀ{ 9{KdF"Q"F$ǿNwITY˕ң,"HAj@f^0=@Zе Hn*0~J쿙FἷH y$ C'ʠLy aN[[Ԉ6$?+`R@,OAmx+p31<Fi.12LI,c>Tơ)EKX8 _ҝ%ؼltd'o_F#U7#Kx%#MK.,i2͹ԧ$6zuE>ޟ >mufT(_Z>#9sQr3Z_l(.7BO?Z~7쌍C?dQ <0oK>0i\|la|ߏ֗lN]HRpG9>Tm23M= r?>;lGz? #GΤ{@H]?OFێKs^K-olSqZoXtq N2qky0Jb1U[|~XԤg[x|R"sߏiɷrM+HmT1fGOU/wX'@f ]QqtF(ഠQj|BٲV[dŻ8bwۥ1-w"[dIzY)mg)JKo5}Yİ v?*/&K^kDv 1`>` G!%d4mYt),3y{^Ovsگ{\tڄ$H#Yf0OZƐ5'҃J"Bn X`8j$\̅'N~r}.[88.vqTj[icȌ|O#'*cb*90 T)8M\7 @-/,BnyRYyKkHeÐxQ-JJȒHckc ؖ}0Vo,Q$peaHHTrryEAH؜ U#hՖZ.R7ۂ >8„gX򩤷ܻ8F HKʑn@?1<^ նpPdG lqy>~G*DMg'KM=ȄX>JͨN1 }?;$L;2~NWB%HTC#3ܿRp6VHu_d(sAОMg26󍫷yQcED0\M[*y9U[Ѐ}*ȳ(`rjݤVy)i +KX"iN>?3KT-A$Vvwwo{'tp(Dc4K=:dH)1(STgÿ"KmeB-^icO( mNi'hs"11v6ԝn4@HAzSsq41Im}  B#7[k;P]%2hנgܠI<˙n8뎽07l`MR?*}^2bB8yד"(љۥ++썓o4ΡF!խmK:n>ΨQy&;}*:s%*,Τ)@)CQtCov^:`llqH\})\5miݙjq5Z4H唫2prxڵ_ƫr %'[^Xv2hXe+ ́YQ\ܟFnJ] Y r vGkԴڄQLT߁v?㊯+]af(RۜgMVq--w=jFO^}RRV$2o!yבrrWE86f|Wv Sέ[n~ᗴ, =T,hT v䑁FdEwFN^1WmXcأzD] p?;Q9L=ƴI-opxui#ꑡwipFBr(Ȃ5$cTFm*7@\`dRsHWo-`t!Z^I#oªϫH^DlI:P,vIs  hJv_֥JMhW,W_ Yf&>7gtlWVۉ[G5>go%rN:$gtg$q+ѯݏfOND" m:BsxMècKײ~l6}?_SBF,q,Ғ9VyݖH~7@bB;bH/pپfkhFBݍ@w8W+ݓme#/Qann7:yyfZ{#qJF7Sķex[hV]0; Zu ~QqQάc kwE!A1i^a{?ʣHa1jyM\~X׌ZݽQKYngyVKǐ;cREvhO46 b뷎GjH" z 7iC R2I ab4ưpFyc`:TUǖ"F|S~Ȅexq,́ O-D&!Lp@,WɧH+ y--ZMH$ө*QU?nʗ[&>[tT[|[^F,e0EQrӷ~CJiHa\tQidVɆG$~FF_1#֒C,|DS/~} RF8r< =.K+ Waܤ(s#d`>`}$Pn_E_c0gS|)NI=Y |gr"_UtWQ'&V),xֲF4@c_zfR7;\Ǐ~z mݑt. q'ɵi>bEr nPG,N鼿Ek䓚sH4V!:$ \w('q?Z7bEO*'M0ܵ<ӼhwIjo z*yv*͵{k$s&י!SY'a-[gEkBW3"^w*{u5^Z[y>TKaMCE)p6߻YUzT݋4xVHalYIe-?6xAVckIC=s%j$KĐnUE#L6ےȌ<y_Κnc3Jbq{gޤQY*|.Wc%#,{ 2qӏS~*;}3n/ίG)oBdqE |Z:pL;}:hWKjSeq5jo)! Į@dE~QgMA؛prOʵP} % mAAsqa` oVu,ߓVlS\^B~oʭG8 -VLT-dTǵEl­[_Mz,]хg v6}sQͫ"6@g*@*^m;;pҟ%[2 ~-֡w g O>YIP5Ԝh߮i]GDm̓A,(GHY qPM, YۢZŭ`d nU'j[k x0Ѵe?,eil*ܼ!$Ti%je--L$kfKkql#* j4qȎЧW>52Z?vF6ƭby26yӚEWQKx~h I(H@MtK_*@MO ,rH<*QjFs~a!<~Sk5$=17s켟T6kT$z+10=?*#3fQHRO>4l q9oƜ>6؇#4ZGkە@0#'z 5>Ng]Ojطr>CI#XR) ai: 8랕-%2Bm3PݧPi{GZK|ܷ=}51LB)&H^c֯iVL¥V@mTGIzX]B#C \zD(G_[I׵/Hlc z[rحmb$t}N}IKtR/Qi 6X).=Ve+?*7Odm1T1?ʨM63/ *rKrA M5"ZlZف'0g99+kg^")yfu5$z89dp [dc>Pη $$WZJiTzE&MqV9?8Ͻy]Ű?x ;xổ.A80zx[ImX2٨҆UCqt⹣hI&t9hm,|7Peq=d"V1圦׭8iX^ s,xd{9F/'&ŨEDClyǹ< U\7?tf귻?,RF -kѓJn+RwbBmg[Khkyig@5&_K|͐A06kII9#5(iѾE mS4eQ`rHϯ_֫,VFjr?8l{ݞfV7O%9yFY;Y7zڵB;.gXo$JsEP1.0wOs"NB㷠*%ϴtGe,5{0)-UeǮW?; FIB lF/Rի !B8֌fm K(O͙F gMߙ b8"k@ ϕiq|Tݜ{WEZs? {JU;Ug`KHrN#k`[" o?NOZI_q&`G݈En9SE[96DK TZmQXQވĒG,J>W=HI4ic4Vq@:Qa60Uf;wEo(kicz XXg ;Oޟ+zi gYy{V## VLg*O)w!bQ{UxǵE©ntūmB2Doe(??ATERFtP_N~ae0%TQNB<Φ4$@tT"]6i$cpӡ&3fi@Xm .kxFw?PI-F;q&š`&7ZD{aU=#TE?,\V͟ڴ o I Wk$C,rvy,sT⺊F v/'[xsOo(rꄌ/; hvJ$;gW٧,lD`4>Mh%iʙvW@WZtPCmZpp=s}[3 h]f5ZvȞDaN4NhNg k?NA5im"?ː:gF.[jw'^\>i}n76okבSUeB~i(rD.2IR!HUݲޮ o3s~( b4K$ aI[* 2ynTN6`ve\{N5kQ*1*>z~"-P=Ę?&ۧ֯K YfVG(~Oi4Vl(#lI{n) 3DsG~e١,8)&v?jȁ`s l's8a>cQʾK\Z#!ӏ֬~7})IcJN bZϙ'gquY=Q"Dfb #>,e63$VY"\l@#^iܙP3m $0H ݏRjÌ[=N?&`e!ob95KvV#r̓UMVJ_@yipBv>Ϊ7Eu AqSHۜQjook,|T#}*eg 8?[Iu % Kbyc[9D`UmoKG8'O|BXa[I/q|#9V9HJ\='q."Aid[> &?| ,[۞ؐ;TEzdu9  =QCoheX|-hl]%F$=}@_-Yⵇg֧2_kC@'ێiV -)g?\cd3Ng Xm2'ٶpH1[k@2yV,sP*mc m7?Dict[C!1kYw?U^l,E'Tw>GWD); RA-Ď1213f!h<{`y{(XV0;<Չh0E 0l}O_GHua%QO3Y![x>09i!~ү3fip3^zRB* UA-GI'^DI?FvY_!DU0(8Q;" HH21z-&D˓J6TiduH8Pjm(<5,‫"UuU!"m۱COQJzX^6`^}k]]=ϽX ѭ-fMڦ_gkSbaz~E\Ͻ\`b>R1TG֩Y'/1=n-#Xղϰ} 8PE x4 J6/ѠOnCi #q0f RPPr} 㸆l ^iF6ƣ{ J]]?eSN)HR5wm_(O~5KPdVgcV=`B=OAZ*н>桑"K\a8Ou%]EB2g -ZO;'vG' Q]͖l ztJci)(%o=eʑD?~BfFp+LێM L3$}ǷZmAi~RBhVmJaϘ\iK2X̠٣Mӡ[>r3ɩP4޻ǺE\8rώ~߃lWmMsQGf8-Y #jarx`ߓ2hӫ[, h˱Ur#6i- ~PIjd [a; *@-IwNX-ݹ =leąN(̳\6+)4&/bB.yphE݄n }u$H r3MVE?zMr 3JX$}Nj؄;D| &۝Z Zih}-Ve>{'|7 z][+S9qXEϿU O̤$Vd bJ@?4p'ӿ_AUWV H7݈dSwHj 'O%~5ȅ\rj֖q!VFvFp}X$8v;Ӌ(ǿ֧^ o0dK,µvCeo$ʭR S \j_jh(0^=?©.]쓽Ͷ >e=}OaUpȉiSj6ipnp|xoÒf c |Kp~!NQöG" %2ۈViӧoT鑣YfjոT[m`CK^LqK;dk"!ޑr͓) `mmN{gK۷&`:yL68;jvM!0|XeEՈ_=%%wȒE 4-nXxbG\ m.yѸϒ8|{aВbT!t/~Rg9@#~_.sHn )W3F^DfÑiWD!CJ')//kjm5$ܘFyK&IbA{ӄK6<%I@-bk8>e y0>iKaJx\}*+@!S{oƫ6jV8p =:cVo?R}Nܪ>']ڕyD!שm<>$rg|7Q{9Z noZǷ?TDL&WubbV]: Lb9ڜ8 3"XܼOJ."/j [,glQcpYLB@m@dB1O'ȹ& ,njSi[pRhWrB[9-lȶHvrVOk4NY@?.OOy%~{<#P{[21wqbyjK}?ʑVIC ޤ Krz]:M\4͜_OO¨M4VH&E0zUd/':upF%eS&).-QzdͪGnh[ynfXo>T 냁VN!*wK3 3,$.S*]j)\aqV;Xv} .@Ea}+!gr>lqY-$TK,gS,?卜{1ڥUh7SXy1H?,Q)8/p-8y.Ck=9_BBzl&G;>'j }Ue;CϠ&{k#f2匏WÝ訉>Y}+Ǣ++H@J+ܦ>cQ}fVpMns8lQ/K? mEyr0Ll˒n8u-ꄯі'FE}+8?4/*| 2}{.n5So0rIk?d<6QKv'Q(/{?<˩`2L>X2s4M:wzJɻ#uʦL1unF. b5 *c{HTdxn=+}6!,G.v̰ L2'6~5;ud/G_-/Dew-Qg} 3enfv8(UDggAP*c0й$N2qI]~H["4wNrOcTe$U_.'͖I0>Ry7ncm9b8I.I$W+ml%a| S3]25 X3P4s}ȝgq9MJDHi 11etǪEvoq|r\M-ޢ0^% ,#bge߿b#QOQWܤV檰ʘEO$;$W6A s.6Fw*8-FHQ+mfRzx,K[R1Ò1nU;KnnGQƯO";;DG@]mfH7<ҒkB'kf8Tԋֆ5WϹ2ʻx^THcnUow޺Hc`E5q9hpH2#unzd$Bt7 H#*Hy EH{6zzRi=ӭ>XCr߽nK_*npFdž6zyKe((O2h3MiK $v#Lie|FK p&oj! __2 =&In.-k@qǩ#pvnZ˜¤淁!\3eպ~D{w[W*$1=۩h‰v^{R9Tzq>b8b PF&4tsTV6TH\VcRy9>šmY- C0qmiTAS&g{ ?}:U)o`ٙ՟\!xeWmO,ꑄnT+N/? * n68hڥ2W E@ W]Y ݵ0m]s횖[(/!WHۛ$~BEP hWdWb2n-Õ2b@;ޣfY-71}䢨k}aF>FHw2UmmPHb_X\$.Hr< pU:J-XnܺoLQXp nNK,a!}*{}(8ixjAhEsVjf[&'ȏ<'s o[XZvCNχΈ.ȖW8>M4$1K j֗q-P ~% ʰ]q9/-~soi3,f䓣C8p }}itܠ9ڦ"b>>d%«u3Hsi ow 3c;K`q[݉8;%@?cIuqp}).H0K M$AbF:jBVmNc@4-`2K17̠U$/ Bj7t$f4J uTnJ*l>6HR 拉<ˇPԟvyr!A369=h55cʺ7nbp[bULssK,w2&PLBw*ҋSo;%1}Ԭ%5CȌ@SKn)-?zς41c|6@?J&ko f'=Rqtyqt uA]nAHKbFk#Rm&\wœEuK]a2MʍřFv:qPq1;8Qp{,w(m݌O-V@a@_j6*f87N<̱[ht㚱&o{ggar؟Jt-cw;ۜOldc=Kn W- i#7:BaAN;;kIU=6Gde'U&04bDd}CoY*|0NiD :)c MI,&M{>WkRi y(뎀sDZ އTs\Cdc>H c.0q!rhOlUu5 sj3;Z]qSRiι!<p=in,^" B~QzrmZv]>7wlRB9Ƭ6H qY(Ϲ㊢Ӥ_g$O`OEKSMYC+<~fz$;udMow{{[ ( z;UCd. rgl#hEd3~VwEE'p9jK[ Vi~5\nO2[l졐 r F~=["Pd 97ҲU"(W?ިps9K^@]gԮE )"P?yj[h!P?ڧegib"T]ʃ ׹^V |ԀeSw?Qݻoff@ğN3afX˾)`n c2I^|mpِa>§Ky*_tӏ?5V^)f}?G7{TRO{paUZ3[Z[qdTc`(jII0)͒["ځ g V$ W{όzK L8ҿ*OrQ=5ܑ p}O"Q#G.0DڌrzqS&ԬJӐn#Zn5 "o,?OEl&a4N9ieb~kiϨlپ9@pZ&&4#wq0ɷA G\@}4\\LKI6V'>b*6мd@r\Y g4'YX<̳\CyqkV-:@$P2=:p5<٪-Bb@sTӸ,|6G4l+Kt᠍T3|6xy7r!烙眄^1)cu;-0"-iǷJ->t#Q'*]22P@V)+ԫDH3 EZ dC#m彝&&|+GH5ɔho&+ʍZrF5UeƓ$Epɸqܖ*!=R$NCձnX2u[KkkfJS#,3:P5-MI'7$Y8 *[DWgBX\~M@ps%yQ#;92C̑I'ҍ^OM,5#?ZcF7|ަB<D6zZ[Ikd d)P܂ ڡ=hmDgCKY[D`EN95\{_am9+ns~T*#ڢPOqbK4_g$K'ݺ,'\qvJqovc+mHi[ g hrCv^O=ٚiG;L1SyCt6T ݻ{JK>"3zh[Q[xh:@8}'{_8m^`9KH?\Z,kx7l&DlW)Ic̖%;}nڑ&hVlEXFLl $vAޭArA^PzEe)G/QhEel,1ۯ8=N:}+b!h|@k=tDX3y5JsXjO%@+(:ZIIR[+o cҧ#3 aO<-~Q$h-w?uq[ VO,&X@xS}hmKlFZfMyݿ;";իR $5,G҆ YU%R[P1[vSARjx}iHmDR4`*DܻX"1um0+ڕn%ڡ[SԌX`r 1:*칸ntddտb>s- , _.}kɺ.+ثe Ǘ>K>]Qs2GD#ӭlGp-#ti׺VmPne>y 2q)j M]\-x S_ $0ۆb3v {t#m=ۮqW5NbLi?Qx NBK>C촭M |m Lhs.)6vGɲڱl)9l~IϠYjhW-B:}Zgmk-'zÚ>ɨjC-K{kh"HYw*HYs7U OR}(߈#lr~+Eۦ'.HcMnM CAQ_ۉ0@A#SX O&ax5 Ϩ(<`sFW2TP%mcbKK/OzF5i8$V%[Ǽ< 5V)})$+'#n cZL#8/dzG3\vƫ~nߙgH]Oj8Kvz)[{n2$;oKbv2R cRH9ڗ\[O[\ϕvjlD% (&Vܯmykl1o W.pj Ư©lŷ?u1w,d>VQs\kXrG&z=GΌ "up3D9t rLRP f?t6ysMki7_1.Y lg6PŎpA෿Taxhbܮ??BYDgemnZWVL[A;D($cރS"+}֏%ԇO$R G*9b; g'ca H,~U4V2ؖ̒ DMF┵ЭHe{?ce*G\@gTh/CmmSCVh# ZKc.61VhQ}b0n +Ƿ\TRm ["]Ő6ip7?? \jLo3v^7aP{Ut`&}Ʃqsȑ :1K&jԤU)'<݊,[9:J0nrr{tMsMCs + ƙvOJ -RM0GN3v4b[bsLխ02Cv?,NՇpIp?\ #<%(u'T{-}XDc߽Z$A|r(ϭc^\$vG8 osO[-GQx୼$d}MZdKWT'ZOBf ֈq$'Pwȣ_[ٸ(qrW9]C/'#PӾMteHW~D0w_n#vĭ^hk/p..>?̷lzG@1P'&o?,%L*;N(8-d19=3Ley(Bq(l5;u4NIm.ombɼ?hE?66жIH_js1S[kp‰n';҉<ܥ.9Ob;-ӠۘxQ;?!boj72WC{6bH̡8c{` _H,[f?)hWHugFg7+aG 7&\yH9lk"VB@Pr܌ک v\ J@GϵA}̞sLQd.}~tk~^5l^ O~e rF(-Eچy!b6aʯYEcY?~ FgUT'(mJ e]w1?Jun(_D"%SyBO^?:̼֞HF>VIX~cPBbo}P j%&f2Dq!UPyXZQ߸*&C񌐨9U~ᵴvU,yq(WOpv-ݺ<ʪ/BLS$zymUc)AsnK2dʛS$xa-1:i {y9N0Y'ğb, dvKqK\g_i赤MHZV{IRܤ2bI&5(}jZﷵne +|V| dfؤ}:o1ҥXqBR.ld9tC{W>6R$eg,7,Fiϔ*Z.v~&2Gy[ BN3 H#89 r oQy>cbZp R0D-Ñ ,kˈ?)ʎ L\pA?h 7/R9%1RL.O Z@* |#?ZMA ||J'Yi.am?9)^ W0} # ĜW{tMjecU9.mFV]Yrsz`Q櫌)vLskBUt3$ H12z=OR,`&Ԫ QSmܒFrz?xӽ@T/u#Kup.NV. LItFݶ\o`{Y>RoUK/]j8U6n#G.$H [7AA`*}z7Ff<ߌ(q@VbK`umCP^|ʼ!o$o?r3>£.N/!Fڤŝvޘ! Qni1`.!~=d(P [S7 ,@9k2nD xA~T.ohk ,+(X?Oz{CR(FKG GJolts {'{ UYYF^Q@Mƕ/\GnZ >V(>=Rۖdp9O)ןf)nFD76G+*Uy-"cW_P6(l1V$W瑱Wozy?j&h!訫ˏOOiY6 E -me>&ܤFF7cǻ {ViI|7&(Sv-Ђ-/_ǵ6KEԐW/!#֝73LnA_Z6@E틻^ϲ ^,!~f @jƽdV䋐=1I81OCglO1gmjַgm :gP ㍢qGM[[$01i!fW:})g?E<Ȑʹ'6{{#2}B?6 Id"m |_̘sNϸ#\AVM7\tYqQ{&m8eW&*~u ~pRo&}XcoI[@W4VX˫Gvwm?j3}cG,q8=I=೽xox`r!a~uJQJʹU$r$A!WBhW~\\#tl>#"}6X@mF g>.dk3<8cE_Myw\& TU r>UTG`HjK5Oosn`'>?u1-\'LqQ\cyۙ0J=_}Pe9Y6# #U)mY V9?‰ăJHaXc#L֫RqZ+$~cB]dEUM:C{+lơcql .TC>"m aԎil s+ psMҖ]B9,Mq#+\FQ:Q\ycPhD.b.?*<[Y}#;bOd$I`8?tC:*[io=2OAYq\\t,1*Kʠ3RrD0FzDǹREqn<ݻ<1zSSܫ$Oo"YYۙ۵>{Kh\d>^@hs!o_j$ѫ*dHu=BysQpiE͏\cEI%%lXbc.d]v`snTCEOV'-X;@U>6^E) >&3eu$gs|}=0 i$V/n4jH]e)~}bHPIC0ei>q#SSi3^rv#斿!w34 ̘l=h| >7fN gVo$[}]$qSR71:M,4̡*E}'bMfGzi"Zʩr#g3pYUMpl|Pa߱Ae$@L {t–馐"k[UE`:U62e|VAUno{KucAE`FևGRE4Z"ڣ$,K𗷡&Ȁl2)\>~\c* aM;+l/E1А~@eتyҽœ&ָ98@I۱Wqwo$Q93JϽV.d[FTGuJ$n [xP3Wلʾ 0}|QȧOu ᦑ B*jD;Ҵ-m`U'NE4 >Ze#8H+n#ȩo4/,=cόL҆ ҆ubWDj\~3mRmb/mwv\n㪎7LJN>ݿ[Pd7)P!2Ia/)s9 EGrRnX˟~kJ+~%SR7ဆ!\ԥ13v|RP@F.#HR;hVd0Qj-)ovd ǻT," Sź7G\[5j,W6c/݄0?V#R!A}ҋO6WXנ|w 0M~1Gl1M+q%)- 7ZGVNCefO Hct@pR&˜`{1d4R;֬^ZZT.YMV:F.v!~$Ά2SK*dcDYoffS&NzdV$6γhllOğaY-.mbyɹF,͸H==+tz<2BpX֫XxD kq=!f(%5tWy$ޕi8˻2hu]ZK:0 } u؋ -͜zRT6qrݾ\^EML-#PGWlRbdӖ[dO>i26FGW&1XfD0}qǟZ˟U,qz?,y2? Giۀno+d~ESPCcuy؆ܴ7*ɦ[@ג&IPnZ<׫Hs)hawAq{-,*_ sڡ4nvOKcr] tjF`XvsDxe1tYYޤfY $g\oJ$ou\g'--2[F͂>iO \{TH{4yń&7*sÏ֬ 2)DKKGJz~To]=9$]gO<ԓc$# pǘrf{.^<,K(aB3[&!aEpܜ>$>qbP =qCm,Hʊ[kq+SA?ʟ2&͖ȬD pRV88 wlS廱c 1HНnb;zP[ʗY44qij?C9x'SZ.bIKd2V{O6kV<%xt vI# 5.t_Wm>K0"f1\5p7*ՋMϸ2Lނ-܁-PrF?¢@,+Jʯ_oj`5ا%J["0p+ )16Km$aKV'od2iec5hڱ1lOATu4B[`!Ǜߵ`б{rJZFW<'*bd\ı={+"bƥwvOr0)a4$>S$@#'Zt}ơ>vTfȆw/zMMgoH-uelL~}R(nu$$ aZ},c N2==jCE#ő{ * !Xe#b}RA3j/4o s-{M..T~BI&sEagQ=)ӄlݯ(c)H.pǹJ䑶pҏ"ۜ:qSH!,m#87p3{wTW'9KI4)oQcRaؐބj"Ev4+#' |աooIhV3ɂ֪1mj»kx*tglV xl;t OE*$|rۈ?J]]#GY@.F֑Rob#xzc(C#1I5ȱB'deJl?A%l bPYNqPKy8YNI1]BM(K9ur Z+xSJ<kAxKo URGsIjm-y휂 -#iV}֛1[tF3ϗil{;Gu>}6;UP1ԛ>FYD mqNZQlzQ1Gs!ZXC(I^vJ.|:޿ZVS ZH;p}MB"8-OmZqlvNNpFȳ? xQ|OV +2}M6t*;/ iOutx<@UFw`~VQi"97n܆i%ܱJm&/szU(pssSr-ZbN6=>Kw[?Ze0 $oޞAm"L1`ȲE#M?t1ᗮ:w wi@W'dq]c֑ˍQf;yTzuczƭ)ݾz .nP!gE9d\Y{IбEmv\tY l 'HԏcVQm8ENj|2dN 6:KԤXO?Z,>oÎtW"Zگ-= Z<ײ#eiY\EgK(*GZVܛ% ->i∔Ty~|ǠZXfDq`jvHupʼp3+Xg[uc0aU[<@A˓IϱJX{-rݷaF=juO>D/Q})%~b\O"^+&%m6,Win86a%9<{J~\t8K4g]4&j~'̈ +npM+rx[úexm kC4Q|ڼRdQfb@s H{#^fK˼yfLNnK|>¸cW|C2M2KXq==~5y爢;v8bK])i&Ɉ||?mC r)HcIn *:t t罇L&9 =,kX1X2, -Bm=cm VSȉ0i쌑q" .n"6}ӡR[[lɖB =R $q}GA{6f^#MdI=qU\u{.Sy$pzem}q7b>Z0wyےvQh`neDL;GSZ 7L5,w NYjZD^;hP m8|9١hr̼c~[:e܃#n1YB~"Z@Mۘ:TFO8#LU29'5.WfqcHp3ҡI`Ui 2b0OOX&8}eBRܫv6Lǖ'g֥%Ԓl<ʧV}'/ FRApVa.JXp}:JOa8il[;eFЊ3Bo@ބ H (ڃg@kwCk 5jB$wfi. F 81x0~X ⥕*(ъ,p*r=? [&vrVMD,ۼO8Ɍ$]j֮/-Cpy/|*ceiw(Xf!dڢd תHI },;P_pIfK)Y(PpYsS3eQ LǘGa=k:.ӸA J-"6 f; bj<BzKkeޕg%K3U% o,FYRn.G  -M?qK,qw? ' 4ބJcȁecݐޚBeO#Xi1)Z6hFTR v'ڧbDu#$.{ڍ&n-`DUvuH~î8?We gߠ$It{b8NЃ{˜//&O)-vN!mso",# ҆裨^V |)5HY>`AC,WIIijƜeӈTFB^7Dw3i~_9Hoeka c_ui$'+S >ڪnQI{U"$4q TOC:T;%W?&8v?g >,]aϓ%?ȪDUl& -̋5vG VQf 'aOjߛoe'emp>d1ݏoƥWs \߽aҬ6 SjՖȅ_H+c*|֪^lw{ wRC58IrXcT"K]: T˱Iw7$qܱ#KETRv6SצjIbeoE>ӞkK? c1' -A](s}MX 5UP89RydPDqҬ,N֘N=3& BT|'`U9S6L'I>f8V-ƨ$CAcMēl{m6ֱL`xfުw言gS;kIi~  ()뷱[ni9HBSX}dmտN\Lpc?-1.#7c&Nޙekk!Rk%1cֺ[Z,-T$Clp1qU+M\[np>|D il}'_Φ|UeԯU7 k+[^ⵘKr֖8V )R[9]YB?Jzog?9X<3AqxIT7f+@:M)9(1kܔزo"wv64#Ou/+8HBJ9e*횸.&vLY9 rAq`G]3i|vߠYKgb6E'˧L\?̩<J^6mۓщt;n.̑j_ZE˔Ӎ>W0*L$kP;٦8d5:SZ-j[۾S ,ۈI%M&dmRxt@$֬Y'I/'$Oj&]ywo6we<~6$al"K#CnCLąo:aaziW`ێE.f0(mFtXQ Ph=ֲJvG|wk.m1 ~ZPѕؼzzG=rBHkۏ!S'UeǓc V˝Y,8w1\nXB_Q5-b2NE\+/ޘy" *x`7%KUh8cw\}*c{}q۠\r1֕KO8$E'ĬaPTE`(+*q{<-dqnl.Q"=)EjR.D1!->ÁAAF '*<[URTwW!X@ )v&VC1\TH<[eQK{ߟwm׭#s" ғ}܎Wq?^EPg'fYdU}ۇ;Мʆ̓e8ܣ+žj[h1~P:=:f( /wF+[(F$#$O}{I$6,maޮ4Zk{knA L< ^~cS,3N|ml+/ӿzL͚GAcs{™z7R8hj{lҗqh6. ^PI0E{ Q& v+1"ŀ ӊoyOlP9Py9oqu;q?-s]AhK fI.lRCA럥] .5'dYRH-_ɸ!4Z)!Ss)Ox^^3Iq27SpU?ήkR)Rq䊥%An0\NGtv6 "a \퍊OӧU/y¤@Tc\T\ڜf%XՌU} Ɖ7ȳJ.==M[3ZYxQc>e=^&7'3TE/0-~+TIS=V׳u3\/2'e/s6WwnX x aI5k COp]9d#¶~AD%ШH $e[xS\[j2I} 'U*KߠQSS^hr\ksZKhU #?@k-9k\idn}H\jıw,9uz 0`Q]wg'KsܪG R]ơc-'2DzI'.# }5^ypi%l#8zr8,JWҺ)ҧMZ [jXHY.YbW?Uex{0M,6MǧR5/bI?`"#e Ͻkn"վmi#0G?.u=5Ń-s1Xw,`򎤑ҬȬ!ET@q49id;u-}w96ynAP1=jimS3¬T.OVϵ[Yw[cnxj͍ͥtfeϥ%A%1q~D @?@~b ?+Od68o$; Gݶ&nuIn?9uK'PiCg3\d^qZuvzql@"ZRe$0SZtnbl9VI6`H M>x3&\\MrlJAb ~uh[Ygi(P޶ hOרet6Z\u,ppý:(WuH, $b}ŹҚ48,۝Q)7԰L/ݜ7''9T7f)|n% s֛qm^l d`QKxe hz3RTeP2cZ[Is[ K2u/ /dWfgY}cp\H6gq$hPl! Q `n2O,̱gclZ! YX4ijDƛBX @*-kj2Gu*2gEQ"MRJùJŲ3UpCgFچoYco=OsRfZ+6XJl6a@;9e*:`Mi^Hs,Iul!f(ٳʼ#3:B-ŮጓԷY ֳ Xq})6մkXВ<,KY[@9|ˏ3t8NPK-}Yڞ]miy~墩T|ncJ5fg2c'ǻː߀}+{(ēO$9\sfmx r)SRܥ#^x[BHmE>rEIk =pXPM6;] ৈ濻†,Ьl{  4^UAP=iR'E/-u?J$prL+GdWU`X@`JV]-5'>֭E&kv֤ZQٹ> >гn9ielWd Y%@8E>֘O, Y[.BkK.۞NTgo+R-:f槛 ėLЇðVkJMo\\џf%#&FQj8)$|Wzܖm/ z%Vf^Oy,P3jE25[6J'H1yݿ/@qi#Uu<)aphY'A{w?^Ү#ϕv$zv4|[JgYY7sGGoΓ]VlqۮyawͷS5}DvdCGϕozV*jBv5k8fvĪ2[PЗ 5Jm[Ą `&*#pguR}Vi0(dT*5{Ky R[nǠF1j ^ܗS$>̓W.~UU}jI#x\n8'Vŷ ϗʟYzN"D۷K fBZ2}J8T57v}WyClk9ExQ݋=ʮ|@o)ÓWwFS!;Il|t Or˾O[2>)wW4=<=i$aA*[)+Nfo`A ¨[I=2[3֖-I77*BWsZ+JX Qcn/6q䪅Tq֤+2#*rd2y} 2[SM$9IaPNn1ڧ6T_ƖJAsjPjGΙ>J4 yIڷi*mb"Yn98 ¯'d__SS+<T:L~eS~JX'IPARۘ=pjz-\67`taV%+{O) dje9<~@\?r?*6ٍ=wkQ!\clfV-z}jAgn)=sf&ܥ邴ӨElUEqz"2t~ ؎kRm;hy\}OZ,vK]S{oj;h#ԤH2Z;G3+ypY߱! UpR\4=Isy+"<(xTI,au^w֛lnE`<GnQm5"ZB >tak>ʠEt{H=GSTWNQoUŸ4YS7Ȁn8*Ϸvr]lj6!N=*Ŝ"m!lcږ"Tڬ *ȾovyIPtTl V[9"kh&ԳύU1;wf"B<͸ڿ'L\RƮ-EO0|%O׊wH#f<7-#A ?SG=S+mfvݷ=*i$#$ml*-W`~jYd7@K WRNHx2/qj1nfR"唪?֫ K6|<v83Urk首-i NbwӵgɩP8i'>=j%]H>N ~XStFE #٨r5<#Gtu c1[9Vڣ}xaPv w+k+k(#q| ބ([oqtZWeGzltp9'rOq5˲miQO䢬iBI$2w7d!UvBz-Hˋ+a-dɟ H W[~v#-nUKN0IdR~ujjlDw0f q<jCy?uQת0<.32{ i3Eo496S*'?QP+IokLJz{iWL.Hf,F #t>=RA.})L=ʳ|y859´)nWVf"sMiq'ؼ(@`Lo3@ېRpT)%ʬM> pk^w(09Ǖ(HH!Up~\,0#lF\pv=^6PznG ")dg$D0[6l4-qCe@$Xgښ䨞|arJ.j ?CMLI,BeYxFvqPCdiF;0zտ ۙK)ؚE8Vrq8f'vzgӧ6 3)!p[_zŏ5H>Μ0+ԎT*,0j5ȫ >榞Y E/Y8\)_$S1^#Tf3T+(ïNeJJW{ YDU\ݤB.{'{ XhkJ%\=[Jg7{Y:+\gM[mG7VC95~tKcLq|u qHMZ0n͞98I:qnpH$UqJGAIޮGn",4ܴVV𣈷\2gz 5hgp2??A{}Z `W=Pi+"ҢVU󮶻7'seTzRMpP2{*K`BDJ$@*%F#Am(Vid|euG`}ivAp.0#l>}u[a~LcU)aG#6<Ӆ>5;"c|K>{'2lC?_zjdx)%[x;9جFݖ%zr;zk&V \33p#upG\Wm-+ٮ;l}=~7XC{{ͩV5rbH h4 {Fci³!tM;q.|$w?Ywnen.ݏq* a^/}cP{w{ Alf,?=7SUndJ:9PJH kE?,a}*+0*e=O?5Z-Y#fO*'#hUeSu,,P!?p1GV 2<ƑRGjCe} }i]P]_"ˍnq!54R @?mKgLdY$n"_eEUYoG[Hö=;*b m?~E¡AmϘs8~R}H[F`#qd2octISNǐ(pR(<2"EPXc@fV0ʪsZr\AjmeB[U{jl+DP[FavR6{ZD<ᤚ5,c \}}_;ѴpHcrdda{ q8cBO-D5HFf+d(,.57󮤸Ô8.H=յV(?ڪ^kM46aczvO5eӠa@XcN?*'qOhlgҪvW$?jh"GVS%GoA-z]mi 2~}/CH|\+mlzUcȲ79zՔWa ?(d]0[kEk%tְ{H015S]:?OjĪBf>ۋ/^&݈E?$OΚ}ŖM,+4BjM$FHڤQ3,k^]K8e[ _洣+k"RO?4r9%mp6NT\Wh`Cm';sQXd0y{ªO:ǵnn sFO労!rvl`g8SQ3[Xc| WkM}员?!m3ݟ3sn-+t{r(-'yd0`|Ok>rƠc ~ W ` P8V[[۷ ur~ T6wؒQ[&gy 7+k-%s=YKo|g} #}ޞ4Iܯ-HB#/ة`63Fk8*;};\"O8#M\hvn+#n#;Tۺr}%vdbd/"ť]Oj'qrj6+[qbbβ7Cz.Ū)4A*ӳ+`bN)sE2/pqx {WR<֙opn=NsŸ5{Я2FQ6)?:R9)vw YڭEk!O5nZbG,oꨵ 搋[hٮ_ fW:}RUڈ^ZijV^lZr2_ݩ6x`gfTJHm2rOsTyP[;@UJmm VF%"FG$hec„dIjW w(3[?kJ74s*̎D4OW!aj$4~n}i+\8m. "_jb]We< xU1Vm/Γk,Kp@'?RPˀ^h~ b/Sӽiq H7>Xi֐V,2, yA=b|Ej(v0 EKpbj( Sw^ q\qh7#MX(fh; Vj:*ߺcD3_7άSlD[x`|3^zc47}ƕGdX Tǹ$)nZkv#z/mN#PKJYp֢XaX-Y9t0e y敺F}SA-aH%}Ha#&^73;>y8QM3E ]p m`mSZ  e0٬r}܍CAER$+9ܱcpvֳK@72@$=̛ `JG ~^cw41Gƹ8S[XyO W=u#C,[ @@ qm¯R2Y't}ڏ0yDW[ʶ"$\=0-dJb̭];T]7ݘ ٔ'zA Zu,wd8\sjmTt ϿlzՉȒOyCi)+@Y om g_;K( YM5ؖW/ O_'}*VN hZI+?IB&h\Tn&0vyBDJQx'PJ ?Ԅh5r緵Cw/Rs{23㰫0Y<B1\ VӁ-x^RqB|{ ֆEykT  #q4T#tQK%81Gެk[ @w_4o?SztޠoSlq:UČ(jȗ-{]1Ӟ,QnO oe U)$F#zqV0OSiy4cWDUL;4[#1 ˵y۟r{U4\,%z`Vݾf"c'GJdI0%PI.lNJcJbHNOMo4I6ƅòOAJ[G'n.| |0=N{naW-72"6%vXNӮ"'0v,zj#\Ba68QYi26pIpO|Vm|2K#e~B+[i6=Y۪h`7oitXUp 8*T q*dTϽE1+wr##[9 JՖd8649tUnnR"~u!~U^M-ihJ w4+K7JωKrRa@.њ |FiNKH'9Ii%{M"‹{krq0927\w:pA][MmYd9O֤Ң9{Kq́["#>ޟLT$%p.jm_mCEoy"`cE0!G29 $aSif`<܍qqM+n+-#a՛anö*_^eR<٪S\LV+lwSj7I0ɊmIr1uAɡuta t G&T(rpzb4&{-mk/du,Al*`1zJz]"X|X3Mf|6W /J5aøp [Ln UP>)4^+J%0>JHĂ~zxf./8)#e 1 } "qm>乐w;W!c޳7~SpwaW}>7}(P.OבVD$20ibPF1#ݪՙMZdˮf?{U!`9}qZ˗T7sɊ j[8*IpHP2'.OK ԆQ;Pr͎RTB G'Xi8j2qhON9jODϖyQp;klfgT#M+ĖYe'Q%IH*]J[Hm2q&+5ݽ`ux0~Vic56oN~i[ڡV&wdxӀkx,ۛ-tٌ(HSB~D7i%R<ُzAL̓#gr)i=>cN\?g#?55ͽk@ߛ$=دl*I;Y~o"6/>{zW2!Y-m;ԲKDLirDj?ZZ0 fEA5NDdrZ0ws*+1TFc}}MTKk$dMq(ڲ(I?L ..2_$$zG3 !BK*cihΜ0`iOq)7іXemg6%. ɷc6@^csa ~e-!#XO9c*k{tP_zG뎼J>4n6 V #y zmcE{j\[k$`7֛^)gKa!F܁QAޥNy!kZ୼idǽ4jMj G vzZM j(1Os 9?_йڏIs<jUab?4%/4LPq;ڨ2>2]]l-FBGMP,s5ʫM!;7,1Ii 0BnqMb9fJb}wfle*?Ǡ>*t6숤cn/ʌ@ 9`q,H\f)5e~l%Yf[B€GwqM8Y7 (S޳/V<Ǜp>=ZG^7:omK)r=QOMhh'w:xfWxNZF@6=]5 4siru'Tg?ҮIsB>IJF^+"rYg$.= h~Hv.q-0=O;XKV^I^o'x99?rjΆ3mXzjyqjc~I?nJ 2Y|1mcz!ep%Elk^\E?;MjECk3̐RsWm9Si1?繪Ms\I02ƭ|C۹QQwd9~+(  laY,Z%}O>iR-7rA<ܞxّJkդVe8l,_v- VVO_4sQI^ Ttx'GhՁ6!<9<6Vo%n$)[OOs,C[OҢk82#|M%PvZ1D0BpHfH@'Twp9xX4{<ٕJe%m^OaR#niY=/o/dR4HI¹R߱MpVCIEmϧLP"Xz ҨEpxwk;Br?1j\n 74EOFvo-"ǩ?RB.d7-0p_ˋ叁tSWXpX}뎃q[,kOb+{k# Yg.n?A:զ2K3Qs>tǠ=?Ke$}r1^bx1TTu"^s{Զ'\(]0* ae!TN^(V9IB^W12AN)C/]A$Ysڣ?fIܱ*\Au)EϴE#> cFb~J"eP_ʊ@.a%!j!4湊Q'8"V.~Qռ{M[u{FH+0_3q߭B&9T8N>4;Kyhm?&ǢE[":8fq#=j5;eJƳ]zI&gOurd>EOB*Ƕ/"܀4Gקk nS ΍:q ǽJE(3#@G-U rD lqj(-l^\ꁀ2]PX 944IՅڢ C4sw 8>M]<`:xiFg J a$dkh nC+) S rs}ť-"`s>?ZDX}s{ uC1($g6;|ZpB}˝N;xrFd/(,Gy\ImWrE^2yxyޒ[C bY#Riy's:<;6;SU$V8v}j[ir}Dr%y;D[59^ F)xޮŃo{ r Ɏt{–(;~0pc8zqY{ V;wb !?㰧Bwz2AGanC3"4ݕPk\wI+dz{sLѾzsT4$z}JI6fAn_kf?$Ս O?:DWzgڮKr,M 8!n&K8ŷٙ89vfHT2ʶj5G~S l)kB[\cw^VIgBSh*q`lKNQiV݆'dmÖ㧵ZK#Fu!N!}ORǰ5p=˼8C6rhƧ[]:< y'cQni&b&h(޵F{x4s'cҕa. ]4h\pA֯ipo?@Xb:櫖"ooR}1S\Ou6B(늭o"؆Vt,O󊭪jIv|nHMl*?%G=Q~ uJ L۶rg5gmmbݜ,j{8^0%o,ܤ;$GW_jywmװi񌇒AF${#] 1pNMUEM8y6y|+=KΉ%s91~jif܄):}ꝷf >Qe| qrEƣ&> 5@n%.5J/vKDEed$tϝ!oojHm7t7^; `R@rîATaċk̤  [dԯ2G}YO/EQeMx-tmܟi$ȿMo˟CRɮomt͖vB4,hMpD )lsSC5Ks# ->t8g:4&-CQ6!Kj1xStD2-ЙqVVk[)n}ܙŋ9'ږm=g~#6&4zSjww]E8bW*F U1YRI)A][KpؔeOQҫJuЗ&PL`g{ԹAȱsȑ/YYru==Aȏ3Hiđ_¤khWqHU|ՍN 2p*He|HA neA TSc#~1<2AY`tc!," lFTqmv:HVkp|'zsV~"טm jO$MUdH0>תbiRhH%Ͽ,*{+IJ, -Etr0a-w< jrvᠳMc<(ԳMkq8@s(h:~5+$PXB@+xg+f]Ӷh5V0$ZW/>`- '|9\ - nܮs9*.[ .T [*ۧ%'UIBݒ$mc ۼil?q [VӲm l?)B*Wбm m$4) }ͬm @m$19ˬm mQJJбn+mk: ϒ$UsXWVҹ/nkx}ӹ m|[sBѰm @d?sX^}Ϯm m$ֵs-}uWˠ?LcX반~mPJ^\ ĝYwP9ұ;.4|c[Խ$Ҕ-c^_ҶH۸mk Bx7ʧ(ik1 W{ -cg)/6@ iq1*(x>b{^xI$K$iJK}_1])Uf1\WjIdI$%!pUayܑ( %%; %QI$$qp<@$$ֵR פ"d?ThJum6@{ Wz5@$s'Bje? mmszk> m?sC)x8 m$*(_r0 '{!^EX?Lk!_*!ᖒ1s9Z ) 3:c H/Rտ &O? @{GJU( $lkz#I$/ sU, &s1U0 ${^}6 $,c3I i,c9]z&Id1U_ S? ls` "6@{!`_"/r; 01 UU!c=0BUU ]@Lk1(! o3Akkb)\2I)HTsUV(IR# {_*(Ib# HJ_ Ib$ TR#Ib$ T+c|Ib$ sUIb$ TKc_!In$'4ZU/uJ HIb$ sUU_Bm$$ []}HoTd) XIb$ b}F 4iRU_*;OR# @4ZUU߽FIR {xܒ@IR \_9Ib$ TC!7Ib$ RU(?Ib8Z8Ib$)ITsW.7Ib$)I81U=Ib$ Yƍc_ꂒ8߶lk@Ӷ{8O# ItL[XZ6I޶| [_{ɏJ$QZ-f_-[V3-[GB5sW//AIҶBG߶T{GO,cX({#H$L$)JUY4m1su@ $Rz`9I$~|} b۶=xaw0k {]6d'@,cWz+m$IRWA Mca_)Yɝn9 Q1`&n)RU(q2In) ,cU>I%)XƭkU6 I$$J7 I$$ֵ [U -Ib$ kU(Ib$׵lkU_4Ib8|UU9Iulk__^,4Ib$) ZUU(;IbujJ*LImkUIҶ4s}ܨZIҶU c}*NI4LcU_?I HTRW9IҶPc)^9IҶqC):IҶZ*=IҶ0lk/.:IҶlkU_ /=Ib(A3{U.Hhs"m0|jOB@{֢OBk6ԙCHPW{a͖I–{ؗ_$s ը@m$C?ԪIBH| \ˢBHҔmc z^˥IҖ& 4J Uҫߒ& s/ѰIBsϧ3Ǝk͚BHnkzx_U̖r$1R /U੹[r$TmkINmk\WOn@s>ھ@McԔ6׵3 [ཱུիOB):ثIRQ :ꀨثOh [A5X5r)Bz#Qs(B=ZZC11ҔU[S1RZUޯpN)s }mqIJ /}}ЪcO;{mk+ Ǡ:T)B[_Wm:__|~2$jJ_UժzIҖ$kHBczߒ4 kB_Ǐߒ$){*ƔI¶@+k)$ȔIҖ&4A--ΗIҖ&ҤD1ܝr$ XhR+IR0ݪBHB}*ͤIB@y֎s]YZ(ȥIBiֽ0+耽I20|`jmO>n Ms ][[NIӜ(.-*3i$iPWh껢~Ш0jII0rX(JգжM&Z'Om@T{^zɿm U~xhJXz MN ZXXeťm$yҜѓ@m$8{K3h[UO2kI$i8Ʈk՝yMm [^l$m U1۰<,Wp Ӝkj//pRoӜse V޻Du c+ b͐sz낀c+:Lc ',cpmB6[4Lcm{/Ҝk%{}n +c`zqww6)ALc{ 1Lc`x{Ц-:R)Kc[?ҔBGM-ҔRd0I4{}n6_?{RܨmRw,c^?՞`N{ +Uخ$ii?׽RzѬm$$s)B^xbʔШ1x 2ЊZ:r9{`D>'lkD!yAIIRbx q y1S! do lki"3 ֽPU ,>O޿'Lk^]r Q]-QC@\Qux~FO¶Rp}Fr$Rh_JU|IҒJUIޒUR/̏]r$5%ҟOnyӔԩIBIY0|x\ӫOn$yQҵ= 8ƒӾh8nc^Ա~2kWصM 4s }ؐ$I$YƮkr#wOr sINr$UxqI I׵q)RHIyh׵`IA|-_ָh4s֠b̭~2H|W{ƪINk5W_DZOn4 [(*UyΦځ3 [ȄLȄLmcJ*V׵|UCૃs}UNiMc([35B_׮r4R/عm$umkW@rm$,c(m3h0Zݹ~ IqMcPm$RW[rӜ,c-bIҶ$ RpbЭC(1)B({uBsR蜨i˹r ӜiJ7}1 Pmk+WBQZ8ֵqZ^^}~c IrIJ/Ib& {ZIҶ&|RXpߒ0)/^c{1(UJX5X%!zrr[H|2?R9:6K97mk(Bյ-`)sHB_Եp|Bŏ/ճhX?nkJJ+*rΒ[?s9(:;֭$sA誽#k?Mk1}`ࢂ@N-+cIJ--M%{!6M-ksFJUnəI8Iڶ$ T%Jx~˦I$$A7^Ѫ0I$$KsüyگI$ k0Iܘ$ml'sx>mm$q1UGmn䑌Bl'^z04$s)|8@nv<01:*+ۂЪd_?UAu3"A{{כ`suIҶ$ ILkTmm$3+c_ ik?4s __Ll$kxUQI%p,cjM唻P c^" s ę4 є_Ť@V?_ߩúk:]Zi(Шc]D) *](֫_?mkppzB`$Z/%5k PNo{1 ^t>4is_WW\UR.wqZխ'wPn?rmknT<]?s%!X<@nv$MkE! -Ul?s&! xj$|WuVM$o LcW ,I R1׼'o wWbD!'` D! *fX5X5pÇJ+K$PhJnthN| S?)~Olw6-[ >)ƧiN@ {Znxͺm${O@Rh)**.4ʾ> msR}X*r [* '@n)r Cc{$UZWțR7Uk?iy׵s>*(nUsu/1i6I4NcuIvk~5yk+`0|`V>tq_6(bidm;v_*֬_?UsXWА$:{-}ȀZ>nkUI얗rk ( m+6UkIn4 uMcUꪀα'j4,[}G8mky@nvmkՕ'ـ$m$k;s}_W($R,Ib喷-[{` {U [X^}u$@4{R\ vb61R킂 &|jJ \~BH%!+m-{Rx(I HzIbqjJ.}Ib$ {9 Iܖ4 ryN4 sR7qkFsZbZ^Ib&-c)**> @{R_NBksRIv{BzqkrdsB I{1_ c JUil ,c$br؈&kZ& D'yv Nk J(Rw1)BULmm$PRU?$Z1`~44$Z4@r${/ jz44$1_Uv6@䖽U|=@pG@$k9׸ EЖ$sB1U_訔NP$Z(UF@$hR µx<@${zט6@$@ }.@$ֽ)*՘,D䑔 ;$D1pk>TI$Kk(Wb?`I$sի**d*@o?LkB _`@$bB1bZ @${UU@$Z 6*_R @q'R{z T@OA^xXж$hR(T$Z |+G ж'J({``PЖZ(ו-aЖ$+kp q@'(_]XrD$uV^4$qUIIm`ۮsURЖ$*_UND${U=Ķ$jR^ֵ 8Im`Z8$Zxzz_)I19k]QE#&۹MLk_p^0< { {%`#O h{WM*;m s%!H'Z mXMa۶ 'BTiPɝLk qPn$/Up$/!}U YIM`{u3i+I`۩R*\H`$P.UmВ$#!UumIB W PrT)]D$(Ux$Lk(XWU>)9I`+c p‰"3:9Xm۶{WU7I?Lk )UwUDpmk7Un PnwӜs(mn$9g;֬o?{iJTh1$R"! $ذmB^W;I!֖%+& c)ު 3ݖI/1*[YN Tmk*ƛIƑ%lX5X5|PkM7HDHdsRxeNe!rõ&uR\VUy` [ Bk %˺)R/Z)rbɱ. kJ1zؒM$$RG! ^ @Z).I m{kJzרX&׽*BӜ 唔Z\X$i6nkjJ'*c$sJi61| : ׹ys&E ӌMc.%w߶M[]Ib&r [Z_p ӔJ )Ys΍{ h6kbWЌ5Z5UQW)`>3?Ӕkž)ZUMc=:s [ww7e ZqNdZ %/ձir& nc)/Ⳍ|ʠ ʠ Ҝmkx Вm$Ts р&c];sWˀ$[?0hJ(l˓mnQZ-ӓMnӔR l3 i|9W`W1/%&`!4R*mU)BVC hӜZ^# ӜJ*V_IҶ$ `r ck)Bx(1`6`{jJ*bo{1ɽnsR/IB$@{ BppM0QJJ__"5s9z #'Q9c360Z%kq!QRXa"# sF! hRژX3 iRh,0~Rc iZ Uf"'խ{UU M&nO UU_,$-UU^'I$ ҔUWh(In+sUs,Im+s!-2I-)єhJ%?I-9 GJ*IIb$ յ)cUEIb$ tsU*MIb$ +cUWBObd h3BW6Ob$ T'B_U/I$ pB)'I$ S9U}'I%'3B>Ir$ SZUGIb$ GJ}.JIb$ I֭Z]><.4HB_R# H3kbl mҌuBIm ILcUJIn9 sתW%') e Ir%)J立*j Ib$׽Zi @4A*_In$ /$1_Ib$ ҜJ]`^<]Ob?l hQD1^C? ILk!\-1I$9}YOI;lkU U ZU@I$mhJWWuBI$= +c S 6ZWU_dIn)Lk }. {-Q$ p nߒ'JU qBH8,keIb$' 4*>Cx k_OR H#1_W Ib# @8(U O?(XC rb _k7 I$I',kU^**m61Zw^-KI; mkxxWIm)s#!m=\Ir$ u.S o$ { տbc%) bdIb$ pC1}(]Ib$ s(Ba&/ ckɯsI&qHJsu (W~iIbd hk{}pF Zu{7! . IiJem:Mk m۶ %!UI$I$%)-_VW<yxqg1kTNֵjR->3:ZbW/qwӜR`n/yt cݶfX5b3:p໭L6Hgxs#!(p]NZ^{ {9𪭽qww/ c(XռqR`{&ҹ g!U/I&k1Uרm$s//O@rJ5߶# I1|ZWC@QRxxm$ [1`ސ4l$skJ 5Ш#6|RqkFQJ\(IҶ$ R S_ZIbuncU} H|J:/,R#:R_Ύk77}" HMcVҶñ@k~ Ik^ݖ4ncꀨйis0 [qi&k U)"/"k7 ^Fc4Fs9usi[Vs=Jֶ'{:'P,cwhwđRUʜN74B++*ҜPN.{xVrq{(:મ``nk19r c9UxIB{9- # 1-c}mB ،51R -`'{R\xj@.k*J/R1Nk ://>[Mk :ʴI$@$-c9"y`6rR5^XЊZ:R)B误i[nD|9`bl36kJI| cl{1*⣣is:zǬ(B @ADbƤAzB?yS6c9/5>s Tq$ӄIBuP|]҈IBֵU/ ǐINr8Ƒ>UϚm$Ҕ|`ӣMr$ ֵ|rZ༱I0 ҔжI$8Ҕ.-M$Xq `#PXۢI¶@ֵ^ӣINn|:+ҨIi7Ƒ)ŧɽ 8/ͷ/I<3_̶7Ʋ+}IQ|U~@4kx@4,c fHM[~WOB3mkZ_r{/UgDm$sxWՠuI^Mc{IB@kpzjm3 H0LczIkIޖ& ҔRBpߒ4 sj@m$Y0%WWbIҶ&׽R*[IҶ&ƪZUf]r$Lc**X0 `B8ƍkU^bIҶIZk .o_r$ֵ+cmI}b Iyα*i)HDWכ`: Шk'ֵqӽ c'.U .ֽW]Z`p.UᱴI0`< 1G}2U‛ S /-f_n$lkׯ{I2iXƮsՀB}o3 mR ]d~2)B`/gr4 U9 *{@m$ֽZ.xk3@ [ WkI޶# IZvR ֽ9 _n mk>(u@Ys<3 iyz~,OR# i cW_ HMk{*P @Ӝg1U-:ORc mku +)[,c %`wvs }+ܘu,cSzyw.U8-cɣdi*Zߺ//bX5X#6X'N9x'[{hJX`\ֽ:k뫫)uN-c?W1rֿsJBkt1g!>rmfsJB_3 [&6 ^C# |!*}Zh|RxulrRz++Ms)x(1IZA yv'qokjJjnQJB |R{bI1Ӝk UskC mJJ3 hZj߉m$ J+ Uv 1WޤM0JU@I$q1nq|J %7mtuj nc*/"/"׵{^57F9s9yήs_^P/C;Lkkm Mvb'Ҝk- @$ҜkVƶa;c;T{rĝRҜ1 8ʝ`Ҕs %6pf!`ᦐ rZ m${1xxxI-<{ .'#?r B .\ؐ:ӔJJ{А4rs B .l3 nk')*(z`Ws1`r{9 i;rR}{irT nkJJ)X5b3Mc9ʈh@}m9 [&!( 1uS0 k9 rnk5$Nc,XX?:qRz蠀6a4I'9%.\Ѥ*/U肢5X5iskrbwF,1[3Zk` SzΎk ٭-h9ӌUcX#:Y4]Xxps>s>\WPN)0'۰m$s:rʝrwߏk@rnv{X ֓M.زDI$ur :XƲ`j"M;q ж+_?sviÍ$'BׂPLc%Dvmk.(Rvwk>VSxk}34sU^ࢾC Hs%/öImk,Iޖmk_ꣳm$${ zߒqhB 7CQ ö@k_ݖ& McmxB v4 5 Sߪƭ% kҶr4 ֵ|1 0 XQ˫w.r8| 7l&bӔ\ܾ##aHYU hѷQ,{`<6 Iج(֣>Tk}zפm$UZ ץ@$Lc֦F$uMcħĒvc5/X=d]vc^x*_usxˤ@m];{Lj6_?4lkUs4'1(*{RZ!Z w c D`RIJ) `N/Vs_颏$m;u{/y[X5#:ts V@Ld{ZMb)Np ֵs㱡ir$JJU\x1q` {1ɋuӾ)SqWnkiR/ws_ߪ v-c ::R1{i%G nc 2- Ј"];| Sߐ$| S8?-iWN0 0|iBx~hn k B..qWskJji|Z%II${R `rMc@$I$׽1]U]@$@$rR tB cU낭䫃ѐi):]{# 01]]zC m|:UIc |)U 1*J7{$@ڶm'vR['k>p>&r+׵|_ʠ ʠL,cUz ʴ:s*^}'mk (W4k<>ŴC;C4nkx\~g{ [u11uZ/+pήsuِK;q B^mvs9/6cm?Mcg)ذ l?19/̐8ֵ$1):/ rc[|1ɥR/.c1{ם`/[KB[M.Nc*:zdOR ^'R7R // ٠IrU{PS'rytW׷.}B@Unc]c v|mꂉ p'uNc*ww19Ǝc=+yF9ƒz\yI&kz.l_?)WN0 vQZXʽ*֫:s_-X/::Q{^X94|宪O ӔLczyYRU1s1gLcûqw/g{KIbV׵{납սƓvm$1|yŷ35,c&,ö H׽)B_߶ H-c߶$'4s^m$$uk+?^µOҶkx^ɶIn% ok Ѹ6Vsb]xùr$Ӕ|-͹r4 |Uױ뒜4yP Iv$ ׵yݝrw$9|**Iږ$' 9Ʋ8Ҭ?{~ַ6l?5k( ?-īX/_?5||\:X-V{_飜,?q c/zzR cUײ7SqwkU  twkZ#MQ|^𺹦b5QU}ࠃX6XPZˬ@m3'{9xxT10>z'p&Q9[T 1[{c c?-))ɾZαRmkT\͏n{u{q_U>5kh{}MB@5M[?rխnw|p m6Ӕmc/ִ%7 |X7Yn$U S*36us XX9TZ>`vk⭯.& Bv3hUzO3 ƊRL >:+c`p41qW-c98 |FNqZ-+{roQmkOHlVnMk}Օ5[5Z,c%/ YBDPlkW\rp]q1\Dz{.U {Fˉ о)a@ Nc):XѧN/11bݔPrns*Bdm?R :^ Ӑ&]?nk1- ~mn|1 *גDnnkJB v kJBhIn$9{F)1eS$ nk9!1IQ9?:{6` BЖ}$Mc'U@m$k+r瀴'mkb@m$4 [ޠ l['umk:4k(ܐ"[;Lc׷&?0Mc.ּm$,c*֮mӔsk1Z//r#1#XZGsG{/ }לPN){h:Q+[ꀨĉ 0Lcmɟwi +c m%'P [W~*l$MkݽrҌ1Ӝ [xl'Mk9_׾m-߯s:^À$$?Nk9pѺl?Z9 h̷6'sJB/Udz6s :~ҹR7w [g!N)w{R}ߦpSq{R}_}ВO-cRXO$RR߫ Pn$I򖥎k5=mk'׭JI%McIU-[ 6U1k i#?4|U m#K?nc omdvsPҼXq />:)XwpWQZ sZ**Zն@ ݔRk(W}kzƎk}#5 [)ڳ$5-[~[4JB #!1J ׵1|T լ3+vs‰cٜPN)U|ZUc iMc^̛ Rk C-b5kUUUtmcɴ/ R/-4 uj赾qN0 Tsľk.mjqwqkUo6Z Hmk_.RU(vB Hvmc^XM&RZ[Ibmk^o- sR*ŹR jJ/_ιN 5ZձM Ӕ{~%۱ vrjB p1I4׵r5׵QsǐcM?Q*rֹ6l?us"(ɮ8֬?nc_bi[r4 k z8$5Mcu nk>(zm+6Uk Oζ@4s`qW" ,[krnlc Ymn3s~Ьc:kPNPiJk{{` I{P 1(B?/'LkF1^LoVw9`pڱ:`N/9 uM%,c/Uкݖ k^S?cԔZc:9sq[mɗR\1Tk5[6uk__^qYR$AMc.%빷 $Mc% )RiVUs|ﬗ`:X5Ӕ)BX`~uR +l&k mU9.xXjJ8h))usiS::|aXx*hcR1"iq`N/Q9 -KM%0Zw짓k SQ,c8pB]1ֵɋ@Q/`![DŽhJ_pRsbP.S19/{ͼqR111a @ Nc!*/zzs7wMcg!xU Ӕrn?s&!΀c?)z(֬'k&^ׯśN- [g!Ν`N/| R{JB~^qknpJBIBrRwlJJ}ߐm:{R"Z݀$md'QR\ IҒ&ӔR܀Dm$sm$?UMcUml'Ӕk;?zd?Tmc_̐l0|ZymmqMcrϒ@N.R/5N.u{**؛9 `Tk&..*Lc>_XZk_>PR '0 䔼Ts> j?T{zͿ $s7/۽ 4s7 Β$@ֵ(_I?4-c(ݾШ]?-c`j`ƤШbM?s9W@$bF!רmmNk9 遺4'Z1+*d?-c*:.(q$Z1șP.|jJ -ݼ YƎkzѓ0 ܔ5 c{I$m{U7۴MkkwW//1>׽ty]0|-[]В?rR7̓PrMc%/Wm%{z Ґd?{ݱШb:ncB®@qnc5 ‹c34scVV#bt'Bb 7>'NO`_ R1wLc *%'ٗtNUR} іD*1J5ֽЪcO?):^!m`kJBѿpS1S1|1/ϕM/׵ncbԀ$I-sV#ISys'@Zì3 {_ɱb kUWXOl v-c}R*nŹ$sb-Ž#kߧĿ)?s\x1g`R// mkdlX'{9?׵,cpĀhX?JÛ 4R=?㐗9b^'{iJ/b ŜM$?s9(k6śM%0HJi0I$$U1_m$'k+0I$$5-[_/%ܯ$m[?s}XϞc'vnkؗ6l֎k~ɳiۖ׵R5-cx`ss-cA((x/S1Ӕ):b/)R)uk ջC(@vspcѲsJc'x'kZp{o6mkir R)Wn&PRZ-| 861{=)R)UPc9C1>r2'iJ hz5Nqe1i%%KPO'Ҕ$!uu\`/S19 -̙.yr ׵s]̰ {Wrcѕs}:,0-cW")uR0i껷)V'ֵqnhи>XsJ׸cLc|I؆kM{g XX5Ӕbh r'QZ/'횂@N.ӜR` 6$k?&)*>i136 cwUU:9sPXXx$Z U5$s*ZMr{(`NwqE)(.4кd?Zk> VspR}מDpN/sc[Z| ssjJ@ʂʬ kRn~xҿ0I%s):_m$?Mc1UҸ#[?sf!ͪl'1)%Ʃmms*:Uɱ@rnR&!*ԹPN.R ǜPN.s15-M-rNk 5%IҶ$) )(xӐ#?1ZÃɀ&[?{jJנd's)Bxz*m,4km-u{ Ȑ6l'k ZXŐ6$qRIB hP [[R뺝˾qqR~VPN.w,cST{*fCv;8Ʋ{kk%N^*ҔsXX{6e',cWyIB|Z/kmd?0Z ׵Xml$PLc UURmm$9\@nv$Q:( ^hm%Rxgd? [-x^4m$LkR^]Zmm$mkJJ_ YI%*B hm$$rRU(aml$J_U.dIҶ$ @RUUtPr.q1uPr$P [=Ámm$B{߆PN.R/ݴ0IܖZ8 " I?{ ^ী$i?us^(ը$Iۖ4{{(ʴ IJЭm$$r{]+IҶ$ s \ʜ#?Mcp-½T吘4k H:30w F/XBڢ9>X#)TppSqLk$!(((R`N/vZ--٨6%|jz/śc?UjBW.޽ wRͽ kU}лm#'R{Ѳml'{)bٲM- [-7IҶ$ s+ۨ#?sœc's׺0 䔻-cū0zr ȸ@?s#4ư&mi?ncíM$$X [6ͱImc Ͷ i?*-ŧI{IJ^-ũ i?1רĕ#[?/zઽml$ms(}Wmm$R-um$ZDXwd?k27zDd]?QJ _.4$|):Wי7M.-[UVI%uR7>.al$u c*U` I$Ӝk^((}v w׵kz⫽ ׵sװ@V?9ƏclȻ[?֏k{c㨄m$Zk$i?u gЦc?IJxh^Rc?p9_3l?{ ׯh*֬o?OC1_&L,IJ)$(Xd+c#!/j(P=v$lkhh`{x/qSw-cG) Z ,[ Π$iֵۘP_:uZppmc'+cTqM-ߕs=m$$y|?%k~|ml$7uU|m$4s_rm%$s'{nШcm?mkWGЦc[R)J/\Q@nm$5ns}E md'IJ~Dm$Z] #::!h`H$H$R]uwdH$I$IJ]I$I$jJh.7I$iR;=Z&I) `۪Zw!uI$ZU^rsD!Zߘ!PNws *=\M.s1*߻m.,[1Ԗ½m$?,c)^(d?sJ^il' [`.g@nm$nkimm${1* ^kM-QkJ~ʉm%RZ{ћmm$Q B֗/ԝmm$rR׿Ηmm${1\ȍm'| Bɿ4$sf)@rn0IB ǣM.kƩc[?0k2md$Ӕsc]mC@ҔMcU˱0sR۽ȰX]?Bjxʳ` 9 (ס0i:ӜZ` mc?1_di-mn1MckAmDm$|jBz(JPNvQJ/pm%?k{fml$Q) \l$ӔJbNmm$׽:.Cmm$׵ZUU5m'4J,4$Zܼ51@rv1NkAmn$u cZGmm߮s]uUWmmTs&?Wmm$T,c^xYmn$4,c.`mm$ulk^_mm$ҔlkU(Wm$PGB뾶Tmm$RW/Vmm${"!zTmm$0GJE$sHJ{-m?{9x+4$ c:Uj%@$Z!Wi@'s6k@$//_8ֵ?01'VO$Lk*^W2l"m`Lk ]<ж$msw CIm`lkVZ#)-r$5iJ/}U!@n$5*$%!UD$1}Uq@nvs  ]y"D$0WWkF$s~UUPF$ZeN:8ֵ?HJAb^#ֿ+c)% H$z>mk{ؘ0 W{@$I$B9'-yI$ c!k]x$0c)ՖPrvO9 u:m?kxUz6's1\Xf @r${D)}}o@$9_Uf@${1Uk@r$! up@$9UlD$9US6'mkf1zxU;@$Zf1}9Զ$ [/1P cf! 6Z:'kغH$N؊R+5I$IBIB@I$I)BWWk B]U)yujR%W/$I$+c!]?w}%ur${.!mn䑄cאm'0|1Uy4$k! Vd 4' [rT@$-cUL@$jJZe$R_% @nnsjJ-#IB1|Rp_+IB|):*0IBsR4IB{jJ8@rn䳜R/*IM%ӜmkuveI%tR([cm?kzp\Gml$0 [-G@nm$+cU UFmm$LkbbUHmm$Z(Bmm$R ]'#!zo$Z!XH`$&B55In;0)_ 0 m-cD1UW/m+{ ի ;Im+0){( @ ۖ${aBIm I0 U5 ۖ${D%'0iJ JӔk}./_&4 s(i7IR$sWm6I¶@Lc׾be*OҶ4R_.%e'IҶQ S}f,IbrRիn)In&U*: x3IbVZ}r*IRUJBn%Ib# i):USI?c iJU8?l i1R}{)O$ I|iJ_/2 .91] 1 'd 1U*'l @01W!I$ lk"! $lk9W(M IKk /z `$IҶ+c I$ILcC!_7ɑ$I?Lcd! cCakiJu85pɟ$s(B 7(2TI$qRW,Fpɝ1R.,.\P1{}Uq,c\>XC`׵ [@&?IkU6V?|2X,Z?iqd)_# l s~,۷; ,c_[+"2ܖ-{U~:ILkUK*p߶uG*Td)WU@Pq!WUIж'*U}F@q*AВwkC!K,v۹ mkjT5m$/,cU]5$-mkad6O$v Q! g+m IqiJU e'I-)JU (j'Ib$ J(dR# HQ1_UId I|ULb$ 1UJIb$ @k^x = ۖ$-[a >Id @k߾(4 ۖ$mkVܨ@I%)nkW < I$ inku,$iIBWs$ H1߻%)ɟ RW 5v9 c]WFIn+U]<O' Imk ~nMIm;{ vנFbl Hmk *SIm;mYObm  ⁥UNI'Z#4 I$I'Lk Lk9ۃ T$I${wI$ kc1&Mm1 k {*'#@iR $I9`۶1)B֤O)% d۶)euo`65E)U); 1 U_2m+1Ux ?Im+)BkU W>Im 9C% IJ% %Bb$ sW:Ib$ H1Uw4$) -c1iI I6.c)/fIn; ,cתgI? h ["_BI$Mc՚m۶ ӜC!WkI$I${}uܐ$I$kW*%$I${!$I9U, #$I +c\^&$I { U_3 ${ ]՗.I$Ils ]zX2I$/ cW/$IR k& Mk*7 =9XS= mk9׿ M?hqZU+ NP'BCp4+cuuUp}{HB>^xW(hcsB(_9X?}"lkx+I6+c* /?/lkhJ&&b<- ,c1%O$=Lc9w@Ocm Lk'BxPIm @/'B퉉.Lk1`bg0qkN@/b8~b0BRkh=r {9{K_r4IB ySmHӔk oMIsp{hGXƯsrsdIMnUkdQO Ӕk_x`U1qWӔMc U_mXPNwUMcUof*f;RbbhaIu$9]ka .{|jJ*Wrj]1Mc)}nq PnQ,[%.u@:5s;|aM?U)BrRЪl?ӌ [\GXѫ'ԔR.J6";1k ZI2O’ [x*/T4]r$4 [U VO+cׂ 8IҶTZz1߶9_(HIҶd1/?OҶ/d)ףDIqZOIҶZ]UPIޖ0"Vc]r$<պ{IB (BWg(`]|D!~|\kT!IΎcɍ_PhQ cWkV14R yni瘶cU^wmX>cQZ(njKm 1R6(phC$) us᫿uf6|Mos\Z QmkpzfU_c iR dXqww--cU((fc;MsUըeaM'}uӜ c]_fayeQR/reN7Ҝmk*ukl};TZBBvaѬ_?q hQ*>0!&*W@8֬O?Q)BH> ]?1 [A=$ Mkz+H?17eNZ5*THNq4|.7TJd:uPתHRiÍ&ukXZIMoֱ ZI?xέsOBլJkWKAi.qW9RG I{LU$m,cRIIs WUVKy yMk UVM l䶵 cVP}SsbSP nT}CAqUPrA~]PNn+khm߶|_{l8's ui@R䵵s7.lvI۶# I;Xxn m7 7rv`w/U :P.ﲜ}c]?ઊu&${-w4Im|qW%@X,9zUM߫-P1W*S։ZPN&r,kRwTs?6˶ NTKc.p[*kí ts(#bulk,#bTs_{}3 I{ZJzIn-9 QjRr4PR(_&{{3HҜR+Zz|# m$!ުzIR$ I{*Bym$$sZXuҶR}あrҶ|,cai/rIҶ{iJ舎tIҶ0 cݲtI޶HsiR{}.WN0Z5{Ҷ&1xyrKke}w.Uќb-֫r tPqrD s+ #͐ xβ_#:5Ҝ cM$K$'B\+ j(6hpJ/zgry1ֵHJ % 0}QĘP.5JJվm rW_=ܽINn$s_(ٲ#@Ј3 ms0IζH4-c쬒]Rk:5!/G I׵s/۱ lJx`BjR 4255-+ƮkN Y\zѹm4խ ͪ~H֭, ըIMq.&l3Y2yL$$ Yƒ_{c:ֵ|BПvkPoO3"y,S /R)rXƪR^p]C}b1$)Zy{w.e*^ Rr B1-ܬD @B@?{׸ڊb>X*cbz·+X{ٝ?ws؛4?}ﱌ ޽)r PV]ϲ0r$TMcصI.8L[:m߶P|-M ׵1IM ֽ{/b?I /ںhWb\xͫ~2iˊĬIޒ hJYc˲ߒ&Lc߿ʹINsxਨκ]Hk)KɷNz#% sD#/ѧ,(R'>>\~^lY ncfUsbjBVpjXP -c5ql琗iUjJ޺soyMc X(vpIbVJ_8py$6 [uU|tq[64IB*]|l@ӔJ_yg H0RtfIR# ItZ׽ rhIҶAҜmkmgIb4{idC# pysߺ/id -ֽ/}kh1;s.h_P9/1^R`ёssTDZR߻KAOR$)s۠)RAom IJ~*TEMkޜ(UJZ^JS@NmR PHO?l [XJG6i' Pmc ID>?UkW%GB'd lQ chGBy-apR~.WLFwN/GJkOKa cOK'm$!MJ@;sBxLH퐼Z?OJyURzQMywiR+UOnA_ dUR/RҜZ5/*clc5ս{r lh>>T{ . if$Aڤ8}bZleЖŌ{ -qhtWyX΋{ wr}b/|?Wάs u=S;ބ1.vo`=?Sssn4Zze*@kk?%i"#XRJs |)1WyWѤI'q {Vw1qS- OlsˮR/t{}fc:`˸#ZS+k´鹡#b+c/bLk%*ޞҶ$' {k&%r$ֽ{}{ɾyr$Ҝ{'*XMHtWHќ!3i{)OҶ,cV IҶkm褓I%7McUZm$$ [ओӶI0 c*XpIҶ@B v¶ mqZ~~耦yRPPZ=?+rd{)/m$&lk^ϲr4 V1w W/*U!IPJ. \ 1W-.'/(#5X5EBXx M۵P%B a[g;0 cWhjj1S1RҜ1 arqP(BWpSqiJ*%ԥ`N/k I&|ːcm?1 XCϼb?s`` U|{`]+s⬱ nkWw۳ly c]} Iawm1zŭrw1*θPn.8,c꾷̴8֬_?ֵs}zʳ`wZw׸PrnV1Q)Omn׵1| 'Uŀd'9|еXcv|6Xі-[lhVb J Us2?{ z&11q(/7ؒt % ǂ5vДXͻִ?6Ĺm{~a-ssmѼ'|#]ҽ@nypU%лX3:S?Qvʅ{'s?&r/4k õvvk~зPnnt ;ѽ@rVs7M%׵sb¾:T c/xƠX?:lkwO} [=/ĥT s3|"&Iwsu$mu'BλR aTZUվ ы Ю18|-x%>3?sd!fA wӔZ f[l-chbk#6b58s'Uplmkhxtpyy4Mc-m%{tR` ,[~yr$0k^xjJ~{!@`R~y$MchJ~wbqJ]~uCHRW/|qXZ zqj5 c jg L$lk`xhdl؊=Lk hal?t{5}fYЪ:|C]UX?lWM풥D iBVPoj {1mBSM# @s ؜>PJN2jmBֽZ.~kd >Tmkie絽KsWug.epks %2|up@iXv_}v$i:uZ{nZ]?ֽsCuo$ xms= u}w/+cV~{S6@R{7' <5X5db`zj#7Web''miֽs.]mWS{ֶqRd /5?бѓ(@ֱꃏ# I/Z#3lk؜" Lkj蟩d&x΍s ]n${O  c^ҜsX_ $$3{ޫNb&Ҝ{=}X mvmsoxWmm QB%ꮡN ,k IB0Y])3 4s 3іkUzzࠚsX{Jk|yWy)+R/wSbӹ/r/ս.5wM$WNܸaT0ax7oܨPZЊZ#:{Xpi%X6#.RwM$L?{1 -%gj,mk1j@g#)uN e1:"vc1R  Bz꨸z)S1w9*.Rw׵ncݳ[ɱ`n/v1|hzr˼Dm׵k.Ǻмo?k.ۻ::Q|o-p'p',[ZZXMc 0nkuЈ =: [U߳`wJ^ܭn/R ;֬_?MczvUklϋYPr$U.c)@'k(I D$nciIn5 [..^X|ron#6ZMc 4_,>pZbB311So '/՘p rb /X3:oްPĝI)s_{*ۨX5s Rbd&@s¦ܟ X0߽]ƽR-s/zŶX5:us`b봭`;{2?UZ/W۱s IҒT Ԕ [,<|@ВߴR̦Ж5 [XDzRw4-c. PIuMc;p]?VsްŶk]?,cz(ǵPNvmk>7(νPN.k߽IҶ$ Ivkg ϻ#_;U9 %*{5b#6nkVg^!>|T:R)RnkRABc^QRq-c!/WzhZr11/5o]M.,c,.se &wnk[Z|qN/us**U~q$iqi Uzj m[?Uspvhml$ӜMkp}iPN.0R+jj|uM%sa{uX5",tmk}_"si` :Zpkg@>sZ5haX::RaT$-:3mku]Mиլ_?0 [^TMֶulkPK&c lqRPK)$ 0R7XN7WikU}[Q4dm?k,ZQ4Z\^UQڿI|nc7YO$-h{JJpZUMO^$mNk)/SN)rk :@耍WSnJaWTIB1|RyVS6 '1|-[5=VRm?UsK~VK&>| RJmd$׵Z]UQH(֭m?5RuOGDnv$s)BNH$$-cUGPm@B*^KRwTZ}gWPN&8B/+i_I4,c$i_cm;Ʈs6^]g[@Nm$W+kr]Rw탋 zimm[ќvhjzxhl?ulkqd6'RrfPRotmseɂo/St{ysF\)Խ./;X5b#:i{rW]>!\Z[Zќj%>"ǰv/ t{ܜ1N X/o5@4XP`jR)RP_Ƴ#`xWXsػzìMڠ ڵLk}⭫ 1'b%[ mkUW-:X5LcТ'Ҝ [M&Z14 [ vb'CqZ~xৢywIiJqW c _`6y{ Z>ukxx)Wr4 r [>):\ꡛI\ɕsIB5-1Wqkk-ػ1)ƬsױmJְrÐb-:Ψױl]?{ ˅c:xjs|xr9XNJcy<>{+cU><<W7{HJjAp ׽Zymp'{R}\x/qSq{s9(ﭪN/wUksַ`N/v5k`~w5siUJӶocj.>,c"޵lk6׵|雗 mZ+?mc&K;VmͫЪk_?s&b©RiJPN.k -/VxpY:/wNQf1 _U]+1jJzxXQ4k=?Mk( Z`P`Nw{9 ./ kZ`Rn,cX+tcPnwӔmktXd]?Ӕmk ^iT6'Mc/-bR@rӜ-k^{nTrnR %u`M.s~~yoFIJtkr+vdZX5t{{XfVm#;?Lc5ugSжm<ֵs\KЪc_?4lcbjQBШc]?pLc[rOB .{Z^z(UO]mֵ{ WRIҶauMc7TMܤ9TswW*RK8l?)BZRKRxjJ^޸]Qys1QZ*`ZS6@sRp`\R9k):'VhULh:s BVIImRZ?]VI I['RkJ((TK$m%Q.c7.RG mc?skPCк?ӜMc֖bIC`wɛ|5MkNGqk4s OFI UMk__GP$Id$,c׾LE'}1MkT:TG7wywӜZ휸[PvqҜLc_TPnn?z c7R_IJrֵs YQvbxbTpswyKkU/ ^gM2hZk.iclkUugb|'폑Zlc.SqrR*zkR1W2{ucԽ.rrÄ=#:X1Z[="[𬊃:W2_k̯dֽ/[pN8ym[C6ֽAP5X/6lsŵXX5sZ>T/o %$K;{ M$?qR*,IҶ$ @0Z_X[m;Pugmt>`LkuO1WqWqZriRpu [+I^$HTMc!@8Lc-x|Ir RrXS?(J`{}zImkA*ɟܹ1RxR%1RZ/quS7W3{97tƐ-5(C؍7/ n#6 3Zť:5gRzz|/6#:)kTv@`#6{ c^6>>s1XA 11Sp9 %iHpNҔ+cnp[@Nm|9„aPN.sB-?-|`N/w,c粝`RU{㻱dNRUkڢ(m`׵Qр-czH05ʰЦcM?Mc/^_l$R-l$,cwV;@rm$,cײr`Prn0ZM攛s i뉬 r4kר00k%.੢}XӔnk]kXy`֯s%? ,uQS2mK?ynkW1[6֪JS::pbX,Tyx3C1ŗ R k/w?Aќxm/{bc]?sbrpڠ:QXa0l'4sV{@Nܙ֎s}]vt*/7øSRk-µ0[n% S{~Sưr4 7Lk?+6m$yΐvĽ?Z9/|\zX:/kr+cP szk}'>1R<׬퐼ɟӔZꭩ>'uZx˪i'muR_c9c4,c5)A9#:8PrbX,Sqw(--]T8AmsU88ZN3" hqbVUN9w~ pgR`URqybUd^ͱ;Ls^K+b/:΃ZxTGĶpb -QI@?Jk}bYIpwP+kiSRqk-+^wd`Js5?vcX5Z3q\_aMb-RjQB4k:{[M;? c F86'Psp@K;Nq{q c0 THPN/s/{TQ`!us^ SK`/:#:Ӝ OKI֭|W%\L{wd Lc׿aT M-cb]J61|}5&]NXX/:׵kXpXQ>(O?sRTH:4dm?R1k E9@${JJH:@n{ZּG=DJ.sLc{IDm[Ҕ{ŠQD}w T [ _K}/ UsjTIb%9uk_iQ R z{eLOR$ IMkpaM [*7bT{.aQ s勿VOܽQ4iJ6.z]P{s 7V_XqgrHsB~\^h 1Zwd}. 7hRu{g$) cCxh_c {Z|k1qWweҜlscC{N --LZ5L7hCZ*׫T1S)ks7Ψ)R` {߽ϡ @I{;6Wb ЊZ:o>Ŭ-֫O?sRhШcM?Ҝlk ݦЦc]?{jzUd'0Mkxz}@nm$QmkU}m-䲜mk /Um$$nszUM%Qs{y鬏I%ߕ{*IҶ$ {ժ$i$'Ӝ{/m${rן?ӜMk^_蝖vIJs}*/DA۱s' *I8:KczRvZ*7/ٙPN.յsݸ0I%?wΐҺڭ&m#?W.eǕ ]?ki`bM?seq,:/Rb.(,>C?{Z|Nt61Syd1U"Prn0ARo[V-mm c :nl3h,c WLPN.w|1" )~PN.4k.UM%9s\0I$$YmcמIҶ$ 9j:]?Y [^zoc]?QJp߿׌il's:ފgmm0$ lmm$Q1zn@rnNk..v@N.1M.4Lk4m$$4|md$k|k_PN.ֵmkm啵Iږ$' T|(/՜8xiWn4  c?_#M;-c~xI'vZ5mm$nsU&5,c?TO-.a4sV%kB>|jx@G(1qs %%nSqr rb_(oY$ @U{__clWIR# @&R_iXmd /jU.i^S 3l{`M>:pKs.,~JHHH s7}SJ1i ZVJIvI'JZ_P1S/Urֵbn]nw4p>>-^mIYr$t{xaR`:lk* RC:`68ƭs_}@;`6`6Ҝs>9}qmk#E:PN8P% DMk32 8{.SKD8Ƒ~QI-#:y{X^OG6tlc5?\Lr$XҔ UZMM%׽|x\O4m?׭suVE-c:Oc‚F:X/:C'*B \;6X' [.ƒ:61|kJZ_8BЪ1|):xP>{w.e URX aI.Wmc.&dNr$s _sXr Roir Ӕ,c_nӶhQmc_{eC R ^ofIҶI,coeB)s .4o]C @8ƑkkhWOBc mkp`WquO q,c* g`Irww+cnVz`{.W(Jv+pШc&09x׸ĖMڤҜ'Jq#:X5ҜRW^o``>ќR/׋crw*/Ӥ@Iܖy|Onֵ Iֵۖp7Ԫ$m'Ƒ5Vɚc'sxZc'so㳣|c?Lkߚ"ac]?qR*(܁Ec?0 cTs,md?sB`o'mm$,c%) Us,mm,c9~?@nn${R -W@mm${RAmm$0R.z>mm$QR 3mm${9(Ց;I%'BMmd'Ҝ+c }Fmm䱔Z ]Gl'єkkX^_A@$&B8*=Pr$ c/^?mm$b:m'sյ zl?29j6$s!z=$.")  ۶m1zkcCax]l#i`۩ZP+PrwZe1 BrRW(kPrvs/*v,mn$k$@$1 U%mnӔe!U9IBQ9[4$|wt-6$Rbzyb-D$hJ8U-]IB'Bx^`2mn$:Uz5i7@nn)B/ky~E@n.,c)`+(T@nm$kB UMmm$sHJ*Hmm$P ތJ@nns)Tm$Ҕ[Smm{)8\I%qR3Z:LsbcbW,Q{s9^`7`N/b+)Iږ$ Խ{_c'Rs7-mKk,ިme',c >$m$$4s ,tm$?׽nk ^޷w@nm3{.(׽I%sNpV0I$Ίs 6‹ m#' Xmm$isyml$v UmIҶ$)IRjkzI%Kk 0I喻tXc]?p cx l'Ӝ98mRM.u)JV㫠lr/,cAŦ}sd ,c-5zc#:Z8F!x`hhK.w{1wQ ]~tIBD׽{?Z~p@ս*{mO¶h΃U`td#:Z3l{eP#:b0jjXIN^,Pj_eO} tbdUݒz~dX_c o ]Qc>sr]PDntb^ZS?6%_it{+TC3btsTD'ߑG:0'ֵH9@msv(M;Prs}NAM.wk KC3:d/5JBްC6/9|g)ت;6w)vRRy W?9v RjJ ;DТ5k61 []*]TE1Q,[ uhTqR UR meQ&hLcxvl1q7wlc}u`/s8م?XsR[tXrR8`uoN2h [voqNҔmk/wp { tc# s{Z_h4iݘ{GJ qb{.UZlqRPNֽ kڿ.P'Rzz8xi:{ *]Ъ:qhRa'jBЦ#?ҜhRi-'^$:ŧRGX>u'IzϑIzOQZ{pGZ+% P$b $mnx*}U24${ ՘/D$'B/D$SZ ׷w,m$3{=%'nl?Ҝ$!~L$mkh~&i9 `E)xz^I$1-UW$p$9*U)ж$BU(ж$HJU(IM`HJ}U$I* `ۄ1W.UI$D)7U(U?pɟ$Kk/-%UA$s*zU4`$|#!U8Զ$lk9x/ жs.%* VrB)x* oKk 1 , A$۰=IR^W  m۶=2OGJ_ I gJ. H&PR+ s!(' $lkc1`$ H,cD)mZWx %?IJI"$I cik%?@RW_OHJ' [ U{#Iۆ1e `BueVtڋJ]"`I)]'`?9Vv5m$)-}{{BP$R{UE@$RUU;@$BVU 6Im`C)xUU;PrHJ--U DIBZd1X D@$Je!-*SВ$1-wT<'Zsq $IZ$)pxuw̃B/5Օ'mnԽgR U%4${Z Uz,@nv,c /y"l?4Zr[p0$iRUnD$ ve @$O *Wt @$(U| @$((UUy D$Q(Uf @$(U_\@$fR(In PrvJk ~/,Prv3A*nYM.s1 ~eս{_mp4$bU@N-09%roJ)v$3Z _l26 yέs-]uX53:b@@7%Vw{s=l=pN/RZzz\~UI c -n|IҶ$ ITls jpr|iYr$ 3{*}js)R%7mҜs>^s]C&{~s]I U{fT &>+s SgI$lmsla3Ú:ƲX`Kb X:{jXH-R.[s%7mX bÀhK3 0|]{S@u{b{E?I ΍k*F:$ @8V:C7~ ΑՕ=G;wYߑH [VV^p;.DN mk1|?5PRlI?9H9-Nw(B+*ZE7uSw [U.mZp 4LcnYi'Ҕ,c`pZM-0|Z w\M%$R߂}YI$$kkb~[m$usܾud$Iۖ{vj rs }ws lҔs`z vih13{kUm"'%J~VrVI%Js i~Mm$?+k>Vw|6md'Rb{x(ml$tHR}i'$GJ.Bи}9eksZpcBIn9 I!Ib$ սb"Ib$ {}W5Id HA_ Im @IsO'i̓B1Z Xɟ (=$^ I$ @{gJ*{-R ?ikk!u>$mRv83I$-IJ[5I$@RUW^( $1_]z$ ۀA_U m۶] 1%XI$IHJWI$IiRI$I$,c!^^RUsW I$I-c!]/TIkZ_(lI-){%! iIn$ H9V߶hJU#Qm$$R(RӶs.}XM$$ts{yvIn%7 +k^ &TZ6p c 5Ҷ# d1;Ib%7LkU _-9I hXmkWUU.IR# {iRzX.&iJ]+b?m @SA]UIm AWIm C9NI' i.)_ꀀ3I$m)k U `{c1UWj$I$ɿ c).& $Kk b.#ar(U 7ɽb95*9 pw@1krwjsz-mmN5.nyAM%x"1_(_M&ֈZ}. z@ |ks$IIkv'SZZS Z>JJjk)yxɝ$s-5E$UF)U] PNwQ1(n60IݔōsWbq? I'msxkA IۖqlsxuH0 ܔms)yw=:Ax_(֬'P#)x}}Nr$ZZm$u  WT$#)_UQ@r䲔 Up(I9 f<c'Xs_UV;(m7Z TCKrs-TIOX?yΒ~NAжvnc_XCr 9Ʋ \MS$4\;3 P|xI4O^cѶ|VCmcM? ^M mv$1(UP'_U;6ܹ!xW;PNn$tC)ͼ= d?tjW^ 8@$X(ZE@r$Q)uI0$_WK@n䒔(UUmn{!UTD$ c#!}FЖ$ c!%SВ$s`PrvZ }m9mn$!]o7Mm*Wn;$$m?A ,c[2ڵ$k{8`* K"l]?k{I)8H6?М)(^W/0)7 l۰(k@ؖ$Ijs0kqg7Iu'I~%7 EZUr$5Ϊ Mzm@w֐ImI ^m$֐z Vb{2X̓@m$|CsWwI¶ c(XB1{^IҖiR *iIҶuZZIҶE)ߪ>HvBw)I@ ORc PwDI f!#O?s1 mF6MkF!%A @66nc*|}. Q)*8N0(J)"Ȇ@s(zj~# iRx_bI# @gBX_ZIR$ Hs:*X]Ib$) pJ.mdIn%7 Zqr$Kk-ǎݖ&s^oڟIb%7 Lc+-Iޖtsժ*(氹[NXOm৬iƭs`z_ٚOޖ$T+cRݨwmu/Akiڠ3iThRǓ# ms9x~¶ I9:r$+c"=m8A*^8(Bw3@TsU[a~ Qmk ^`F3ZӔZbkQ# imk6:Ol hR"I$,c|Im-@,cW I$OZ - c'!퀀 e[e ,cD`7 kZd)+r(qgqC)R{. Ҝ9Wāmr$Ƥ9*ˏIҖP~ڕIҒ$79 ޒDm$x֬s W܉I¶7{W~By{IҶ 5|IҶ /]BOWU|C¶&J~(b IѤB1^W5s%+1.I WP}. wDR*SyiN$)s qG 揜i_$ VM "IЌ:;Ѥ,V#M;o,"+ƐB|yW7{-iN4AodHXյO^ Ssp}zOnOgJ*W*m@t{uO {JS6%umsU~"IDu cԬH4Mkx$s {3Hu [Kn(;~ Hf) 0IR# @5Z}} y#o۬^2{s֧16'tmTsʘ1uS RŊܐ k$|bܴ3HӥCIU{%Wț i] /Iޖ$ Ύc\ףr yq澹r4p}]r$OUݿعKNm㱻m@|>(X3ѶP~%sjyI Dnֵ0|$Fֵqңiu0'ڿh{U^Ӷ¶# I|HJ~|չݖ& PIB.(ԾӶԼIb$ iQ17<(ɯ3 s+K#ZLk.W``qHRx.ROҶ6Z @@rmPZq~b {:c׵0V(c -c - s9 z<ɛxyNk6..*r vRU `r4 Lk}8"➹[r$ Rı[n$T c߻ /@m$HBWjعKnD*$I$h"M8Ʈk7۵ii70O lk~߹ Mk* ޵i&h<+c*`PIOI'{h, Imk!' 'p){b/tI8)* 'C'uTPZzjKIm+HLc%:I?Mk]_ JJ_uI$In$)upTEIw R UU bo%7 ,c %7 s׭7Ib$ {9U6Ib${C;In&09}* HIҶ92öqd1v""6IR# HҔf9W(v* qN X*\!@**@$@$_wU;߱Z%%IBIB yOlP^^*`ΈRWw~c hsuW-r$Aֵ{mXus/`Z/R8P-UtIٴ{xTs 3 T{/hp39 J{^%pSy К%ir TsdygN \PL$I | ~)rI׵k^r)rkY VkB UƿI#%RR U7w|u`rtb%S@֕kof'1| *I%7 5W_ސc]?8 UШk]?uk€Umd'Rmm${/.i-Y{%غm,ܖ1 OBr$|88Mr 8|( #i&\k6k܈кb/usp"* s x" q cz^}yR% kUí6{TU@P c?O HqRp"`{^DMkR+=y7q-cg1.7 LR)wӜZ+Д` SֽmkUdTmkX($ H֒y:YQ߸m":us`ؘ$c]?QՐc?u|Mm$ҔRԓ@rns UIҶ# Iqڀ4m$ߖ| &$$s_XX=U1|iǫ 5kkz`jʽqӔ ['ʸR£jJ{ ̟Iޖ$7 rJ6_{^ޒC&51c vCӜ9I i$!}"r qZWEݖ{ ^X\%7 (B_ y[r$Mk Or׵{/M5R*ֽI Y1|-yL[~\ǡߒ&s?]ɗ~2tPɔYNXk=ͺqKIY|x^IM 0Ҽ#ixҜuʲ#mIp/W|Ϫ2$PН.`*ϚIBxo]ݠʐOBWk{֨ɋI¶HWJs_OHb_jI޶# Ijsu 7r4 pZ%͗_r4ֽHR*ˏ@8)JXѐr$UR ֳCYsWm$uIJռټ]r${1W_&s$!ߢI޶ i c9ܾ*xѷC @,cR 65~c m,c9(B)e 0qR QZŢi@Z ҀFd64Mk&ʱ= Iσ ʉ+&:_ӹ:o:9ʹ> |C9` +W%t!7΢AXx k} )c!!i{C{lµaXӜp[Dm$sd$}R Yr@\m<Ҕkm[8sࠀyn]J+ *8V c'qb(Ammmc{/Q)5:s{@$I$up׉tBֵ1a&I/%5vb'vb{|k.yJ4{ c͐ hOX~u=#:XTAXzpy~QW{ /6t oԓ/5ֵ [p$ :^_M 2J C2$MRr_ǫ3Z*BN{ BwUR Ȝ`NwR%*m-ޒ}?m$?r,Tʐl?׵{zpÀl?s{׿6V˹0r$kzι@nnuk8M.8PÂɛPrnUVKmm'v0|6l?(*}׺8l]?-cȭШk]?Y0߸X/?|x&us_-I^$' +[W+[55*Is^hs bd#0+c\>:{9:1yWzI11sAsS1w{B N)ws;/IXO^&d?lcx~ڐ[:TMcZ[8ִ'uZ zʐ6?,[~Đ4?jB+*Ѽ4l?91V^rbй@$-[~Vն@rv䒌j:/%ٻm.yM[/mmTc zȀm$cn 8$Ӕ-cjx̿65s/'ǰШիO?Nc\WW@NvԔk%%U׼.kqgN`N8Ƒ%#`4@yβ.Uȫ@XLk~ࢫ~2iLsխמ3I cz*ЗBєmk_yC(ab_/覝3=ֽlkp6Sb5X5URËnx8 pmkjJ?41P(*>v/ ќ+k"ß[r${} ®M is򠾳C u{ 厽ORd HZ<°. 4k>w̼r ֵs"q 0Xƒ?T xX:/5) Nߵ) 6O[6qrD R#ҹnhR|+':#Ѡ:xkk&xI Z( ˾X>7ƌsW/iD  #@ZXîƮR {Ut M7/+l&W9 }$Us{U*؎mnkI$4Q&I$Iusz >n { IB g! 1nbXX53RZp].\ׄR'mpR8ƉR+@#5SRh@Ik' yr s : s)h Ь3hrkB5 Ȭ ׵sUI 5s(̽Ж'U{7xи@'Nk_α4'kȮ4$Ԝnk^­D$uncռ@rnrnc+_X఻IJr$ ׭|z{4>ӌ-ch~rvܒJ(ĮrwvZ˷Prn׽{ʻm'ukȵ6m?Ӕ{wX8֬_?Mc8>/ШիO?,[x|8'-c-?yPpSvMk\^ե6j5rPx`תk :s> :TsX_z))R c{q#:ծ{A\zb JwW6nk`O1Rd Q!1 [9ֹRqJϜnwQ]7mu{X:֬_?uk``{+C?qR`iWN ӜnkU ?ƽ-#:-cUz(֫:rJB`Z6֬O?s1 +Ж'1jB WВ$ :@nn䷵s%/Uèmnvnc(¯M-ۚmc\ñdm?8s¿㹤+֣>usW^x`ww-[WԯRws/ĔPN.u/uiIҶ# I0U$md?8Lk_Шc]ս`a6Ķs/U/yֽ0.b%\׽0NT5lkਿ_IX5#:ҔR~0xzsRG511SPZ:ơ  ޲"ű3` ޕwvTʿu 8l[~V* Yt% IҶ}zݖhk}ɱM$x=/[P|}'d ` Sx/ 8 SmkU꼮е3H!z* Ӗ) v:Qc=/'imHߵ&$C20zƱs̘spb {Ϝ@N%Zڿ*?ʿ3`yW ƿo# I{%Ib\^yr+k}1S`ֽ%%)VnXmk6` _)ryq$@&Ҝ{ iao$PXrDN%Ts^ ݐ3Lk*#̀ƍs_^/mw- unsU#8r%7+s=7T%K|p[;霐rI|swh֭3 LkgȬ3b ֽZ ֽ{x(̊Z\MRBiN[tH{ "!.!!*?x@$ ,c ӔRߠpwvk Prn5s<ɹm$s_k?sb⫹;c:Qmu|X/::k_[RR{IB$Ъ1RR"b&Mnk-5%k?5sx~Цk]?kܟ6$ZxIV$% Mk/65X5qiJ(^zN6a{/W/RP9 ̨42LkWȼ!QR$'M[ xÜ`nwR'_I mR-:s;1XʨmMcF;ŴC`jJ/ɾ3 vnk/±?nkUbsUx૬:ckU ڸ9Mcwhж$Mc}}vQJ-/ Pno׵qypm'|RZ돭иl?,[zX@rmcPN.Ӕs/˨Prws շPnn3{-7ÀF?ֵb^)M0TZ뵽# b_kɧR1}m%l~/ cӪC4DC4X΍k`EX uIBzPM's>qZ=݄!Sq0bno`N/SZ]ɦ Ssn N<ӔK/E d}x)>ߒ.iv StHdhƱmN/t*-* m6yt..ֱYN$Aӌ%*IBTV}2lֵ{^.IҶ\nk_⢾I|;00R_Јb-69McS_،ժ)?9)B"c36`369_HZ.O~qpuӐ#6sWWؐk$uls_pI۶$ XLkW׉ض 8/{ˍ 'hRXdm?ֽPr{mÍ&@R>Zל`N///0P cmҶ$999"c?sאı k\)rսksU  ۩*Z@Ss*7# P^*I¶c.ohӡ|yL_ 砧p.\WX#6b6+c)r)ʥ''I$@$֍k vk5 ׵|'X5uIB`H$H'q11 [-+vbzr]VI$׵iÍñ .[ڣp3k}OHUR,'IҶ$ krU` UM[7u׭Nc[@$׵1|7V%v YƳ-\1i$@zӔ 0 yqZX'B"xrX5X񕵥1`ji>[t1Mk=)+{NtN,c,6èPr'nc(_̨M.k,սI&yƑ^m$?P|oԻc]?Ts kˮ8֬'M[jk4Ӕk+-%k]?cWiWn$Ӕs<鬥c۸MU|}Ob- 5MkW(c& [% .)PUs.vsg?y|U5X,c~۶`6q!ޠm&Rս⟪IB [DujJꭧ-S?uMci}Z):5?k{m% 4nc~Wq k39ݥM04sUX9jBz*֫>QR>zU~K}| :\^l5{R# 0I%$nkoW md hӔJBp׶9Z~u6l:Ӕ)J~8֬O?U c\U_^`wq-cUURqJUR/wkZ®NSLkzݖmtP0Ŀ|?c0UɾW7{>N7uSXro>)&*z1kjxͩC4DC4XέsܡnXmkܖo# 9p Sy[监(kޘVp1j_s-/şJ`ӔT'α6-kF$;pǐڶxƱ.~I/qβkr~vs|'$u_m:84.׀'70|'VX@-ys)7`>z5}Դ 6s)R)U=1zri s7Đ6$Ynki߿H-c>$I-c€1S֎sWprqNp sCÿֱir%Q,k)ߘnb IҶl{םIB 3{*tB'0{i@>k6(񕵨RNdeSs[]>`#6k;Xΐ zжm$xΐca8C:ލsu{O',c잨$7{iR.6(pr.}Pww ‚ O6.z{XX{*x1[珔륷ӳ5#6#R6^|檃\Z1S*k>z` {~no7 m'| I$4s,`U6`׵RbWi0MysUNb'p'4kwW I$Mc]6`طNk s6SI$|_ vb' 9N[xzI$@$ӔJ. [pI$Z J. .cWv@IY [YԔջu0 hV\Z tsxWWU݆b5X5Ҝ:oefJʡ\B7wz n{8֬? Sx^rwrJB''Ĥrw۶J +ıčmk-X:`ӔMkzXɛw czqww7eӜmkqW/ePMkRR1{`Ĺ rs"mҶ'y3mkĹys.U 4{u)5Mc"ި&b".*X|x}˥DC4DC4,kZr|`XMkxM3 Nk Y#K:!j&`/w0A+-` SyƎk ͿI<,[+Ir Ҝ|rƾ@$Ɛߞǿ@r;s*“ ޲.r1sq*ԝ𒱝$ߎkz'8π4mm։Wm$յs>@n.>р'r7.IҒ$ ׵1| )U ԔK`/:#:s~k $Ap'{U_61yήs#Wyz|xj}1{7˝NMk.Ԕ`N.{bx 0Aub%$?T{.׀'LszpԀ&d'iR0(Ҁ(c]?{pћmm?{$rIBPȾ;IҶc ֽ,)mXα/>XX5{B.l&@^Wϔ`N/wXέ{ ~ޔ`N/ROZX]dC6sks #>*c<؎FnМ95̀ VΏʩ>>wօZppӆ1SoUU==ؕ RX/_@lݖls`v$_I$3stv~6`1s@$ {_8 ,c rI$@$rZ,R Rnk Qk/bzI$ c.5@$-[hl'I$@$rRZ 1ZvvBI$ 5 [+mU)2I$M[ Ib' -[^psr{ # /ZVvb񑔅1fq?'IJ^R`Js4D)`{ :ܸ*/qS/N{ B((bmjJﰡВ$Uk _UI. [mMc\^_6`ݖuk {usX㦣t'p'Mcߩɗ|iB(/vR ؉ضnc?{vb'v4kz6@U,c/m6X5unkz*5`6R_ж}'{ [޾5cv RW/>֣b$)|1\ k$q17/.>ӔiBZ띚 tB'sRWЌ:3?{JJ;_xmZ-/-PN0 ckm'4 WjRվ36 rBx\In$' sJB}޸}s 0)B%icT+k~b.|<{JZTNu@Ixuǀ& -{&!xxqr/e [)/g@ {9* jIҶ`QR^^׫9P5qiJꋩU5mcJ$PǶЊX/:R>+֫O?{1 *(kO?0|J` hϟTkmuI$Is %yyֽMk/VW8Mk4U X:us_ -c(h` vӜZyw.U1 c׵{w/U{:"qr4Tk.)r$ HZ`RqW7k c#617PUʹ{/e {{Ϲֲ/=%R"%R"7s?h˰ PSlkpZժ IQmkzt3 5{Wmw$#:IJZcT7xlkRVt:`/wR-%ũ0 P|*rrž#:Y0|x_}½$Iys_üww/ Lc- qWX|:))yα86$I$8r`6YP|Vj|X''XƑi[$`vb'ֵkW y$ƒ-Wж$޷̀$I$s"| swū q@@MRk iu08Y y)II0Ы$ْ>k^p`sqlk+PfֽLc\^˓PrvsZ:/Dn-RIv {s} ɀ$c'ֽlsIҶ hŌs :moP/6O?# U6ne덵P]p xAi5Т#:XW?Mڤ{ܼ)Sywt{xyk6b. l;.zק  W.W ~ 6`{-)Ȑ .-:j,6qX/>:IsptpS7x kp'JIn0ضm'{W$`6'B &`6R` UJ^I$ukA Iض {1/Ib6J.6I$r-c5xI$VM[I$sb{vb' ؓZ^I$@$Z| 6`5kJ5 Q|k%֭tk4@$I$ [>qR<ҔiR* ͐ ) cj5TZ`jwm'/')Bnv|T|;O ++/N cyRT 4{ -)UJꈮ &:-[m¤`'rR7*צ@r䒌1(Zm.JIږ$ s킦)'0|,c * P&4{' ӔMc{nfk>Ҿ[kX ;Ҕmcz??T{}X-mc\8OR# IIB_ir0Z5Ib4{ Xު ,c^ 3"1)x耟M${|1~q [uMOʝC`qJս'm0f)16AqkJW(qS1qRU6DsjJȭwr RkʇZ1T{bmkm&>A1``4R72Z-M.Ss!=Wƚ w cx |kJVzpwNc&`J6{1 Z:-[-Ծb:1 :.(`ī-֫O?Z ݰ+֪OZxWh'QjB n  : }.7 Nc-4ml${+{:Z5nkզ:ҔMc_흎# @QLcO߬ m0ZxXqu7Ӝ c{qr/pk22=űD7Ƒ ŵItsz^^ŵk$' k yw. Ӝ|qND Q{ӭC y|=ڟĥB*BxΌkw_ԳS4E_3{(¹3i{p߰c ׽{_ :#ZU:~ENsgJl#:"pSqsc1+x Rk=Ǹ:\TVrR؀ 㐘yƲ%ĺ Ҍ `N.t%7P&|`$Ӕז@$@b^ }> P| cvb':qTm$0^_@$y0|:"n8l*(TγZ ʀ8 غr ֎sj_8|)ſmZ>X{hUĽ6$KcrZſu{Bzny/hJ ŜrpR◸>В?A> m?ls*_Uʿк}KkktS{ %)r籔&c_Ò6XƱu79Nc3 0^p'p'oIʈ1S12{:֝Non, >sCxzXMֵ{_ m>xФSÀ-Ҳ1{/5ua::Z{X^Ze1WսIs Ǟ /z%@+c͈nm$ֽ/Iynvֵ1ڠ`/SZ6`YZ_I$ U cI$-cjo69~~ Nc B)J s Uvk^I$ SUI$RR 9k;]YƍkW  c^ /8Ӝ,c{z1u cںfX/:9hY/r9^`U(8TTTV +c>p࢚!uֽ{ rR"ò#9R֮ # @):N1|)Bۺ࡚1s1WnR m:Mc z6'RpSqiJU11R s1yƭsoz``63k$ [- ۸mZx(Ics~ iZ[?4lkr_0A{ Q&al;ulkۦX$mk} yNbۭ 1_*⦠Ib&ҜZ=@N-sWORl m1ޢ$i69pySPZ_VθV3 [j1n1tLk5ʕ-32ms/o :fR_zxm Rwob1  %8@rnOR|xHPN.B/+ՈM&s ܯI% [Wܶ i$Ӕs]+ٳd?s^˜Шc]?kJz($R* ꦕ6nl5-k*(b5kרc36k[N 5k%꾂Ĵ 1|/ɯӶ&k ɤ~ @s7Xş# iXsmI~c 4mk|s{1%6Lkc%qS)R.r /Ҷ@pWʹIBZ836c#s"ќ ݔ2+5 #?yƎk(ƥR^s\ҪJ}>X/}x$I$ܶs[⺵IvQUxc s5~b9R$yxčsAhEN/Pb5?<čm'Zݸ@nn4R }M%kţM%8Lc ͷI喻s0IݔXq~ǒ@M޲lP`"+ivT ޲^|i[&@s"?UxMY0tpw Kֻ"$I2V>v6l$UROm%=%-Ƙ,ޓ(޾ɔ 唒{W\ƽ-%+c((m3hR^lPJؼyolsU%I$s v2~R$ W{ Onֽ/u1UR u.ogr®5$X{h$@$ ~${~":냠jn{${CJ {ԽJk_X`?oWUU-6Js@>{ zۖ7 %#1玜e#:9wh{zW7qS{˃%%곞p Nֽq5,&Pn&֑&$[m?Ppvv8ƩRr1jJBˊ` [׵J-I$4R\|6` $QE!*먘|RWwU6`Ǐs9++߿`'skJڠy i'{ [#?s!(*ضd'nc! m'-c ((@nvk{5%@n- [c*  m[k?tiJxIj;iJ*^ i:QZ/\=:q#!j9-O?s1йCMk^\}&SP$! |M&vSZ_k#61V{u mqis\z͏{n k]]m#$vs @N%kzpMc 6UMc_* 6>MkkTCl mkZ⭻{. s ﰡiR$qR;: 8Lc >Vm$K`lcXV| RKc=h[?s^U$Lk*/իPmsXأЦ??PA֣mnOhR'$m#[?R,m,&Bb RPR8 nm:S{XiH?{߼H?΃c闤m6${bW1Wq cZѶ 7{ϝ=6szd#M;yLk5i:3?ҜZ\7I$s96<>-$lk9:؝\rMk/VPr$P!՜%mnQC)>mn1d1 ިSmm$1R躗Jm${)ދKmm1/%+ ZM-Z֥w | MXU\ֶI$|p^^ş 唛|Ѷ0Xƒ ,@ߺ֮k 68|x:s₮R`$+c셖›/+c)ٸIޱkڶ$i?\籔ס#k?}Z˒md$sΑM-Ӕ$VЙ0I$rmݦȉyPu Vđn'Kk}XIB@:׳v lk :׵s9bX/:4s|0hzys]'y'N/ֵ{}zUk?d9^zࠉSrnqC)}>^mm$4d1ޤa@Nn{'J=+·rM-ߕ c*UI-ܺlk UɘM-Us8+)-ʨI%QUʭm$QzUql$|WũM%| ʶI唗׵Qཟʿ$i>UǷmc'9sxzȹI%۷|/)!ʿ ܖ8Ǝk)ٶlyq~Wu _@}}ȎM 0ƨRZ@$@$ksc^q13+k+-*̹r OgIB$DrMqIL@;4~;]Th>@66Ts}Ը IY?72U Թ I䖻W%Jzƀ$$1)cjئm#$R(ʤII'̓|Uz̹vֽkW8k{. C`rO *1`ќ7<Ȁ<2o``d5X:މ{zbp@6wNj8g wi{늷0IXΐ Ih?1 \ 䔛9+c n1jhPr&0':m-ӜHJXIҶ-) sI$mke) I?se1*j m$nk*J6 I#$QR .{IҶ$ RR  i#$QNk%IҶ$ Q)JzbI$ms9\m,s(J( $k?{GJ-%m#[?sZi(뙀&:OR}/.UЪc_?/&B{ p-C?*cBpN$Z |e^lR7wPD) }g.r)R {%7Tkm{`m%'Ӝk- ߶@U,c W*]іszX:s 망X :uk\ouU`˷٤,c끁q,cիr 4P*UǴI(@T{*]:,cb`&8 [* ︠>pWUئ#'Lkꪫ ќlk )*(X?Kk뿷/{:B*fmc'd)/WZ$/1`zuՍX@Nns1??UjM¶# ҜR88UR mc?C1(^Rmm$tAAml'ќ)^IM%Zzc-uIXb^ i#?!)>Z]0Z^]$I$3 cսhRרɗ$I$sHJvװc۶m{ߺMI`UAU_#m#i`T ջ(ж${9$I$Lk 6jK;p$sb**CIM`0)+'O$lk`z I$)5I$s( `$I c W ik۶-Isۢ $Ib/C!"1RW]^HIKYPm s1վl.9s9}U ߑ6HvkۘIBv{V_ތIIނt H)W( P@AվDIR$ ItR`?Ib$ @2 U 6IR# @!ߊ1Ib$ I1Uz*IR# @ Zk$Il Is_n'}-9 ,k "w=}%)D9myPm A]szZI 4I_z`n єJ/*{`'m ҔGJuUwY$H&B]_oY߶Hp! pWfMP)z^|Zm pGR ז`m?@ֽ8`vRlI9_a=qI U/^ж'hRU_ЖtB{W@?ս%R u_B0$S"1_2D$3a_ׇ2@$p1U4?Aq@$ kAk@ Quf"̃I~ NTb)sAzQO`I{0:m_"`s(,o:qrNAlIV?o)__7T~.(/8Y7IXIUU i>pr2(/hV_nfZUuoW#']A-/(?c%9ƥZ_{.# H3RorO?l @A[ڂ\ɝ i/#) .oGn߶+ sBUR`%ww [(WunVМx]t?{/*V'O WA4$. u&D${ ]6'N __ZĶ$c)U LIm`"!/+WfВ$lk5%]f@$sU` @*[UWx rGB`}GPr1 աMFҶ'|)zs.K;c)B!^9'-17V> Iۖ$mkj×:}- q7u: @q1_89qwuq15{r$P^ߝ@$W!UUIBյ!}Uׅ F?p \$GJ!YiV`$R(WUgP$UU^Ķ$Kk}UnВ$UusIm`p ]UMm`"!*UUzIBd2U_p$3_9)9IۉR#Ж cU^&ж'J'9U1r$GJ/*58֭?,cxz}$D)c}7V$#) )'ذm$!ppppؚ$I$ UUp$I$%)U U0/UF1UW9U9W iI$I,c%(J 18Wkb/U,c]]9Dn+cKcVfs"! ^ULcC)\W s I$I#)~ I$I'9]] UZeu]I$IhJ[" I$IbLkTm۶1 c =_"m6&Z7m$ c 6BIw ֽ9 R ۖ$O"!hj In9 )Ir$ ҜR*Ib$ TLk}UkIb$^$0d)=(P]r${uzIB@u|szx݀qd٦PZ֨֙V]R*UrDUk߽0l${ɍ#s+@<瑔Wպ2HWb*/bC@{ڸܡ3Hmk pΕO# IT1CֽsjvO¶lkywߖXmk ]Ņߒލs=ƏIҶs |IҶ@֑]UIҶ Hkc(_곌IҶ|IB0uoIҶ& sz܆I6 YPUߒ$ cIRwwI¶@lsތChO`pOhJu l$A^*cWGOR# 8bW=Ib$ t9(8IbIU R?cjUU 3O$|>jUUVɝƥbꀾ!. 8eRz@IbXA&@B_ y~Rc IV In9 1uI% 0 Ib$ @BuzO' cD)} I$I'(JhJ_]iRU{c9 *֪B^W m۶19ZbHI$I"Bgy= c* ]OhR%I (J!+׉=ɟw;Lk!-? Iۖ$R9WU :I? Rd1_'cl @R1}_O?JJ I$IM%!^\\ m۶ %!zz m۶ F) I$II1_W_ I$IR9}/I$m (BU NI +c_(tIm+|Uտp- MkxIm {uU* n r!}UW&I$}ZUWx &I$IHJа>*I +k;Iv s?I'h c!x<I$ )^^= ${ w:m HHJy/b$ ֽR]) ${HJڂ`V4I+ s(_Iv {"!WM4/d1w 5IҶսZUpHIҶpZDI# I*k/6Jrյ*c׽_j]r4 )c~ք[n4 յo{sդ/XZ՝OBs(kҚIޖR6ߣ[r$-c7-qYN$19ꀈS&Nkwy̡RzȠS:wQZ +qr$ӜMcW)YnjJq׵|5#*|諣 J~Prm$51 "3@׵T ~BkUIҶU{}O¶k髂Iޒ׵s*϶iڿoc 珔hjzn}2?:,}+ ywS/O&) @vz IR c~i&i9Ӕvz.hc.II8>eֹ/@@8ӌ_߾ k^ͩ~2 Iunk:_ϫߒ$|}׫OҶ&sWr#ݖ& sqgN Qׯ )II$85_rZZ/:~rѪO?Q {tZ/rVb i#6׵1 ӸШ_?UMcvȸ@m$sm#rusȟm$v0|׀YHRBzUW i1 pORc LcW l=I$,cٕ m۶M [i6II [xef 1S1k#!7=5f 4R$$JB.ɝr zMc]ճ]r4k*(׬3hpM*˗~# ILcrє6 [ ўC SpܒIҖ$ !]n4 t Im5cX\r~:PN)8R^p tO's>/ܯ(/&J'%.m۶s x^X 6Rܘ In ruU I~%7 _.I_.Ib# Hy9UU,Ib5#W+0$U Q߶&:ߵTOc ,cU^x9Rl |76Ib%9I8ƫJUU/Ib# HG!(&Ib$' f!W,I&)u IR Hug1UרIb# Hco& U (<$ a]rҔ [z㒹M08sIֵTIh91 WS i8ZX_Z&~# mc>'Ib$ RuX*+Ib$ mk-}_/o$'kU AIn%7 W=*[I&A[ߒz9կcB@9ƊRUMO# iJJu?Ib$ Imk?Ib&ZU}HIҶӔJ]/[$0|jJ꒹[r$3sU=s_$s|IBV{]]~2@SJkޤO H*cפk3#:+*wr6 lk^o . iJz+Ӓ&< [kOB@Q|B`o ۹[r$ {R7 `[r${R^Dm$sjJ/b\R _xG1,cn0 c>pn4svg#Iض vMc^d36YJ^W|# mk)mQ! .Ғ&ynczNmkz@m$05Bnc*+3iq߭3 T,[bzk#bӔJדM%j:*C 5sj# iTkϼO^# H4Mcx{. Ҝ,c%1N kW`{B8(lI$v [`)R5Ruuիb 3 i4:%O\# IZ.WpWwi۷J mm?{ ϒ@ruc sk͐*`A:1 X;1q7uwXD!I'Rmmok*_I%ֵR7*ݐe;ricIҒ4|Fk>Ԣ&k>((OҶUsg]):׹r unc߹yN {5 8l$xxʥId lQr7۸`6Q :YƮc^ :|]5/?;׵|zRi$Ӕ{Eҹ3׵su]{ʹS# hJôkl 5mcƻ`Nn׭smƺX閖sؽ@Q¯Ua3iƦ)X*3 i}€b~B?ѮsWI}lk\zyw1$!75-qin4Q I iYmcտR k] ҹr ӌ?@rm$畭-Bt'ݒ$}Ҕ#㦶R&x׹r$ ލc` P|#/!!۾ֵuln\~8  }u_>:1~V:Iɗ/.* }w Zח ]m@s{XԉKN$ mcj1U 09ƊJ'$mIrYίsУYnk^UO# i{JJ x1R$Iqg!߾b"6&M5ZX;U :WѝKN$ R {1 Nc @׵JhvsR:*סV4IYZ}ǫq93QZ`Vwݒ09^&{f) ߶:qr| [`+c$+[ Ԣ# iӔ:\֮ö&|1r_r [@m$ukU@m$J MNuiB*q7/))@8Ӕ][>s`㢣$ 4k*.¬{^O¶H cUX赹[n-c.@m$U [X ӹ[N$UJ+qI { [ѹyVӔMcIB&-[-̣ЬUs {˸bX:Ӕsɾ*Ц',[邀rok}iֵsYc`YP** Ӕ@+#Z8!xz. M:v'BH61ަ1 љTI<|ڪ yp^Ԏ)R؀ ׭k՛`#6Z5q|.yn)): #6]維ҹ[r4 4ϒ&u`kIҶ$ ֮k)/)۶mβ\J0d'4R6ֲw 7.-<#%::<B|\?Xɗp>>` wyhJإ&m%-cXUƹWpQRp `N9{%Օ5qvnk{>Ӷ$7 RMc OҒ-cuU+BJ^}B@k1 `~# IMc^m$' -c1eN {9 Sr4rROmrjJx϶1RU_Ir${J+ ɍ3IJB~"m5RMJ=0s lT1ꀨITLcUkBlӔR80-$muZ_ mUR*$m:Mc_xTI-r [@pUs/Um'I$nk(z$I$Uk7#,k^Il-GlkxxqkrFs꬯mҔmkV?)B_׾6m$qJ7'*qKnH5s `x!@Mc׀ kwwI$GB≵vbEJl7Z+//IҶm lxRI$c>'GnNc/ /(p'p'YMc\\>@$@$IJIJ^ qRii~ӜiJU   cUжo'{IBxݖs :bb1Rc)@$I${RR |R*siI$RR @$I$JZ u{@$8 [UU`6`36R%`6`6QR볶 r [ *o-G5{*OIB&nk5 IN5s'IB@k8 Z 1'1I$@ҔiJjI$@$jR 02sPb/s^ޢ#::ZtB$IPR_٭C61J.C [ꉅ/߶sPqr4 T5ad͒@|ւ//~׵kɊ] c_6{?砃؊k?_}cshkby^ѳMcz8֣9Q [(k:cԔnc}ȷX#::vnc-m` :4kzxR,[/- Promk~F.;mk''X18Q滱BbXy^C|>ߪ ,c51S1R%  r֎k׀&e$)\X0[g# չ?(1w1{7 ֛qs 1JJշ+c&-cU4R-mI$k+  [pR&`!Us"׵qkp z#kUX,[J,Kn1:׵%m1Nk MsZv 1jJxIb' nk9.s9 sJB ..@$I$RV sR* s R7bhI$ u [. dO iB΀ }'{QHBl  ӔiJP9XӔIBR{J_`R1sRUnkI6`{릥X{ mZILLc ߫Vnuk׵I$Lcz(Is@$@$ cZ^_{8 | Tk.kI$ tlk//):{}I$@$֧R?@$@$}Z]֨4IBX{ I$nk i\ vb'|J0"V؈#9Us U}elX's u6`mkn6`4mku~IJ^.-cUc9`6QF!xrvnc: (1R//$RR((@-R.c/(l['9Q}b_m#Y',[ޞI,c m'sc󀴑$$0R[ؠ#'Mk 똃9bO0Mc^(N$ kUzbR Z9;M$@Mc<$ Q\؈؊6׵R z@mJ{-Pn.U [ nv1%@m$QU\׋iYr4 ,cTN4 ֵsJTN ck(>IIPR 8<S c7c;6Q}U'IҒ&Y c~|qInuɋӲ&A׵q3ɍWZ;5y{ Ӣ)wNPYMch%' RI:qRd kJ WqgN@ vNcXn6l{1~qN1&!VR_@$@$vnk+}`؈jB?{I6`ӔZ(mۀ8s}c'-[z뀴d?Jz&#?UZ*c]?UsШl'1x}ɑm$mk/.5/@6TsoCRiLcY&3 QR*̺3" ӔsUW޸bӔk:us+׮Rv{ղĉ&{PMkԗѕ{ _WbX8RxzN2{*ZMk|P1` Yθpn&ɍ׵Rҽ@$m.΍c/z&qW(:r٦ Uk 8R*&))yrユ | Њcа搦:y4# 4ܐc]?߲.(ڮ iY?ި,捀 ?6.bp#:k"Heɛ{us9˾Z1wNPTZqq$Rx1R$ {jB5 uR 5%# >ZzX\` /Rnk `!mk qLc xLcV/5^@$|,czX` ؀ ؎sjJ^/1 :/ WI$ 1JI$@$sR.vb' s1z ذ;nk9.m=:NkjJjm${@rR PsӜkZ` ӜZs.U{ߪc3l,cz$;54Mc_**`>5k]^T0 mkp‰yR/u+c!`Ҝ [:7+c .^XLcX^~I$ ,c s {U I$lk@$I$4mkp [5{,c(._l['QZ. vryr s t{ ū{8탗IX7?1Xۘ䓔JBwYƯkXzc I:mc}،;{R(w@$|HB/ժ@mlc @ݐQuޯsZXs5x[?uR~~mX'{:m$s)Bz m'qR/IҖ6 {Z*(\md?Z6$Lcb}@?ӔRWml?4iRmm$4LkmmE1z0I唻e)*4s5PwYP*?U mҼ:Ukk&#K;u{-ސc]?usz $Ӕk)pIҶ# IukxIm$U9IҒ&5-c՚㐴$ cjyh6MkެC Mk^j`Il$ ZU`@ qJbw(B/_ wYƇ1*-'y{^] IV?ήs ?W 50BCv|~Y!)wNd]KRORc mk1< )e0{*J~))rR/?+h86| :x@n$-c9H\l3# i{JJrjJI1|Rc)؈[&QRr$$R/7&:nkBZ>QJB ݐ6l?׵ncU֐d]?ԜZUkΐl]?sR^P̀m-cWIB0Mc.5%Vm-uZIm$uJઽ`FnT|\b sxzŲX8|U}_#::sKuIvllk)qw)e kwwZ11zQ} 5UX5]s~VWK%v; cwXU>pSY&!-ƧS̄z}RŸ栍):^Ѿqw)e ׵Mc  ϱv' k:p`֓c}R_v vb' /6n+Шb=:-߶c]?8,c75Ϛc_?\#!bbD)Mm4Z魵IҶ# 9*0I$ۑ cm${hJ Xߐdm?s &֐d]?ߢm$䶵hJս8mkU/60'd)(*(Pnn0,k(@n.ۑ,cVmm'{ZXI-,c7$iTsrNШ՚?:+cc_{`̀O?R* ɒ@rq1'^zm.ulkpum$?q)0mm$ZM-rZdN u{}o. {U*IB&9nkU`Ib[ HvjJ~>k0IZ;s1,!!*d'09 :6Ҝ,c+VЪգO?(BjC-eS7uy΢ )/`6J$yrz@3 .[^ڠIۈ.[m??|J>ިиd|jBkz(l'-c Pnvێs)B"@NvQJ=> m$?JW.m$$Rk564׀#m?Rc]}6l'rNcǐ4m$k%_ٿl?{#Ѽ6$ Jzʻ@nmMkտ@N-sR>.{Wmk^p$رmҔsIҶ%I,c/Ъc?sƴX,[_#bmk :IvIҔs>޷i[&4s> 1sb^CX/6McBBu6 'r"'IJ[צSyw%5˥TiIsZȻ}W5keqr YԔ[]9|1s7Wr[pWwzQP N]0  T5]4Ъb:|@h(֫_?ܼЪc_;lk0N/b:c1+EX`/:1*Y7{ɛpgRzW(-`rwֽ%Bb_Ujx w0b)"*/@ R01| %ir f)ks0  [׾q P{U_!6iqR*x LcW: I$R' I:,c^>1McBj['nk1zFm [1Wߺ$nc1H?sR &:QJBpppހl$1jB mи$?qJ ٛ@r-0|J`. 9  3|\> HX?szxm$$nk΀#?Lk\!#?4swOԯ&'Jں븥wk)Iݔ'v1(,I?Yγkoo$m[? cXmm${B*/zI%QR{M%0iJ֪kM%0R 0I1-c 琶$?uR'*吤mk$NkxM픻4s 0IxҔ/} I:+c0(m[?]b\Ð#[?wJk੹螐c]?ֵ-cuz`ȃml' c!aۄ@Nn0f) I%uZrIҶ$ IPLkp`IҶ$ R߿ m$ZW~IBqR<9fZ01jثX^>mk95MB&lk9 ̗mm$/RW%֝M-{9x޸IҜGJ/$:3hJ׮ ؚ$m#[?s-ҍml$U{ʎՎmm$Zzbчml$hJUŁm$! Umm$9zuɇmm$Ҕ Ȅm$'J}@rm$P!~M.3B'y$R{\3*ihJW(OkT90 1 cUƯcK?pRSǙmmPZyإ S c- Us7(ܓI$-c?ޯ $`_@֎kx^IҶ @׵&* I?4Z,'~i[?R/\wmmrhJmڑIYMcu=ڣ I$v : ݛ m'5-[`IҶ$)IsՕӣm$VscVͪFmrs ³4m}?ԔR 4'-cDvR-cݼV) c _Zʾ/pW RqN {  PW*й-6sì0nl$ҔR6*xð8mXq A(s_R mk_(дMʦY{ 5y:z'b/:9{(/{'iJ~ 11W!=?7'ǁPrkr˦Hf?8ru\蜓M-]|U ߲j-IږX|Jӓ 君8߲׷@6:<Ӕ"[?]粌 B/tШc]d1hhw8$Kc-jкco?hJוs4:3s8X:C?U]"[aۘx[pwW{h3rwOhJXpmPN.{(B rmk5?IX?{|X 唼Uk'm6misu $IsLc[ާ@&:sUri'sRp׀m#k? c&!xIҶ$)sJB-+] I$$RZ*UIҶ$ r-[ $m#'QJBX졀$k?-c_Xl m#[?1 `dmm$BUNmm'd) ?mm$]Bmmє"Smm$P9Zmm$R [ UHm$HJW.m$tHJWU!mmҜ9];@nnZ *aDm$4{Amm$IJWU@4$ c1{:mmmk1x D@nn|jJ וnmn c/Wq@nm$|: (7sMmr1*I%]{'ߟm$$Mk{|mm$8B~I%Tlk } i$?ss,Ꮐc?'kpfc]?zp56'Ҕ} 4$Qx-!Pr cD!3Pnnߒ9/amn$0ZxpռcmmqIJqI%bj+Ρ0IwsW~߽Z~3/ZzU6\{?,c(Ed'\|uV04${ ((\0Prv9\M.Xlk} fd?hJz58֬'1xxzy"Ķ$Bio$P,c }Ul6Ж'JWplEЖ9U -nC@?1Wp.@?E)U_k$@$C) g@$1^^/ r$Z W3Pr䱔-_T0I-ߵ)ymm$GB*(Wj$d':?'(p.@r${ *_,PN.׽$!+ /Y0m$?8ƪRDmm$)u8mm$<mn$tC!Bm$7ƩRUl?3Jz4$ќ)\$ob*"$۰m{!)#z/ɝ{1Xޮ!Pw U?$1W.Ж$!*UD' WU $P"!c`$Z ]UP${+z@$sUUW{@$|U@r| U)mnߔGB^ UOMnu"! c0Iߙ1gum$$}|WUsM%䕭s} 0 ܔPu*ǖ If?X/zԑI$$ҔU Ԃ i#$`o$#?7Ʊ_yicYl$ҔsXzVM-4 [+o0I$YΑ5xIҶ$ y0|4zIҶ$ \|':չZШcm?yα`wX/:C?0C_M۲=IJkbk{Q1ɟ$1 uUuPr$! UUD$Ӝ(_UЖ$(Pr$WUmv)U7mmD)( _Kmm$8 {!$8_}D}0Dnߎs(rmDmm?e)j j8d?HB \!=o?7{},/ phbN$p$Ws\k{baќR ojIp$phJppcrLk(PNniR Qmm$ӜHJ _Pmm$Q9_YM-1)B (*~0I$ӜA_l$e1pz׆md$Pd)ߪnd'P1bb_4$mkިMmm$mkJ-1ml'Lc9 Xm?lk_ 4$s!Un${9/-Dж$TsU@$|GBb+i;I`+cB!VX-M"m`+c5`b3I"I`ۉRD!}2I"I`iJ~U,I*I`J)*_!'I$iJF)xU b۶mB}U`$lbaA '$I$': V.pɟ$ [` *V$Zc,m#i`۪R5 M`$s:!)`@nv{:;\4'lk)p cЖ$9W*s@$c)@nќgB @$p9זPrսZm7't{X߄4$%B6/.o6'RWU@K$.#)^+$I$Kk I$GJz:p$Z!w DIm`mk+_UQЖ$'BUxrlk *_PN.ֽ#! /ci{.Ih?Rќ!~ :??7!6'h&JU0ɭM{)}\pmMkC) * Y2hN0!^ n)n; 0lOb$ @s9Uf"-' Mk <. {9_*LIb$ @0a@Sd i,kd)^
e-S?ks9UU ;O?׽9UU>D)4U`O9U.p{{1U} Spk(B{/U3Ir9.V/?O1k1kA p~b?d @0**UOw~Z= f?ڮs*:) '.pI$ ҜC!}W+Q1Z$@mk]v+(U_Om HO ߂*TIm b%)sIn9 FJ I~-7jkW^(WBKIbsRU0OR# @3BU׾R# @p9UިIl iksB)ժN I{9*'t>{c1^b$Ir̓9w$IrW1U +d61p!)_Aww;{ U*;{wnKpI?ms e\Uж䒔WX `ɟ,kU.p۶()UU;F?)Ul D_? W_W\$Z4_N$ [!U׵@T$ZUE`$,c ժUж$mk._WIm`06}^UY@XuWWZ})5CMiJ0)DObm; [9[2EI'hHBwh, iJU~ m۶iJը  a۶$B(>$I"Lk b۶rZau( !lb۶ {y`#ii۶ R!g۶-Lk v&b君 k7r{suu ? ԶֵC!UF'?CֵuD?ֵ+<W(I$/#!u#m۰>m46ҜGBGI-Lc#!PG w߶ Lkd)UM$sB!^H$ѨR_{K`$1UZ^ж$1^T`Imd@lcW~_жLk׭ZV? [ WDD?MkW^8VO$hJz_$'I9[X$d$m Kk/)O$O"/x^UFI$ 0- O $|A Ӕ!uɪ4I$ILk# 0 $,cd!^z)I$mnkE!UWm۶$IB^^!I$- jR^}* $J{y&I'R)% I'?mkC)W^^ I$IZ` !I$ c_ 9I={ }: $R"!`}L &KkgݪWI$-kk=;UIm {:z Q $RU*L $sb!^cI䷻ a! h In tEB }eI$ iєR4U\I$+ sXUiIm+Kk'W,fbd @s}UX ` Զ3"!*?FIm @oR(B9I$kk9x *m۶ sWI$I'Q$!] cUy$I$GBWo@1I$Bx%KMmdHB- NI&@ZWYIҶx{)WIҶx\HIҶ@s_JI޶MkXݒ$9Ɔ)|]rYmkW(~YE!ߠ wIҶqYNuRϣC4ƮsW-Ո3\Z]~ d)߀%U)~B?Ӝ9 # Mk;U Ib%)8{`ZIn$JW^v%}-9 Nc1ગrIXMc.֞#@@R_+ᳬXέsU_߂3&tKk%+2Z Wks7\~B*s["UI-9c9blI~%' tIy/ U͇Q_A@38hR+%JZ߶J_ 6r$YZU.ZIBb]UI@}b}.3 i,k_j OR# iTswFI?hR  s I$I,krZm۶ Mkm)IM ,c.\;aɟw U#%7 51_;In&u_ SI׽HBվ`C8R];¶1U^2I1+Ib8Ɔ1)IҶy9_"IҶ\(JUU'Iby#Ib)WIR# @u娠Ib$Pa+Ib$81UU*7In&*Y$XC!u XBXd)LIҶ)w/OIҶd)U/@O¶׽ՠ(Gr$ <'B /xIB [ywIҶ& mcWIҲ$ZU+83 1@m~BjҔ^1Il /Wi Iwgu!U+(&9%U4I׵!U @u!_Il smPIm ZE!?^r. 7E! J :/hIޖ4 JU8*IBYQ|} mOByƊBW ^IҶHy΢YI@EU?OҶ)B_ BIhJ}8m%)(;% -[{U(C `Z)__{]O't>,ca{i;s }/uƅ1'Q$֪R}7 nIҶRUvIޒ@s.@m$P|WIB$ޑu//IBlc]IBXƌk*xM<*['ݤI"I.W{H|d!xxINIֵ#(ŅI {ݨ̋\{W /{OB3@׵R(hˬHQuO¶H4Mkj'龹YN TKc , M֭{ iKxk&Ҝ^slHֱv`͒Ss.& qkN$ް']I .ݿok{'Tk ?'u{hx}RuYqR"!@rm$QiJ63 ӔkB1.UN[Mc%}Z \ZK|"ۨVΥZ6Un < c vI {w`x1M:hRU6dc# ^ Iq0$)^ֽ*>I&yZMr$U(:ևr4 sR>8qYN$8R m׵,cw޹YN0I:46c36YƪJֲWII$ `/ /+y@mF9x/@ =;$/ uLcyV8Q|{+ iu/r{C /Zpbč%$ҔlkVwin Mc :3C&,cx``O^{jJ߰qY$ B?m'Nk-ڲ7Ɛs.M:5Zl:,,#1 ١dIr׽{n|ۻ}Rv1Zr$s1>)gN zMcUWuy9nk _U9Q-rR8\s^u*u{+ rt 0Zz I41%p{3{V l3itN-I|' M$yҜ-^Nyΐ? Xє^ [5X/W\h6h6jz O$Tkr}~ШZ36pRӶ6k~3IqJ׾4J%Rls˃b^ 5𤃈rT-|bpjrrZ퉢P:<璔ו?\mk.|6?s`jyƶ$lk /{m3 s76ꗆ1wT{8;LciX;ts s}P RKc )}nbbP1~wm߾IPRyU{Pc }e1b :b8#!ݵ"=6Һ1JXx(1N 7ƉJ5%˯ñ&5JJݰ4-c.UqiN Us7iM$R\~r$ R%WwIN4J")r$ItR\V`Iu9W/ivr( * Β26Ui-4bb_U󀄵'R^n|Bm!M[,%v8|P`IҶ$ kE`y|27rMӔ)y/$`McaWuPi$s :.@nm$PZwPm$!؃@m$s.b@u*Bݢ3:Z׵L[܃^# \sáM>>TآTySLcT@ߒ գX/:YƓzX-6UTPr$k'$. 0 %1t ͐@s˪Kk- h0yXeSӔsWզsyƳ5ߩ4IۚΖaЪZO;ֲpr^\ЬbM;q.>bֳUz/ˠ 9t{\\NNc MQ|M[qR 5k/} DZ:"-14\'XXs]_'['s,RwrRiPNrs @IxpU,S?ֲXWu`;?tB's^~Wҥpwy׵L[/M֭Q|UxVlÍ4R㩭ѫH1|x\3`uQ|ie _# i SVо3 iTs:Zȫb tmcշlmqIB1W7UҔ cڟ?пR)N42*JѦR10|+6Ӕ-[*UW#@vk8U}噢 Ax ,:b4d)[bHupC!]vB'tB֌sʄ SRV|̾1յ*c>* ͷrD |`k$7ҔPNrt/}{ҫ/" {Bk}OR۫pmkVy`RuZ@t{pl?MkU ?:qRa)֢=?Mk#2a+c--%R5XKs^\xh>IyҜZ /5ʚNZ\~yS` {jJ )W@s d 9)BꈮP'r-cmnv1R/I׵B*@>R)rT ӔL[XXІ'Mc(.r-3| `R/Mc{`n/lc::Вm$70_X@m$/6Wnmxα/ $O^p'p'(JIIҜsy1Smk}!!mk/;ly,[W^cms_+*p5X5ު{soRXgRwpN)rR" =l_;Q]~ 0Is@yx)WP R:?xvp Mk^y)wҔ-c /R/r{]Δ4=6syIҶ&hBz*cm?PuZuniTsvI|.g ޭs_'hd?6Z5ֽD)B{j],XT`w"{we0:bv1wNP0]ucݖRqYN u,c՗qMQ [*s |JH~ ز)B( ؀8ӜR@$@${'BxIĶaPR.x!1 c]$`6u [8kض$mcWX6[Bzp|'d l0(B~qw- 9!&@R ֯s]_X0|):66zp,[(:T(jj`$Rz$qJ ؀Rc^4'Bby@$0|jJ+$?`6&(/rs>v7 ֭mcs**M>>@xR1Sy/| %i':v1@B8֬'v-[̴8l?Uq.We4'k -èrӌsxϰPN.vˉI喻Ri/(`ۘvk>?a׵QذbʦRw0|غ?mnZސ8'8Ʊ药ؐc]?RZЬc_?q }ϷXv0|ŮNζ#' uR|}{ϵqr4 Us ϴ# Ț0|\~DX5X5s\X* ?mk1:8J pwg!\\\G)S41 .k"6`6s& hxήs|2" IT,[Ъ5c&use'qr/4k8^M¶ HslӔkPXْu [m%$4 [^` H5k]3 hk[Ѷ~# if)`ӷk% ӜR"}ƹr 4kn큝Шc6J*.qr4 [W_XC nkg668 ͒9U6]5X5e)jI.pqJcU'B)Jյ 㨀 Ȁ 7d)X^yW1֩R-qR{m6l7Ƒݴ# /`ش# x|p`$-`:mk)͛@dk; c4ml?k*mm$3Zm${Ш]?Lck(ӹi6s=/'OPX/:Zbx؞OW9qR% /נ)N` {R>p1 1R/mH{}m:1 [V`'M$ԜMc 횼ɛqZn1Rx@$IRP%QJ`} I1R}ɟm RUɛӔ [*ioֵsKm'v${kz$I$ c -vb*- յ cp*vb'M0p`r$mk/%/qWmk7!$@Mk.{&ֵBp >2{dX59ΊsBxxvP~?ҜJ|`Th׽ssX3?ҔZ+ۇ TRxy3Z mkx}vO9ӜZ*/vh4slW}l2 m3s )} :7/zh&֫O?k66zw`4$siw`@RvT{zpdҜZ涣T11SR+ …jֵqij??k6ⷰc_;d/hӔkV:bs\Wচ:mc {vӔkՕ?Pn.|-W^ijPrwvszżMޔNs_4lcxL2i|_I2ITp~xW-Аd:pb:ֵ|ɾ8 SW1kqYn6a3ҭ 1k3X5#:p1r&?{q9>-7-u!WZp?1S)IJ--)wNT յ{C hs.~c RI۶,񒌎kр=6N[jhmmkJߢ֜`R)R4s˯֭݉6iQR+27Ʈkk `׵k뉃l Us[#bv)ࢾιܰ R헾1+i׵R PwUIJ$IS׽R^FbRW1yOX59PjA&L\{S)B)T+c--AAЎk:x`1Z 1qSwwus`pDIQ3C`?67Ɛ/^Јb:Tsx+֫?siYr4 3{u`(֬o?T{bƽ@m?TiJ)ƹmm?Mk+\Ŷ'4spc ?6T{kL>>4A^P110Zڱ)SsR bݞ NQZ _Hݘ-c  UnkWoM#5k]#6Us풜$4s~_IbӜ [[@nm$,c\m$$Ss^ IҶs'm$ c;8&Lk6VC HmkX_~~ HӜLkm lk_qwwso&{W'IҶ$ Ҕ c yw-R/01 {`6X|9b )jZ)5-RX5X9WfRpn4`x mPN{wW ڠMǒ c ))4s7>݊c# |VvcrJ+ ^zuoў|'ҔmkKKuPnotst:do;ֵp^{ue#:#3kk( f[O?/J eZ6{PR nHcR1wGJ ~ R,VZXkzIX`/:T'B_J[y{RN)R׵Z{_  SLkca c;Z}|~Јb-6URíЊբ>jJ{_ېD4jJR1ST(B.1RqRW$`!sc@$@$ [ZZ1خsF)` * $@!9Rp QB@$T [|j2/)&Z>':hn吶c]?(Bsso@rmiJ]/IBId)+DvpLcU6IC>qZzr1sPR~B&p)Bs&B,cBr0t?;sIR !Ür4-c:^I.4-cI%jJ6& O6RҜE7wV9 ѢPN/RRRȝ`N/wqR/-IݔRӜ,c`dB$@mk+ -IҶ$ ULc*תiR0{կn-UU Ib\UVIB Ҕ{勂It/|IBTO:"IBP(VIҶlTlczbI{+-l8ҔWUB lkmq+c>6`Kk, ~I$Ҝlk :]6`Qmk~׵I$ RlR1ȐhR+W#:5A& Z/>Wלќ1 ^tN ZuO=LHJqr/ J 4k;z{TN{-zt/:{%vpm=?tkʪ vmF'pZUqkmmlk5/n_# +cbp_In$'Rz`iw/eyKcu- zLɂ,Xƭss=>3'|9^ܟDyW1R Mk  ,chH c;u,cwX5:ޮs]QSߠ mZ\; i&P1^\rDLcWuШl$T9Iے$ lq),&*vB$ qRyaI$e)16a)B ?11׽)B~@$@$8RZ{-h6֭HB X#6b#!k PnRqs޶ ?ww tb_rɝ߶I hRZ__(Ts]UU*6 [>)wR&QҔRW PRWqiB +88M['.Nb`յc%   ߰_+**HX>WƧJܠE7W3k+))խ  ɫ PKx3bQݕ?ºb/1|}XR)4|UNNbTsT {""b l [X/S14k+*1S1k+)_ٱ X8TNsɴЊb=?30ܜ@mĕk/ϸI喻t| ϳШգ>4Mc޸è(Z7|^B$X5#:HBRP1VZr/*Lq/~onh^3a /-p IWư}Wm$ٓc.X ,8`51ܗ Ơ:#:us輘sVUTs C `X|{zM-/ܹyw4 4mkqkF0M^3  c_UCb 1 (Ŭ3:b5 cc%6 ` :uZ7̯PrnsܵPnwnk5Uݺd?ns5|q5XTsgw#gNLhtLcp})B!Bֵ{ ͑QT9߰Ϧ`n%;:+c i[& c0ΜPNnsuDn;McP/6:Tsù`:Sk퐼?{տrvsZ̷Ir tqBػШ[>U{ 6szU -sÂ)X>!܆(p1)''NtNLcUpݼSy{siJCٝ` 1 vn)s\޵6`mk^^6`4 c5/I$ {/@$@$ֽz@$ҜsXTkYq |WU%X%@$@$ֵ|ּ p'| ] i'Ts$3k6`6qsI$ S{/@$@$յ cվ6`6`'p,c/ 5$@$plk`V$ֽs%%%IIڦ;p+5%t5\js_5MsEJ_zϠa)wNpc) @t [c(o$ 8ƍku +~ X:X{]hʂs('Lc`%6yt>k]vq}?m;+cmwI$$xLc+zo&|rUyrIR HsUw|qv4 {c]x/rֽ [ _ ?:tRBb]4/'r2'mkGJԳ<11ӜHJ%%%Md uZx`Nq1+ "m6Q!Hx'}09u$ Zq[r4 T+c;6l$)=1I;Po@$ތk`C: XZkbz$I$01QiB$@&.%@$I$-[  Ύc~N)U0| uº" mr [88Ir$u [j86l6,cRqI0{/ nuc.*IMcWWx!`$@U [ 1*`|jBh:Q|1 IҶ@3k뵭 >)ΰ--X>1VVpSyw)*++7Ӑp Ts ,5ƒ{{X/:4{~T¶Њ?64|X׸=:4s ЦcMTkp`/Wk. ĶIr. T}c̵iw%5 k>_)PqzWt NyƱytuƣ#:5k.`` : [U [$+c(꼢'umk {c1ӔLc>#::P)Ԫ4Ja) F/YE`hh`=7W-5P \!rc'Lc (怨:8pc/3?tkŠ#bkzÉyw. p [8~p`N{,}$$st$Iwtmk.riR׽PaiU{Xu~ b ܫZ Z6Y,c]_ݾ`:%! runk-@mriJz.}7NkW5qc:TZ+''d@`+ cxX]pB'J֍s Q}\{ܽ5uZxxɳ0rl$lkHJշI4{-55ֶ I#$,cҲ&#?pBUĮШ$ܵ{>ռ5{ls^~j˺$N:kk۹=:3T{OEX>󣶒 [*X&,c& x Ў1WZm:>OBT pSy7c?z TsrX8ڼqR usWUzNsU*`wP]?0U׷  If'ֲUU I}u􀴑$'Im~\$m#?3k{pI-ܑJ'5IҔk4 Iۖ$ֵ5?󀶑$'TmZ1$";TkPm#[?є,c־I-ܲlkrM&cҜ{5-vX|ՠ1+cb 񀴑'Rޠ@n$$k_ m$Ҕs i:6PЌZ:6-*>KX#h'$bĈ-NwgRߡk0{?{:*k+֫O?KcWtm ILk^%{rwS7{s>5% xv|yj_yI^$ uR z{O׵s{OҶ 40V@my˶c5Ҕmk*psڇf0i:LcK@-_?Ӝc)HX+O'shJVh21//%NZ#yst XiJ6-HYΦ1]նX98D)ݗ)$$U1P&/R,sMm',c om$$Ҝ1)]m$4 [(XխTJ_W*X=P1U$AR-q1/ r׵R$֋J8m۶cm¼[5uc_}2Y2k&Jpz@rv2࿗Pn&QR^ vri: /z$Mccb I$11.>aH4ncWb>Q)(-:s!ҿy':/., (o ::t9V|\nyy/1--ˍ p t/z ϳ$>ֵP_Ʊ8u4s 7X6lTq^bXk:b񲔎kꨦ='t>Ӕs U{--s.7к)N|/[r$Hb`zX*0| +ڝ`N/k6%;mI唻pumfIܔ$i?s_iX?p]Bm#'{?zIҶ$) ֵ c>T:x{BPX'֊{IMjB, hK~ӽc^lhZC I$ ^n !)}yM.є1 ++uGm%KkVoL @h?tZ_u=ml$/B (zF wT*** v(h;<{_WViI?Lc רOI%䕵k} UZ&ۚ?sr5(֫'ҔC!jzpM$: 1 X${1\ظ7wiJ-5P N׽skB地md>Lk_}$1 _d? Ml{e1BI%ߒJ9=m$?rR,Iml1f)(0 wjJ^ mepZ7Ц#: [x M#瑌lkVJM唻ҔLk)-I(B'*/8|i$M xƍk_or,Ͷswb{ 6TR_ k@rls*xuPRq!/%@r$K6PJmm$Q) IX':iX?3iB^W絵(:*8Sn֌kՋ@66; &/c_?ޣ)pW~3?}$B)y7q1wq9/--d@IֵOս6R޾׵PN.ws]7_nuPՋbT|7{6鲠qqWvgӔmk,zͬ`N.406{yҺ ITQRPտqm$Uz?ymm$֭({I¶# H׵ u-co?tP ų`-֢O's&Ip3|^7l+ID6{+p=:tsjh(֫O?!ܪF  є9/{H$O$J$I$%Jj{GyI$IJ;;`noҜhJuL@nvqJbM%uk,֓IP}ھmm$sؾI-4lk/i$$Ҝ{wxB.ۻl?4+[*+rӰmd?tZܸ+٧mm$,c&ڛml$ӜMkוm$qR.xX˘m$QR(>8m(b$]F!+;we%'usU @X; U(lqZ 5 P14/=m?-r'P1X^z^y&JMc %Sƭm?ֽhR .׊?/ ~I Ж$ c#1xXgPnwMkA+ - ^&6ֵ$mkc1z(G$sc1}WxpwLk!*DPnw3#)+zZmv$TPmm?ub UUCmm$J-$8ֵ'XHZWWb$Iֱ g6b{mk)R bhu+ TI&rx]lmd'8McYl'sUܶKmm$s UFm$sV:@rm$Lc~xFm.RݷKm$?lk~_+ml'u1* W m$C)}ծ"0$d)(@$+c(z{U/D$ [ ^^U"IB'BU0Pr8 UG@nvC1 Dmm? W@0$x U@4$x!*U=4$9U5D$Y#!*~Ux#]?М(]E; $JtIn bsR{Ib$ 2BW(u Il s!z<~Z!w< $,c=D$Z1%./܍s9Uz Vrw%eIB)J./^8֬'+cUWX2I2I`TC!U9Kk!u7方sC) *3 3/Zg$M֑AZjW7ɝLkԨRwx *-UUv0Iݖ+crߟ iۘ$hJ/ׁ$m#?ҜR,zmd$RuWxxmmt ρm$ [}Usmm$^{@Nnƅ1 0IܖXΑx $mk?|W}kޏmd'R>I%ߕ{(}͓IҶ$) s w}mm$ֵ#) *z0I%f) IҶ$ S𩀤d$X'2XpM$ֵG: ,IWGB +*$ih?Z` i#?sZj md?B) *Ubmm$Wb)UP'$Bu0mm$C)8ֵ?C)xWV4+c!$ l+k9c-_`37I$Z!!/׵/^$ [C)^~ PNwܑ'B.5Mn䕭ZշKI%q}ɉ}YIҶ$ {}/K I#'uRܤPmd$ӔkbZPmm$,c㫭]Tmm$hB 5`mm$PU}Zmm$)d@nn3s(tm%p_.qm$'Lkkm$$Ҝs3c]?J8z!8ֵ$oFB`.Q='єRX x$O${:B SD*^XQ$`{UI$I$iJ}-ɟ$so@`$Zqrw [.&?`N/wҔ:-/e?3s{_xpm$?+c-?nmd?QRȲemm$Ӕlc{[l'Ҕlc:^;l?P,[xWU+0$s*z'@r$sC ׋3mnqRՙSM.Mk%ՠu0i%?{PПM#[?umkz_.l'{R¯/X&@rv ((кdo?f)W&L؃-{'LOnk-/oŒ=c?d-h zmSl ip@ MOm I{ U_Xn){1UUg In+p Wcbd @PC)]T{-Lk!=\Iۖ$c1zeE$= /(l??m ls *l&?l (Vu(w$Iv)#9 *{Ib$ @97oi c mTB^YOb$)q$!XZ m PGB_R!pd1USO$hRu8E ?/A~.TO })Ilk(W 'yRKk _/IbJk(]ݠ4  c( !'` #$I>{!1߿z $I$9 Yy +Ir%97ƩRU!Ib# S"!w#$i$$ ?A%)(W?c$ c1U7Ob$ AU7I$ {(_ 6I% N )}=Ir%'!GIn&)ku"WI޶kկ hr$Ϝ5 ޕBIko3@Vo]}.~ h1W OR?ѐ1W$|hR%x y$I$Z ~ɟ$ *)'ذm11Ul۶m91I}sBl>. յKk]U7 &+c}' hZw۠yIbl i{hJ=pZ Inl hLk:w{pcI'185q$ls%y_nԶ,c__)ж{*Wa8`k c!b6pM?#@{}^:NiRi%rDr __bMpp hXc!UDж3X_A`$\" uUՉ1F?UUn@?(JIUh{@$TUU @$R֙G @$+cU׈@r$@r$)u+D$"1UU6VORT`5'Io*uX3l-1[+]W(dm? HO:} !L$ յRU*+M c$ 9) FO?սkkx$ ؂NpfJI$IfJ\Zb* c۶mlkWuW b۶mB>U}]'Mbm9`U\(Iaۦ9U U^+$I$iJ\շ+IiJ+/W.dI{P2]rZ^WX>p]n(JW 8<"I"IB>8S&߶R]\жS?siW Ķ's1;L $3p=[?OҔd)zޟ-$Iє: s$IIpR܂m۶RP1zI$I c1ޫm۶ -Lk:8I #!_*_8 Ҝd)xja۶ ZW51Wys#!7''(}$r$|)z,mm$1* }? z_D$Ӝ#) RԶ|@JԶ|hJ~ <XshB-& [?Ӷ|J_z`㐼IM|1W_;wR':%Z.p뒑RXg<c98`Xкr9^u-)7 mMc*-U$I R _r''-WIIw fo|y6eUՎӱ8htσ׫v3@0UbiI–lsWm]r43s݂ߌIBҜ{\Wxöi/+c%뀸nO hRjʨpI$' {9 +wI&/b> ƃ_Kk87ٔIҒ4sv @m$7s_ y@ ^[~# Iue)j_ `r4 YƊR݅IR$|}=3H'J~`*-IR3 )It c(IR @p&J`Ib$ {d9p$Ib$'{A]+ %IҶ/9U..Ib$ IgR耋2S@3ks s~>2{z&IC9W誐qR b%/) DIS{zW R{ WI"I ŭsj-H7 c kOIEJ( _ūIM0 xO*ͭI2I OүIMWEJ`ٺ; bϹ ѹ _Wd cm?ƋsUʥ@n$kk UMvFR̀$ %֫{ ֋Z$1v+'B# VΪs_^hj ~BO1O?/A~ꪾ D6{")]>I$ b)^^}Iܷ kk r$ֵFJ bqWkk-5\ǯ?h6i7ƌs}Вm$Z |C& [lB8 cW M¶ c_)@ Ibc i8Ƃu~I-' { 36 ׽ZU ]ݖ cu _{}j b~ m׵xkߒ .qI޶&T'B Ԃ$Kc_+r@rm$xέkW O@1W~8Sc Z%*\C?FJz`m$I$ |B!^$I$*c_ې$I$ @$I$Z(U .IGJ gqg+c!*%=}. {J++X6 zIҶ!uIҶuokIҶ1U^ iIҶ#! Iö*cc  h1ޠ}ORc &BDI'P"!I$I'mkc)޺{*I$Is!.0m61{D)uwIw { I~64RU߭6I,cU{AIҶuZrNIҶTiRXIҶ&8ƪZ_}SIҶ'BU5֨ROR @_Ib$ (Bխ In$',c. +Iތk!Ib# @յlk^(IR# @9 Ib$tiJ~ "I~%7  cZC$y1׭FC@}|U_ b +cUW~XKI'|)Xz #k۶lkCժ ɝxmk:WW(HO$m1.(qIv; qiJ-I.)mc*׫'Ir% K[? ^'Ib$ tJ(բ&Ib$ ҔR *Ib$'XƭkWU4o&C*M߶W#[IR 8$8ӶXR]..IҶ2W 5IҶ!UDI HX&kErY1՜uq]6A}ޫ@k֟O¶ cuԞKn|Z ԭ3 pR.pᶜbJ *ת%J 4ќ{TBkkmGO*kpT1N tA ڰ k${k7w雱Kc/%ֽI s/rsKM t ]_m:sk@rl?ZX_Ȫ@nnx9 ѶPN.wΌsսm%lspsc:}{&J\cv1S;ceBUk}uGR/StO7 c /v{WNPZ)tI玔|+#XR{}xoOvYoZ? 'I~.7 3Z "J4 Z[n${*O ֑y~x|־OB ֽsV(7iӱɑ{e{w.Us"#{ʱiN ֮sޫױ/i$ II,c6.*(ǭ`8ݥ18]r$ގs׫1 {P/8$M$m~yyP'Ģ kw\^ԹOBk IQJZ=ֿv$R qg p+6) PNp<ެ#a$P(򎫣 ]sb# TgJ~)+O${?/Lk-m۶ 1s \@ImP1߽}. :*8qr4 RUxՇqR PZ*/ 0kj}-I$Q1_R4 s1(*_#IrZk#@qIB芭3n [7/ c̀`յ|{뉯`b BctZW_.N'>b@(uRW` I/ 3!_U#4 C/Uj[r$T [Rݖ# IR`׷R%% 4B_nDu/|"cO>ITHBX׹Y 8ƍk}6l6yΎk $I$2 7HS`~"m޲|ʹIp #9"O2@xs~i{߭I>ry|zq 0֑";40q|z/&I\ܺHֵZ\A3 lkpT}2?>Ҕ{x bɝӜRp-r Lc.7 ]n$U }ɿm]y->IoO2BI@m$֑(OrXlc -ȹMXҔ*/zXݹ=Iﰌ u"Ikɽ pb /@4I|絭_How켬ix{KZ۵O# i7 W1ήʁlc*ucZ}+7wImﳌv2H1UK'J^Xm& c#!(m( ; T,k -$I0}.m 4,k_ HkCNcO+c ^x{ PRW) m5b+ X 5M[ z.ʫ#ZѳkR{l䴍Ԝ-cpl;6׵nkzйyw.UNcnC+6b#ޯk{-%cM69k_`شm`;'ӔR-)|-[BbںRߢ-ʬ:R)::*p- 3 [-L/:ks\Oyw7{'' {R)inTulk.^_Jv$ 3lk} `Pnt{W/.,6oXz- cj) Tn c~i .W. ֵ9]_ŰS)RZk#{kkM1!Sb1I&i'O_mkkj ~2HެsU},1MިR?-ҥI[܉/6[ [='s") My17{{-iG x^15M\ }Lڤ$)<粔-_ =6\z`pr:>4skjž`S)yyq]{֡` TJ }:6p`b$I$յs"+y4k!޹{s \ey ֮s'ɿ l֑ڨhzq'pۖr"$C2 {b᫣@ֵU O2i{ ϏѵGo-b@/)-ߓPrҔ.~oI&<3?U \NcC# "!(N|2?:A()mC6- j}.  C[N$Lc= |M$ UJkɦq @ )ٿ1U QJJ՜ۡp N0`W{U`wqd)(>$׽f)uvbmkBﳃ9Lk%U"# Ts'i+cڿ*N ΨR^zd|2?{9\Zə{yuqZ靝ZqwN ׽f)jqg 0$!1 IZ-}hս{~O2 ISRZ8$)gN SJ?&IB$)S+c^xpqR0/'B_ B/5 ֒ kI$ޕ$֕K vb'ΔbcI$Sڼ|~梃 瑌oɞOH յ| ` 3!!u66.<jZh<3\Z*vZ ymkpx3?PhJܫy1+[ T @ p|z` m{>B:/ jrXPغP Xv$I8h 7I xΑ*bp' 6II!`&@Xr@dB&8pKdC6x3R}r)7 Pm$/|}//n&ځ\kxGzGtbvֱ(Baqb$ ֵZZz 6l$7:կ:cLk*W mc=?tb mPZ "Mu,c~O%Y4+c^jvBsUU IN HLcUUy'6ZUsXԫi5Q~b ivnk͹&A5Z _1a i8Əkik3& [sҀd]?5swǐ&k]?JxxIBrJB* ƀF${g!*.'̶(I5-[^ Ť361R- M  )kxxzM11J&NksU `R.{ 喷3R 8mnS/X{:?#Jkz貨~^$ lkAUwS Ss µ cpR)sW̓U\x˝Rqќs>.['OU5n'*k7ժm%$|* ^0w~Կ$Ҭ1.hhbЌZ?:sob5|! )#SR|{ ^貝`N/6/]M&Q> -5do?XspȨ*֫O?y{WZдX'Mk ²Rwwqns (67ֵsiҔ}Uڢڵֵ"O\#xsW^z1 Ts/W+6b#6P++u Ҕ@$@$Nbۀ ؚ֒yZX5Ӝx&#K;Ҕ/5c?pxx-:7p~ O${-psO!ߧN)Ҝ.'%ЌZ57Ƭshjv/6xlkj\ >>Ҕ+cZ'>lyW74Lck(]d s_Ѳ_F {Z|^Z״&suC¹r$ԜRu^1gN4 9 1s9p⃢PNod!ꀼM.s6I%MkiJJH'5@nvB*+кm<4s{ X{{p=Цc>TsۢмpٚX9x[y[iRrkyp T [zbPy1N` HJ_-)I3*c5X5SkkW|`ls .a6aյls/'y wtcZ/I t>?!$@yƒ}6`I$0| c`ۉ$}3-qI|Ҕ @e'xαkFn-|*-* >\2 #:3:7qp]nvN$8qc^=R1yβ-l3 57}p8W1<֭`\{15}kz4(B^_)11STJ %-캖 O| @RД{X5>lޯIL$7s  I$X`}6`x{ *є+ @$@$ְz^ tj]|8vb'bl-`kΒ({ߒ-4%^|ʧ|<󌴮~~֐6@$I$ppB*Iĉ΍k~ʀ) ֵs :* α訪11{zzch&h&QZ" IĉT{V#*/u00ۙTb[㐔8vB i8* YƎk_/" uso5^3 Q s'\X׽Q_Ҁ:vsxd?Unc^8l?׵1|m̻(֫_?NczָIm$kķrߒk{UzʾPJYs-}Ƥ1#6^T::Jkkp(N1q7qSRB9pRKk/5wl#؈2kk~jжɟ.s:I c^W%9Z*UoVNwIҶ$ xs]Ir k 0r&J~`&RƄm.Дkkȋ_vm$ތs5c>;ZШt's`l+cΦ 1Og绩4->s1xt(W,7q_1r Mcx~ͯN@ӔMcU׸ϧR7r4{56ـ5CT [ 8Š#:ZXsiZDzb4kȳvEnc XMc ܩ n\瑌 xV^I'yXs_(6iJ\X;Q) %0`yήs'-쀄"+{퀴IXƲ;ɋ& 1Z36XƲ(֢/s^^Հ4$s`-szObH7/~ yr0sjnx3%%~徐 Ю1~2ЊZ/:SsxvgE 3|{:.w/e4,cޗ-Ҏqr4 s%T)N ֵMc?7% 8Ʈs^Vm$$4ns~hw_# R5+dIc6TmkxM&@{R_k-q9_/RU.ɛo;ZWqmӜRkΛ&@׽mk+)c/6X5u{}b*:Ӕ*cX:ҜZbNvW c! uSpSLcظ˞ ts%%@&lkve>[>Lk%X:T{-n$u{ժxPN. S _^AYm[-}@&P|* $8pp(% vb'T7 ФC:WOXMvb'p/* 6`s} @b'I$n 똃9|O^M$|׽{>{XQwb_&aؙp^`֐ ΐ-.|޾ I$XƱx̓`I$yP/, I:WOꐈ"-:y3$8M[`wk-/{ʧ|ʇ^4V_{wzSx֮DN.X3MmJ 퐼Qr{$:45Ъѣ>uc~i[Ism$$9Ӝ@rmyrU@0cWRw{ %/@sY׮ ;:󔋭XZ]'{* ~Om$8|ZX#:Ӕ S\ЊX:,c~ШիO?kZy˹6֬'UkķDu S/ OU0|{(MR?[-hkI 4sW^ÿභ?4s/c1Z5sZ: cIyU9yWIwףZ%qr RJc_&7sW'%$ @sժ y$ 3kk^!1N}uI7ƬsֵZx)ə*k*-/Ļ`N.w |Z]h`r.sfJ8hm%OZ";ǀ ؀Ss*klƫs{y1g %P5 ̐ 5Uwh->3'")Z1W1nkؕ)wNP s"~ʹm$ncXz)W 1+ *[ X cpb {Z mc|ùR4YƓYPM󜂊'=mm?TZmC 8p __/13BiR`N<瑌X~XuuIlH<0W;68q_mc's+߀6mXT@O[P\Ҕ_} ??֭s/X˜PN.{sdX/ /I@є#- șpZz))X[RX:#:SHBhZ {umk! 76 Z1` |5̹]6@Ymczۖ#IsZqr4'-kWZ Lk + rLk~^4i6'B۱yw.  c₁qN0ޱ}iIR6Ҝ]bLHLcʡ܊1nk++X4mkXXb{#:pgJZN{!j 1|e/%/`6`6qUU)č&sp[X׵s%`6k6k?^^'h&ҔiBx~WpWqsI: ur)1:+U@m?,[}nnpí5$Йќ X<8m2zp'p'Xΐ}^ x{VI$ jk/*lí_M p Ӷmlp>c6ֵlk8Z+ mBn,cWFv<׭Qtx11Y4fʜ2:UjJ\\xx+yWyu{!*:Np xpͻ!eNDxΰ;6`!6iz8TН;@$@$Yqb I$8% h ߲6' 3);ߏ_{@$α$i'ܿa ꂨ":.|- Шc:CMmܐl$8[9ܓPN.}2߮&z/yβ}{W9Oܓm-8045bm%\粔mm$nk xIJrUsjkɁ8l?8Ưkur*$|Հ'usz\9k׸nӔ0dM;׵|8*ߓr$y0|.ۀd?vwF䖵1xUUI m{. c_?Ӕnc xbs\ο`6`6Jz-:R(xɛ4|PW{46^PW7BXMczC @u{Z Yήsd#b]y\Wu1 ۺpTLk')wN tJk.WЦk&\ / Ho|޿~BSOR]wF؉ 6ƇZ7)c*a;7 [Юm$Kc\劶l3h |*c0%l32 9bm'oZ'n'oks9>6dm?wΰKȶ$6]YЊZ/6 c^Z^s{x^ٰ:1׽d)+-/پ`IsTxömm$vRӛ@nmk?ԔNcҀmmߒ Xkwrд#*hk7U0n]糌]?Юm$U]}H<>ɑ\X8ƭcܦ`T0Ie'\4PXmm$uk0Xm$?s ѐc]?\ҜĐ'8Ưk^ƓPnnk }πdm?XzX-C?ֵkp6XҔk/-ӟ ֪`(`nn?T_[?aBݢ1xΐ%$::31hjjywS7C! ݆p` ƍk]/I UE˨~2H-[W~6m$*BZIҶ$ lYƍR /# i׽sXxC ipBzm$' qgR qr4ֽiR ^1e 0 c%-1I$@yΑ7u@$11{`zX5X5s`bqsdu0(X5Xsgj8-NޤG9_&1` v1-+*ƙN)wZz~ R1 2~u `!UJ 8Unk+}|·km [?]yr Mc(U&k}9[k^/?Pڣz@N.{ɵ0p肾-9 |뢢ߒ 7Ɛ" mzC: xo`. p$x/ 8p>W :T_})R Xà8:|緊ܱ1|EXշIJxx?ywS/tR]-/p \籌k9Hs6ض 8snʈIb۶ 8k ˀC2 p|p"m۰ 'xƍc&aYƱI$>6`'4~lX'XƑ);d'_&Шc>8Ӕ*֣>ֽ{|͐4'Mc͓PN.t &ʯyt9k՟>|[{%ʒ@$k _˓@unkРmnU{c%@mZ׀Dn.-[~I/uRvNc Ncj9ӔJ+,'pi$v|Cý)WN 0?M$sHuR'5soWquWs5`'-cpbиmo?Ӕns5c>5-[ \Ϳ#:b/vr.龵#` U|>x궴N$H$v|x_WqWkW{ֵsW756`1k`sov1Uݻ;ͶC(@y{ߺv#Z7Ə\zj![nb\PҩpXls+~ {_?)) %@$I$Wo[[۸ ksIҶ$ W.c%;sJkV. :{-w|޵@mյ c i׸pSFJSo .fJk ¾m cyy ¾[5Wb_6kSZ-ɵJk):NX5X5&:||ܑ/1P` ڞpXƍkU/ߞIr8_HNpk[znwOc]ªIBڀ 1* }l׽ [ 3)HT06~WM&p{;)Lk^//1t/ڼzZLk''1Xpm/ b uMcָ Е#:biR<60X5X5os*Cn7ӔKceMUӔk;9}QjB/R)qNc :̯^k1b@$@$Q [aC$ARZrqR`1,[77'I0nkB:`11 (C?sU}yI$UZ6"`/8-nz /l>\Tz`lX'tXyC0db'ֱ ˧H$ صs$.ڬ99xP#)WN 8UZX3;5{\ꋪ$M6c1|~֪1Z5ֵQzޝV>,c\T7q1W3 [/%*￟  [珌.`.|jIְ~kAIb;3Âd36`6򔽫pp' 7_ߖ,1m8+:$$ֵ3逴k?yP6$:7Pq$|&7(ـc]?~hЊbO?mc^z&c>ncěrܖc1+&ʯ/r~}9Xƍk)/]`Y0|^[m@k]5liRxl3 1 qW4J^ޙ 8-[U_[[|1z޶ap'{J'.Wm:Z+ գ?Ҕ|< $4s7`O6|_[rqynk vb' usXb/:Xb^+˘:C;rR˜9X5R7s ̏5X5N\|v~oJʇ1bR)R` 7&JpP7fR iv cp'ս{~{p6`ս X x΋s'77b#*cX3?tJk~cIvGќsqNIsުШc36kkz ‰MΌs߸Ľ11Oj`X :Z/_{A喷7ƌs5IX5X5X΁p"X(2-GB}_mqrd 3s}'/ܳHP`vlt8ƎkcAλX #:URj˸ryNc חI’I8s|;l]?s ɴ4'Y [Ĵm-׵|UùvUs-RȻpsyyJ.*?9|PwiM4mXkļP֮6ֵR/~ĸFֵ?R X>SZڽw-cX5ɹqww 8s}n s˹R& k%//qin4ߕu trigwX5t|r˾X/:btsTŅZ5ֽkh>>phH#1S +աpN)RtMc(}ӝpu%!'KB8 pc% @$Jvb';9@$@$QJڎ svu3 c:非/?] vb'sڪ {-lPj* c Ҕ`棣4HRҨ3#:boeJ~v~H[d!/5`)p 8Ưk\1R rJ:xtJ@ [1:;P`Mc1,@$I$|R%>ZIIQJ(1Sk56`Y0bY[5Ӕ [ߺ# mnk' NB `5{"IOvmk*n$0(uU's@۶8s-I$ 0'ؾC$3iA鴳:XҌZPN)kcO$)Ԕ# 8 [کb5X1Q>SQQ::Z~zxP1WyWo9 - ϔ-++I ޏÃR ĘNÊhö$?\Cغk?RX[?єxk$KO6$:Αs&m?tC#>pw8l?XҔoWVɐk]?yƑ (?81| uɾ8'N[غž@nv}qUۿ&/RJl~^Ȁ Ȁ xҌ8$vb'<߳cþ$і$8sWȿ`N.kXbRwwRW^` rvkPn.JxzIҶ&ӔJUIۖ$' kWU ̀c>qk wɐ4$Qmk-ʛPN.{J.@s*lm$׽|Mkl['4s X:kU˪9XkXë# sxǓM%kû$ mcƻ&U{\wȿ풝$umc :kTLcpZ¼z-?|J ?Ѿ`J1wƎk/̓X5ޏWWW؊t̹[rVӽ{Xp pԽ ^#pp c<࿾.c[տp'@$ksXn|{%*Zxkcþm6l6 |`X83 H2Jkp(/{X߉md H{W»WwY %x@{UĹЊ?6|rX-#:{^Xk@m];/ c/5>Xb?:C!l, [#_ Np 0-_ڭ hJBε:і1 7κ#:X5R齷|׵k]ļ RQ/iu/׵1|*  r4Xc#U2-øoN QBɾyr ֭s>*^Ir%Iֵ|>o$)um['ֿS H׵ [gpк# m1'ȵ# IZ{zǶyr45-c#ùyw/ Nc͹r4 Ԕ]wR s)@p_Z5PyєZ ˢ#b7PU\ܟ҂$;6|ԐZ1/s>tC!X-yw1Ҝ) qrD usb1R 5)*N ؽLB/֔Uc@$zƓB؆b68k_v׵1W$v׽Mc9Ưs vb'8{z ֽsҜlk5I$ c/z/b# hp[b hTlsZO_ JkW[b{:OZ{k 1W?{p ׵k#6b#6r):\!eR`1|Jrc;8ncJvN$p$1*B_} əy|R ))| [ל* 4mkc[C sl4 [C׽|uC h4,c{߶$ s~vb' ֵ [z 6lk?oɛo lkI6ҔPNm9k6*0I営׵1|5o}l3 yq⢝ Z5yβ[::T{\|\Wyyrsժ次dJ N- 0\*kO;xo궊怴'w2j mc>֏iYr7ư=%ڀ$m$[;xs`pؐ$'k"8֬_?ֱoЪ:8{_)M0 uMcĽ-:C?1%+} ivqRܸ<ɛ 8mcuXXEmc"Ñs9GoWsܼžC;L[xxýIĿk_ىƿqww- UZ1w{JJ˔`N.*B7IҖ6 QR'Đ4$sjB.(IJy{5}Ѽиm?׵-[Xǻ0RmncX*nwߒjJ_(m$ֵZWUm-w4)B*_ʀDm۳J[̀1| S >}'UR* /Hvc~Ӕci IҶΏk{/ƹݒ&s}Ib6-cĬ3@Mkk̼}Bc Z~/˼@N4s]:ј5}ﰔpz_rh1bps˃^/p N*k'681I$s̓%:NP[@rĔR*ŻTJ7O>>iĿ`l/ԔiĽC. ûOZl I2)c (3[ " rſb߶x/iIbl+|^ʯƹ3 hlk_3 7ƌs]U٣:c1SJj;X#:#:s'BX|r2s `6`6yί{#Ъ1b֢ s}ꯨZ Uk}-U͸~'5k`zZ#9Ưk/»X*aY{._# hs`zUwmMnc iŶ)Z(.k{wgvNkh͹{sT 9R'>_@ncn퀠3Z N[9WC [ _ZW]H :ۿ͹r4NckCֱ@9NcuqW1aYƏk Yq|k mΫ#:b/|\^1a51R-Ք-ֵw8(x#/ֵZXxxIs TPq(pp` ` ?]ޏs uk,5sxW ֵls/w  Tb 1sx]xX/:x}W*t|P<Ԏpsq_N| :pQ [/5@$@$QA \@Z6aiw-U{jJ\۪vn@1r15 cXI$Ҕs& vb' 4s*^I$ qJ vb$@Lc`WB$ q,c=[ l4Lk}IҶd l8,k?nY c6I$ 9Q-([l׵4$ N2Y1|W~Ib[ H9 ߐPPR%v҄uZ5y/|޲{_:y cz\@Zy9qhJ wΰ`6`6֓bc0 ;珌ޮ3:x2o>H$t x.|6"NЌא4$O|?:iYr 3òЀ$O X?;s?^ HSc mJ*zͿb,)XƬc- οIb$ ﲌUXοo$YҔUnrn)=ƟcV]`% iXrX>.Inӌ[گ Ź$ H8qWkmmrR^x!۶c;s1(j Ш#6|IBbĵ$k>Ӕ [/-µD$nk/߾8'nch~diuJ//l2iRľٮӜmk^xȿvӜRÔ`NvӔMcoRݪ$:_@$I$TZ XLc Omkb\ Lc 1I$@4{7ߢy${ҜPR)r?]#햭Z #Nj5Z#6xKk~ch'ǐbX} k*y°)wNT S{0ҹ½I?${Px:kԵkkвN䳍{v.ZЪ1kk]Zʿw Ƭs. űo67)c)O# i7?UG$)s*¹{s4 <|U_6PC@߱}iлC hƭ{%Ȓk# x΂);:5&BU`lw[{(~p {}եi{H{WPrm4s%?׫hu3 v,[{zνl [>*-wIbn |߿Ͼ({8>(zлOR$ @4Mcޖ<лiw%% Z.\̹rT Ưs߃1N4 Ԕ [J @s_Z ӔJ&3 J-ƍ%Q)*%G ԔJ@c*۹r4 kB5*v.[pઠ?#1rk'`s c6d38@<3W ث Xp*S#؊1/|v/?-6tlknh[+|/?ҜR "חp r`!PNm{-l3"ֲwA$$*J( o)WN ZsV|Ж$vnsPN&wZ^*&a!Ώk׫ Nk.s783Zp$@$$Z IiWP+c K-:P:`hFb:{z`i/#Aw9X`hSQc ˝ ncAjB.@$@$Q B\6`*By{qrJywa| [I$ 1R*@$kvb' زmkpߺIbqR s8vb' ֍sR[@ҜR,[rԒUR*H}ws$'絶9۶mk_"Xkm{?*XUrnT0N }{ֵmkpſmvZxȿmv'Lk5@Nmp+cm-s70tm6B@mca-pTsW$$ҔLk(m:PLkVc'ulkج1#C2u{X5X5֋s>tcHd_)kVVu{Ǻ  ѤUcw֐__kýP IWƫsxm$&Rkkrp/ͺkw սsᩣqgN$Ƭs);I&s.|r"Ix*c o\s͹R0 t[%Шk6єהC8a\x|0ٜnnќ}jhҭZ oXA9#::sRz^^^K\\Lk(qMk5 akhD@\Ӕ޺jC#،ֲ^R)r-cjثM[/~3 H׵RZr ]# JB%7 ׵s- IҶRߖ c1N Nk7yR` Rzj c׵R * NcR3#rJ%"}XI!~* 0Nc-71`m;Mcb߀&c=;vJbm'iB}ޥ`S9*@ ws`1-XƐ ك5HB |-C?P#)x^_#[1Ug N7w4 -'M¶#JjjʓPSlk--`N/szm$rS:&dm;zƓ:_-S;YrX_۰m5sWh.1Sv{&u)ivk  {$I2T|\c}#M;p+c\ m:Z/UU$:,ciUhШcO?{1{-O?0hJPvWyLk^{ NQJr= J7z^ RZIds1\qir%UjBɃ `t)׿**I$iBI$ZI$@$,cpI$qMc{% ӔB@$I$s/bC@$ҜmkPڹ)vb{UumuZI${ܾ@$8% I'q l['%IR ߯ -X1zrWhm5X5xLc͋vE-QwR)6e`/w*cIw6Mޯ_耶qd}ﴭ?m،:򜦣 )RN[k~ֳ:9琌 ΪX`@$@$}籌̯pWYkj%gR/8k&qkr <}IX,7-#*ޠ3IL9s/^7O|ʊs4Gs41|> ]ӌ'@@ӌ ֵqNT(k~¶ӜR~ChQRߠ"5׿#6bѳRX1I:%m' u9{%7 4,c I$$ [X*Ӝmc꺶oO{~-Ywnso*mm?Lk_`m$[Z^Mv䲜B ƶ@nnT{*Ƚ %,k(-I.ؕ{"I.^W md's6l?plk[Rǿɶ c^z*®oAx ǎZ5X5vМ>yfJ[$J8诃l{ݽk"6sJk8 i!սJk0U¶c&ZШc36..r1gNP WNщoW}Ҷ-Jk#IbXpڼIdZz/@e'ސ l3@{6hm/#)HWlsv2 WƬs 75Xs1zxL,k 74u8Ʈ{- %T3萦c]?P\VШk?Mc+Bb: Sۺ mNc(O&e sX{[n4sy{-IS 5JrmW@ cK,qW0Z{Pn%-c^$$QZ::y|u)r R _ $$Ҍ Sˋ-n'I:/d'8 [I`6cS6Ez ܀ 8T!/ 6x3f)%ܝ`/w{:I-ER7ƱPRzX5X5ք1~``] X΃9] OKhRgNNN 11q7-)-ڝir ֭kׯ p$I׵s-Pnvk@vܖc怶un׵k ?>Ӕ _IIvs1s1ey|%)ivy0| { I$ֵ{ .#:3*cir OLkzx,€=60(J.(wШb:sRX*+֫_?sR/{EX'{9eq1Kcc)jq1R jJ}{p@s : h 1%@$*J_XNk1,ivnRu u(B*I$@$70}ius*W^@$@$׽{^b@$Tmc@$tmc/q cēPN/NR>u Sးѭ'\=z=k:֘:kސ8V?cސxCcmP_ _?9\s~\1WywM[ +NkOh$Xݻ i'\甭W:/".";RsFW9<4ܷiYr rZכ`WĚΒ^p^ݖΎszBz 41Z}ܶc|J:%/ɣ ncXз? hQRɸI޺$' KJ'λ&Lc+I$ @sWʻc 4mk/ K# 23k5*(0l$|^zbO;s-m)YN PZ>ױI$Kc_pSqw+c.W `r{p{IB3Kc{b³'3lky_³@nmLcIKns|~Rv{q{ӛtjn1/ ù} 56ݟ}bj5|\ӽ{ָ֜)Nptk{xzϳqr Խ̃ΐm$V-o~N -U_)o˶ ǔPnv'W΋{_Mmks^Tx/Kmk$ދs ӵ6Z5/߂؆ڨ'WB ɒ@R%Roepw.5n)Pb_۽ -ΐ _CX5#:Kc\^LPtN8ƍk/6]:XQPiYn4mkKܐDs@ؐbM;U [Ê&x5-[pWR?޺P'Yƒ UЈ"[?k^mB [ _I%UR^m.kJª7@6ӔNcU*P9͓J_"=:5Mc m]?Lc^rm$Qd)) ۀ$'8R>+{Hmt:|Ҷ,I [? 0Iִ(N$1-ۀ(Z5W/\h}X5ZhJ`prl:P1鵪LZGJ4@ 1q5) ߯ pN{m>8|+ѓMܖ0| mCm0tBdJNM[-%@$2|]ޠiR`zƴ.@q I<1X6`$x{]m&7ƍsUU-S?pKkuWЈ/6/BۛЪb:qZPi3Њb: cB~P?Z*/'4ZBWqW1lsC!w?)uN yήs}Y)M$ c{)ّrjJ zzI$1\꿪qw7e {)Bյ!`Z U  c @$@$׵1b_ ؀851|`x}mI$4R /5@$uZ{I$ҜZI$6`4s ׵|us mu0ό΍ [5{o=::uRʏw-:-[ /X;N$Y%~um.s1Q|bmC(`UzX50|rrppX&r'p'kH:|51"1/7뺊N)Rr)k(Ϲrqr{ WɜR/w{ ރiw tbݠc:vb'(0h؊N ³ՠ:lc~,6?L[$Ҕ{'ֱ&Z I޾k 3k]?*)`Ts.`TKcl$C2 Ss "-6Xk_]-ps'Tqi s]]ŷɛwWt{W/jA705/=kXX5rD+AW| k~{Rsks{?мp R샩$.i]~}R |ZC {:ʼX56ƌsXĴvlk A;p'{Bb:8@)){'SkkzœNwsɓM/w7{>wyw)Xέsc/̀ `pcA#X3KcVh%[u4<<~ppN8|)Pт${ xhI [@z$I |uI 5E**ϛ@NmR)ӜPnn'M[.*m$?vIBxː4$ӔjB ʒ@rv [_ PN.Vok5*^dN/wRx-wIRJ}M! S.ZX5Ӕ)pxjBir4|f"Ӝ*I[NQ){ 7w]R %eRU im0}xƀn<յbZ̀hShb Lk~"#bpGJ.%;>+c1,ؓpSq w1M.ZUbmm$XƤ1k@N.ys%۱0 kת ܔR| /Ӏ$m'yncpғIw9Q|6DIp \r؀8jmI$tmk.`6,ts }X5hRzu&|Z/6sA➃| X/:: c1^^x`?;?Ze)5NNĪRC)|fΏ11Ҝ`??77t k"_ 8|^x`` ` &qRpxWrR{1eRP5jB R_ I$s)&kr8 ؗs^9sUߺ r{@I$rW+ @$YƳ-;X[5΋Bޠj'YmcX/7`ʭQ|W. # r|/NBk qR.U9c o.unX1|`mno){"'> |J t*SМJkU{prHk ӹqr& )N bpww<֐:Im$;1k_ضm]'^5 $~|xnOIЮyαm$q|׀'}糌kbՀD'Q|@?/|%"&/3 7F9xT(}]ƐbM;sh^ě`sJޖƜrntR ^@nm$sJ TIm'|9Inr)B*А$Iw1I:ywMc5Fk~׀Z;k%XX/:u [ ôX-lcR4 hk}{M>tiJⱫPWTlk:xn~6mkU ywn' Lc u๴)'ITs5$M$0ֵs]9ޖRx{w/eֵk'ŸR4 /#yYr Xα j6 )ֽ c*@X/:6mR|`",Q~XI yR)r2)k2ʬ`N/r-_]ĜRn(u#)Z5ֽ{d1{‚<˻XX5{._ R'?suծ`wxήs4iݖa]WkX#6cֽ [~*~b% sʋo$)x)cWʹ{Kk,/y{/1/kUVXX#:xΐ#b+,AW8$!Ԕ\`N/Ҕsў Sֵs*+.iN 0|ªڭC |C~i)NRXkͺ i:nc7bε4$rRpp'̳ƶ$5ncrı@nnnkkd UnkU_sqrnkޢI%$Ԝsp :  I;1): :s:H@$rk|/*ӓ4sLk U)qVIy:/ٞw򜠣 -DI 3;&ip*Cc iWz 1xє/(X`:kTTt%L&BZzƒ y$I$%Bj^,+ccC6`hJCkzBpɟ$*c +|rwߍk9/2PnnZ]mn$Uk Uimm [ 傛@N.8k5%0w4YS HβWI$IHq׀ۀ:X//'z=:Jp\b:bXkeXb:9}>#'Z$!H$I$HJ@`RZ9WSu} lk*Z1ߒjj~X :RިPN.nc0 wYR+.nߋJ{I:jB_*Hf'Rm$$ޯ㖷<߳/~$r}#?֥(0Mg'kyH?1|%H'Q|iX?zӔkр$m'ގc Iۖ$βj. IۖIҔ$AӓI$߳ @V?=畭x{{Z :]k{kN@1 *__\R1U9`SМeJ *5߷ N6˯ ;6wOjĀx(czM&ޯc΀$m?ޏйIv;szЀMv|ΰk&`!=M&սkXWÊ sŊ{ ɷ0 sSb, ŝM%綵//$i6탔>΂:j{~Zk'b*\@N.3+kъ 唻{kҴ w8/瞐-Ww{,&9r-}ݵ͐pKf-:յ/ح(:s /׭+X/:s8 +[X!֌OR0|Lc\ ŒwyuR/z沜 05%c1/1֋Jxڽ-:5sX]ìЊ'k_ĩyyR' ð' kx`,yRs}Ƞ0IV?s?v iX?8ƩR.`eml$[k@NnߍsW7܈mm$a^ֆmm$qd15ɃM,$ ҄I%ܖ-ݜ0Iܖ\|- ٛ i'o \ߛMm0;s' $rjj@f;s*"rR:ֱ(5 cZxhx.ɑI&BEm`N/Td x0I%֮k7]$iۘ<0|uޣm#'Nc?Mm$McRw0IkuUIҶ$ ׵I: m#'c|\I%Ym[ {=0Iܖ֯c< Iۖ{(&$ih?߫R*i>k*k^vmm$ /umm$}k|U\l'Yƍk"_WB$yΤ9w40$ֽ#! U2@r$C!UU:@$yuW90$Y#U4'Y1]} $+c$'OsWI(PIj/c)޵wܐ$B' k?M.ߔGJցm%ߔ{@rƚM䖻-7UͲ0s6Ǝ8ʭm.ch/o[ ho]` o!`*ј9:p~Ȑ:8q/i&IҶ%) \q|ߩ>Ͼ#?phTʻ4lk5&/XP|%_7޵X7o{[ɸШ{?p}WCmX?,c}k*m#q9-ꈼIݖhBߖ*M-ҌmcIիȷTNwxίkU}/ΐ6M"֭cW˵ I'P|U,˸c$t/|[Z˻ ws7ͽh: 0[ǸI$ypֱ)R) kb겢/X=?Lk](ZM%$Pb+@PN.tlkﵯI$mIֽs++ lkߺ@V?qRğ I?R郚IҶ$ /,} i[?)kPJl?ƄRW8֬?Qb/E`O?~$q[_bc6d@ Ap k pw䏔0 -%Pnw2R+=M.սb++u`mm${_aEd?bb8ֵ$AWZ '{a1X[$ks ދrA U PNvܕJ /U[M&3Jk ܉M%.{-܆ i'x{˨tm$'.BCc?*cCׇ-'T2~Xə6_ tT!n Hۖ$T/rrp_xPN.yέs~$i?8{*Rc?LcWSM$Lk sl&c H\խ @m[?փ zml'^W6$_Up$ c]WВb ePrw(W~ k6ж$P0WUf)ж$9Ua,PI9BWr+`{R7_^QpmrLc WY?OB+cebZ\ېIs"(Wʵbpa*jж'֣9 WWUND?սc1U_ SC1Ur .FJmIwY gJ/Ir%)3sz Ibd ib[ ۖ$tR׾h ۖ$+c% hIl @S#!dI+ 3*cU? gIm @s1WR{^|/h۰R{=Wu#I-{]_1I$BVU5I"I`hJ U/fI$suwUX$I-k(UUm۶1{|wuBI] IJ9[M Q!W'۲N9Wz9cCMkC!Wlp۲!jw$-U@$@$e1 Uu"@$D!.U'Вp(z8@դ;D'/R@m$ֱ IN$ P 75Rk3ΐj6C@Lk`O?7UWzm۰]X)uxIܹ/|U /Ir%9I3d!UW Ib# HXE)U_$9K]n$ߎs[HIJ`()~@iJ IR_)&HJ+OR Lkkz*1Ib$ z+[_-Ib$) Y$~3Ib8JWU*EIbI:"Iֵ)UC#۔ hJU`0.w 1 `E Ҝ&BWfGd?-Ҝ1 c='@Ӝ1wY+?hKk92-F'h{( 19j0I c&JhԊAtqA":5k2wY yΈRUU.>I-9 c) D$)ֵ&JUWQIm) 2`*N I$$ֽc1UUJIb$ ս1R I$$7b)NIb$wfJW(UIb&Hk׫VIbW˃uw^In& Ί{(pI$玤_r;rUIBМ]IBWwBWkkzpIҶԽjs.qIҶJs pIҶVΪ{UiCHꋭ`TO HɃpFI Μi{W1O N(k7-Ib$'1Z^ >Ib&w)su]7KIb&;kW EIҶ|A߿4O Hߋ{Uu )Ib# Z__ Ib$'9W IbFB-\1ׯ fIҶy#ר bIҶ(BLIҶYW !Che1UORc WUx? NUWxm۶ c m"mg(lk zI7 տ$6 JW[[r$Z_-m<Ҕ*I"m@}u 4hzV6)iYqU/e/ws*?5DRj iE yI&U.P (єu; 0 Xp( ;N02*_8ې$I$[3$I$xt ~i{zչmHrӔ꽫]N0ֲ /ج#ht~^҉rIXGB- *Ҭ:ֵҔISOq2]O|UWmEk>4&Ap < %S \lcB;PMvA#׷)qN 7|2)W0 X0|y@֭scj֪˒IJ uơ` J*"Z#@|Zc۲3 4,[ȬINrTk.7ٹq ֳU"I Ӕ(Z3I"mhrBXZʹ @Nk˥#@0ߖm9c/#il(OmβXg h8Ӕ@: }2?:e!z`Y 91S0*<d RUMc򿵋iI4Z}wWJBվr kîyN B-2 VnkZH}m]?Nc U˿`'R{@vsU}ľgWԌnc/okokBI$4B_mݒuM[Yȱ#i@8tmà~2inkxk~ܷIsu\OB@Mc Ӥe3iyƮkbWwYO¶ӔJUIҶkUעRI9ժG@lk>OR# Hsc}8Ib$ +cU7 @':_uIl I4c!o"dm$ uCza,m @TJ<~Ty(@jJ6PIҶ{(eVIޖu{j]nֵ|;,հv{ *{m$ٶUZ^y@m$8ZnOBƊR[BީZW*+ gR^ O^k Z^-f0qg Z \qWTNTR q /wֽ,cUu]NtR]r4 {˰y 0Is ܼIڶս/ ʸIm$ 7 }p̹ɽIսZr19A۶mވZM'B( `wlk ̓Mn䵵L["*~kI.lk I.{6 w .wֵ{?I7px:3c `/6[pwb[>ќU̢&ILxਯ۸V,^_ ܳOB{U*>@m$NUߴMnNU(9 M{?`b1I |ϔ @$ɣ&m;2X\ I\*[ Թ;Dr/| }= ;k-q S(~d iZ]?s(BXe=)SQ(B 5hp0Z / c ~1Smk7 ñ`/sֵ77ƿm{TɟSZ\n pt [y+/iv8Kc/7S߫ Kk<Ŵ3"skVm$rp+cW.n{y P+[%bҔ{ k mk^*yk+^רmn'xPUUi-յ* X7o^ >bX{[cmmUΫ{ͯݶmXΰ'5ؓ ic>{( [IҶ&/| ^mvlc i?yΌkx^jq}kc 0?\+[IYn$XƫR`n78Mc IB&I׭k>؜rwߺs%WWDmc\^WuɟR-+{ῗw1 R--5-1/ Ӕ-c47br)"[ŽЬ3 sjB^(ڄcrRx:՚%xy7F5  zӔ;>}m'ӔjJ x1WR ֲrwt++ÓPrnqzXX^@$Mcרʒ@RU-cz r|@I4zZ@n$$* ؀;ߕVz }t^W-X5`6tmX98/|?<'z'Xs-1t{r)pҔ 8qI/qy Uɒ*]ub wYs>Zc`/wYƎk ]I$L6]ӌ_X9k_zIҶm[^xM$Iuk=I$9s] 櫣$vt3 mQ|;*O H1t۹ݲzk{ O$ 0t]倶d$\cwo ps.m8$I$׵0|bNqWqk%ذ$K*>27.XXKcn슏*\ZD1Rt Kc qr4 s{.*;6l$s%b1eR`Ts^1SkwI`qJ {bm5쒌R ^k# Q(:-¿Mp'Q,cրľwxLc%׾`/sk,/))ֵkk/zv3P| 3ʴ# ֭toB5X5ήc׿::׭s\VMҶ,s[ݻB&ykh ߒ@sy꼳R$ R %"6ֵ|ƾqiR ]_/n`P5(ƽbxΑgі{_m%$ [~ N ֵJ ӳ1c&\sc%Խ9s0|_*"}N$ |b_ͪ:uk(X>CULc~{ZywqeL[o6 s mcO^~j3;:Kc 5Ҝ,k(¬y5X5s``id8>>/R\~b=1S1qBËgqs)uZ^qsd ,c_{}- sHJ #pS1W,c 5º`&RkkW6`ەk*_)lk>CI7,c0vbֽs\_{p [7gtlcW 6 mcӹۖ@sU}lڱMcXXܓ@IfJz۱ [ 𗿛<Ҝ,c /Mm+c R)rhC}NB# I(k/*B'I-Js75?3" {{wTI$|tR)ljI$)7+c~'~޺[R~ױmFxZ'վC X:_bp}B?-c1.3's({PnPB8vv+c\^ia`1S%Bq39zx յZU뒝$1ߠy[nq(B\xVZ 1)bc]Z5X5ӔIB-5}+>>Ӕ%B@`211Y  ߲'7C:cYq{PЊ]T+Ъb>YcxzX?tƴ wn['ub J^߯Ww#MӔNc޿rq4I: ǺrwR J* vqo8jJ ۟N)0|bjI’IYƑ *Ubm?R>6ߪDsxl Zaɟk>kɟ/|xõ@m$α iN <Ҕ&//6pT)M?7sպӝPWyp%% w3X`k~@ݐv7Ƒ/{mzPր 18P_S>TPz`1S1nc 컧R)9ncպj0 s1t۶ ݐwWvB& S_XI$I8Us7#&`1s* `8򌜀9}ctZbznnY0t! -IҶ۶X z[ TbFOv yko57 yrwo r$Xk:c-{~鲐Ў1Α c-X/6:Td)>\XMk'Wt p ֵ/Uµi;m8xΑUb뻴$ts [Z/Ws.?}c36bsUs~ ['u [^X5X5Jľ3;Ͳ[IuTJ>7`R&sl32 piBj@n-R X[o;X0|_ X5x0|U_`Mc}[𠽷 Y{)@k낺¼&sx m3Jk꠸ü/Q s{in8Kc I$ [ `6`6s꿵#b mkXbO\$ J:1 @ ֵ/|(+ֿ+/^ۿsW7ƌk (ÿ5Δ-W` 7pkxLB 8{z/pVŻm.e 8єc_ ƻ XќxB#+Z5xﱗ#:Lk^ ?:ֽkk~_5瑔hJj@1R%n cګ1Nps|.p 0ilk|zRw3Lc:: rs_½$?plk`l3 hZ7_ҜiJ(oֵ{5OR&tk}()Q0 s/+8yp\ |U /q` [6k6s& 8$)*z>{16 ?6|f!:X5X5Ӕ1ּz+>>$rr[Z<11Q{~hNs*-/#k?Β6 ?:8q Xݿ*֫O?ukʻ6ms[5ys㉑yƒ α/!<籌7I$ױX۰ Xpw吨=6XP*UЊb?:ytk(O'TsrÜRwk׷ s8єVM%[TJ攛8Ƒ "ɀ*ww`bptb@@`u` IϞPrk U篓PN.1|ؓ R8k __ﱝֶ{ =C 4[iy۶$qYi۶m6҄rb4bIdyY0tz:I$mlC\ l8k Ш;6=ߎc+/ykn4H]Uz*M\4%). BX5ѕ [T 3#iJ*zZT甫%pS9'-e3+c] h$ֵgJ*1qWvǶZ %ƻNoֽ|ǽd:X΍kcUZIB&Z.9ƻ$Mܖ\{{p9P+#-žkX9Xp>hjžpSwO|)mvWƱr@n.70À&dm;7p/jȽc>8/b's?IILcĿyw);U o;3 IҶޱڸIBX|Zz $I 'Oˊ$tR & $H7Ʊ hZ»MqmUտo8lc*»)r@ֵc /յcb>GG9{ *&ĿO6sJO` &s*% k*zmֵmkܾȿ1Op%%Ȳ:6<Ҝt{X(VsШc?,k%x Шb:Bqs>شRux,c#) h@pN/۳Z/ZHPN.Rդs wZ/ %Kkˮ׬@RđR:`N/7 c /W mj?lkվ@nm$b/Ȩ 唛{}Ɂպ t4s/k5 T{{( I'3s 4%̓@N%7{7}IҶ$ k ̐&#k?,cȐm#?-c_$?1iJ.bml$1R}Û@N.mkRm4IUZπk'tZyyU wX%J/- P9} [_X6ıhJpXZ}0ܲ c{ss@:ZM?{9bx(k?Lk '/ Is*cś sєU`xqKpR`wTZWw`N&wP(:WePJ1))K?0Z(m#'mk (̀m$?|)l -6mcV'Ӕ#Pz^V1s'軡 Ny'ЦZ=:u [xʀ(m;y| 7͙Шb:Us.ּmm$5s4xm%$9 S d$ZƯcmmuRz5P.cU Suk^'Ž@m's̼PRֵs?ɝ RyƑ ~tJn8L[=:kXDrm֮k P wҌ{@}ь{ui'tW،:|瑌.8 Ъ1PUjЊ:tsB͸-c_?|Zzȵ`w䑌lczbܿ`N/յ/| A0I%kc ל`N7/|e.>(X2ykIX/>TpppW`N/R)wv| [`ДR)S5 S‰ RYrc b#6b5<tC$@ނ6bֲ{{ܐb/:Q|?{֐0rN[`ݛ RΏc0 U/e IV?0t6&:{PN.d1S0Ip{^B{bIҶ$)3b//^bmm䵵1(pm% cߢkl'0(BpjfPrvIB-/ƂPnnZ ju͚m-8 c UW˕l'4jJWʗmm0Z /̛md'iJ/ʍd'{Rˆmm$QiJyym%r(B_m$k :Ę@r$ [9Иmm䒔1^Κm'lkGJ>ٍ@nm'3c9؎0I%hRט IܖߕGRګܓ$mk?սD1r׆ml$BmUوmm$P "[ψm$*c!վmm$fJ*5pmm$Z ժljmm$x U}ώM-ֽ#)ۡM-lkd1(b‹IP'B/ i[?HJOhX⌀l?s#! /el'18WSm?qhJ?**?Ҝֵ-N$|u4Rw]:);NI.XƪZ(wl$stm-$s%AШc?ZZ=mm$R_+֌Gmm$ [P Km-Ncwm5_@n- [՗(nmm-cpzxM-5Z m$'ZzM-nkKۨPN&ֵt50I$$y󔻁'㱀m$$֑8۴M$7spcM%s ׸M¶# x~ IX?Xb IY?X/?p$m$$|Uԃd'sغ]}ml$,c_I$ֽ+cߪ ~M$'{(]Ӂmm$k _Pmd'Z _*m$A(U X$PP^]w%`SU$!)t/q-[)S4Nc*徝 XƲX w7P|DIR/&A֕ګ#ZkZ 0m$nkp4t+0i:P|⋊v m#>y0|kBmm$9|y$m#k?szl's.W}Hn<ֽs7WΧJ*zĨ[;Z8𣩸mK?ƈJ޸M$ֵssI喻Kc~0 ܔLciX;s`I%9s Z΂Ɖ?ֵkkreЖ$Zu_P$s UU @$ mU(@nv,k +]7@$s *݀"4$(.Un 6?ls(F ,،{(`_z Sc۶mۈZ w $I c réI$IZWݻ/$IhRUvl$IiAUy]'7I$'B{ ^ld UW4${(UTВ$ 늧Ug Prv{ gDnsB\m%PN.q: >@nm$ j:mm$P *U?m${IJx( ?@$qJ/WB$0964'mk9Vt1@rZ}>Pnvp15z}Umv0}UhĶߍs€_p`r{(‰w#{)k U8{9U~p4_?R ۢ'Ж$s UD$ks!UvoԶ$BQP kВgJ]=n5Ж*c!Ut?ж*cA)uJВ+cC)- uWPIb۪ZxR`Ob?ZC)%~FВ$ c -BP${.WBIJr{ ]@ƶ${ mSZp@OҶhJ4a+X:lk9z m۶msv IsBI K `pJ{]*K ж?8D!_BX'k V*`ɟ߮s0жmk BF `ɟ,c [UP{u\@$WpВ$uC!UUoD$uUUЖ$U*?u!IB8_U@$w@r$ֽD1(U#@nvT#) WNmnt: cmm$Tlk߽Fl'SLcU 6?*^y@$s_mD{Ua@s#WjIB"UUk D$spuW^Զ{+UN[?~+c$u$I2{: ]I"{ V⿕c wq:w&PN._m.4,c &aa@nmiR菷xM%ֵs+0IqB@ ܔ\瑄&iߚ҄R~$I}}M;XH*:8/tp,ܴЪM?lkmnЦ=:յLcy})IZr4KkWTwƶ${R'{kj@'Ӥ)]__H$%''NO$IhTiJUWI$I$mk!ˊ 41I$Z5ZtjP$O}_`@$s#!,muW@$RM@$'B.FD$ZxUU=@$R`UK@$Z[wqВ$5WUPrs ]@r$,IBRC)_U0Pr %՗N@9b՛]Pr+c?ݗ_kmn$Z~i@rv$SJemm$FBN$B!U6m? U6$3 Ww@$sWu@nvޅ1U%mn$Xƥ1.%$tc)6$B`{UWiԶ$*c Uwu hBFl I+c W8 m @,cU8@6Z~J?- c(}U$-iR UW *dm Z(UwI+ iJ )} ۖ$ [ Iֶ{Ir-9 s1Ib$)P)_ Ib$ hiJ}ޠp=R|e1mI$ILk U_ m۶ 1mk U<I+cUKI? +c}zGɟ iJ}U+JW W$ lkUbI$-Lc"!UUu#I+KcUW,In+ |}U1Im)PUU7I%)U]4Id @]]9m) kUwM}-7 lk/xI~&{#)>I& c(Ӷֽb]n@3Z@~ @R*OR# @TgJW_ Ib$ Ҕ1{$Ib$ uGJUU0Ib$ 31w=Ib$3KInյkkUUaJ tIҶuiJiu [UC Ht"!_?Ib# ҜU?Ib$ UDIb$),c"!U^* EIb$,c"!U(DIҔ@窪& HqrIR# 0WIb$'8u Ib}u#Ib8W"Ib# HG:]_Ib$) UIb$ֵau_IbY UUIbֽ!UU+ m$$t ,Ib4#! $Ib D!UIb$ ҔWIb$ W$ I$$D!U*Ib?c UULI$}>U]W#`&J\n@唻kGJvUWbm 1aɟ$ lkU>$ L[W{`I䷻ LcI-9P1W*Ib$)@P9p*h3{{~RO# iPLk__@# I cUCIn$' QZոV ms {_r$y{U/ mﲔuIm}ҔU*I4U ~2,[^^]r{myα_(\琌UH3 xs_~B?KcXx}.U sW 1 Lk8n_${_+ IRZ(IBymkUI¶RW IޒX+[+I^r7s @m$sINr|U* mֵpm|  @m$0 ɹIkq)޲b¥-IQxZɳ $IPH4pܔHXU*`#mY0` -O2sx(mֵ0-7>ɿm7ƑɿM7{ = [S }I.mpOHs]U0|zSc @m$Tsx@m$Lkmֵ{_/Uɿm8ƍk `_IkukmO2Mc` ukV_ݹ-Y1|`#A@׭t bi$TL[{ʹ 0 |U-  H$Iyq^$I$8q+??XI$Iur]@$iYt~m S^U@ 8nc~@uk\VIBIuk`}d#`<粌 w#:pXI)kU/rDMn֮s  h0~~" s^x{R vkꂫqYN 8Ʊ3i$3W ДU_I¶@xOյ(⦹R {) @ S=/IH֔rݬ@Wsb#@2^+ ~2H7|_}IBsމIR$qU.IҶ&8Lc_kC+[W0 #uwO$|>k]_:I${kcU ɟ.IUD!UW I$ _.(I%))U( I~$'  2r$0|qI ^T"I$@$֑Vi@ֵ/I֐_@؀ ضmk^amۻ [k  Sh⩠ojnc%Lxp s-ii[֭k  _I7q~y  P|w߯b&lšq* oF9s}Z:usAʺXբ??׵s_ɹRws.mUwR1wY [ޜ`nwUZ@R.RUpSqwA⠿up~ c/U@$I$10kwc:Ӕ)B.}UD8Ƈ1="1ֽ/0I(G>tkk\^P1 c/ ڙ` czZ@%qrjBZ1@.[- Rz\voN$ [(!/ z*6A{ :b I$ [++U8-c(Ys`t)'@$@$s^Z-S`x @$9ƎcI$vs*%I$k(_@$I$-[ >4xu|{8s|j4s 68uiPIb' |6Ib۶ ӔkXުIb' ӔRW6UR `40|%>3׵k y|׋ 4Mc Mc WӔIJ" +}ֵs]}@$I$McP88kxmp'p'qjB/5; r [{(vb' |R\m RjJ뀴'1(@v$sR m$R)nvsB@n-$tjB _m$'J-_z쒰 䔛sJ,- pRӔJ16vJ "@nk7â +cV^QbXOMޝBLGz_lk!PgRLc@IXҔ58 Z?:|Xz #b7{_5͂$$ֵ.}}WS1r | pN/w> %};x3z% 4p_9fPrc XƱ8@֕(}:2֔cЌb:XƱX_t`#:t/|ҟ˸C?c 3s{.ʹyWvERmcjxb1 Y|=5=P SӔ '^̀((\疭=/ >>ƅ)\~^1y:%%浡 @Mc 'XYs` :Nc򽠀F'nkZrwU-cLѵPnUc"*ڸr|74e?9s®nж-?׵|`?vB`఩,[ %:b uZ:bT)`"}^߬) JۺɓyW/eJ',*t `8/=QȀ ֒H >>$Zx~zyS1q-ҙ`@XƲ["I$ t- α׾(XƐ֢αKY1|+ӿЬco?8ry_¶`>>söwWy-c?=1S)4,[ P)R` ֎k WqW޸qW0 )vs㒐I$4F)Uzؠ00sPN)4D!O^&AXΆ)-ș/_>>HJj11Z--֞ 8ƋB^xMc' I$sjBu@$I$.[ I$Nc9XU.c*B--R w׵ c =֒W4R@$I$4RcI$-[pUncJ@$Mc}zR 55I$ ׵|r0=I$@$s&Us-[{ k%% /mc(VVWI$Ӕk%5TR>@$y<4s 6X I$4sVM[ s]ֵ-c޸IBW nc`z@$@$ [{|R- ;8Rzk@$IB:}'6 2Xvb'm1Jz dC6ds9髳:Nc!|:$֚ 9sG!@vk Brws 2^_zIB& sJU-/Հl]?|) דPrw|):xk .PN. [_WI¶# irRIҶ hmcU(")W|BX5: [(7Bs9h(hNsrIrp}}X:oy/XO(m$$7o~kyr4 sX";.# -耸dc?򜮀`jh$M${z'r/'ֽPk ic[?8Ƒzcmnߵހl?ֱ m}-֫_?3|l h¾m$8ƐyXUѥIpy)XٵPih\7w׵0-`Nw_;(")< /7 >>C!|.8#! +)pAtqX/6YNc:ncV|蠙7/?RR{rvsM]ݴmn?su@'ԔocT@nUk5ԒvjB |;'numFֵMcַCQ}57C|_wo¡In$7 4kڪqR t75pNdֲË띀 Ю1Y{' Ћ>>sxxx+1--/``s.X I$(iqbӔXs8pS] I$XƱ XєvvWƬs b@$Д { Ȑ-tRBӖ&|#-騞p sP4% ШcO?{~4'Mc_?mnܖmc%3q|/ݰէ>Yt;U6$5s7׺m.WrcB˶wwwR5)` 8cvX6k6Lca%Qrm *"c3 iTA l3 i`4IMk? vb'Vujh6[5T+c+@$@${;΀ -}. `>>Z\\|\o11Zmk`6`6rF!)) c1zI$nkI$ [$!^I$R`R % 11w+ I$)J ׵k_[ @$I$51@$I$11ZbӔR-J_I$-[{]Ws): I$ QjB- W-[Us% 5mc(@$4s ^z`Ӕmc?sRzI$0:(nj uRRuU/{1*.X1|.7vb' jBޠI$@$ [V  URXI6`1|jB'lsZojc#hncs #:XӔJ\^s+'ncFmok)B5J6dC{JBו/X+| 2\{sJuC'՝nqQ1/rs! /`/V):/2:xΑ 59XյJxXC|*cB^pxss驹tN O=I x|~ꐦ;6ֵɻ_IҶSԋ7㹷֐^/ɒPvb' _x%r)pm=:8pTǀ4䵵|C{͜rvT/ 'А8lo;0-=P(kO?T{+mmx{wm?0{ʷl]?\_]׷Rw4{ ''/М`N/w/v".Ҝ++%%4j>\#!~\\XKֽ) *TxڿX5#:,[뺥XљsW c׵mk}/qulm,[ռҶc;us/͟`O SrqrJ (:{&G Us^^k౼Шc$Tmc=95qmm7srp׵QؗĽIҒ Q ξv.U sx1 q9Xqs½ܛ1ֵ{ٗ!ճ^\;0|) ` {{؋ 8*~yq%kΑ>yK[x s XLcꃵJcrI$@$t+[ Z I$XҔ7_--sr` >c#$&`N/ss݁M2 xLc+Ъc?:׵sŰ8֬O?s?=­ЖUtֱ3sv̶}R*v,[z⫽yWwMc 姧ϼ1`ֵmcRR0|^`k ms(Vn$jJ^p'rnR-RYnkWI.4%!'"#@m$MkVC:c' }h>MkB 1Q *\>>9xm119 - s(.V))Qz sf! @$Mc)(BmR):$$Nc $s)6jJ%{j}9jR&!r9(*? kr1z @$5R uR߿ nkU}|ZA @$0R/%-"I$sk`*׵Mcz@$I$4Nc^@$I$ncs%Ӕ [k'j>Mc% k/*WtPU3,c\^0B+_ rR5/,c_ I$@$ [7x@$@$e!z@$PiBCvb' |9׃ Is)B .cvb'ms: 6`6|H:8_X/6#QIBh\#?s1y7W-cfmb(@,[&(V 3 hnk1X*O\l s&XqysD sg!. ꐦk$r :ZתquW7qrR぀'rjֱ jHXKcxpA͹ {Lkl樨QX11u1) Oq|yШl$P (鶿9s"xI$Wƌskr{ B06f1Xsb/:Tk|xª|TZ.zƦ7w/mȀ[:X{j̺:PS[^~mh{+ Ŀd)4|u÷>ֽRcɷ1Wyus)1Sp 7,.)5.7/I>>@ppa{ % 6`0::5kg#b [3 iLc|^*~# iӜs[쬝c Mcމi[, Lc\غqN`lk/Ƿkr ֵpr::ȀM-s .޸œ  tk\z#1ys7=yw [n|^qR ׵mc#)e0Xƭs_qmrPҔvCW  rqF>>ֽ~X\[Y)fmtHs}XP|y Βz4% ҌMsմь_`/|j@$I$άs@$ 7lck-Ț΍c/=h>>8#Դts55ѾN opPRupb{:Z-_>s/&/R.xQAnk=%yrdsķR XήkU/1sxΝ`N/4s7I.1~w`܀mӜ :-l3 sp%)׵9)virMc \WUZ vb'J*-  "M2s4'11lk8(eh>ڶ+c\\|\u1SZ tNT ^nk&+ @$@$0& ؀8|E!‚}ФC'-cg!b @m' [U *@&SJ=;0$`!R^W RJJ =R1X@$-c9 5I$9*Q):rZk@$sJB/I$׵s I$rR4,I$Z*I$J I$ֵiB_I$u S*]@$RxZW QZ?] vnk uMc)s@$@$y1V\Ӕs~ I$mk-s^^Lc Ts[U{\޾@$I$mkU/8 Z I$0^I$ QB7IR(7IB Ӕ9 0iJ> pZ嬳b {:(,Z~c m|1kr s(-4l$R3I1!zOζ# Ik^7}yYn|h )6[RQIxܑJ?as. tX5X5|`@JkEʧLk,$?[iJ."qr |~)e0 ְjzmPy ꫣ αj~(`6յ{ @n-$/ Iږ$' pz;r/7ӫ WưjbԵ._|ww{~1c?{ؠjȹc tZku TKk/-οqs/ֽV˵ؿ$9 sr{-7 k+ ֵ jŀ "-/m@>j&Xƅ)XPP\ys. ԃHus !ۥN)ֵk\Zҵcֵ{~c8|55W`{~rr3 s⪬KLcc[SqsIuǶ`Nֵs<8ylk(źՀ6a|_/Т5d&s/RYp"=)Qf8{-M¶$7 7P@r䵵{_28|>·E:!XXRrM9Sr 7P 80 -}ֳ_Ε]*^<ߑ..@$yƮk:ӔxzppKcW I$@$s Jߒ}Q>D!\^bLk + )N Ŭ3 i׵Mc Ӳc-kZ~c 4k>5ڼ*^n[x\`AAMk)11{]]j6byέs^zPr&tlkbNws:@m%k`r+IB6# vRu cc55׵Zzqin6HUMcͅ' 8sS]w逄,;k 搾cS?u-c/ 1͕Lk:?urx΍kVVTV,cm /p`uJrpX sf!../Mc'. 0 ڲ [W}` `6sjBx mI$ [G!WqW{7-޾!!QR%*|kB*X|RzpZF zk :5UkjJ>@$I$QJܨ vb'Q [I$y{muI$ncr^xjs UUsqiB\I$@$R{@$Q,cP Z_I$ JJW*R:k6@$I$YLc{zX^@$I$k+I$s I$Ҕs(`m'T_}$@vb'|1p *`0R**I$Y0W׵Q]s UJw -cWz*@$0%)ުc3l4,c{3iӔJw^O¶" m)B`jNEb!6i׵R{yӔ)O|\Ib&s-@N-v|F5ۼ| n4JlHV$Q΍k %--lX5X57kkjjjxLKZ*O` t c џ NҔPR&WƐ~Xmp?/ir 籔W܀:ҜjUϐ&]'{ΐ{Ԝ` S6p]%'.MB#b6{WIm T c+]Ir.I Ƭs^=*@έ{u^ Ibd my+cƹr 3skչR :- qI 8є"% Њx@-Ҕ%۟/>PPQS{ܾ`N/s'*hsֲ{b յO־`̷btk$ *[:c xkkñ}B?P+cC6pwhJ .PnwTsJmvts:-Iw{77~ƿvgw/3sxx Vo<̂Tm.yαܜͬSnikmIm) έs5q,`x{\WXљrb`Z91qs) % I{X@f Xq.}[8 I$s?I$mc@$I$tުJz [{X_XO.m%u@[<,[ k~@B\G>>|ZZrPK3D);+ ػ  ssjc% ׭t/5'C r׶3bus'«*BtkYr寮G}94,c5-/`N/ֵ 5ñPrv߶sĵM% c ɼmm?{>`̻@rvmk7]_PR.yZzU B5 yΧ1_ ynkWmIX:5MkJMiYr R VжJJ>-{ |>>lk\XS֍s- -MrYI:\\$`&J%r vb'k9 [5s(: zjp'p'-[ -I$IdӔ*BU 1S`s1-~\^!`nkg!rjB-I$R^jBk*:I$@$sjB'vb' {):k@${R+{I$Mc I$ sɋ6`kݗ.W YƎk~sZ#I$s/^}I$,cQ [ sպ(u [ۿ(+[.\I${_ vb'XƍkUI$s^_}`۶$/,c-Wm۶tMkxꭵRx` q [ I${UUI$׵sI$QRܖ {JJv( {1 /!@$/|(:b  ! w_ ӔF!*O$x{&zj' I$nk)ov|jB&'McF.>p8k)/ k'Qf!(zORuW8|]ݕ-mC `x΍c5(rZ7ƌk\~p:IW*!U#!777wN/rsờ`N/sW|U-l26b5'|;7ƕJ^rЪZ:/XZ=:/X>{^wW7ֽP۩ P{%ZݘNקתIWp_z`IlD P*b޹r xp.߭iֵ#Z љ΍kx0Nk'ֵ,c "ѝP.8p0Iݖ0X;_OBx>-ֵ".>>E;N1w,c̡`N/us 7l26bsJXֵP9«tP\^m$$X|)ջ /Ŧb|UxXX0r+cp&ض+cqRh7S1mk̽)R)u Tp+oYT{@£-7 3*cܜӹR4Xƌk /]N ֱ6x.3-󜵖݁X}D!h``hl1qp! - nk 6o0ݖn+c8I$ֵszKΑ}ys֍k._֯X0|-z77έk>z{ֲUzƯkVz"*t %(=99XzZB1+ '`6`6W|by{qwN q );')TIT8P0xֿX5X5TKk $B"$2"3kl|s9c4єLkbC묣pɝKk ),c Z_chU{{͍I¶#m40շ6.䲔kz.<ɵR7W11SJBp pNӜRJ6sU֠:4Z?ZX?3:qb*o$@$I2sKxṀ Ў1ֽs-p3'Z\ׄ c ߖ 1)B\!!R B_/@$@$|lRWV%0 -c/vb' {1I| k! %'WqV |)6`skB^Wspުs1⺗Q*:ի I$@$RIB*pRR?8I$@$QJx^I$qR/-jI$iB m [ /( McW*szjJj-c}I$@$4RӔR*{_{ܪ vb' [h`@$,c M:WdB'kzXX`۶$PMc* $`6ӔZ7ި sWssU.{iJ8(I$Mke) 6`ۉ$PR&uC$@6$02z{$@$$s$I$s#x(@$sRV ڴC;s1 uW 6nk&|9o;5&aG)WI$kb>6Mc h'Ms!}'*8E m#.o 5֩R``q/RtӜ?7qpMk>?ֹR17lkؗϝ`N.Ws 47_#:bOWҜ׿PNrյp>gZ ֭5Z& 51s1۵/@@n-'{܀IyP/1s{{]nc367s jX5ќ*վ)֢>T{ֻ`wֵlk`NR + IҶP5_Z沀*O6y/U  XzZZ$1SZ-))Nmkj1p i+qԡ!8ouWInv Z<($c&y*]ͤ Ƒq]˳XSsk}" m3s"PIb$7 {¿m6 Tmk@˰{w mk}_qr :ҹrD յ| ܹr4  6mPЌ5y0)k'ѐc:Y)BՒX5X5hBHJˋ}9WIxx /+[>*{!!`Kc-k Lc I$Mc* x0|߷}n)-ƒx<6`1uLc 3Lc_`RqmkhvI$kF)Xs : sP 8rJBjВ/nk(@-F!ޠ@d'{1񀄑bO?R֭'Q9} $As%!j n$s1'9#>sf({{@rqd*%?` ss- ,)T ՗7X#:ֵ#!xK+AW|MkWwc 4,cˊ -ȴmK:ts= ,ڳPrv{*[M.Ʋ6/I˶c.{^N)tl"` kk yr&w/^p`y&0pͥBZ+:Kc{ ГPN.p1ܥ` 0))ykO`6c36. UX5յcbн::{*7ɻəxֽsWpXlk// Ю5XҔk\wԤ خ1sb7 :#>ZXXZp1w$! - RXƮ{뿋ӻ w{ϔDI8P)O|{o us>.!&@0CP5X5X/i_̺XXTs..V|M¶k kpķ}w kuK˽[r4 u0")yRPP9uqg ߱ )W /|vP| 뫃9X7䈲ޢ/:X5k(X#6`q{XTp͘X11uI|I9k %5I`Z1I/|Uq{מ XLc *Lc&,.}xY.K*:Ԍ (׏c]TX~,,)s2J99}RRZZ69?q5=-қpNrsx M.ֵ%$iX0^X P_׹BꜾmkϲcF_/Ui`^m$s/BH4,c b u{ïI$O'mkzಮms` ó1McCk\)R,c>\ NkZ=1uk&$ЈX>Mcp6uMc_&I&{;Z //%٘ /6ֽsbY? c'J~|t)J`#6b#6R^xz!!{1zr9@$@$q1@$@$nk*::ɟas9i&@kFx s1W!I$R I${ :^I$rRp]{JBX+Q :%/s) URU I$J?"I$Tk{@$I$s եҔ [W*@$Lk@$I$4Kcp@$@$ҜR5 I$st/"յmk_C ֵ{j_#dC6 򕭮s_h|p' qlc IP [*yw1z1ҔiJZ_mk'Bhh6I$P1I$@$,cï@$@$4J׫ 0 [_>s):ojm$i'|g) 쀴d's1 6'-c9z~ m$$Zf) -/.@n-Mc B@- com?{!)WNT kg!UUVs!} pnmcݭ IIs'' X/:C?"!xx~_3ϑɑ\A%5b`6`R 6Шc]?UZZ~RvR- ҧ`N/{/Ȝ SWO%'%3Jb-:R{Υ1xo=+ւ*<)ֵҜ(%ֺb>+c*(Ի@Nnt/Xɜ S5`7."*X5R/W{j Z5X7.|ѽ::Tkj~Ȼy[{ F˧rq.7]Шc:K^̀Ъ#?6u{5y>>\VVV^7S1Wk#++-jR),c*bǙ`RwLk./ֳ w8s>-қ  8Ƒ5[+  XP&5b#6lk ̾:`SsrK͇whtsϠR{żJ7{8Ô@I|KRw4k$ܞpPz,)ivXƱW_yΐ-@ X3k(b/8ƲBvҫ#ѺrW]5ӛX5X5|ˏO΁IIL[5H$H$x/|7@$XƐ= Hvk.j{$\4}|֠<2|Γ3&5rvnc` (׵\זY99ӜX\TG9q7)-%pnoյmk.oɚrwR*ֶ Suq<}P35SXΑ_ $B"$B"pzTԹsosnp 1T{4:90j^Y)R Q_W-a6mk \~òSR{NoYMcw M.$-c5/Iږ&s'8'JB(<ιM%-c 4:s2wЌX/6{r_xw:`'LkAxjWQSu9 ݞ` Z_WRv B%x`IR)z$mZ;{9uM$nkJ8:DISJ %0s [*{kQIBzx jJI'k Bm@%lm$sJʈTmm$s1zFn-nk9]$@4{ B I$rIJ}Mk-/kVZ׵s]I$McI$3Mc7/@$XLcިI$TZ'3sW#I$lk_ߢk]sr@$@$mk"*~h6Lc|zNb4k_ Lcz&3s U iۚO [`j0WqR]+ز)ꀊ$${ZBb(i'nke! X$8|C"%[502\X b/:k$`i[n4 ,c`ނd]?R. (ܐ6'jJWml'IJf)>`ڒPnn9(rM%-cIҶm  Шc]? [WcђM$ҌLc%?y0I:uk >= Z?:x:`~gL,%:^z"6bkD)UErqۑgJVF$/ښWPN.3+c U{PN.S*c ޙPN.T c-0 {*ɠX j;Ҷq"'s^Z*۵4i?sx:{Zml3gJ<*WmI. wO(It +[`b5+[ҳX/:QVWë@rm/͍w^Ѵ tq]>.۾3*@|zͅk36{=ܜp>:y!VVV\QyxəLk)+9 wqhJ |PN.w4s{z_ȠR1wsU2ŝ`Nr% "ِ(xp5UiX5X5.|&X"˼` `:tk(X횼7Z*y{EľnwsmqWT,c%ͦpRk.&eRry3VbaIvX/:"q(:є-:Q/jШ$y{.ӌ5X,cB`j7k=PRLc*U$I<|x૵퐼T0`1%6`yss .V'7{⯂&'7|Xz:TsI>Ӕ c*$iY?qsԾրd?qiJw^Mms(BM%0 [I$$Mc^IҶ$ {jJ^] I's1b( I۔/$A?9ﭪӀ&?qZx`΀m#<{R5/ὀ$[?mkBWڹm$$mkj%֯m$'Z$(ײ0I$mk1{۴m$$ [F)۴m-Lc%!e٦$k?1+ʎm#k?HBJ$#]?{ϫX:' -۰m [ޜ(j(bHBbpb9FŚ:3RsrpO#$k'sBv x^r܍s9pۇFo? c탦&@r$9*+U'mm$#!W'm$W%mmս*Ul' U8$@i3i`9(7 R1/UNMsߠ=0TU饀[?X0pzzЦc]?mkׯbsm$$Lc_rPNnLc+7/܁0IֵLc*7.:GJ^j,4")Wu ɑI$\]pwlk*6PN.׽1nM% [z҃M%x{ڠ0 ްU+Ь?6.jȳX:єlk:pB0rm$Z魽0I%䔭|M-s|{_ȳ@N%X|b[޻PN.y|%)m$}~M%ֵsރ %*X9Xѕs|p´K :ֵk"i 5XlcbkkPrnPJvvER7sgB ƀ`Ns {Ϟ0 䔻ގk.޹ʡ3y|˗T Rs {zʾ3 szb*:{<6ƭs˝m+:1X\l$q#!":lm?q9zt6'Z"eВ,k"*r.Pnn0ZBz.mm'{'Bm'01l :ֵ'{Bw+`M$+cGBZ%Bid+c!ޠrs 5Z{(mn"U=IRmk1(=IB cz\G@rvsc@Nnqe) IܖJ_ꂋ mc's(B{`xmm$,k9p/ ݋d?01ppml?{1 r@r$ cmn$q$)]M-{iR%I%q(J 0I$3mk%IҶ$ 4 cWIҶ$ Ҕ-k:IҶ$ {W7IҶ$ ,k i?tsXm$$p+cUmm$Lk[M-3lk{IҶ$ I{ 2IҶ$),cWpIҶ$ s*IҶ$ {몀#?p,cU{l${'BW6Зmm$s)-͒md$|!^׏mm$|! ׈mm${RUՁmm$/9_kmm's:}Umm'PC!]]K$(_Dmm07'UOmm$4e)(L$!UI0$0B }K0${WH@$0$%/UI@$ uO@n$/*8'd!x~0F$ U K?S/JX#|$/ PJ1Iw9{hJW8m$ @Z /fZV" b'O Z8ww9Z 傐A 5#_W,'m:Uߨ,%$-mkU)$ [U%$OIJ];P`۶$Rm۶$Z}5m۶RU b ,cUlpɝ$ls)wP$9UD$T(Juy6$BXIm`є.z} RIm`/@_]ж$(_]L]?O$Qu p$Ir{+cAk8*06Lk!xI$IZCX,:7I'Z%{j`P${W{В{ uPN.9 %mI喻p--$?T{}#?Ҝ{jxm$$3,k*{qm$${,rmm$+k>omm$R>9sm-KkM%{ - Ii?{:`q I$$8"WL$#?ls[ *֬?D1'{9_W\0c?LkC){^$ж'sC)^ p#Kc9U(}1${!W7{C)-WxIP|"UIĶ$kxKж$s UJж$lkuꀒ=Զ$Z}ꢂ:ж$Z\ DжsWT`I [Wa$ֽ uZD'YC)WURж$єU_PP$ӜC)*UUWDXƥ1UkVsq#!*_V~RlkUxTTR,c"}pOdORۍkՊoSP1 oB:phJU (\4O?/9N${Z6Զ{zD%qi P$!uc) |$!Ul8I$+|IB}q9In QIB?In+J_ @Im IBIҶ)UGIҶ(Bu?IҶ(BU6IҶ9UPf)(^ ɝqҌR -Tr48P|U_"IRXkUI¶hkɀINus ) R7{*76? x-6ѫ@Δ⨸^sZꀪOO<+[U4I@R_ORc i)xIl PWr?0I$~sHJU I$I:,c R1 + [W6a@-|hJյ.. )^(,I~%7 ƉB_ջXkuy4m$zs% Onص 媹Izq6. Qœrik V@8oFO Ivc~ڤMIb&8c]*OInU,[o e]nyΎc}wr {//hYƳ_yINruQ|?Œ c(Χ#i4 ΐc ,ݜIB4Nc .B9k^ ڌIBP|}U}OB{WYֵ|_*4O @LcW)o$)AsR.VS:֓kwq׭J_ ] ׵{_O1U CIYus_(. 85/$ӜpU[r Ҝ"(. q  ]畭 UiQ~ЦN2 IMc(ӧ]r$׵s-UֳÍs*?Н~2 i{~xxWrUk/5«C@|hG 4s+_1w-c (ߓ񜐖i[׵{;R0 s $#(e MXy^ Pyy/u؟q }}Ź=$Is^h&i8s]8{ UӸmҨXsuuȭ~m$ -[ʬI@| ħO2HuMkOr{C@Ӕk`IB HMc u_r4 J ƱOn$ֵiRUʶ Z/q P0'%ѹ;IƲ?ҭҸ7Ƒ&(P:|˺H,VPri$~W%ŨIζ@sWྭC i{k  I cⰶ_T{uIBkuռDm$s%qMA&ɺֲ%%׭PX @M|`q`!qr [큁qr$pR^ ȝ1 YƯs U) yQ%r {xqM y -խRiT3Xڈb>/|//WԘl/xu2۶X| ѹے&@tuwֱV0P/$a::ֵ Š5b:pK(ū:յ{_p `QLc&qR/R8ֿ`mk{^^7C@Uk{{3 hsR"In&uZmq cZιN$ {hRxml$Lk /x*3 iLkAպbPA+¼#bҜmkZM3: Z xƐ HFN-w׵Q #@4 yӌ:Hi\0|*.zhv{OӔ jL[z+ iszܭRc !oEI$N"?s!IIds%{wyXR fqgN 8ӌ[")7 Iyƒ's [?}U/UR#=60|dt:UkP Ӕmc7>Z:׵mc^\(@Ӕk%;6 4-[( ػmةvQ⮕ :4Ncxpwӌk 58$5-[xxPN7c탺Ӕ S BBϪ`j: Ĝ 斻Ԍ)#+ ܔ=s b]?ocx)4uJd q/)]m4 ӄ~ÉÉ&@<u^F9tk%X11|r} >U{.Vfɝywvnk m(rD ]z) $IפNN{]mߖn|rbc زkc JkoKk3?b it'B__¹yw ׵J5/ɮ3͓ i׵Rz˜Pn%%! ‰m& IB//vҶ TNcj*˿~ jJW.̾&R(.жd$sUUIْl-czsns=M¶ i֑J?/̫֨3 H[PwIb HXє#)C >3є`rƻ3 7p%/ CHxpڠ0}`?dN.Wֱy7 5X5yΑZ|ЌZ#:8PX ѼX/:T{R`#b ҔZ~^l Ҕk[Z«1  cׯr4mkzѝ`Noߖf)*^ׂ4Is-cڳ&Ҕ c~OxZ/,{Z^w?9^qR%/[`suƢ Lk}zʰ#"hRc 8{)-?D#6Z4Zh8 {.'r&0vS1SZԯ}N)RҔLk*ôPN'r|.?оpw0| .ֵP|* w8^"I&ۙ:Шգ_?QpXN7r.,M¶# uji)Yn4|rغ ֒(Ӕ{~'v]維@rc@Ζ}>Vx`IΧ׽D!yW74s闩 Is*,F6$U S]TϟRJ>>]Tvsէc>s6/c?c7hɠ sW{sи3 ֵM[:4M[^^Q|-c~RpwJ뉺To4Nc 5#cMUs^xO'ckվܶ Qmcp`둠c$sj@0c>R В$ӌJƐPrnrN[,ѮPN/J*ӿHֶk~Ƿk^%1Wy1|}'.ٝ`N'#X"0,lk>׵mcz`ۮ"

yy(B--%5צN {տ )%9U-c/VI$IbphJ,$,ӛ mos*c֓@rm$+c}m$ Ӕs))֒M喴Zxx\Ob$'Mk BIk /o&k1BIҶ$ -ca¶Q [ym$$1R/_$ i׵-ck~ rR- I$Ͽ5nko{ɛ䕭Lc ?i.4vpb vB Sup00Xє@"/*h27 o͜Pn%$ս/:yc hXΌk"ǾC;Q|^y'}sX$CҌo~RI+[z .vb5X5ќkc _Bp p%BhjgWZ -) iIT^^3 ?{yN Lk 7֒$)6\Vғ@rm'׵s/\I喗s ZO:\}_` >/\^`ww;|U՞p NXƱo-[5yVy4rZ`p\ДM喖mkʺ~ i| __ĸOޖ#mT,cȼyWumk{p ӜZ\o'Z\^ϝNw51%% Ys 5ڀh:ֵ,c+Ъի_;4hJxWЖo$sZ~oԝnv<8 c -$id'<]Ьc_?ޑ¨/^Vȶd3핵,c`WXsj``Er|r1u c긅)N4,c#)ǵqrT 4Qe4˽)unc7u% `TcYÝrUt{/ PN.uY]6؀Ƒm׵ҳ#R7-[/mm8ӔIBI[&Ӕ%UM. /Mf߳M%u׾I$6lӔ*** -ޒGXXk@.{8f)(uQ PIޔr,cX޿ 6i:_m&J]ꚴ RjJտ)YNNQMc륵do0|jB.@۾u0|C}XXƫJXѶ0|jb-['뛓ْ@JBڠ""R)Rvnc i(6ӔncꥂC@4k^?%4JiO8k b:X3,cz`xп}kJ*pSyQ [%/`N/wk*+uI&Ԕp_@rn5k ѽ.qwvk^ʝrw׵s~j38Ƒx}W8px}}Z --9:X{tTTxh59?UZq1S1QR.6ӭqrt ׵Nckm-IQIB (ҹr4 [U낭ߒ&R}ےqRU_xwYn$ӔsUߒl1,[XvT,[̀ 4J#؈s+rPriq{]ݠI2` 4{zPPqg`mk Ӝmk mkwXX54k"ɣ /6tk 5M:#:BpCy7qQR5/??ګ  immֲz`IҶmҜZ~$)OZp~oB/5IҶ$)sU~|IҶ IBzzm$$-c1޸*HNc9mm$ӔRIBrJ((IB H| [ Drm$9R_b}c2R(~Rb [I޶$ {"?鐮y'ֵs+@m$0|*8uˀ$mk?x|W  IsUWZ lk_n}ҔZwuWunk疷{Ȁ$5.cl3i/cկ]cProрDn.۷Z Шc]; cʀ$mK;{/d]? c~^ IB&TR/-ϼmmXp_$Yrʍ'Ҹc s aX5X5ֽ,cC&p'sؘu!11SӜ)"|pRҔLk :ʴ rU0K, wumc (c5yҔÃƽ` ps{wrqus,./-ɛPn.P__ҜPn7|$k?XXHӀ$uW_ԜPRvտcߓPn.8Ʋ__PN.y؟U@NҌK*-)QpBz>5X5-&TQE)t\ܤSqw +Ց q c (6 NTmc}/*mc-'>櫣8Munk(3 iWO^# i4sWV<շc;іkUZ5Zs ::,[z蝪Nrnk_ O$|sW Њ1vs\{/g4k C kb⫳~Nmkk&?sX kzb0IݖJ^ 1qSnזҔkվRwӔ|h"PN.sW⻬@rm9c±PN.s̺PrvQ]{%3-c ҭf_sӴIvY7=XX9ތsxXx\d,6aMk=սuqR)ukV)uN srܱiRD mkqM0 TkW imumcIBk(M 4,[׿ QLc.ֺ i'mk^x Ь:s}ЈZ:s5(c'8ZM$McUz ɗɟk(^$];k Wجc:s޾?5`#:Uk\^/6b#6tmc-K::TZ\x_I1yW09 +-ӗpR{?[qМMXήszݱD ҜR^o09r_rMk 2 nv [l1|jJ芨\IBQHB_I ؏s9($Ii'sg)k6 i'{jJ߭@$1Z ukc{}ګ hnkbNBb kU}Xɕs"͚9،4{T$H$Pk(X=?}',c_1Sέs-_11uLk()iN 8ܭ yQ7ϢXq|*ߣkk6YƒzUb8rxವxBJ7Q!+->sX5xRpxe;{zs9zzWSWEJ m&|Ц't|\m$us s~Ͻ:ֵ$׽RX¼ϛU-cPNdN׵s'Z1|}`mV7M[-/qkr Pk(\q`Ј`:XPbb]_$rl8| UUݖӔ{̘*ӔkZXXƬ#Ҝmkַ wUZ5{%_IR6ӔhȾƖ+:)k5 {Ʊk5-vicȒ$k;Z*Bpc],k wV˹d]?sjį8֬_?{5WU'ќKkRw{ZU>տ8ls%/eí6AҜ/jj5ֽPWx`Z#?>sTxXc1S{'B) UmNLk?+-`N/u|Wxʹrs"̽ƍmQtB$w |v mֵQ_6ps [@l2i5nc.mo?9sbO$s"=R1S1_ڦRtNӌZ^=&yƑ^1Wc&,}u?F5XL[*=|'8D!s 11Ӕ,c]Јp r0I.߶sꪵ%I%1|U@ Ӕ 7*ck?| `H:YQ|$* <:ӌ(Xbnkkį kz`^" iMk꭫~Rc iR^.{nGJJ ϰyR s)λ X%jb:mkcsҔb**X*{❎Ӝs#) :rjR`这rw1RrwqnkjPrӌmc(봡PNnӌk47}Prns -^ժ77׭RLr unk\~}Tv$Z??-X/::ֽKkxXXZ$xyR9qrT k^~)e ,cP1N sꉃik Uի $k;z @$ULc_¤#=;qLc{P[]mZ;mcr m#'Ӕ c55*8l?P.Шc:ֵsim&@ҜLc>_Xm26b50/ ]o){h檣:Xq [ꀨZ5bPMcu}# qJ Ϝ3 ͵ku/P#::ZzZX{Lyy{R5*ǎy+c/7u/Nts e0TLcxXZ$;6HJx_$mbI?A%m$$4Zm$$QjBX߀$md'iJm#[?QjB.\mcm?Q-[6m$sjBx^IB@J+ ZI5Nk_\މ 8R-c `RR،X91jJ(X9>QR@$@$s_|¶$IPLk7qg@ c/1Zܷ6؝`N/Y|(ڐcm;P١JTN9t~%r)ظm,ֲ7I{//|8 яZWДx@|󖷵sUcԜ cU_~Rl HJ 1c$s*ҹpSqt{(wi&/ =SdZ/6y|X^X ?{#XwqS/PB n +c5pN/wUkj뭹ЍӶMc༭ЖӔk[ɴ`N/UP MMǺ$i-ܶR(* Ǿ wQW`OPZww8ƍkIm' |_u|q usr((pRt;ۂNl$81|r/ΒUBomX5X5q" Gp'p"'s1S1S8szwrq,c*ÑPrvvR ֥l3i5nc W㿓PN.k!Ѐm?Ӕ_Ɛl?׵{'6$k^~8mc_ƽ#6 kȵ@uMc/ů# H4sWṴk- Tkw1gN4 kpc hLcxʜPN)׽mk:Ts}mu|b:Z`: [V΀4',c^M-T{*^7Ҕ{{cM$Ms^_\11qhJ 'qw Ӝk.'髳Zvs~c񑌮s7/Ӣ:Ҕk+/%֬17}Q:>+cXxz}F7q7qmkjRx ǒPMkUppNs/đ$m;Rzzpڐc:k*`Ӑl?+kbnIB mm?QR( m'rJJ/*H֭QJB\\ImQR} @vr [x͒vkRmN/-c{zM&Sr-c-0$C2{ZܸҘ991jJ^>>QZ/(@$@$8ƮsRA:;4Z6zmdk?yΉRU“@nnR0* mn1ྶm?YԔ :WiYr$BX#:bO֓|Z Oڿ$ `9w 17uҔYƨҏ 1ޓVz8?؜UpsKkD䲔RfgIs5J󽭶c36b5ncP*`&wRw»pB.+_ýVOӔncwr{{k{VZSyw׵sսԞpR)80|Z.6dCX3 ˢ#" s^Ibm 4|p_Ӑmd$ [kI @s*m# i1,[-ö# HqJ߿*IR&Ncu??ƹv A/(̹m hc_ڬ99kô-:J'yU%!/ Źrd -c'.Ź3@ok*.m%$ߏs}C u{qm;:}/UUX˛-?Lk -@b:sy8: -{{T.1S)HJ ߢ)uN ulk. z/e [dn'mcʋ{ 7r-s $4|7_l&|. ±Pnoܲ|xl26 ׵s//c36c1q%qI {v |z{?sZPNήk`/w޲⪽UN3XƳ/-hX5X5UD r'z'4d [o`r [p<WqW1.b1 [y}ʲr1-[ %T֮?׵nc)M0 kJF : ~l --[οwyw/eӌMc 76 ׵|\zBk_ȹ[rkqKmkp"*ѤUmc'z¢u,[ |b_b s^Ou qZx Ӕsr+߶(@4Mcࢗ~Rk -cx맘6Ҝmk:54sWu6??uZ}ߗ38 c\Wu}n*-cU S(`{yG  *czxxxF1Syw+c- ۤIR^ɛPN/QZ*UM&wmkc]?0s0ml$Ӕsk]mmq,[8 Uиdm?{R۽O?iBjx̾'ӔA *RwҔMk  ސNֵq{ 钴#;6P{qr4 [qM$AqMcuu3Rzzx\}Ɲ rq c(*}l?{c!c)U0 R_(ִO;Z1; ˀ$ǀdm;{JbzĂ4$-c9'jXDrm{ B*$.s9\y-JJ&9׿*yn7 {iJ1F c- ٭s^1b/Qmkz>k6ҔZ߂iN$4{/{X:mRXc?[LkU yM>R׺Rܕ{߾m-s~$8t m喷ӄ'$I4p߯7ҡP|1X5s`jc,-{LkXZ؆ENssiJzPNmkf!.1Sp |9.?R/sZ@l26Røw{/KBbоI7 v*B5?Ib hzncWXpЪ1#6 [ )N YҔcح(A|NB#mT/|xo- |W}Ib$ H|U޼ö` :^(* mrI:5  Lc]mwLcʵm6{&<؜PN-]k۪*˶8kvҾqR{/Vž`׽nk^mW`UkWǿ$;" 6nk >6mk=.ШZ/:TLk\xzcIZr4 Lk}'/6:qZ: M|sTFqR 4lk[ r$1x蠼 {:bmk[+*xXwk m$4P}U77X-:{]_pXrӔsRwӔ|)Ҷ`N/s(^ɓM~Ia4Iݖ-c1P:ə{6e {X"{ xčl_;szX5Z5q"Rr'p'&xxXj1S1qRkir)u|(*zw/eQ&qr Mcó1n4 Ӕk־ml׵sW ú# ׵kwxj}ķn#R_{ɺr4 rZ X6k6rZ^b#6+4s/k77*Ӓ i>{* m?UnkuиmӔk iX/c:us³Xms ໥3 @k\Oc |_qr l|*Wq s^/ͭOk usp]Lc /Rmcxt2?QHB{bⓀ/®s1vLqԜR8>)us)+_+X>Z~xxz,p1SUZpRӜR+*ħ+co `n.?uLc(Аd]?sWpXʀ4$Qk{ PnnߑiBĀc:kr|ѷ;֬'3k )InTk"]ɷ`Swյk_Uŝ`/StRަp Nk>q n Tk/쪣:XsPR%qmk r:Zє{z͚ 1s cꭈ3:>1n07WyWRE)ܷ|R9pֶ`N/RE) @Ik'B7*k$:{hJ̘9:lc9JhĐ5k ɺkM?|g! ںiKHR~wwý`WvWmk B>U/`{IJ*ιv Z ӹr Ӝnk*^Uжl$4s7ߒlT-c*Wܭ# ͕sxXUӣ#u c̪99mk - K[qlk.ȉmomk;d/yr.)r)^m:{W³m-$|s³m$8lc%-^ƶm.Q|,}ʼM%]t UǷ}7Y{|bPؘm(N/f1xx|]`/wjJ >իPN/Nk') IwRjB/--$V{Q&(׸w1jB qin4@r>-r)Mc^ŒMl䶵s%/ ws.7ٜI ޶I,u~ڛ lkZyPys++UIB@80|ޭ#،Ts.^\X֕k8ߕl 6wIB$u|z ձM$ 0yQí{M#s ;r.׺i/ӽњίsy+ ?kŶ`8{?u6֎kǾ:?4{\6¤ڪ/6{\f:ҜRlLظִ?0R VZ?:{Z-><6HP!%%l u0H::׽Z zPN.vZ :9R^x«MUR/nMc\﫢3:c k奧 M?9k}_[{Nc~.N7k;==8ѵPN.}mn8nc>_zMtયќP sf#9c RIk~|Z5񶭮s[r"'r'px 1) yqrD k1eyr kF!3" ʰqir s18ݶ`R¤MLrncޘ_}I1 Q [߫߶`QJp vІ>Nc3Ɯi$$5J_Ēmm$ [ uUm-$UR]?Ԯ$Mc}Ǟmc'|-cu%58ĜM-Ӕnk /Ʀ0I䔻5sUx7ƹjMNs/ƛЄIfs.>#-z1|UWx~¶#' Q|U?m6N[:bvs^^xmkZ[3H{w3 hL[-$ScjywR'Pnk-?n->赵~(>> [zv"7uSҜR Nj1Rd4IB" pNdnֵ0|Ȁ$c:tkiYr4 kbɵ4$Usp[ιM.X{%'6ˬ:{׮&'ҔKcඞ@N.wT{~uõwuW)TOV.1ֵPW is "PN&Ts\疶UP-? X$8q~_t@ƍk*b h<\c#6Z5s 踠/:R\\^`)7q7qS c9V76kpNw c(BU\ŠPN.R!XxxгPN.Z%m%ۍk9Wd'mk1y?˽*6{:w(O'ZF!v湪@-Ӕ! ôPw0IJ( -`搛Zʝ 1,cX`ԓ0 1mk] IQnk__p i?s*B *΀$m'Q BWŐ&k?.c ҽ&#?s*B(; ܔ-cX%UIҶ$ 1m]϶&[?{$ZǢ&[?*#]?syml$,cUzM%nc)Umm$s} ~umC@s xܒ t{냫 о5yέsjg 3'KcXKRqq$!|~^x;`N/)J/UcM.߬Z%vPNnk*B;99M喻RRؖPN.Mc=IҤl I]spj٧Шc]Yƅ)z0rmQ ЬPN.q ( w,c -((>{ I>ҔknvIҶ$) :*XȀ$#'q1m$$R5ط$k?Ukkz|u׷@N-$YƮs -خ$i?8qjΟ mc'nc*{ϢI%|)ќ&j?.~c'nk zI喻UR.nj ih?RЏIҶ$ H|}Шc?Lkk%֕cX5b:lkm^^V'؈X6{Bk:)WN0B7GWɗq %@ StmkX𠩪\?ӔR``Sx5mcc^$1Ӕnk*On6 Mc%-*(6m$ֵQ_pc1Ts-:UmcWM-4-c*>Prn4s\VPNnTk߿=˫ ׵w’qcRprv?5k 漓@nn䶭s4i%8k꿽p 5YƳ [>r'X\׉ /w **~ NJ_1{ BW-ù{/sRC [ .b :RRԾPܖk5}׷:Q^X^̑#[?ӔkIҶ$) [IҶ$ |Vxm$$uk/ nOc?vRל=l$r BW3mm$1Z}2@nn䳔9 ջFI%߷sUo i$4 c((b{M%Lc*/I$l IT0/Xx0I$ֵLkШcm?{ԶxIҶ$ Kk~IҶ$){_+-թ&iUsu<6RhvFP.4Lk>M(:Zpn'/ZUZɭѢ)wN v0_UuTi&-P[үШb>PT% l$4nk 6$vsU]]m-?ƍk/7W|c]?sT\q4m$/Z77wPN.k&ę ss پN7{%M%u00RZ֓@rn$yƯs IX?ӔC}խIҶ$)8nk/שIҶ$ 8-k z ((Ws@$nc 2Wt@$kJB~U}@$k9WPrvRd!߳#do?GBzA'M$gJpb*whJkBOrw܆1 /`,@nn9U*m2@$1U0Prvs! UDP$s{G@r$_Omm䶵IJUULIҶ$)I9.*Ymd'4BZ^]@nnU9 sm%mk_Ux m$'Zb{_{mm$PZoml$Lk#!*x\ml? c ^Vmm$s1 ըId?JA0$01W3mm?QRU$mm$)* U'su D$Mk *r@$mk u@$q «_Pr0! mn$BUy6$P1( WT:֭'sAU$N$nk ) 6bm cֶ\\vpSܑ +1I&Ҕ [ aDN-Ӕs @ ݔu0A} I$sZc߶ I?4{kb`#?s_늞qШZ:ӜkZe@rm$jJdI%U,cz/aml'9b@Nn4s/sI-ߚnkW$$?U1PbyIR&IB}m.kЪc:U9`z1x$N$,c-McdZ*WPN/D) U[M.kR ڋ -c h?ys_Pk[?v,[^Umm$|hB/WHm?RU6?Rxz_Ul4'+[zxaIm`+cW ]Im`ۍkWM$McZU^+i+I`Z _i)miJxUdc 9 +^9I$R]WTxX 919kЖ$s ^@$9*u @$0C)D$q'J s@$P+[f0$PZZPrQZ,-ZXK`>R߲U$ฺ$amkB`@SyY Bc@Iv~Uc$m#?ֵσDd?Ts**^.mm$%1w4I-ƊR ՜9l$(Jz"'4BWf0$ Uw@r$PN.h1 /kM%9ƐsꠖYIҶ$)Is~Z i$?9U#l'Uf1 ^ 4$1 U{$Ns%)UP$ ]Պ$׵$[O$lk1  j۶m c^xW fCHJ ]|#PnoۊR!}Fmn$ B _>m$1}-'1<}v'@$9\/iv'@r$98-u/wIBZz*u.@$9yyv1@(J]mw8@$sWUt*@'BVn@':XUXe@$d!^.c@$)/Xb@$1Zf@rjJ-UUj!@$)B_ug D$IJ ]Y$IJW_2)7-f!`U) I$)U!i۶ C$IR?D}$I&)%Upؐ$I1^-b %:=)-+c1`{߶=lk9* k~ {1j` /Y1VXxX8. E)R[}-I(I$=HBUշ.M)ɟ iJ׾(K*'H [}^C#m?JUz <`B?RuHpIIJ[F!dIb(BeWM!oIB;]]&pI$(J _mj`*dI$LcWZ/`I$HJWX%?IJU M'iJUWAT?)JU:fO$IJWW+ dcIJU%fO1W^$IHB_  `۶I,k_]}`۶--,cW5*`ۆ${UzI$I 0|_U* 6`ۀ$|UU1`6ZU=I$-sBI$hsW(-I$Omq/ *I$/ӜWV|*I$hhZwu9IR| -UV`I$k(U_xPnq *U{.@$!~A@$quz<@$0Uz2F4d)U_!4?s*Q0? [XVD${]UЖkXt8rqRUwdvmUsbX?Tf)^m@4ֽ֫d!_XX>?#!|\]nI Z!! ^In+(BpZ - 9zUp=n (J`e \n$i[rU?/ mkumG$- [ݕDIn+s: =O- |1b$ {R I$$0|'BzzI?}$ ۲hJCWu1I$I~Z5|Iw s\_Ir%)UUIb$ !Ib$ ) Ib$ fB毠!Ib$ B/ Ob?d iUzkIm UW~I-)U I$$!UU Id H׵du퀀tI TlcUDҔJ~ #+h֦)WzOR# h9@}]I?nkiR(yO-cAW^^N }I IsU8h?bmk Uؖ$I,clb {#)uI@ @s _+I*Mm9WfIB{9**W)9&+c1@@u 8/In,c ;V ?{j]S$Qa;I* `Mk }$۰ms$)U`۶11u 'I$ 9U?I$= Ҕ9ի> T c4 $Plkz4 $|Lc{W>Iv)Q:WGn QUꪀF*n QUG)?kUD?0|#!U+$m|UU& n- mcU+%-sի-mk9H߹ LcAZP)-shJ)\&O-k9([bl @k#{IIm sN Im @LkׯC Im Ink WHI+ R^iI R*sIm +cIm+ koIb%)q*UU Ib$ @0|B~ Ib$ @lcnIbd HRbcIm+IIB5VIb$ RD!%XIb$ c9./b I~%{Z]|Ib%)OR Ib$ Pk.x&In$'s$!X7&01տ[$uJiIҶy+[UU aIҶXƩJU_K T+[Uy(~RW^֨d,}w7+cU/^BIb% iJUDIb&HBU*9Ib$ 9Uꊩ8Ib$)IJUߢ>Ib$ HUhBU 2OR# H׵BUs+IR# JU{%Ib$ 0|'Bm( Ib$ iJUyIb$ /|B oIb$ /RyIb-) 'B/Ib$)lk_(Ib$ Ҕk_W%In& [ 5ߖcJIҖ$8/|UXIҖֵPUeIޒ8PUaCyWxIB@sb8PIޖ9ƍk]ECYΩRW׵C!_Ib H#o&!U?Ib&v%UMIbULIR@1U >4U1ORӔCU R CUK-d)PɝyҔz'B풜$yg!ݪIb@ [ uIb#QJBoml$sU]IҶ5k`o86mkU DZ y0t(X|w1_Ymcu(INr4(2݀=I8u"жIs``ImHUB rI$ [1|*WZMcbJ|" sMr TA+**|qI  T%׺q ںsWտ@8r ̳mڙίk*Wƨ~"M 8|ӮI0yӌ Sј#(^ѐINnbpm}妹 0  #I$I} 7iIUw]TZ`b^O@YpzṖCjѷӔÌƏЪ9ƏkףJ# s*(W{#~Brs?5 IҶ4-cW^} ߶Mkյ}mkWWLkWUIb$ cIb$ mkUrIb$ MkU Ib$ ,c#Ib&k׵ZZ)IҶzMcUU@,cUUIb# @ޮsjI'2{UUDIw{^X. ,c/;In%7 UU)Nߒ<0|U+fIҶqUU^IҶ@M[WZI¶4kzz_xXI޶&ΎcՕ fIҶsUU^IҶRU`IҶMc]U/Q@s<UAI @Y,[W9IҶmcWU@IҶukUDIb$)I,[_*M$ysU+rIҶ֮kUwߒR*vC0|W` iIҶ@+[uhI hTLc_SOҶ#' QRV ]I$mkU/(ir4 8sU-/7ۚm@||\ܜINr$ֵs%mH8Ҕ`ѪiQUԖ֭q{΀3P}uO¶,[WxIҶJU|IҶX+[U~Dm$kUĊ_$4lk퀫ȗIN3Q-WϠ]rk ޞ?ϱmsz*^̹MIiB__Ƚ#hmcp ͻmw-E 2.ԛc͒ `yuW7a4hBz sw/׵ [U**礹r4׵mcÑ@c(ݨ3hs++Xʗ3 ׵sWU~" .c,WW$6׵J I YƎk әIҒ48sU@m$kzԏIBYmkUڎIޒymk_r$s I2@յ CիINi4Q^}DzIc5Zz*±7as?kUWWұInߺsUUֽMnsx .vNk ~*ims Z{hWɾúc [X̴ñhk># i1jJިܲr{jJjq${J D@%[?Ӕnc+_c1|nc_ֱ#HHMc_(64R_n?6׵nk `/pb`b 15ȳ'jB࿵ܐI$nc)k [y{'1|k-vsJ⪜16`ӔM[ɍ@$uc]_ U(2 @$׵{Vwvb'Ukki`I$UZ 1 8vb'Xs`z_`32#?|RXVlfsJyɛ$-[}U(-׵nkiBz.! xp ֵqYrѺc:4Q|k9O?ncꀾ@?ӔR*ƺ$nc|rwӔoc /_̮Pnn4sg˵meUsrϺm'׭k+طP$n[ڭm׭R UӬ4$kvxկPN.s 'ܡQ^]֫է>6Nc }:?ԔZW2k`kIޖ& Rnc-m$mk xࠉIҖ$ k r4 Ӕs-׾_n$k_=Lcz~"m$s齟I@/| ]y~Tmk°u7 DrZWwW SԔok2-ͲRv%e|rZ]٢n3q NNs\yw7{RX_o1g @nkؿ)EDՔ}uHd$YRU$ֳɣԔ;}qЦmUk_yWPNYk qKrYNcHzƒWֳȬmyr(.Wҵ9|(ѳIBI9[]UѶM ׵QiMN0 zr1Emt\ k?91|-vEvحr/6HpעЪ]ٮ s``bƢr$ uR ոqYJ@ Q% @ֵ{ӿɛP>P9a &iWƲ++c:r^WԿM4R*^x˔`Nku3p׭cUWI $Ik8{woc`kUUZR¹iP McW˱i`U|;б 0|ܢƐX;:Lc`@i&׽s d$׵.,Pv8{2/֯{ V99szpx|b1-QwU [k_f1sR֯)N Z(@ Sz{մ3 i|-[㸬3 s [šbkjJPs1 ë/RqR )sRWKH31ဴ$61-c^iܹ @yMk/7uy9l{uZ֍k*UU˪# ncWW_ѻ3RNc*Wð}B? sRUm7 skB//ʺqw RJB Ʒn;1J 6) ) 1 IҶQ+[UC@|R<ֽ3ImkhJ 6ϹO imk(B*`Ǹ {):Ë&Z k)nx 1|Z m?1RB:vЊ5R-[۰SЌZ/:r [^RsNr@@@J<K$J|Z;I$I$sJI$I$sMcVgI$I$1|Z=I$I$1|.[&'I$I$k5*I$I$UrzI$I$q]c{@$@$ [X@$I$Q-c {,c. sMc Lc/_{I$| [|VIBZU /C: J{  J`sޠ 01*?/'pN/4s_ziv1|6b׵s%.3;ѳ [hৡ?1 [bB^-ɛR5pwyRncUUrwߓk --@n&yU{գ:Uk/6_?1Mc`IÍhQnk鸣prnc*Ϭ35kx}UGs99 [_j hnc_bb# iQ|nkËm%$tnc%Wm$Mc-%'v% ӔR^ gR s i[Fֵ0|^zɷD9spPN/8mc%5IV$ {X3sԸkrMMvZSqwvOk U_^͵Rq5ԏ(?6{s֒<>3?jJx>yS1rZ}+5ɧ`@k{z>dKnkJb#t$-c /œP:kz̿?Q9ܾiˑh{jJU׷œrQ9 ]@n$׵jJտ4$vmk }о@nvnkmnߎs\^Iږ#IQ`ƀ$#:{^ZmBHUs}]ǓPrnӔ):&@$5k (Zˀ4<sx ̓Prn5{imnZkиѭ?Yƒp Rxr0mkUU1ӜLc-'ЃIw [\~6`6 [࿕׆m'I$-cޠX"-ғ SVuM HVjB]k$'1J.iosRAe>rJ" iYr rZ~ ;#=:mkUȿZ:QZʽPrӔR M.uk~/ƀ&$?7%̽Њc:tlkn|µ]?1R*mm'4s/7^@Rn{5{ͼhn.Xs%%:X5:tZ\||E+Q|.cH! :Os+B7 `kJbSsG) /# sJbң s1Ա# k1ZO^kmmc:] ʲyws 0|)B⯥)R {)iNT 11uy[n{9 /m{-c6c\߀$:1jJ;m{9Z-sZzʫ NcJB -Ϳ죱IRkJbjI -c)*ǹr k*{b j:Iޖ$ֵG2Wת6%ֵI'1R*.7c":RRx/c=:ncE6. :|Bzז8bM:JU]|jB^޺+:Q): Ш:v): zЬb:sR|AX/6#sIB\7h.r4:KJn*S1w-+LjrjJ:.JI$I$sjBI$I$s [RI$I$RZI$I$nkյ-I$ӔR I$kkނkq,[@$sM[%.^\ QL[ s{I$vsUI$@$-cժ8 Qnk^xܐ)(Q [ *=W :{.&&fRwq9ޢ`N/w-[ w J7Ӕs\ZKc nc-m$ I [\ a ,5s_WmC&AsRצl2&Z5-c 1,Ӕk ``#:1R`/ ywsR<,{ɛܒs->z//Ԍs6]9A1RIBk+rm$51|Օ*IҶHVnc.m-UnkU_x`qeNݰ 4R뵫)R)3k~U-in'p7p? i70^^x^>R/z@'Ҕsߺy)QR$IU,cj N2 kZZ1qS6gs߿_Pnv5Qk]ڬs >ӜR\\^J1Q9 -Ժ'mDQ*JzxXo$ nk/0Iܔr9* 5-ciN Z(xl3 h SUþn֭mk ú&bM;4Rj8ڬ_'ӔLc}]m@qR5 Ʒro{jǽ@m׵{RIHr& [Xĺ@N65,cǼ@n-V{/W@rnӔs.U@n.mc*`$uk/P.sW{Ȑȱ?{Ъd];Lc\\ $$mkJJ cHqjJ/ȜPN.ۖsZ@I%ߒ c'(\_m$$)xXm{ :vb&{)BwInrjJ'IB {)B* `6sJJ *ǀ#=:1 cחc>8ƎkI]ŶЪc:MkrCD?PJ -5(ĴrҔlc׾ĵ@rm0W÷:$tQ`~X::u cZІ٘= [޼(./Wk̽R!)Ƒi鵦-99tR^||| 3"*IB#I1SjJ6 ΕIߔr c!zIҶl+ R(鐨]?{f)‹ b:s)ɠs)*~2I0|):[' qRD |1..)M|)[Nw1-cy@n-)BI$Ҕ,c;րZ?:PRuʐc]?bg1 /Đ6l?nkG) /7ԿЦd'{1mIZNkG!'ϾPRnnkz6ɜM斻-[qqss Mc/$i#<׵{WVWШl?R`_k?kZ(ːl?s+B*'7жc]):̷ЦcM?|d!zìl'kg! l?Ӕ [ +}ШcO?JXxꨑ8?|J5ꚃX#6bQ [^~Mb J/%\"|׭k@-11v NR [64ItN1|Z I$I$R_*I$I$tJ} vb' [I$mcɉ @$I$Ӕs%%Mc~(@$Qnk +ZI$@$qkXӔk{z_ sU+s vb'Ӕsjj Ӕk.Vm+' [%U .qnkʊ%C:{<FR7W|iJ {qw1M[{%é&{*2õIb$ @rW)vnk𺮩6`Mc^`6-c,&Or-cUqR Ӕ{Q rm$ko.b 1 S*%9 >Q-[xp@trnc/7|ncսGAqmc'K&Ӕmk: _} mi'Mkۖ$V{W-Nc꧎Ȫ$A0JB)R7uҔmcX &tP.X5ֵW\ Ҕsz0NP [y:q,c/$0mcX}6a1|Rb6xsIB ΩAMc -?X#(:^Xxpc11|:%/I ZzzI -c)((bR)k97˺Њ:|jJ ШcM?r [~0r{ [=Zڰl2 ms bM;1jB6.ෲ`˶m׵kW0kԔRuk I|Jlm%1c]; [|VVd['qR}PN%U BPN/-cz Ľ`N&mc*'Ǻmd[?X|X ƹmm$s ǻm-Mcƺиl'mk~·ml'Mc^Ķ@nm'-c}WǴ@nm'rZkIBQ.cV˶M%1Z>ˍ %1BտɓM%sW @n-?s-$5mkp =do?1,[X^ ǘR-i| [" qZ3 R'C 4s^Vlqkx_{Lc ]O$lc^/$K" 1ֵ/ +?ЈZ>4kV|pwk Ŝ6:U/z'X5#: [TTVV( R*7έ>Sq [.훝`N/nk1}md'1Xƀm$s17ɐ8kIB Hҵ?sJ&M?k*$Nw1|1>*IURr Ԑ'Q9*޸(M%8s%' I$XPX8*:PW^p^йkM?s(((ŵиֵ?WĶ_?R8֠p@n$Nk .^@r{)ByȮ@rv{!ϵ@rns1pI21 cuuӾ{Z?DmQRZctt).7IJ7ӑ)wNpNs-(ml6r۪  9NF2ɮ/:5|_XخІK?sޗX85sy6AtӔs7b#6bU1|%^\a:|7ﵦXX:sX/6-[ޖ\l(@Qnc t%j/˒kyX^>׵k+_$c'Rzmm-c.Umm$rRUM.R.c*ת ޔrs*- Wmm',[+_PNnT [Ilcx$I?lc :kXx`6?Qk ^$I :Mc @J [-۰q$y-cz~pJ-[7>P#>փ!pXXX7p7w|) ޟ sokࣩ`>JWٴШb:sRÝ8l]?{Jñc[ԜJ^M$R-cI唻1 uu$m'UsV_rIҶ$ nkm#?u|5葯IҶ$ |W/*pM$صsવ$msZ m#$VNcz਱I$4{׉_@N&{ 0ik?Cmc]?-cXzMm19 -Iےsxm$sXmd?qZxmd?Q1\+l?1`p0rm$Z9r]PrnZU/¤PN.RիαM-8Mc/ϳ m$?k_^ʹM-s_ }IҶ# s}u̻ k?iI ys^ŵ>TR¼Цm${yuR3s"#r@N|>/6M&lk`*î#:Xѕlkp  qZh PNX;mk Z&:Qk({X/C?{Rhjj)5Wϛ-c z`N/z-SPN. **|md'rZU|M-ӔjJUM6c0|jJ/+%knp se #:QXzzdÍFnk!/}AҽPrn11 &m$|JJ W@rv{1PnosiJ/к:pLcտĶ>#|9^$~s1j%ע Q%!Z ~Rk Hsn HMcE!imc1ڠsq{J:@'nkJJ^ry [A,*ջ Њ1kg! ıAQMcǺX94Mc`UUM?R +mR||^ @1iB--_3 J{zc qF!yS;ӔjJz`/6b5QM["*5ZXX/:JO+.qWIJ-uH wRn{/ Pvnk%_I Ӝ|u[IڔwLc 6`Uk}+k I$4s]6` T{w@$@7|$Iȵs^W s+-W sT{$Ncz?s]PvIvqZ(8)R):Z``/:3?sT~wpw{).:M. cU}}PN.k ܞ$i?j Ā]?׵{ytli[&QZܞ?imd$rs`BdM-ܒk I| i?s l䓌k*d?kz0rm{-[&Qnc{*Fčn|-[ 'SD$|RАXm-| [cm$s [U*<kPN.ܳJ,IV{U I$svlM4|U_Y0Iۖ$3sm#?s|kzm$k ۶Mmc/ۨX?Mc.{ M$Qmkp 5kW' ﯇&6Ύk/ X:>SX\xpw K`rw՜ps)9-~$V{`xÂm$׵Rk뀫t8l'Nci >c>5R`x%0$1AU,@n!U>IBUdDm [WJD$J}F@$1^@@$Ӝ ~}>@$Ud! 9Z/AI֓$ZUO?c ֽ&:Uw yܭ mӔ)%U~e-c$ $!Wp1w {d)Up2m$ ls)]4w;{/ (' H{#)])n 1/m+ 4R5_9$ H4A*z2$ 49~(-v THB]} 'm ׽1U *@ۖ$4!( c$ HGB_I%' qJ7 !⪪ I# @01?1qe Ӝ+c~@x7d$I{J7(~2:IB* sRҵmR~ȥ0')B՚å${BƩ@nvncɵP;u|;Ǜ?s4|=O'~$qBh(ȓNvZ ­'QRxp`ԏQ9s 5{){`r ۰#jR^?)aTZUU ITE) UĶI'4$!UWIPe)y'ض]rӔB_ v>"8BW~b_? T9W׫ v+&BId P9~I-)1U+ I$$1Ud @A_O$ P1}I$m {9U I$m pgJ*mIq wH4k{2$ T,c妹mTs W3@mkheخ]rk+}ٳ-cWOΖ$ U [WUƶM$Z3HQR_~BZ{j_IN`|(B(.Wj>{f)1SpsD!|U 縞r'y{1(գ'{ :b꾞MPsiJ sGJ^Xǜ3iARï̜IВPGRY ݫq;X+k/ݝ-m:bxƒh'ue9K}$6$ {%)5&^wH?ҜC1 ૽v$䕵'J -Wۖ$t&y$ֈRÅxέ%v >Jjk䕭Mc~ל_I'ӔR5zK$I$?JL HB՚@ic':V'j;Z՝ p?x09  s'յbHX'Ҝs^Vc۔Ҕmky%MSss}w ‡&i5sJZ>q1` IwܑD) XvP [8L0I$:Ӝ9z5$i$?Mk)(}>}$sE)ۼWSg{E)7=>d3JtZ#`֍k%%U$IjBU`]n$R ^̍IN@kJ"ҡK 0 k ѳ- ms(^y=I9|_ڼϻM k& R@ vs;y5 6mӔ=L\:׵s~|{]дN24 5{_^}m-ENTkշ /'sWޖ9΀l]?Lc~~pΓ 唗4Mcj\ݓD S)Bᵳ4qJ `O h|ZhxrH{RpWN@{(Bmr4nkJJZB ͏sjJ`yg6XsR0##(hs)B:|`6# Re)T|)9}{ *U.Iq!U ~&TIޖs$!>kUs,d {$!U-*I%$?2gJW K/C1U=dmpD1W/I"IжP!+0=9?$ @Ҕ9W$$'h39^Od~|1UUKp p9b?Z?-AuU"Y$ H1U׸[#msnȀ\fOLc!U^{<I2A,c!UU<$Ir cUտI$$I HJ Be(7  Uu 0I$ @t%)Wc$)9__ I$m$)UWadND1WUCX$ILk}uPIRN{#!+UtINP1*]rX?mD1W֢V<+ s9ƽ cI$ 0(^z]搻s -UiZ?q!uu# gJxUUS9) /JyGڤm c% Ut.1{ A IThJφwW7s9|z)w -cg!(R1# H-c5[}~R HjJ\zqis$|R*ٱ풜$RM[ٖJ>ߠmr-uncu ԴksC?[ hUmc[^yyw-7 Mc_yu6{gˠ >Ts:sXypwqiJ=*̜PNN,[pz@d rs BZB x?r1+ӐX&1ZbT؜PSkAjdAisJJ_ X#:nkR g[RMc9N|Rآmit)B7` x k}hIyyOT׵hR./ޚIm@8_͢  ysޱ9G Drq- r2|/t&i8Ƒ\ҳ#hֵ0*r̯ ux΍k _Ȱl߶k{|\k}2H{WYiMn{]_}OӔlc+wORq,c}Ӓ4 UM[2맺uIBn s} +q=I Q~OH|Uߏ;I|rZ .$8ƍsꫀ䶵|"㴤PO'k(id]?7΍s_PZZx ~{1/J{_m3IvMcwxI ,c.(t~2i׵kU~q ,[4V@Bp-H0%!Uq@N-3g1U79Wܳ9 -]uX4 N4nk>a /1s!;9OW?Z/.E11uS|)]n_ [1xx㣃;:k) Z :|I:xD W.k B- )wnnsZImmԜs+csVmY5b )BWhO' 0:WyZ+.~{XXsWm[s mk?^ McTSͩ ȭT c ~ml{9⿀dm?Nk :ڸ8$ncJBxAamN7wsKBu PnwNkJM߾ؓ*B/* I$Ӕk@m [^ـ$m:s 렀蒺+cJ.+ 4{Ҝ#"*ր@NUk/w~2,5k*lU}UNc+*8rlɤl\SIWrs~ɲX?95nkZs<۴4kzyw. kշІb#65k ̻C@U{}ʷOH4MkbȷߒҔ,cиIn4 QZ( ?w޾r4Mc()1  k/͜qc>r~g관'׵kО:ҭ'Mcް.Ӕsz{$h,c輨׭{ZZ?9s_x_^_l3-R7&CLX{Ř9fX`ZSӜkଟq=nkk޷1 ӔsSiyYNsۯ鶛P04Zb4b-ca,UjJ7&Cx,c!0IJ*g"\us ';??TXƍs5%ȨvR{JpSnגs)kčn?sJ[_ ɐ411- {Jgۖ4{R?Tr9{R - I,?Mc K Ids2$i$?k nπ$kRwIwӜ [ (uWs){{ى Mc$,c*9gIi?ҔLkUj0I-$uR U}$i$?mkygml$mk1_*gIҶ$ I{JJ]qmm${jB]݀PNwu [ -k2$AUs\zġ-INss] ȸwˍ:RUݟ:˰ s%ͶHX?v-c_\ʨ@h?4,c]}_˥ 䔻{f1«ѥ I[?{B}ٍ I$$k(Wڃ I$?1-C$md'JWO$I-[ 3msV\dNvk싽+(:QW팩Iۖ<{W%^Цc[?q(J>#]?/")1{${D)} .[ϗnkE!-46}FAnQWo|m+>ULc{zM$l IֵPi#$T{P}r|j;{si.\Ml$ c?'P(#$MkY VGx'p"'s!T\\sgUҜ{y:SC|"Mq,c~]B풔4kLZ0nI-c€RHOB?`|h1QBS$)Ӕ,cづQCyy,{ [5VLs;&9h1SIvl? 9*QKwyzZ/aQ94bײ-mefjTs(2vke4ߨֽ6Uzipսrq(:Z{q-sN_{-[ ksb0 b -Ҟyw6Ҝ/׼ ֽ/zS⾔bҜsS䩓I$ֵ}q[nhs+t$ Z I– c._$mc O Z舣G#Q0(: *Ωr/T{sܷ1U O%`,-o2'Hdh&j>RbT9PHJh{R*5,؛`J/v|ٻ?RirX [BC׽sU?ZپЖ׽R/jˮȱn?0pMbӫ`{!;׮m$1| ]ʕX#ݶUsxkɵ$#:9z0 A--׽P >P~| q)'u|o:tͺ`wTq?ˮ?>4Mk0X@nm;4smˬ@nحnkִm.mkͺc>lcѹ .3{H:,c_)9#:49rrzz\ANQ9^mRrqA .z^PN/Ӕkή|X$c's[zT@NvܒMky!{e$AST{_ϯ's[` >Tk>fOZ_?0U\wU[F䑌LkoVK]6u [޿YLmM?uZ*[II.uQZ8_N sJzTrMWbK6-KkjJ+;WLh{Nc9+UD$]?URQCnwZW*NGvɿ,cՅ[F.Q chRPNwۖlkgR${xQwXnyxάsuvb4s{܁e.qSy{sHI Tdb`"99oj5ز1p TPR5P é`S|m6%IkP0~Ʈsze3H4mk;MkVi;69ήsW*'RWMyu Rܼ+ٟ7uS{5=+5Pksڪ}c/: kp5:sB`g NqB cRwmkIJ` NӔnk) 貧 U|*Z5{+6i"'UMc*רФq$,cژﰓ4I%kC k=(?U׵syR 54k(< hRzGp NGR ɿR-?07αX\PhX=T{[xmm畭{꫎UF1|j]# @U{}nér$sµ5{N_6ws׽{~庨O$ӔNk%ռ$R0:.P ̶)zJJJh.N 1$1 jONnd @j^Wh m٦m{ޕ5?I[/j? TI$Qb:`cvQpS1wus-qR5Z3nkx8N<&>u{U\:I"sw5-FTl26Z ֵ{QH`zGsܮ_N1 &|UbH [:|OK]M7'1jJ?E7`ɛsJ`[>wsnHɝ. 4k#~XIb&mcPwm% cmTS@uۍ dPlm3Z s[v3 cx\^Wg4ZՀbvǖb9pb+V*(L6샻}]6eSSҜ$Z'ٮ tT')((٥[?!nШc]?{.tZUc[?tmkx~]W:IҶ&Q9*^@ I-)JO I%$4,cUD I$'qZ_Tۖ,c(S@ۘ?*cL@Nv$sZ R Id$s޽(cm?1{h#>}$hRhuJs$d1~U]@NvߪZ!_{&PN.(B+W0 I%U1չ4$i$BW7$k W6mmk WUF@Nn-ce)%]Im$iJ կWMm$ҔRUaIےҔ:`לJ.^64+cN뇷 tR%˔h>so`Rַ I$?s.ޱH's|nÈ08O՗I$m+ ,lj@'ӽ˃* $I${Ɯm;Ts*x~ۭФd$sכIۖc 1,c 觢I[,J{zKJr s! c(@T{,Azg]_pM}B# @q+shRm3l{>hPm;P5mkJmm7usd=C?Ֆ|WC] МFZz*yv b OTb UTOºJWqԶCGJ"+__Z[?IRpE)^U#$I9WUlI(BU{I BU*$I$HJUU|-I,c }Vn$m mkD)*Un Hc1J$m /%J+cO$ pZV?I-) cUIm PHJu(/Il me1]~I$m+@e)Uw I'd hPD!U_zp $+mk)[U"q$ ioc UuK.c$!UU,7N'sUW^6dI$(JUU0I$A5]9ɝ [$)% Lj;] hJ^ {d1W)fIBC9sqC9_dIB3A_݊\`O9"UWfdI.")USIbKk1W~"| pɝМA$I.)kR 䔗bտ d3# ֬{U]fJ6 cKof8XbH6`ێk ifNɟ$)UUlm$ {着r4w0 NDbۭk)_]WMֵ)UUUg pwX$1.UUe(ȖI䵭J>P,$@w$A UT. .99(*U[>[ۘ$GJUCј3t9jzDDc)_7eќd93Iy֤9 A?IҒ1WX { u_d$@ZUQOZ Ug(ЖI0!Um%~O(򨵨F81gZu_5${QC9U r sUz17V.k(m7ΰZj~m0p ~"mmkk^tOmҜZ6 umULk[D~J, ORc-Ӕ9UI 19:r ITJuկR)i43 c l~@+cwU"dmm$׵ZUp풜4֭s ߒֵ/UէשּM@T-"Ib@ս%RꀩCIŋ{}0IҶuIʀ7ߒ$HJU[IrqAׯxxMnmkHJuzܘHQZG]uՅ3I)J gOq9](*lmXbu:% Q*%99S֧b* {+R*ս00S#)_ uհO ֑.$ `yxX4,c\;˖؈T{NW,mT{:?טm P\uMZ54Rxh%NpS1 FR p\nok(mUtնR(uU¦7nk  A$?yƒP{ɀ$mc?֒W's׊tܼMm䖭0 ~UĀ$ 唗Q߫˓$f?8ƒ룭״ ZM?U0ĨЪmӔLc{*}$ҔKcꯗ Nt@PZ3Z(Br`S1SsE1 ┝p OR+ -L$lmsnրb>4mk&{Ȁ'UkUmm'unc.x0I-4 S 9Ȁ($Utc]Ӕk^>.Ȫ[mGԔnkrP -ce/ hu9{;H4)ߪpIJ}g"WZP5mkzx{>OZ=_ʐqiN@{̵S#' qܕ7ѱIl@֩JyN$70|wb[xmcxm @ӜR(j u$' oc5mzԔ5?[ 6,c Ƚ lֽ՟˴Ov 3s" 70 + MyҜbOR`nֽLk^܊KSp cc(죱q9~IҖlSb~Bւ&@Lkǭ3:Zcυ# ϮPIS ΆZIp Ŭs-/I p8s1`1;9Ӕmw IYs *0}Q˗u)WJ 91|wwiwvk{9 s:I싑1|r]/i6`8Ӝy,3 c@j=9TIt1-'%%Ƙ\U*:x1gNIR]Uc5vR Ƿ`??{5"ʩD'sU{äֶrNcȕTs'ݻiCi q [Ĩ`nwU|Ȭ?|}ε:S?ӔkokphWəRku}Fash>sϫon!P,͑IJpjyws7E! -ϔN$IpIB%= m.Uk"X=:SӔIBV̾X?ZR늉-Z:J׮ж>-[-UPrRߪm.?4s J($rkmc^㠝Nw|);]n8{({~Tlsxx.g sus ``P XƮs|^iO|{ QJ|Bd` N k%Ȯ` i>ߕ/^ǀ&ySxɝppY=/ֹiJ`I[݁ N[ ett` {57 ڠM'{_lv|J _Ok(:9ƪ` {}󬣑@R|UWs=I-cJ`NM-[)vs&Cqx1챔HBȼګIOTE)Ȕr䲌R(ԩI.0|Ѭ:?sxsFe_:UkiSXK7Mc*N@Ӕs |s+_[5ULc~X: SҘIB&hMcխ#kKӔR9eЖ ['ܥ 1Cnc(n|~>qs :`ܜO,ҜZ! TRA77к-սRxpZ^1st {.cAC~B{kJ\Zz5UJJ?íXb>VnkX=4-c૕M$&4-[_﫢e:Ӝ-cU/ ML1 c&T S1R4LcīN0U̿Om u߸^R/׵„X3stxT՜*3:ZZjB21wUZ/˶FXQhż`ϛ{P .UŦyp@:YӔT~jːĶ?ֵ/|XPò?صQ˥ 唒u1Wrywov°RT{{\Mvܑ c|р$d?3,k)ːu䕵piΓcP[*I9tֽ ",`j:ԽNNRzrНNS.KR57 #(6o~d6΋s4| J3{ 䑔Lc`&h& ["jk> l,cRy-c3c$ kck{ [p!ay [_' ksZ c"^,ҜR_'@S}xpE)5{) RW /o?s)Uޭm$5Ro(i4sCeS;Ҕk_??#5kO$uk޽쯣Z5mk~`b隆u {iB7I޶&Ӕ:׺_?|)B؜s$l@|Z>[*l8qjJ*uOn.g sJtǃe,jJ '>}xR''ɐ4Iw1zt  s1-h Ь10J7ү X/:|R"X='sIB,yiMcᯣy{d-cX#:s_UO{65r c y /5îymH8|WWwsd q^ޥ%C'ֽs+~ˬ`KTȲNZ hӔ c`8"m#|||&Jx[PhR 䖷lc "+Ю 唗\ﲌsXm b ,1y}|I,ܶ0|1tXatzΓ#-5lqxHǽl1G cnBærќZ=IJ SLs~(ͿX.1 ѩpOxΑc7 0IҜp͚/:U)kZ^ps2{/ $̀&?.&E$w. . a_˃PIr;钰qkTlkBxl&Xu [j?mZxa6NkkJT8_ ;5Z9lP>ӔB_ $JJܘ?Zz66QZuP /:'B~v4~Tt! us7ik6~ h []h뀥)c:siwbiLc'U< su9Zuk|@ӵ}sIm9Z\ Ix;Z &ISPZr珨ñѱmk웢ıIPZnͣ1 pSќZ ,y9Ts[(z'&J.ܡr䱔9*W*0I.1UN I$R[l$IB޷d sֵ{}% ߶QJxϬ]nS1_ Ҥ3&i;璌UU}~&t,cաt ss ױH:y|¢m6$ YQ5.ݧ$Iۖc_#BImmP1Uiiq?T1u~>sB9(~)tn$9z~׌"@n$lk#) Wլ'@n1 UHMnbUrmnYhRs Id$GJ(_ƃ ܖls ŋ I$$07Ɋ y̫@ߕsnm6d c.=ճ$xα*؞IV?tʔI$m) 탨 ov I,lk pԍ$I2jsZ:,͏?.*҈۔bہ$@?{ ` O?j|~WM& HRDZ W\ I$ks"U s3J/ I?p9z I?9ʮ I$$9+U I$$1Z{ I{1 % I$?{Z:h>s1*zX?:$.hRw=SO\||D15s7N!սkŸni46ts}@40%wx|m>s{ໆ 3mk"ɠd+Z:յ|~rP@>ֵ'BzI$$p1 WBid$!U+'{wW @n$P UUIRp(UU0N${ U0m$ќ)"~՟:$ "-۶mMk1_$I${!ˑ v$I$Lk9Uߤ/I$IW-I$/D1_oI$P9/{@$P9@$tHJU_WP$9 im9Wߕ@$1{׎I$Ҝ)odI{D)(ZpmB U Mc,kW*V~B@+kuMI@ֽ9U;IҜ#)+InD)Go8RuXo@hRUZbRUdI$m UAbɓj cI$ @IZc$+KkWO$'HFRU=l$#1X}>%R]$۹tbuU!ۖ$%RUU!v-YƇZսC'd @Zߨ;- 4c9"]@6Ҝ9 '6kWz Ib@gZW$u _a7$ @9WHV?Ҝ }Kk wDi -d)U\QI$Z]um`Z" Kt_r$!W-)1UUId mud) Ol$+@U(B[ ~O>N$)W׽ ژ$/AP9U P"$N'RZMI mۭs UU WMmKk U]UjI$ |D)UUURX'IsD)|]U/%(J"+3-iJ#)+XK?v2)J\] 'IҖ$!$IE){I$I1U"Rm0& cU] VI$ZSKI$O c U]lmmk!ZU}&I$ Z#!};,I$OqZ#!b7Z\(I$ Bu/ %I$~h9XFm1.!_I$wKpe1UI$ @p#)Ir$R{}$A&mm$9z:[N ҔZ*I>mkxk}|<H1,c'HX-c{꣣ h5JWC$UR OBv0O@׵s˧CZ ysWWվ3IncζORc H|ua1u mk(dAnMcUP5X4B[ƾR*.u )-c #(Wޒ?  M.h5 NZH㖼{}mr+InUOޖs INr |?I%l 5ƒcvQeֻ9Z/i5sZ_ʳRS4-ck-I$51|zk3H1_ I'8ƅ)UW_ə0)՗x&@ [W㬹r xr53I8ƋR _# [_*PIҖRկ._]r4,cU>1I7lk#{uIζS ʹr Y{w‘@J~yIJ{R&n{Z,b@'t-%Z _XH&R N A| [֞ILnc_NB IrMc7>_# kݢ4 cml$sڲ@rm$Ӕs1WN  c1in4AuMcW6Z Mc}!"# [xz(Ǭ? -co9W. nk -u# yҔ+1SS7U)Bٵ7w7UR/,Fnkph@ڹ{s uR>S `R^eW ӔJB(&hӖLc(X ӔslY9 nkRXncs+UVո Z3:sv璌c ::4|U\`sT4sP_iP11sCc~e>Ʀ1'5̺Րu*B$5ncJ` Q;5?=:ـ5Xu:3i:XƍkAIP9>HBp9NZ5qM P [M,&ZA k_6`Ulc?Nb; qZ_PII$|JB5nIsjJZ,b6kIJ@nu|kJ<@I{sB3{ h9Mc(ِ$Ntxqk4[I`A{y}(4sb70 uLc]mܘҜ,cϿZ>Qmk%8 ٙ``;3mHШ5,cOT uR=k;0|Z钠MlqR-% -wYQA 4'97 I-0Rz$i%HJ޻I'4JՂ ߓH?ZZ ^Ѝ I#$qAUܓ I$$0R訂U R=uШRxd#4 BIҶ&+cu踒 N4s%9 ߚs_&mH6(B^II?Z}Z>pA(z?p'J cɍIF維 [@F:Ҕ,[uw"B I۔jJո/0I? [$i$$5syఐsզ_ժ6Q c`ɳPN7mk m"T{ѱ$ib>k =êˍmc}4us/; 5mkTpN\|{=?ɝFMk孜4syγ_'՝ 䔘Q;01>y [bs*֬?{1 yX>յZխ ZfCRg (R 0HJz͒ R Is4{WP0If2umcX?A~Iۖ${JB~V f?|JB=¢I>QR<>i?QHJ]bI$$ p#qI$$,cخU@$I#?0hJ_@ $ܲhR.("Z I#$5iJWQml$RU[0I-|IJ 0I-Q,c! $I$si { WHZ?4{HzrK$c]?21\00r$19?t]H0I%(Jy I$ܑR@rn3hJ)6O$GBUPIA)A}'K'Ҳ{C)X\($۹[Mk _}K{ UUd#:{UU rP'#!Uru1 6D$3RU/9Wz`'ֆ)+UI1ݏIm IT'BU~ ҶsA"P$I ZU׫?w969W3c'@єBU_'o!iC?ks)-{bI"Io$!Upɝ{9%WPn'U1 ~m9_UA0Iw$AU i'SC1_U$1Uհm$1 U_m$E)*uU?:9ppUU0ϑ#`,c7W~yI?ӜUUI$Ӝd)U`I$1"UwI$ֵ1^Uu{䖹mk1`f!)+L3:S9 UۆpSJ]lIr:|hPo۲HJUU@r'{W~ m$0!UU$ke)}$Z!.kWOmcC!U'Iߍk /'5$IlҔ1ݮ $I" ,cC!"ImIJ{М$I IJF)vk J !I+cD)U&#$I2{1sURIRnlkC) #II"mlkFBt pIҖp%B.'}IBќ []fIҖjk^X'O/9` 2$I d1V1I$ cD!UbI$ZU`nޤ1UUiImHxlk(dO@|v|cIMc ɓ3A Uncj ̈mIJzܠi0s_ ' 'B`I7 Z!o$' QJ|JIn$Ӕ [յ(rqI׵s)틫C3&IiJxN[N s/ /IX;hImƭsͰԶI$Jk (@Hֽ0u3$us wU읣#r Ʈk#X uН I&@ kwꂩ6qI0I֭{邙<#iIֵLk^*z9ɻM Ub( cHZ*&I+ck='BxbI$ɛq$)rI%' %)} "ݚhF|uƍ; $TL[ ~Д#rl[h#i ֭/]O@B~I$q:byVɝw1qs1] ͘>}ս c 7̉sT '-3 tP@Wɉi s~0Z\ܶX/:5Z/__[0TJsppc?OOJ ëO|sUZ_/5ms Uؽ %uZʭX,[k@Rts(=PNwW/|U&Hn$p_V[]?OX` mkq{N Lk0= Mc_&r"'pxZ!}{zDc?sWx)+ mk?6'J7PUuߓ~Xm?Xs_ńo}kֵLkUU>} u1 yS ZIn$MkVLI,[b~I4I c !`IhJ ^ wjJ )[CΎcuDR׭ZU}!`9{K}qI|jBv  [#m$I,c]u~"m{:;#MR S#5P5B{jdpJ|#)r4 ׵Q׫@nU1|9{ض&i|ʟ:* CQ^_ 8Ӕ w?yƲ{߫X8s`̙iw 5sՕI1vszb tQ1o] N7,cј>?ֵs|rTnsjFs}"(IkR`ްChkwͨ$ 0Z/ ;6PJi6@QJ@ ̖iJ|ϻ%9?WRx~ht(B<67X &b5P>r)WƑF{WЄO?{Y0'KcBָи'{϶S R5uHRjjY  0Zcy!`ӔNk'5蘏>s.GMk]zCRzîId mcU3y{T{w'dus~n{yT{ͻU~l&Ҝs#p &@RIv)Ry cCp,紽gR܊x&mu{VW|єHasvՋ+u׿ >qZ*wVn?/}_ظtB?lc/\pyxlk??ՎE-ƉRXz<tO׵,cuFlk{^i5,cM;iIBQ c4'y`R+c{O䖭R'~{R_I :tRI:ӜRfIm/Z뀴J J=۱mPR}_c9ZR%?VP5ΨR^!p u/|;̱l0|}>Z4s^⫻sYws?mM5|~=Ưs/w tP+eЀ%-1AҽXsN4kjz"t 䉶4D11URjbJ0M꜏T1KiyX s9++ 3ius[ۨZ54smÛTNu [/pSv:{5Kdb%u|zML4Mcܥ?Ȝ@v$49" cve1)BV4ITI,c۝Z PZ-5PwvҔiR(& *[C:Pʹи}'4|s¹:i;pebM'sZ{0 54GJhjp0`JNf1믁 SZ7~ qs"kyiN Tk/+ vB trxIb`s`{zn؊P{WO9rPsm$H{U[1i&aP cۂW΍sU 9;s>'jZ_~lifֽs]s▁w$ 0ֵnku:$Ҕs:!un:#ts*wbC{[bg@sߓ6#>RRxZ^L IJ`nLk>}P&IZ%ks4 tiJ* ˶M$R}>ZW\ WmkU%5mc_#:Z ,cu߉4 hJǨy풓 c" [_8 QR&'R?& 5FBbr ` GB )âP5uP3fJzxv S4%)'/`sվ  ?QU⽹I$%+@{ I$$u/zlZI&$ k Iۘ$T|r$i'Sk\0 䔗Ҝs' @vO}I>s@H6WPM'Խ{Pz{l ` wyJ/U4&%tRwK V',c.)|W6IJZ)]u|]ׄ=i=::(h`vX=_?{hJab'p 4D) VTTB^~גIY'iJjPU0I%? c I$)B'=Шdm;єhJWr M.HB *$Ink#*ֵkUM+'|E!(pM.t1*I$d h4Z~Z_?Jz~ K[,J׵+ PO?X:r`xV! sB ˋmls 5L|X0vqs37(ѳTqeťPNv׵ׯ.d?ֵh&r|,,9n,s ѣO?ҔB0=O$1Šk Oy3E! Y I%mc*➐$Iս0KĜIs Ii?lk>p  I$'s&d$mkWПX>' ccWv{s`;Us^-f N.TMs?5W9>רM3ApW INr,k9%6~S[?#@sd1~!mqBWGI4A%OҶ$9dt'm h39Su M4A'5m'vZ0$0&J ^D$49w @$09uO'A _UImdcҜR .'"@3B_*tݒS9}AdB7Ơ_?IB9W1';RJrU I-' Wis-Mm$$BU$񰔤9]1O$s1/]W$9*UIX'I7Ƥ)_y9~'hRn_d15W_I¶#!*U/9UUB@D)WJrI䵭$).U}Z0iwt'BUL0n$) *W#m'յe1WU0In$E)7UV"IҶ֭d1 U5 Im$;c1U<$B*{UU9I?М:!j?I79`/$~9EXc GJ"! hpI$!WUIB`4! UUm$$)U @rҔ1*WU@U@n?Ҝd!m$)oи$/'B8 ><ذ OJn I$Irs!W$j{E!ժU吘IĮk152`J/ҜRW mc'PA 8U pJ*$s1 z}ɝ0|1 6Pnu,cww6'r$!s I{_pϙyk) ݊HT{b}R +k_"@p c~^zOº0hR ]{݋oIRn$t01Uj@׵iRw*}]JIֵNcF}H c05OBlko` 2IҖQ'RV>IBigR* KkɗWP o&R((ʴ ܴmts*P-HfIOVıMlY?R bұ;{7kkǡ @Xw c~^0SSZ URəKk+5=\@{z/~B hJ} Iv 9u {sFBII{ߑC ֵ0Wo%p~sW&~e)Wꪪ4r iJ-}Is50wN.HӔ:6Mn tLc- g#XƨJ~  3:XѺKk]^۲] cd)\ "`۶-Lk ؠ.ɝ1 |1Mn0LcUIm4IJ wIQB9@єRZ b P&B_ ۃx9U@869Uըr9+(LOn mke dOr ,cU.UZ +-OBhJ舠AIR7Ҕ}2I¶@յPU׋r +cg_?I+c ~ &B.?̩q':UID= cU-ﶒsu7mm$szUCIޒ S_ p@I$΍kWSOmtW+ZI2@mcU]yYn$ Mc "t l׭iW϶& Zzp`@AW/&mi4s) Uv s+y4I$$ҔLc_35s|2'5kk;̿S 4kFa:nc #'-[}ܱ5M:« XZ5R5lsaAU Z!'Irt{_>xFe?SO^c+mk~69qP3R Şp r3{ְødY?ս>[ `{{w 1֩s({@OR)!Pryβ8-ˀ(M:szӵ`TsN 7' s{ڹS` \瑌U%/a@8p̀>R5ywW8U[C rO?XO?޻לRw 7[P 7*cXPM/e1qin4HJ)۔yr$ -c _NmQjJmP.s:I$d imkB*+5s97siKkDʪNܧpBȬs)eN J\\ Lڤ+c=9n 3s?r+cV ` T֯cm$6Tm$W3(Pb[9a6aw8Ʊ0s]iȀ |lhs13R7ʡ ь;?WƱv`1Ҝ񦞭I  3yr@X3U` 8֕UWS]PXTl}PiSP ߲ WҜb wYӔx 5qXr{z 'R#'5Lk/"+ nq ZI$b0| b-:{`쥐R)RkxƐ9Usu׻$Us'ɷX;?cӔkWȷpss5\P5Z{x_Y I!=.y/ 2{W^U-H2 c낻_7 {߿1-ז3+k{ʸ8l26 S [xxǀW΋s[us}7ƌs߾>1 P9Zzzzp/ySp T{bk ޵`N Us$(P# 0}дNL91UW/ǡ` mXs"FNp~9qO0XLkU(*II֑Yu($(/>qwpMXW3Tn&@XƱ=j 5 P5յk`jxϛx9HB--1gN)xo4A NmkɃBvgHJ^FX,kUds7'Z9XUs\wr&pZV^3 (:. 6$ەs'֢/:ҔRjXN7wJ.]M-8k".غ'єk AL7Ʊ) wX5;iДkŃc mҜ]U@>Ypw"۾0gxq)<8 յo]"i74NN$F6`6X$AM:xфᄊ퀶:/IFt*ߥP.Wk$$ֵ"}mvYNcـ5s]XM?nOs t-[ כ_'q:Vȶ׽0|ZIʖ$ {rV˜9:4k^>kȸl;6XT|?sźӶ T1|UmZ# ֽP^ȥa9q`4ER'.)u p O#*Io~^濷}$ ss˽ mc;'kk`~ws. cjOǿ@n:ksBǹ?"&#>j&D)x^^\J dNUZ+ǒ m]:ncIȀm7Yr"5%kq:UUw I$?5$u̥PN-󔵏sm$|h$dm?P{o۸rUk >?:Q@hr'1@8ƌc/$i>7P6/P59TR`xr,p TJ))[I ncp`M$@R%~H+c~r +k{ $I3s. ,8{)雘9X{\U~vh o+cZ8*@p dJӔJj!1>Ր -cr1iJ@TkR P 1x7q I^֍3ؿ 6xT(l368YC?7R~ೀ .1 nvLz&1,ct>ęI`xj#yk$T_=֢pLny$4k$#:7<(݀&[]?6o)֫O?{R=-%;3'PyeͿr׵kwkȥ SRuLʶ#) jBiK:R58đ.cZ |6O6mk|XXӔNc/Ŷc is{ƶ{w$nk >۲V 4ncWVϙ,>ɵ{ŬtI`R kT b6l&.uw$ ս6(ü[ {Cȱ@i%{w̲õ1 6Enx/>ż Ȓ1յp źM>Kcڧ&h꽾\\)mTuZ[{߾d?:-[̹I8s㵷̰6>v :`č׵(:  m96|ӽ?m @Ts;[A˵?Mcsiдw/U4s7 ƹyS 1 :iM Ty` tP^j6&991h`@3Nt 'B֦p J 3|髏Z ժ'Zt^&`&׽s] 8p$P$c6iֽ0 5Z hlsx~t>'B^z P RhzpI0s :רOOsR!5#X 6b#64kui [*O@{+j{ﳵ{UgN8|c @jBNR׵:Z#18lZKdzgєR,( w ¢'i-:xs Wm#[;XД!8݀c?XƐKӀd]?X3Z`иS'X{*н~$Mc{м.wwmcjܿ> ypf~ͻks㨂Z#Ҹm1RԸ>1 [6ѳ?UsAk˴PNwk{^rQR?M. SZX3$붲M[7 OҶܶ Us;Jȹn0mk+ Ӿh{_֮:ȗ*,pe]mOJs nV v_$bxjkȸh1{5̼~@յN_* AH27p׏Uһ(xΑw ʖ36skk׺ʃ%)nA^~XP{Ţhv{Zܶ߫nc.>˱C(1W}̰y,nk+碏5{<P&3)@@pXa`&`&X{͍` s9/&:zγWs )'k? O{# Y{6a$ޭ{UWW` 1S,co4X =0e1V^~ 9aa|J"cbO{7sR` qN 5R' `s byvk_Cm,kzIrۆ Z cuO@Yr|'%c}hazpǶR<  W2 P*֔Wآc5Z5єψπ?:7!zֿx5.$ XƭkpIbߑ>kw$ XT51R -yI R#`w- h4s'g`STK]Ƶmm[?ӜLkrV˶Mnܱms>=M. 0I%?3sW'Lkn̙#1",UҜՕճi Js'ǵD@Jս_˽S-E h(Ӿ1gN0{/~B#9{. ̹R\瑔;ֽ/غ͐@WO5:#r.pA^^TXh&h&8!) M?qcϢЦquki/[mw4nk5?IB nkd 0INci̒H5-cXP|,[y. m%?sͽC?4JV3ymc5 #-7ƌkhxHh'|B'{"!\V^pJ u))ѝJ)Q\4m۷r.*`;uQ\RpN HӼ93sP͐$m;6PZ>Ir Z`__Wq;|s9v ) i{)B¼IywS skJ&m$IRբ I  {]j ;ҔmcW,cۉT{mIbֵUh׵q'5HK?| W1Q|z,+>R[XQ` sJc 0Is#/'%c:|絵oMϘXљ3I}ѿ1Xqo@ β o3`Pr2Ov@3X+֫O'<4V\ QnL|4{I:*ݿi c{uܼo$Q [+ݾ {X^ۦ`>sչ5cۑLkjZ*.xeWҔlkյ?kII3s>жNuke3s+{ Ȁ(uҜK2̃NwѺ)IIսn;{ϻ `.VϷm;'6wVfJJXOZ՘/>X [ ĤP wo<ۼ-Naxєu(h.j BZZItn80ؐFϟ׵kѐQlӔJI%?׵k=oϐmls)md:J+{I}qם/ٖ ֪J"1 W,cHࠁt2'>s9Yxp : |I$% `uk* sk/ ۴ #zR|`NyƑ^됬csXU* X5pZg\ X>sB'Z!t (lk#!?IPֵ{wxo_1JBj` @)B- A$vjB &` ncNbsW a`Α2l5׵sR9O۶MkZ,`>ꏑus-""Z;Yƒ/ +>؃97RXXX?1Z:ټS/eN-?Diۘs ֪Z۾}uά#$0N.ٶΑ=O I’$QR<3۷?X-#>kzxѾr$sJPIB1| B .R]-@A%?Ts?I"޿ c:Ukp)ʱdf|W mvҜsǴֻ붟A4mküqҒH0_ʻƱO X{֕5ͻ1N xt}+ /:XnmpW wSkwʚ@ NsɔX7qYom>SKk~m0wS{ ?rېpUMU4i;:յO;ߴ j>甭A`bp`Nqk++}FiA|C֯ІX:Ncȭֱ-[įȯR:k_ t IY?V#)x ۯsD)('yЦmd$mk) "!٘Mc{-䮛 $,[ . ִ+t`*17Svh>|$.FJhy$I$sc)U\f.I$+k1=P$5R*U] @NvtR;]= ܖ8s Uq@ۖs!c]?bz_T>t$bD)aɑI$R|;@Y SIi?sW_\ ys{5Uf?Uk a9q(?\RoF'֪J|@'8kvL Id$ֵ#! H I%$C!U& I$?hBU T )pWR%B\ ŬsժIwV-͐TҹְowΛ`JN֔.ˀb-:qҿ$ik?rbR~xP|k$I$$xΐZiI#J u ܖ?xέkUU_ ?sU UFI#&B__ۘ$ֵ c(UW$I$$u&J W`I$䱔b=U $$Ҝ1 ^U @$$&B UK i$9Jk 4މ{\uC'~BʃuQ9/iМIz(pII+U*@IsRU X]?OMAxpI$C9+zRA-{%m$ER*w'sA]oIT1pV_`n#U{m$u _U4$ UU4$׵1UUXIUWU\I [!/U%۹ ,c0W(.$ u!UU 0w&e)uUk$$9UWin?d s#)}c_?c H9U Iv cw?.I֒u|U Ib+c1 Ib7ƈJ"Ib79Wz P]XLn$IkU*`Ԥ!U׀I. $!WU/ I?c mURW v+!.*$ u1W---U)UEۘ?hYRU3ֵ(2w_IӜ1W7/Gr1t*5O$$) 0_)I$1] .I׭FBU.C֭)*IҶ$Kc}/O hUhB|~}1l @r15};I^R*+}KEm$+c"UUDm$xΨR}UC$im$Z{Um$17u0 .ܵKc>0I$d ZU1ɟ&3 [ MI# HҔZ6bZUW I'c `8Ja650ZU.8 Rw Hߖ4BW XIB9Հ*[IBsZfImսJk v 0I6{ u/0Iޭs#I .}/ImH6.U*ɣHLUzN3 WUW*DIҖ{UZIRnߋ{U- ,K[U7IBr<kW7ɽMsU"~жI$mcUMЖI$HJuOB?Z %)e؀NCX).|9u}kN01+1's-9\sڟRuZ:̓@ s80|(?0AݖTZq @3 _دN h@t^nN X4s xtRY|-k̺$G 7Ҕ~ qOw>UIJ gӉboyrqc(ܸrIkZ[Zÿy [ q/ ncͼC`ULS/ÝhsD}#vHURrζfIҒ$ mc ;3`IBLc'AO¶sWn~B@׵ [Wmm$J*ɱu"PzP swӶֵsg7[ ts}x ,3{/<`RZ{Rl/S1QLkuO1wsZ+*ƼMnsx.osֵlk;МRNk\`86tsUUҡRhtmkxTsʍ7ߴmk#-|-Z.[#x/ YրTR/| ]s +c.IXNJ_Tpr䶭1TLcCWyw hJ 㶜$Q)B`Z# |jB.<!LU18..pItA/{kШ=:YQcX#:cOֶRxYu׿Vkߗpwײrq8mcݿЖ9{{w]I/ӔvIҶֲmUꐴMnX3(V$I3j>} 5Ҕs4X8p}*&RTy]^>Ӽ145~V^ xɜ).4Nyr~h}[aucz@cm0|t"hQ|HI⶛4yƲ^ iyr 8 &Y6UIIӔX hj>X1ZRZ_Ut Plk363S{n"trTs_}b=Ҝ,[ý0[sqkÞ` wP{+XֵP|ɡ JsWʵmc&ֵ{7ҫۖtkx+6c&yO.WxP鼪j MsZɫ1g 0b r>>O` ꘻Ÿ{Sp޲55ȖЪ5{p:=:ќiRzb!+s{Z=-U SҜR* *=@rm3lk[@sw[˪ 픘Tmk}w%$INsR b36#+h{+߹ h?sPzy0i#'P [_0Nm0Z _ӂ0:3b*[h͔ [M֫ 6P3Lk޹Aב,c_៶ X>sE)؞ MxsU 7Wxlk*\p sJ,I$) P1v Ҽ1ҔJ} W|׽e!&'i!Y0{Z=:QTSś$I$s?/߼ c$c'phP Sk2uп.Rvu| y{'/b'v`)P( Nx8  ?6v05XƱ_x׷v'T|tpIєqcU݂JaxƑ_rrT1 ߀RxӔoc'5؜d ys'+u.-y|nhZ;' JVd6k6yQ|$EΒ|=# 9U)(uhЪ9yszhZj>C't1{P T: òٶ;ҔsŰi?Tszę I#'7hRWÝ@sֵ [ Ȼnwtp VW/يǹXڴM?/ø;Ҕ55S`7ǻhи5/dI$ m|»s6i0|_ "1tєIv$ U I$39U- id?'J U?ќAu\I$/#)}8bh6s#! U|I$ uU 0If$$1u Inq9ե*0r|R4WNmn$tZ*}WNmm$0Z,{A ml'QRz]:Mn{1_mms$!UxDsAz7m]?B1W)IҶ9W"m{?m$ZC)}IDD1%_}NM$Ӝ1M0im${1U*?sd)re :?sd)@ЧOI$ֽd)%m䕭iJu'9¢V}@n$D)*Mw{$) ת"Mv$d)*UIҶd)8U+0Im$)U! I%te1*g0I%Xƭs $ i#[?XB($ƥ1UIҶ(_mєտ0~$'B~U(wə4 ݺBPR/*q0 唻֭,k y,rN8|(ۧԍ ,j mZ=68| _!' c_W$d)⢪7`"'M${d1jI$p#!IҶ)U$Z ] 4$BկM$p#! U I-d1U8 Im9UP I$յ cuvMm$s?g@'ZȀ_#ik?)_I-#)"< I$$uR m$ _OR hpe1[ I$$P%)UI%7׵$1Uߪ Ibۓ]9UUIb8Ʀ1ֽHJU  `֩RUgI$S$)UI6#)U I$Uߪ I$$U-Irۛ:U>IbTU 9I޶D!Ujrd) (ĶI${U/VsU2O¶׵JWXsjJ0B(,AN$;>RZIn$kJ I%ےNcUw#$sRphJ UMc-? 1׵+c:zkr9x~p``JP TNx/{zpS6r8O5@I斲3X/l7Ҕ@&nXt5xҔxX>u|(^~p9wq%р:<疭%Ld˵1>a](8QriiҢIm?׵s egPNw۶|.r̪>0|][~Mn_McPZ ,[\Irs` -[j/- #:PY):xpr 9 'f1/ $I XƱ @ 4h[7Ҕu'ض ֵw |{@ 1xZXZ`@Ӕ?ꃱX>W1.{U;;$v1r]ƴٟ [*8N k~.uB @Iw9u R)rTBU*mDILc+ .fˡu+cb6`6Ӕ :\~l۶$oc1ۺ] Rg) 6`UR+=$vncm'N$uR׷I$Ivnc~^ضmQJ?UI 5s I$@szO@$ kSPIUk/]m`k s ^Z $UMc^~ SH$I$|1* 3crncV\`qrJ i|9^~ lK>t*B\Pk):(د̒sJB>PNw|jBZ)/mc-%/rJzT\뀡JJ7Ʊ՗-ö-GR rְUh*v#ǶյcԛM9';m(;֭_?ΑS_WĐ(I$?Pu6QWT/:ֲ/?/%{!1?66$>[C6sH&-c_{54Pϛxk /m7 Mc+>8ܴ |ʨOҖ4 0WC緩` Iֵ| *(98e)rxzj8`41)  XToy4 K$@$pR/|*k H$ $s+y P5)АIrp#U(O?0||_沛rvQ|"YٸrĽG4so ̰1 sMb# uQ\ޒ@NvR;.rww4 [;oη?Mc8=ŀ -ֽ1%'eXҜZ<ޙ @|)j%ָ 8;k:]ml? [F!Z+ S :>ԜZpxiI$H{ BI$URx$4-[.5$ӔkUح۶$ [ m;,[k0`4k?I$ Ҕ{I$H$Us{3s`zmamDz(B@ $,[`|:`OΞ1R[:)9|JuL>b{JTWw۹DQ 2Uת ~ Hk1zX\qin$@sjB{ 鱐s֮k5%5h>xhJ^XXZd p 3 [ XƱ{.O9o txDAh?7ƱɊX5:a0xď {Ҽ53ts˹vyets-۹Oĵ 3{ڼ!v Шѣ>0FN줕Pն4A!tJ./|2 {_㶛&@8{ ۖ"8/Ug1sҔ+ =̀22Ҝ:W9LXǜE!$M&c0?ָItO~bҰ `kk*sT{U~t䱔Lc"zsȬdNA*  m66t/^O~4ֵ{ u# [nkJJl!P mֵP(w$I$X0|8,c*8pb8|pR0,$!xhb`Mp 39 ѭí6`Q|ҳs/{xW's㦷#musұIr@s¹޸1,cdiᘲiJ'X>mkw.-t{=n|XXZ7p {Rc3 NcG) (~ nk); nk)' *Bu @ |RJdvb; sjB Ibq,[5Il۶mkkI$I$QLc=@  Ҕmk{ok"6 88snbc?6TsVn?sP)ruk 3 [($@{9pP?s)BI.0|1υi:sBZ_X)'s)B}!0I<9uЈck1:A.ΉJ X /XE)\^}p I3{ o;!I'٘յNH{"/3gm:p|Y@NS0|*1~_P99PRhpػc11s"=?(5Pތ_ʷ$$Γ  P{ܚc 6ֵq[xP%3Ȃ Ҝjx_ȬXt|nKȫInD4P :yrD s+qiN0XҔ9-nZ1(*P"1XƯs=.  /|uI0&\sͭz1t βE`,,#@jJ@B OtD! )4iֵq:jָ /Ycȳsb =Z 0#H$7v跧|`z޶1S1vmku&0Ax?k) Іu c؊Ү1,k?5Q~X(J7/' n9|@:{JJ׀#5JWrJWw/1``s :[*$@$I:1*mۚ$|Jېwk B*7jJխ-$I$4k킦m۶$k_M'lk˻h۶$3k*~@$I$3{pPTs~r|Jlk^1$ SׂPRxW$ i;P9"z612*j)b> [$˘ހl'-cf)YMmMc!~ Aݖ9տФqb'|!(d`*18+[?npN$є\WWOTi'+cj]hPN. c?@sƭs߿"%rX=S/?'zI Gt{Rv 唘3s * 7$@ 7GZX50bzsڱN7xP-ڔЬ5ZtPWxWz{ԿV`N/s/ݦ O{/#1p*ɼp>/T|kɽ'Nys* p9Sֵ0|'7m, Ь174XO~˪ 4{"ȴ:c93bJw~m5B**bS id?Z}($HJUU8@nn?mkWu(d?Ӝ [^Uuϝ${$!?0۲B Q I$$!Q 䔻Mc$)"* - Ix?R}_^p I$<jJg Id$re) {iJ5?Lc ۖ$Ӕs 0I$m s~H'{xVW^ ۖs%V A?Tlkz@ۖt|THY?0RPml$s:y I$$|HJ I$'siJ砢W` I$'1 WdI$$q1UI#$|9_X Im$k9wZ Im$s)"7$md'9,׹<:~J`r*0f&Zd)WwV &1}Uypy}ۭ{9MWжOUI?є$!UI pD!^|6I$sd)%W Iwֽ9 U&l'7ZU m$ҔD)* W6$1_Kx$I{1e}wI${c) ?w MnW$)*UAI&c 9-Šm[?{ڽ I$${*ۀMm$ֵ{8U{ ֵP@'/j |(>tZXRs9w0R Nֵ*%5׵s 0|+V?8s/o% O:)p`bz[@NvLc - PJv䲔1 0 3Z }E#Ҕd)zIJr )TUI$Te)կDf}SӜBO$MӔ'BU $m 09}ۖ$9I$)lku{+ɟ- <+cUU/I$ hJU)ɟ?% @3B]e$}Ҕ1W#mܶ;90?m RWկ ,v$IխAU4 1RӘ'-ֵ1{ժOۖ$ )@d$- t!]Inv+$)Ue%$Ht9UW$hBU_#/9HJW X'# )UT$ 1տ l]?T9zBA{1 ?-I/W Y(:U/7IbRUEIb&U [W BIb:WCIbTR"" SIBT/xZI iLcW訯HOB$ ҔR_Z_n$,cWZIBHӔiJW\ImҔ9SIBQhJ $3IQZ.߱IiiBU>q#_I1w 9u Ib89Ur uHJ+ "+kkUOR @8JUW )Uj#1]UP?I's!U۲CI mیkUv$kd1 $w9TW.!I9]@׵J ;> IRr1߶=n! URm(:U Y$8AV1Z$ JU .& RUIbUBWIbT'Bu ɝ H9_[ 9~|[{ [Us/"߲}w0׽s* jJ IYΎk (U*`VnsU͒$s(夭@0`}uڣݲiUsyWvr8Ưs?:mi81ݦ6AX;<% UE rֵZڱd׵Q ~ug͕{(W_uϸꃑ#'MR՛ͮHR^0rm$UZ̰꣭I^#' 0J گ"̷IN c d Q/PZWƑz߀а7Pz #ͰC xPUܸ϶@{( Dm80|պطoXsC{u׺w6Ut1%.-.ڂyr$k5 )w0qyuZvjҔ97ƑCvOޒҔ_"0i5*9L<ٯX/:4s(ۿW6Es<št rIB *xΤ4sdI^@s^Ƀѱ[n hJ^Ὣ 3RƇ3isw7'>>x9_~~,pN1s,c˷߸vsJc1ֵO|zD};ҔjoY %ZIM֒#I|j . L[_I$|u)ݖ1` ׭s $8nc^UX??|5Zі|^}Nʢ#=65Uck{b5WӔk*u׷P0[k@鲑OkMzr:k++ZPNvܗs !~U$i%ZtC,t,~ `NUV/Ul[7s.(LsyNUsI. Ӕkvy'ʹvq [{`qkn$-cz鶳@k+]3i4{[r {_/-쒔{[q2ݬШ-6ֵs=ޠ@p(9RݲIpX]{+єbjn&q'B "b$ 1|RX^T߶{R>߶@|-c # Vkx{Ԁ(I{v)$q// #yєxR?cxbɻQ^āZ#1,Xkk{jIOIZ7775g]572xrtΒ:p≧[@Nvu0| X/:c?ސp_1s/PZ;ֶlk`,Լ3i|UXȻڀ sX Mcw{C˝`Nw׵lJ'~рd}Z~œmd]?+c߿mlsһ3LuPO!  9zxz/X5X5Ӝmk:?Ϻru|_*iP |xPPNq0 yPnn0NuܶӔ UuI. &ȂB)5BK>y9rTZ⩽wnNӔRu;d/: h-cޠn۵ Mc% ӫXXUsjm}>bncc+wsՌ4ORc s^|0/{ncuw|ɚq-[`N/vs-˰Rv׵rUuX꾜`NwܖszЕ@N$Us" *-{̧XiJ@,c @1gND s8:m֭k{ nmi ӔLch? c *Ш_'s)[zmX{WImk?^ןX5ZuMc=MzgzҜZߞp ֽs߹k&hHB~|/ '5IJ%# I?|Jj'F?sR}# H$QZ7gZnk3X-c_=mkГ*:6uLk=5X׵s .)Z53^ÚX9J+ʈ" ֵkBˆBOXTXZ5շ߳Ʊ'sZϱuMc{y˽Otn4s& T1| aVTy(k2'mc8zjIؤcӔkbʎP5s=UǽVێR/ĞJ4i|_髋Ϲ$O?,cTɭ:,k_,xispLk= v ) /9>Xe)zzxxp qR%9ƣ`n/0iMȯ |?˽M#Ts)wwqZ> J64| rd ׵ӌOEb'jX)*j>>֊Jzjrr#X5sؼI.{ڹU4I9ƀc'1"z}նcݶ0|h^jš~ HMkzӢywS Mk/Ѩ sTd= :mk^9Cֳmkjrp{sy钲nkͰpsk.–@ru{}~?-R "AL_Ӝlk>0 s,cW0I%;sc{y I,qMchШc>uMc^k@rIJmk(&)+Dn#5{xpb&q [!)Ӕsػ_ܲ #6 S F)c▧p NpjR.ր&do?|hJl͐4$015'|JJ*{FsjJ z˛ti{ZXY ҥR1U c.P5Z5QR>ukϵ Tb ~`䶵sH?kzpmkֳIdI7Ƒ o3=WPN7SJ՝` 1NcR'W̻wrR*нyXv yƏkݷҔ x}#' 4/|h|o@RXh # i|J"v$vR* $1 `ZƓW ǵ|׵ [^*Ǽm{i#ŷЌ8nkkmc>{UW&tq)ppzڮCNTR j(`Uk-볪#`n|}3Pr'|_tl36 {9Γ Npg٥{׵QWn:k"&) - >9׵!`b)  U):7s/e JB 5̴/YUMcﯪŸM?mR,cx̺w r-c(icn`NU{X$U{+_XZsW isxK#ik*謚yB)hkp5.u{]CiSi0Rܴ-bZ*/ y-_ʵmkԔ֗טp  c $cM?4sy@ָM-u{U]5٠Шc>tsxƥ@R.Sk~.b5X5T{x@s|rZШm,cc5-tp/Wlw6xz{1|~ypNsZe)%jhػ$I喻{e) ir-5 lc(Bȭ6s1 6ι.S{JJՀyR-c$d;Ӝ [~^ K?kJUm0R"lIIu{ ɚ>u{[ I$sUɔI%8R Uݕ2XΒn` Wɼ1gwL`N/ c 핮~0 君sjBC+=ܦssͽׯm'Z0vV SyLc ,%N7:s&xВHh?R kwHX;Z ּ?8|I$%+@|*.Ώ>{lRɒ0זsĒm?sҞ2X+ڢ?:pZZ~N)~tđ%)ZPAn4s(bji.sk .7mc˥)c=54k} [RvӔs?5ҡIw5s` `S$sÂ&@qj 9=4)```P!tJ Ӕ1՟yrd sJI) M[߳÷i3ku}ʒF?nkЈ I?ҔMc(U$mc'5 [WF -䒌jR*bU{=IU0}+:u|}oo$'{♤9Ts{sT$XZo^ ",bR?Є0?4+JL$mc'b( XI Iۘ?TMk/},Ц$9 _) .uf) *I?VQ hK Ik? c{ Il'9 U &e$ֽ[ ~$lkD)rb`N7(B %Nmm$ [ /_7IҶmk!]U9IҶ c! 9IҶmk U?m$P U'm$UU m$ : Wmmb*U'{%!]UO$UUZImk UUqdI$.cUUɟ$)$xոod)wuT r1 vs)`IrLc/U.`I?{*U!@r$%)"UU&$Ӝ$)UU*IBD)uU-IB{1zUU0$ [_D$MkU@$sU{VI$Mk$!U\`Imk!WlpI{bժcZI֍s_66{}ˆs'PC)-UIvܲ!/U@IҶ4iJU@&m$:*UIҶ&0" m*u@mw1 L@ro?iJ.~3'}⻒D)\uɽI|$!-UUBr$) }Gc1EIm': [?s)z$$O& [XW1ZiURU3IҶ$ZU=)mm$ֵ [U#Ib []&mm$յ{U]4]n@k heIMs U}?I0I׵sgOm$Isޠ<#m51~0Iq1U Q?IIBUM#mJU3h2U/I|v:}֔h=i [\]@IR 6I$k> ֭nc$$kVҘ$s ?O$kBx1)I.cUP շiJX[4I,c ͫu'k/_Ũ u|Uѭe#@v8}uy ֶQ|+_] hd']Q_Uvi ΒUĢP>}?ku절| H|cҥyb% mk;y![N4s6dÍ,[>-{_xpvokuף-AZ2Y24y'{*EZp|ӊP4Iصs ~Wr?s}־X緭Z_WħP wR+/Hl$Y|Uh׵1мɭ 4׵{W& I81|U͐ Mu9rWuӂ:%?\߳U֫jqumcVPP uLc{ֽNc ,~&OU [hU9Mnk]UUΥ&@K6u [X[?:ҔMk{oT k7:{znrbʵm'suմTJ68{? -SlJ~^q 0|R ۤ@1| B#X kI:`>Ţyw-5 {J+şƧNd tRW90J?]'R( 1R^W̰NN nc : :޿ཹ} Bݷɹ@TH:οh [)׽McIBțPN)rkJye$r)r [_-S X5|Rj~~xӔR0QRI$I$sR*I$I$Q.c+ 7l'-c'vb'qnk6`a|Mc+vbۆ q [rۊr [hP5QBҹl sUZ.#:e5-[덑Q [*p'ԔsW8&Ӕk"ɬM{Mc+ZhӔsUרI k% _t"h5k P ncڻ Sts/-k9k|誧IXr k/տQk ̪WRvZ*?Es4RűmD{1ܨؿd=X9ZЄqb'NcVó$-[ضm?RߪޢŲPnwv [ʨէŲ4'rRdzM. [ͽmn?UP|EK=мmm4s ˹Цl?PZ\p,ѹ@Nn$MkUָ0I-{Rl*Ő$ wQR&@'Z]ЊX3| cʸ-6Ӝ,[ߟ`:mcxֶ4sy 5TsVrɣ%dJT{ /hh.PcJp sMk)}-$i#$-cf) ͘#$kIB/ÏG#Q0|jBҦMrjB IܖsWЦZ=> B_^xװ?McG)uh̰@r$-c1 ⰓMnߒJ>,o$mmӜ.cB~]UÀskJ*ѳШѬ:k(:lIZ4|1 .-(_'Q [\^^P=֕-[ן~&Jprkߚ;4Mc ض䲌Mc(=H$ |Y٥=Nb; Ҳsg I Qk&6l;c;|WhP5Z:^^E5|E)pbj8.R vZ%-ڬ(@Q/å>swljQӔk_jIPvQu=-/:Ӕ-[ob7Xrk[Y$md$ҔNcx}dmm|Z_t 攗.c*/- @rm4k" Af?/|-b)$ TsXT߯ I>4s_w@JysU- VǶ)g@5.c^|Шc? [U2 IcK'R\= I%UHB⊊US Ie$ULcULIҶBWG Ie$9耪UQ0 sZ bh>4-cnx[I.R | il'0Zʰz$RWM;s@r$01/*zMn$jJ- } ImӜs&08ʈ -TsȐh'{~xWW Ts-Ė$TtŠ:s#:Rjc='N$Lc 0cfF!>"մ#Mv{ B u0s0|iB̠l>):WIҶ# h11zԿ1 0jB*5Ӹ: HP)Jxj̰# Ӕ Bm( ʬI 9Uǭܬ I|jBחȒ@&{ B_b&4R ɬ+֠&4-c_\¢}R-Y siB8J HQRVwh>|-c:sa\bs2'Ӕ%!^P7ܖg)+U?ۖQUP1 IP?Ҝ{iJ*H'3HJ.WZ:q,k} P9:p$!~Xsɛr9 _%In' c _Ц$5RU"m19 W*IҶviRU7m-Qk)O -1|Mc Iڀ9+ߒ"@Ilے0$1 OObiJzORTZY~WyҶBYʅT*~#&ֵZ_uU ͺ {D! xBI$s9w2/@ֽHJw3I޶mr9v@IqZ)mIҶT1x" C$hyRUcI iMcjm0rQ(B+:JײZ]ͮ6IniJʂDcZxUΨpqMc$I#q$! dTZzo O>{댢ڢI$1tU $fu$!U,ۓjJ|*cyBURR} IBnvRUIBIhRUIҶ$ 9 '4kfkȓ`N1xPjJ(@rk09. X{9|$+*,sJJi {R;Jȯ,{,: `39U 3؜j&׵1]Aߓ IXƉRU#U?׵1WOI'B 1$IuhRwj(01bq w '&!w~m$U!WUIxM!Uqm9u O?ֽ1(ϝ/ ֥1UU/!C1iIbe9_(q$X h4UO~6Ӝ%)%l)خ-֮s=; t1q}n-c1^3msRinMqYJ skJ)DNI$-[:ƫ3iURjWq@R [,m?sxW゛0I۶mk7wu݂ i,nkIBTw+⁚0N5Q :'$IsӔRW m'5M[z *mu| ] N||140شuɄMc ն*vsӬt轟nk+ʮ1NܠU׵Mc-0ε-m:y cWͲn; 6QR ߝ ?׭e1*_m [;rtTsj<r 淭s?X:U'RW Ou1'#9K,Usx@,G 'khnqX;&MkӜ93:1ZzD?$1**5U wֵiJSU0Ih;|:7އ 䔻Q))v?sJB I5mcg궀mmklw䦒0 Pmkytn$ ׵R}ՖlU,c}Ջ'!g m61'JU (|!I۶IӔR/0v::ӔR\I-cw _$(i7BRL$m-u)ꀟېݖuMc*%$m c_ $ 9U+$?HX΅)U 9u;m$6@9)?m0#)րN1Vw ?{] lMk,#631U*I$4ƅ1U/$  4JmW5`۔U%!Uʀ $&!U* $$:UU c$E!U ɝ$$)l$9t#)^- $& e1Um8IJ $ Z $ $$4'BuJl$ T1XOnG t9誷}_4:4,cW}Y @S3s9nUڄm6|[CbG؃յLcy \Gq;`zZ^E`0mrkJ7WDqKJr9ҊRE5MbB5nEd siexR@,-V~cPQ|Sb"!b$FsܡiDAֽ/E뽕| Lc.*Bn/%Lk+N0imk&%vݛ,csR|ߪwuJ!aƭ{@5Z?RZP M0RSӒm/rru鼠")=sƹ_ėԎvTkkm Avs;}(# 5ZjjWAI9 ȴs[mk 0ìp34s|zЮw[TnkL3Ѩ0rm'ӜMc.2R9,Ҿ9HhB}m ! uF9PmҤlsnMIxe4*k/k>9SPWUS:{8u?0^dC6APa6X=>9v-cRPf9qMc'/5KmJ@rӔsO9{X3شImk9?zPkw+r3R{ȁ`86R]j%|r2bЛ"@n'&R_$'$!^@rI${U IBlqD)UUmB*UM IgRջX'IbյZVp'I"`{`꠯ IB1 ]NFI8!UPro'{UzIB`ۑ UUiIdHT9/A9kМd1߰" I'q'R0I$'J*UW I䳵A ;H{gg~b2ƍsv$~q)W*$w P$) $% q)Uo-)( , &J X$o? @FR$m+Ƅ9$%'8ƪZUq]Z#y1yU !qE)U? `'RW*  &R @3@8}z~"I֌ku#HҜkJ` ~"ր SZUv 6k$T1 # s~&ijJ߀qIIֵmk"gl0_rkDnKcVj۟&Mkٕ"i$0RR8IR?"9@N9U)/= $hTHJ%:~ DW{.u~im֮kT H*:jI^?(T)-Vn?m Ip(BKՠ` `Arh|6IJ\ ճ9Iа ΍kmlڔPt[`OGj&Ypk% п:׽0 ޺ r s?Xio5Lk`*@ҵZ nAiR}c.?nT`&j2&1kkn#6nTV`Vs]k*ݽuZ H׵1$w_V0AUNc/+(ඵ{X\2m!خ@|?ukB5 åk2V7Ymc> hл_? [ZÙL64-cl&OZӔnkB"㺉JB6'"J!J)BݹmĂj)i5kBrέ5 Rz) sºRƵvR'ӔMkYryxu4T&2` iu{T5bPB+Ϡ S8/| ˀdҔdnwiƀHn9q?Œ=P/8ƒƓc#I c8h|vߕ{PIPl>ijks,XkW{'+u.` ս{ TӜ [R RX\0J4@YjJy` ,iJd Ҕ%)))+Pۭar-[ BPɵwާZzo{jasuuU(-q,cڨ§m hqhJ穀k[ /JBʗoV(R=` vSHJCWL IBעrЈcv [߮%̡ɟ.w{]ϊ~c u c~ѝiP`p]}!ٶDx׵FYyL5B1 l @TA{!ܔ H@+Rp/ib ][rOMR WDry.HQ*[g ߨZ}@mM6J"U mEZU:90IÍ!9(=mߖZ"п#@8ƦbW@ ym8AWH:s9 _m$sU0IwLkC!>OR4d)uKT9/wZI#)Y{ $! ]I`D)UuDɟP#)~UO$k(WW_I$ls UUI' I!uum۶,c!0UR! wkKv$IrC)ixm 1#)] ' ќ {($ږ$pd1 f@c$(J^ ؆rrMk"3r  ["5"m@Mc8W# JWwUs/U9^ڀ2`YMc]Iᘬ3k7w<"(a+[C RpIvN׵1 !uY [MRIUR"W8 |[Z3:jMc"ԫ,S>|!tv | :Wj 9K!89%om Y0| Bz yƉJj@@hIJ #![ k#`ZY@a3Ӕ :h^xhO, VZ}w[OmQJJiUJn]M"IӔf!^ry)u9%+ft.miJj&I$k-I$W*c/f1;A@׽kO_m_-c]IӔRx i>UmkEչIҶ( c^ ܔ4Z뀿Wʐm׵HJ$I$xms%ޏW6R~|8@1֩Z#+}vtIh8R II0|jJܾ$I'Mc4=$d'NczM.ok·1ԭ5R3mkӆcۼ.,k? A1 )7qyQ` 0s(Hc:89h$XcRURRVsUg+4qjRb`;{JnHF?s(B RgIǑmk8ʙs'ֵ crW{ҔZ+ĕ{-u@8:+c.B^J R ۔uhJ +_$$ IuZZ'[1p:ۛ$)U(.'ZU8wr:5' @9'^$$։RU m$7GR}B]?W9Uϥv7% c).c 4$) W>cD1Ui=XD)]~jyI 1BU ,$9UU)hۖ$y$!l 1\u?xZɝ$ֽ:z$'ߦ1Ub9Ӕ$!U$ H$!U ~$49 I$ h1UWI$%3kI$ y9u-$ֵ1<H7Zy}?X&BI$Z@tD1UPI x{@ֵLc8)uZ9|ZRܼ?iR`0RpF[Ro,ckw6sIs5]X7lk^=}X_Z4Z'&IŎkWWwM$m5uLc][L– ZYvP1UB0J?{IBKj X [ImvYXQ{_ۗrKusURwyq5UТdOQ|ʨ{rp2(Uk`S 9 ?/ٻk 141|TP/imush!t&hTnkzxdJS)Bx0rhIJڤm'yΉJZЦ c⸫:ls P"VgA̜r4s}}Ts?+[ I$i3mk45mk_9Kku$@֩R]";tsԆPl )TLkit~uR\m46T9:jDt4iJ 웠 kuHB͐8is]nq@siJt h6R' 07ROOM@,tAqu+cɩѾX jӔs9u80'b=?0_Xֿ*ɒ 93:j9t9?hskdֵs(@f?mks]Ϛ r5su{5XY7ƕZ/[ |' D1W.O H{1(6e'TJ *Ol׵ZW%'k ZU$- @Ҕ9 UږsUfRL 3&J/Y$ 7ƨR )NRN") ~"&VB_z+$NB9OHR_9 OX1~ 1UC$' h1.UQv':1U`}&յ ux`I9 UV9ژ$6hJc t' 'JV/jۃ4C!5U ۖ$k!U $$'e)U'd X9]$e յGBI$&1U kh4KC)߯lm ֩Jwe}?$ iJ_v$I1[u( rlkb˪w/&Z5MmW+[S*Țu{^yH%I>vnc ޶>糌RϚ*,^g'bؒ`S*c+ϽMT ItZ+Կi&SJk(nQ.(WkkN>7 Imk #߫&tY{|Y.!`yα]ܩd4`8Lc?P5y|{vny3UV߼~յHJ|G)GIT [ѡ`NҜ c[}YIEV$tZ/0X9Rڢc@4R&*w9 ,{pJ ^KҶ,Mֲ)-mcxo(7' w:{*z&P ݐRrL$h&rp?t).DA򔭀)*u\ӌ>>˜DN$0|v]rHR k0K8-c_Ԡ׶c;Tso`ִ#>?ӔMcŷ&44kËslsXjsj@ս{㯵²n;sioŵndjtZ '0#!`bj|i6hRܲDif6):J@n֯k:Dk8v}۵x1e k)ŧRxs`6XҔZ8$4FIp9kj=|  +k  Iֽ37XPֵ1xz @J_|iS`-c>}mx0 U(7| =: qӔ]mZZ={[nXϕDAє:*☀M>WҔδi:7:p+A{s8Mj z/}ڳF[0{J ̯U۲Rh(*ϷPNw,cHjϹ& sU65#`H:mkhЉXjsڞǶo:X ƋsmԺ&ս.fzcMєZ@0%1rjpb|iHQrՂ:C' ncygO 5kR~qGA&ka+)7ƮkC0*d),&'@Azֲz!}䚰NuTQ71 cp|# 301`hȪp`{jJ9N`T*B=|>s{}4Tmk^ [ h9Ys#6P 1FBhjm0J7{=Қ=92s9Iܚ / 'Ύk^^.h$rjJ6߿OMcྩڬ֚=Z~ 9$GJU(YlkFJ6TbZz qGiJhz iMc\[K Җk׺8rU'BI$IB 8,[b#pH$9 c U ^?Y [Jb@ 'OR  ޸$Hܖ篌:~rn:p;bvβ.ox%DINrHB6@ֵRU+@n?R*_Aֶ]N3Z>U/k$t c+V"5?)kJ+NxER{꠺.$@RCA'c J% 6J+U$m)c1rw$TD!U($N Uj yd)W7yЄq΅1UנDOI u ;XƤ9UI8{IIH1 O"71V@ ( ll`$$)UvM$׵)]v9UP ƪRum'4e)~`1OmP|e1U *,=iJՊcNO" $ ,[_ N@9VF$cMX [ WJ/IgJU꫼0NM3J"%Ӷ??|[Ŭ]ҜJ {z/ =Dz c^kNn3sUβP%ƭs?Wv^wm3sy'.`s[?3Z͍s cm&+c ^&ђ,0[IJ{__˜`w~WWiJ/yNTtiJ`Y2ZحJ/6\60|zOעh"d}?s^V֫r/-[Poysܲ`Nߘ춯>Xp\[|Г0iSTtW) vmk=$9rA9t Myj v0Az55XƦ1BhhlAk$K$ֵ&Bʤ$@D:s{ΰ#ֵk7Ѻ#1[>IZpǶyn Αnǽ؉&߹PwЫU,A0-(pN9"Wm?IBd1W ~$ 8#)]((fսD)_IBu1U-fI.4D)_M#)}{m$1'Bw׽"L$@AW7ۘ 1^U[$$% 8h? B]Wt$ 4d)ۢۘ?m U9} mm yƪZUU(2%$ @׵RW du8D) ^b?`D!Uq=C!('/)GB.5hh!^= ɿֵ$!Հ .׭9*U~8Z~+'m @Z_]ި'BUVȐfI?Ҕe)^UU!c H6d51 UY$ 6'JwKTR݀DNRt1 W.+ )*{hs|^_wpNtNYƎsS0-r~Z*VUjP"-ݕR1h&k&jB wWp I׵*B 'k^ I$UM[_m۶ ׵Q <~\ۃpUcz,[ -!@ֵMcgX-ӔRXR-JB.Z>@n$ӔJBΐ JB?P0@07GBkqzٖm瑌r}JmO +њ %I7Ҕ9P9]p~\SP=/@)pBvR-l#$nc ѷsⳟuđ:)4kn(3.8 :Br"`@ֵ9  Me@$7q˒8O0)ڠ t8sǭQw,c㊫I.x c:ӨnZ0iJ wP )sۖ9PD@01] pI umc5$IM2us۰m$$3,c\jg؎ߚ9b mC 4R]:MwlQ1*Վ9n@nc1,7Ʀ1bCjjp | -Κm&xαPh.C=h{B}Ǥ 8Oߞ J6PW'BOus=Mᖶkv ƞ ~Ҕ+clذ6N{jm"*xZcJ*`XƊR* H$k Ø@ֵ"m{g9$$$.|R UkǤͽ tsnְ~XMkzȂ(M>4R?K@Ч cAis Bhh`kJBğo `'s9  QJJ.*+I$A$mk#{B ذ${UP 5.tmkXWrҔLc7c&i&PIBpB.bMZ;:|1iْ&mk)U&d:|1 @%E)CbrRkMmTs 5X)C/k ؤp,2(P|nkkdr.p>}o ` p ೛$AAֵlk ǰK. rO{1g p 7{/+1X|p7 q7 R|"1Rh(84ߊ&HJ{B$H&3'B^(B+ҽPSV9>ߪY'IBn1*`m91PjIB>1_4cP9{ 5IC) e IIT9W VIҶ m1(Ud IRd)(UXmu9] 8(B@@ɟ1ꕺ)CTɿIRW~Pd;I յ(Bսr$ @'BV- 0 (%${%!u t$$ @#!M M\:n?oT1 Wϛ$&;C)_ wOѕ)"5_I'3(B[uMĕ*!&IIu9  On-1C Km׵9}"^ iRv)ՠ=mu:krҔB_-׵s*[1WIDu [ 9d$kw}>Hmc0:!N&IY{U\B#93>s]UņfspݸӲ4 [G{yߴ޶Q-c`vdXίs7WڿXҔV#ְ~#+`X0],ː1.kX~+1wJ'W c񩩉Xq")|7/ ݴ5P {x{ޢNFnҔjRBHֵR3'HJW Z1,T1zbJ`HJJlk੪-`JX0|قFmf֒*}ER yM[x  XiJڐZncnkU৘1, ["[{Ӕkn,Tkނnyzs˗uty8|+vA9MҔJR I4kf@J6mkLvŀ&-sy͏djd{U\}W\=%,cs}鰞iRpky Id?ӔBmrRwEՐ#Mc k_Šغ>mk3LȄ"H׵s Ϋ&)6!pJsS1ȯ/S5sV}޻ | '+ٸu+A3kx־O# MR-ӵRxǭ])sW",3:D!@@j4pJI,c3ȧIy?Qv۴M Qޯ79XƳxiB|`J1v S )Os{vئOV 4{՝/:P{te{MA4-cˮ‰`u&Z r!h XsQk@iH:u|E$ik?R`B sukj (>R"| Ր'7ƅ)zzxw@I cf) yHHs O ܖ$s$) U6ۖ$UU&?4F)*UI$7!U v$8$! Օ pSZP+ w$5!+U% $$E)(U3ۘ$ U#$E)+U$i$%!U @$E)Wbu$0e1Zw 0 ߐu$)(+ղR`$iJ# $$uE)*S0Id?׵k xWLuE)]O4@?Ԕe)U-Hc۳J{$䳔!UPNID!  qGJ ? $A'k"ڦmvRTҶ 9U" I1ע ֓I1w* IU9 I$IUJⰀzm I(BO2U:׾_n ILcU)"IHBW!OA1U,@BU'жI$4iJK=  c^8ч#IM9s}*+S=ҔZShRwmHII0)B5ɿIZ ]qMHtkB+Wߘ3i$,[Ua}I,[_U_w3mirRg5 l}%Ӕ:~ w R8wW?׵k#-I$8sW_CI$Z0o(u9, .Ԣh}bsW]ڧQnc*RϛzMciIӔR+ﷂ ݔҔR.& ܧt{XkD$TMc?(TpRAc Fi9:UNcU`[IҖR쀶^ Iۖ$ԔHJj {/]l IײRbӄM$| B Ԍ vZ_+ҘRãېڕk:AMڨ5k6^ T{ 4$IssB߰@J,ӔJMv⺀&mӍ4(BhB}ЯIӜ1_ߖ0J];ٲJf?0qRw׭¾:#@|9 2(Vj4jJ j~ 1*I$IӔsc 1ҔRz`5r,c`hzr $&2h'׵krbW* R.US 1| [$**I 'Bw9#I|9Ȣ)"I0Rv|kQBKUI/8d)] 'HI9} /I*yO2V:0nƔ9diI]1ZUI2I$1uHy*!{TCUE)I$U:.I. Ӕ-cg 1IH:( IIҶu߮My0*Bn: HORߒ9u*ybu'B: ?k}MnTZ3ӜR\ mO2D!W( AINuE)]EO!Ҝ9<_U IyiӔe1 _ -I2e)jnU\{I"41MOb T%% M-mZ7I&̖uGB_}Dnw cJy@6'3ulk`:Va$ [;(Z8l'ix5Rs\|G9HJ (*}U1!Z"*@4$7*s7>UI$pTlpfqUMT,SZH!` 9ӔB7޲"?0}*iۖ$ue1 ?9 I䵵D1* s2#wTJ,:w: ZUՎINR$D):03HlsxSOMֽ#!I.AD)U *֣AhPQĀXlhsUT)B*N74-[楘q?4kl*L[cIR~ϷZ9 SuR)L[HHX-cڵZI0 ֽiJ5+kE h+cR y׷ֵhJx@s3 IP?T&R._X)s븼R!S.X:qAu Ӕ sf;TE)>}$I$!" W$IЖҔ1 ]d$$)UUB|$p!"]6mI$9 }&@wu9u xe1.ߺ͒&Z5 lԸk3[+16ADsNp2 -{| 0hyZUvx$AF>U-[ ܯ 1|U~L&5F)DºQI*` ]*Aֵ1Ш+#@ jJxjJU@F:RSނ $IBXΎkq0-LcyrRpc,M$@1f#̀(mBU"7qnj(B "ֵB"*y p")y9@ MֵD)+=и Z^uIXƆ1^./i΅1Հ~"IҔZ`lw]BFmD)׾~ I׭1$*Vv)U Ir AD)+YKcuzI,,)WI-aYƩZ~&T(JG* ~ clIo9u= Iit9$[|.9$EZ?ֵZVdC׵ {nI$׽HBb \O51R#)[ʵ'B_ 4HB U iv'BJI849*Aumֽ':~ @jJ^Ě$`%XMc{2vLc炪èsVyф>̆lս cϫ9NuGw{\[JRZ@t'B pmyqw$8s յmk`xDm Rv ,ZIl@HP JBʼM7JG0++IIDLcC{nzMFҔ€LM'|*ھ߻v -V8McZXVڭ-9uLcR`έ@AZs>mK:owKdืKNo74 hJβ 5k֘;ͪ`ؖIBj6.<ߤ1xWB򨮽 &41l^|  Y-c_֬i$IsE-8+cbk*4@Ixc A&?ֵnGۀֵ{.(p:OZp3 scs @ hR &J~V0&m&hJW0z<7Q1].5+ 6rU'B4} yƩRm  [k.]!0# -Y [U pou)g)) ITJ ' ) m  [*c]|An sUUJtO1 t9YI8jJu>UoOJW*"Gowrud1y4ZuNi9:-i I-cݨ_U0 tR &5U IZw ֐ 1)|(*tlU!M6I1v u1*Mx|hzQ4 iֵLcL;楯ri4Mcbf-ZkhQ sF+1m11&-svh-kw&4-ҔJmoI71|94]4oxB..+77{cO(! :7/Z$Jhb& 짩6յsQw.ƌ1ys^c۱mۚΑRO+xPV?H%O4D) n&Bk(p; ֵIB^j($IJ~>$IZPI*HmٶZsJI*%*R0zl߂$IXIB20Pi4R"iӔ#!U*9ۤ 4sTI70I8#!'$Px8ƅ)՘1ᩂuIUJ"BeY S. z:M,c~2 @ hR/&^M{s> Ȁ..Z|ozNU Hq1s$I's1(W I&F)"_%y™e)s}30 F)j;&Id?9*"_ $U1UZC cu1Y $U'lk )B&e1^4IT:vZU@ڔ$q)( ս$i1zMM4Mc\3wI" ڤm4R};ymt9:DkW^3E@DkUJ{Z) n cȞk 6MHB-(*"'%uIBZ{}uU):qи)B~Z3ahjBu.-E!@jiy&Ӕnc7I억sxU$mְӔ1^8-c*.,)ҖuJ ZZ?Z6m1O*T,cyo479z@:Ҕ1b[vJ-8Mk%˶mE1*U }U#1e Gm}(B5 ז΄9k?iuGJ} Ֆm _/PIiJ!#+VsXCNҜRT"+4A ׎dۖ Z8-6@uZ,[*hcA/ +&($tuGB)$9i$Ӕ TvDgI&1} ֵR΢Z(lkjo R6l W9B24%Sa1_41ծV} MҔ#! ڑ$1T9r*ԍm\.֭mkXP&Yє c&dr7sMG!ԎܤT u8v=I PD)* . Ҝ"nô$D) "_q.] 4!,E1" IOD!+V*mwPֵ9nU I4Rb`Wࠨj6w$k^B ,P9vUUC+^QM,iUqfN'2UgyUxVn7rUh[qYUU^C>5/yUs)G H6[8U~pۄUL:NacU_p`wV9-^ -0ֲWt 5[3UrjqVտq}y{Oޣws^z5 AuY9V3 אBIOxŷ +…nOUWΝOTa^IK^UFk `&`_/Tm%i 'Uꀖ*wl _{,"UR+c'UU`ѱcGUժhO tn^U_|F`$MoUrd2h$@lg@*kX;orTjW uPGg OUUUlMq$g?WjP3,IrF7UUU_@ i &7UUU|h;b)OUUUjSql??UqMP?UpϙT1N?_UqJr|qWU}W`P53U_J'WUx)Aح_UUxJҾW|I\yԤӞU  cxELL1 /-11Spy̹WNj%k??YUo*C:*U}d`]?S>}Ud `S:Ur,;;Ub~]UñA9U;a*:TUph&9T]U{Bf8Up#'h\Uz;ԆxѽUl欽zUUpTUgSz[ޔUr# R׽Ux_H>Uj [UUq6|NQ YUU{$=Ȅ^(U%)UUk s%BULx.;((U\1w' a UoJ,UmhU]cS`*UsYPzT a*UjwS`NT YUÐ#AHAx_UI#1?&1 U7#9cg9 :9oVA iWW}7WXUj&&hAX/>36U *THGռ x;U YZ90/UyW,US7ĈGUknS2:AOU*|b>5UUvm2&R UUk5NuUm`"dے^U}nm`WUot\D5U*~|SU0ӱUtc'QU|i*13sU}IR' |kLd^*}pX?_Usr? Յv@N. Ն/̅I_zM?͟^{nP UUtp qZ;&_k9 >~Uu[/y?U_nqhG_Ut8W~EW(G1U mޜ9IO c'n}ټHGA WZ, /saIW~ms9]^|7SyqW몪UzO/,<_U{d+| +m.NU1 P] `]>}ՊeN1rzTc?hF^hJ *TUJ'&".WV$Ir gUpN ڜMoU[%X y˱UqtUzM ^8U{O$]8Uiͻ U s4`m?UUp@.wWvUP1d7-oUosUw̯~UkR93mnUexWcOU[TٻgU{jlgUUdۦA_U RS+m~ i>3]x RݍXWu*׮p WꔾgOXaFU&h&U* #Srg?Uq$ PwFU`R _Ur[#̂8U^U[6/6_xtn2&7U͏`˟Q>UUґ7e fCU_M=C! + %ڑwP)J m sxxxxxzo|"----tSMە --eOOX{^ kU%j~Ub?}vb)jwn? Uc UIے(M?\~=1<_yT$ |U}yu<~UUyFIsZԙ˪/v;ڐ4yUm.(ݞZ^_ɛ[۪zxxw>x W~nmaۗUw$M2Zӷ UjU Vrx7 +-n1Sqw}w5O{\5vrۭ WwY.<? ۚzWhD^zxh%8$"C Ny b---qkr yˀa->///h%I ^z+}`Jfn>Uio}܀qXբ>{z_yn>[IyUUnS7g-ՈyTn/rt}w^_ꠂn3[XWm| M)1=liW$ l~޶6>xxx^~!mz6z%Ԓu6pglĻW+ -_#(^UhvV[; WWxQzxx߆Nml#x`px >B~9沐9զP(nլs lmK5tt^Wcƍ.ԣ-- r$&լ^vjtUӛxzn{̻RR Uvu9{mUת$9P$ zzj djJS9WQp JRE,^W^zx簃----yTʵT -x[Oܶ6|---m1q ^^n P/9>:Wir][+ Ձo͑ ꀪUx}8| ~{6iܖm;Uv~i<U[A{Uz-1sMk$|x|.i'[ܺq99ˋXUwCSHpUU^N1 ӏxUUo-7skXUz:C@UoN9W0Ui,,6)UxJ5W(AUX}lÒxUktw?򐪪Uw⏵Z9:ҐUrja1Ut y*U^5Nxyt~_%*`#{@w|7W6F2--ե`dAsUS|4 h)`ֱWppIWUUH-yUd|ܗYUqwnd uIUmr8|ІqjUw IUln UwrV sUr&in=봠Uz~\meU},;گx_WbĒg8*Uc:^60UrKkUw3I U{)N`NyMiUx|gJQUfM>/Pf1~UyDb;``b›=УD!}_ n)IUk#1NtKY]a9S9a4HUw(/>9Uy wG9Un{.hs&1Uއ9Wəlc(*UPP-b M)M!+UNIxi#x߳ͶE)$#. -`DwI7-iUXVN [RǗLzUnP>/ʮpUoalKЀUm@<ҐU-шU_Z:Q՗ZVn SUiЦZ5󲑪Ugډ'jґժg$oy_xn >ԏxWUYeY.bUwL^$#UUu~s#UUbв3d'UUaPrm?CUhuRUZZڨ&U`!*>UWgCЕf&1FUUt{4VHUUp5ͪPfUbfJNjPlfUn:Cg8VUhNXɍ> UU_΁J$$%a +M< HE) /Ր^!jvoHN|PA qI)&X"_xu7nJ@UUUw<50AUwjW BUePWWwUut[= j.m 0PJIۖd&^ss%xUz۰ PUwX+r*Q6WUO8.̇> aUUB0'96UUhy[ .U_35ZQf7BUUXws$7 UUo$#&0&U`,QS\(UUjQ)BUUm&U|{R?v/UUꀯ?C$A `/}I) UDAs Wp黴 :&UUxtB?oV UUjrю8UUv1f1UUn`KHwnoU|CS:JWnD OUom˶-7UUd#+h _EoH1 U_!p ĶH UlIk$8UuA%0!U_Mڼ,I8bUjM >@Ujmkyw@aUYSb'9UUUV `WAUUUq#XbAUUUi$l=1@UUUoۇ8AUp>l$!ժ%b!bF6.tUUQ-{¨FU{FaҼFUu`ٞ>ժe3*PKx~d9W~Gw';o`:b/ Tտ*hs7gwtU t@˯|[=:tUi-:S_j1sNwpr \UUZ;{nUm nۼ7z2,|^Un DVUUXj qs6UUucҖNzCUsfAN/{#Uy¬Đ$'UeyinAЃ&7UfnyspъFUU|vU|,cd'UC"(2$AapKUUwLIyjScU}q{n UE/U~rWNU s X>]UhTܬfUGNTAnUxxzhfyUU}Iu^Uq`lKGU_Ag=W>UK _ֵ6UI=V(GU*X79JWUk9P0=Xxz~z &5 U)yGUUM+ӍoUUiAi8xUgsJU[0SvUiajVUUsM()J[]UUUbyRwU̠#5@|#U_~1." rƶN- +<%npv?UUb&4SF7UUMd 9?UU_?:ժhGUU*e7 'Ut ִ<47UUqk7f7UUt>5E/UUmR nSU`>Ԥd'Uz霡zcd''!j9RUz^ QPW ~q0NZWvL|mW U{ȑnk'U_ꀒy[-]N5v uV$ܽ+r>>~ꀛuX>/lk[s?Ux9@AU|,0^*yȱn*rMP WvBUyB:`>WwnY#UydhUj p׻Uv1듛}ds̿䲓tNVr_ࠑf+ҫO'dzxlJ ;#\W|K4.tK|`ƙld---m p ~W+  P5|+t3K=Wrr6@ }Pnn[_u X5?UoN_]Um+ɤ?<^\C\Ç<--qX;^ m@NPU e1AvdgNW~B11YnqA9W~{l!UUgpsy˵/w3Ja{7U{n`WWU{swU*wN 25Kxxx^;1is----km9?W^i뿿z~im~WՃhP:^_耯fd1 W^xx>3?xxm!S򠀫jX9^/?nP&rmOWsmWXxj6O'_%- ve}ҡByO/?^}nadg_U}9n։zWtI,_ |MUet>՟UW~kqwq_UWwS3Ծ6?-bN5ՒUuH}\UUwW/>9׻kxxxxWp ;\ zz+@*--m5dgRZ \---{>*Uy~N ?Wzf t+Րic 9g:oywS xxwP 5뀀j1d^(^]Eh*z^/Uo)J! [` `S%mU|U㮀"2)V_$L|* tP5Z5{kZkHpSyx1+/-i`N/w+ w˪WnP=zjps' *Պo*^d&|̀~_vi{Mkx^ݍ\af3b~RXֳ&4---gViA -t3K_󪂫n1r# ܑmm.---X(f[% >U* kx ^xmYO A~xxzc+1",]u n|,ߨW^耗{qq}UhB)-mVV"}ɛ| -p#Um|UyP5?^UhP#?Ww\d5>\䠪/-hi'>[ -O>9>5Wc#>}3UkwQUUsP 5R3UU{j}s.4I~U|N5՛٘=^4lb=6[Uen__ub 99>Uc` Օub џWu1`_z* q3'|_*R3>^^cSyxT3,Lcxx^R J%,!Wx$JA +U31S O|&1Up Pn,aUX#yU}+oyUy]?5=xUfP3l[xUgpJܤIqUt03,rUhL Uo7JSUMM>` m<ⱈUnr/ywҐUUΘtqq@UUo8%m Uzx^0WsI/ tPP5c?Q +ՆGɛ7UQ8Wi9g+=`UUt1pUU' QUx({'KYUcxD;p Uh0Ug!JNʮpUrh&: QU[ OD!WWMx[ /U[AaIIUz rsUq#, qUuP9W|Ul9 ZWr]AwZUT0RDŽk\__Z5,24_x´\S1{, UqI{,U{/w {$UhdK?r#U\R9o{F4Un?%2#UidS9u&3UvVNjR UgB+u{/zUf9Wu=yUp ${;G9Ub֫_?'?ժiiOaqlg UpON,k_b_`6rBg*UodSVa*W2UmuٛJWF1Ux- &2K_UU{I79FUUmO^II# Շaq$XUUl9m@ UW4I&%)"UX`S6cU 56&7 UzZFn/ UUs9PPPcU6zфpUuNB+шe/Utrd=6UUvdO:em O׸UUO?}HEKSyg+YU[Ъ'kY U{elciY`ғy /ע99#md! U~OX3 1 Ո^(;:0c_V`?E)Uib])!Ur!nhE)UU|Ep m!a+UsnrbUrI! Uf&ta UxyBUxvMFRB x^ l9'n UUd`̿)" UU_l t4Up BjD!AUY#Wf1UxX>vK8UU]eO6 9U_'܃9&U|sB&Uy{ I U0$F1zWUb6/o7,g\U-Oyw@:nwU uflv['?UhPN1D'U}#3U|Kʔ,1'Uyڳ9A7UzB?ǛOU{G\a%Ӂe/UqЪG$+,7w.wUj}UWl/:Z5\~UUoX͚/U|g)eM<U`s\{0 |5U i#9OU^!PnծUی1P9ܳUk[U XԦUŞWJ8([nvUo+|Qe.W~耼ON > WO2? /U^z6A - Y: HF+ Tjd [OUoSGnԋ_UEt57Up zrW~zm˖ ~U> N]Wv~{t+^뵭 xL)">uy>```` ыxxxxxx+[a /-5Zz!;Ӛ -o9qSt /S ?~Uտtsqx誯zVjl>Wu&>=p7SU q4,?UzlIT5 U_|/wU+a.U e/>?k7S1}|U aw$+7UTA'D%zx {Cc(/5}fAM ---b7ew:ӹDa:zU/ 7U`YUt}(@U_ꀅn.5YUUlpS1uS8~`P5/WUתdJQ A{ c` S_U e,[C:/]Z11^`5 Dxxxhh=C^X`frq2" --^$irA2 -{!X69̙˨Uk"zL:5q{w9ۺW~ {ܚU{O6{ܺӀUqrԺkڪ :˘^y N 8ĸ|ly U}st z {O$z /{R0  Ujp*{{Ԁ׵z؄Z5[ۀ~ i*;ӪziSyw-*vJrۗ^xݍ yw2d$xxxxxh%# -z? K----|R(^㫩{1 ?Շzp'>zz{m>Ն~Tw~ U|Hb+콿~tMRH>x{ɞ!>WyyW```` TCxxxxHHHC 5=/+^D yj --]S?|4n7Wկ {#gsBw)mD -umyw_}t1rq?Wt)?_{&A_X xz_Uտ}Ʊ?%- kjƠ _z_{1u w_~x/-r 5Z:U*mrsz'p'&5V^<ae+ ---u\@S~z- |i1 /–Dd_?/}`xzM2DMj`ࠫ"IM'3 /2P + +-s/6>xUwlmI(tI Z U|/5ZZèUz?1esz*U`w̙յ+5c8x[S ahn~R?y {sprW{Y UUzxjYur۴m"9YՄuk;zy ^qPW{:zӽoR#<9//xe7Wxzӭ/*|tB'b``wX,xxX==cB^_|-p ç;----y(-4 )-yps1󽯯}=n2>]U-}{6>|NoV|ZX?U_~{$i1i>})->{آڪ``  7,xxxx$x`& [HK'rVS----b1N4Y+v-5?x qp 7S_/s#>nPNm|?U |bN\;?`x!ps?~//y)IP/zo?*}/۱ ^w@EWk$[NỲU]ȍv:X^xd6|````(E^^zIa>nt! /vKyyS\zӀU1kj&;۠Uz-:~=xr8_Uz5*UDc;U\X/5?>uP-7xxg}":>+UvctWz1p ]xxਠwЦd:Ut SU__^Xr>c \Xp`"k _b +ۼIUwb0t|IJUsmm SUzmk 63xmٔ ׻IKtNЃUy0R{ܱUO|vۗ׻UvڣݘPU|J8ñUg#>OjdJ x`-rZVB>ֳUkNJk㴣U|mݴzғUtXHDx^=8d$X{p իe+----t=>,뗻 }q`S |hU}v UI몪U-,hU{Kk [}m߶oy_}Iܹy_p Ig:xxx^h&p"'A sB ߔrd# --qmf:r +Սw^ ՍsIuS}iO^xfEA -z#7b5] Wz-Y W|LZxzv7uSWc<Ԣ Uwd@yUc، 1vrxL~enry q%QvyU9XPCxXzpC9[ m%)-tE 0Ig8UmR8H@Uq&[>xªPUR8` {lmk)[Mh_`s\թ Uxlv/6Ud#1]vUyBxe4_|d ^UUlOߢ=쳘Us`Nw UO:]Ci @UUEWyeS!Q(.A U"p a _WW_9" Mb"UUUtZsvb&UUq^0RuX"" Uorħ:b UUl?6#BBU`tjSUwj&pK[ UeF&[*Um TA Up/> Le Uvw\UySH|Uw{S`(UicӚ UmƵn짐*UwtJǛ% /|Up,LdUUn[g]UU'@, z}s!pMb UWTIP@ 8UzO` 1{'9 U{m hAU~$h1yˉHUvm֢:+XUrIKXUgІ 'h@Uhvkw5!UyiR WUߓIm'f1`xh&= /sIE-`  _k}D eUjM Uv-]9UrY߉oBPUUb.{!nPUUu1j(`_Ur୦˺XUn'@UU6Cщd!_UaM[ iWU 倭P@UT nG8! ꪪՎT`0@)JWUPnn?0 WX2'O$CX\WUur xicWlQWUUtPCɜH UU~S|LZ @0 Usb߱@Ulk6aPUf~TOewOx UzP#:``WjIU PwP! _vRti;)HU[ ܈@UvE&lX%/UaJ-;T@UsPN/D!UUPCe׋]bUU}` 1d'Uկw泞$'U[X3cU`nT #UoOܶ(@f#UyRvkwU^. iK'NUUUb}WvwB OUUU^{>{,E O Ul&/GUU}[hZG? U_}t\d'!Uх:BAUU)0NU n/'U|Ncդ hf7Uy%YA g?@U[=窋(G! UO[#5^ *D`n7UcسmiOz=#iD'UUUAWP UU-MPUUmts!Uu3?Մosm U{"І& UB)d&BUU*_Ѷ7a | "?2#0/@zCyٖX+/UWn-[f7UUrt>/#!Us-۶$ UUl @jn$ UUsةy bU}d sܟ#Uuv1UAU #ma Ux@k@Ub$I(#aI$ A/ UUcI;O UUs$yb)D$UU~t5DUUu$I˸ \UUnI4 DŽ"vm˶B_9xA vm[~ 'o~WU O,N'UUp"-"UUkQŧ cUe\CA7iOU~sp$=챌Uv`N =O|UTa6[pի|O7UO~$UxCT XUx1WJ$@ M)UUxZ,29ͳWhMh.ǨM\U+/\p PլU)pj/䳜Uꠠh5_~]%G /~W ZV索VU뗔LAc"U~[|α#U+ jP[&zNUuxiNvU{pOUꠠph.oRU*]Pգ-|䵮URr4] {Odj۱~t׻\U~)ց;WWkVd]g;+o yۊSU~ rTUU_}SҜ6 ^k&r'E յ/*+ᚎ(Fս+{RquWtrO~U |Zg?ݑUiNti\UR;oU tyo;UU&߉Awd%_~xx~ - Nemfo4}d'_U EdIۋ_UU wC:?_UUbv[Nw_UU T*#5yK_UUIfJ ܌gUUFؠxgUU CZۜgUUa~$ՙΪWU*{IR+@=푏U+*iv엿Ux $\U\\v-Uav$E6UU lP UUV|UUj`_ַ_wQP hU}O9uS0U ~) 1~UX|V1WMUuB'P}첖oλ m=v|)n6{U|yl?zxzr?*Ճ{դO:^Ղ}o^WI$@^7q7qS^U&9~w`|W_|bnm}ZW~h͖"m=ݵ q` ]먨b5^{ZX9ܚUuAvݹ^ Sr X4U {xx^^LxBVoY&d|rgjnܘí xor|˥\-|5`"&]կ j!J閒|/??tP >뀪Wfo|z:z x,7˘^ BnxÓժq>/{Wu/{əo{%-zᤝ'  U{"--&NWmP {ۚ{jTnw s9/U x}޶6}쵯+*{ Y{ۨ~`x+xxxx KxcW%ZqR-- LJiԭ uV{^ay>f#cM~9\rܶm>}+wH&8`>\嵪{M}-v>_m^UꪁxrڢQ^~)tJdJzbR 9󀪾yHfN|A.w;ۀՃyǪ UzX_}i}n `U}~A_w@N-[?uUw<6Ut7ꪁ@b۶a>׿~'}_&h?D qd֢9|_p r/|缏R ^t zWW՘&*/c-n?U}4_{h>UydC6[,]eC12(zU}s .S󫭭}H&1󪪪^/[~j# ' Us0 N{x N;u`WG> Uz XQU[ҶZ9 IU\%r7u:Uy>Q!U| 1{Uq>zUl7j!ъUX@w/: *UP4@Sp9 rNIӚ3կiڣ5e)UvAM5E* UukКq)Uzc )U{S)~Uӂ&PA-g: Ux \c_nMR-4.t0UziwBt8Uab`<׺PUtyt@OxUUw-<<ҐUr#x2m$i 5Ufب}$8Uiv{1w*iۤ#,T^n6嘷v n|STxxx虩p P,! X^h&`&2 ׿v P( WM6V0UUal-X>{!Ufw1 l WԲ[ U |J! UضNɔL)F3 ~UU#-E)` /gZЦM*Q /Չ=i ܐUzj0䲑Փqnv UIm)U|4IAUUIӘUU9L=뱈UpP#Ҧ pUkyy#P]U}9pU)a\ `UF`"&ͺ+XU_ ԴqPUuZ>IHUy_0Ntو@Uj59JPUoX}oxUm6w=UNI=벐U1iJ=h_U^958UVS9SiHUW$mZ=:ҋXUR$Ini\ WT9#*UO1"Up c UU}SL Uqw`! UIb8AA UU^ UzOaw! UU_o-aww?UUU*]/ͤtUUKIS5AUUWfi bUUo`SIBUU~0 UUitb?cUu- X c! U_mCSȧbU}V@IBUUfN$+lк50UUwK&{8Uc߭-@!ՐT=>8$_S8D%skm P$#}nҷo?BU}jO[+H"Ud,AR$>q0UgI$& 8h"#ْ_PNI"UfJjMUUi} MaUUWx!`Jց"UYMCUUg`N/' UU ̈ح%}?#MP6a {H# !AUJJ 0a UjN'38`IIFp! UWIX W}R-@T 8 _k$ib?0Uwr'j%)Uvhޫ)Z(`U{{ۣE( UwВ Ug}\e;!@T%qҨ(@_hPU|_#% UUp[[Uf%Gԅ(Um>)A8Uvdh@UD]s?%)Ug U_kl  U5  U>?qSv:0}#tI lUW㖓@pd'UUb/'U lP+QE/UZh6`T6U`pS6U/{K\&rz\D' 5Gڢ9UpO8mG?UUK~Rg?U,17UoT`%K&9̊WUU sP5XGUs5K2zGUk\IOU`Ie I(GUy|S6UdtZ>>Є/Uxq<̓N }{%HF5"WUFTQ-kUU(B&6jUUX9X,d#Uժq)0IiKaU [&3UUԃuB8@A X#  U--yH9Vc)OnGNWiOUe\GUnЦm.xĪWUUx0%OUU~$1aWUUx_UUpL {ݫ_UU|fMև ԌgUUUSՔXGU|n0GU_>Q'U T xQKCUU il#UU+ p @J P@(BUUy6@sldcUU_>r X mUU@}9tU NPOd'UU~\$'UτO@Jo|'U ;c &tbU_jnk'J$-_}-` k_UUj:#GU`NpSG?UUmmB>Ҷ 'Uz1 ǰ/U_ `)I/{CU Z R>bCUX@7ЂD'UUZqrD'UU_ɀ}9*@.@Wxl;{'!a 8`tm볛U*ghg[UL۴m^7lpU*vtSU_s[:zxxxz}!ԣe,xxxxuR`lc />_ۿ8Wު TI@ vOQwYYJO_sͣ`- ~rrmvU|qկ`T?uғU U_h ՘洣T__zחAhDA ^^xK +>No\mX*V- QyN ͵ yyPPOUxInW* }t qu#^կuJdN|^yQ$I|UIoɟ${~BںWyTb\6tWzz ]x~ϙ|: U**"޳hDi5PU d`NwꕬUJPҺ}붴H6RU Ӱq&>Upj1_zKh3տnX Tzxxxzd$xXX| pSyˈB----{^{zU i uI =9ժy&oyߟ_p#?Z蠝`s>ִUWX]WgW`r$Ue7wwy]_I!8EW~K$x'\VUy@hfi?<-)-iOzW{/ _{ `z_U~X-Wŷɕ_%%%%-00C (=pAJ;----u?^- e _^xi97es|W9P_WzHh&ֲRxrfiaMk%_^RJHiK-/M  |-- ]xzh&䪀Wo닩yJWx@n?|ub/g>z~o(@=^~xqhľյx6A^믠_~m r~-- yNWU|[3RtxA[x\\|s-----t^t+xR3A<_ br U\H=/(z]5EN~U zqwy~Ug0^**^W9[^!'[xxxxX:>#XZZkXIL----{I=U}A~]---Yv?- yNmW? xn~| g l~gR'?_^hpS_U,dxxxxx'x'%UHqޔ +**7ol.<{N((_|~Սz-iwOˀ_| 9Ӓz^a{"xxxJSMU zDS,c----pȉ瘒~ }wa ^رm^_}mן^ՃI^Uy^Wx#^Ձ{vot >W{Mі$Wтɗqxxxz1( =#_~!J) +- -uə7 +--X 'Z /|Cr$% Wxy?x]|H QkzohdKDt#x\^WY {O|"5--Op z_?pxihެIr>տp1e0 쭭 {c*>~W}x|󪪿~p/_* $^6U*m+=u"ҨmܿUnK Xh\_z}wyғk%[-0ЂzWtAA T xx~~[\٤Ѓ /---vfiAZvՖ!hem_ ]UbX9~ՌWأ9\WVxO?Tew-W€wr x`k3:Zվ +U`t P9Xm!pԢ%,~#?/BWW-q\jS----|X|UDa:ܫxOxz܀/%ud5 Um[mrU\m/U}eC̓(`^xgLj >Z U|' O;Sxxz~xp'$%"UUJAII~Wfr )ʈ@U|Pw9҉HU?$N٤׻kY Վr@喎U(CUyvwt:_haH; VͷJ+a -=_vD{! RщUmq75UUhmK֚9ԠUk a3Uz|UU~r%Uz$ˉZ-[UU}claUqN ԣ9UR;`$!UЁəX9qSqUW"Ҽb*pw3IW,m3)/WWx\i7R1/UmO;NyII UKVN?iUqm9U*QUujRtr)xU\,B)* X\^R Xmlb++UaprUzC:#,=Ur7cmZ&*Վqȍ 8}qK 뷺Uxc1Ш ׺*Uxm=Yv:Z04^j%Y.ˉK~WzmaU{7)|BURRdT _dAHA *mNQ$_R?' /]T J9-kUK9XHC{F P .rU}`λ i_qUppO1/z*U~kB'׼$"r~b61WI$ L)UNpkͶ" -/Um|v//-YЖ'xUTM.t԰Uk{VzYUr]3:QUoyw{PU}`n'HU(e9JUm4`1I^mk%*p&`&A .(,tAmcUZs,hBaUmLrCU=霼MD!UpywUz`S'BjUÆ@{-I! UJ1s/'h@ d/! HUUUlR$Gi 8UUUet6 8UUU>['8@Ձ!H@=H@_I8J8UU|Vm{LM(U|iփUsi%:UUjP E/`UU_40D' -s.^bUhO>۶ /Wxen: ՑQII)` UO [O'!z_HԛT/կuB۱E/UU*OZ BUWxUN'd R&i@zVN5XUUUV>ChUUUS7|p4Ukt>XUUUxc?OA UpIxY5d Uq3:od _Uc96F2UUt!i+e.UUU v-]>&aUUX5+@BUU&ӲI˶h@W^~VN% @ U_!`nme(U`ШZK'(A _j&9C: UUUjH UUUk{(tn :CUU@e6UUUȁ=~lfD"c$I:f#UU LtLG?_/ L0.?1Q:\Wͱ Ԇ1~U\ "|^ZX6 WN #>UOvWyuBUUm˭ 0#UUU[>W~"U>_"`U}v #}UUSj"'U m/yNnRUi5X0Ub6T CUh?ǒe/U{< )OUUQv| %/UU p o6MkbUUnILeUUp?'h+^UUvsJ.tbUUJ&@h'x"-/z1iF`4AUfcmKUqd>c-k&U}]ȍd&(GUjnf m#D P(bԢ/op ЃhFWxG 8& z/~R'_ +A}v7g?Uտ H{k7nU eM䗼__yaz3?UWLa;|'UUuRKp,RUBUU enQ' W]@$#`Uk0϶V *i9pSW8HGUoA!ޙOUzlNO~iOUU̅ww ThGUUܘӶ#w_~7m˶b9UV>1nE/ +SqІD'UU~]͡_7Vd$'h&zӆ7UUmN1T7UUyP#Z4?UUm?TOaSygUտٛ4 UUQj_UU ]yWyqw|䒗UU茭3cGf`.% U( 'Vn7'! [R@/UUyӾ1S7UUwc IxŇ?UU mJV?GUUqȖ{WGUU|o7UUUMǠ%/U x)NTr=엽Us:|䖵uw]ִ_*wN۬ vUrdC6 UvIN}xxS7yuMԳ^}jS; M̱ep Y˰Uzr°UA7|Uzp嗡b'a\xxU xL#Cը ~haIӛK\ l1uԒ~Ќ?rU vZp梍vU|gR/N9̘-{foy*UUlس̓Wty` {xX^^&p' f%o$ p“ժl`J۸\X#: +{Q-: x*Sּ׻UwdH{Ҕ_qyw @AЄUg -lUsqWY ]Uot-jTimsgQկ ퟖ JU^XX Ѓ%# o_^qN6UտsQNN9~ zOr$X- yquxm\UwroZ_wq{ [эU_z94%#*]Vn[)NUT TNܴUlr ZvmأHodN0U)I8U~&;*&J UU`pޠի r)rq<耆Z5P57wU}閒ժy=;Ux9 % U?zt3뀪Uv-|_}o9UOm<Wpd(`}-U+Vj=~I WIbFA[Yz^^zqX9w_~/e87^_pd5VT_zkA xxxxt&ɘ; -/~^ Nv[--r5/aիwݖNqqvUlk" ׻V-+*pyP5cC˷x~ztbbֳ[xxx쟡tAV;\xϝ] v81WN${t N1z__z]#:?xU{R9uS y- ~hq-\ /}mL<$ | {q5|㠠z*7ՙ9BZWe{ܚ--pOw{``ITA3xxxxj'L$#)+"qgrT@E---+l|ժDaxxi h&Uk}vD~d[% zݐj6xĐX0g<^xVy[ɕ\ԣ"----ppr }>zz{ssǛ>Uyn 8W {d6c1z٘ ?U|Nw?- uhq_^v:\_^x9W4xxxx <8a s ----v nz-{|}mځ__zh1 ^mO60]Wyr Rtx\UuCS-<v7qS]UՏuPnn?㯵5-u)Y =Up\㭪sul\xs:կvN{-_k:Z mzxzw9P7Utc#6@7׻-s@Ne>szzh|dJ |xxxx2Lz# Syb#6b#65 T----XX vꠋ{6wW{9x\ ֭no;>_zmh")I>կpP  ^~y{=쿪jp۫ \pxxxx(,(D XXR 94%---~\`ӭ- yJM>+ /rNO?~{3т(@?xsT >-5xw%5~}d r?NޤzLŒ9```p܅99ֳ;xxxx==a } 0C----{{lE6zzzIt7 ~^1 _yP_Wz/,=^耊}p뿳N_~x{.[AXxU~q9Zժ*sjJ\~ l'pJI_U}NZ?pЈ>?_z蠁vmJ]n_z蠑}c:7U~u}ߵG7Uꪋl5.Xĵzxb ғd$xxxx2pxW ~Zt (D----vۨ 4ypS77_zu^w9OwՂ*n[-׻^z91ԣ`hzzxt$ Ѓxxx,4!  P54---lA@x~jɜz87s2n Uc4jwU/*l>v88U*zZM9XU!fl7U|g|>cp )tZ%^hq`zWצz =ӓ`xx^\ nt"xxx\OMUկ qFP ={-- z)viU}{$R5Uz//r c&z޷|>==ڄ1{}O}xxx`",(4D& ߺ^9 yT-- `t` {ܭsڌX5++ q91?T._/-wP _pw$`_Uߨyжڵ_??|1w?U=5{r<~````݈f4xxxx=9B ^u ----~fA cǶI ~ϒ#UU?P_z+oIN0?WU*ѣO??>W~y;1r|t\[_\8_* s"'UꠅoIl __^x}qo<^^耐!JۿUU/pܟ?v&قC?Uתvny5-+}IBH=^~{)M$ܙ^zOwԘUKX5ִ^g 2#xxxx! pC"/TtN (D----u[#1,v Uknxė/vRX]ւr69 w7qSqxԤzz`Ӑw9xxxxɐ ɐBXX S8ĈC---- 7w[:\xss>P9׻^udjw8/ ar>PX7W^o[YƱZ-wp |Z} P#1{9_ ~opݘ={9ͽjC:?ܭ*o1Sy|* /uC\ lc`x0:.(4#_ m ,,ֳ%,--uhy0w- |)󀀪UyZ/5P5㨨}tPNn/--{P󫫫{t̾)p~ҀW9rxx),,;&2_]9T/{ --k 㯯tP#> //~u1R > /)ny?Ձ|hK_/U$b1zk _zW|7qsqy? *xڟ>8``114%,xxxx8@0B ppЃ----|d s?OS<*h<yv'p~urmm??ս--yhۻ^_Uym\)~xI7زU| ܾuH_^o>,_usi$&U_~w>_UUx8A^xx|qm :<U{tƉJY_yww78Us0`*-xô``rZ5X5$$xxxxpp+"ו5ՇS N5K----r>7/-U}kMW`z:\y̾ t$-yU-sǹ˷_׃ϕD2$xxxx,,^<----1qWI\;՛|>Wzpa&UUp2 zM ? ~tb&A{m; /~c۶i?}.W 련z\kw`xxp|d$xxxx6( zzxh_9Wnr---Xl26 ۑ -|`N//1ZS:^uЈa; UrV UWxڨmUʍsUIzӂUUthwZ*z"h_*Uʭn -saFi?U~t }`_OR?^\V~VA~_m&[8ĀUUs1NpXU_r$P5Uh.1dVWf /|xxxx#xx$D$ -Fp !J6*T----uC%xx`jw],V\MR?Zx }fS12,zy_{i)k:z~myXG[?0ғU|6^򓪪Ug0NtԴ Մp`%grz5U S,xxxH,a *@`f ɗ|?A MlP_WHR9q{M &Rۖ U[ 8ՂfI =ꫭyWyN Ӛxxxx0 j~_`&k&T@5-/1O ܑ r/[֣&]pW >}ɐcڮ󪪪}M,S> ~۱m?|{vvWIx Wp /էÀU| 5Sz_iXXe,xxx~|",xj=Xǿ;@/+/tE&gߖTL+ՇpNrï{Av:ӛUzј?Z*U~bIwֳU{qkDA|xU~]?|YՏxfN Ws}NYˎsUz):nsU~qֶ|pUq~SUs㔣UuX+TZ2Um-9İUh; y{Uwq.tUj>kB5dUpI)zx)ICa կHKcUt9pBSQ  jwwywWi3͂ իP~WN TU8*U](?Ōa i/SX0UhmAT:x^W"II*Xp/)@է*NtBUu2쑋Ցb$n6\ՔdS?KrF1^a0_Ub-OSӜUUq M[UiRO \ Ue|>P1 lUY JtUyO*T { Z/> -^NDc |C#> @@+UyNJ4`xIu-t8H ULOdJdUUsm1HCUh- }UUu6h&SUUldwt UU{=[' sUr#P#UUhIi k[UUwSnKU{O:,D#UU{ aW~$[< ~U:Jڛ$` UKd IHB+UowuWyH"U!U^NB?XUjC$vΥ ( ՟jywsV 8UUU6wy!-#5c U9N&7UW:9r6 %._UUl3:aUUG1` @nd c^$& UU_ >hGUUW9rGaU\ڈO'g?UzF+X$ENE/U gúug'UUU[xC#UUՊPA'! UC?t>E/-`p !I'Ubk 56D'Uk.,F7UrAfozl_ 71U9mٶ'0B_UZP/O իGɺlg mnHK_zC+Xq?! Un1G(d'UU_Z99nAUUg Z3CXUUiRXCU$G=E(BU#&q/OiNU oZ??VUUU`$^a mIr/ape/Us!ykE/UUlضRdUUpeCI0$##5UU~N-M" UxO  UUxZNMUUu=;wUUp bUk9xZmj UU|UUUy]ཧ7NNUUUp9v9FUUU{Pnw'U*ubw UBMs&! U*lI IUvR$`ݘ$UdhN'p Tn IOUտ [{ 듟U m @RUEs>>nvwIp O׺tUlvawv6ldUe(-s*UU|iNWe#m۴m oժuV)vUi3IժiZ9f1f;լxf Vx xDUFmEvU F{ mܵ- *zi4^蠀XrX y̒U *jvB)ֳVU]5T9&UxP[&U}%/U=@,F3&//*)OyRR*-- ycvW* |b{SP  x!VZ8Ķעs/R53_tN7{Ws_~ɛS=xu7p6Ub?0&UkX|^u'U_xuau'UU~=wMBU~J%aUcO,Qa z z*+R;Unv$irժvƒ|_}o%VTW~xpg<^^^?!!hDWս-[>dN|3U fOI CU*lIO[U p|X׿׻|U ~cJ6c2Ui9̴Udq;`R_ge IK_v&St;U~4Ts:3Dկ | 7-l+|oz&Y̶UUhhɺxĐW .R/{Us9k{*lr>U*l>Ĝ㷼_Wp{[tU4)L`x^))b׾ HD----wA;~p\TvZvxxxL-5ztL · U~Q ,#Y M p \zn 0=Urдq-]*|Bvw낫~N〠W`/>{ U|ht J:WwI[ԣ%,Xxxxp%P%G:"- ׁ/sԏz -s(I ]-z>z } R#q=Uw`OuEw<]Up{. xਪ}v+YUɕ[y``((JS$$\x܌ys91{ Uf]Zmp 8ĸ UvN7x8ĸrZ57+yo/WUWĸ_zp1S8Uꀘ:ȃB1_wD6^t#т:WU*|uOv 6rU|1S1wwlWx ,R9Q,_iOtg+\W{ug>^}Ҭ ? *U~o+r=8zІb&Va_ܔptK%+;`"'{G< }`?1Wo|Y*Uh5r4Ud7s9׻U^k>yUdTJy̶Uk[ۣ {ܷU{BJuUwWOm׻mjUf 0s:Uenb3*UkTJ T:Urh.7S*Uy*(XzUo0ÑUn Z->rUseP??55JSUgɛr%+U} ` lUSC X%`&"K+--/}ҡbYmjUw{Kr Us,\:6]oaaֳ Y[>U}S18* u[5R0Z*Uzk6{}qr/{۠W1SdBժ^_9P:Uv[N󑊪UnXɕ\Nt b *W8P #WW)m)/':/---~BN1s>z--|/}p.Y0Ve S]㪫t=㿾] UxɝnI=թ~N Qz"<$9XT:--UmCҚ6 ִbUqyw> ZWvM0wYU[Q }n+%NBsUwp¾=j׻ԣUq`-'Uxhwv 7|&A.s_xPrm kzP?vT}u 2{Wms{p_rMfⱈUUuepBʪP_U'h_xp$WGVشIUH{>#D! PB!`i UUiџ}PUW5pUZy4HUt!4N U|vJJr!_U]І-'+Ya _UbMDŽk HUUU-dhs>'UUUkmd-hbUUUu%r$"UUdqX&0 Wg6n-<9Z(iF1 Wi=@UUb96UsUӰQZCUUU/هO?B UUp= `u_z6)`Jr U/1(UUUk+|xHUUUy\rsg+Y \uκ' h3W#1PywrVAHUUd3?&0UcW9)HUmg8_UqDl;'s(UUpXޫ;maU[-' Р0#*zEK9 UUU,P.&sbt+sRߵ[1Uz=)cmh*UaR볘Up@#'3 Uh{w`zU{ڜ iIzU~&53 _U~ yw0Bz5 W!;Z # /V tn9U0n.'9UUr"1[OE)U{MYh2U}g1p5BUU[ mKbUi&'z d=>\OhSE)UUpBDA[UU1}! SUUc pދZ UUm77uw,cUUx{ڢ=ډJWUy"ȀhT&7-UUWOe(C/UUUIfw܅+D'UUUmh/ץ-UUvɓhJVUUUcEW ^UUU ݌ys1=a)l;֚=aW(7,N6wb U [sM UUUoR0bA g]w6cUUp97W%UU YiUyV[l' (GUUjyvGY+_UUƱ$hGUU{P5Sd'UU_qlޖvEUUl3۫q4UUi   _ }-D e/ U c?:ZmocewyծCUd OV NURX9XTFU*oAutE+~n&]cUuTNN/|U |O-PUIXéL_%P%&4A Ww'1 s/ uy`k\Ur3˨DUnIIg1I>pN$>U}X.'Yz!D%~xx9S[C-/*{3/xöUsIwwUps$wzVX5>Էս-wQyw1<8ĵ+ zpv h uX5+몪~`n/y=zx;[)) T\\\\v+  ----yMmԭ |C$˶U}Iժ~m6ի@ 8p$쿪~m۶?~ p'>~m>I$! }kh%U}M6 }MI}`~m۶󪪪FH$C=| 9> w_ }3:R#Xԥ_=W-QXŸpx^j)Qx~t IDa 5555}vs----몫I; 󪪪H$I$󪪪wOjjjjl*xxxxp7W c5555[3LR )uxU}k'xv+ *qW#;i-+xY ~<佫~r@=}xys}yNNxzUUI9{`xxxX%`&K\VVw, `d$----})}T  }_;cx~uMl󯵵}mvo󪪪H$v>}i$ ~p$ IlI`6U|?}>ꪁI$v󪪪~m۶󪪯}M:$C_~&m1󢪿~VCS?|?>W^y9W^* .1[C6U l>T{*q#͜ݿUޠgy.U:xxe\[xxxx"  Ue 9WyWo|=--fdw1\s-- }5>}^^zx9m<Wyxhs>̹U~tAnĘUU g"zr&w*MP5OֺUMyqԬczzxxP%X%$#CWzCtNt3----/5Vpkw/UԤ[s2'j>vU/bs׼WUh9Pw׻޸{d̹ _gyry^WthaBxxxxz IX4 /57}F Hc----뫫 c'󪪪II$󪪪}At@@`a6#xxxxn?OXMlb---X`rXU {}B?bUW蠊i|'ry -wjPi〪mIgs8^^zVШO?;//--]dN ]㋋~y뒜6@۠px9WX)Lpxxh&`%$zWJ{h&h63----1Np x 5=슪zq|X~a>ꨀ}!!i󪪪*II$>M$h?~ۏ?>Uկ} ;v'?}&6A? 'N>|Ϳv}Oڟmvꃀv1N$H;~l&{tͷ~2c;W|i@^~ꪪn{Wum!p} wH7^|yqdzNϑ\Y*Txxxx*((# xZ\ y7R2C---\TN㖳 )y@M\ۿ _j=:~Uc?TI;ܛ--*oX9>ժ~^nS9\z^Wd#:Y/ ^TI[;ݻU{y~CX%P%CB\\\\9Nwӛ"----{H& --z.eS78ŖUi ִ^xgT ֲuUwYrx+j arԙWߪlyS^_v!)MlxxxxkN3--- vT pJk----~6`۶멩󪪪󪪪II$````tA5#xxxx\OX|b----gp18^\#,~UUrX՗ Ul~ 锴;۷Մs^{UeJ pܹ%-\N Hɜ,(׻`x9+xxxx`&`&3A ''z8  [----}`r xP5Z> t}"1[C&=쯯}H󪪪I렪1N'몪~c;m?몪}m`?I$I$> >󪪪Io)nm |٘ 5몪~ysM믯}HN|> _*|m _z|w͇WjU{#0xywwWr*1| *Wq΀ ([xxxx(4A ^ޟwy1 r#----ZS*j0 ;{ j# ZӀ׌myH@:z^xpfլ'Y mURZ`|Fbp*9̀U㇉1Pxp`xP%P%KB\\\\c  NE+---gVZԖ -v99W| X9Ķ_z~mP/wWWn\L :ziqWw<UurT |ӛxxxx⍱pk xxxxkLX,bտ *s0 l----}6@+󪪪󪪪hhhh))xxxxX̷|ʇXA //--d1SyӖ /Mɖcԗ^^x}#'{'ִ _r׼_Und5R5WmJs>߬;Ôz^1P թUk /:2Uy O{xxx^+ /y/ ۬c--|/r_SUr cz9qp{~O{{Iĉ쐃Uz$IZsU~U~m۶mՀ@$I$ֳ?S4*~@8$㪪Ձ~ұ㪪&uzP5c=>۪ _yɝ ZWvm6d5U~UvgS6U~-U&)}8WyM|Wx-ayUlZ#1ӐUhyp ֳ9x^W0P5B j\iQ#-  uG|οII M7q Uh9BïyUp'A)IU9k>68*ՎBP W-j+`f9R_Q|&Ñr&atWW=&4pxS !pjp--sA`Sz /twz8ķ|mNE@+uP pۘ/-/zjn U/s1ӛ```x k xxxx|˩#"]l nk----z뫫󪪪몪IIjjj!!,xxxx̹W2N2-- h4؀zXr---e'J8Ę -%0Q+Z qwsT12_q@Nl&)ar41_Ud$Z5x"Ub_w miUOw**h>?ւ+/)t6Rr UU}>w;mjcUUSX+ڋZUc%intjmkAUv-YN5\TUUl,;ZZUUylvi˱';UU~p0V~K`Uy$qBkUzd[7U RLÆ0U~mmˈ@Un$Gn@UzlK6BHU]Hx@UrZ5Z(UpOd UZԥ(UU|$ 4f0UUzg8U~Z []:8UvB4n1 UUtyb(f bUUSveQ JU5~&PJL?WX36dMr}f@&` U?|aS)*UaMH@Uzl;/b'8U}A&$U5#>[?i#/t9yC UU\qzUURڨaUU^pO7g%+d /NcA }8c?&A UW^z?q鍕(QU^FWϙXç8 Ux QUUUxo-Aw`U~Ys"@7PUz]F۳ˆ@*Uto經H@UB#5 f3bմ*J'c n6N1J9-i -U~_ 1|+UI1wOyUz]zgXUUI~ӊPU!Ns&1[ʍ  -Nܛ+mЂ UUI`o6m7v@ UU&yT !"܅iNl'_Y⠖}$BUYMywa Ugnmځ Up>S!kPB@}uI؀D'_y d'UUU`S6eb`UBn;֒8A`UU{R0MCUcf7UUh5-iOU}^i:*`(GAUaBn>AU{&aUn 1>CbUwaj; BcUd I"UUp :,#UUZ`WbUU| ="UtFv&! U؆mj  U/$;& Up5`NwǃUfʍe/#l  WxcLZaUc PNGUUqxHtU~]}d/UU2l5 bBWx p';տ  Ր=@5-+s3`I$^U/J>䏵CBU K7/g,c$'Un&&UzBvUgNE 3E. 0j 6] *^!{neWgaJ@88BA U{ sg>U*irnvp И#Y̑U}'szԱUv`r~Uq9P-^]U~g[є&U>U{f1uM=U'ӛF5Uϝ45UuI$@U=Uzhcˑu)MUyS;lJUU{ KCUx'B+U8v^hA3E.-/ z[&}U l 1#4|%#z]**mKrvvwd Z-/i%>ܑ_P>K\UKpS.WngP3M̵TՌk@wx}^xr'Wxϙ<䐇UՆmvuiOUW~8k,&@V\QO W//L)gA$IVV}i1yldUP)m#WUS&Є#U_Zp.'/{W gAs%^Po#׼ZUWa7kB9ZU}Wɛu :lcUY` wy lUI 3w4Wxn1ST?Uq~_O kcpxxh<4 7/.|)9[əd#/ bNܘ\ {fI8@;ݲ}l1R0}׼UWywU8Ѷ8Uc؃ Zտm1\pΑOֳ:^xxx扐cb} 7<----~1~̽+ zOU+{,6bC| z~O }s^{ Uq[nZ_wtX |_xP7% 8^ yM;:8Uol8ĵ- -Bw_zN,4_~x{  #xxxx&4 555Ap*T----c<[ܵ*f&>կ|j6_xx~hɤLꀚnk>zz?^f#X կ lqrAU|m?wtNzӸW yl&b5zv}R8ʠ`x^rr]?Ӹ*սjlv̰zxxx" "ld^^^\7Xk ----}LInU UhRL -e/syyڹlOW?u|ZUk->}; UUm`o\ Up[y|h2 4"dXQb----~TP N\ Vs^ |}|7ܸJt_qX\uկ W0rKӵ/+ qecja_U5-qtrx5/Q:XUyPS7r}z\տ]1qS.WWfODU[pE*xxxx0Y zۿl _Wmə_UI\#L??Ux i 2?u@N._+϶]z_NBXq=Y̹ժyfX5WZԚW!AZzz-05zhhx 2,xxxxx'h&$# +-IAdiB---tr$-fh>gS>^] =?5?eS1Uzc5X?WW spSy-~ڳmI_`j/rܪ>}}U*oy{Uxx|q 8xX<|lʦc _]P5XծNX[ֲ^z,, B$U~E霾k[ -N1W -fFr x-_q#?:9訿p9qSw9YU* c/>OֺԚUzib!dJ; Uh\ɗ|T``yNt\\xxPO|jA ----pVmem?-X` U-Q)5|mm' +--#l;^ vRs'_ppxaN_x /ߣ \|:z-|dNʜ|5U꠆o~UUzu xxx`mV ck]_ =zsЬћ>}U{rx~f䠪Ր x~U ˪^}=RyX+ WpM߫ 97+yt1:Әxx_y?7x^xy  3xxxxhhv~P6{*-- uhV˴ f@Nm{~^[#>R/*f1w\wX=C'^WU{{ ? UU>덶_Ut#b+:Ԡ_z9uә+__mZ9jO7w׼ {Nv~_uOؚlix^^^,",B@xx^oyW \--55a ԣ sp:|Uzl:R--n\'ֲ+UeNZ9ˀm%-,9;{W iɑu8êx`y,#^^^^XI P5D#_ aOߏ3UUTpTNÖy,[:8WyiX='˘oN1uW= Upkw6@
WN7sU{1 8tUSܶ òUt]'7U{aw*UUɐoylWW9h&X%$$ \\VWh;S9u,c Ux[l9 UG"WjQUv35@35QU~UPw*R*Uq?JU{1Oz)JU] zIUuwNN]HAUsu`(AU{R3\1U[6`W U|v1CUӥ4ZIb_U#4RA U pd$"՜\`}ы%+vL{DHA[UXt> 4zUx[X2 Uf& s }m1:Դ UMMqz_S Iw&5b UjKe~}E+*x6'auHDUiIzORHUxO\-UZӫXUgSX‰HUa#YG8U`pyYIHUjЊ{줷X Ut 5P"9UUv|M%)Uk͉kь%)0W6Gn0b&s$'%z$1 0h@U} 5f0UpkVse(Uz0 UwC8USwvf0UxrdBJPUy{:yG8UpOy@UUJcba W\37X ! xh9 UU}lFYUUsCֶOz UUkyKj؆0UUmw U}1d pUzdM:3UUoF+t UUNp`_+%>@a Wyp"8 Um̀M@UYIXh@@UM`mہ (UtMI5! UUekm #UUi}% Uk$IY;MnN.UUU{nUUU#M1 UUU~(@}푔5n([6UpRC,IUl>taUUxpw`U0/#9!*yk @UU^tIVj#UUi0,U x"qL>b @1#Փ+) 58j(@ OII We|JdE)I Uc*B?'$'"U-s--Pf7 UW@}9'7cUU_{n$F7UyL?UU} hGUŨI$eS ՕP$m_UiPOqr/UIl7@g?UpO|nHG UW_$pރ%/UUw) cUUbkUUÅeۖ.o{cUU./'x \I6mc"UU|2maUUq)+jaUUt/m`UUJ#ћDnUUd)yIDbU8F9auU?ƒv!WUUl'tOb"~u e/UUUHL:N0E/@~ovl9 D'UUUC1fs#n7b!!}bh,!UUUk`]:A zmaa Ufe]-0Aa UrTmR]:B gn0UUp.ndDbUUUVn MbUUUx|, 6aUUlj2+`d&aUU |nvn7FBUUdN߽1d'UU k1S5Mo|%/UUfviW~d#U0=5A (_PN7w$UW^|}b) MaUU*EUUYm']"UUa O~cUUl/5Z#:cUUkf12'UUju I/UU`$M ڵG?UUkWNܕHGUUy#Nu?UU~Vi,/U_b3pe/UUhwE/UU ~vǖIs$'UUヿx q*Q#UUX& ,&I'mܬgU*k $I;ܐULؔۍoUtx ܍oUwfCIOUUpw,7NQUPLB k}jv{9g;#U mqznU jڌ9>ժІUd&J7yֲQU[-)nwUvB\hGUg f7U_9̳տ*y>c?jU^j[5U=U}h,y$&UqkU~1aNKU\=?9KUYI [.WZ/уcUU}a|R (CA*k#0R*SUp1uw.s%U`#0[Oֲ5U|Xi @Ntf5տs@dC6׻(DUzB0XĬcU t߶;tUywI*UUMmņÉLUnۿ{ílU{1yJ&p st??5VӛUhDO2rU}WSwgs]UUs@A86U x1rnYִдqfU_l93:_{e6eUpuǭA>ӵ~W1ws9U3$mU9Ɂ&I{- Usޘ ` nscxxxx B %}!3---+I$I콫Ia_ׂ 0$c:_|뷽X=U}Юv?󭯫y````iKdKq xxxR-WK[755b4Itsu{-- q Նm,5id 6^Wv[9S~iIgS ԣWqR\W~Ҷ&_WoZѐ:οzU}iyew8U|BCR<_1ῴ-8đU蠋gӛO|*f9WPf4`pxzX%P% .I g<----{Hh:x kZ1Ud]sPXUꀠop@RzU{39?xQ_|r4dM'xpUu1yy˱կ*x`SmIuU{@[M<׻Uqۛ#'U p@J*:}Uo;_蠅zwq~\U&K>_-!vB^Wph &A<_zsr~x8կZasxxWf2x!,,A WWQ---wN!xզ}4m^~ +e#>?U gyyn't?Uz7yx? UcjxxxPUiX1wh%q_UxA)_y ,|-s1>]UjU_[@#իWU_΍RqwMkxx `==ba %}  ;----|ov1 |cX>}I+ c۶{>}yI/``AApA xxxxM(![|hE--UYwr/3v>0sJSWk.,52 KՒf9SyStnsU#*tqUk㴒&R /ՏqBhUnШ嚳Uu\@!V Up ?Uo' Wh&hcU_|~b?]C,Ud~[S)IU<B^c.dnX UU8hޖ{۸UlP)P}U ^)VUtAUUw@ -5&UyKfXVUuOФRgU~|1{jV> `z^_}tٔmU}f'?i&/>UU {həXUw %@AUmIJN?U{aUmiۍ8U_qLJ ̘UyJiWUU|Iq@NHA~WU-#=@^"hd$9@+-E(3:yɪP /ApSyR Ur\Ch耀U\I#9:~S S -o_~~_d{`۰q_Uok+UWq͔ ?=iXa_>+^}mIR/0^Wbqm}^xxJ&^~Ԓwwpo};^x __pS.ER5H/UWeR12U1I=X -~I']U{t%Uz0 _UeNO U~r<䗸_U6`y#xp#۳ A _W^xK9s/iG: WUU'f2UUUb )խ:*UU^J*RUUe0N~wz(Uih砉MPUnk> _pL5`{|U`]í =UjAB2Uiq_~{v^;=X=:%BBpjрW_ՠ9W UlPmg ƵUpS=UUtɒUq)llS:vUu1LZזUd T#9JwUU[K'3PUZSmZc>" L': --Ueۊ 9u iհ^kx/zUP8 85IIUG6ǟJmi /]' 3P(lKF6W "J:`f6"W`w1Ufq}v8qoiNWUpr} >>WUz?Cgu#UnF`O;ъlgU~` UeDk yqVJ)} Wim>]Փsoys _~եdu{ۼh BҒ7^Di piN_UluІUժs?kyU_nn?7U| eR/Uj&=~/yUlbщІUUeDgюUUa歡 g1UK]; WU enqS׼7UOnmiHG "H|E)&__cPbV@Ud E! jF7U\IAvXm)NUZ(=&#(E.@/=[vWnK[xW}U%l<,---Q&  Wv *Q?U}ry1"UxNxx+v_+ow%AWx KhU`lzPW;ܮpUsu; IUSZ.[ۊQ U^iT vݿh^թUrq_IK``z(@ub--c$_1ES*r7Nɦ> Wn-%;*QoߞO4XĮr U|_7YUrn: UpI/)UUh6mZ hUN¨ڽ9̈A **gۺKpXJVUf$Phe.Ug cM:8FUn"0FU$9` USDrh>Uwl} 1.qMnUUh]o~IU]sNm~Ug@%=2-n U*T4 C?+^ Z֟V0Ǹ.!U kDm 5ҖUj_'9U*c-h.xxD"ժ]$vϑ-o,dUWUva! /0muTG8UT͕cKY/Unhf7U`bVIIGUq ;/IIGUl9 G9U@Gq'鉟3+ kmkCW*k7|ŤUzvN3 vzԵ/*sk_ m- 5׿zt;mb_(xvI$E +y4BWWU gWU i#`U\(R5{_zxxMDC4,CXC]Nt- t/~ _pđ^)} q9U c"ЌիL:׸*q!i xxxzo ۏvbs %- GN7---|zL߭[xf!7Ռf~r\)W^ {B իXXXx9p (D qz,;[ujޭۿ{]jeg ࠒqj=D_ _{倉9TpA6Kʴtb ՠoj\__t.o{UoH.@LWjȷ9&4Umj>dM4+UaH;U~_ bSՅf>%nQUt8adt6x}~eo&D̪QzC4Sݒd'BUu@` )NIHU)צZ*- Up,KjsUqTmvUU]#ISN_XR\ErS6UhD?1+@)M&BjWUWIqiV JWmiUUuzoyJWUhc'OD& kB.m`U\ma9z& 4N?9UWuގdpvhFUhqwl;iGV$#4\mWF`yU\v_Ԥ UFݺ=4&U ZQg.)UlG~F71UXֳs9 W#Uj5PvU {bov@eV_nۜVUd`GnNU*cS6QNIFUUd-\ gIU&h ,FAUItNr(Gx׫TP$i;܍nUmoZ.U|BwѾg?Uw`C=oU{6Ԥ&U_uz7NU( vX#-;юU[~9UUq %K?wUu詶$VUp1uNwUu bN?^V_zCuw.v_x`g`Ysן+[JV^W gUt;5'?UUs[v/UUr(L+Y.V.U_R=MSQ6 UUda{ɚne)U#02^^^^$`AR mOC9ִUs#AyW rkZ{әֵ/|(,:wk^iH6u9 (t1c- ۙ]* nԊ ۚW lX{؉GyZԅ,xxp`Ks;wc````{~~콭znJ wZ[^Ux(Z>,wy9,%%%% Lc----dn^Uw{ik9\*u`mr8H?Wxચ{J?U/ l| S^^z>|~D Mx`pʀPD$555a`JOZ:X}\*U r5B=^zWmr._UUS#(i_Uկ`7gUW^%}݃\>|VIM^^z`'IKntc-5\j *R*Ռw'۱.ӍkUy/˧˰ {3OUo yRUk02͙˓Ձq1v Y̙ ih 㵫*_x^ \p``zȋԣ5555r%r  |`2m~iwB|UI K```z$:2"%%-miבf_+Ul.5{k.{t((zM9n?{(jmAX4_ֲ׉qj-N(.q+Ս`mv Uh[C6˯]J. Wd6E=T(ժ\}G.gg9"U-`#Ir?@_{`?:^BU_a&IfUUcFRjV"Ugt6'Nd!UofCIOUUu~}c$!G?6&O@e/Wc,khG&1UYmR}K3VU0p,%Vb_IkIM8Y/UI~d +Y.Urm;{ h5'4+tE(AUU t@f1%/Uʉ '`.Xs/V!WUb`IUwdHhP`&UlZ)g9 U^ۦ$!A Ulಶ!(GUwUUp}a U]#4A"fUX%ФgF0.U^9@6UU[m昉@'?UUTX]7hOXiOUvMAurU|1?|1"-Uz=UI)mU*eN.r씤hx r97{/zW%_pz#KlbE-UltѺsUh06O]5U]1QTn6 {#Ar[N9(D_vѧ\1^tl]rk[W {TJTF5U- Z1`osU^ Җ=jUUz ۫]Ux~Fk̸)K6^WLb'i=_Ul9#-K_UZ]'YgUb$K~wU[U%I^{h<;Wk%rU+n?-vm?{UV{RH?U+kұm۶>Ub Uv rbfɍ,1aUUemY嚁d!_snYE)U`GrI51UUg;@ G;UUPmc HBUUsrN'nkZԈBU{ɑeլ!^UHkbTC_hmO4+YUu]iV!a3Uz.7Jv*}딢Uf0rlZU(w/xI 1xxxx LHx -Uz[8BUswJ WpoxX`z_UvΔNuQWO7qTՍyv}w x_NUv_6#Wo%r)nPUH(Ȃ"ўnp UlwJPUg dύhUUqZ [z6U~ɟU[N ~l` Ub"'`UɧI)/UZ O#U/^v|EF)UMOS=&! U*V1VUO`Xq!fj^UdZItwUpZ:S,g(4)T IQ?Uf_,`& UJd\8U`,II&U]iaIAU5[K 4A }G`^9յPm֖oBWnNoU]ø=S~UUk&Io կSh"BhW!_VH@U30;PPUJ#G8/UWD4N6x)I'WUw&IUHm=&7$"Uꀪ X!6ZVguF@GUUmӸL!6XUbЎ};:P&UUcͭ .!_ I8 a}_x>ի o[:`*yB4r\ĵO?qB܎KsJAs u`?}/UvM 轱WUz#V9}ߠrK[_* *`.b";܅+XXXX [~j Ѕ- l6` x}}વxpt;xˤu>] z{5A\>]Ut4M-TWɐe)UGZεH>)U joN U*)P3Z9'?%*}Z!m vHUmsX}8d'U.lK6388 UUP[VR(A"Udc9HF7U]n;.kґG?xUjN?\/%UYuL'%/cU*POf! x iUn^/PՏ=Q>6)UU> o~U~첹_! ժZyR[-(d&WD$w7D!U ~eR"O1UpXk_E)U_rڱa կSVU4~ʿ- >U^9qdr7US 5c WUU^bf뺬gd!U[;N` yҭUx^̽W rA)EƝ|nmۺZꀛnO{$'9vW- wЛubX|4C.B.<+\܊iaR',d \ˍvիukjN̸s `xxXZC----iN(:ӹ̪^_Y'JVzԺ ֎kt>볜W~7cۍl_l { #<(# X1Y ̜ԩ p`ww|+*$2,x xxxx  :E,- sŐmJ t 0U~x_/յhLw"_\xB Bԣb\\\\#p 4---{mZժzwuWUs]^tZ,lvw= u9:05}wX6R*|C%wxxs>゗ֳz` o@Z)Wvqa>辗jN!b"zxxXX} < rPj(? v 5q_x z6 G ?ߵ~ԁƞ5z~$B!B!4"\\\\#tI4----zb$wWA?^r`=Ww=)qIkVB?^zrߗwvǾ[ ?tH|{^{1˘xU+O0C0|\\\\]vA7 T o 9mítux}2\¯|\\\\ I[S tKC'uW^Ƙ M*}zɗUm|C4Ե rqI܋[``Z h 7B5YP pN}[ܭrj>ՕI$ɝW`J.-2XX\V  t7s =///*~>? {#Is_}U~mƤ?ˀhz/Bځ \\\\! s* --]; ^a0--_zb'tS=㢠UuS̛۰_s.to'?2 UvTyZ6՜uu")UmK+1Un:JWt/˰ D! (UEM'Wj Kb*QWfQ^'r"'^Qb\\VI/uc Um4ib[hC Ցkk;NaD! ^g/ UUj9UUeWW#U`P @%^I&'rYIIU_RE[p Ur7ushU53IxW֑ivJ[JQUno)6Un#9,UIϋ8U{\&cUUr1c%,5!9pNW+\ Vc@IP#UkZ>Vܧ;Uq4m(,{,cc歚٩N Ulvjv@>UFd[O,0՗Mn&1Wmi$)$'Uer&7)UM3f)" WUZ9 P Ub##֥/$!UXIP8CUUBojWկ0Q5Ub%r 6bUU#nNO0U L/k\#0~JQP/VnUg`a)OUJ8⸍W}W boaWgW1Oy/UmIH'> mP9eP`JFWrF~cUZVnozD'-WSI(>"Uy\6UU `'uD!Uwl@h4 wۉ;[~`몪}²-jB* o| ܝuk`̷U_ZR+rյ- }[Ta 5jbh-r=xB(B)$$XX\^Ch&k&DXXXXtVJ!A󷗯~ñ󪪪~1c _}$@>}2WzoX*ƣMx'mh,drܵp17~c  +----p9 (^*e v`Qܺ-/iC;5:՘իjO|wq{ݕ`zUHt%577 zgG85 \ɜU ^hm7 j̅,ppxx~ 'p```` A$뫫~6`#ajjjjS2ܜo[ϱbֳ_qrIsY˶ M9ի*?՜hn!tUB(B,ы"VM s vhjpԣ*Ձ~I_|9$ِU~6l~m$:㨠r䪪yh**zyFNUUU~I'f}b}yJ 0_v/>.j^)׻XX\W/k§: -MJbuF%KS?0JQWQTJ VO?YK\zȍȍ߰77םI$Q:ъ -r&r._ yY6US U~qxxxx~31 À----|$뫫I$Ijjj~/DB$O! \=P P9R -;$n)W`v W[)L>'9-+ ^a/@9UU(lɖaUA4 F1UU[o!! UeHS%/D UivkJW"UUr$uAqGe)UUj 3jQG?Uq%L`la'?Uemkac Us@.U6$mh@%Ur/~JQ>WUkTlC:E)nUUB3mr?TƽEBUvKh@@UADJ'#U>tsA&1"5tvv&7%)UUFpR/_(EƘ IlgHAUx{zB],aFG$X-_Z&R@%/zU1˼DkYc Ua%1?UY۶A0p-UeS)& WWEI3IIU&JR)Ku|p&hbJtU-^|ۖ&UuEZqf^FUB +5;l},!!ra Uxx. I:, vhu}לӝWuB pUj}Z*h; UU{Tf5_x&$ x*UUɑXve,_xp`xp Pտ//ez-^ mc RB_z`fm>zTH*MJTWpCk1uwTUx, ԤUsܢ."^xxx}KOˤ#----Ukۘĭoi2\~rtیgW k` *S}* c! dW9S93WY W+\CU iCtUbUX9K*UW\rE^%\R*IJ,`^!1Nd}Nu- {?_Ub$aꦼҠ-/juqS1u|]22!2! &N + -}ݿ?>UtM;_>^t \Wtڂ"m9̙˺ z*hpO6ǖ:Y}DO(Dzzzz P8ъ%%%mӾ9˵/`5{ tƳ͛젪Us;0[՞} ~UUsyny˘ יi'W׿V)c.: xppx9S -mdl_-5]̭6t:¯ hwpg~XB.)B)BkCԁP`m0S?y*5/\УeYN;m= -kX|v p}j{ W!1)L 01JdaիHUs=68UOK@UvygOmhU7B ܱ_U)N UUvL!Uin<0Uw` %)@UUu{~ IUUx/4ڭkhUYvfldP U/ʍ UOmXg+ \0 U] >m?@UwgRuU~d^M5 Uw6h5 lU*e)k'=e(UA(\CꪠU$m'D! xu>O7{|UX[+ -7CUC,Ar ZG:UUP ڿ֦6$!}M1ordU(nifH_U_Vj%,aE/ }_+!i-i?*Uin[4nHUieܱV0UiBw~ࠚi'֒JF7UvyIU_y':C U*d+*a_p_n.V6UUd i)aUsؿ\@MkUe6JC Uw!sUU^䈡 UUv'QhUol%I"UUfc6Uw'U*quvV$'Ur h$#_{}{'x US0zBUrDNn\'Uk=.Zf7U gx i{:g?UjXnF7Up1 $'U>(",e+ .dIIU [MowSlІUUUrc(pM쑎)P+B.U> m 2}UaEc-1Un@s.4N_*ux}_U~hcUUqN]{a W HG> yn1Rghhdrr`\Ӷ蔤`m[?^UտjFjLUmv¢zUi 1Ɖ|WqIpUUr3[:UWcmXf[ JQ`_h꽺I 7.7NmĿ/-jV UcVo?/(`\q:n~UUj`s Un-Rxrs7_^2)U'qve7 RFUgb'BSnE ryc``hUviDI+VVXW u8._U^[ִT**2vKۈjV8WW d۱BUn5k g8}6g:Ub[P{d$UR;9jjVpj5$I]_{a;KOMDH,((^XU]m)©N W .BH-\G2{ugSN vHҖUt30 oUv;ϝ#UU\caWR.r_QU ivO :Ӏ(PE!U;]Ca.]HB Uhu@ѽ*~Ume]:U=]zItxf!.uriI~k4hUKfQ]oxw/jsruiơ$+2|Q UTKr#;BcaGyWyzpj` pN0I\9ʠUlOG<^,[\UX ..[cyԦ2[D:i W]tuY ^a~4U_H)y UlXiFUo m۽ ٨Uh5hŸt~2ՠg a Հ$B"Y _`Vlaw8uY,,ɲĀUUUE!uQW"[*WKנinqg8#2#q$&~YEwkt `hҡIr8U]EsmۺU#miDFH(FUL K_mFfp%-UUJ>U i7~U#l-."U+UB0Cɦ5U$N"ܮzZ倠R!y܊UR+_U0$I댔; _jqWܝ`~UR/\mᐁiO-~,)얱2i(V]ɑ]3 gUg߿xU9ۤ \5UDHcˉv$"v]W ۖuPUtay}4Pk#Ŕ] J_YYQ PU-*Og9{mb4g\‪rk!˚oq2W7*6H#%'''cH5RR'u ]DHy8ģ67'dZf}ٹʭe C5xUU"%B"ӂb`ppKqفfi< |@9P>$````AdIBvoᖋ9_׽沺f7b\A %%%%II L t.2>}*u}X;6/Wpmf\t"-rU${J7c'''%Yf鶼r%7GDJ9̡ ''6ןe3tIkl;q;* %R)ҩa И_d<X<-QR~*`pX^&Md =쐁vuݺB Izu[|yUM )Ո]ӤDh^lcbep\I2+_UJ-jI]e.a7>,ao~UhHj[ґ#WꪙNh&Z5nv(@_dPjOVc]M$_P#]qV^\E֯&U*n7A;JWU!\R6wxD&W]!]r<$Ulɹ+na￉m|εHGֳUUU_x][թ7-c_WO|? pAōȭ{ۂU(FZŽb666Z:l!\ {St~UdݖOx]CTC\xD# %Y/-警V+"EZ\ʥ~pH8ħ;'<رX ND!z *b3}~Mg=opentk-1.0.20101006/Source/Examples/Data/Textures/logo-dark.jpg0000664000175000017500000007045611453131440022651 0ustar laneylaneyJFIF``zExifII*JR(1Zj``Paint.NET v3.10C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?zN)H06רnZ6㚻 |WwD$87й$ުd&7xs8tV.6o# b,N(Ds]%WPϠ\3lhͦA})BgNb$HWlKV#TlԪ sҀ2PC 9#$M;4Oy2 wҶL&|vJ@`~N3[v6Oz2~% } O_oQzй9nbG;'hҍ^T܋ۂN\ zz d&р u]HXGˁsLɐ=A]FIIq1ToJtI#?;hsԱ20IHF #a#ɹzw@wcU&s[ݸ\5~_G˅قoLM` h" 9iN̎ 0'kQE[~BF2gܻg;I4P9H@{0tj- # X #8S \~]bŃliOv@Vɝ @cOҡ'kL;㚳`V*~ Sc {m*m'8 |5P=h˴ř$X cdm Dq;ҁC}{Tiz$pq-6q4<򤰹YQ93gce"z-+//''jݭԖs #pa⤽uŻg0Bq{{ӕrH# m{Κ?֬Q"w{d1j,G["GI=E=8zѵ;I%d< ؤdzM9<T^J?os)Q? $MSe?\( X_Z.98=8[XSZXYEOsnJ<*UW}vzHY#r<UtV@']< (ĸ;T4dmpס"gj\n17jEa+*Tdp998(YW#W/ŃH2L8SWV] VЀޙ"䀠8Rr֛$D0`9nhD_/rG=9b>^r"RX.++ja˨C}9wJdy4,O*6K8 q!)u灃5[rIPz2AL өV!qդ [ ^ADg r>aT<$t5<t~Tٌ`g'RfNIP^0qKdjѢHIgvsP6_Cx.[ӭFi$1ľdHQI{nHB 7Yi'a۶G:Ėǥ("W jR7/ D_AOsTIV橫#`XILT898@S]z^4YOx|V*b6G f3ax_VyuwkYdAъҴS|M~[ioxᯈ7 \jx+e:WE&5!{aCOLwoo+KPÖڙɐ} ċ_C p=y>,fڗe# Y61ֆBf>UMoXf ꗿƭG@ӽ 3_` 5,VB֨XS5r-WUb>{T[l7oo7dS$FWmgewX՗^ q~4g%#۾ARI6k쑜qZQUQ5BEm9^PIݜ:WI6}Ѩ^z;S:/H5a9J:BڕI 52RV}z+rgzҵY _p:_ci?޳f7otǥ8@FIN1ϥh^vԋk,25+޹^UgشnitVM}CU Σz{oPv6TeckGDǿCPIFr1?κuMXp5;?7S}_WR3xýLL IcЧiV*~V[ڰ\iP_X [_~5rUʓ-oso@-, (_n-d D5dc/qqjyMbo@ӞGo'J B33H\ {n+U5YX/}>kjjW.1v0_0>{uפDz֕q G\J?O{p66Og떯 $83@Q {{WxWԡu0f׊=iTzp.b#MSs[YՃMkU'ڗ~W̓0d䎘#E$]L3xb|Ig=:WĂ=sЧ܎,Iyjw&3ksnzת|>ņM~;1ۧZ8?ϥy|s+q^#ŗ"M6"Ed 9k96݌e''c/%B@Di׭s;`GZO5FVkCΟwi81ڪx&{i0#kH"Uui_Qm+/?7{)1sKYN`zҶ>#xOO-{tÉCgE_Դox[Lj#rHW{{/5Q-\nq PÃu62-ԺuĄ9+x@N?RhE\u46Go wl ]V͛Xsйjn4%<\^z ߉~(<jd{"N!.'S彻Vٚ] 6|u;rNfG5ki%̪YCJƣ2! ݏS]ޟ*|0.a҃`~Iv,ӓ[6An>y! C=jɀe,TvEby.x N+1W$ YBdpYuq;e=ƹjURK;?$rnF}phNtst a;>5r $XTg O -X̣8e>ֽ1c/r[<9TP1Ʒ*zΒݞhm]G[m0z)4hL#Ժݱ]n 7GFaӕn(YpwVѵ:uv˖?O/*Z)ٌ:l^;Ė%qB==h,*6-v÷ˋS^od3o8{T:q\0,JȣJ_05^~T>5qa=v3;ysڬ[7olVZއ\heɌq==?' 0mT|#5qa^H;N;K2[@8AW\b3&C sJΓ*]~Zچ:KI,4o%M.<4c8~awz` ۚD4泹 .^v8ʽ8Tы-OMJ ^:?ֽ9T=+< &ncnkӁ&>IԕA uq2ۣQWE7tXڅ90 pӯqdr>[)Z6y(.N=A[6:}C7&wL{Sml36$ zvV'@#iAJg:tPx:%:"9ۈ {pQG±Ak>_U# eW=GҺ"qw/)jS{_ƜQ?cx?g2$ƹs^&>zךuIG/{'W9A0Ok<)- FͳqȬN7 &CkAai |BkR3]Eڪp`&R6'bzJU')Y]:E.ާX:bSU<>[`q4+ҽj4\Y2y*{b{fIp88y[q8Q1"IhtV+$޻mZF{-`I98fC`f+1Ʒ6ԕxY*ҮG`l+׊|!<2)܌pO NAVxN'ۿ}\7^ `ʽQ#q4/UޕqtH1JT敉TZF$Չ/2!3.'K 5,~3N|?ZQrWbscPLXԞ5w'yjngb巜U8PUrɨt;X|W6zVOR89=cn^savJQV2uR{ml% B}K=>oj+MI+-%w fbwPriZ[82d؂=q\_00EQOQd 6$h)\ڰTZum};Xz^mSy=l44Ąd,3]>ƶVM$aC/v ۋ7ң1pi{=q{';X#N7+}]/L[X7&+,~xW7s: @ >frwz?wj>']X/<_s1I+5|sO(U;^XH\BVf8һM+ĖTr+ؠ>Ǐµ-&Ex=IP;)=kHx|:ȼӈVB>xK{]7XS^]jn!|2zY-uu9 JJVlQ^a/Ogp60mAwG<~UنĺS_Hߋt閺ݪ>0}qש~Frx 3z4~^o:"F]#(Y5 V&0-vrX 3\Ȱ+𪋖?@*mJ\hkEhj>(Pq#[I/ӹ"_O-3:鿺:}swfT7zז43,rIVZ+Bp8rǽ @Gm48 6vQnu8D8ɭ;w ݝЇ3G]?;P@'N:׺[4cP(4+6yn,8k̥m qQqq5xP TlmZa #58g '$Wc <+1nQKxWf2HO8=qnqQqH*pxΉKP&Vl?ϭi[:bF:l#q*"/S'N=iӼo9^ c!Bs^{DFk Dc(ͧ=kŖ_jӥlcr~Ӯm*SF\4S¶FYe ogӽt%kVJ_VvMkf\_g9nC{r2kק4\u\n@aؑ+F5j C+4H2USӭSl[pWSν.?9ZYT{Ԕg}=i*2IvFWs`8J d'05,[{P}Ѽ'7 QVzm8$$nz^nKxdw qbE]Iu4Q<-:5E![H:mH;&:U=ʯ8 sҖHpYP#z\9OV8oI$01ڸ{[L潦}c|9a뺺V* Xol F|;D9߇t~慎{JgcDۜt_BtscšhVOMt˕&' qVΑյ`#h?j? -z nMh5昒0! 7Y$ҵ$s)qVN:aR*QU,:SNrx0CF)P:%eΓ:)h)jYzV~ OZ-*yӒIz]]uj2#dZqj?皵r}?=j ֽEc̓NM7rP(Eʎڜ ap ֔23giUPv1=O$R0avnsO*ʭgnWSsM{i5 ՗T9xW_:[Sᖢc H<qC!Yʄlۚe;׽s:lo";c=9^luގ[jKxb+ҿL+!^9aֲng2~IbE 8zbw~n5dU܈-} etydѫ=}BM/h1[V?C sY|׷ $kh9SZPA@3jMMܲ3R*P z9mNj^Ǡ;#Y~`\Vm&ؤ=EjQֽ5BfAPTTe9G6C\揪JJcqG?Y.89K e:Ϊ8I- pcxibϋ,3otwQ,t\; m?4$l?2_cAUYZ2Rs.r GT, -F5J-b+6V2)$'޸RGVr_?ʼwIA#'WB~ ~&8 &y;G9g2ĕ?8k5n$?]L%x0pk<V~V;ƪSJ\D]xV(k40%Ti1?/!4\/`p+O@c^Jv9zC7/xŸu Gǖo9)?OM|bxԵ"si7=fM\EP?5d9w\բkWZ_ ]*]f`=?*hjjHXdbira95+*+4l{SGNN,*OhYHTeg9q^/n[c'3y5 ;Z`ԕܢL6dOzh\w%IH T`݊)s:Ucc)mYk}(r{iiJa¹8?Gim-9?{c)+ F: %GstQb^O5q**̰5.3*;$ j6d6cz[hdRoYzT۬-Ŀʭ5[IEhZ]Z]#^kxYFtMOMb!YEN\[q4@4Pہ>W1q`џJݙ趚1giinyt1xӅ04QQEUَю2@kgNF@xZM~P=v>:+{ h[`mxOKQ!_y9] /TKKu1u5s6^iY5zW#EHُ5R;ޭ_kF@~f^k%Oݻ:pԯQA2)>N:u%T'AҺ"Os\,Ӥs:gcs+Wds{(xVyɭ8S5ч;(UV8ɵ'[>j1}jv`FI5|~5Yn"Ns u%gUwdf~_¼{LEݞuwv?ʲ0qZ3cP=+NU]BAj&R@󥗌@cґ_v510DWo'nsvI N{bCS',=Ŀ;5 ?v|Gֽ;᝹1{kѺЇ ض$V5a\I}+2??4oT-,x.Ǩ_MO9\cq-wE//1P8g+4pdܼ?_A vV94QV{VUyٹ46FV85eu\¶vXѱ ۫wu<Yd,ZI 4Mm׷hӑ2&,𵵼ikhq[V)GNRRi]K0eFzjQXu7\Co yw"TR2Z\Z܀͇&K{-RFX hp\ہ@Or}.?#b[O;GYs-JWVe9>d`0¾k𧋥Ү# uGm\ HJ8{ؚ%V `޹kVW(chNBwpQn9Cj^ 봊F9d^`֬<ÐeDA+|#cDBI=J? ꂠ)+:SL'-N{ޟ#:ҸOⶐ4JUf݋ bp\\.7!cc[1oud>xׯN*,Lgl?v-Z1Lң"=Lk_μ\ToSCx`R*y=j" H5"N-ԴK{l=\e1q5}hՏJibˍYD#9㐃xjf-#z{t X"Ҳ87Ń0rk0P?Z@JG~ɨ;ݑ}jWtŁ{nYѣ1ݸ=u]e;uz.T<Ҿtsu(ޤ%O8>yBƎ5 Gh5Z2849螙5GP{R >5p>GZ]6yϚ,5;n 87'p>7z6{8cO&ys0֭>鶨:`z*f6<|}ZK^36*I w \nlϙV`Nqq%U'|`Cn MI\#󦈎0x5`(\`u t'#_ƜWo#Bb`: Ӎ-AvŎ oQaYd|đBepG9[tjHԁZ7Fb4ßtXPtn^B-yQtRB2lMxD*h\Hg$nB$sƑv PD _+Zᔝ&Qs >D(M_cĻ챟 W?X;~?皜'~F=O5< enm&K+Qf Y|]̜8k"Sl sZ|FF݂ ҼPc$sR,:r?Z=Wo3-/,09- E?O5.0^=lj5 mF07}ȬzQL׽[qU{DPDcjיV+G⫧XQѼW$CdGʓ#<ÂN㩤at{UgrF%nG[MtoѲǞҲ1%x;{jS qא[R2J_; N~ +h8S-R^UCOAn! כxir7ûԥ?9aTug]<-do>&?L+=*߭6$rvY__j u2ɴfi?!]KC5h':zUYu! lЫ{߅Ew419,NOYҾFqeVvЊұ'9bsi~`( 1;}kUh- ^,Ϯyᙆ޽Zj[ yfsT:+25igF{0M tj&Ƨ#kRG4ݏt/P˨[B2?׆0ؕ>k:rn} g$BMS6h;Ԟ+͵vC+g 1-G?ˮeqBjkK<{=HRskBP']0G]*SS8U|(?j\|Dy\ENWxJO!+Wxy EAmqLN#ҭ9Nk>i9$dsԚmU$;AgZ,rRpzUHҰ ɑN{U, *Yz8PS$)_S&4l["ylqLzb~T`+d=ԄPN'zV>ͥ}j.>N2E1Fy ڢ#jΉ\Pr5q{ Eee t8O-ׯ^;=Z'$6'9:ZZAuaqezѶUdbm7QV-5 2TG8܎=j*K "_(YFPNp XYHRP~_'o>~"K G"˴#㜓G=nyEEs@Hv'#8]lj<<ǸrFϵ#3c)@Dw^̶G}:KD`C͈bv>:Tv|9 HWL3[ :n(~ 8H4hUG'VqO-O4~T;S Im:2 R2+=5U!]ZcĕKc=+:x{WM&@;/VV^G}V-VCђ1؁H8b̮WI DԬR \qZ'%M.Ԭ\y)S2gG!OfCT<]p1=w-Y7_*C qǏZE7:Ge{{#k'J&m-14*TX1qCr4G'r\GOZI\dqGƹr?gQӴ?2WaUDx?޷}f0{H+i{~+\Öql[0;w'[?gŢ%秱Ofux85ìFt7ֽ 檷zͲ}"MN6s\B.ԷdJKCrSO5Ŵ;יs+ۃzW7j71)ۈ-f[X,qғ$=jy/F @idgQ*t;Tp2}i%re*O^@%&m{~©  *{T0Xiu95l*ƉfٗM6Ga',YY1JFGkM-`4nj_;Mrog jíjqB C9z^4‘4=`*ywxx'jw7zW̮[}Ym<̛">cV'³JqIms QuEUoym5@zUĦi2:;9X?#%#=3ޤ\;<9ѵ [?S?²/Ю=kЭ D?5ǧv"- Tol/65䬭o'9LCO飶l_[CVlgnHAq¶6^D/h݊^z(.ٜ0vϿZ5S9D'W"񌭲(BK;#HgX7@q:u|@sy_ 3G^s kтQU]?W{rG|8ϙ Ux+G6lxsXխ{>x4hH~a.`垧{}+kOh'KS$q>K$mNIhy2rWI{oirӧ#ľ&FgbmJtOUGӀjQ}Bimo1|Ccݑsq'u:D.KhL8슽k>~tBk $|GA[A%s^X$@ zwSֻc ^ykq훆$x}4{Gב.La$_Ubg>M9#Ҟj&5Q R9}[+sE=`J$tu;)wVt*&.|Rq,GdJp }3I-lB9FN*LOZH|1cR>;ClȭI?>xҦpc*,q NMƋ3)D6+^x =ՏIcƑ't~3j0?摍{xsàdt#?4|! ڃA\TRH|?BTrCFA>}=jŒRr=q~]\'3D"19\t;^`AKpNdUAکj,{Qx~pZgn-!OZ0[!05 8wN|8er10Xo/-V=<JR`m r:ׅg7P¦{ mUƝ;1.^}|x,{q\aE<1TRI>WMxwXO k:}`Kpaey=@_n7{ 6X:8x j:" s3JҢm6?7TM+?[eIf#rA?q~٤ܒo㵘}UT:]ߦ K=ln\+=̬%},LeȻQ &}TA+diڊHwJN+E(Ⱥ2 U@wMh5+U)HwЩ;jcQ_ĎÏm7_uOi}Ь+tq/] OzqN/>{(܉SNS&Nxq ؋)Ys ])]'ICVmnӌ5O^įH>Zq$>g$8^&eGyɾMmU)Ɍ VFW-D~c|W3풞?5Z'a=X/f5 shE}iX["Īt?X;n~k]\R 2tmҥ!HRrOSӊ{gxV̂wU8{T./ʇp#SA֡kZII9R` JƉd88>ZD]U)9 t>%67q39҉5KKje70=uYREsA {gҸ b#\Y68ޝkn`_V6L~ГvgEܮp%NIhzF'5pG [۽qFQ'=T),Iⷍ7+#1rIw9OZ|AxeI\{~3vimJÖ&Ē޻lYFDgr>_?JngᥒFiv'~ߑ'a^J: ?]izzDxʝ" ޕ.]KY' =]ѣ/%^6.'Dzqk-֣i%p V/O "RX`y~zwi/mo+Z%=s3#imim-|aDúC/Lɕ==so5 $PZMNqq׿QLmg0ZBK0#u TDVؕXEd%M_ 9u\`x۟#\׺NĮ",</'>VLnH%zOŹ\c;Q\{oO)nyw$HHVGOtX$Q,N9CҰ|mie,Ixn(?7?tM ^K+J['k k2zpaulix0dK&rQ3r?QXVѥe @g}=?*5!ڣeC.zֶnѷt͟rдUUBHKcX>ܶDRagG֧𮀟ga 'lg^rvի8}-|yqY:/"6U Fy:Z 6-%G^} ZԤdL[h-8]&YmKtv;t;VSv}ӯi>?DP ܺwky+ggY#_i|Ը\jn `3ɉcSIɬђ)\Z{ŚkWQC}qBVpymYυ4fC4,mNz׮kk{=5ݭ #2A_jxw=A]o-N?uqS{Wo3:eg:S>v[3?6n9eOeAe,X}1_y1ݕY"IvjSjiu.Ic?:J3C":af`0.A 9'ι}[JK6?j'RH%D1ȭN0]z/?7&UX|m`v T򻙸SJ#͕A=X3Z -K[m?x_>G-;UZ7?z{bsAۄ*Kʹ 4ZVV%rK;RD ~ҹȵN8fIbS?ȫ/{jw2͒gbۡ`䓜sFCTb\9g8MA"c:TN&u ]2vn94ĝ?:])NsڗlZ[̈dݐNU&'."t(z*Ndz~UFGAj[KG?ת|rK҃qwna^!1ݘYװ~':-q8+q7n?ض)ӏ7#=}i+)#)#HjFtM?O3q-ؐ4];陿PYvAdf,Zy6^\g{܁鴌>-b̂Y4]2B${/9>’W_ XyLpW䝣$(8zsY\p#6хOP9?Y9frrI9$' TyEy9#N6`f[W$v֫~ɩM.mIO|x-ɓ-`{v#%[^oaLpLqOUs:sp>^:x?d3[P<מI!URIT`~#W ly>ɜs1q TvaU-S@q+CxdvS\g @'̧ýuC]D؆0qW}6ӃOK=}d*6\qN{ sjxwV;&[\Qʂ}}nHwO(;XOƵpDb׺E >]`k .&-ɄP[#`Zot Ra aN /«|+vsߊ.K#1{g$RѮmҪDeV׮:BgPX,GAOZ׳ץԦbKr]CjWz_9VOYF;hu#-żގA?Xqk 0X\|q#]DhW:Q#]yNF1±Vz@;UgUl6pFr"Ee H\)pQ׫(lrTޤ!/4))H =qUڤ#IQ3a+^$)H#U ?ֺtҡ wNm78c?i{Htޣ>"&l[;,wb5,ݥ1yv ~?_ s(/nV̖ZN,2FNýhcK>dkOxs@-ެH<𯄮Pqȫ$ gwqZ5ˀ TvjtZ͝`NU)>KQٷn[ix[]*/ a!w}{)ao&o@2}e?[WV4E\zqq]&BQ(Üq[yke{yѰÚORaƯݿSgc$g2.pgh.kR2G/r's\Q BJnz<}8Gh%99$yƹ7u^fl${d]qm= &y쑬t2|/#.eTR8JX|_b m''߬p~Ҙ8ZK7%z*=E# p;SO@5%cV=/NQ,ױV7o&p9_kI=  q+=sRy9,sΝ)/L̅X\~_JIwmVK o ,9a"`>3[jpzԸ,dd9ZɆSyc>1gkI&2ځ=iiiNT!;ȥ(`ʕq1ɧd \*`j4]WN^;gS IQ' xw[e?'? k]?غzVR1q[ 6^'#?…Q4b\c=IΏu𧧇uPg w/x =1Sn'8&_~S Y|s~VcDշ*"eGgt>et^F~F>54mghMg jط+)Q_#ASIɚ.N"KHĒKkC|'i!WTmΥDOђ2 8 ӾO֛Ve$Bp99'ne&]&swS{kΥ[6Ӎ'?pycj_ť^g?ŁUr-&\ӯz~|vzTeRhOnczO+J̇U-ʹ7SArQk?$q+RoFR}g˹T4ѐ ^y WQӨ>5yMm C^߀ }RI2u?XtnE vIhgϋC$l$f9] s=:wzLj'&[ 3P8z v#8J#*%B)ChZxv >2Hǧ67m#AO>J@_ 9SeonM5ČYbĞOjdm299]SٗطV*+5Ȟbph"nsۧ~-4N9PH Wߩ+oQU×5K8Rp:Vdp5VWUY9xGjI]C|qǡh(b;,rl?#P|= M߃}~Fɵfz.}w[<)wN$PCíɫ[CK$.+/b+,jуum.9<j>f/v juOo]S01 1 ƭrT'𝖸5c. ICqiRk`\*fy2Tfa`_goOj[kWL8p /155l5[HQukiYCYC1AZ^S͸,a8$m짺U'U qwJ̾. G$|q01V=  qAԚZH^xu; a1Z r$.A߮y++Qu.$/9-dOfOCRST9JBprȽ#wJI[=RYrblz`UBj՞YĐj\~\Cگ'>cw˵,F +~ڪ,,lP-d?4v! x=f9]ퟅe{.;-'W" AGb#g'ompL!U5-nvAEksA@ǀ1֖4@m $VZdGZuXM.3>V#z%W*ܒ[)+r)A8]M Y& _$&g]T rzsJr& n"zUۿUqʡ&VsUU INÛ9g#8ޢiI"]D ̧鏭Ch֬Ǧ\ȫn V=yb_w~]?4׍!*N8=-=j?FH#m-;}@;Թ39M2ˑ NOhm:,6̭$~2ݽ=)jrƸeCcO8\ƳsϘԅtvTFnKY !+21:)`:WE-.M<2?m)@퐹tPKjdϧ%%凩OnsT>mI{TFWTAtuF  V?#jl%۩ڭ?6[7 3nROݸB*&bqZXCgE5`lrk}6O;YzYbc2X+L2hpdQwiܰ{W B dFs j{+opentk-1.0.20101006/Source/Examples/Data/Textures/JuliaColorTable.bmp0000664000175000017500000000015011453131440023763 0ustar laneylaneyBMh6(  PN2NSQwTM>,2T}opentk-1.0.20101006/Source/Examples/Data/Textures/earth-cubemap.dds0000664000175000017500000300020011453131440023460 0ustar laneylaneyDDS | DXT1FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF":F5%%%fcB鳭%[b:W{B:/ %:"2B"2wJ)_R"2IisR)c1mR!+ s#_CSEc"2UUE[2*UecC ecFWVXfF!fUUUU&[=UUU[d%[2(%[2J*Zx J*pB)zJ"2ݩRB2}J"27J2rX%[)/=}fc"2US: EcB?  B *s!Rf RF(J((R)*Z2/ :+ ZKfk* kɃJ{ # / GkਨJȃ«Ƀ}]郪/%\TW*cWc^^[UFk5+ɋUWׯmUտ/݇{/ 鋫J 1 ŪNͿ/ RoՀ\-*/*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2f%%%B2%UuEc"2S:~JB:""B* BR) gsBiCCRCBegZ1WR)wXUU1fXTVU&J[f뭥%Ec2 S"2({c:/-{fWXp`FfFfe)F5}}:F<{R J#:rJ2XVS)57S2*%["2 [":_WR1X[R!_U`C:!7-;%[cB;kbB--'%sEcHkF\VW&J5- %cGkRKpj$B#ͨ{ ==ohk +շ/*f gs^ kةb[*Hs?ɋ{+G[_+ Kfkpo } UUՏ U Qk- ru rݵ. r}k_WrNׯ RUQŪFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFf! FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'"2fU%/2f_`2fUUBfUU]&fF_FfFf"2F J2=+*FcB*EcB$[!*p[*k5sB:&cB%cJz\^CB@dBfxVUUFfFf[F%%[b:H ?ՇkBsFkBPs@@‹f&FfFf&Fc:F"-U[!ϧ R2=>.R#:7nUk2/ -Fc! fk#:y&c"2{_ c{{FU&+*]Ecb>[E'fk*sCBbWc"2+ J  wO+Nlpʺl/^p@C k  Z^ɃEJUhsdJ55ꋈ{_]%=W\^kfcpOͭ1/ݭ r= ru奧{ʊrrp 2VV:NŠpFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfbBF%%5B":{B":MMOJB:17J2UC:fxc:":fW "2FUW(B  J:+}%[B+UEcB+fk)xV*ȃD-`XfcfWUURf UUR CBFpX^UFfFf$FUUMM1fum[* [c:sB^V^gsc:%5;{fUW\XfFfFFfFfFfBG 55%J#:11:J2/7s)xxsC:fkB%xfkfzWBf[SSUF)FUM[F%&$[cB&]fkBU'Fkc:^_hsCB;ɃZ)"鋅JK'kq*ʹ+kŌ9=)#.ō_Q謡ȋVT(̬fZ|ɋ1ֿ/s$BՏ.g{1>*lg{+μȋ% hs- lWp"Zr^ݫRr54u}U}{@r xkU1ؖ% FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff)@@B1 B1`jR1'kDBUU}'kCBU5(h{C:Uc"2_S*/S!x`Z"2UW-J*W\J*/WR*_Gf^^^\FfFffF_FfFfBFU5B}bhjfF$[f%UUR Ekc:|xrpgkCBfs!B//ȃUk]zZ\fFFfFfcg%%%%fk#:~x$[){C:ZzicD (z{Jz[c1fTh\9FUU{fU_\s fs)^օņsJ-sCBx?{CB=s#B >*Gk 8k'c0z-Gk ꋾ5=P 5Sjr~$J|\% J%/&c 1-) Ĉ[֗'. -f: ʹ_V կͬ/ UR?-{VrU |5s@``)5\`.W44O- FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfd!FUUFFw&fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG?cB1R:~RdJ:.<ʋZ=/{_ kP/*#:?W J %̬cB~js1^Z:U^DJ),6CB!zfkX_sRFfFfFfFfFf1F5551'`pfFFf[F%Ufs)(c#:Uh%ccB ?c+ %5f\ fUUz&Fffcg% kJ\\zgkC:bGkdBAˈS&jbz:FmU$BfS]UUF?//F}cfi}ɠgs &cc-+{M:KZx`` gs> !:ͅȃ"( ̴'k+/ K&r0 EJ``pX%Vk `_Fk&%)+,Fk%h ie }Rּ5R]hr1̬ $5 2y`(4Ϥ`H:5Un^UU.^.̴FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEGe**fUUe!FUUc:fW\UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?J)+Gk#B%-&kdJWlZ=-k{`XV s 1^ؠ+cJ5=-gsjsz{CBXFk1VJ)hڔRFppXVFfFfFfFfFf)FU1FppP]FfFfFfgkF-UURF?ը{cB?P~{"2(J %f!fx FUUW\$[f%%U[1J1&\'kC:+)9{1~`fJ fUumQfFfF?AFUU5s% {#B"kꋤJ+r'c Hk"k eJ(arb$B){dB>Lh{-y i{?_-ũɴ~^^FVfFfs --lh{닋 Q +" U1 u+rW2*R*w^W /- vr\sp+1K/FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfGeFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFR'k#B) gsZ +%c -Ks^``@ cɋCJ kbʋs-)yOx R |#B;%cfpXWFFfFfFfFffF&BfUUUsUijfFFfFfFF?D:f ]UU&c*鋃B%%{fXTVWF?UFX\TW%FUUJ'Z#:J}[k)-߇{CB_#:{UjF\WUJ&)F\PUUfߏ_k+^Fk/ +ՇsRh GkDB=Z.KZ%>,KeJ|~zҩ{BU DB?]^l9 5lZ~ z_fsFffF{k+//) -*51]w_+v] (v5zxsOx/2 s/=S?%-V?VhJxxV" WxpUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?2fUUWxFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFZc!gsdJ-5h{[ZȃZ)/7Jfsu(#Bpַ#B-Z<+g{Á'k  :nMZFpWUUfFFfFfFfFfFffFs+ %R_i&FfFfFfFfFf2fUUU{RfWUWpfFfFfF%:f=UUURE=DB)Z)`/*{%"&kj@%BFUUU\FfF\u׉fJFջ:HsJ!hs#Bx{HsB:?5kb/=̼d)XX\Zf\UUU'!F UUU{f+UbfzWU&HRFUqFfFHsf s-v.)xvAvs\W5sVo[s/%}S}Us/+V)V~x~Vxx FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFc2fUUU&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)FՕR1rp&k9? c:`_(gs:-&kdJ~*Zս&sxxH`RXpp+Z ɋZՖs&pX\FfFfFffFFfFfFfFfsF%% {1`jfFFfFfFfFfFfFfSfskKCcfFFfFf!fURf'5Wc!~fsU kUX**FPs'JfNug1FUWX[f1FsUUg1fWes^U#BZ^%c,'5$B^wsf|{_UFfFfFfFUUU-FU f s FfꪴE -#"Qv~53_S'hzzP 2"_2R*x5szXSUS)/0UUU--RFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&??FU}wTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfZf% %c9~Gs#B ++g{k:>gsR @ɋZ**]l} 5f{zȋZjh{bIqe).:`9FTWUUFffRFUUU5ȋfU]zBFCUUfFFfFfFff%%-ie)zxxxfFFfFfFfFfFffF[f%%RF\WWWFfFfFffR@ZfVڇsCBx^^zg{c!/.cb\xbYF!FV(JFuc`F\9fmUEJUURFW_\TAF5UUUBFxUUUfFFfFf'kFUՕ %) mfr^W &Ff9F/h{=)ͧ5- Vvs2\~83-z\2/2b`R. -/ s(S( 5w vߗ5/+-v _FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&kF GsR*fsZZg{b7{Rp* G{RlZ5-+LOLɋU*ojo|XZjbrrjfFFF'J`ʓf`sUUFfFfFfFfFff{f UbfhWWUfFFfFffFfF&:FUW#:'`pFFfFfFffFFF)RG 'k1߭$BFUWVT&1F]tU!FP^!FUWUF?ZF5UG)FTUUUFfFfFfFfFf fUU F`~UUf&FfFfh{f%% h)+/k np( +X?'~U2   xv.VX 5V '.R&6/%* /'/5s׻ vZr`堾շ5e\XUZ_rfFFfFfFfFfFfFfFfFfFffUU%1(**v -U틺vNv^v.KgU 5lRU΃U1KuiRWVؠ d`p((bbxH14&ˣ7>So( r0`Sztݭ*RXZZtఠu`s%zx3Nj0_ uf"Uxr42=?U1~\\zs(FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfheFfFfFfFfFfFfFfFfFfFfFfFfFfFf%!fIUUUEFfFfFfFfFfFfFff&j FU +1 OՉuic+({(=0h-I{Օ> Ֆ(2+ R {2-=o ~~/ȟs*Rm& s1>sUR5T틊 WUStZ\WW2$ e%UUUUfU^fUUFUWfUUWFjZ FfFfFfFff&jje v vv*^Xx3߽ 'V-U*8LP4TwuO` wRVTs&)pf  |^')% μ)'/I n% %W_5 x3-qݶ TcX7++*ݿ,Ċ*R2U[1W^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf˓fU ͪ/l[(sj>2i-/ +U%2~VO‚Ԁ8~R/ r(r}bsb⪓=?TR-/t__ص``jz ib40Wp^^`T? RI(qFPpp`fFFfFfFff&ꪪU U>/txtU%+6zx__V;,U+/5?x^ڕ W (uwZ`6gk5jVVĠz%p$X`Ql WUf5q q]G̓ 52WU0倪Wx| ' -* T0>/T1 \ޕqZP``Tts1FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&jO݆- ݭhlUĉXX~ ({ μi- LW* 1X20{\2Օ RUUr1U]* ݡ#bT_~U\~z⃉+-1w]1Z]U /' **R< 1@4FUWrfUU2FUU^9FUUUTI! U-v^_v}x6?U v@mV_U_zvˤJJGc p룊Ֆ'XXXfp]UUfF̋FUUU%t}Q-}l~Spn^}-~UU,k{k{W #+QN м (85kJQ t G6*q͠x^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf(JF2˛-*/2({I5IU.p˓m U" *͠`z`PRRRT TqxBꢒR#9Ur7%-+TWU`t3 _SpXt'ֲu qjUUrWrX꫻rbU.\"#UڲG\v5 \R5ި5\5UUU%T^ _ u UUGc VR^\X^xhBpŠ/MkfUUUTFfFfNF5UU0 T ^zkZ(.W Q__hϴ[y.k{ޞ.4/'4ſ`QͿ?/'0ŀַr3扉 +ꀠFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfZFU {\)r]U{-*p (U˛T *ݍ. pՒ-.PXP=:**g uRUUr]1jUՕ>rּ<,-//tz~T3_\xS^|XX WSb``zxjjR,Oc^2>յ2r _4gߓ4 )7'Տ/Uvj*^^Pv *u*/xx/ z*W**X@B4 Qx{\@6Gk2xxx~ `OʓX\LFVTXpFfFfFf355UtOb(̋bcׯ탠1.!UߒмM-szT40))( xX.kS -+1FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF&FfFfFfFfFfFfFfFfFUUrOM_pMUPMͮ 0Չ#1?>2""u낪T_ S 3,zT4' k3UUTUSPz^TPWU5v-  bj2p`2TV߸s.S RpX_Y%+U;/܀`뺷vim6%xXU`5ꪠ~~xWzZ }/@@(n+"Ws-`sgc=㍱ WG`FFfFfFUUUͧ 551J{X1>xXMެ7WNx]Qŏ5=1%? .&'.We.;W巸€xq WWPzFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF9fSYUU9FUUU%&JFUU_\FfFhZFuA{TFfFf*J/զ5%)pLݮUμx|/իp_/ s2<`q0+w-T}% XWtsrWxsq. 4^0h/_/ up  vs|s20s>ܴ *޾屢nV v3*-{z{5)*. *w\\v5= -xXꨖ՗7. )+^~T2zB+/U^蠽~(@ZxK δxxzUwjCmGXp@fFFfFfМF5UUF U1*5NW^^Ϭ*{,sдk{\XZՌ.-cQ.7Q5=؜s)r5S*/%z`^蠀PWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF)F_\UbF&7UU9FTFH{ f@kfTVUUFTf`5 μUPՎ 0wZ;s r0W2퉂"%?^X|55qp*+'((TRUq*Xs?}qbpUs+;s|:-(4`UW V+ (.zW P xxsp UXUpjbb`USU/.媠jsMz]. / ^[k\Xx `x_45 zWjspjhU?y直uVbIv{sc4_v `⧤,`775j(W0UVP&FfFfFfFUUU3 q̋aqpZQ555м^֯ T/ݶ(-R` ?kWݠ7PFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF!F\UUUfFksFUUG! mਾsP-R0^.*= vS+U_UqX0*pp_Q (:r-?5} vr7x̀X\09Pȿ}vS z^pzo}zr.Wrn**W-퀪PUzX0/%T1@2Ur %zxP WV\ -/*0) ubrr^V\ u߸ %%4xu^W.s\N ]1*Xrs. e uWת||δ3`S ,}^F`b@&FfFfFfFf0F5S毬V^Xxn쓻R 56t) ) 6t.b毬,65݀1jj% q%?-FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfjF5% wܞ倀`sn|+/2<,*9 m]UqX*UxoX3Q5//+T```Xx\߽2X/#[5 _su4Zp`\`W2}UnsbZZ1nXQV\_-5-/]\ݶ"+ն3x^xnՕ? U+ykuphxpQ -2bjߔQXP rͩu2 +*r_vh{`3Z,&kn3z j:Jʊ fUUWFfFfFfFfFՕ55ϴz|Q-_z{tn5%?N4掬\^VUSN5%%-ϼ/'.(6(.4 5FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf5%% V`pxxsu StPW v 5_UU~xrxx̨_Sa!r3 t-\xRURU *p^]pUՠx֗WQ) " P݀.WĀ"7r 0 &../*p\Հ) 뀶R>-2vpav=% /+~z_-spxwxP/q@bP=5 `% S ؃Tmurx4NtpobQ@f:$ Q NzcP5j6n k3Wp H!FUUVTFfFfZfUUU탪)Ϭn~hh3檃/U_ Ŏ_UqnW)t%W/V徺؜spR@8.R/FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfj:A 6w~\^P޾t}' )-~xQZX\}ʹ73ծ&* 3 3+/=4rWxp(~嘘P`bϼ: k]μ/%%'0Ur (NW(PNŎc/*+k`QO.@r^%-t^VUp @ra92{**(4u޷//xUqth``t~׾Q²PX/'T.t-- % @`ujjrqkT[j4*3-൮ Rp2Q~XWzzRPs"]yZr 5?fWV\pfFFff&jF 5nh`S Uu*j{€ﴪ +M+""?]}/żh~Pի)UqFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfUU%kpz@x(45 wt߾`''UzUw\3"PոzRp( /T t5% Tpx41`hRpݸXPuo2Z5S0U^vƷ% 6ϼx\{ -`rn.+5zzZʋCP孭 Pտ+ 3 "~UpPֵ- - UZpWso'-`W4t`pUqcz~1'7%VO/t+ 3-``Qpxtq 4@Τ_(P sдzz'ՔR\^ɣn[Z؜ެ͆xpr`FfFfFffGꪪMFUUUN-UsF* ʋW/i{ 8p͍ߕsM67VWX),V?*(FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUՕ5d ~^5`^UwR/ wW\6 -pz2ws%'̀xq>Q}]5r -**4= 4z~_r``R^qC /+vW;+抎''vՃ b.-)+*SZ˨ - Sוֹthz3xv t/ p5`sU0VUU[òpյ/*Iܫ-tsT:.TԷ5xs' )-+/*6t`ؕ֯ 4puRuzPݪVPW 7(UWZЗP X^P-XXtfpprbfFFfFfFfFffFQ' 5ձXhb+_SKIi{?//3/T殴np^_W2#?- .+FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF5 UbzZV`x)w*o" |v .ikCgt>Ẁx޿XU1+_5-4aru4_[{4^^/(2 PՖUr;6*V*: wռ zw`wϴԊ pզbbBfFFfFFfFfFfF5ULF ȋ^b /ՊWUQˋ 쓼S+5%-UuFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFx`:vTVUU36z´"^Ъ- 5,%6~}u2 s``X X^r +- + {Us 4`@Õ4u4U8"Wj`@s v_gGϼׯP555U\5/"K]`jz 3귲r孃 R1kbyS`{_Wm/.7S ܔ bt #խx`7 U9tQ=?/ts -zV~u7vqռ6/驷V \^WRpUUU[ch*q͊j0}oMW,3̃K*us~ U{Tj+Tܸr`rܮ tbrpR%-%s(tTϼR&*P͎ 0͊>ġ4tq )$(ZS1oQ-XTQ uU.uq+5+ Tګup^׶=V8ؖr 4* v s6vzjJ30"PըSﴷ(M>vu3掤{&*~ 4FUWVXFfFfFfFfF!h|fUU}OF -U/ ^Z is,⊩2掬ՠ*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF -5շsT `^pݺjj`R멣]^3p5 t tV(pbxPhjii4z`\.U 1_ -/U5/W"uu]zzZu4/'7rpp5 `b4& ,u4z3TUWWuU@r剩1/rrpx5 vxbݎ:߷~̓ץM| %--- TToC / pST3qR֗t 4+TgUt  3xxuTrjjb\v :@xQͪbj5 vP8z ` } `վWu宬|ծ}%-q˓`lh2ʋ55p@FUUTVfFFfFfHfUUUUg"F \^BY  N{xXX% K* FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF5% " *>7'xUUjz̪- ]pX3ꀵUqzQUUtQ-+UUUߺ4" ^.wU5?3((ޕ) ''4`j*W4'at %% zbT―'^WVrjZqrpU^pM-p Q----qbWP+(}\WU XV*-- S uխ) }rr3++u'Zpؖ5b``4Q/'UuP z^.0*rݠ`szQ%sp 20hSuS0fpM?- \^{rL -./fWVTTH}UU5*fUWVTfFFffF&fՕ5P2  'c`TbU(s2 UUWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfE F5U4! UzzQܰ?p` ݪr  -%%%%3WWU3* VWUU_zh`b_uVr㭵Szp Xu ;u ^Uuz}Tj1hx i5 ?/.-TRx(PW_^T%~O嵭 Q--;kZ.X%hwo7Ss @_x\Q @xu uZ\^Vv45`xxO zqN 55q8n` pbrzqR{pq=p̀V_0zjSAajLjp+^݉{:>&T\pj˵ %}(d_pU!FW\_UFfFffs`+ %.Zx`eJ鯨l'k -p,FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF_fFFfFfFfFfFfFfFfFfFfFf %%oz3P*/q\UU3 r%* - +. zpW3`xTtSx`p.))t uU ժ4hxͶp[{0-%jU Uꨨu-_ s ^^bcrhxvQ5/*U^x31z>1Si3^ S ^ ~2px~sv7 SQT7ڕ bT1p{ Q%',qo 0|x^Ap\2N⮯^PK*.jU-j^k࠯}(U̜h{rOHs/_RIǿU UUW cFUUUTFfFffh``@Nb`DB߾p{J -i{}FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfgZf5UUf1FVTX!FUUU\FUUU5fFFfFfFfFfFfFfFf4F%%%%1Uq TqZ4Qͭ?R*/4O  _W++`*zࢭUUx\u`*t %hx3r`{_嫬)// U+  "UuZ4`b~`@HhϼWt  ~UUz\Wz]_5U_킀~*4-%TT3% 1z@r/z_r Y7./ p\^sq ^sqt6:3ꋋ/3^/ up`1`zQ{ĥ1)+ /ŀ`p.ՠjy劜ސՌo~_jb~l{8-{(i l|Ukv׋DS* ec&Jb`@`k ͥ+2_~ݦ\bbFUU_F!<|F! R\. HsUܣ)i{FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?9fXUUUZfUU*fUUUTFfFfFfFfFfFfFE  *6o~q._{O}541}u1U યTRPq/ztz_Tt WTR``@rh R- UzW-v {5xp2|VԠ~^Pݎ%3μ~^:u-/  +- :տ`^~zUէ -/+*.c؀1Vg {`WUr,x2ZR) s+ ]~˪jbQt T}]]TxxQOo(m1op``p|.+VWVͼ cl{{{Ks,۽郦Z|e[`zcDK {s#CU'dS*u|$[0^$[諿7JGk5.,'k/sRbpG{[0]\heV\BFUUU% %ɋ^_Se) zFUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&9fUUUg)fuUMHRfTUUUFfFfFfFfFfFf!?K)CXXj.x O-ʹ ..WW .u.Rò׳r UurU4X4*{]4Q -r(Բ ummm +R]zR帾U^xĥ-7U+ 4/; sj^Vյ-/U 8@V7-xh\VW3zzUr:=5u1$[T1U(.^W,x\Rʓ R- z7r-1՘o`~JN͠=-eo*`xxͼɃxWlɃcMnʋgsԩkW{b\^^zgsSz_ZCX^_UB:4#K2RcB{BJR+{RxZ/+P(sj{^զbz δGP*G.4 {Ikf Fm RF UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf9F5=UUbFUU'RfDTUUfFFfFfFfFfFffFfU5勌`x.?+ˬ]̤ /.ʼn(( Jp\) ]{˜ .%.}̬ /51WŨ+_^./nݠ/ZͼW*Q.{1N̓kQ"qiRժ U-1 %q  {r`` (+u UU_ zUT~]r\VQm˜(w1, /-r룣U U"ob(Rԯ+ Woݠ~V.t+o8 O\ߪn{{-r,jzx { V*Hs Rxzgk[}sRS"Cx\X^BC: cK:_?#S: dZCKUEcJ/FcCB`{{{R+?%h{%^` ({nj- ^Fp^UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'!FUU & +mɜ}iEZv˜hR_ki-ՏJ*]N)U[(kKe[ j}-(-) ͬhUͤ |zQ拔@ .]q _N\)ͭ:1NͷU sc{zjnͿ*q^ppk ^ Q+ ^*U4*/*-ꪪr0栠_/րu^ŀ{R橌֎ʜU YMi.VnI  'Nņk`ݩ{ -O R }`.pR^ UW嬴 Uͬ(UU_JGkV\zhs&cJ~vkdS S";zJ";"C:\.cK:U5 SUU-|B_\\#KB~cBՕ- Gk#B_r^)B'{.ʋ/kQ&s_rKFZz*9-1E_bFUUUTFff&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfg%զcUXcՊlUhS~{(|[I[6hz dSx^]|DSUc}Uc(j|í)%o̤nJpxZͬaW欬_W̬ k쬯 zwn)Ջ91Ycoݸ߲ݪ>)o``bo >7rnŵ >]^? 0*xzv 8_uRN rUZMotR(pޮ(,ZR檜^ͪUMઞʤ—,ikm-ߕ5M| -(|j.d[^_^Fc Or嬤֐. i(k.̤ܼ ͌p^~k.Bfc^Wc(׭ksWKc߿IgkysGk[Hz[RdS;v\#C2X:b2 *#K2/(|JUUD[Bԯ_[b:UZBU Z#:$[c: kJ ʹsߕuwμR)(P͉ .3l_pUsxfUW2ކU=FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfSf%%5e[#C_[#C-(|S/-)|[WsS*=ceSstfcC UcB%kES`HdS+/jkU(%UnI"U-̬郘mnsʹU ȃ -njznj*ݬ հ-­n. kM BbQʤދ 1檜ݠU2?˜88nj^_qM pքc\xz#Sͽ0t 1ޫ*WUI_ { |xzV꜆c[ .k kiki(DS(zXe[%% pk-OͬJek. k+ NŬ"J.<`̬kZUE[_UUE[$CisDKbՇsDS1. SjU{dK "cDK~U[C_WS2x~_BB*B2n{S:?ZB/jEcJWcRbBy/ZJ7[JU[cBuwvT)JùMd[o յ5L i{.װlOl"l/s+ FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG;f%5- cJwxfcK]s%[ ըsE[J[["C#Cc$K:p꾞[CUcCcK/5k$S.UsE["b}E[ fc*F[B]{E[55Is-= ̬j^ۋ-*s |.-kW݊UݫUU,I¾'iR^LHj~,{(M'ީWֿ͇(h_L K&lbuꜤS {ʔ&t>+tU |ϧիcWHe[p\|$SxWUkE[+]k#K";.H[(cP+( W)ʹH.ŋ}J Ĭ7魼{hzz~|[pk$SxzfcDKex|e[CC-;e[#CxpSDKUc#KDScC뺼KCvZrjC2xB!*>BB2Ka2ݯ [:^RZ:%ccBW3fkR{e\&ccB*fkC:w' Jk&c7uJUδc_UZmʃ%Sμ>=5OL5'*(WOܨFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff+`C*c:|}ZB?-%[Bpx$[BUS:kB:.*S: EcKU%kBE[SWKZfc$S)kK sSWk%[{E[/)cWuʤkUik^I[z)eS?5|c Vc-U6%{ W^ Ju '~xr^ss*& {*,'(/^Wk,wˤe[WUhCK%Sz~xg|$KtS^?HeSuk#CdK#C\Xd[C c:k[2dK: pkDK%={DSxWJ$S"+UDS(b DS_U$S_U)$SUjkuI#Kz{k:__[B:dSC6/dS#K/gc#K_S[#Kg5%[BCbDKCCmcK:R:*)R:WvʪJ2%US:y[b:㺟$SB.շRJcԴ$ScB/^%[#Bw>kcB sC:zZcBbX kcBUu'sB {k &s - :7% WÀ_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF-UUg;u%[&  %[JZVj%[B?J:x^J:./S:*%[J nEcBWecJ-ufkJ7{Zoˆ{SUfck%-clzsc} >wjc/)c^(+J[uxXk$S.;{$SsVec%ݽs<ݬ(loUjs }zsjj{#Sxk$S(E[+55iS(/#KZ'|d[o=HdSGk{~Uk:&&kKUkBz详c$KESC\\_f[#CU-e[:^T\XDK:_߄SB/me[B(߅cCuUUBCBW{CUUUcCf[K^Vz[BUDS:V[B]U$K:>x^=$SB"ݖDSBVCe[[C+U["C+dSCKW]CK;CCB2J:^WYB:k*Ja2S:]$SB?UD[Bկ|U$c#BkdJ]տ kR%'c:r~߉J"b{b &kUu5+&k]KĪ -˳UW Ċ:zx j]FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF;f USg SBxhKB'-W%SBXUJ:[/[:+UJ:W]S: sS{[UUs$SߧsE[8zE[+{%S^sS .{k( (c7::k^\~se[wCs%S E[/ikJk\[:uWB"2HZb:PhsJ%GsZ0 b5}uc/ȓլ~O݌*%L^\\+ԉFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF5UUU: -USK!zJc:/Kc:BBJ"2*=BC:-/[B?[B."*{cDKUSB ~CS)ib[#KUjCKB'h}ESB DS:[J(|$Sy ht$S/*j|ES^ZWfSK_R-[B5k$S)ekK7Hf[5/)dSxk:x~WCa*_:A* Bb2k_Bb2]B"*`_Jb2B!2(BA2բ:a2b^z`:!*:2xa2B*pb2!*:A*?:A2':a2^y2* :a*:A*:A*ݢ2A**ס2b*+:*:2%J:CUK: C2~"K2?=W$S2_uK:J:׮ SC__oSBuUS:Vu$S:[b2i}(lBuUsb:a{~DS:Sݯ[b:Uտ"E[B:[J^ FkJ /&k -'jԜʣZ^l'{--뫂-l-}W%팼-K^Nժ FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&$Kf 5ESB^%KBjJB2. Kc:,(J[BեSKz[C:[DK\oeSB^X$K: 9ަcBxZUCK1 j[2  |$S-h|&2 W'tF!U[*eSJ+,y[$K "|SU- ESU׿.[@G|2z^UBA*?)Sa*Bb2\^_UBb: :"*`B*5BB2:* ~b2!*8*Ba2h~}:A2}:!*a2!*T*:a2%:a2rx2B22A2ߢ:A*:!*ꪏ2A*}2!*_A*B"( 2a*Ղ2a*ނ2a*/:a*?:: pXBb2*J2pK:%=+EcBUK:*ZB5'kR(R*鋃:W_GsBU'gsJwcB"G{SU 'kRZਃR+Ug{ZX_b/k^ʛ'{أ-Ԫ/ܪx˫+ڕ / `H^UnUn+UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFffFSf 5UB&BJT*J:K:!c$K5{c#KWlK_]æcBkJ:dSB+ce xsWUhkFxWUUfFU&fFWJF %5cKlESI[-}:xWUUd[b2W誗b:B  :B::Ka2﫺JB2חe[:U]Kb2\ZB:}݂:*^:"*2!*^_:A*:a2&:!*>:a2*):a2XXX߂22~~B2*B2*2!2/-ߢ2A*Ɂ2"b2"yA*!2!"72A*2A*:A*":A**=#C:bC:-SBIɃJ-'sJ˓k?;r۪lc ͼ's_*+JVFsZS8Xk '{Z^,HZUzbU>zb]+(ˣsUյ/ms- ,=?jxx*j7Wذx(ոꪣ(‭kH?_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfd2f UUBG K:~>[ zUe[f~UUBfUUUBF*UUU%SfUUf$KUV$KF|UU)F\UUUFfFfFfFfFf"FUU[ l%S--Gt$2`CSe!*(%SA2X:":i*[:U-B:TjBB2$S:Z_?B2b:A2_|B2)(z2*:!*ޗ?Ba2շq;A2`:A2+7B2:a2x_:*!2!*\﫠"2*WW_!*)PW!*!/2"a*!j./!*! *A*! :A*U7;A*\:a*뭫:!*+"C:bCa2/_^$SB2*[b27H{J"%Iibzzꋤ"08/iVTVi- ɛFsr|R)'zhZ5(br(r{-肆j(L- ULU - jwLH^W+rWzbZ]b+UU{FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&ꪪF&!fFFfFfFfFfFfFfFfFfFfFfFfFfFfKf-UUUBfUUU&\BFUU5$S+Ն[: K"2Kb:K"255$SB:xX_JB2_B"2kZ"2!hb!*!5]_U2)追U:)?/5BA2zB!*?/* B!zA2)-:)!2!(!2)|Z*)ip_!*! .a2!.B2"UZA*a*! :A*/u:A*B2ڿ/Sa2׿J2VB2zUBb2ZJ::/GkRYu Z:mW+C`L:*ʛz{5j_&{{~GbTcj/i.炶' I\V^Xr+ HWUiz~_Hreꈋs_-fkU F{=FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBFuUU&=e[JA2'/J2>[b:_p_Jc:]BB:p{B) V"2!)!'+)!2!_u"2!%:!2+W:!2WU:)zWA2) :)"2)^*! *!ހ)!u]2a )a*"!=="a\A*!]b2! B2-[:'R2WxJ2zs-Jb2}Bb2VFkBmB//}s *+I{$~a6<(b- b룅Zxx Z,.֪ /_xr[F{_gr-+)&spZWGkyH$kz}%sS^e{S/i1FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?J)˫ Jb:WVJ!2{JB:W'Sb:{Z|*B C:)~U]!)P2!5mB2!"2!*_"2!}B2)-_!2! :!2%}:2U!2)p|P1)2!)\~ )*)p)\)A)a}߾*!_}&JbBx5JA*x޷B! *ZJ)(_SB:)R:ߜ'kB.5δDB듥Z,jc*b/؍iTˉ ˣ /ͪW m̪\V|ki^֪&spsZVn'{$cf{cp/XJf{R]UkJW+exfkFZUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF&Ffc:f5%5J!2J*ZBB:kmRb:UcˣB2:)zZ)!ZU)!"2!"2!*!8*!x"2!b:)?B:)/-B:)2)k2)z"2)u!2_^|!a))a )2 ):bBpx:cBB2}B"2J:c!}J#:-%*S:r&cb:uUUc"2ݟdJ튋RW%DJbmi)̩o˓ pͼprʣW^xK_ꛨ|~j&{_^{ȋ%kxEkRnx^ZJ{RU]5M{f \UHJFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)fUUqQFfFf2f5R)WcB)^WJ2}U E[":}*J2[|2!X2!W(*!h`":!Uu*!v\)!:5&)* "2!"2)2!2!2){}"2)+=B:!" b:~!a()W!A!A:!յ-%G[!B"*ܗB*BB2u{ db:UUU%:BUB)J*R!2:WHsCB}yhcB +˛bU#:zWiR)-=ͪ եŊ WU `Z]+gWxp r%sR^U[J{*bfsfp\UUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFf1FUUBSER2%}^J)_UVB)>S2_J2&k2UUY":!5B2!"2!՗62!~~jz)!)!)!]/)! "2)})!)!"2!+2!2!)?"*!}֡!aWhC!ABa5B%*J*% *Jb:(B`p$f\UF\UUUFB S*B**'cb:y-&k*~zg{2^U's)-*jzr/ 蓀@ਓjppf{b:/{Bp^JB #s b\{F\WUUFfFfFfFf&fUUU^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFUUUBcB!+7B)|zWcB)u_Xb:)WUc2UFcRb@ȣJ2\zz"2!`bB!Z_!2!b)!)!XZr)!uU)!% )!*)!zi)!յ)!W*!]U)!!Z!a!a!AW>B:-cB"2.<[cB_rcIRB: -cBfp`@`fFFf1FUUfJXTUURB:(g{C:_Fs) #:[ZgCBHk+sR,7r 5/%+- G{xgcx^^_EkB\J:WBgp\)FTUUUFfFfFfFfFfBE |` "fUUW\fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"2F %2!ּ B)}}uJ)oգJ)UuȤR)՟cB^[C:WWR1rr":!^b:)Zz)c! )!)!)!{{)!}_*!})!@~U2!uu! *()!_^)zz!aU!a^U_)a520c]/'k  jZxheZ /(ɓRpW) ȓCB_g{2V[G)- /)R-ˣ{+ bppx^R((xd*F\VWUfFFfFfFfFfFfFfFfFfB*U"2*@H(":*{B:* /cB**B:)BA2;b:"2J"2Jb:6RB[Bb:#BpK UTp FUU_&fFfFfFfFfFfFFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFdc%5[BBRB:-RcBxjZb:W_JC:k@J2cB!:*JB:>xRB:V":!n!22!>j"2!bCB%55?dJ":NʠCB!^?{ WzKU_z)fUUWkFUU FUUWxFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfJf5UR":Rb:J": J":xdJ":H^ՍR2RB:թR":w"ZCBi"dJ2 BB!z|":!":ޘ R!UU^x#B!!dJBB‚DJ)/(RCBcB2 CB!_BB) :ppp`Jf 5%RB:xJCB6_bCB-ceR^W(sZ-)Rbkb9^ bb{kCJ8G{ZszbdR*bZ9G{9`Šs#BWzB:UBxVFFfFfFfFfFfFfFfFfFfFfcBB2UB:*[kJ!25UR2VWR"2W R**/B"2lxdJ"2}-/RcBWTZBu).RB?<~lRBꢫ&kR5&kJ'kJʉ{Rz'[vG{Rup\Vbs^rjFUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?Bf J":/5CB":lww@dJ:rrzcCB)BB)dJ1*(Z#B.*/ZB|dR":jdJ)pr":)} J2-/[":{/Z1UeRCB;Z$JUwZxeR#BCb^dJA:JCB}CJ:ZBBD@@B5%RB:닭uR":RCB]-bCBbdJ.ZZdJrDJUWZ#BW}j#BR'{j`{dJVVT~bcBb_UZ2գRb:x_:%@FTTוD2FZPP\FfFfFfFfFfFfFfFfFfFfc:"29B"2^Xb:)bB:)-(bB"2^դRB:/-RB:||~dJB:?=ZcBИkJ57bB^T\ZB)&kJ&kJ'h{RkoCRkbcJ+%kJxzx2gWVT\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfJf%5R":zBcJ)zzdJ:CÉCB1^8,b1UdR)DJ9ZBqu$J9$J":{DJ": DJ:ZR#B-%եRDJ~dRC: eR#J /eRCB\^dJB:xcJB: _#B!2#J1na:f5VXB:F %b": dJCB&ZDJr֥ZdJ} RCJpbDJ g{DR?-WjhdR'{dRhBR2xB)b:2ɭb: `ppp:gU[sbhEFfFfFfFfFfFfFfFfFfFfR)":2UWY"2) BB"2cJB:icJ":וpR":~zJ":鯮jDBbdJ. bc:xpZB #GsR߫'kR)ꀫh{ZKc -5}b]b:RBB\XppfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%!FUUUB#:)j'R) 'eR:W\\R:WzR:b}]#B1 #B9‹DR9][ER9DJBW^$J:$J: R$JmeZCB-* eR#BDRCB~UUcJ"2cJ":CB2wCJ2cj:F7Z!: ͍GkCBUWWɅR:ZdRjdR jZUb#Bh*jdR = Zk˩r1~^J!/ R2XB"2ʪ{' B%UUc[uVXfFFfFfFfFfFfFfFfFfFfFfR"BW]cJ":U}(DJB:UZB:+*bdJZ^WRDBxCBJVbdBU5'sdR«sZrbbdJbcBbJpjJ//({Z_XkJUW'sbpSAZJ~^hvJ:n: pppPfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfZfU铃:_X_^":!6>(JCBf|_J#B]U_Z":{+R:uXeR:DJ#Br) DJB+u^ZB\UUDRBW_B9@H$J9 DR#JZ$JeZCB~zCBc!@pXZ"2$J":CB":ފ$B2DR:rש":F\p`Z )dJ-}J:W\`ZCBUR#BU^Tj#B+scJ ʓR+'{Bp`Vb1^pZUJ){_[J2Vխ'J":]xB2:R `zZ&FfFfFfFfFfFfFfFfFfFfZCBUU]dR":ZCBݽR#BeRCBxRCBߗ?bdJue bJ)!(/kZ+.oz'{ZXseZjrDR>jdRVtkdJ 'sRcZWbc:p'sJpVUUS:zB:;X\^VFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?CSJB2- RcBPrUR":^dJ::UVR:h`UDJ":W_n$J": -5bB߽/eZBDRB\$J9o/?$J9$J9 $J9 zWdR:55dJ":떇eZ:W=DR#BVUuf#BrR":'% JC)& CB `DJ7<DJb{B+hsdJH{dRW?RUbH{cJ_b:WZ1|\B)UB2ַJB:vRB:bB) b: p`p*f_Z\WFfFfFfFfFfFfFfFfFfFfdRCBU{ DJ#:xR2*/J:7ץZCBס}RdJIZcB jJ {Z]+bR~^'s$J/ ZU}'dRտxG{ZhzG{R/㞨RWXsJW$[:XWW߉ :U F\VWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf$SF %5Zb:DJ:|DJ:[ZCB:pB1XCJ:c_UUDJ:)% eR#Bj$J:<$J:}dR9_{:#BXUB1{:)$J2յ/DR:o*b#BoDJ:fgE:PDJ2wCB":%*dJ#B++eR#BdRBRA..?-ZDJZ)j9*ɓERp{WWDR)jx~~B2 {b:)꿷Z"2 cB2ppb":-յZB:V\\zB:G XXp@fFFfFfFfFfFfFfFfFfFfFfZCB-eR":xzCB1pz#B1/--ZCB]uU-eR#B}5,jeRU5seZ[~ reR,hsb_Zmꓦb]ߩb|~z{FkZ/#{S/UWcCK\Udc:zBpg2 FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBF5555JCBQYZeR:ثERB{*eZ:U~#B:_U,:#B DJ:DJ:﯀eRBWׯDJ9~$J:}jB1r_DR9U%$J:޿r9WcUDJB^UZ1DJ:ZWeJ:dR2eR#B/DJ#BeR#B WDJ1 zRB){Z#:*W}Z":\CJ&/7\Z9}#B)xꠠ":)bJ1+ZcBmcB":^JB:)"*R":rB:cB&FfFfFfFfFfFfFfFfFfFfeRCBۅR":kP#:)/?:R1 ZdB+rRե kbu*sb+WER..~ib'{RX'{ZUzcJZ_$[R k$SJUWU#K:Bx*gX^WUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)sfUUU|ER#B\^WWeZ9'b$J?bBpER#B\WUDJ:DJ:Z1X__$J9*A$Jj`J9^B1~|޵B1 +$J9-/$J9\^kB9ͥ$J:U5b:UUp#B2.bCJysWdRXDJ)>DJ#Bg,eR#B- *R:xdR2kZ#B5]o#BfPpXPZ" Z":= dZ":_J":ޤRCBo_dJ":5}JB:/-RB:VbB2*=C:fVT\pfFFfFfFfFfFfFfFfFfFfjCBWWZ2\ޫEJ25ZDB~GsEJyUHsZzcr$JWjDJx_Ur$J --rb:xޗbR;bJ&kJ_sGsJZBWBpg"f\WUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFɃF5 (sJܞ__&c#B^x}j$J5b$JZ#BXW^dB#BUyeR#B_dJ:wDB9zb: 5bBz¨b9}_Z`B1jzV19jjjB1 'U$J:}$J9$J:%eRBp]u#B1:.DR:DJpeR)-+eR#B:/5eZ:|VZ:R#:'s9bcJfXXxbZf %CJ":h\CB":A**CB":/'b":-%bCBUWbcBUU Jb(RC:^"JB:VW~C:f^P`FfFfFfFfFfFfFfFfFfZ#:_DJ:'-fZ9.(sERmeJ՗s%R$IrUaY{$Jj`rdJBb&kB:76sRjJXg{RR[uZB{Bh2gXVWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&*9cJ}_k#BZCB R#B}dJBP*)R#BdJ:+ߔDJ#://eJ#BDJ2bDJ+ jeRb:UW^\R:]XޕdR1U#J:{_߿:B !B1WZ9-Ub:{ں Z:WDJ:.?eR#B] dZ:k`b:յ-)jdJzbCB%% s9`pp":fp\V\Bf% J:dJ:?dJ":=RCBRBB+-/bRRbdJ[[R":cB1C: `pFFfFfFfFfFfFfFfFfdJ:UweR:-;fZ$B(s%R/s$B]Z9'/>{$J {#BrXR28,ZbBbR*bJz^RB@xzJ!2~B2`pXVfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFՕ%lRxpxʋdJ/+i{JW_hsDBU^XZDJUeRDB[b$B{sZB_/R#B EJ#BdJ#B֊1b17//sZb:XXeR1__xDJ: /DJ9z(#B9B1"$R:յeZ: ߕeZBTVUDRB5. ZBzXdR1@`?kCB=-ZCB{^R#B[{jCJ`bCBFPp`@BBf :#BCB1CB2JBB-RCB7*bdJ⪫RcBdJB:ZB:u\cB' pp`@fFFfFfFfFf2FUU]sFfFfFfR#BUWeZDB5#jEJkb$JjDJ_j.rDJVW]jDJ_ܧr2\^^^bcBQ{ZB:>7.bJxJB`{8B"\|B@RW&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFS5TXJRW\^UcDBV'ZdJ<7beJkeRuu틧ZDJ9kEJ* bR*Z$BWZ$B`j$B55 eRI{*bcJ*bDJVb#BZ$JUU8ZDJXDJBV~ER)^eZB Z$J\~DR:|zR:7 bZ:6?bCJbdJ-jDJ:  sb}dR@`f:PPPReZ:b]CB) CB2 /RCBZcBUXRC: RcBcdJcB˷ͅRcB\~noJ&bb`fFFfFfFfFf2fSyuUfFfFFfZ#B޺R#B`zrb:+ #jER6?&reR5IZjBbDJ,oZ:|rZ"B/ jdRWZ2zB)"gXXXfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFQF lb`xhR]W܉ZZUZHs kUIWHsb~ZQSHsb-kkbo=(sbUkRj(seR6H{bRbB2  bRx beRUU^Z$J' ZBx~eZ$Jצb$J'jeZUUeZ#BVZB ]dJ#BbB=jDJWUk#BzUUZ#: UWj": jCBdJfWfj!DJ:#B2ꪄR2dJCBeZCB5%UbdJ)}cRcBjZcBrbcJ%fFFfFfFfFfFDfWXUUc!f UfFZdJ+b:ח?'jEJW7sfZSQZbDJڞJbˁb$JW__̦jBzzxZjB - j#BxX^XcJ*p|B2)j!gX\\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF OsWW kXbL's δʃ ,b__kb{T{R~*Hsb"HsbyHsb{HsbWWkr(seR`CH{EJ⣁Rb(s( jRzxbeRob9*j2^zjaBj R9\R:UݏR:siDJ: DJ:WDJ:-dJ#B䀀DJ:%o~^b#B %bdRXj#:DJ:tdR:ՕdJ#BdJ#BRCB/ZcJ~}zZBB bJkx^UJ@@@fFFfFfFfFfFfFfFf!fUUbdJZDB ȬsEJ?sZXׯIeRUrDJ՗(b-zDR[ {ebj#B@pJB:B:*^\WufTTTTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRF %5ɋxz~JG{UxXkH{-LUL_{`,(k~蠠ʃk_HsU}>i{b~| {b]U~(kZw(kb]UZr}h{Zi}ukb,;rkZ`V5beR jb /jZXj9dRFZUUVXZDJP@ZDJ(%scB_{ 'sR}][bJbDJUW7b:_dJ2/%b:- b9~ʊdR#B}yQZB}eR#BX;*eZ:~Z#BZcJ{ckR": 뿼ZcB~íZ)j BFUVV\FfFfFfFfFfFfFfFfkRbeRԨjZ '){ZxieZ j#B$VjDRrER*/rcBx^bc:uRb:z bB*Z\UC*G\\\XFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf+{FUUU0e.hW^XŒh%=ꋫ`pk^ˬ!늃Zk-kʋi{- (khVi{bIsbWRHsbյ-H{bbU/+H{1TP sZujZ*+VjB@pobZGsA**H{eR5%s$Jnxj$J7j$Js$J \jDJp~zZ#B8kDJxbdJ:RC:=b:*{Z2bzdJ1(UZ2cdR":xai":CB@Z":57bCBz_ZCB UUZ"2*Jf\\VUFfFfFfFfFfFfFfFfsdJWZDJ]jfR jfZZ~sDJkbDJ#B,Z#BcɉbCB odRB:RcB)RbBz௢B"2WrkvC*gXpPXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF 5.犊Liz+(s^^kUb\p_UjZ k'b- L ʋi{/kx~z(seJBHs:ԉ{j k~Hsb?'sbpx\rZ}jfR[>sZT[H{Zh{Zbrzb$B(hZU[b$Jk$rEJ5H{eZ**H{B^DJ#B[VdJ#B-RCBeJ":TZZCB2p{#:)Օ?R":-iR2~_J":%UZB: ZJ~RB:V^ZC:`XWfFFfFfFfFfFfFfFfFfj$Bb$B+"sER?rZNI$B`jz{Z$B]ՕR#:R#:kB1% ZB: RB:_JB2VXzF\\VVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)RFUUUQOiH{_^Xi{bXWkZC8(뛦Z 듯lʋzʋ)sZ>ʋb^zji{1X`{DR- Hsu+⪋(k}Z^xisbRr__beJZEJc8(sZ=?hkNieZ*({eRU\\({ER_%/I{ERseZWsbuBj CJ1.dJ#BjUR#Bn")JB:4J2xZ":2"_R":^WcB!27cB!2_R":ו5cB%xBhXUFfFfFfFfFfFfFfFfFfFfH{R_}beRXbeJ>5rRZdR$Bl_eR1./b2'RCBhx}Rb:RBpzJB:W"b: fTVWVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFS xxxʓk~z쉃b׿* i.zi LUWLʓU듪 {^6 Is>,ʃj.ʋHsBw{HskUui{Z렀cZ (H{fR_`sRi]I{eR=(s%J4/*{$Jk$J*bEJz_bBzrx~DJ:BDJ:^-R$B5-jZ]YjdJ*bCBhR":jbJhH@ f\^^\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfVOՈ`s.ʼn{VzxIs_z⊋k/%뛊SPʛj_w/L˓-_^M*_ ʃ,^b { {,spKisUw|P˓(k%jz sbI{bP{bUiRYzi{RWUkZkobeJ~ZeJi/b#BzbbDJ2_dJC: RC:?ᅣB& ppX F\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFffF: %%jDJ))sDRbZU b$B'ZeR_EJ:|VR: dR:8/bRbDJ]Z#BXвR:JGx f\\UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%n: .RdBpbeJ_Z$BIZdB_bJw)RXXx@fFFfFfFfFfFfFfFf&FfFfFfFfFfgkfU%%&sjER*ʓbUUZEJzZDJ jZ:XՄJ#Bn=R)(~J!~J rX*F\UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfZFUUUN mbO 9.͊^Xx,% /-L]L (^zLZ#:+:zcJbdB^ׄJd!*z%cfbZVUFfFfFfFfFfFfFfFfFfFfFfFfFffFȋD% b#:8ɊrB*HZUR1h^R1pJ#: |Fc)ZKS)խsJ jUJfpZUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfNf%UU){X~ =ߐ* ./ժ^lj*L룬~lˣ .U({XXXXj>[_wj%Jxz({FJ) I{sZ^~I{jhI{j~u"I{jIrW^ߩ){jrAppb1\Z#:'keJW/ BfxTV%2fUUUEFUUU&~FfFfFfFfFfFfFfFfFfFfFfFfFfFfFf***Z&+))-reRibER58<({b__bRa!xJAuR*.URfxWU%!FpUUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF f ժi',(e mZh* W՗\,ˣWWL{bbrIjW_xPjZbbI{b-7(sU 뛉e ʓ(s^xjis{({-I({WIsWrB\hZA5ZJhIZD:r[[Bf_XXXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRF-%fZ:jJ-%/eZ_Jhx_"F}WW&fFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%5LI{&֍ʣ Ԫ*._/ U/,\L^|\ˣsrkv)jv}I{b*ikˎ(sÍ-ʛI{_i(sVI{s\is~:ir}j{fZ PҘ{ERzxZ%J)bDB~RDB[]]JF\X\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF@@:(ER?=ꛆb!f_UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfjFUUʛ9 ({ ,ʓPzUlʓUδꓽ%Սʛ\r,rV^z˛ki {(isi{[_is^i{s7zi{j({%R`IfZW({ZU}(sfZp-%sBXb$:JD: (L)F\VWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFIs%J({bT rUuuFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfhTXP` Hʓs Ki+(ZL 룊"Z IrHphszI{j*(sjij_7EZ xI{IXs%R'UjeRcj%J~ij1 beJ`!J`xfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪgsf%IZ??ժIFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFH@b]({Rʓb ʓ{x* ({.I{ʓ{zz)j(s.i{sw{{܊j7W_({A܆bI >~YjIªn^bA Z1׾:R JUU f"*% FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfIsF5U 1Z FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFGs%! FR- b j I5}]j˓{W({_jzjUi{j(sbp KsJzu({%R_%%sFZWըZBzHeJ) dBfpPdFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfkf5UU(s FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfcfU5fsdBa %J %ʋfRxx({fZabˋfZ(ʓroI{jX]ib-jj_sbTsbk .b%R rA jeZ_"b:ԂJ!(HdBf\VUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&BFUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfE)FUUBrB %ꛧb\~]I{Z-듉I{.>s(EJVH{%J;\ZIZ8sZ 禜rERp sBjBpr`Z$B:0jJf`XTUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFJ j1%)%J%I{%Rz J}(sA %b ~ifZ-iZ?VkEJT^bB p){BsEJ)_H{eJ"jZzcBfxWUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfc)fUUUJf %Ji -u's1/(s$B8]zo'sUj)UI{A-U]H{9 Hs1^(k$BZ1z/b$:y_XJjVc:F\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)F5UUUJf`_UUFUUUF1fFd!FUUU#BF 5UR}J CmeBf DBfWJf^UU&fFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFffFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFf:!*f) C:!WB2!Jc:*'(b2)|~|b2*:*UUUUB*ߕ:!*xx|#2fTTT\!FUUUU&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB/5c"*U:!S*U -[!UW^x*!:)B2)pRqR"2]y c:!,B!rppc:!*^ߗ*f\\TTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfc:+ &[b:`U:"*hx^J "ZGc*xpbB2!b2!xx^J!__S)-R:R"*XXBzxXFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB2 -b2!* z"*xJB!W^,!aƒ:!C:!HkR/&cB_|XBfXXXpFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfdf5UU" !`^WDf+UUFTUUG:F/5UUBf(U:B2ppzZEkJ *J`@W&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'FFfFfFffFFUU"x_UU$fUB2g U!FT\^UFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%UFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffqu}UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfHeFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEHeFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff{{{{FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF^[{}FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUU)FUUE%fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfjFuUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fFFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFffiAMfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEﯿiFUUUFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf FUUUFffUUFfFfEFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF??FSf5WU1FTTUU[FUU%BFUUWTFsfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfffFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEfFFfF1`fABGJgz/uEBfUX\UfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFg{F55#c )&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffCJP``9gxVUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%ZfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF_fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%ZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUUqFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFr^UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:F5uU&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FUUfFFfJFɍuUEEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfEfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfEFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFA}UFfFfFfF_pUE+FUUfFFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)"FUUUUFfFfFffFFr{UUFfFfFfFfFfFfFfFfFfFfFfFfFEFfFfFfEFUUU\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfE%FfFfFs_UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffD*FfFfFfFfFfFfFfFfFfEEFfFfFfFfFfFfEfFEFfFffFe/F FUU- fU_rphEFߎEFfFfFfFfFfFfFfFfFfFfE?FfFfFfFfFffUU%fFFf FU}fEwUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF&%FfFϟFU]pEF-UUF=FXpxXEfFFf FuUUF FfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfEEF뽕%fFE/E%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff`FffFEFfFf%FFfFfE/F\WVUFfFfF =gFFfFfFfFU}FfFfFfFfFfFfFfFfFfFfFfFfFfFfEfUU}eFfFfEEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEFfFf%EEFfFffFFfFfFU!FUUcFfEFfFfFfFfFfFfFfFfFfEFFf%FUUuFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFFfFfFfEF fFFfhEEFfFfFfFfFfFfFfFfFfEfUUUTFfFUU%%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffz[UUFfFfFfFfFFfFfFfFfFfFfFFfFfFfFfFfEHeFX^UUFfF%UUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!fUTUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU5U&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUHfUU]TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf*KfUUMfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF fW\UVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF|կFHFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFffFFUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFVW!f?*FU\FFffFfFFfFfFfFfFfFfFfFfFffFF?/(FUW\_FFFfFfFfFfFfeFUU]aFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?fUVRU&FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfGfCZcFUU DFUU!"fUU-!f "g^A"UUzdFUUUxfFFfFfFfFfFfFFfFfF(FZUUUfF!fUU5F!FFfFf&&fFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUUUFfFUUG"UU"=B2ZuB2B2W"2_!gW*fU*fUUx!fUUU&\FfFfFfFfFfFfFfFF&fFFfF!fbUUDFUp*cfUrfUUW5FfFf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUUUFUU- "*WC* B!*5Bb2**փ:"^'b2!UB2!^_c:!-C2! C2޸b2#^B2fU~B*FUU!fUUwFfUUWsFfFfFfFfFfFfFfFfFffFCF UUcF^i%GF&fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffU "c!!u|)!2UՃ:!/Ճ:A!}]UBa! WB!u!(؏c:=:*:*^8B*c:*B"*/[cB"*^!2V"*{x!fUUU|FfFfFfFfFffFFFfFf!FU !*fX"f\XX^F&&fFFFfFfEFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!*e!!"s 2a!WU+*BB)].BWeSb)UUESb)UU^B!!ZW BA!_:ac:!㯕Bɿc:*'Us9c:!(oP"2W**&W/*x*J*fPPFf'fFFfF'f*`P!!FXWWWFFffUEe5!FUUUTFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fFUUU#"fUUBf UES(Ue[$-cBcB/UcB( fS:`S"2WC1US1UWj J!}_C:a!Uû)!^ܢ)!B:a}/2!su1*fXB2fUU`!FmUU!fU%W!fUB2UA*ժBU* `W!f|WUUFfFfFf"*fUUf"* %X!FUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2fUUUUFfFfFffF)F5UUUJ %Jc:&SBwFSc:WKc:K:=SB [BWjp^C)K!UW\2a!}"2A!-*#:!Jh":!K xTVWg ~= U_)f__fUUW_FfGfFFU/  fh ?c 55H{bTVW({bUUksbZ/w({b](Z{"{eZxj)Xx()( Wx`@fV\XrFfFfF/FfFfgFFEFfFfFfFfFfFfFfFfEEEFfFfFfF/?&fFFfFfFfFfDfUUUfTUUaFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfF?&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF}MUUEFfFfFfFfFfFfFfFfFfFfEE!fUdfUUUTFfFfFfFf%j&+&F8&F&FfFEFFfFfFfFfFfFfFfFfFfFfjER'b:xZHUx&Sj UݫK U_r U( fW f_UU?2UU*( UUWT H U5 hs %% ({bsZUWjZsZﯯ{b/-5rER`b9hhC2A,7hgznFFfEFfFfFfFfFfEFfFfFfFfFfFfFfFm}]FFfFfFfFffF"g-%52fUW\p%fUUMm$fUUUqFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFf!fUU]sFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFgFEFfFfFfFfFfFfFfFfFfFf&ffFfFfFfFfF@jFUTWU&Ff&F(FfEFfFfFfFfFfFfFfFfFfFfFfFfFfsZ芬sbjʃsbUzhsbwg{ZpU #j*UUUk UWs UU+l*'Sk W][  \^Kk U b\\hb* WUhbXsb/({Z/({eZ-*({EZ~fZJh`~PcJwVi gH fUU_oFFfFfFfFfFf%FfFfFfFfFfFfFfFFfFfFfFfFfFf FUUU) 5)fV\pFUUUTfAmUUfUU[SFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF&>EEFfFfFfFfFfFfFfFfFfFfFfFfFfsfZ**({b({b jW^H{j]^Psjn]AsZ*bZ hg:K/:jU_UU. *bX_H{jU(({j+ hjw੓'{ɂ_seZ rEZ^j%J]&*j1^Rf T^(JUU BgUUW\gøUfU7GfUUXFfFFfFfFfFfFfFfFfFfFfGfFFfFfFfFfFfFf%?*g-U)X` !fUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFkfF%&FfFfFfFUUFfFfFfFfFfFfFfjER* -({bAH{fZ UfZ u'{fZfZ%j({bhbս+H{m׷.h~\țh-H{v~|xisת({jzhbPPsZZsfZrfZ%jER rb-r$J_jj#:(b\&k' U^U}zxffnGFUV- fUUU\FFfFfFfFfFFfFfFfFEFfFfFfFfFfFffF%/f'*RfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFffFFfF?FFfFfFffFFfFfFfFfFfFfFfsbUhj}GZ]bս*.sU_ʛj ʓh0|W'{nJs=*țH.hWwrr h_{zBk~ߋH{ {H{j@sER~zbJ.jfZ)j%JހrZ*rER({eZseZ~//r)xxBH W^  Vj'WWfr[~FFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfEEFfFfEEFfFfEFfFfFfFfJ-ɣs*JU+'{ֹr^^ r}h]jUuÀr^\r%?飇ɓ/IɓC?*u( (s_ h]޾ H{W~`j*bW_rERpjeR + ){Zh({bsERj)r` b)x+UU J_WVTf~x^FW&FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEhEFfFEFfFfEE?fUUTWFfFfțJ/-| % ț9cIhX 飈 :ɛ) fV*}ŵW{~wjxZGr/7ɛUhkɛ J Z^* ؀ t ^*hH{ͦjWάjUuMseZ ({bsbkjER-j$J[jHtB퍭bW\xx!fWVTTFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfF?FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfHeFfFfFfFfFfFfFfr>-+s_^ G{+-I{# U g ɛKoH`@{⠩HG׮'{?ɛ'{ *+5l 9%m+ __J J `@VU j ʓ+gJ iU듧jI{j sbJOj$J bB (0kEZުb$J`02jDJZŽ:V\xfu%UFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfr ( ʣ Sk뻈W5+ꫨ飧 *Ji/b(Izzʛ({  r.  +h^W ( H k ՗7#J W( +ꓳv^ Hz?iruI{fZ(.'ZonrrZ[ sbUs1 sER)jBb)xDBU~fUHFUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf(FUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfEEFfFfFfFfFfFfFfij- J{-ʣ邧'\zu z /)/' Jizذ*K -Kɛ}u+ J+I^"KUZ0,+h'hk*{*ʓ|`= _ߢh+*ib$,0fZJbI{b}rZ-sBRPؐI{fR%5;(sfZH0j),R1퉯#[Wzb!ť`fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUiIUFfFfFfFfFfFfFfFfFfFfFfEFfFf%FfFfFfFfFfFfFfFfh{ i'?\(p zZ.)iU iWU*ՕK yKɛVLʣ}=-k ~ΨZrr+(̼~Z+iB` Ic}e+ *몪" ZʓH{j诊jjp%J~(s$JV- sBx\b9JB:wkArEJ`}jfZ4mZB;@EJ1pB*FxxzzFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEEFfFfFfF_kEfFFfr/HX-hWH*r( i תK+K ^ʣ @ʛX\޽ͼ}xli~ (7(7꣪^ iZ߷ʓiW_Xꉃ(ss`I{%J~b9%J9wꊪb1%ջsB\Z_J{EJ)Is%Rޠj%J^ߧb$BhZ)謁"2fxXXpFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfEF UFfizH@H& ˣʣ{( }u뫉lʣս-+սŒʛpP.+p{{n+; kkJ Li뢨 )b8r ؜H{J@iJ0^^j jj쮭)sjXjER0jB_.Z}7.j{ER(j{b(wUJ{BX\)sAZ:Z)V^#2%%FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf{ i/ɛHH- I_VڪiʫI.ժ NlW{XN nK@`-l{rhL룾h~f,/Ī-Lz {T\ZEZjfbb_){b\.)sjx s%Rxj¢jB",)sfZ I{k( sRjfRZBjFRjeRzjoR1@ Z!Yaj%FTVWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfʛs(zI7)IΪi+ij̪- }?2.7݌Wk=lwibjĉc~^L˭ (LʣY~6 ʣ hbJj/rbwVVsgZjfZ=){Z-I{fR+XJ{j')-5FR@jzbBכ5Z%J(Z!.&XR!PU)fWTTTFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUյ{* -Hz iI)i]݉*뻪%Fk r鋏 {-0ʓ~_ɓ. +bʣo ({ Lʛ W_^ I˫(xx|Izv[r MzbX{gZտ((sfZ6Isb s%J/ (sZ_kZpުbBԖkAzRa!x)Jf*FfFfFfFfFfFf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFʫI +:)^x|III+l̪?oխԁcɍO=ܨRV+-(l0:\*|K؜Xͪ * Z ;+'룧z)zkgfzIMir_r׷rzI{b(sbjR~bJ b$BZ9$:<7J"_krFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf(/iUUI틩)/i{ʻU+ĕ}l˥1k5RĻCjlwL\L H{`\_]l볉~z JbXj;]ˣro?Iy\({zJir?jiHsb zjBڷZJ(b$BzJbDJZAIn)4:x!:`zz{fFFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?&FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)--In^i-տi U--s--/R^ܨ(ĥ J݄J.-.({ (*1 ",xpxpͼ U뫉JWw, Z I; Z+WW)zjWj{ʓ(sãir zs<8kr(sZzxZB+beJrZ9 -b9&[B뫿c$BxT)fZZXXFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfi75 - Ī^xʻ ``+-.Օ *4*jj,h %) Zx1+Zysi{Lh*Lʣ_߻ˣUU)\\WT(rzXrvbZj Պj- i{gcPi{b(sZxwgc$Jhb1Zb)%((bB\Zb!```:ח2FPX^\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf */ /{TUʳ, /l-/+"R- QjXXxw |^zRN^ 1XX\wK)誫I݊?+OI^\VWz~rrbr0jUxnb=9 %RWfZ HsbjzwisZ(k1}x`Z155 ZDJhcB!bzRB!r^UW2cfTVWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!fU!fWVTrfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfȊ( ʣ z,o+%%=u5-)zxxxRJOl+>骏݌޸``Lʫ;- pR`ʫխ.~M͉bXx^)z'+-IzfLhj/cI%JfZ$JHbER /Hsb(kZVZ9x(ZBRZ1Ja!`C:/"2``z{fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf! "fVX`FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfkI+ʫ +ʣ*뫵-5-o͠w\Q̿\o=Up`l K`ਪ+li@Bzʫ(⫫޾(rifZX\^ߦb$Bj$Jս-(sZ (kRZRZ1,Z9/pR1`WRb!B#`!fX\WUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%5U2Dkkjf`FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfl W5 Jo+ ݌. >/`xyR.ݨjpOl_L*嵗1l:U}hBC+}|KĪ|XlIɣV((?7WWʓz 7bpx~zZ~{ꮆbeRuj%J)bR&bR[J{R9bZ1`DJ~W\^)-v!F`XX\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFB*f %fԖcfUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf lbkͭ '..Ռ%&Ϭ/ .̓}̸^.l~܌ zjI{-is`k_WKĉzLĩ{xxiUUժ_Xϭ? rozxrjpZnrER~^jERjERbR8ZRBNxR:8PSDBjZZ9{$JZVV\Rb!UU^CfTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"f5:d_z*"f\^^XFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf.+/ o+hx. ?OL 5匼lVU.L% ~bڗz )p*`+xxkL' }z~wXy% Z\x)rwzfbj%RZ`pj%Rjwj%R0-jZv\PzZJz|VJdBP\p&[:>. rZ1$BZx\VfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?2 b*Xh c*FUUWf% *!fU\\TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfĉ* .݌UU,W(lL'l̉ﵵL!l h bbz룇b?) PlăuU `zWUʳHpʣ)ʫIlIWWWl(- xxxxzjjVV){jUU+H{fZ_~jIW׾ jJ)kZjGcBF[:&[BZ cb1_k€DJ!)fZX\TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfgfUՕ2!--I2b#*!uW_C2FTVTTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfliUԉUN/UKԪ׍ʳ}mjbbl̊`ˉZli ɩLzziix蠺+i}/ʳ(z iͩ] 8W xWj(I{wxWI{bpxrbCzbeRkZWUm[JX`&cJ+ 'cZ/:b%Jb@@DJ"WW!fTVWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff5c2k͉b:o)6'c2zxFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfi /-I5 i_JʫU+xyb@@@h R ER{ iX.ih7),i~ zUʣ~_UҪ{p\ir_ʛfbxir ikx[i{j({Z^X'keJ'cZI&[Jkhc)*jZ'kB!b1D!f@`pXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?b*e2!7%R!WT~:zZpf FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)IX^ʳjbn(ߏLi+u˫rh*kxZsZ( ({y"~m *\ijWZj+5-srWUj6'ifb%iZi{j>(s`.I{Z~'kR[R]SC:jJpxզb Ax\!FX\\TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"f5U:/ :)ZjBf``pPfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf) ˣկ--W֊__z`ˣ 髥^~֪--H{DJ,,({b%ijՉzij\^U肆j|_Uir ({jsfbk{jEZ5ͩb]R(s#Is|Vni{bzHkRX|~RBJ)x9$Z9"9ib7''ijxࠧrfb^U({j?55 jUj^iZZPZH{%R+{b%ZU{Z (s[_c[&[B~J:@#:"VB?)Z1"=Z"IwU&fFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFg fVVԔefU^X`!f+:F`pfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfHfbUUEZzeb(%R )jze X\V[[JIZ5%uj@z'sR߯{b5 ){ER^WH{JU݈{bTe Hsb'sZ{/Gk2 zhk#: &[1*% &[JJ:`bCh$:~~9WWb)% eJ{U`fVWWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF!"i":e*C2fx\VUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'sER\\xjB/UWbDJ -b%Zxr9*kJRF VVgk2RB&[J{wJ)XB`zuW" EJar!s{xf!% FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffՕ:!uUfJ!5SxrZ_FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfc9*&cZ\z&cZb1zbg `ZWUSg % Rd(B%[ [B2**/-gsZ%?5{ER`胅RkgsB\VRA7FcdJ'c[6'kJpxF[dJIR9ckJ1 J0rR\VWU)/5BUUp!fzWUF\UUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfAf psc)h~_!f\VUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRZDB &cBchZVWG/KE  : TVVV[%[:- &cR]u&c9j'kA<%cAVkA-[R %[Jz&[DBhnR9rbJDBӟBA(T!_2ՕCBfX^WUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUՕ5RBUU%R1sDBzppXfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfR -ZB_R&`x^~^^*յ)SejfWW?:Fbc&* "[BK%[DBb@FkB _fcDBuSA-R1zBSJ9 %JBp(J. R)xp:ַ :5 "*fBrXfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffE@0|$UU5|9aP~UJ! .B*\VWWFfFfFfFfFfFfFfFfFfFffFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%2f----J)zz)x^_^f?dB {_)& hVU}!' 5%{:|_UU' h``hB 5CB5%RB+i]BC:/DB:ʺcBA!p^޶B)Bb!`C#:y#"KE`X~~:$ 2*,|"FTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&UUU5Ax~Z:B@ ("F^\\^FfFfFfFfFfFfFfFFfFf!fU%55fFW\VVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)f+UU1f_U%x_UUFjjC2- C2pfpz_UfU ++F" 52BjB:n:)5:2:1B:$K2:x^!F8^UUFl]UUFUUf`{]UF#fUUU5EfUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfCf5 P $JhUWJ`X*fWUU&FfFfFfFfFfFfFfFfFfFfef5UUfV\XUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFcf- *fzWc!fxWUUFfFfF/f"f//գ:f 2Gb2*2::B*f!f\VWUFfFfFfFfFf!f55B*^Xx{&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fsUU0p{JykR_W_]:F\TVWfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:!u*fxx^W*fUUUUFUGFfFfFfFffUUYQFf)fUUUU*fUU* -b2) +!:B2S[^VBB2UUUB:UUB`2:f: :R:uJ(J ??8RB"* SB[B߯ ZB2VZJb:'cBꃅJm[**ʃ-/+ /ů+ p// 긪~^V2p* P^v2P]/ﴂްm* 厤* ,VW{*/zLiˋގ Z-9x UPū(.u3 / o͉U(s*H{_XOʼn-ʋWU òk O{ŧ{ʌgk'[rps^ D: ɃEB*lZW{^.,JU c +2 ?/+#/ ۲듢(X`,*Ƀ{ &c. _-J[Ս/ō>? δ+ 3U +s -Q[[1n@B{ -U R"s Rߴ2*x}δ^3UUUU pppP%+ ?/ F\VWUFfFfFfFUUUU2fUUBC 1%/j%- .L&|xo ^Ul[ylGk詋'kKh{**fUUfTVWUFfFffFFfFfFfFfFFfFfFf'j)FUb2B2:*+:"2#%5գ:*XJB2%B:ԵBb2Rb2=Z"*?WJb28%7SB'%[JcGcR/gkJ^GcJWohkc:W^'[-/ꃫܐͭ+-ݏ͉+pՠk/:Sbhn2pվ&r2հ~iSkspޢ~6?Obت2/Žp]/ /~-%L{LՍWpՍ]nO zp*{$LY_+"ܷʋ,$l1ޭ*{r,hVʹܟ݌ rnݣ oտ5soŖ/((sBrxv+b{bB:XpkCB9W]s: z{J *B*lk  l%/ʹ .6OK*+~O+m'S 5.L\K/-&݌~ꂂNk// `@BpsO-)+/Oͭ=%  ͋pRp ڴTWUUsݯ*lxW^ll{%1 RU/SrS׋pT'c^WWOx3άXp3mt@BhPprs&Fx^WUFfFfFfFfFfFUU5&sa ?/ s8 /+xꬴʋU׷'khK{xɋ'k^7 ͼh{-/ -͕%- )UWX`fFFfFfFfFfFfFfFfFfFfFfFfFfFfFf:f-%U:!B2)<ח:*p^Tb:!:*:B2/im:!*zoJ!*=??J!*WRb25RB.[RVs[ ʃ%[ hs]yGcc:~c:  bQ#pk*/W/J-s/%SpXP@2-)*悊jbݍ>SO/ZXXł__Ս*^{x[x ճ/zU U2{joHcOʓ(\p.V ʃ_ ͌-/+,XO(UHs꽍ʃ5oL=2rbͼ*5?>JmZ`rl(sW[7'k_ݾcBx\ RZB{Ƀ$K Ƀc*{/Oũ*ʹ=-/ nʊJ//7s+roŇsp*oՍUUUͼUU]'%5ݩ^XP`CCcC OUUUXP/O/ 15ݝS-Ws|}/R rpx{'sl  ޠ|kW 7T_T 3剋3^: .zj 3j`X`#f|VVWFfFfFfFfFffFc-:%L's>UɋlCcs] 5C*rs{cpxxb Nͩ----RoC:!Be!fUWVTFfFfFfFfFfFfFfFfFfFfFfFfFfFffUK)ycB2!+B2!}B2*  b2**ҰPB2!. B!*/-BB2eSBi[JUE{FcR gk)+k{[~j*J +VLhk֝5δhs% p͍δ  zw߱O6ISC˷OVop|^O_u}oδ RO͍Z/Ůpͭ?w,p/,?_ʃ]/*l^U,Os*KWOʃؐ br  }}^Oũ{r {u~誃j) c+1o_̬ WͬH{^w듆R^K[ %s`^{'PPpd+//+{ls./7?Nŗ\1ޏ-Nc:\~],<6+O+%p X. 'P̴ K`@O{CkK/{  P/N +RNͫ- rX\17 rs^Xxs,Š`*WXXWsK5@T(ו楋rłpx}~srdUUWwr2'!`(BFTVUUFfFfFfFfFUUU=2f5%"2Z̴hs{ K`Hs*/-5/[~hc'k\\ (sյ--o % NͿUUB2!**+.BF^^XxfFFfFfFfFfFfFfFfFfFfFfFfFfFfBf5B!XZ:!["*!/B2*=Hb2*PKӢB2!*Xb:!*/-%B:GcRb: - GcR &c kU2ꃕ5 郠|W̤s~|ꃃBzzxʃJ }δHk -/Ūppl ō WL *p, 7+*W謗ORrro͌.i LzLL`~L_L(kx˃R^UbWU'k-%."{UO Hsz/ - l^^ZP(sz #o{vթRZh+eJ /5թs*+o  rc^\ʃZ}~{B dJ _x{J U{F[@( S-Wb+j P\m.]z.; kXU{z/5n5% + o͍l*o / XbSo{yAlկ S拜7VoUUU/W2W׫rr p*`+pUUU =K55%(B% `5*^W2h`L\\hXK?U "oFp\UUFfFfFfFfd`($Fs"쭴H{驁̬Gszxz/h{-++.ɋ~.hc@@s7 ZrXh{ZUɋb///̴*/51 J/*Bx`)fUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfBf555"2!h"2!b!!*>^B2!}O:!)b2!*/CBb2*ⲤJB2u5J: sJ=-Hk% + zZZo&[{ex_&[ZJki&[% shZͭ+6mxjz[l{\^ ݣoՍ/ͭ x|o͍YTfՌ_ULrsLޗL`s],e =%%ms^ RxcC:|ZC: R7? bGs( k^W1 Q1NP Qs~oi{ʹHszKEJzhs:?{Rn&S_>ͩտ/R^~ɃdB/'c^ ꋄJUꨨ{J!^{&[("5{CK{ppʃ]\L%UUUVvsխ v5 l /;l>+ .-/OjNO y {x\x{+5* wS悊js^r sXX~xfjxɃ*7%%x_] W'z~|}\}Wݪ`pUnC``X\S"'%SfP\TWfFFf%FUUfUU_TLeUU5k5(gsRW~ %c *Gs~X\ 'k U+%oͩאe \ " +ȃRT^ZDJ 'gsZ5- Jg{++Jc:*#+)f\^!pfUWTVFfFfFfFfFfFfFfFfFfFfFfFf:fB)_wTB!Y%B!U\B2!߼b:!b:!*)b:B2Bb2'+Jc: -/ J-+k*j*R+Fc sk`¨sJRzgcBau_{:/=/Hk v^{  bx~Z \Um'c-o+* lo,nδ듨>^ Vx듋ʹ,筴 L닀{zHk'','cJBYisdB]ތcRf'sJ"*/h{bch{Z7_UHs;//++ -1$2pͼd[PX.(spp+bp#B{~xGkDB5oL#:+Gc ޽GkZ\k)^pꋡ-Hk{Gkv΄{%cꋈs?++!o=+rk- pz l*ʋl5 +{_NK-%%լ++O߯"_1N]u_.%%6 xX.k?̬邴U- (z6ϤFp ޸+ͩԼXj  %ܨ.ZxV@6p|``MC|wWu'kf%FfFf1FUnV !k%c8֍fs^UɋUcbHs:&'s߿:jpG*%'h{R ꋅR\'kZUWV{Z -5% ȃ݋ Ub2)d!f\\\\!f˽UUFfFfFfFfFfFfFfFfFfFfFfFfFf*F5UU:d2!?:!xX[B2!オ!B2 iB2!# Bb2 + Jb:}n«b:BZ@$*B-U R]{J/%) k Ɋ+R~sJPʯS:,/64F[5hkU(k~^^{Zս+Hs.L{/δ닀 z{,ʋ\jm/ zh,#"bn+{z} is"5 (k.'Lisߩ lIk~c{scB(kCB ω{dJ/UkdJh\WʋJ%+'k;laδ -1jj μɃʼn{nlb,HkyRp #:zR2+C:/WU!Z {&c{'k7ʃhsJ{Hk%] {-ꋉ+ʋ&K+{Lɋ+ku+h{+hʋ/--7$$K>WWlʹ_Oi2̴ %%+'.w梋NUvsrzU2yVHJjiR fU^Wq dY)ٸm[6'@T Xx_VXp'߸3\2[W(srXTWFfFfFfFE@$ ec[ fsސ<ɓ:X\Th{!*kDBյ5//úδkxzz b {a(sɪhsZ_*ꩃZ Ek\݇{UUb2*z)F^^\xfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfc:F Uc:!Xc:!|rz{"2B2!{:!%b:* >Bb: -BB:X^[FcB2?/{Fcbk*kK{j? RxGcJtTs:%/ʃ'['.ʃuIsn|,Hsbr Hk+{kLʃ? 닧L{ Lrnbb몃[i{J _ʃZʃc ʃ[ i{Rn^isJbϏ'cB?0RC:ʃJյ˃i{ZR0UʋZ bkʋb )l ++]* 0^ňBO ˩ʃrjl(k`. ZxodB__WR*}%[ARD:-{JcWHkJhsZ'Hk5(kTXʃHs? ꓉{}ꓩ5ou h{ {;ڞ+?% e+ cKb`Zi>6Ռ *'p*ʹ+r]K5---n˻RղŪJibh/I]hp38BB2 [B:__[cB*R(- fcޘLs-K [xʃBuW^isJ==U{'c )[˃Hk" )s⭗)-L{Z {z i{ kb kmois?/9c~{Bp{C:dB2`.Z* )kcB'* {J\cb:**k(kc:ucB zbB sRWhsJU#dBbZ! 'kIsz{J +Hs7sj*Tcآ (s eR^pc#:՜ZB2WVWhB*IB:rWʹ_~`]k59NV.\V.żֵ @{so $x\\p*scs2f_% SחS /U .-Vື3k7'72- NUVXPFfFfFffF$Sf Zb2/'$S)//'7%[7I"2zpbfc2.gkR^sclZɃZ (郆\-XWW^Fkf ɃR/Ƀk5+Ƀ+ɋB*_z]U:! EfT\FX_UUFfFfFfFfFfFfFfFfFfFfFfFfFfFB2 :*ܾ/ΣB*^\УB!*W//:!:!~Rb2BB:GcBsRiy k-l&[pL'cxRhkBzSJ_Ɂ'cJ+?UsJ%/lcs[lIs5닦55+V i{ʋk~^b+(k bisZ@(kdBp\\J#:K_#:)wR2UIsdB€)(cJzZb:^J"2/.cB3isc:⪥ʃR {Z_bJHxCB-Wuʋ2 -Lbl,kZrlcy}h{eR+y:Z1`rWZ)U݄B*C~B*ՌJ!*./5%GcR{&[/{Gc*hsފHsHsb thsR .r'kh{&ʋ'k-'k*_h{  h{ +ɋbҪ] ɋߋʋ+5}lt|+ʋzN+-QެWU/O5%?rnOrnp&Klާ;_cr'"W% R掤ݠu52- WՠnW _W_EX\xxFfFfFffFE[ R"2 e[:9;S? 胣BrXsJ@@s KfkWkZ /GsX' Gk Ic_.D[\^{ZsfcZecjFk:!*~_b2!!*Zx@&FfFfFfFfFfFfFfFfFfFfFfFfFfFfB* -:*[W:!-b2!.זB!{_b2!U:!*%%-cBb2+׷Rc:%?*C2S +lSXx:GcJ{ )[BPJ2xxJ::=hsS%%-=Is +WL _x\W i{ HsWzi{RX^cJ*/_bc:||]C:1hN^"2)PB:/'IkB:)cB2~^XB"2AZ\VB"25BB:hzB"2 ޗZc:RcB`xJ2klHR2/-b)7~^ʋ: -.cWUD& ʋ:XWb#:R:`JJ)7ۿUdJ!U}J)&b:)j S*W_B*755&[B}u{R -Hk}hs 9cbbHsZ'kRHsb/뉋(kb'ꩃb/H{5ɋh{h{#( k}Yn %mL+/oE&1.Ť!pN 1挤//RO*Sͨ̀Z>/zʹx歜wXNs%&p @O&\VWWFfFfFf:FUUfcB2X\[B:{cK)''%% K {:ppx~B2QաscB/*[z cU{$[ȃEcwU/{$[~ls[޿ɃZ-Ƀec_+{[UWxx[}]_U#2f -5B"*m\:"*U/j:gWV\pFfFfFfFfFfFfFfFfFfFfFfFffFFUUU"E "*!חb2!b2!:!`"*!嵕b2!* 56BB2SC:=/sJPݥ S_lR'-^LhkՊ{cp`ZB\~W\BA2x^_ZKa2/-'cJ 5i{EB J fJlSz i{rbK'[xhsJX^Rc:~sB2\^#:)|xj"2!zuc:!% [B:>ZcB@V:*{cB*/-cBB2B"27ZUUJE:bC:\~Z1xXzn2!x"2!_5Z2Ui R)R)-U is2U-sEJ `~bdJr[UU#Bb!`CB!{ "2)-#.B"2M}uB*Kw:![B -HkJHseR /{b )){&kXXHs&cZPbcZpr'kZ'kR'sc?hcGs ʋUh ‰{ꓥ* +uMKʋi}-ꓵU1KLoeyU m]nlh^^K. -֬ OlW «ߒ-%u{&/5**6'?].e`pf&FfFfFf[F55 cBAJ)kZB!&k2 ["2xjB2=-#fcR)/sZB^Gk:"*c{/{b-+cCgscscsR ߋcosb WcWW!F-:!냂 b2* ָA*`"fUUV\FfFfFfFfFfFfFfFfFfFfFfA*fե% 2}((:D= A*!b2*^_`b2!s{B"*ɣ:!W7!*:@Zi:!*?[:}[c: ' J +{[P{JZZi{S-cB\}_xBB2X^Zz:*+hkB- %=L(k?' w^P+{ *( `ZVʋi{ev|i{'cxz'cdBjpppRC:x|#:)Bx_1!!B`C:!~vR) cdBm R*rxC:10cJ"2ݵxJ2_JRC:JTR)||dJ!W2!?@(k) )k)\c1*WUIs)WUR1{ WdJ!J)^_U*B-b:!-:)+'B"*5&,Jb2*RJ%*cDJ(kdJ {Z[{'kW-hsZzkJcR`cR*Hsch{'k- Hs%}U ꓩh|ꋉ{+ɩ㋤ʋuUKʋ}Ū?nLTNL _.+7X _+%w֌=]ތkUk?0.z}}ʹ--ֈ|~vW2 NŻ{ֆ \եp@cf&FfFfe:fUUU'JByBb!X#K)7U$S"25 J2ݯSb:cB/W[bBgsRfsZ's[ ͇{%cuUGsJ z*%cJ7 [޿*Gc}*c&!* -B!+B!*K\"*gpB*fUUj@FfFfFfFfFfFfFfFfFfFf!* 2!rs}!*! Ba* :!*rȣ:!*7/:!*b2!V\B"&6=)B"ּR: _Gcc:?ՈsR>UkRUgcJ'cJ%[BxB@B!*z:!*'[A27%//ʃ[>+is +GS''LIs~'7 hsTHs'kC:xXXJ2h|XX2!!**JZC:!J*5c2R)zZ2j2f":!2=R*UZ2-*ZC:بR2zZhc:)VU_#:!5udJ)X{UJ!2aZ_:A?b_)A$)ajz!a(*!ݽBA*- B2BBUUJb2> RB-"R1`'c) cdJ4(kJ@H{R +*)h{kV'kbXcR`pZJ?:&cJ_HsZ sB**{Tʋh{ʋh{+a닉.׌/ͬʋ*\ʋ|_ rql(:uʃ:= Tɋ+=. -ͬ?˞֬}eŌh|\+<ȀU2( 5 ,jUU;d ^Wf#r^ZVFfFfBfUU%Ec5- ecBOeB*V`c:)*_y:)^x{DS)/=B!,\p$[)JB:*#sZ"2//Z$J(bUGsdJ* gsb&( {&k Z_'7RW_SR*Gk 5UFffUU!* :*R7Ub:!שׁa2O!fUWXFfFfFfFfFfFfFfFfGeA*B*!}:"]}7C!*+%%CA*b2!*B"*-:!^~:!%?BA*&pZB!*u:b:&R:;UURB{FcJUGcJl^]HcJI]JB2_\Vb2*:;&[2-5ʃ'c}7lc*LHsV )s%/us^.{cT(kB\wbJ2X\\^B)UW-"2!&c:)_KR*7UJ1/J!X\V!FxV72**!qk$B! -UZ1դR:pR)brcB!xu*-*!#:!c1AX*J :!]\T*2!ս?Bb2*B)^Xpr*JXXXZS:SB-! hkSdJcAeUUkcL/(sJ)HsbkbOTcRR\ZR .WcJ25'kZ *HsZ={(k5c~{(k8 c ʋIs ',i{7,+|nz+{*{ i{zuʃ(s=-KK- - w +WO + ULŧ+W-4)  xxWkE`z^Wc jx\FTWWWFfFUU b Օ55kJz(GkBW€S:B)}wR)=c:)WxB!C:a8CB!uUCB!=b*WUb* uǃeJ sbgsb7K&k_gs  gs-+郂 FfFf!F5UU*f b2!˫B2!k\:!]s/$*fUWWTFFFfFfFfFfFfFf!*G !*!-:!?:!%7{JA %{b2UU\pBb2b[_WBA*BB2"B!^\b2!%':a2B:U_]J:UJ: *R:zoJBCu:!*\:A27Rb2 #-HkR/Isci{ZkRumi{b]UisR(cC:xxdB"2x~oJ*mis"2!-@R*Օ% DB2%_J)rb: j*F'& B!*5ɃB*{rb:!U_#B!/%5WeJ1 wUR1xmDB)UdJ)U_zc1a^*aտc:!R#2- %["2pb2!_}M*!Յ:![rBA* J*Zj.J"2齋Bc:p Jc:-*gkc: [cR*"/(kZcd: 'kb(6Gsb_nucR\xbJcJ+.cRwcZ HsZ isbc{'k/ ){Hk{b-)* {֗5 (cxhsʃhs(kpXʃ'k+~ͬh{OUYh{ ֭跷-9Nx*|B*\gCUVX յ2^FG!e% ͬ% 'csc``[B\XxB::Js"2R!V^TB)55J"z#*fxWU&*F+UUUb2G %b2}&kdJ'gkZ{k{Z c++ -ɃFfFfFf&fA*f UUb:U*'`ps"gpb{Z@*fU]i&FUUU\FfFfFfFfFfa*f %52!!*!*%2!*9U:%UU{:P^UUBb2cBa*(.Bb2*գB!*\rpb2!_Z:":b2-:2* ::B:=J:z:!*\~zp:!*n{JA*S:+/cJwWjJcc:`[_bB2">VbC: (cc:nrrZdB"2{s~dBB2zc:*XRC:QUMJ)W2!SF!% :(*B*Bh^c:* "BB2hޞB2!_~DB!U_#:!$B!5eR)~ZX1ax!Ac: /5J1 rbB2xWWc:!Z"*!5WJ!*{k :! %BB2,UB)_B) BB:.rKBcJ5U'cJ[dB<cJ؇{ZkZ޾ߨbZ`@@RJ>uZB**cR~ZJ HsZcj*i{c?{(k +-{(kJ(ʃkX{'k]hsc~{c]Hs&c}hsc-{c'k/ {5UHs]+uN+_Y]Lhslh,*]m3UUUc^Ww)U"2UɃU/ )-mʃ#owisxZ_WsGkJmmGcJzjJ:NLh{":5s)TtTZ:a.-2f`p\VFfFfFfB2F%5UB2 -k*/55&c#B編{R/// {!?*{*^Jȃ FfFfFfFfFffF!fU!fb^U"*f % "*gV"*f_U\pFfFfFfFfFfDFA*)*!WB*!B" -B:}{}BA*':A*[BA*5JA*|~nb2!zjb2!ɋ2*%:b2 -U:#:B:B:WV:A2Z^긂2*b:A*?JA*?=uJB2uURb* JB2geՃ:A2vn/Z* ׷RB2XTc:"2VemUBB2X[c:a2>>-)+BA*:* '5:"2*<& B:}I2:YJfb2!^XB2!^B2!.>/b2*^:A*:a2'B2:b2b2!*xB2!*_B2!*A2"*:!*B!*ףB*+WJ*J"2\|\Tc:"2uVA2c::B2c:A2 +cB)ߞ?A:Zr2F5% c:*5B!|~__"*!_oi2c:! c:!B2!+*!V\)"*ab2!p"2ArBb%-J*ޤB)xxx*+*B! %B:+^Bb2VX^]JB2 -Jb2^~B:ׄJ:[Bu}UcJ|RB^RJ}J{ZB )cJZJ/RBX^RB߿+RJ*kJbJ(kZ 'kZj/GkZGk[+ hs'c5is[|_VGk[)7'k[ꮽs'k]Uhs'k~]Hkc.;{kHs+@+I{h듉8LUu,ʋ  eJ&mʋ*U {z sb[ʃhkZr~{(k^xsSz~&[:K:*C*pZ2u))&FfFfFfFfG?B2 Ec2%5FkC: 5-+{%c 5 'k* 郯UFfFfFfFfFfFfFffF&?" b2(="*fUW`hfFFfFfFfFf!*f%55"*!UU|*B*!u߂:!:*5ܸ:b: J2qyyB2^WB2!b2*v[[sB2!:!*W/:A* :!*-:a2:2*:*~b*)b2*zB2!*n}b2*b2*>;*B2ZjJ"2uB*B2b:PPb:B2hoj:B2Q:#:zR2:ePPp`G)XXXXB2)==2!|"*!l~#2!U_~TA*!>?^B2! -B2!:"*!\*^^c:!5-/B)ꂪrB{^|B2-կB!' B"* B!W|ŠB2!^B!+--:*ض:*V:)/c:UuUB:B(LZB\UUwBBU}JB- %RB}RB%RBRJURBRJ-RJ:JZZZX&bRoIcRbcR< cR>'k[&cEJ &cJ(%'c[gk[U'c[{bݓ{bU'kb(?uWb**-ʋ(smHs@ H{ ""m/Mi{hj)  닉{닉sr^˃hk*{hk b{R&[K`p`$KBxZ"CB֖#Cb2^z:!7?!2jFFfFfFfFffFBF-%D[:*dJ {['+ɃfkJ{/+FfFfFfFfFfFfG"ZVXC*a"ף:!=]JcBf FfFfFfFfFfA*f5*!)a!! (" *!o}u: 5B:BB22:b2T~uA*!:!-:!*w B2:XVVK:B:VXx:b2 9:b2h_B2*ʊ":""2*7B**k!*!."2"*B2jjb:"*a22ﷷ:2B2b: :B2weB:cB*J2Ww#:b`@BF"2)="2!*!)!T֗*p!*B2!?UB2!B2!J!'+C:!xTT\B B2!VWu:! i:!pc}!:jBb2:!ϋJ!B2)zb:1Yu:2%:C:* B:RBUBBBJhJ:^B:B:פJ:/RBRcBRB.ZJR:ZJUZJZRZJ0cR. GkB:z^[c:/'cRHk[[i'c[5%Gk&c^WcR|Z%cdB*'kZ5=-h{Z@Hs  eJ{Li>p1hjZ)kժ{hs++'k*'sR^VUHs)@`0GsRj~'kR(=gc[;7gk%S*W%[c2p``'[K޽SBKBzKB^B!2hhB:!z~~!fX\TTFfFfFfFfFffFBf%% Z2^Rc1%{:-& &k WKfkFfFfFfFfFfFfFfFfA* !:pz}:!-:!*V|!*\`FWWUTFfFfFfFf"f %5**!!! :!'-B*"':"::"**R!*axjB2+-"2!b2!BB25UBb2 %:B2p:!*~B2*"2"2*]} b2* b2*pb2*5/b2*C:*b:24C:!2_cB"2UW^R":_bdJ2'oDJ1~T[rEJ)~J)5$B!zz2!j*!"2!!*c!*c*!oo)%*!hS*!US*!JB2!=/%7B2!`bk! *!^i*!"2!?]*!B2!i*! 2!z1!1)+B2) +c:*Z:B2:b28a2:j:b2w4BB2{B":_Bb:rBB2 *Bb:[J:Bb: z^J"2JB5Z**{^)B B)7%5Rb: -/+cRZJ@ 'cB^'cJ)&cJh|WRcBRB %GkZ='k[k'kWWՈZ^TVba!0P&cJܹgk[ GcSZXbE[K &SBp&SK9SK_XJB(J:k%S:wBB)WW\p*FV\\TFfFfFfFfFfFfBf5s)-fk!Fk! //fkdJX^ZUFfFfFfFfFfFfFf#"F555:!*zo:6:*UVA*!*w!***B*gx:]W\XFFfFf&j!g *.!A/&b2!-=5JB2 ߃BB*xX_b2!|~\!*!BȪ'"*! B2!UW_)* B2!#B2B`:B2`XVU:"*k몿:*몢B2*B2* ~b2!*}}Ub2*B2*"2a* #:"2XrVB:2C:2.CB2EEJ2-eJ:eJ2\^^~Z1y_CB2J9:!jjR"2!-2"2!*!PB2!)2!^5B:!"2rj)b/+*ab2!!**{B2!) " 2!1!~2!5>2!1"z1!":!x1!*)/b:!b2*7Wb2*:*:B*:B2S:"2#Z:*`b:!BB2뷾BA*Bb2?BB26=?B)^U"2!B2!?5B!*- RB?7ZJZJʪ[R'cR~U&cR%[J`ਈgkJ+:GkRhsc/)hsZp'kZ( 'c1p/Fc2 &[Dh%[uAK) )S:z&SBZB_J:BBK:j/KA2rkC:fVT\TFfFfFfFfFfFf$FUUUB*B){ ݥR)j%c)Ջ:UFfFfFfFfFfFfFf#"f5; U:*jmb2FUUF&/"f UUU!fPUUUFUUUPFFfFf!f 5!f"A^|*a+:!-) Bb*. b:!xB@B2!%WB2!w"2/-2!ZB2!)-B2)+b2* *:!*߫B2b::B2oKB2!*8B:!*Uߺ:!*__"2*? b:"2UmQ"2**dJ2ͭCB2BDB1ͩB:)jfR2EJ#:DB:[:)'?#:!XX|N"2!;"2!"2!) ."2!zv*!^k)!%52! )!Z*!*a*a7)61!X1!1)1)~oo1!"2!⏧1!+2!|2!ۯ)!*()!ZR1!B2!⏿U"2*nb2*-}Y:*WU:!/:!zb:! ( :2 :B2j:!r^*!ý-#B2!u"*!>-:*!JBwJc:BRjR*((*RJjwRJ) ZRV'c[W-'k[+.Hk&c%HkDB@HkJ*േkFJhkRjGcJzr)RbUUUGcR_RBp@KBUJ:-JBZBC2@ K!xBE_J$ e!FVUWTFfFfFfFfFfFfFfF)`B2FU:b:!Z2U_}FfFfFfFfFfFfFffUF5WU4[fUUVWFfFffFFf!*fc %*fUWX`FfFffUUU! !*a1aUB2B"2cib:)``rr9!DB*~~rUB2! %"2!hXC:)wc:B2UV_U:!*_b2*"Xb:*zB!WB2!^B2)hUC:!2}m":!*˫C:!2":">CJ2dJ1/EJ:W6eJ1eJ2.DB2~T#:)82|2΍*!"2)cC:!/)!'*!_*!*!2!!2  *)!󫋊2!))߿1!j5"1)1)B1)1!1)2)Wቢ1!)"!1j"* 1-1!1)*)%B2!!*!`x:b2)'b:!^:):"*8 :!(8\!!*jhjBA*B!zx\:*=Bb:BB:bbJ"2 R:J2RB -RJԦZR]cJZ'ci'ceBjGcDB&cJjGcR}HkRc[RںuZJ[J[Js{JBJb*`@S*5^[2"eh\VWfFSf5S[`FfFfFfFfFfFfFfFfFf!FՕR)FfFfFfFfFfFfFfF!FW\_U"yi}FfFfFfFf!fUu5a*f62Dj "FUWxFffFf 5*DB!uWw!A /):*-0c:)l~X2!:B2!Nt2z2k鏏*! %׸"2!+B2! B:zB:!zrA2p@!* B:"׮"2!*/ ":!***b:2{CB2cwJ2VWdJ":͆R1w$B1R^CB)#:).2!:1~)"2!}]Sb:!2!~":!=":!"2!"2!2!2!{y"2!"2)x*!x()ᄎ9!-r1!r\W1!-b1!^ׯ1!׽2!着2a)*"2!`)! )!z1!w})!"1!1!~!2B2)ʫB2!zB2! mb2**cB2!c:!xAB2!?:*CbB!5B!* Bb:J:BB:8*Jc:_BJhJ)xJ! R1X%R) R)"RSD:XSB RB:ZJ[J K_[J{_JJ>RJ .SBJBtRBR*rꪪBB ~fUUUXFfF5K %-)$S!hF:UUb:FUW\\FfFfFfFfFfFfFffFJ )FfFfFfFfFfFfFfFfFfCfUYaIFfFfFfFfFffcA"f UU!fU*fWVX&FUUb2e%dB!UU}"2!7B! c:*T:)w:*m_k20#:)-"2!|"**a zb:aZ_:! *B:` !:b:)y":*":*R2UUcB2Ux{:2 #R#:i֟DB":2dJ2'cB2b]$J2տDB!^)!Tյ72!ﯿ2!"2""2*W"2);"2*\"2*S{'+B:*U"2!*)*!^z{"*!?W*!*^2!1!_1"b9!^^^1!1!^1)/"2)q"2!_~2!^ނ1!1!ﯻ!1 )*)!/)) 2!2!o~~"2!5B2!/.B2*c'B2!~x!*!-:*s2*B*Jc:I JB2J:J:^Jb2~J"2*UBd!XB)# J2BJ2㭤Jc:*JB~JBRBRBRBRBJRB^JBRcB&.RB^BJiiJBZBR\@KUU2(%[!gcJ&[&\WJF\UUUFfFfFfFfFfFfFfFfRFFfFfFfFfFfFfFfFfFf"*f55FcFfFfFfFfFfFfFf!"f %U"G~B*FUUW\!F5UU*f %:"?WC:!{:!_}B2 B*߂:!W\#:!-2!|x"*!ן?7"2.C:!*}cB* ]B2)ظu"2!*2) "B2]}":25":).WdJ:8UdJ2Wb:2b#B2UUdJ2m}#B!1!{Y2!":""*)C:*/cB"2\WUw"2*C:*b:2B:)|"2!"2!2!W~^*-*!^VU}"!)!*)!*)a))B)_1a!p 1!1!"2){ro)b)jj )!1!!b!pP1b!→1A!*b! 2!zz*!"*!"2!"2!U]B!*Uյ5:*`b:!#B*^__S*^J)B)**>rB"2x BC`B0/ R"2kxz{J"2_B"2kJ:B:Jc:J:_c:RJBWJBJB(JBʊJcBܨrJBJBJBRJ=9#ZJWSJ/sB_??F^s2*JFTVW\FfFfFfFfFfFfFfFfFfRfFfFfFfFfFfFfFfFfFfC*f5fA* FfFfFfFfFfFfFfFf"f52FzꪨF! $!F5UUU!F %dB!cc:!:!}C:!ߘb:"c2){:)C:!c2)]W:!2)Ь:)-:)hwW2)?":1R܍:2CB:Uz#B"2=#B)_C:* "2*`C:*?#B"27}UcJ)_[1!)!2!.2":*cB* B:2hG":"2uzCB!*"2!*88 B:"2ueC:2W"2*_"2!2!)!)!W2!!1UZ9a)VZ1a)?&*1a)+4!2)V*b)_B))U!:!.}2B)U)b >)"ܜ<1)>)9&"2)}7/"2!꿜*!*!*!}*b2!/{]cB!zr{C:)e:!7 B"-B*,?7SBտJc!^pB)-B*^B"2kh BB2y BB2%8BB@p\J:UB:B:/BBBB27 JBݿJB꺾JB^BC:z@JC:JBJB߿JpR%!'R:gkJ fcXX!F5UUW1F\UUUFfFfFfFfFfFfFfFf*fUU5s!%/FfFfFfFfFfFfFfFfFf"f5UUb2fT\UUFfFfFfFfFfFfFfVA2f B2(2z !fUWXG:B1;adB!ܸ#:!C:!_^B2!)"2%:!2!..:)_% DB2UU޾bB)_:*//DB1_DJ2mjV:)CB:ZCB*~B:2{_"2*iC:)"2*S[$B)#:)[V|1!2!**cB2UU5"2c:)c:B2-B:)<.,cB"2osYWb:"2]B:"2}_YzB:"2^]UVb:"2EuU*"2VZ"2*":*뫫)"2 "*))!ꨪ)B!:)2*~1*W2a)1b)V^{9b)!0b1oob1yy1B)k1Aվ1A 2){z:b!I 2!rzz*!*!yym!)j*!!$bB*B*b:!:*UJ!7>/J*B)0Sc:zB!ܖ6'B* /Jc:**rJ!2ꪭJ:B)`B*' J:Bb:XJ:BB J:J:jzBB:kJ:﫫BB"ҠJBZJBuJIUUUSJ*'cJ&{/kvFVVT\FfFfFfFfFfE)FUUUZFUU]p#2FUU-JFUUB B)FfFfFfFfFfFfFfFfFf%FUF! FfFfFfFfFfFfFfFfF5UUU!f-U`2 c:!=-*fUVa2f5b:!˻cB! cB)_:A!/1B)U^x1 A)i1! 1!bbB2!-2)X~:!2!B2!]W)*!"2!e"2!5B!zx^b:!?VB"2멃B!W**B!.J*p:!]\Jb BB2'"BB2`B*6/B* X֣B!~*B*_B* pB"2 B2X.BB*RBuEU:J*B:(J:JBWmKBBd)( JBJB' JJ RJ**_Rexp`JfUUU RFUU_:FUU*Ceտ*DSeUWsFU*hk-Hkc:zꠠ[:~RB2+*%SJUվEcB'FfFfFfFfFfFfFfFfFffFb2FsimuFfFfFfFfFfFfFfFfFfFfG?*F-U*F-J!^"2X`B*!!C:!C:!Z 1fWV\U*WUF_X^VB##))#:!*+#:*,DB2[pV^dJ2UCB2UPB1VU#:*W2*B:"2UUUB:"2-QB:!*"2!*"2*"2* "2)(:c:)CB"22U#:"2ֿWB:!@XB:! B:"2mC:"2V֓C:"2UծcBB2߯cB"2\_C:2ܺC:)":**"2i"2)C:2UC:)^^^|1!'2))/ B2)+"2)d2)}n`1!z 9"!-ިBb)sR1B)yZ1!x 1)} 1*x^*b!6h"2)bkyU2!)!)!_U2!W\W:!Օ1!zzק2/B2!U"*!b:! %B:*B*?7JB2hB!_Xzb*!+B)5B)\S*^rUB* J*B"2J:B: J:JBգBBfZBB B:Bb:K:KBB&$J:* JB%SBJB(((SJe}]'[c::*'[RgcJbGcc:{R66_{Gc\[hkSkV_&[J&[Jp[VRB2ZP^e[2)S:*()FfFfFfFfFfFfFfFfFfFffUUFFfFfFfFfFfFfFfFfFfFfFfFFcBVX`c:*x:zB:dj`x!FUUU!fUUU&ffuUUF~J  dB!*~C:*C:*#B*2!CB!%B2*?CB!*":*":*"2!* cB"2UUs"2C:$CB2{B:)2*#:!*C:*cB"2U"cB"2uCBB2C:!2cB"2cBB2 *c:"2cB2׿cB2»CB"2W^xC:"2_~bcB"2խcB2~ΪC:)`Ppp2)"2* .B2)pxB:)6cB1z"91RB1I:b1巊9b)~ :b).2a)_*b) +)!`j)") 9)Wx)!"2a{_!A/ 2~: 1!~=*! V*!="2!b:*𣩗B!^xB!5գB!X{zB2)ZbB!/ KJ"2UB)UˣB)ɪB! /55J:BBBBBBUJBUJBWB:*B:פ"B:B:jK:k*B'KBץJBUJB^]JBWJB*"+%SJ- r[S9U'cS絛GcJ.hkS=///Hc&[zrz|FcJ~??%SJꃎSB\~$S:}b`B2^\fc"2/+FfFfFfFfFfFfFfFfFfFf&?!fUUVTFfFfFfFfFfFfFfFfFfFfFfFffF"2f 5UU"2&x`뵡fUUUXFfFfFfFfC: %eJ"2\~"2!*x*"2*2C:*"2)n^B:!/ cBB2B/C:!*!*"2VVU"2!*?c:*CB"2?UUCB2WOIB:2 CB"2}SC:*zC:!*CBB*dJB:%UcB:޸CBB2 C:B:(dBB:JC:/JC: BC:U}{DJC:սCB2zcB27:cB"2PC:2xxcB)__X"2!"2)2)`c:1)%B1>z#B1׿;#B9$B1#B1޺:!2:)"2a!z!2!߿1!)!)!^֗*a_U)!p)!Xj11!_)!Zm"!"*!U"2!7wUb:!s"2!'m"2!x_"2!)B2) b:)o/B2)B2)uB!'7/B: IBb:(eBb: CJc:B:BB: ./:KK:BJJB}mBd!@J)׮J:ի:BZZZBBJBյ-SBr&[B'&[B[J>&[*~'cB2 }UGcBfcJ%[J߾%SJ80E[BzhB)~%[)?FfFfFfFfFfFfFfFfFfFfhEEfRYefFFfFfFfFfFfFfFfFfFfFfFfFfFf'JbFpUUUFfFfFfFfC:f%55DB"2rzy#B"2UuO"2!*K#:* "2"⢾B:!B2CB(cB!*b"2!*7":"2]WdB"2u:B2zWB:1:B":#B"2]S\\"2!* "2A*. c:"255CBB2-dBc:+dJC:߽?2dJC:((JCBJ#:V.dB#: dB#:&zzdJ:*.DJ":xdJ#:~cB1# cB2"2! 7"2!.,"2! C:)jjCCB1)cB1pRA{dJ9#B)8CB9* #B1Z":)zz1A<<:2)2)`jh)b!C:!sX1%1|)!])!_]}!*("*!"*"!+*B2"2!"2!"2!*:*-%b:!(B*끢"2).?B*5B* 6_B!*BB2WB*_WB)U:)B"2BB:6B: Bc:&J)jK:acKB_KB]K:*SB-/SB*SBbBR:kB!zB!zU +B!S*[b: SJ訊GcJ}m)F[JrkBB2zXJ2́FfFfFfFfFfFfFfFfFfFfFf&?FFUW\}FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)fdJ#:meY9cJB2__C:*("2!" "2"*B:"**B2!*!*B:#BA*?CB"2VW.BB2zBB2$J* #B!*(B2ZdR"2UW|:"2cB"2)DJC:dJDBɁ9RDBUDBRDJdB dJDBXZWwDB:*.BDJ":DJ#:.+>eR#BOzDJ:>eR:_dJ2^ J!`2 #!B)odB)dB)%r¤R1ZYZBdJ pCB WJB)%dJ1V\1B!b2A. ):jDB)_J!{1!T=:!1!WZ*!ե?2!~!*jZ*~**!?5*! W**!"2!"2*}:*/+5:*:!ރ:)J"2yUB2*-*:*?_B*b2)~B)ZBB2yB"2̨rB2@B":`J!_ףB) B:5CBKBھBJZZ*SBSB꾷?S:(`J!`\Wb:a BB2婢B!Zb2! Jb:5%RB ?=GcBS:XB2xחJ"2_V^FfFfFfFfFfFfFfFfFfFfFfFfFFUUFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUJ**+-eJB:t@C:2{\DB"2UcB"c:"2g#:!*xB*b:*>BB2S?Ba*/DB"27WUUR2UA"2_ꨯA"2U¨B:"29b2CBB2/ J#:__dJC: eZdBdJ$B *eJ#BeJ#BDJ#:r#B1*64DJ#: eRB ERB:$J9`DJ) pJ"h~ J)ܥJcBzJCBgkdJA/#BC!7DJ @CBXT5dJ) CBA)CJB!#Bb!w(b1UյR1WR* WDB)x~UU)!Z 2!2!>1!1!1)>*V2//%"2!\VW*!_)2!WU*!_T*!?b:*+U:*V_:!kbb2) ֢:!':!>b2)wk:!b:*>涢:"2\:) (B"2kK2x޾$B2b:)**B2*JB:pbB:KBWZVBB}[J:zJ: xJ!r\W)!:! B2B:w*!~V4B) JB핝5BRVU%R:xwuJ"2?/RB2e\FfFfFfFfFfFfFfFfFfFfFfFfFfFU&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfC:F -cB2WDBB:Z??#B*j C:2g%}#B!*_#:!*߿C:*::;#:A**"2UZB2_Օ7dB2U߯dB1UC:1-(Z1?W$J:|c:9 DJC:UWdB:  EJCBeRC:R$B־ZDB{{DJBDJB{jWWDJ9կ+RB+*eR$JSj$JeZ ZZZJwER17Z) J1\\\؄J#:.R$B{kjDJBq dJ444R@@@`dJ- DJ1DJ#:zcࠅR: ZcB+Z_Z2^):1*z1!˪2)|jC_2!2!)!z)!+62!!Aи 2?=52!VTV"*!]2!R^*!{w*! -b:!P)FpP:$):*b{^PB2).*:*7}:)>+z:!:*):A2 Bb:վ{B)+B)-.B"2UB*jB1_B)B"2J 'B"24BBUwJ:R:B)h`x)a<:!-/,B: >5B)xB**B)׾"2!7ק B! ^b:))B).JB2Mo(kJ"2]WUFfFfFfFfFfFfFfFfFfFfFfFfFf&?!fW_sefUUTUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF*P```C:2\YUCB"2DB":݉EJ2\~~$B2rmC:*C:!*C:!*#:"2ᰰ#:1'$B1-R#:~X#:1" C:1x$J1 %RC:^[rdBC:DB#: DJC:( /DJB VER#BeR#Bz>eJCBxeRBU/RB :GsRU}ËbDJzpERB*/܅ZJZ1\bD:yrz^dJ2z R)/'pZdBz+)ZDJ>dJ!X`dJW]`DB dJ1hJ %ZdJzxWdJC:dJ:kdJ#:}bx~#:*"2)r2)X:!*)!*!2!|^)[)a{^`)a;=='":!\Z))1!C@"*!('!2#b2!+B2!)B2jjB2!޵b2)cU"*)?wb2)U-A2:Jd$B:B!xJ*b:2U%?b:)Σ:1B:)8J)%=;J"2pKB}}BBBB2 X:a`X^:a? B)/Bb:}B!\>:)$S*_}/K"2]_S*URBsJb:*XB*jJB)/FfFfFfFfFfFfFfFfFfFfFfFfFfFfFf*fUUyAFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF*2f%- #:*ן eJ#:]}=eJ":eJ":vlDB1j_XbCB) -XC:)j1#:ehDJ1*R9R: **ZB\p`EJ1}ZdB:yDB1zªJ2}CB#2DB#:*$Bc:(*EJ#BUDJ#: eR$J5=beRUbZ]}ZDJdR_b$:^WR:0W_b2*UUZ$BZ$BRdB8Z)jئZ#2/-+(EJZDBR)%RbbJ1R$BWpJf5^J))JBzdJ: J:~cB:՗C:"2U2)(:!1)@)!x)a`1aZx)!z!A -%2!p)!)*cj)@!F1!2)\w"2!)!zW)b )!i2!ޫb2))o:*z被BB2_߂:)B*$K2ݷ% B"2_VB"2 B2vJ"2^%JBBB2&Bb2:(:*`"2ԶK*/JB]Jb:on*Jb:: J2JA2=SJZhRB}R:^{zJb:~j|b:) ^J*UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfC2fI5)fU}tTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2fՕ= C:)]DB"2޳B::^ZzzR:?+{#Bb9_^Z1]U_#B1U+DJ:U.Z$B- RDJ\\x~ZDBuWR#B*Z:h誮DJ1T$B2#:1ob`d:#:WUDJ#:dJ$B}$B#:૪$B:{reRB --Z$J beR {eRZ:x^߅J:eR#:]_? R9beRuubR__bRUU?Z8 ZdBbGcdJWu=ZdJ8Z1''bRRD:hJf\TWUJf 5R)@CB%J:ꠢ-JcBUhdJ"2{⸄J)#:*2)h11s:)վ1)W$*:!)!5''2!xtw^)!Ok)b*^!c!*2) "*>)! 2!_{B2!]]U"*! "2!u_2!:!!B2Zb2)!:% :)=B"2ɃK"2-% J"2V\\^B"2 )B"2{ˮB2**BB2 B"28pB"2-)B*Z^B2)8 =Kb:JB{Jc:7 JBR: SJrZRJUSc:kjJB2 "B!*zb2!~J*UWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUUb2fVU :FUU^fFfFFfFfFfFfFfFfFfFfFfFfFfd!FUU2f C:"2#:2ʨZ:U HseR-- (kRVWb#BP_UZCJ ZDJVޮZdJ{R:dJB dJ#BbDJ#:_R#B5Z9NN~DB1%CB)z1:TTXPDB#:_DB#:?eJ#:dB#: RDB555bDJ%hsZ׿/ʋDBbz^eR:W7ZdBխbeJUbJbR_ZR*3HsZybbx``{-5sJT&c9zb,/ kR~zfc`F&Rf%F!:f-UJC![B)ץ(cB"2dJ"2_9"2=9)9) +9)hjW2!1!/)!h)!()#pf!UU!f ))!}՗?2!~!1(*)Pb2)b2)5B2!x\*!:)%:2B*B*RPB"2~J)֯B2IAB2pB"2_ңJ: B2ؔB"2ɂ B*umbb:*-/ J!*`J*{Jb:  RJ-*[J}ȃ'cBR2xJ:(-J"2:* ‚:!'%[2UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"*f%UBb2yM:^:FU:fUU~F! fFFfFfFfFfFfFfFfFf2f%-5C:2 dJ"25J#:W)k#: kCJpcudRCB~WdJCBP`w5dJ: R$J_dJB `dJBhwDJ#:kR:sdJBiDJ#:RDJAj-ks9^ZDB:}mk$J)..DJ#:>`dJ#:zdJ#:6RDBUU'kDJh{$B5HsZx$Bb *b$B(kZjbuubZbR *jRjbMIjZ+)*&JfttCBfF%B AZ%)bFpXF9 FfFf%kf5UUF!FTWU^fF1F UUUdBF UUdBFUUBUU2$ 7Օ9Fp1f 1)ꊡ)F`)F))a! *1b``!fpc!G !#* j)fzUU**5*!߸B2!*"2!/b2) b2)b2)B b2)#b:! B2) ):).B)*ՕB)#`J!֋ J"2 JB:r㋀SBUJ"2TފBB:;5:*@ b:*}%^:!WB*⃉[b:%RB SJ/~[Bx]UJb2"JB2*N{JA*B"2jXb:)?ߪ%[27FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fB2F 5R"*:A*~:):)x :fW:FUWxFUUUTFfFfFfFfFD!@:fuUX\":f-Z2R":7/VdJ":xdJ2 _eR2 fR":.ZCBxfR#B]UXeR9 ZBZ>?Z$J`R$Br^$B#: ZCBڨmUgR#B?vUUFJBudJ:_WDJ9".bCB bdRZdJ`XXR1zzR)dJfp@U#!F5UDB eR)**]Zp`j{fFFffF)Z}|?7dZʃb6w^0! K_WrH)rW}9FTUUUfF!FUUU)fTUUUFfFfFffFf&,[FUUUU-GB)*)FTWUUFfFfFfFfFfFf$BF5dJ:6^1#:))1hH@!& 1;)B4ء)B,)#JB )#a#!hV!ހ)B7"2h**FUVx`2F U"*u*FWUX*F% !2 b2^:FxWU!F*UUU2&"U:% JB2 *zJ":$[Bj$[BJ"2\J"2$B!b`:! *B"2SB, ]%["2r_R!W^Xr)a+ﲢB:!y["2!}bBb:!. "2!\ )JDV Jf__XWfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:fՕ5,B2uTJB2W sB2UWrUc!*{ɵפJa*b2!@*FUUVTFfFffFJf 5bDBWͷZcBUUUdJC:R2DBC:okdB#:]J#:UcB:W{{DB:ZdJ:DB:dJ9//ZDJՖ%bJ+{ZdJX_U$B1b 1F`X\fFFfF UUU)Fb]UUFsUUUFfFfFf{F5tZ5k  ($b}Im JFTVW{f{qUUEh)F]\VUF?FfFfFffU% %UU}J-քp^.tf\UUUFfFfFfFfFfFfFfFfDBF555dJ:j~gx:)Y )``,!! )!*)b!) &)!xpЂ!"?< )B! A2!]/"2!nFWT\X*fuUU!F}UUFfFfFFfFff2@:f B)?JB:鈆Sb:\Sc:JB:Xz_JB2iy:!.Jc:D?BB2B!zB!xp߾R"*yiC#:!UUK1!_S2!WJ!U_KDz`$:f`UUWfF_ecFUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUU$*FUUUb*f U:"{?/BB*WT{b2sU-b2UUVsB2FXpFUUUTFfFf!F5UUUR# ZcB)_^R#B|UdB1DB2~dB":~DB"2{dB2ݯJC:R9k$J:ICJ9RCB.RcJ螞؄RDBZ!zꂪJF^Wz`FffFFfFfFfFfFfFfꪪgFk9F %UUfcUU/FUUMCfFFfFfFFfFfFfF UU5fUUUyUUUfpUUUF FfFfFfFfFfFfFfFfFf%!FUUBB!#B)-U2b!8*#1)~)b!Zj1!+ 1!!2#!2!^k)B )A1bտ!2b! {"2!bbzFzxhjFfFf#fUUU1FUUU.!FUUUxFfFf$FUUUb:f %B:)-b:)^B!"}J)}b:)B!%/B!xR:-B*߃:!" `B2a0. S*kk:!rJ7J!WVV\Bb!-$S*Bf\pJ ecC5 FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfd2fUU2u2f2&`Fc/cB2Wtx"2FTXp`Fe!fUUUF!bZ)=)ZCB|©RB_z\dJ9idJ2\܎dJ#:*DJC:DJ:hw^J:eo$B1z}]$B1?ߥZBU#b:CRdJ~UURCBܺsdJ5ZfXXpVF1F&!`&FfFfFfFfFfFfFfZfUUU%%})p`[EUW1FUUUtFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf$:fU:1!:)B)1))b!1!)F\\)FWU)F?2()2e))f`V!F_UUF(UU`Fjbr] FUu"FUU_pG>":fuUUF) )FUUUFFf$F5UUUb:f 5B)^ ~J*rbB)W„B2u'>B)1:+:B)ªc:)Yb:a`p(J! Jc:WUK:px†J!U{)V\_YDJ!^{UB!;UUJ) -%[Jכ:E[2FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFffFfF:f`_UUC*F5U}J$ "*-Jx蠂:UU^pB# 5J68R"2,RCB .R$J R9~cB9qR#B;UR#:xDJ#:cCB1#B1۪+B1ޢ bdJZDJ@@`VdJ:"b$BjKZf`^URf%URfX UZFU7RfU_@'!FUTP_FfFfFfFfFfFfFfkfUlR((!W{rfFFf :FUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'cfU : 1#X9)cyy1)靟))])! )ET\XG|!FUUUFU`"F_UUFfFfFf!F- 2!{)`)FU(!FU!!E!z!fWXXXFUU)FU\TUc!FUU:5/K)xބB2~ B) %S"2%Sc2x*Bبc:)TB:)"J"25JB-5J"2UTT2!tԊs!U+5)c!UWR!_sR!/55SBEc"2pFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&??e:F^U&FTVUUFfFfFfFf:f55!f%WTVB B r`@#2 UJc:!Rc:RcBիR#B/eR#BH~dJ:/dJ#Be EZ#BUU^dR#BUu #:1WX`B1﷟=dR9= ZDJb]DJVf:UUeRf@PWUfFfFFc +`p9FVTTUFfFfFfFfFfFfFfFfFfF555`PPI)FUUUTZFUUFUUWTFfFffF_FfFfFfFfFfFfFfFfFfFfFfFfFfRF hs) DJ2\DB1]9)1)1)(1!)w)B!))`!FU^F!!FUU !FUU/!F 2! V2B+c:!=#:a)ajj!B뢋"2k B&€&Bթ-5BK (B)V c:J bB2. Jc:pSB2jc: zzXc:).J2]J"2Z}*JB:r{BB2p2)XR)W/UZ1>jk)UV\_R! -[:CSFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf1F}UFFfFfFfFfFffFFBf ZB+5BV`c:&/^`R1ZdJ[R#B`zR#BwZxeRBUIdR#BU}ZR#BXdJCBnDJ1oDJ9 *"Z#J-%-DJZeVf)FTTVWFfFfFfFZFUUZ uVOfrUUUFfFfFfFfFfFfFfFfFfFfFUUU,BFUUU%fFfFfFUU9UUFUU\\fFFfFfFfFfFfFfFfFfFfFfFf)F5ՅJ!Z)%R#:}UWCB2WW)2h*b1)Vv1))B! 1!1!)!Wv)*))b)B>?)bA:"/o*f*."2Հ)!A2B=O:f*UBv":Uժ"2fUXPBF %Bc:#]hJ"2 B":/*-B@Jb2 ^BܶJ**/Rb:B"2`bJB2%JB2B!>.:)W\\J!69A|R!--R2Us#FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FUUC:F&  JC:5_[ۥRCBl]}RjJ9rRdJUU^ZCB =ZeR~X_ZBdR:bDR#:dJ:X#B1.CJc)+*dR: .:dRf`XfFFfFfFfg1FUZfP^UfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFOcFSŧ {:fW%VfWW[pFfFfFfFfFfFfFfFfFfFfFfFf!F%UJ Z1}R1r c1U{1U]}dJ)][_Xb:b!1!)!s`)!骡)71!")1(%U1!)Bꨠ)J!f]Z :**X*F`^U}FUW\B--U:pX"*&^Bd!#+Bc:vB)ZJ"2 B"*"2!UUܡ)&*x)FxUU$FVU5:fy}B%-BwBiB:C:sBB2B:+ Jc:JB2(K)^XB:!B*kFc* [R)+ oJ!UB)" B"24^ZJ!z'J)auWVjk)RiUs)˵c1 FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG:fUUU1FUUWTFfFfFfFfFfFfFfFfFfFf$:fUU%%cB eJC:]y'#BRZZJrCRCBW_. RcB޺RB¿ZdJͩURCJbeR#B]ER#BjzZ$J]ub$J BZf\TWUF+FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfh!fUUUFUUUTFf &/FFfFfFfFfFfFfFffF!f- U*zn!FUW/-UUJդR#UDB! u:"cJ!դR26_iR1{XcB!{\)!W)A+!bAFUU^&f#2F գB! -BzBfp_:fUUf*B+- %cB:Jb:JB-K}J*pꫫ[!*/"J!*oB*B2:K:~B2U:)տ( :b2^(*:B)J!ԕWB!_:!{R) W]UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUFSWU!FTUUUFfFfFfFfFfFfFfFfFfFf&cBf %RCBU(b$B"ZJ^RB.RB{]RcB-RdJbRoyZ$J$JZZdR*b``f&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%jFUUUF'! {U%cfU\VTFfFfFfFfFfFfFfFfFfFfFUUU#f\UUUFfGFUUUB!F#UU)FU), -R159-Hk1o|s1UU_R)UUWdJ!U)A!*1!V!FWXp`FfF-WF^fFFfFfb2F%UC2B2B"2* Jb2*FcB:B*X:*bR.ksZiseZWTVWZeppc'UGJFVTWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFՕ|)m}V6&:ez_\fUU8fUUrXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfdG)F#UJ?-)/)\Xpm:uU #:}dJa!VCB)j|p)F`p\VFfFfFfFfFfFffFBe BBKB2BB2xJ"2-)[:|X:(k:UU kBU k:UbJ2_Cb2~ c{BA* C:_#K"2^J)UJ)UFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fFFfFfFfFfFfFfFfFfFfFfFfFfFfdBF%5RcBWxJcB} CZB+?RCB<[CB-ZRubdR UkZ.jDRv\rZ)z 's)ujF!FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF<%! !_/_UFTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBF-UUA:JA_JB#}U"2D(_!FUa:fWUUFfFfFfFfFfFfFfFfF7FUUUJF UUB )JBlJc:/:Fc2׿/Fc:fcB'kBS:=J:VTkJ2}B:;/?KB2X ~S!*_B"2}xZFfFfFfFfFfFfFfFfFfFfFfFfFf)FUU51FUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFf&JF ZcBcJ: R#:ڠZdJzk'kdJ5UkdR_bdR+kZ5uU_ZbZ@@`pfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF@G!= U|zUUF$FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFGGfFFfFfFfFfFfFfFfFfFfFfFfFfFffUUUfJUVP`%cJfkR%cB\hGcB[c:R.cB{^K"2*_UKB2B:7!{Ba2_:!2]:"2FfFfFfFfFfFfFfFfFfFfFfFf!Fե-&FfFfFfFfFFfFfFfFfFfFfFfFfFfFf%[fՕ5ZDBreZJuR2s‚ZdJ) ZR/jeR"ФbU=ZWW_keR> ZFpp\TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffeJfUU% RUU*UUK_bJ&UR& 5%cJr]&[JږW-cB%-gcRP_[B2U(JS&YR2Bb2{ZBb2պB:FfFfFfFfFfFfFfFfFfFfFfFfIBFUG:F\W5FFfFfFfFFfFfFfFfFfFfFfFfFfFfFfcf% 5UfRU)RFUUZf/5Ub%J HsZ=i{Z^\\jsZ_\{ZU}jZ&!FTWUUfZfUU&sfUUVXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUU=JUU R RBRhJC2A:fUW\\F%:@#SFc:SB[c: ^hSB:{m[C: &cJm[[BUZ %[:W%[b:[[FfFfFfFfFfFfFfFfFfFfFfFf+BFUUu%FfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFffFEJf UZF.IsZ]Y}MbR؟Zf`cF\VUUFfF9@@jf``p_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfC!fUU)fUUGFfFffFFfFfFffFUc:FU Rd=SJ* FcJ__RBZB?UR:իd:FTT\\Ff)FՕJFc% RB%[B %[BշFcR-~%[J\kR>mecJufcBֿxFfFfFfFfFfFfFfFfFfFfFfFf%jBg_UfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRFՕʋb_UHsZ{JZ2@ZfX\WUFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf'FuUCfUUW`fFCFU :FUW2FUUUtJfU5 B(Sb:uR:*WJb:WJ: =/SBSB*U$SBzjBfpX\pfFB=UCfUJ%cB%[RuU%[JS`eSf_UfBU*":FUUFfFfFfFfFfFfFfFfFfFfFfFfFffBGm FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf1FU'k&!5'kZu{^&cf`ZUWfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF0FUF_p FfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&ff"2cBF^pB: $J:UocoBH"K):),HB}:FUBF%J:}UJ:uUZ:R:BfPXT\FfFWUE!F|UURf  SBBJXKf UU2f\WUUFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfG:F5Ui:fU\VUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfc`PXHs1b2 cDBBFF!FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF@ކUU!Ù!Uc_r1FUU !FUUUTFFfFfFfFfFfFfFf1FUfFFfFfFfFfFfFfFfFfFfFf)fUU]FFfFfFfFUUcJFՄZ:W~b#B?xZ2zx_:~fb2UUUX#*FW7W!fUUTV:f%%}c:\[: :`XC %:X%FUTTUFf$:fUU$[c:J!@BfWUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&J[F_ZSfFFfFfFfFfFfFfFfFfFfFfFf1fUfg!FfFffFRfUUcs&FhUUUc &cFp\VfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF559,s@pАpk,(<XXx}JXhxf_鷸fWW&.RFUUV&~f&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFC:fuUUf&FfFfFfFBJfUzí:f W:f7A2fU)f.PZ:FW-f:*U!fUUUTFUUU? F]UUTf2`@2fXP_UF!`Cf‰%BfUUVXFffFd[iUJf]UfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB&qaiFFfFfFfFfFfFfFfFfFfFfFffFFfFfFffFUURICPPfFFfF&FfFf)FUUU+&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF& ) ( }`Pp]ZF!U/tx`f^VefFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&f)FUU$F\]U'D!FUB!:) :D2C#2^p.:^BfUU\\FfFfFf$2F\_UUFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf1F}UH!FUTVUFfFfFfFfFfFffF&FfFfFfFfFfFfFfFfꪪf:fR_UUFf)fUUU(%卍JfU^p&FDB@Fk1JfUV\F)FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF(! s** zVXB q|W߭kW^XpisfU]b`fFFfFfFfFfFfFfFfFffF)FUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFbBFf:UUVXB2zC2C2몫:f\\p`FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfH!FUy}fFFfFfFfFfFf&fFfFfFf fUU5fUfUU fUU fUU& fUU fU R c#:.'Rc)`D:FW\X_fdJ`XUUZDB -RZ )Z$J޾%JfV\)fUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFU5 eUU<%U{U'Oc@ZYU(  `@]琌XjpNGh` |FU[ !FUUWFfFfFfFfFf:FUU5Re+s$BIU UW^pFfFfFfFfFfFfFfFfFfFfFfFfFfFffFcBf B)B$ ;:IUBD@*FUUVTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF)fUPbUFfFfFfFfFfFfFfFfFfF%*=??Es^Xpz#: UU5CBUcJ&"}*JUU:~zX\Jf%ZCB-J@)F5-Z)-+ZdJTUcEJZJ~Z9xBg\'!FUWTTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF@gX\V)|`]Rb %7 ( (( BpiB{|"2^(3)k\9^ [FUVWqFfFfFfFf9fUUc$B]^4^fRUՕ5e)Zp`FUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfDF UUUBBfuUUF: BDYB2fTTWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRF]-UJfUV@AFFfFfFfFfFfFfFfFfEf5"B ޕ% R2J#Bu}q}RC:bcB? Re^x``)F5UB")%J": +JdB:W˥R: bRZJR#B``GB$B51FTVWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff@އ5}Нhky߭)/@ ] 6 `ժ,[:,x^])^_UU7Yp`f&FfFfFff%B@@`(k:* b@$(]1pZW9fWWW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfGGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFcf}m5ceU}`xfFFfFfFfFfFfFfFfF555B CJ9(Z9UZ2W/R2/\WR`**C:f%R#:z_J)*_J2*J:hȦZ: 'bDJ*/?bJ^^\zJ$JZZj#JFBZgJf\VWVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%jFUՕ5<`\ "W9  E``xh߇U( x pޠ SzB77?7Ԍ|yFUWV\FfFfZFUU5̜UuRd! "DR_saUDJUUfcFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&*!FUU:fT\^IJfUUUTFfFfFfFfFfFfUUU$;յ/R! RB^ꠄR9~*cJ:U]{CB2U":1pDB1׫dB1^Xz$B)U5#:1'dB1XyR1/=UDJ9 bEJɭZDBbDJ5 +Rg\XXFfFfFfFfFfFfFfFfFfFfFfFfFf)!FUUU/cFUUUsfUU5xFUWT46}s ZV|^{/UsP\rFx^WVF # (**xxpq%pphxF\\\TFfFfFUUbBmmcJE# mCBfcBf`\VWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf [fUUU ~i*fUUWXfFFfFfFf"fգB/Jc:7GcJWUR":~^܄J2zCB1ՄJ:_5B1 :)TX#:):եR:}UCB)ob#:)j$B1;?Z9 beRzbdR1_bp`FFfFfFfFfFfFfFfFfFff&FUU/UFUU~|&[ %`k^^5F5XxhjpFUR`Φ1կ 79޳R-:}p^(֭^5r|  *( (X>׵JVfTTVVFfFfFfFCe)FAUUU!F5UUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF_ D[5UceUzdFUUUTFfFfFfc:f-%% :)_gc)ݤJ)x#:)T:) :)~^]:)+^:)~*1)*DB)-uׅR1鏏DJ)/DJ1$J9 fR$JZB_b1B &cFUU^XFfFfFfFfFfFfFfFfFf 8VgpPwF UUsFTWUUokFU^XXfU&cfUW냇(UZ?sh@׭F\WUU5ս߉BY`[W|- hx<,n}OSoSfTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUB6UcWBfUU\fFfFBf 55J#:n}dJ1(J#:W+eCB1,R)_?1(k#:){1! 1)( 1)*(?#:) _z:)UWG):`PA)*+DJ9%JB mu6 c$JU%kXXZZFfFfFfFfFfFfFfhRFUU5)BFUUUx& ')%!ͤ{ o&5%7 cFTTVV%[U_дFUUUxfU{&(Ja`Ɔ-; k;ߩ1jj|FUUTT :FUUU/%UƦh^U' FUUU5UU -Qmg>y@fUWVXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF%55F^W%UU[s!Ub: (Be JJf*zJC.:UU5o::^U_rp2{+7T2U^[)_$:)k2!DB):!.<2) B1dR9. UZB^j Rr‚FUWTWFfFfFfFfFf jg%% 's `RFUUWpŦ-U'JՌ%7"ϤFW``z"# \kcA@F up}P`FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfF)?I|-UUtU(|c!?*UלcjZk/* W$:WU*p^UU#2!-OdBUUIk1c1U[{p:!bb$B) -=C:17"B*Wu]#B);U#B1ˍZ1 %5-R!@@RUU1fUU_xFfFFf1FUUUkG sb߈b5ʬbjj)sF5UUjfUU{fUUņ7UUF-Օ;`z !uoÂf|XXTT;W~| xi)FUWVTFfFfFfFfFfFfeF5UUօ1-UUU}':_[ % ޠ``]czΨ!FWUVTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF]UUqFfB2fUU-a2FWبBEUUfP_UU&/#*:!UUDB)^P발)5DJUw|_R1t#BXSR{#:)_EJ1/:)/|!1B)#B1uZޥR1-%R2beJ!eJ!_: U"fU(f)FUUUGsA(+ rk'.Nj9j*JRFUVT_f&pkFUUU')!FUUUTꪪ9FUeE];f_Uf UUEU]UFfFfFfFfFfFfFfBf5UUbfU/wU .>@|$pF(:FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF!fU2f-Uj|cU!F[``{gU0B%FTTWUm  RbB~ާ߇W`fUUTևUUpؑUU%U[UUVXFfFfFfFfFfFfFfFP%)U=6E!UWX)-5/?5}pxx`fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFUUU*WW^A =s1TWT~4:UUAJ1B9a!:1m{$B15յZ: R:V_c~R15%R1\91xlc)9ZbiU$B9]$B9+%Ze)JJ+RfCrFJfUUUXFfkfՅ%9*bq]Uj=*J9 @`pxF5%5 is!|hH1fpX\WT '!sj{[%V~8`y ֭FUUVxfFfFFfFfFfFfFff%UUKfr[UU5c%  5^ "`x}fUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF%*F5#2ɥk)xr{~eJA-s9U^\V:)?:)$B1UZ:?_զZB\ccJ1UuB1/I9]em91 (A9A1Z9%seJbB‚FvFU f/Wp %ɋ&k{y{b --gsgp```&? & GhxppOfbr[^(!?Zork%k큩ZWJs U`֦U닪UUW+BfUWU\FFfFfFfFfGRd{1Z%4@\JFUUVTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfefU5UX!%5 -EBVXXB Z1b]UT:!/1!9!CB)+>b1cB;k2UV^x9)"j91"9d)h1$!b9-55(sb?-%JkfV\Xbȃ ɋR~G{*%'sZCͤZU_s{ZPp`Ff UUjgxj&}H:Uń)pzZ oER_U&J{7y֩R;XYKc 嵵g)Vnx&!FUUTTFfFfFfFfFf%Jf%5cc)PFJUU90(Ȁ4pp`OFV\XPFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFCf=5]3{s1VTT\$B1B)\x9!.ߢ)1hYiDJ)7UZ#Bb:z"R1vX$B1{B1Z9$!  EJ95 ;H{$B+]jEJ_]EJ`Gs^Pp`k)&k$J''sDBxbDJ bdJ.&+[Gpp&_{F  (s9jʪZFUUV\Ƀf {'JH{Z}sB^b.gR ~_UZUk\UKkbN^^V\FfFfFfFfFffFke%} ["nZ5UZ Y`֦^~FUUU\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff@@f2)}k:^TWWR9XeB)T:!Rpʉ9!>:)HcB-b$J(k9^{`B)B!`p*9\$JfUUEJf%/eR$B,ZD:/nzR`UW^ZUUZ&Zfj*R+ Zg2hx:gpZzsg c .@HsBx'Bf\^[F(JFg{'!ߪ*Z~WXgBG : 'Ji s b1 Z%J/b5ո1_ SUUoUU_pF))FfFffF)[f UUfs&:`b %%%fXp@F%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF"յ%%[`X~J1Pا#:1B/I:)׵eR)UkcDB1wT:)7ZCBד?bB?^:j:ps^DB1yz\9UUU1f pWd)FVUW$BFR9RDJ+ ՅRp*EJU(J^be!׿J^xp:%Wc(fs&ZpPZe fR`@@gsU[b*BF{Z4%prnn[jK(-'k"yzfR +'JsB++5Hs]UZ}Z_p:- *cfVT\WFfFfFfFfAF5UUd/})c_U}ks ܾz{FW^\^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&*w΅ C:s_M$B]_R!^_R)MM}dB1CB1) #:) c:ス=b$J7rVeR1p~~#B1Bc1B9%91% $B9UdJd!jfR1*")ZEJW+Z)^zzXeRBXRDJ >- JG V|[F UUzb!C*Z U^b Hs!j k@Z KkZr_yYZXXP`++h=]Us55( hC W'ke)@j) kd)*^BUZ˃esf\\\WFfFfFfFfFf&ꪪ$:f+UU:$}UfJU cUUVX1\\V1UU9bjWUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF%!yJPy}t:r^ZP2b!m:!dB)-DB)pc1;:b$J%DJ1{B1\^}9#)9)*9p9) /+(B9^%J1EJ1+R%J#/R1ظfRBz?R$JuGZDJ명RbceR,zZ& bFR\\jfR_r)h*Rh % cfRUZBnh!V"g UUU(K XUUUjK 5%($)j/ R%J$!`9fUW\isf#U cFWT\WFfFfFfFfFfFfFffFBf-UU̔/U2fxVWU!f5UUUF\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)fUUBCQ\B9[{B9 EJ1zfR9fRBERB ER9^ZBSZ$J)%ZeR\|`^Z%JʧZFR 5Z&JҊgRJ ۆFRUUU%FJGJF`XZFf  %H[5ը{b ԆZ94b&J_ZZ1UU{F!FUUU\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!F5% !h>ƣ=O)^WT\Ja׷7-J:uMb)A..71A71! +?)1&UZeR!rr1!B)- B99``1c! $B1U91 ;$J9_Bc)%J1)/fR$JzER$B* eZB**ER1heRAeRB. )+ZER ZFR-Z%JnFRUUVRFR!@`Ikp*cfWV\_Fff%Z U R, eR퉭էX.Ƀ%JIsb%8b%5МW\hhFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fh[My_e>)퍉㱜)^WJ!u$B!{1!U^2a!؛1a!=^\DB!/}#:!6U]1!~#:)%%CB9B1R)m91 B1Bc)֮ B1$B$)* /eRBdRJrrDRAeZA VZA{%J9Z9 -ZEJ Z%J* fRFJЋ9ZbFU_p&FꪧZ fRUU GJUUj's$*kZh %(k!Xkeת{!rBFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU!;ֵ5֧Jrps!U_J!խ$B2:!^~zP:2AR׿*!2)U) 2)-% :){1)<־Jzz9BB)9!7UB1b iB18)dR9//eRJeRJZJd)вJ!dZ$jEJ-ERA އR%J%ZfRu^UfR&؜$J{U'kA*ȃV^Z9fUUUTG!F-eM9FVUUTfF:f UUZ(s1E)W+PEW\bBFP_U]FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"Fյ n%5XRuW |!جRa!_DB!) dJ)Z){[!!)!51!늯1!:)":))F|b2e+J#1X 9dR *DR94<J9*ERAWB6$J9BBD)J9.eR9%J9))"%Jh%BfUUURu#// fXVW,E /UisF\VUUbfUͥUAFXUUU!FUU5&AF5UU&Jf6WUURFUU(kFUUf}Uf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf- ))($s!=5ֵJbJk2[^J1J1-ow(c))k)h`x|)a2!1!#!)UU1!#B!:!XJ1KUU#B)ϫ:)~ZB!9jBbZB)$J90DR1(bB1+A(AD! A(&<Bd1 ꚰERBTUU$Jd)(,(zeRfpppWFff&fuUUGsfUU55 FU{pPG)FUUUf)FUbFUZfUUkyZFUWxfFfFFfFf9FU]yMFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FUUUsf+uU!9%j[!%9!kP^_i[)UR^R)sDB1iTJ!Z)x^\T)/2!j˯2!}B:!}2)Pݟ:! :)®_^!2jjXX:1%:b!\B)%A1B1J1+_J1*9/$J9z_9C! B1*&B1`$J1*:`XVFFfFfFfkf%%UUF\VUUfgs@@@{fTTVZ-ZdR(seRy}_b%JK)ZfUfRf]{PPbFU}IiFfZ%%fb %fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff@@!f` fUUբ:%+s)5reBWXPjk _eB!7?=%DB!XzwW$Ba/1!x{Zw!b*)!)!׿2!}C:)X:1YX1!2!1)*x:)/1b)/91%T9b)߿9#! -B1a#J1jBc1Bc):B1A@`E!F\WUUFfFfFfFfFfFf&*&dRf Z$JئZ%J;ubB**)bERZp``FFfEcF%IseR|skZfW\` FUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF% FXVWW!f s)5խ|!WWgB!_V1aWV1A')A}y1!cs_)B룫c:!)!*!+p"2! +J*kc]2!c^B:!1CB:x1&61 9b!z9B! _9c)} BDJc)DJ1 !B1$J99fpX\VFfFfFfFfFfFfFfFffFCRf'5dRJsaDR9ZJ/զZJeZDJDBfWVx&$Bf5% bDJ jEJ~RFVd)FUWVXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFBfaaSgFbJca_ե |!ZXJ!]UU"!!!*߂)A_)!T޿"*! ?:){xx`*!^PB!WU%B2!"2!==2!}x":!b2rU:^{[9-1b!W9)B1{u$B1c9#!`CR1#J9$JC)hj`FVWUUFfFfFfFfFfFfFfFfFU}qZ!FdR9ںCJAVCJ9.dRABoeR#J཭DJ!8$Bf\#B ZB//beRkZZ1`𠢤R^Fc) FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&f#fRR^UFfa -|19c"xx\V!"ǁ!"T! !B)AXV:!/B)B!rcB*_h)!"2!-Z^CB!U2!#B!:1%B1 $B1(DJ1Vދ;B1UԢ19dB1B)"A1 DJ9B@``fFFfFfFfFfFfFfFfFfFBfՕ%dRB_#JA0vVDRBeR#JeRCJDR:zCB:zdJ9DJBUZCJݦZDR?7kzDJ1lx`)^Xc!fUUWpfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF!- sfB}UJ"!T\Wb!!⺪B2a!%*A!AzO$:!W]]Pb:!55B)BB2(/J!rpX\2!/{)**!dB!u:!׵-$B1;PDJ9$B)'$B)(xW1br9 #B19)j,9"!"B1=* A@1FUUfFFfFfFfFfFfFfFfFffCJ`#Jf 5$J9DJ9)dR$B dRDJPdR#:brR)`:)B)R1-RAZDJ9(DJ1Wj:b1e*162FUbpFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBFՕ%cbUUR! Z$JAU9A)A*aw]!aJ!yuoa)a%%cB!"B!&b:p)%!2jC:!U_/#:!wuVT:! CB!$B)k97*1)‰:)W%m1 %9)91|G91p]U[B)B19!@FFfFfFfFfFfFfFfFfF&f#BUVTX#J1zDJBI -dRBdJ#BzOdR:jj:)*9)b9)/~߫CJ9YYdR) eZ#B}-DJa!:)n"1UU%!:"7視!((()FFUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF[ aF5 [% :makZ91ui#B)_}{1!)a~)a_}J!a)!)!TC:!z_5:!W#:)* 2!?{2!1!gV)$5:)ABb!zXW)a!_1"~)e 9)-/:)KOx9!)91]1#BZiB9֖#:fWV\\FUUUpFfFfFfFfFfFfFff^WU]fDJf%5DJ9#J1|zCJ1)dJ9CJ9#B9l8#B)x#B)=#B)B1kV?CJ9{c\:a!`^߮"B!/2e`pXCBa"2! C:!kɡ!fVX`fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!F - f&m#B1j#BB!~ ) 1!Bbz1 6":B!*1ah1A^)A)bCB!}":!׭'>#fWWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFAf !B{J!=FBs)UWW$B)}5:!_)!<*s!%)eR)'u%eR!\^)!}QC:!+-5BC: භBC:` B"2V\Ba"2B2b@@`)B"#Ҝ2B^pa!+*:!QV:!'2!p#:!1!Vn#:! 2)`PCB1]U91'9) :1x91*:Vp`GFfFfFfFf1f)U$!FP^WW#Bf5%#B1^z#B1k9#! B9)9)7;{11(P)9 CB1 mu9B!1eܸ 1b!#:a!1a)AUs)b2!U}+)A."2`)fF FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfGAXXXX!!~W)?gB5m9||__:)w9!z|xZ!aU*Hca!5N)%c9}A)Ac:!=-%Jc:=;Fc:׵J:JB2^z`J*z5J!_)2a뢣!)BV_V)"7#:!r{u}2!*!{2a.'1b!1)! 1!":)/ 1)91??#B1^_W1^1fUU\pFUUUF FUUUfFFfFUUU:F #B1pW#B1'#B){:"!jk1 *)+9)'U9)^_^1A! :)b1B!B!1`j*1)]1)S)a`1a/?a2 %1A_.)F\VWU2 !fvVTTFfG/FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!F )wF  )9%}_fJb!T$B!/:a!wW!B"ܷJaMi}ys15S :~V1a!֔B)- B:*JB+=%JB.(&[Jk¢R2h@c:!k}B2!zr)C#:!))"V1B٫"2!*!w52!)#6)b!)!9!1)]z1) 91_]_9B!'.9D)B %!9XUUUA:_&"fWTTTfF95 #B)B)#Ba!+B1Zܟ:B!71)1b!~.(1b)Z :B!:)Uʡ)+xx).1" )!*>)!l\\X1a9ai_ߡ)BfF)f - %!f\f* a!F .)fU€FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfAf%%5N F ' [b'%Jb!]]9ADJ!CT)"ZZA)c)WZ\ ADB!ܾJ:-%S:'cBUU[J;&[J+:[Jz[B2vXJ!ZJ!U_J)u_p)B:ZXXb:! B!յ!c:)Z^K!ux_2>1b^{z!E()C.2!=1!1)1) 91巗_1a)j91UV\Y#B1=Wd2fVVVTF1F -5$B19)rP2:c!:)~{1)h9B!0:B!. )"B)ﷷ1)(, 1!~:b!_/B:b)/1!)AB)A͏B!jZbB)Fb`&f*F%%5!2)x 27**2bp+)e.(D!fUVwMFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"FMjVB:!\!A5Z)%UURb!\U}1a\V1B8IZ)X[syEJ)2aJa!. &cB/gsJUݿ Hs&c{[յ:&[UGkJgkJ^Gkc:ޞ(FcC:^xFcC2`:!x^ՃB)J_"2 pX) 2)k1b!ry~t)ȋ5/)B *2!|\~u)UUU) 1)/9){{1)"9)1)`^f) fFF#!@ :b!k:#!vbb:b!+9)9)Ю9)W66:)߿:1 :)9!U1a!{Z1a!?1! ~)A,!Bj)"-)F(pF)% Ffd!FB:!^UBB)S":)7)2j%%":!r*MG<"2fU_sbFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&f&ɃBFVp:EB~W!)BH9b!ؔ%1!r|1A^BAMmR1RZVW%Bb! gk)%5[5-gs} HsW]hsU gkzɃRzsc's%[bp&[JVx&["2x^J)Վh_a:bj"*, 1W^`x) ;+1aꈈ1!^)!a72!)!X1a)B 1b!1)++?1a)X1)*1)ZxJ!]I":_pjFSyUW":E #B1H\:#!1!C1! 9!.:)9!:b!b!iCH1A׵-)A\)A:_)2 W!F^UUFRUUUFfFfFB2#bB)S[__1"$,":!-(BB"*+>2@d!FUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU5)!7W!C"2"p:aW%9!)b)m9A`!Acè"$B:Bb!9)i|lc:)Gc˓gk7ʋ\4 <. p; hs^b{'k֕k{&cpX^WkR_R!pB)UW J)), 1Zx"2!_jJ)2&*:!_1!s^9!_w1"~1)" 1B.X1B-%1)1)*9)1j@Je^# fWVTU)f%=:)ݷ:)51!j1!+b1a!2a!}1a!p:!%V)#XȠb!A!A #!f`X!F`WUU)FU)fU`:fUW)FUUVTFfFU!*f.'%B:)":1( B:e W!2e%!FUW"2f,U2fTVUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!G% !"h#:b?b:aX^Wu:!կk)y b)`w#:a!|c!a0 ~2!dJ)Syu}Gk1յ%%{J &cpɩʋGk // Hs pp gs,`ɃGki]{[sZGcJSJJ*pB!B2B2)ݐB2b)`Jl:)):!w1!{)A가)bү.1!ؾy)!v)Bz__6)B+1!뭯1!1):)￯9Fx9FUUW\9d. #:1u:!*1aj2B!)bp)1! )1A=)"!a6!FTWWWFfeGBF UUU!FUUUFFfFfA2f% %":Fp\A:fWUUG?B:F w_FTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FU5"#**B2!"\RzWQBA95))(s`Z&)^^|CB!j1a#:!V]$B![_1%[```@{&[= Gc sGs" i{شꋈs|{GkzhsFcrBHkSU'cS\jU[JJBB!7*B*\xpB:/:)fKj1B1B~)B/U!B .sa!Bg1A)a)B+w)")b)1)%1)jhZ9)9)~9EX":b!ࠪ:)~)X1a/1!⫠)80 1!ݷC:!W1bz"/:A %=2b\`!"kCFWVT)F-"b}!FW\XpFfFfFfFf)F5UUUD!fTUUUFfFfGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&f!F "*?zc:A[sER!Y=h{)"{J + (sﻃDBxc1{ZXh1 BB)U-dB!_KGsb!=-+{u+Ƀ +{h|~ Zʃc)/ gkz{Gk jh{F[negkB^&[JWSB^]JB_}eB!xB*㱡B:* B1b2B! 1a!^ܸ)@ )!"B4"!b!BJCBaU7:!x1!1)!:)1!1! :)1!:!^{[r2a!ޢ2!V2#CB!2!n7"2!7%w)6#:-U!fzpXT*F% *>ʠ#:!TXUU!FpX\\FfFfF5FfGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf"f5B Ba{px1A=-H{a)5--Z-'[_޴+hskzWhsRp`p[!\X^V)AZ)%Z!cWW{)55KɃ%)5{Z ʋk Oxh+{r#שHsͲxʃ&cUgk[`GkBXr&cJJ"2KBKBU^^B":`c:d"$ B":k㠣:)x1!z~2!j)# *)Bjk!"Ra!Bo)A7!#21տ)!br))! 1!>)B@`2)":!2!ZXz!2C!)!*)C."2!).)1!C:^*FV'b2!ݬW*!w=*FW!2FַfFFfF$`fF!*$gFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FU5B7/JXBaX^U!սB5>* Zh{Zh{c/zڷsb:2!vtt)B'k)- J)TVWW{)=' k{+ ) *lRZʋ'c(驃isȪ{hsrzwHkc./Gk[,.&cJ`RJIR:xꪯJc:jKB/Jb:J:_U_$S:rb:)x⫣1!0 !2)}u!2ުB)h)B_)A/訂!f'7)!b)![s"2!Uuj*!{2/2!1!շ71!?'":)"2!!2!x":!ݻ2!!2B:/.7"2F ',b:r!#@!* *!^>"*!}gy"*!A2cCoFUUU9FUUW\fF2FUU]r!*& !*#uʋGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)FUU5 *e*B!xC:a\WUj!U- ib9 h{m}ʃZWgk)`^Z)(7'cB:B:!|X1!'dJ)yIdJ)Uݚ¨{1  Gc *RbX{dJ:ʋis_^+Zhs'cW^X\'kRGkSrjSBX\xKB ES:jnB"2 %BB뾻B:pBB2hx"2){! C))jj2!1!뿮)b! `)Bj *()! 2!2!e_62!Xb:!-?"2!"2!{ʊ2!B:![2! *! 2ah)Z~&*"**!Wv"2!*)jnKJBb2"/b2*mr*!XxB2!-*FXXC:XUSժzb:FX\XP!*F 5!`XFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)FUUU!f% J5%B2 ba!Uս-(sA iER.zHs9_(sdJzWWR1WPb:`Z) ZC:ܴUeJ!խ [a)Z1ez(s:s{1V^ʃ#B ɃZb-'cVoɃ%2"hs[HkZ&cR{&[JxZXJBJB sJ: RBWJ:뻪/Jb:~:Jjb:&A:B1a)" +()B1!!2z)B*2!1!ַ)!*&&"2!$Z"2!B:!߿bJ*?}R*xUUB:!"2!\2!}C:!յ5)!6_)!jn)!u[!a8:!}5:!*\TTVb2!}B!*m"2!k*!7 is KhsրVK{+r^UK{UK{WWʃHk⠪hs&cGkJ\~V%[J+[J~JB|KBYuB:#J: B:jB"2`U"2(cB*U5B:))@!F\WUfF*FUU%CFUU^\FfG!f *!k{{)()+)zA2b-*"**!*b B2!*! .:!-:!:*|Xb2*mA*!b!*!64!*x!*BK!Fp\WA2f5%:*tWuU!\XFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF5%% !!{/R!-=Z)WW (sB}ͮά9/s({/-kʋbo≃k FkHsDB``@pZ9 jBuUW{$JiHseRұ{dJPxc9cs]Z1yݻ(k955Gk)a+hs/ʃk`੃Hs""]ꋈs*{Gk^vhs[XXZB[J +[RZSJT}JCJBJ:?Bb:PB**$,"2!*.B2)`Xh)f`PTfUU]\"*FUU5A2fCbFUUU\Ff&f!F 57!*!^pp!a".)*cB!U_kA2!***!U_"2"*!B*){B*:"2‚b2*pB2!˿A*)a2!B2!a2bbfVx~U*F *c*fXX\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUU5a bb!U5H{9IcHsDJ8"jeRjckB%8b /-ʋR\ʓb7ʋ(sGk_-dJZb:+rB?{fZ*<eR{ۿ+hs:WR9&eR9@?B}5 $BjbR{R.bٲ?ꋈ{^xX{ZGk[_'cR磌'k[?}[J%SJk]WRBBB&J:B"2ppc:J*(b:)ИLb:!()"2@fB2XUUUfb2UUa2C "*!@rf*%U!*fU/*a:*b2bp*!Y!2!B:a2pZ!*$)B2!߫ /:*:*B*׮[B2տBb2zjzhb2*/w!*i!*!*b2*B2!\*epZ^Ff)F %@2!!F\\TWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB2FUU%!f Aa5Za!u_b1[({9 (seR8`i9/ I{=;~b I{ܯZP+R +bxpi{RWx (k$JʋZ9+ c{Jx`fR9j/75eR#!%J-/*ժ+B\hs HsgsTv{&c` Gk[ުGk[jGkZz|[JXzڲRJjPRBkjJc:+-Bc:Bb:~Bc:ɉB!K€b2"2!*B2!A2!*! B2!뫿"2*W2!**`W"*a*fpU"FU !!FWW* "2*}]k^*/.A2!:*"Bb:B*"B):!,4B2*ku*!?B2!*wA2"!*dpF\^WUFffUUU) UUGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!f 1!q9;:1a!}‚#B!_ bAkJ+;0 ER>I{ (s{ʋsT i{ʋj^+I{% sBbFc fZ|h`0b)`%[p6s#:_Z1|jBeR+-%ͬslB\||\ Z) h{؈{C:x{Z* ɃGkVVz[hs'k{'k[^^^&cJڐRJXؠSBjk^SByZX\J:RzȤB:TJ:/*JB`B"2BB2UWW:"b2* B2)wB2*w:)/o*fuUF55ub2 b2fW\!fUUUTcF UU!fWUUs!f 5U*!&*!b2*}UuB2!../BB2BB2\k{b2)xWW"2C2B2!,"*!`rb2!B2c!Fx\VUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF:-- #B)DRh1^^^^Z9#몋bUULER檋UUյH{u+(s^\i{ʋcxʋZ'kpꢊ&c o[ ʋ:{RZ\}]Z:_w{DJ]]δZ]}'j-͉{.EJܜ<.{h{X`ɃJxzc1-hs&cqGkc&cEB@&[: &[JRJ РR:SBjpxB:z{B:դBc:(:Jc:^XPcBb:p:!* BA*B!*_:B*UWVb:@`)F]_\Tb:fUսb:! b:)**B2f\X\PFfBfm:fUWB$B!~BAS:*B*{{Z\*!^jB2!/55:)^*"*a2!a2f```pfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffU5%Bf{khoɷB FRTT^sfZ sfZ ibˎieRʉbªfZsfZ/.jਨhRfW6>Bf]\\\fFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU}IB )^ߖ&c%'Z9^`IH{boI{jʓj+;s'({_oijpVUWjfR߸ȃeV\z's!B2f\VWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF}U!$u)) .ާbxWsbnOsb-izIZ>?=r.ʓsKc{({bʉZXWbpVR`UUUfUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFBf5) S"UU"qB:jФI({b_멋fZ?%RX Z jxtsZjr]Z@@&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBF5J"U lcB-2A^,jR7'{bkɃb5_ojsiZ^ukeRbfpX\WFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG?!f (* #\\VWFfFfFfFffFFU SUW&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf*=59* 5)YZZ`n9j`@F^^V\FfFfFfFffFcJ)U狄!zWZE⠀%!FUUVTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&5zh:58 [UHk92VT\XFfFfFfFfFfFUZUU$Bf_UUGFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&F5UUPUk)WC!_9Xp&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%UUU)fR{)fXUUUE!FUUU!fyUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEg!9FUUUF܆Fi1FUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf FUU1FWTUokFUU{f UUU/kfTUUU%j1F\uUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUu%%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFQfUcZfU]q^RfUU]fv1FUUU9FUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff55KFVTVWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFsfU5uZFU-4U կ Mk g^zНUFVX[UFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFIuUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF_FfFfFfFfFfFfFfFfFfvfUUUVU]XW% XkR+ (Qxxf`F RfAIUUfFFfFfFfFfFfFffFmJF\Z]}FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FUUfFFfFfFfFfFfFfFfFff}UŬZ_=%yӜxr4@`QfXUUUFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&*սFUUFUU^X{FUƫZ #*p^%7g`XVUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFftfUUֽFW~c(5\\V`Yx^^[Ӝ/RFVWWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfF@ֽUUf ƒ@@\_ULJ6" ޵jꁡx4xxֽZBUӜF\VUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfU5%y& )!}ʂZFUUU"lJFUUU.sFUUUTFfFf%jfF%UWI1 ƒ^ >4 y׵f`XVWfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&ꪪֵ 畭W['zryQ(`x"FUWXrf&듔f3X·WX@1& x{\x[_ő' S .7ΌR`kFTTWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUm:f]QfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfLJFUU%U1|_Z%*/(/xxW(!bֽ7Ϊ1s"ֲܶ\c}/늂Ʋp\~4F`pPPFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%jMBFUUVJfUTUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF<%7&?9 k --X^^mc` 搜xx{*O-zꕽP>&=򤥩0ս+x^tQYTFX\TWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf0[FUUImFS|RFZXUq[FTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf겜FUUU5FU5 8f}(׭u UZf l5Ҝ( -T@) +xֽXTuֽ^Z^xw2ʂw3">_3hbӜFpXVfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff8fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfxfUU%އU/osY34- #XӔ{8Uox {-7Δ774WֵP ֕vP_~~ս*&7u_c|ZXΧb\T&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfXF5ֽZyT~\\Pzb|C{o޲S8% `p STpﴽOZֽPUߙ/yVTXQ U|VUX0R'F %FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRFUUUXI)-T/ix4^^`unc`7Q sќ.* sqh`PҤ S`MszU{{UQ W׵Qp_%3{_^Xzk//SZ'%Ҝ `@&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff% TvX"xӔpppuYuQ*jt訫S ( S0Rp$X% /Ŕrxz`\tjscゼ{s|^uҜs|mc2NcWN[|FWVTVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF7-//t骫xֽibjj5r5vӔ;"4Q.-.սZUt=/_t77tPkVURQk:` S7XVs-[hyy{ So-0 *UN[) kFV\XPFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfuFUU%5Q/tVkxֽ /XΖ@jUV궭Ԕ+ -qTҔ-*3*bt$& 3ҜZoSP tp3Q\Px^N[sM[X^{k:nc-[ްM[ncZic SXV_-[BXsfPPPZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFE% \TX ޵X`(4`vz*55pz^uÊ{U]3xPsz3PTCbkQ*kp~tMcW^Ms SKtRkN[߿+kJ`ZBWU%{ck&UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF %ֽ'}8z y4|~51|(Z]5PZ򖭳4кu^q*zSc3~xxq{+QMchX ,c틂tcsc7N[U {BVW,TB rocXQ|9BFLBfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfxf%5U^u `ֽ`p^^UQ_Ӕ{s|1|* *U>& -4^|"UҜ t3>Z1|`qkWs**rkjtk\*kR|*jrs s? Wֽ1|pWuQ SQ *XS)WҔU^kfUUzFUUFUUFU_p@fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUU5/;ΑvQr\64|P\ԑkkz|s/]Qsӌ1|5''u )uQ|(3r ߷ֽ/ ֽsz~zXrR*UM[R|ocZeR sbS bӜl2[ Ӕ0Ӝk ^QN[ \psrkh-[%)@6&U(6ކUW!FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%% -՞\T{yqۣU|b|k޸s|Wmk~eM0k-[rnc R|-vs_R|Tk%ֽҜ^kzXclBRRr/SKy k"*U+2hz)^*rL2-1|J6+R: Z\zR_.S s}1|W7U (׵ҜzrsU S"]UUUcVާTX`FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF1@@8ƳӔW\jQוsxk^PkBrMc;:Ԍs/2tV-}kk4qX5Ҝ猪u0|/ tpPXTs̓[5UUӔ_:ೌ.SXX^^k鳌nc~1|cUcoӔB4|Wk1|%%}/ t yt/{t^ts}l`FVX f%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%j*ֵ Upv01|jþ|TR|k@ʊԌoc2kZԄcW/ kkb~xsᩯő0ֶbp `c% U/׵~T [^(-[Ƀ(4|>*u1|{p\r Sk#qs{?/s׵-4*Xt?-XսW/-wc`1C-H)`*T&UW\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF+B@OkTVUU׵u-UzxUӔS|xl)l^^/VBXPc> 'WӔXų5/Xt5ֽU\z~0q-+u"4 {ZҜ|=Tq}T0Ma*nc U|}rV|%%:;4עXuW~TӔ ֽt"%} 755Wx{-:}&泌&\PppFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFՕ5׵z4h׵ԔU^_Ԍ =MS| aԌl{v/S+ .]U9\ֵRY,.TXW֔ )#x+Wn4Xս_ε3`x83%MIU{범0~T W5޵++汜wekWWw [8*vcWT+tt`S/-w .p[R*{X_W^6&```fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff55%wuXx~r(^~ 2tkkxXs|cxjOC1/]6s-Ԕ,7Ş)Xŋ7/ 7X*{WVܨ3XҜKb~Wq{#k{tQ+?Ҝ*:/bz{ 6s޵xt_/7S5(XΔx^3zt-킔x``, Sx`*t6{:*&WVppFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfAFUUU7& UֵxZUUU`xX2t^"RR8pkWֽt7 ֽ ս 7ս x7ﯿ՘޶zYuUx__3PѤPzp{|TQ5pT--ƔܜXδCs xt_tXŔy ֽXZc -S*pW0Kufx\TTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?FfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF57wjT\ӔuUӔxzzӌR|\uRj~ :^ﯨu*1|. ŕ}Ŕzֽ.'757 U7Ō}ŕs`mu^jѤpzzxq|q1|R*//󜲔9Sֽ*(VƔj@ŔŔ_^ƵWWεյ/+7]zXpֽ*YƵ +tP.6γ#HMsFVTVUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF55UxT \r .44~\5x^UJn|j):8 핵/[z Ӕ սu뫭tzxx%-ŕ ŕz__4uUV4Ҝ򤰜>Ѥp/Ѥpꨑ1|~z蒌Qq/Ӝ4Ҝ=ֽ3"XSWt / 7_X`սڨ7ŕX{ŕpXt-ՕսyWxεؾӔlRFWTVVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf !FUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&fU_FU_fUU_PFffFFZFUUF~u  Jzus5c-+TS" Tc 4/T^4zT󜠨_t* TUT_UTӔpp*X򤐜򤐜튱QXx`QUWQҜT󜵥--** ֽSXε_3z7t>5- xS%77Ε^t5z`Pryt++jFNsFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&5-{V{Z:`ʪfUW-kFUZ 8A֯{_Pֵpk *ս t3qt rz T.T T]c ``{3Òt4qjU󜑔~󜲔* 4ӔҜjzzҜѤ"+ѤѤ񤑔W2t//t-+ x-y7X.?xZ UU޴ 67W֯ m7\U7~ʯB5XUUU%5%UUZFUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfFfFӜ!) vZ֒߮WѬ!xֽ|^Z׵Ӕr(4s 4Ҝܚt/ 3 3UT(^_Tֽ4??ֽhֽ󜉏0pxq˯󜑔_Ww󜑔󜲔 4󜯪V`Ҝq*NQUUZTѤ߱ѤѤ /3=--ʹ-//7hjj7δ`Wֵ?ߞZw޴Š'w wֵ`7T oyŒ* 7Ws-0`pRFTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!FU}J)FTUUUFfFf)!?KJ Iꮀ;WΩ`]7^U7JUX᫂U 4Tֽtx~3^3򤾩(Ҝ kӜ//UWTqooҜa򤲔 Ҝ?++44jx󜑔xҜPJҜq9}^Ѥ+)Ѥ*򤰜ќS -5S-=6ͽU]y7 XZBsw;Uw֨UVhjrNcZZQL2{sFpXVWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&i1FyWTUFfFfFfuF5%%%汜 XΕxx7ƕ-XƯUXz^ֽ{JTtzxTzҜ/)Ҝ`r򤲔3Qޗ?4ҜUq*jUS*tUT]zT󜪯4xx~򤐜|wv缾p ѤU ѤꢀѤќѤќѤ-սshxƵ^U  U5޴łsj@T9P3sr T{WFxXAFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:FUUU&FFfFfFfFfFfFfFfFfFfFfFfFf'F%%UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf4f%55<^Xt(* xrxt^_4u)8ֽֽƕ~׽t4~zT{TҜhҜWҜu}+ֽҜT^Rt3,,S]TT_TUzTp`{Ѥpߞ򤰜}ѤѤ򜠪Ѥt`hjX𵽱+սt Cս_q4--ŵ ͕Ҝ`X/CKB3kAjꭃF\UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfkRUU#BUbDw*fUW`*fUUU\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&5% ֑;畵 ~xxu^Xu5+ƶ7ֽ_}ֽ"/ [ *%ֽUfv4ު\~TҜ_T/ 3਼T +jeYŕtyt3t_~4ќx^^WѤ%򤐜7*񤱜uѤќ++-SU X_^xѤt88_4ֽNbj괽0*tRޫ{``XX!@h``f&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf{JնbUUU7,:c{xB! :^~jpfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪc %\ӌ-) ޾%* x^~8׵uu+/8ֽ/X~8սjpս; eֽtxTtn[SjY3 Δŵhtx_3t3_\z3`^^򤱜j`zѤp.Ѥpֱ*TUU%ќ 7t-+ ƭ-Xֽxz~CX8ƕ u688Z YV"8^huJ֔3 S+ՂspsbBbf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf0-B%4#:\WWVB)خk:fpx\^BfuGFfFfFfFfFfh!fUU5UIBfU_pUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF3@}R}xΠ]8x^պ8n_yΖz8ƕU邀83* ~83T*zҤ`X޿3/tw\2tիWʼntzh`追S3Ҝ򤑔P򤰜򤐔󤑔ׯ/3T=+"ŔU]ƕ+T xx~z/ -4 -ֽ"++8 8xYGzt*B-*޵%-\9Z^x31 A&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfs/Uk^Rc!-2R!WzF%fFFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFf) -﫭XU ޽\սzޕzzTUֽ>zVWt SѤ>Y*޵U-wޔUޔժWֵ@Ε.`jZ^SҜ 3^3ҜbPќUUѤ]pҜ6 r *T"*Gtr+* p XXZ{^\{ t +-T ֽ* 8UUW׭z=)U)v{ t jJ*WrFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&ffV"f*UU"FUF\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU w\z_xz_7Tz޵3oKk=/6tu 63W޴+; W*ztUwx`3z3{pzSҜ^0xxP뻻3׿*Tnj֜ӔjhTqӔQʠ3Ҝ U3/pxzZbS{կ*q ε*6 )׵oXտ y.*Yƕ-{o[`p4WVF [ZFr[UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF 7{^ XҜ)/XWƠ~U7εxUt\c3j* S]ws% w 6ս /+:*/{x|Zx ~6S^zxSx~WWݵ%3| t]++rbֽպֽ4X^WXT-.4󜴟fD4~zⱜs 'Ҝ/++յ/T%/6δŨ?+'XuEƫ yUiYpzjXx9WVxf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfH!FU}UfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&[f % ޔX7Δ xtWWսS_U(t3+Ŕ-)յ Ww޵+ ߋ+: U{ -`ŪzW63z^3z35/*t4 t"T(xֽh4Ӕ)24$TsbbP1w01 k-[*)6s ͵++WUx ]_ YUBΕFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff%5޵3_t_tҔxRW4:4 ޵߾ z֭ ZU Z]:::_+^Wz涵^Uxz{_uҔ^^^*Ҝ//t򤵯T-+ŵխս*7as7Εru{:< 4-c@@o[)>ҜS vt-:v浥- pxz-++|m7zKI<畵* y`@@pFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfj)FUUU|9vխ*5W_~Rk*V/ޖ5Z {  着:^Zޢޠz^_~׵z_5`‷UUV{WUz3+t35% t7εxΕ-/Xjx4W`׵$.u1|xxX1 Vx)B- U-V Z6ֽ--+[vܸ.tb^h@f@ FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFk@^ߏB *hx_ߒ语zX\_7z٥ /ָpz_W6^V|Z~|v?%%zU¯z*.9z Y׵~ֽu_ֽU߾ŕ*/V /-_v,&wsUWwt Zֽ#qls +|'WS [ֽ?-{U~xΕ_~n'֯k lJzv ;#ppXVfA FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfg U))uVF_UӜU { }ح 5ՄҸz1t..5=//zXY{PjYI}{8ƵŶսVů=ͫ>^62x3FX^{F4UUFU%5XΒZk*WuFfU FUUUI)FUUF UU|fxUU&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFf& F %ՄUح| `V|xw:57׵\%حzxx_*ؚƻzҚXƶzZֽֽ?/- ?j^oKcrb1fTVWUFffFH)SF\WUlJF\UUUF>FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF` إrhՄz ;JB)5Zhj{7pz -YV. !z3(, T\^^ֽp/ֽ(׽65-- w֔ܖ:1**`x&p^UFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff %UUEUFR)E U1Kt^WW|=%s`:,׵-ƕ.ֽWkKLt?Ԅh`~i!b`FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFf 5UUtE xQ^-[s Uyƅ (zսU7ƇxW6 ҔX>fXV`kUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF BFU^P|$*}{F>q{%(NkFxTTTi1FUUf&F5UpZUF FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFLJ*jq cFTVWUfFFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf FUU{FqXWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFUU!fUէBF_\fUW|FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfZfUUQUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff"`)fխ Bd:)!T jfUWVUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&bfU))-B! Bb)WB!bW !f@`X\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB*^W#*f%)A^(Bbbc)xWB!\_UUFrfTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!fUUUUfF!f5UU*bs!fpXF\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF#*ss^W!UU5"f\VUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfeFՕ5"pBfP\UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfdf%UUf\UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUU#*fUU]PFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfC*f5]UFPUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfI!FUUUMfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfUUUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB*fWWWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfh)fUUUfF!F]qUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:WWWWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF/FFfFfFfFfFfFfFfFfFfFfFfFffFfh)FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:WW^^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2^zzFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUU-fUUuMFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfb2^^zFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfs }%'!j-cFUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2GxFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfAFuUUZf%UU-cfTVUUFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:f^^WWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff"fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFc!fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf*fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfcfWWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF: ++#B)ڨDRh1^^\\Z9Ub LER檋- H{+(sԼi{ʋcXXXZʋZ'k&coe[ʋ:ꪪ{R]y}UZ:s{DJcδZ'j.͉{}@EJ.{h{`ɃJzbc1זhs&cGkc&cEB&[:&[JRJ R:|SB]]}B:VVB:U}WUBc:դJc:BBb::!* @BA*  B!*B*+"b:8)FVWUUb:fb:!b:)B2fppPPFfBf5% :fB$@B!BxASb}:.555B*\x{u*!B2!?:)~*"*a2!a2fpPX\fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&f2+)))dJ1WVxHRcqy&s)XXbOa!1YYXjB =RZά˓YʓXKi<Lsʓ(kWn(s( (sʋHsvlkڵ c^{x'kDBHsAzj LeRwTX`R+)--. m̬ V*0 Ƀ_ {j؈sDJ֜jgkȃFc\UkSXXFcR%[B [JSBZJ:êB:_WVV:b2(Bc:umuJ:ݣBB2Ph`Bb2:"2)oB1Jb:/uB@@@`FUUB2$B)j⺣BB2fCK^V/F:B J:gkBUյJFxTWEFTUUUfF_b2F5% b2!* b2!:!??-*2*\V^X"2"B:!*󫃏A2fT\XVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)F %DJ1pJH{Jqa/G{BŊZ)UW^X$B !i_?il({ZKi{[` (s8U5%yzx茬'kxzKFk)xꓧR{ . ʋpNi{ج{" Rgs)gs^\{&ckkgs[zs[Fc%[RT&cS}U[BSBJB_R:cr::VW{^:c:_]UdBc2B:}J:{:!20:2`B"2B#2PrB&pppp!FՕB*B"2> R"oo [ (JF\\\\BTTTT$[B{B&`pBFU BU:&:*j :!:B2"UBb2vIouB2"B2,cB"27UW!*fWVXPDFUU\ZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFEs DJ==ݨRԘ:)G{ )Z"+oꓥ9 ) O %) kj`h{}+r("i{v'k_6&I{+.9H- ϬIAppJ 7gsJtl{KNLhh<Ō#! ͌V Hs|x*Zx@{eR%Ƀhs~e {ZpGkR'" {&c낉{&[z뿂hsSUZ`&[:"R:-(JBr`B:~V~:b2*Bb2~Bc2UB:B:?B"2:B2 0BB2B:*BfXX\\F%@B! Jb:Z::RB4JX8J[BJF^B%J2 BB2V:"*zb2A* b2!hb2!  B:"b:*b:!ˁA2fp!FZX^_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf{f%U&s) [<҈#Bzpb)ͭ59 /+ɭ=P lj/H{=ws?%z j(sm %5+pp``-E:PPdJܩ{DJWUB -is(N{k% hspp'k`k*dJ c郇s @`ʃFc7{Gk5HkTXs&c@j~hkRBb "hkJ_z[B⻴RB~WJ:;:::b2:b2.(*:b:. B:WUWBb2XڲBB2B:Bb:2:JFXXXXFBBb:-/?%R:.vc:[``J& JfX\BfUU*FU B2!*b2e `:B*b2A*':!*z~B2!z{b:*C:*-"2UUU%*fp\UfUUfX^UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf****EkE-=-ɓB₨b`jZ1\\i{B?7δZ"oʋ/ܭjzOERʹky/fbZ_ʹ(syj?6ʹ|XZ]LZ~*$Bppb$Bw k9B I{ kxz~ʃ:˥W 9%7(kꃈs˃Ec~꠩{Gc ʃHkXb{Hk^"Qs'k%hs[wx*HkB{{zhJ:uB:;onB:j齄Bb2ꮢBC2:B2J:UYUUB:B:xڤB:?Bb:tt BfXXXX&?b:BB2-ߤBb:Z-5[:J p^)fTUUUb2fU%B2$B2!B2*7{U2**u:!*]B!*{b:*%eA2)j"2Fp^-*f^b\FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfDc-=ɋA Gcމ9^Xxbˋ9᭵ EJ'/bZz"I{Zth+)s>lk>ҒjI{+y\h{_DBzeJ5}δ{U /(szh‚(s-jJh[9i{)ppis9 -ʃik*(˃hk˃Gc~*ʃ'c^ʃ[HkJj_[R(UW[JHRcäBc:&B:Jc:Bc:*#R:UUu7B:::z^R2BB2Bb2R:RFp`@c2f% Jb:׿*Bb2b:"*&'?:*~ B!*bcBB25KB:FV\\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF'k -j-7Lgcܩ1x:-=)ss}͉ߖp i{-b li{~zδj"9ՐH{ûeRxzʋDBO2j^~z⭴B ʹeJWܺc:tb:WR1߿s9%%%%hkMʃ&[sGk:s[Gcs)%GkJzRc:Jc:Jc:&[B{aUBc:؃BBVVZUB:B:B:Bb:Z~^:b2*Bb2s:b2]a2:VjBb2Bb2Bb2//J:J:suBB***jSb2{]:B2XVןB!**B2UjB2)x촃B*_ $BB2{ RB2J!a:fTVVWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf#BF%5ɓeR*Z,gk]h{9p Z͏ δj{ ʹibpI{({یj&I{{ri{9i{ER孴~: MZņbZ DB˅'s)~UDJ9Y Hs9U?/'k1%={Hk U{hks{Hk?{Gkz{gkrU_FcgkbZFcR_FcRKh[c:JBl`B:xpp`B:-J:B:z~~J:B:_޼Bb2Bb:y[^~Bb2߿:b2(*KK1`B,1 /=ժywTi%(δx{,j*,jU %Joui{%JO 9_/.pi!xMEJPpࢪ:6p`$Brz{]j{ 낉{B7-b9\z{c{Gchs{@PZ{hs~Xzcs&czxsFcsFc?gk[h:'cRy[B~B:`Bb::J*B:x說:BhjjBb2Bb2Bb:Wq]Bb27T_b2:Y:B2/ S:Y{P^:b2J:Ii[S:5B!*VWb2*zbB2!*b2*>B2*zB*BB2zWBB:``!FP\WWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfbf5UUʓR %KkrbLZJj{B-S ]sq({ͪrqjbiO(XToI{xVPs{ Zժ/i{0ʓ)'̧brxh뛆Zˋ1~~dJ)p ZA}{9B]/? hs>K{U]6 {U>( ,xKOs7,jVjGub"-:xz/݊; */r!L0:_~eJ)_B)?ɃDB .?=1[~6Kʃ] '+s~b*fkɃFkysFk {gkˮ/{Gk|~hs&cV&c[# &[Jx\\^JB^(JBϯX|J:J:B:mWxBB2-RB2 B:B:V'::B!*:B2С:B2:!2.":*ܖb2"2vb:!*A2"pB2!{{B*Aa:!⪪B2!ja2pA*BbRFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:F-UU}cF*i{$B;UeZ %Rok04>2mlp+Gﭴ˓7//Iz_sBb)?mJXxă1 pLx`Is 70劋PP2i{XZW^Z1[Zh,B-9XX\+eJ /니sxV\\郧sJjȃ&c^zhsR${&c)"{&cz\\gs&cnFkZ[Jxx~SJכJ:謣BB2 B"28]]_BA2b:*@pB"2'-:B*B:B:^'BA2zsszJB2 BB2[?#C:^b2*B2!*B2!*2*zb2*}2!:!*mcB!*{!*CPpb2FX\\VFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfJF5UUF)FpcUUGkF Ukc!*{$J Uʋ* S殴Uִl_TxH{,ixL)s Wb%/Ux\x fRpXXk .zˋEJ߾1/.b1s$B5cIk{Fk{X{FkW)sfkjkjsfki}GkEkXgs[`%[K_^SJ RBzJb2zxBB20*B!2B*~x~b:*#ϵBA*ZBA*ޣB2BA2zBB2RkϮB2"Ca2{r^V:A2]A2"** b2*ʂ:!*]ub:*y;BB2UW}_B2!*jb:A2QՕJZzFTWWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFPFf U #B ,/B5ںs 6/cL^~I{ b||hMEJzzr9׿5p{ +,~4b^i{ WOK訠 9XXp 9IbA!- {(k-닉{UɃgk/{fs`ʃFsի s_|sEkfs%c.gs%ckE[$K|E[JyRBJJBcJB:ףBB2b:*B*7J:]]kBb2bz:!(Bb2^Jb2o:b2$U:a2u2A2:a2W形:!*:!*kb:"+-+:!*:":b2:`b2`b!FVVT^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF_Fg)FSUVZZf5ʓEJpOJs ]δ-,yR˓uͼ_˓$Bʾ9|mEJ -0 /0˓~xxˋeRzȈZsYI{c,Ak@ kA!  Z'/ {ˁ c耩{&cɃFk-{&k^s%cxUfsEkbɅEkRh%[Bz$SBK":𼴾B*B"2xJB:/B!*^pSb2%?:K:jX\XB:^\B* %Jb2{բ:2:!*r{b2*ꮮ%:a2/:A2B`\b2*(ՂB!*+BA2uB!*^%BA2:B2\XhX:^!FZxxxFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF&F)FUi{EJjbRc T pʓO,Pͼb^LbWUxs$B\-$BWmR+I{~μk%δ˛⩩,Z  j+ ˋj{?.,mꋇs\ɃEcsFkp%{Fk_{Fs%cf{Ec[fsRpPbRBpp~ecBJb:WB*WJ*ՃB*.&[B:75%SB7."%SB^6Sb:~^\b:!**Jb2EBa2ߎʁ:B2~W]:!* `:!*~_B2!򐸣B*+/BB2b:*$S*B: :!z*# vfpXWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪɋ-i%5Sȃ<6+^xzpL_&5p rOc.H{~zieRւ,I:{k(s1 RU,k5Zk ,I{ nL Is i{蠉{Fkp<{Fk`Gsc%%h{FkZ{cg{%cSfkJ@`hSB⩺JB_kRBw(RB2 zB*W#J"2USBIeSBoSb:zB"2B2:@J2_B!*{B"2%:!*X^a2!z*B`XBA26Bb:!2BZZJB2xz:!2z}B2X"*pX_UFfFfFfFfFfFfFfFfFfFfFfFfFffF%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfHsf%jzsc+- P튨X`p /ͭY_bx fZzs$Bֻk1.&듆Rzn%μʓ/?m(kj,%J'L˓c`듪@ʋhs}hsuk誃k蠉gs[xɋFsw/[[%c" SBࠢJB:z^B!2zb:2򩻀B:*8J"2JB64JBbdT%cB2|_WB:B2GjhoB!*.B:%XB!*BB2aiwgb2*7'c:*շ. JB2[_b:*"B!2%=JB2pBB2hhzB2%@`f\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFI@*F\VUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF)FUUU*+Պ-2(\4n1˓Pͧμʓ筴bXeR+n*r~ĆR_ $J%5>(i{CbDRzp`,9+ ͼ~,X~뛪 ˓UU\˓i{Xxnh{㛚=ʓg{^bɋFswgsRpxhSB#,%SB_wأB)ޠB*B:)B)//ףBB2B::"2:*BA2pr:a2K BA2B"*ᠪ:A2m#9JB2b:*`b:*~ZR*]+BB2Jb:+5\Sb:]Jb2UB*bjb:*fA2%%%%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfJf5UUksFUUW2bG)FWVTOŦ ʹhs Bxx^zJb:> ?BBxxj(sDJ9==9I{Z`.){-= Z.CKi̴ʋV Khsxx{R_GkJ.&cR~fkR[Z^[JwR2B*}J*uCS"2ս #Sb2bʊJA*7B2\Pb:B_B2UUBKeUBfUUfc:UV`B*W!2& ܣB!2 JA2B``hfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF-7> ){xXpFWV\p! Ņ*+-RXzJ:TDJ2}jA+-='kZLe. b)). /͊xXzʹaa-ljPKZ .W Z sRzFkJ(gkZՁFkRޯ %[JиsB/'UkzJWUf"2UZKBA*sDS!/zW2" hX#F^\VWfFFfFfo!*UUF\UUUb:e %R!2b:!@..F:FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪQfU3'B‚`((ZFUUVTF1@@ &B쀂s:WW_xdJ"2ߗeR9) "HsER+)-?˓Hs;,ʃL˓omO({޺*(kpeJ|KZ)) K{Wcj{GkߟGkRx|[J:yBgxBfXVUUFfFfF`"*FUU*fUUB2F %UFTVUUFfFfFfFfFf f[ [B2B:f\Xp`fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF5UUL$-i\zJf&f%U d:xxpK"2^W~$J2 /55keR ʃb+"ʹʋͼ^Q 7__rb EJ訬{cIKꋬ{hszʃhsu}Zgk%[\xJK% eFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFf f[#*S"2BGp``fFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf,F5Ugb~xpF)FU_^TfF f%5%&ca*ނ:1T~b9-%HsDJli{-Wׯ2*ʢj@kէZh{直 ~pl{U_X{``&FfFfFfFfFfFfFfFfFfFfFfFfFfFfF& @J  SBjJD!ʀ&F1hXU_FUUWXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfIcFUՕpIZr`({fV\PpfF{f %U{" e[b2UW\\$J2bB=55 k ?+%Uͬpc3hgPʹjrj +b$/+lsp{@@f&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfB %cB]X]B& cfVTTT*,$Bpp``sC:c ʃB kfXX\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUU*G UG#gWUFg % RYF (#&'.$W][I)FImUUFZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfjf%UUU9FTUUUFfFf&KC:1V(s9Z =Mʓ (Hs X| $B@`s1%%={BֆcF\\\VFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFUg^xjU3f %8> fV\t% > u/W "FUUV\&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBf5UUCK2z}k#B5UJ'^˛c""μ,ulk|ʋeB.'&c*sb:JfTTTTFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?"CfUU K&Uf#KUUKfUKUWx(#fUU _) . xbFTWWTFՒ^_X^UgFUUF'2`FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?&C%J"2%.&cCB{R,{ *;lIsh|vdB/ -7[A*s[cJFVVT\FfFfFfFfFfFfFffF(FUSSUFfFfFfFfFUUUBS+J `XUc -~)PBf*K"*/SC"*L\:K U%;g}UVxLfUUUF\_UU%F>f 5]\XVWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFb2f% "2B hhRb2sFc:iK+ꓦZ:I{dJ|xJ!*{zS2CXp``FfFfFfFfFfFfFffFFFUUU-:FUU #CfUU2fUU^pFff`!F`WUUc2f=5U#& U-fb{UUFe"g Ղ: UJb2 Kcx#SFUzBFUUX&g[fUU&cfZ\UU&ffFf{UUUEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfF:B2 [:S:R: uGkBUHsR? ?5Hs1~zZb2UVPB@e!FUUUTFfFfFfFfFfFf2g5 S2]U:A2:!*V2gppX|FfFfFfFfFfFfFffFf UU:H wUUB %% $SB2UE[A2U/C^^%FUTTUcfUU*FUUWDSFUUBFUW:FUU_P&FfFfFfFfFfiFUUUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FfFfFfFfFUUa}FfFfFfFfFfFfBf 5UB2pJB2kxB*B25R"2ZWEcB2/gkB:*+-s":kc:UU:g\P`fFFfFfFfFfF' @@@H a:XXXX2*.:!"B2F@@!Fs]UUFfFfFfFfFffFFf&FfF5UUBF_UUFUUUFUUUfF&[F [JW=R*^|S2+B"Z` kWfc !FUUUBFUUcSFUU&?'Fr^UfFFuAafF!FUUUPFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFBF-UU:G SB2uJb:W^22B"2?s2U[2*/#:j:!K :fUUV\fFFffF%ggՕ5 2TTVU:A*a*:`KjjFFFfFfFfFfFfFF%UUFfFFfFffFUfFFfC2fUUBFUUBiUkE ׇs2/wJFUJf\UUfSUD:fTWUU!FUBFUUKf`_UU&?)fU\UUFfF_?UFUW\^'2F_UR_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:F%UU":f=U:%BB:UBB2_B"2[b:'%=GscBBB!*-'BDx:W\`2fUU+:jU:U2+ :A*^:A*e;:?gRdz :UZfU^x|FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFe!FiU^\FfJfUUMufFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF:F 5"K!J"2=ޣJb2^B"2lUJ2닯RBnBb:@:"*^J2/-׃J pppXfTTVUFU fUUUFWTUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?7FFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF!X2F UUb2UUh2d)B JBTK:=K:߾. #K:#2\\TTfF&fFEFfFfFfFfFfFfFfFffFf&fFg1fUUUS&FfFfFFfFffFFfFfFfDF}a]UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFUUUf"*``D[* kBUU[CK[B_zz`:g\\\\FfFFfFfFfFfFfFfFfFfFf&ņU%,{rf(B@IfUZpp9FUU1FA}UU&JfUA]U)fU[UUFf&FUUUYFffFfF_%FU5}FWTUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf[F%UczSc %SB:~"gTTTVFfFfFfFfFfFfFfFffFFwB2GUUDK5 *JBBjhWUU7jU̴Jbx^fsc2k[fU\XZF%FUUUdFUUUXg)fUqUU&Bf5ՕJfZ^ b:FUBfU\T$Sf5-:fZXXXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF:F55[# *e[E*j((:fUUVTFfFfFfFfFfFfFfFfKfU% K*QR*W$S)sx'!*---|GsA*.-/ɓcBz( Ec:W\[%Z*c!닪R:p{:p:gUJ(dcc:}UC[b2U]Zb:c`J}*BfUUbFUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:f55UCyeS:%:F\p&FfFf&7&fFFf&fCf :S&USBSa#S`ਃ2FcBvwc:uUUCB2{K: D[BWD[C[K^DS:zKU ǃDc EkBB`fsa2uBA*esb:U{eVx:fUU_xFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FUUU:F-U:!b2fXB*fUUWx:fUU5 K% `B%BFWxFF[f5 cDSXecB^VWJ:jυb:! 6#K2w #K$72fk* #K!*CK:UbK:wD[BצsJ {#SW {JU{[ +|%kh.bB:p%c!*^_:*zXB2!U!B2 :*;U"2FV\`FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:*+UKUB #Ke!*@@BFp\UUFFA}U$K)Bࠪd:ڥ[BC*X\Kb2dJ)^гZ2|JB2ؗ#KB2 ">CS:XUC: C:DKBɿU$[2/Z׆{Bݽ{J/rզ{BU{b:*>5{XhpEkb:CR!*_Ab2!"2!A2*WW_B*=]UcfVXrFUUUTFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfF:F _USUCfWTUUFfBF %S:%'Hl)XzB)2!pz:! )Z!2-cb2ޠ#K:_VV\Cb2BBBXZ:U-"b:FsBUR*bpR"2WB*VwߢBB2ߙEkb:5Us2XWU:! }Ub2!Š*!B2!"2*U"2*%{/J"*B\JfUU^!FUUU;UխCU:U#*fUWz FUUWfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfF[f *l"2z^jKcB2Am:)/ :*"``b25Gs#2cK:|\xJ":_'RB:յ/*J[h*fkRz{b!* bB)c:*cZB)녭JB2魃B*~B:*/~1z#J)U% #B!xc:)^5c:!B2! bB*Wb:*`UB!U:!*/uB:!Vw_:!c}}u*B:! }2*UUBWx*:FUUWxfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFffFSF Jl*JB)koKB)&k!2սGk":%_K#:7"SBBuS"B ZJ*EcRUu' EcRxzk*X^W"2!?^xB2!W"2!K B)_rb:!B2)x#:!UcJ) j)^ r2UUJ"2Wtc:*B2*"2!*!_^*!?*!)X "2!յ%"2!2!ꪮ"2!.:)c-Ud[W BFUW\pFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFtfSB:`r~FcB:eks%[B:]?kJ|vJc:SB_$[B+EcR Ecc:WEcB WUR2\_}"2).z":!x|C:!55U#:!zCB)UC:!)!6*!CB)}]Z2+-(%ccBzcB:\\VB"2/ B*xB2!*!V)!7B2)U5})"*"2)"*)}2!"2)"2)`xx*b:`c:`@@fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFdcBҘ&c":RؖgkB'cb2[J7BZJ!2~RB2UUc:!2 c:"2UR"2) ":){X":!XC:!U.C:a2!"2)}4#:*WB2*RB25FsJ {cu+%k"2XWB"25:"2{{xb:*j{2!z)! "2)Z^U"2!B:*U2!ꪪ2!"2) "2)"2*HJ*Ͽfb FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF:h'lb-Zb:4gscB5Z2x`WJ*.WJB2 JB2 kb:!2WTx}b:) c:2_c:):)'^B2)(*)!2**)-2!-#:2xfv"2)B:!*JA2=fs:Ub:FkEs":+ c"2TVUC:"2bX"2)`X!2ZV*!2!"2!*"2)2*_*!("2*>"2)z2!ꪪb:)sCz⃋FcUUfF:&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfJF dB~[":Psc:{Z |C:M]B2B*ߪB*?>B!2TTV!2)B:*"2)vw"2!%"2!*úc:*B2!R*!^2<("2ת2!+خ#:*V*"2`b:*b:* *BjZ"2b_UU2BTB*2)\~)! 2! *R2[!2!ᆰ2!2!2!*)"2UV$2)2!+*":!>J*7uW"+GBb(sFW^xxfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFf:FUUU%d % c:>s":=+*R2WJ"2(BA2zz:2`|VU":*b:!2'B:*ꪾ"2)W*!B2!!2"2!"2^J!uuq2! ^2!U"2!-"2x"2! :)1*zc"2!"2!~2!":!/#:)WB2)~_]U2!bB!"2)ﯿ*)*!72!2!2!"*)cJ)5 ibB)pߕ${B25/E*xRfUW^XFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf$!fUUUqFFFfFfFfFfFfFfFfFfFfFψ:yϕ:u\V'k":5{b:Ub:!B:)%b:)"2!b2!*?":!"2!"2!.*!VW*W!))x2ҟU)! ꂡ!1~讫)B!.2!s)!)!"2!"2!W*!ﯯ)!~{)!)!U":!U*!{*!* "2!~)!)!VWz)!կ":!?R) Z"2A$B2/ WA: Ǔ_D\xpFUUWTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBF}-dBWWMu1fUUUfFFfFfFfFfFfFfFfFfcF555yS55q"2WVVb2zB*ׂ:)xꮿB:)/c:)b:)Wz"2!)!l~p)!U)*{*!W_)*!VU*)!b!b *z*)bz)b7*! *!غ2!*!)!x)!^^)!U)!{!))!^_U)!++)!"2!-"2)X(2!!2hb:)տ/BB"諸/bRB2m_ubZ"sZ^b*UUZ"(${B U]:\x :fUUd"fUUW% FUUUxfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF2&&FfFfFfFfFfFfFfFffFk΄J5 -BR*\`\"2) "2)"2)]"2!*/*w"2!_"2!5"2)Z\"2! *![<"*!*![*~p!a!!?P)݋)_*!ﭽU)!Zj)x)b )*!(!`!(%!! *!uշ)!{)Z*b*!ֺ* *!7 2!_2)WU2!zB:!/W_b:)]b:!*ks.B:"VB:"W"*!:*ՃJ** k#sB:W%Ba2ZTBa2U{BA2 Bx*B U*:fUW&fUUWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFff&kᣵR55%;dJVTVWdJ)XX|2+2!A2!꾮"2*]^W*!(!2/.*"2!xz*!":!_B2)biy_))(+)~~"2%"*!Օ=**!!z)7!**Bj**!(*!~!5)!WZ*!յ*!*!_ ":!>BB*BB! BB!*]B*cbB*VbB*J! a:!zz*$ )A2!녭":!1!"B*#RA2WUU:!*:Ba2:a2):a2˾:!*B!*-U_BE (FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFf)FU5W1OMqrZ1xB)c_{*!55!2!!2!)!*!* *!**!|n*!*!_*!w!2޺ "2!""2%2/!"2i` c:!"2!}!!_!>.!* x*BZ@Ba2!})!U}U!2"!2!.M":!"":)p\_"2! "2!`ZbJ"2UbJ!_"2)(uB:!B2!!2!!*)ꪪ*!*2"B2!b0 B2*':*~.:*k`B!*a:*b2)5B!* -B!*z:*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfIkFUUU tB:RUUR2\VVWC:)7/!C:**!z]_U!V!*!R_x)*!_*r2}8B2!WV"2!Uu!,./)"*![[*!W*."2!}*b_΢"2*!յ*bZ":!.UUB:!_U"2!S2!}}*z*!*!*!-*,'"2)W:!"2!":) *B!2r:*:*W*!B2!/b:*[zB*mb:*'B2*XmJB2}-B:!(B:!~xB*5UJ:p`jcB2UUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf fՊ%[wz[C:_oT:)"2)* 2^!!****!.*!TU}U!!b !z_"2!*ﭿ! * *!{*!W*!^_!!apj!b)! *!()"2~)U)*!]*!wb2!W-/:!UzzB:!UտB2!*B2! _B2!޿b2)!!2B2*=?:* Wb:*^`b:*Vb: &B*kp"2!/B:*U-b:"2kb:)@nU"2!::!/ B!*B*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!?wd)멣̬JWW^\&k#:U5R1UR\"2!"2."*!^WB2!*)!訪!!!!/)"*!տ^"!~)*!_]!((!! !!*!U*!WWU) !!=;**)!*!_~*!*!!2!*! *"2)WU*!_o!*jj"2*WUu)**) "**B2*%:)_UA2e&BB2IIb:*׵b:"2U5JB:U B)W*B! BB2JB2 UJB2FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfꪪ:F UUR1 >Z1~xh"2A:)Uzrj*!]"*!\_W*!V*)!!*!W_*-*!꾿! !!!..!(!*)/*!_/X*!|! !)/*!U)~)!**!..)!*!2!*!_)!**!!*)B2*UB2!յB*?B*pB*Bb:õJB:! 7Jb:B B2!b:!+%-B:!*cBB2pFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfLF%5#BWV|pbAx$J!Vb:!j_"*!U*!W)!B2!UU_')!!!!V!!!w_*)*!_)=*!iZW*!_u*!}UU!!*/ !!*!!2*!))!*!%) *![~`B2!} b:!B2!kz*!_b:!B"2Bb:[8BB2Z BB: JB: ?Jb:wWxb:)TB2UB2_c:"2bUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF 5b$J\Pb)^Zp`b:!_z)!Wַ:!_}ˢ*!}"2!/*)ꪪ*!UU:)!UW!!~)!b)_!!^*!})z)2! !!UVj!" 2߿_2~_**!]UB:!Zk!.***!zZU*!}b:!W^|Z)!U)!_*!*!:*UBB27:B!p@:!U?B!/ K:cJ:?*Jb:ؚ~BBBآcJb:𿷃Jb:?RB:RB:R1UUR)FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF5UpfZWTX[b9h* dJ!C:)^SB2!"*!U*!߿!*)!)!_W_W!)"*!UW_5*!WB2!u7"*!*!_1!UWկ)B:*!nUu)CB!U]c)!!*?!!/! ((!+ (2!"2"*!"*!Z{)*!7/*!*!z!!*Zjj"2!"2!wB"2/Sa2 J:XxBb:孻KB2bb:rRBB bb:WZb:V RB:ڿR#B+zR"BUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪ-e鍥j$Jb)X:!t2!JwWW*!*X)!**)!)!Xp!!!"2B2!ֿ :)"2! "2!*!"2!-~B:!*""2!UW#B!WUW))!*ꪫ*)*k2!UU*(+B2*e!* **!*!)!_CB*UU":*WTB2!?B"2+JB2Jb:^$SB:RjjjZJXRcBUW_cBkRb:''RB:* ZCB/ZCB_hUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF`@ϬER^\xk%J`ER!~"2!_~*!{)!)! #*))!2!"2!B*UB!ZB2!]*!W__B2!"2!_B2!?:"2Uˏb:*w *!*!)=*!u`xB2!W7B2!U>?B2!U~B2!WW*!"2!-"2p*!_**!^WU*!'2!b2!.߹J*-J**.JB:R:bJ":(({RcB\\߄RcBRCBU_iRCB}s]CBRdJ":k/.dRCByFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEfsER7&H{1^x$J!`|1!W=)*!z_)!ډ )!B:!Ղ:)5U"2!)!xW[:*!+B:!UsB2!{*!WU_B2! U:!/-55J:%B!W"*!^W)"2"2!kb:!.:*-_B2!J"*;5B*WR"2Uթ/B*~xx*!#:!UUw! 2"2!ޟ܃:! -c:!68CB*=J2 /RBz{R:{ RB:RcBRcB6.ZCB^+Z#BkR#BZCBUחFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFt`FZxy'sEZ !j1W~x$B!_u*a!!a!*!)!W)!W)!)!*!U2!O2!\2!]b!!2!}c_"2!:B* B2`.:!Um)*:!յ+b:!՟:!_{b:!uWB!*KB2 SBv^B*^~WB!7Uc:!t\WUB!UU-J)UYzXC:!W?B2c:)ԾdJ!5>J#: JBp𠼄JcBk & R":ZcB bcJ]愈ccJWXbCBRCB~eRCB׷FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf,F %b'hRz({1^^xI)UUͿER)_Z!UWB:!WUMw*!?"2!յ:!w/":!չ8":)":!?;cJ2[ZK:!W"2!+ "2!^s:! -B)b:!~*!TV*c:! UB!J!UB*_UcB!߷J*UC:!"6J!{ϵV#2!WW\_!. dB! J!dJC:U DB)#B!+ *$B2pdB":-RJ-]ZJ]-R:Z#:+H{R-h{b``b$BkeR;UjCBWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2f5%5(sW\x詋Zh㡮sDJ^bA֜jA'seZ[ H)U_b!UUWx!!ꊊ2!%":!M_CB2) cB9BdRB2o:CB1#B!^\P)b*2!jb:!=/B){r~cB)կ%":!~":!߿CB!"2!x#:!Z)%7Z#: R)^xXZ)!(y))#:!%{J!R2[mdJ) R$BU^W^#:!DB) RcB- RCB/`R:^ZzZ":%H{ZoiG{RjDJ|Z:zZ#: FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&pŦ%Psz⩋j铆ZתɓjU'sb:oj/j)xfZ!UW^XCB!UUWRb:!5R2CBb:dJB2CB2\CB!{B!z2~1!B!B*X]CB!0b2ՕR24R!_#2!R"2 ZJcɺdJ!VV)!)!^^\2!%%#:!eJ!BmJ)dJ2dJ:`_DB26dJ#: ZJi᫥RJcUܥRdJiJcBu ,>H{dJ%5WH{bfsDJx}څZ#BwʵdJ:^FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfIJFUUUlF%Mk_++fZݵ*fZhjԋhr-> \s)xppdR!S]UW!)*)cB!aUB!/cB"2bcB*Pzz~B:!b_"*!*!_}}!"B55B*=dJ*+;b#BbBTU:bdJ\d/b)bR2=7%Z)jZ)riR)UUdJ!_[l#:!u(dB)5 #:dJJ)eJ#:ȢDB2:a$0B2A՗cB"2[qcB"2/dJ2 RC:_;ZBZcB/&6jeJoKjJu˯ZR5'kRzbR*jcRx{^ZJ/'W5ZJbȥRDB:kdJ?+Z:XhbDB+jR +({R'(sZ*RsbsdJFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&:jjjK{LH&z^ժ ˵O+]P[{_ZZI{9~hC:)-jCB}}{dJ#B^CB!2B:!2& cB2{cB)_{2!.>2)]xcB!__oOZ*ߥ-ZdBZdJU~R#:_bRZ'(kZbR\'cR+cZoVZRa(@bR{Cz ZJ<?&cR_jcJcdB߿/ZR<`'sdR^kjR s$J H{ZKbR,keJUj$B-*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFpl0k׳͉w86͉Օ\^PLbV^Lj{zr1xlJ1%/Z#B mbDJ__^\dJBBcB":^bcBB:(zJ"2^^B:!x*)"C:)}{C:R) ZDBZDBzZJRCB`bdB.-cZUZR̦bR kR "kbWVcR*cJ-.HsR\kZ7PkR_jJ (sZ>kRjjR5/(sZm'H{RFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfg%SI))3i/hu뛩Uxj_V,b\ s6b@eR1-b$B%bEJX:=bDJUW\^dJ":pcB2C:2^~C:*x~*JXRC:u]{R:U.ZdBZeJooR$B/>ZJ +7bRzuV{ZCB<bEJ6ZR>2ZRkZbeR p@jR6>-kR^\|&kJ͍kJ7XGsJ_jZ8jRrzWsZ{'sZ֯rbR(bZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf ?z)-/+U X|~_Mj7p,=W݊zʛsʓjn )_^zb$J1ëDJ:#b%B/UZDJXxxZdJ#Bz_^^CB2r#:2ꂪb:*oZ!* %ZJZbФJ2`dJ*+R:URC:7bJsiZJ . kZyu kRjZbRbZUUUjZ^ߵbeZ (jRz'sR]_bJpGsR7WU'sR޷?sRVn|jJ bRbeRjZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf̃F5_U?}Uмjب˛m,j*̼ +ħjoj`pH{b!pX^WDB)%-Z#B'eR$BkjZ$J_R#B_`zdJ#:WUcB2;D:"2W^\cJB2RC:[cB2 "2JZURC:ZC:ZcB/bR7,kJbdJҭbRZR=bRUZDBb ZeJ9 bRzjdB^ bJXZeB bR7jRX'sR 'seR*jZȢk$JFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf/ņq C`ϼjr1͋ 嫓?5ϼʛ⿶0+MJxXzj2A!-J)R#BZBІZ$BzZ:7R#:J*xȄJ"2h}]JC:URdBMJ#:_iRC:RBȢjRBYbR=?jRrnbRްbdB/cR?_bRbJ@ceJbRzrbRbR bR.jDBlbdR&kRbZw jRjZGbZh_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfμF555%ݎ_PʣQՋ ~Qͫ%5P FM}zOBc1rZBa!%%Z:R"RdJ^kkdJb( RDB?WRR#:W&cdB--'kJUbkJ*px#B*R#:_JcB})RcB㣽Rc:.ZJ*-ZB bDBpZbJ+-bRZdB #cc:&ZD2,cR 'kJcR-`bR؂bJXsRkdRUΨ#bZݫkZ bRjR#sZFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf-F%%55P͋ -P l- {ֹ)Qi܌,rb)\V^B)\eR":;kDBsRDB\R:⪺zJ#:_xdB#:=UPR#:cCAdB)z#:2RysDB2}{J25-B2*zZc:RBbjRBZJZRWi_[J*RCBHFcC:$[DBH&c$: 7'kR'kZn.bJjJ_Rb#:ZdB)bDJbZ)bDBz^kR )sb+UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf@`XXMH|Vi‚j?ǷQJ0rjpmA{sb1[!^V5Z#:\PR#:'JCB{CB"2C:2#$PJ2 Hk#:UjÄJ#:W-wdB2^dB2-??J#:B#:jRsJC: --RdB[[B7*&cR][J紐c#2*^Fk)Z FkR%[JxX[J cB.6gsDB*&cZwKZdB`~hRc:/=bJ-5UbDB6bdJ#bR"kZ^[bJFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf˛& ,HVxފWU_sN {y*;nr, 0sppbj Rb`bzEJ)r)Z`ZCBZZRCCB#:ꪯDJ#:___DB#:ݵDB2rX$B*~R) dB"2]C:"2C:2" cB#2^J)JJ2(/%)bJZRXXRB:`&cC:U-&c* &cdB6"'k[[R(&cR*&kR_U&cBZj+-cJɸZJxzRc:?RcBZdJ7.cRqɕubdJ;cRRdJߪFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUIiFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&jͼ)l {hz^д {2zVދ}){AMbffGOR1>iR1)JCBdJ#:DB:_$B2_DB2xDB#:UUR#:)-&pC:2bC:*/BC:5J"27dB"2}z)BVb&J) )c:7[CBz8,&cJ(&cJ j&cBe&cJCZc:}RC:.7[JVZJ5յbdBsRdB#ZdBU>R#:5 ZdB ZJ$bR}7bRZdJFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfRFUU s,r.BcŬ=yi){|ww ss){{ XJA)k c#:`dJC:WEJC:DBC:륭dJ1xZ:}եR#:_UVTD:2odB!zdB! 5ZC:UUucB2cB#2𪫍C:"2,֯dB"25=J#:[BU%[JU%[dJRB*Jc: RC:_J#:pиJC:5՟ZC:b#:ZRC:/RdB8뉥RcB zR#:++RDBZdJZZeJZEJFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff5){IW77)_jສ&Rs[_}PFZ_ULR$:*.VcDBr{~dJC:[C+dJ#:{cpR#:uuA]ZDB\WUwZ:UWR2r R#:^-=RD:_ dB)(R"2.݅JcB^dJB2zJC:ʄB)/.'dB#2дؤJc:.+.JB}U^ZJc:JC:JdB_xBIJ#2nJ#2JB]J*.RD: R:XRDB ZB:GsJbRJURdJURJl\R1 FfFfFfFfFfFfFfFfEFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)({zX{ŋusnbxz,FZ}-R r+ 9\\\^R#:  'ZDB/(kdBZs{R#:jb{RDBU=ZDBo0ceJڦRdB\RC:|JC:dB2⼶DB2_`J2`J#:ydB#:W'B#:_ dB!XB!`J#:dBB2Jc:uJ#:oJ2ꔺ#:a\J)J)*R1( J1pZdB ZJ.c)_R:ʯUR) z^dJ!{Ra!*FUx_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfUf_fUfUUFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFh{````˓FZ"΋rygZp\__ RϊIEͯB_WZ14%J1& b$:=7ZJw{eJC:*RDB-UZDB::={ZDB[dB"2 _dBC:ՅJ#:b dB#:wc$J:UTJ1‚ dBB.dB)~ޞ*J#:dB!DB!=55JC:z")BUdB2.J1z#:)$dJ2J:~>rB)W\\#:!dJ!/UUdBaUR!UUdJ!*UHs1~UR2)(UZ1JfFFfFfFfFfFfFfFfFfhEEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF*F*Ff_F *EFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFb QrUUŧjkzXApMfR !,I,(sA/j{b}CWR$B-_.DJUmcDBU]R#:Z#:JcXXR)^\x#:!7J#:J"2.>$dJ:pjjpdB1 B9%^dJC2 J#2jJ)W2!*1!=dB#:8JDBCdB1@@J)bUU:!.7_DB1dJ)@CB!2a,"2!^MyB2!*U*z!^!fWUf_U!f !fz{FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfWfWUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFg{&!)) Rb55%bhx fRجĊIKŠFRirfJz`(seRU:7({dBoV(sDB{rZJ!(0`cC: ]cDBr`R1jꨄJb!ZD:5bJ#2DJ1p\$B)kZ1b!oVuRA!-R2xzzo":)֯#:) DB!UW J#:dJ#:_J:cpZ)WV{#:)WUdB9_:)*6DB:(eZa!xX__!"cVfVUUFTUUUFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFR fZ ѬEbܾi{%R ϼZCMAI{ER`pr~Z$B gEB^ZdJ65ZeJACR!zzJK'[!75='kDBRP`R1RDBߗ7RC:`pܥRDBSPVR:UWR!W$J!կ(R:R#:u/#R2ݪJdBIʊJDBWB9dJ2dB:]XbdJ) ):@U#B!?~zDB)}:!(WD:a!Z^!F`ppFVUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfDBF %J5=-%Ej JmBjzZ fRW^\^ZEJtWZeJu)HsEJ'kJr(('k!X`Sjij@'cZ@B ZJZڜRDB/pJ#:oJ17ZJ) ZDBzDJ$BYqbDBZR{ZJRdBZzBdB &7 BeBjJdB}/J:J:UdJ1_:)`cBa!mC:!UWC:!9Z"fpxX\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFFfFfFfFfFfFfFffF$:F Ҥ%J5%Ֆjn@`z%J^_sBjZpCI}ZEJ{IseR'Hs%B<,6hscjhsRj*'c*GcS)'cR\ܰ'cdB[^\XdBC:m%% R#:% ZJZDJإZDJZDJ?bdJ'bR\sRbBzRBުRB^~^J:JBxRDBۛUR1Wp@#B!DB)5~xCB)|x2a/%>c2fXXZpFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUUU#:$B5ݖZ(jC)s%Rjb}jbeJjbEJZEJπi{%J55/i{'cXp'c[ Hkcg'cS5'cSZdBX֥R#:RdB'/ZdBZdJ ZDJZdJkbRՕWbcBrZDBW_ZdB%RC2J:dJ1^UdJ1uR: )Z)jfRRpjZc뽙sb(sb*(sckeRceRZRceB r'cR *[)X`&[)%5FcDB%R#BpXR#:P`+ZdB* )+[JX^JdBwvTJC:*JdBxڞRJ?^J#2(`J#:\ . R#:ꊄJ#: {dJu'[)\E:fpP\TFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF!f55% dB)U)5֑))yI{^X\hj /)iZ\T~)sZ%qi{b^VXRrRzbeJ cZibRW{ZR `GR)ZeJ *ZJFcJ_zR1VZZ27UUR#B= [J_ [dJj [$BrR#:xJC:~JC: RdB_xR#:VZ}J$:J#:/+"h{DBյ(hsD:Z^se*r\&FTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffU55) ER)?uB!5= 8k{SbZjRWUi{jU(sRiRꢣ{eJxzZfR+cRgZJbbbIRDB )J)J1 ^R: &cB _[BJ:WpR: -[RM&cR&cR}uZJP+RdBRd:ʩRB/RdBZ .R#:z~'k#:'5fsWBfxWUFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfcF555)!%%:)=28c)-%- ҤbVTs(stT^U){ER+.p(sZ8Щ(kfRJn({EJbeR\\tZeR _YZeJcR-%ZR{`R#:\DB1J:=ZdBRB^Z"2z**'{2bJW|cJucR][J "jZBp[RdB;{R#2dBc!5R1ed:xX\GFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF1)9b!%%9"zzp1%%-b~|TTI{bWjQ(sbW\zpkERx^(sER -sZV~ZBZ%B *cR?'./cZR`R)dJ2zR)ׄJ1 .,J:RD:/}HsB]gcJ {JU^X`Rc:RB=RdBkhJc:zB2hB)ﮋS꺎r*f\VWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFU:b! $B)jֵA?ֽbVTTTijYnjabZ^ b}I{ZQs_jfRVjb%J8[ߴZEJbEJbeJ.-cR'cZ{{ZDB~R2W$B)]R1}dB1&JC:dB5UUʓZb#:8ބB֥JC:ꭤJBkS]WB2BB^W!F\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFCB )dJ`rU)-ֆb\Xpsbj˃'fR _zFJbFJrjfZ++bEJXpRB*zZeJ7ZeJhZ:z*Z$: %GkR{.ZC:^zpdJ1V#:)B)UB)B2_+WJ^UUF[ x^: UJ&UdB*UeJUdB%UB@zUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF!e +Bf5VҔA$V %RjյV({bWsbWjfZ}jfZ (sfZKb%B‚xZEJCiueJ:R$B cJ%73^^^|fFFfFfFfWFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf˫C?%) - P!)sb?=({j^cCr}UU5 Rj%RbEZ/:/sb Fj%%%%fJF 5Ub:ReJ%*ZBZ(;\^\\fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff@@AKHSU1 {&JsfZcib=k{6sUUUWΧjp~uUrfZrfZsZ  jF`fFFkfUUJUJbU'f\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff}UUUBfuUU{oՕշB{#: V`#Bo5ͤeR -TkRkFc ._hs LOŌVx:.KJk/ɓ׵ʋW;+)s۪ˋ / ^/Uy"N:qMܑMp͎x-4 k- (3-^~p5ˋ}}x௬{--M%n@Rݎ2 rp;?B:@B!jB2)/*B2)_zB2)*Xp``fFFfFfFfFfF?*fU- B2 b2*^- "2DpBՒN̼xxp`ʹ^x (sUʋ=.l* -O͕Oͭʹ \ ʓ(KHs^z)s)^\X)fU\xfFFffF e----V} zb p࠵ -LԱʹ 6Ղ)-2ժ Rx^/?+-R71oŏbs/ůxސՍxpz/Ĉl~xxL @̼&[x^xHFczPʋR*5KbxWJZ_H{J{* JUTsR+ՇkB'Tp‡s:()BWU'k1 >+Z zcBWUR UUͬCBՈ{JGc:_W~{cBX%JUl$B U]l1 RzXxZ7UR2Z ʋ||_5N{{j6Hs 0--.NWz1.\X8 ?Tj`X ~3 *wUMUկxWpN޹P ~X,~ ;ݎ. R/ݵ/2֮#2_ͪUŀup,^^닢}δʃUl{zzZk(kJZ!*xB"2B"2w/KB2*DKBUU_{BBPTWC r_]U"55R Bex\WUgFfFf:f%% B!@BUUV&c:-Z!*{pJ!*zb:*cۂ:*]_ZX*f```pfFFfFfFffF!*fՕ-!*!B2*/5B" `"*xx^c:_1 xxxx\^Lʋ^X+) ʹ듪/+.ŭx[+/OL{:Y捬U^ /(sUWxj)ܠJW^2FUUFUUU5 ˬ V/ŀ\LzpP6ʋ -nSW^21ս^* *.(p1ݪrsCj 2.1Xp -`1e &ȃ\\RX\ppRHsU 9j_Hs2.'kDJ('kRW̃CJxjB ʋ/\ U%c [:-%'kBE R"2[:+'W{2 WɃb2U5[b2_cRIsAbh {9-b_LbZ`jEJWu닆Z} k%7*άI{W(k>U^cͯ-0hu&Nk^0 ||0- `⠼Ϭ-V~zϬN =/n/嫂pծ ˫Վ_ծS-&&:z^o͌]] WLZzkHs Hsbr\ʃGk]ʃc:z\EcB2]-S:ZJ:SBUwK!@bFVv8f XUBՕ%RfrXWUFfFfFfFff?#*UUSc/K:cbB*x|:*7 B2!*XB2fxpFfFfFfFf!fUՕ5* B2!ꪪB2$x^b:!- :)WB2^^^WO 4n^x`N V^^hli*/zp+h{kO.Hs -'卤u +^x/L?U*LX{ljW\h1z Fc)|S!* gk ^-" %ͩ Uʋz_UCB 7+Wரlyp-UU̬S` 3 @o(cݪ+ -1UVW1B ՃoWJj-s/Օ*(XB 'oͩK6̴)44 J gk޿iRzبꋦZBIK:ׯ":^phs2 b#:. 9b R̤9z/sUWϤeB]/cJU}zܵdJUU JUUМdBUm},$Bs-LRX&cb:άZ}ɋZm|HsZ%jս'58ՍrQŎUɶRnrwP2-4_b3ު_zis :- nkqn**͎_.M'*͏ t毬U{͎k Վ#◕/qŮVϬ?p  δHmzwKꢯL7jδi{jr b_Lc޽ ʋ(kk`b"+DB`"2p^U] b:%S:xS:_/Z:# B% D e7   XXz_fvVV\FfFfFfFfFfFfFf*f55B* *kJB2>=B!zJ"2u=J!*x\b:```pfFFfFfUUU*g% J)UeU*$ n-!޷ *!xXdfWUUU̴ u` _^XxW^x uϏI{%nlɃة̬'s* ޭx]w/ڋ/든\+}OʼnW~ZW1UW^pc2UUBU/ *W,2UJ Lb `O*}> jjʬN *1 'R|oSͫ`2ͪ1o͊jKz <+k,()N%['Nͨ{ *mv`juJsK'shV Z jXF[ U(E[`"2UZਃB2 =eRUZUר'kCB+x˃R- 2i{ՏbPWJb+ fR nERW /$B ,eJ^/ZUU-CBtމ{UipbU~%PbrUUͯb -rMఒp0:5>Q3PXtݿ/ qJTﴭhrݯ 퉂ϴͳͯkZ 0)3/8 up⫷կ 3~q_/ R(whs^_ͬ{~U}- fk_?Չ{WU cz^] R?+{ihʃIsBR Hs<7 ZɃ"2`XvJ#:>%[:/k:?_%c"j%K zWW$ # W}$ ~j_߿7 F^^XpFfFUU.F%FfFfFfFfF%B2 #K*rz:*X_ރ:)-/?S"2UU+B2FpX\VFfFff)`*f5 b:!!e̶JXW!!׵%-*fUU!f\^UUFf.(Uz K^x UZW|ib{^ʹi{݌ɋ/5|l%/ͪmZ{ 5Rm5 OW݊{b¾OsU++W/?L*Vμu3μr2iޠ 匬տKW^k{ R. '62`1 *RWW^ppO,0+ #欤.\N{Vhlgsyr-gsU _ͼsU K^ l$S}UJ%[($Skx&cB:5 k]mFkc/RWWkj\b7Ok_"k* opEc*\Ƀ lT45 U'kC2W3ά`uqū4Фo`{RЬ+ %Ь^1ݯ(Ь. 3nϴ_01p03q///s.WW2RμzSPAcSϴ "sMbOŇs^\2 XVUU po*U/ʹ닉~^ i{ Z {`Z[*(kzʃJkx\Jc:zSB[Y{B%[:--#E[:z*sCqiMU_*fcU]Xp Z^~RD U S%^ R/ShjFTVVWFfFfFfFffF: Bb2PVB2!*U1 /<_^qNxȅq5%T%SP*0pZ^3p.ͭ+*R}2/ spV2՗)(oͨ~ol_ ^^Ul'M j}YLi{^\|+Z*rމsC:z^Wk#:5gcJiXxKBMp$SB_fcB UkJ է{[{_&Ke[F;d ^\<7[d[JJ p\C`XWUGFfFfFfFf"fUյ%J",:*|Tb2 pA"e(WUF\WUUFiqSZFf:fU% K#shB2% *fW_XA*%%U""`^fFFfFfFf /**U~5?`L .ͪZ.ŧbwxlj '/W+M02j5?o/WU(rpX`p݂UwMp(*3iWꀲ,U߻4_կϴ"SMz/2,芐Ս&H{*L\rrXB's*lXz匜%%&N`(.PH8ͬ%2oݪxXX`i{eRpi{Z*U_HseRasrc#:bJs!::R}UMb(,DJ^ bu5讼j}^zmHs_U% kU UꊂP,5]*,%_耱[-:t)5ͤw 72 -Ps-o&Z.hհ'x1յ9PůՏ`.t`W-y -ά= /Z(TZZh͏-OUp.ͼx^Oյ/UP̀sݪcPհޔ}07xN zUm닻b is K2`z'cJngkC:^XwS2% fcBUU\J:W:BaJ:5 RBFcB wUfk pE[%(*%[BK`pXf\UUUf^UUUFfFfFfFffF;% K:l~Sb2~f`x\WfFFfGb2Uֵ %Sa :!*׵B2!(^!p`X\F/gEFfFfFfFfR^psI<^X₃IաwU5c@oΠkWVxlj*ʹ  8/I{ppʋ %PM 2ϴp %u^3/ uc*_kzpծj? δ>]OkpɃ-+r=76.oͿ~Oͼ zz-/-RZj{(srpO(s<ObɃWiZ\`RdJ&|%{dJU52oZ])T c ňR{Ϥzz(*{6͇{.pFkUʋݣ++~{ x/ 3ުS SS檮մS^_sRUsRk% Wչ%//7[Xrz{rUS+*tϬ*t欬"('+Xt^Սz(s/)+ohάSU^W_8/i>)  Spն/+'R\{UVXX\po Oͬ/,px ZB{dB7 ɨ{J%hkcBUpScBJ:\U$K:J:JB7J:&[BGcJtU%[B%E[dhef\VWUFfFfFfFfFfFfF* -C ]c~WUF\WUUFffUUUf%:c 'B7&[!*~XTW!e@fTVWUFfFfFfFfFfFfv-x^j7^~x6嵭WJ ^1)‚ ݉jʠͼk}L)WL%]ߐՎ)sj /n^XSO ' Õ](z޵B/^3n}˓`P %Ր, '?ʹROVPoN&NՕ5ߓ+//5郔 pxl=/oʋdnz`켈{^ [zxB@k$JZ ̃FR՗8fZWϬj%δ^J0i{`-7kb-{Oj2އs5 =*1 /'R^~z~x\~2^_Ss2浯rSsRU sQ'16+WKjzxPt|VݐՊT2W ծWL* `ʹwmbժ/Wթ sljt*7zS,pե/.պ{_{S..//R~[݇{Ol ZլjUoͭB_δ xwWUꋥJ`hc2 {J5?/ʃcBxxVUS#:6%Bf[`@fSBzj|^B2 Fc:ׯSB{JB(%SB%[c://*j[f\^WUfFFfFfFfFfFfFfFf&/%FWfWUUTFfFfF@Ef\VU"2q5:C>b2!:jjrrfFFfFfFfFfFfFfVWzo7ͼuW^cz Ž匤x Rn{Ⴣ1i{ZzL(s ?듀%OōkeWL-5s,W\Xʋ -r͎{ ˿mtŕ k6,.TQ"h`xXzt TPX SW{p r8l+&R.׼oXzJNW{oSo555 2 5Vj(w..@J N&cNb{_sʋeR>j)sJZ%RU %R={蠌j*%% pũ/ S(s\T^X扃 5%[`ؔs{ s-UWsUr--/sjz_s3xX\23s2:**rs}]sT檪S7-b7vXU\UպUs*?>zWumގ] p͊Zi{pC+jvpjUR0 R S׵Ox} ͊-K.&cխ`x~zČb_l:zxX+{cB`k2s2FkC:\XXcB:5%S:TCBz$S:/J:rE[B BS) *KB/'c}BFpX\fFFfFfFfFfFfFfFfFff$:@:%xV%FTWUUFffF!fisWUEg"g%b2E B..b2fpXX\FfFfFfFfFfFfFfV -v=55-`{w4Wp7 /`Vh@. u1u^ܲoj츯){^vLs(^/Lݭ+Xb ͏޹rͮh,-'^.揤Tq?+}ݏ`>/tӐqxVVTq͎-7Tg zꪢݪ:-,2 1OX N* .ޛO O¨O V2O }2.Ř>U.B ܠvoʋpz޺'s_zxfR:(I{S Ukɋ#H{")xP(s^^^rs=5%5Ec֞2`SsS槾sbs3~-t2s2.R+ܵ(I_By_WRTQ*ů% k`Tsͭoܰ˃&¼+xδ*c舔,Gk^X{GkRhLeJ5UեRUp͉{**ըs'O5-n_\K|Fc( .Lp\WlHsU ZW+Hk--,Brrzjs"2jh`R2'-R":بB:ES:c:5%K:ط-B:غE[B%eSBz~SByyW"BUUfTVU^f&FffFFfFfFfFfFfFfF?&FfFfFfFfgFgؗb2À:cZ&FfFfFfFfFfFfFfVv +UVXzW+3bko-#+7ʼuQ +0WWZՉXx i'뭴*pl/殴+ 76Q^{ *zT7*#T-4+ qN u5-pbBT0\hlrkݍ3lpRp r.6j歴2k+듪V蠰 oͭ+.7l (z݌ .QoɋJʹb~ʋb8?: j>wÑZw)Ϥb ,b%Ϥi{IsB[kb5sP--_ިbՈs^^s毯sR/*sxN@Xnͥ* Vp^u殬Xߵάܾͻ W 6tʹ`pS捬b ע%pŌT欴L[+ZpkJ cJXh'kB*݊J)]/DB* {LޭOȃԪo͌# ʋl|Vhs *{R`'k#: W냥R#{cB@`Z]KCB{˥R":R1jbJc:u}K2/K:ضK:.JkS:SB[SB]]u$S2.WsC"W+td Z`Ë*FUU"fUF_^\VFfFfFfFfFfFfFfFfFfFfFfFfE?G U_!^MFfFfFfFfFfFfFfFfv %~V+-z-Wz`*ڠT "u ֗qpણlX`ݪXrli{7/b/+ߨ pL궴pσծn^ht- %݋{(tkд+3 Q/^n t1{3/pδNu%5t'  /Vu݊ CyO+Rʹ˓c~XͼI{* O+y/.j8.@`~jwr{b0?˃%R*x{%Rضy Z UUU%JJ^s)szkW~ ʼn{ U_Us捤 {'\ųUUVT޼SՈhsro}Zp//)+̋ގUގW^&- l 'ϬxՂwUϼ {( -P3捬L^Rʋ_U_}Xz RW*FccB_\J1nHs2=%b ,?z_oL wOŭHzVVV\X i{Mm{B2^uUJ2rqcb˃"2ը{dB 2pX'cB: ]gkB2\Vu}C2CS2 K:B:$S:__7K:J:UU:b2TB:ͭJ:5j3]ꀇC(T\xx FTVVVFfFfFfFfFfFfFfFfFfFfFfFfF!UUegAqWUFfFfFfFfFfFfFfFfp V# ^ UҽVUU+ Pom^\~L< U4uUI 扃hpO(sĪ pՍ>mWm7P~檋ru,rËTɊ=3qՋ7y3x`Ϭ ^rμ^k+-%c(tխx^3m(^^ WWoˋWoL 歴jO+\^  .O b꯬zU_j]:ʋgZnj{Zk9֋{FRW{fZ_}jBKX/9;'XJs k{%]~}Islͩ-U^ U  j+7(6^`mt싀͏% ծ[},|+3/Uݭ ծ't͠j( 3(ܠ殬x͓ Slz/sxʋZ뮨1[W^`'|U{B\X_{닃B} 25/yU+ͬh`HsLX__ʃhs&Gk*WV\\hs25!2յ+fc/2\K)$S:=:e[C\UCK:KBUBc:(S:/{B: ~[:]WW[:U}U:2*$K:ﯫ)Bchxxx&FfFfFfFfFfFfFfFfFfFfFfFfFzgEFfFfFfFfFfFfFfFfFf1 /~rZ%%%555wep`KUW fx\UUfF5UU*[oKx*.ʼn-漾ʹ8-~P+-mϬ^ϴ T毴(4μ\|, '4qzj𴡱R`~^npmϴ60ŏh\RzmzOŪ Xʹʋ Ռ(Oʋ`+ݳSδ+W{pi_'(sxob% fZ~ZZ"9{_\(k)b)~Z1ܜb9%{%J=}tb uו'ֽ-_Zc-  ?WH{K UKUUSNU͎qn Pm x0MU_6֎5?XάUWT~δo,.km+ 2捤*t/ ?_o'XSU 3ͬu_r '^k_Gk+'c^*ʃR_$ˋJ ,Rj*lis*#{~ JXz{Zc_{2^ޞ*+":/LF[`vus2" xgkJQ%[BRx$KB}ޗBc:*' JCUKB55%K:K:קe[:߷(tBUWl:TW5ES:}TK:-sBfc xࠀfUV\\FfFfFfFfFfFfFfFfFfFfFfEFFfFfFfFfFfFfFfFfFfFfr0  -6r~s(rI=5:VV\XFfFff'@g %z``+>x.| :ʹʋpLs-3l -7Վ~|4μ&^ݪ(4n7:::TR[^TͰrro:W+(ݯݏɯtu]M-_X˓O_ʹX؞ʹI{*,UO ʋp2LoK(s*-UHsWͬ'csPfkB2|hpR)5ba! _̃1b)k']UXα%Վ}kAPˋ5 %TN[^x_x֎_]Ux \Ս5_W0δ(1m/. pδK8^/+*uqũ{*LWTuU {(( &ʋ{O+ʹˋZ( ݉]Uʹʋ"&cxxxxʋRy+[pr]^hsJvUWcC:?X~ cB U c: (k`prˋC:bbj~b*%cC:{J.gkb:Bx&[*WZB:}J)S"2 %5$KBtJ:˯SCs}UU$KB -E[Cmse[:<e[$KVVES:J:V*$S:ߌ%[:usB)gsJ<{W^XxFfFfFfFfFfFfFfFfFfFfFfEhEFfFfFfFfFfFfFfFfFfFf 0%_V닥` Vo**wPp` FW^XpFfFff5UJSru/+3ʓkڣt ~+>^z?t˓_{M LbQ xo 2^^{xrϬ^y'U͟*P~n _UT{[ިsʋյ ./ij%ժ>듯 ݊b`+Z_dJ V~LRx D[ue["2ozpC:a!/J).j{eJ#bk j+%k{\˓+pծ+ 8άU}0L^,ͬZUOϜmX+x/Ũꉫ۪ 'I{+Js-+ /+_ɋ࠵{ (p̴ȃ̴ e[C/S:bE[:M}i::_x}SA2?Sa2KH`HE[kxxhxF\\\^FfFfFfFfFfFfFfFfFfhE#*s_FhWUUFfFfFfFfFfFfFfFfFfFfs_xRp-W^V1 - /Ό@UU_XFFfަ5UK R挬ocol+ R+/LVP`r/m~xP듗]xj/uj'>r`_`q죕55%0~bIY퓛+; xS>Sx^ ֵB+= -UOş5OW輸 k<6/zm}ʋ@bc挤?) 2˜מԔ͋zxx^{xz(:W_zB)^CBb!8weR5s֎i{/&LZ: lkz_6/Ū /Ŋ{P. zꓺ*5OL׳mQOl/wOl JkUUT .?_WLɋ:*lȸz FkkxX{ZkVh&cCJb&kJg{RUo&kZ5=&kJ\\[cBh~_׃BRKb:*Kb:֟C:!zdJ!R)pz_"2)^ B!5B*ׂ:"2U/:"2T߃B*B"2UU$K"2" /S:E[BT-E[b:UE[:WBB2PW:* C"2;K2.#Kb2UU:*:"29?%DS: Ƌ: ~U瓂*J``pX$gFfFfFfFfFfFfFfFfFf)gUEgFfFfFfFfFfFfFfFfFfFfFf12Rz\Xx-%Vr+-5( ͯu pf fF&K?UUU ճow=w6rL.^ݪ Lwuͪ+ޮ({pbϴs>ݏ%7j N% U͍-1ō83\Us?3ς2shh`sV2lp2>.(_LO0JbRi rJUW^PsK cz|c2~"K)W^^o)?s{TZx/i{b?j{(H{O+ }ol\pʋ/ =OlW@kWWoͫ!U.ͭ痭KfL'°9̼jk``켉s'WUU\z**{\njZ{M&koU{R_ppR#B[B*}kBcR ZBzpzZBmIyuJ:B:BR2'u1! ~B:!׭ɺb:){"2)WC:*B2)B2*W߾b:) c:):)'/?DK:zs{yKb2-%%ecBssK$[BzB*z:*eg/:!**:B2asڣBA*ؤBA*>>2\\VWFfFfFfFfFfFfFfFfFfFfJFU_\WFfFfFfFfFfFfFfFfFfFfFfFf1xR5hz`@VUrs1W_j /׷ /-|-ku %ffU_pFFffE @FVVX`W͞sȟ6w%Rz LUb,WsξUX/Isc0I{*%7s77`ȈU揤-4Ь&sq.7΃TURPU32%2%2x55w^͍BXx͍Up+:{ꨔʜrbrr  XX|\ ~66kk^\{c[X\cC|vU_R!*1'5jvT/k _mδˋ/ *O,*ʹLÐʹR}ŬwWn͌..**ŋnͼ˓& ċxW]kxhάLZ>- FsWTnZ^GsZZ'kJnVGcJWwcCB}'ZRcB{{RC:ɽRC:b/B9z )BZVjR)Br^2a!jpB2!?R*յ//JB:Wxxb:2^+ b:*b:)~b:) c:)W"2)㪨K"*UU #K:͋CK: xzEcB5-#S:%#S2^zC"2 B!*|~"**2*sݢ:!ו/BB2ՕHB*{:!*#[kr&FfFfFfFfFfFfFfFfF?!guaFfFfFfFfEFU_\VFfFfFfFfFfFfFfq 1~hV55s‚+X+7>6^XxU/-=U<; |Xp`_SS] UU}fDFfH! %挬ګi\3+L(Oˋ|i{/ s /?݊u氬*U򴨯4 4ظ.կ1 )UoKo3UWmPk^OŪ~L %δXLh~˜rrr Sދ\VuṳJ O{] R5I[|\|xk#KUWc#Kb2~s)UNB}j2ˋzz/ 6>ʹʓ9^ʹN듗nL௅+u* kUpZتꋺ/-* N~~k郣+lJgsx\[ uɃZ"z{R{ZHj/GkCBxRCBZPXcBZZ`ZCBU7(c#:_TJ":rJ1zCB)DB)S1!7B) Rc:=ިR:Bb:WB"2cBB2rB!*c:*~b:) >K:'DS:\^"C2K:^#K:K2.$K:CxBA*_ZB*)*B2*}B*-BB2UUB!*^]R!*KpzX\fFFfFfFfFfFfFfFfE:Օ!gPTWUFfFfFfFfFffFFfFfFfFfFfFfFf'堂1X^V5&7vrvz\ ^ޘ C@#4J)՗J)IdK)յ*[:ZBoŋJBBb:Jb:]?b:cB:B2w{b2*_B2*) Bb2-+/B:K:nRZ:B2mSP:*B*'5B""b,BB*z\:"*^֕:*pzA2!/b2*bS!*U5kx\*f\WUUFfFfFfFfFfFfFfgFU5U%BgIyUUFfFfFfFfFfFfFfFfFfFfFfFfFfFf1ͯT S_^`s6Zjb`vZ&W -Q---i rxz6, V\\\F FfFfFf&Rp]f UUkFUUUsT Ϭ X-o(ޏ_\o 4. )xrRbﴫz U6O4QZ44S殴Pf6M XzroUm>*r樌TvW jWPx*|UU jt{scsf[W_^xE[B,DSb:\XB)W~o) U9ʹkr-Zɋ7KGOz{k1&JJS*Ji2 jJ {h*Hk+㋬{s_i"^Kcw͈{Zյo+Z7nDBWo#BUU_HkBuhs$BVs9Z:Wbc)鏫R1\xJ)5R)X`#:!%:b:Z:5Rb:^VWJ:=J:BB2_B"*:A2]ab2)[(b2) (B2 K2K*BB2`pX^J!{_WB*%#KB2)+ S2'J"*^:!}݂2!B2!b2!۶*E[B*5}h+fx^WUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfhEhEFfFfFfFfFfFfFfWUU 6 /V7' vV1xxxpr- uV\X(h@ 5i2@TUUUzޥfU_x&F?FffUUUfUյ(sfZXX\f%5^NW{/R>\fBUnJz %J{kBXbKR9£ 9-ZcB{RqdJa!.s)kssc:!?B"2B:/BC:[BuURb:\WUU"2:jY:B2Y ‚2: J2*Z\:!*:!* Bb2*JA2_x|:*Uק*JA*;/#S2pZ]JA* U:*\^W~B2!b2*~~ :*+:B2]]*`x\&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfP`V/w>??+6Qppppq ~~nUUUT:?///v ^ppluU, UW| <U{bF FW\UU-e-,hF\XXXkFUUUuFUﰜ)UQU͏WN_jRnn7XȒФ-UͰ/UWZ1W/Ьj3npMXʮs歬II-k% s/às抌_ץ %ߒR@T]Rpx2 ޏU/|\kW)cUU^xkcS]}|xcS:Sb:WX{'["25UkcTC:9oj%ͤF{+lg{.U 's+jUbɋZhɃdR>*Z|~mgscJZMRy?5MeJYJ=WBn{)zb)-+{ïDRxj{9sR9!纥Z#BJ1݆R!rp:)2:YY B"2J:zUJ!2^Wע:b:5B:7BA*:B2:!*B*>?BA2:a2*B"*z:*`KA2ե :A*B2!<7B*!b2!b2* _Vb2!J jzrfTWUUFfFfFfFfFfFfE!FUUppFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf*3i6.YM5v"6v5(( vxu!+*`~T|*-(着 {$-ҥ`*WxiUUid Ux^r˓```` fXPrBfFfF[F=UUUWf UuUU~rUU 1UФU~*5^x7}U͏ ^ŏ_1 hPM7kiaat⨳ ́_חR sŪ~2.WUOxx͜{߬I8 cXIcWICS__~[C_[XcS"2~:&SB:%Ic"22Z5Bt{Uԋ&B-b~ bUߨ*bK's}U|{ZpR^X{Z{s9{oDBկ |%Bp*ؖД$2:X΅BbNRkɫs%BR9xZ1jjzDB):B)%JB:C:2TWqb:"2) :B:l/B) *B:CBb2߂:!*:!*ڸ2!*pSjB*- Ja2Bb2~::!*H :!+#SA*/m]B!*VW:"*zzb2!+:!*:!*%[B25U$Sg pXx`&"FUU-JUUfFfF%f! $&fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf UZ!y+ `z5-u_7 ~zXPZ_ XX\Vx^^U뫫UUzUr/**2` /rM7NFUWVXFfFfFfFtf UUU 5՚S'5V}R~z5֏ mT_۩T-߿A '61֦1 *̀x2NRU2~_O^_K`bpp*s(kk?̤k^ڢk_yʀjs⩵wt#K\c#C[:_j@Jb:"{qoSb:UU{B2 UU{"2*+|Bb2^Bb2¢`Bb2:!*~_C2*}_Kb2UB2:A* b2*{ޢ:*'B*~$['bX+`xWU FUU5: b:`BbzfF&"g5UU(FXWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf3.+?*5~u\V-U5+[_[z --%uT|xxU^^ r/<#5>sxzx)s^o'!r*FUWxbFUUUTFfFfFff&jBFUUU2FUUUF UUe UUU4΅Ug!**UW))+p`/`bjnpo_\xO̜~~^.j>uj5]Vs(kb{/7 hpk{Hcz^sdShJ|SW:)lBW/.|BUzDSb2_WJb:u =Ub:-U׽c:uŅB +5USRhgeeB.{_Ue: W/)D: ZtC2\uH[C2Usqd[B2DS2xi[|"2Ոcb2iksd:m{VTB"2IieJ2ymH[CBՕicC:^|_cC:WVV[":/-Jb:\B:+vK:+$S:~ܣBA2zb2*>/(:a2Zj:*?^WB"2B*p7/B*:!ڪB2*+Jb2y^:A*#A*b2Z!*B2jJB2U-k//xfCfXVWUh FUU-S( 5% :a!Xxa:gzZZ\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfR+~5qU5Ֆ շ^v 6U u>/^zx`%Tpxxx^Vxx^^ V2 յSW'>( sxp͉uU_f1p /fUWTXFfFfFfFfFfFfFffFfFf몪3 uP޾(-ʜxpx^ =. 0ήB/ذϽh~ےޯ0Nz`P^)|~XJ(ͤI*5̤kL{/挔{rjkZzk'|k .'|[wt[;lc׺ jcX JK_zcBUk:kBUw刄[C:wS2 J 2zB)k'S"2u:I[$S*e[!*+e[:hܗcB2JB25U|:VWWk#2^_W|BB:']WJ2RC:]]5JBB$ [C:[ۧLJ":__BB:}B"2 K:"B:pBA2znª:B2=,:!*x:*U׏"*B `B!*{\\:*/{"*Bb`:*?b2!**+:b2:B*҂:B*% C[+/jE3fxVWUfFfCSH :!ޗC*f\TVWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfUq_W_WQ/q/ TU UUU髶u}{}U խ **Xx?Txxzzru +?1XR%?խ-W*6V*[ꪊI{_/%rˆ)JFUUUTFfFfFfFfFfFfFfFfFfh*FUOc1ʜWw Ϊ ''O֮nqν/_pnX^U|̜tVU휊{-/̤|`t- f[|c8Jkrz>ksu0ꋔk]VXkcխ lUNkrtp*ku|k/|c^vicb{DSW\VcBV^*cBUV$S:Ue[:#K2xc2s{^.|:u'S2_W6'Sb2>c:חUcC:}J"::ScB]RB: ~hZZB:J":ކ'SBuuaiJc:RBJ:Ba2J2v_%K2mO:A*":B2 8B*:*xhb2*#/':*:*B"*K2+?DSb2WW CSD pEC% fFFfG fU[!*`X&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfV?++/4 + -u4u/ *V_UTzzuBjz_k}]2W"2]6[/6^_sV74?Uj`NzS^@B`f&FfFfFfFfFfFfFfFffFе -հkl )1֪ jZ7U7WUU^\Ohwͤ*ˌkշ.{pks*])JFs޼)kj|7XJ{(w(DS6ic 鋌t/ (|R뫕ͤ| *zjcJicw)(|kr{X|DcW|Sog#S:{_^beSB2*Ug[b:|UC2KKb2#sc:k{P&S:;y[Bqc*t:U?kb:U'[b:[B?Z":|ZC:_~[c:o_Rb:+SB2VwB"*ףBa2:'B:uuKCb2+$C:}%K:O&Ka2RB!*>:!*ֻ>:B2u<#Kb2U:"*7CB*CSb2U)$KpfS fFFfFfHeSc2f\\\\FU_RUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf /+Txxuu WTU*4 uzrTzT*U4U~_WRxz~^1-VsU_5sv ^R6iޘV(4U_z63  5k`fP\VUFfFfFfFfFfFfFfFfFfFf&f -+/W]sK Վwn~xfz.k\j\xXi]׍k{r kշ ȃ->W鋇s<(\郇s"so)f[^ sU_Ik7kc.sե {ਬ N .iWdSj{kC{$[KekJ_B"28(#KB](Cb2^cc:c{zE[c:G[B1.cBwWk:}]ySb:W% F[b:w?%[c:yS"2SL&J2 'SB_YT&c:7Fc: S:WR%K:UeS:}UB:_%KBS#K:h$S:T_X$K:է gS:DK27 k#K}|b2`BK~WK{UU*F\UUUFfFfFfFfFffUUUFX_UWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfV]upXWzUuUTU_4Wu U_URURճR2Us +շu = v}* {R-{WKuXTW_FFfFfFfFfFfFfFfFfFfFfFf2FUM  C U..k~(|׌ɋV+Ƀe{> sZ_ڂ sX郧k\c zWGk k{`ƒGkWls#ΤsWl)] V ̬sj)s^V(|[r|c/kBТZBzC2xxx:b25%/SBkrFc:>7kSUUx%SBfI[B]_ϝ&S:䴶FSBisSb:pP^|R"2Wic"2hcBwשkB-]FcB^Sb2{ۂ:c$KBK:^% ecBUUX^DSB7DSBfe[:%K:{VcS:/+;k**jd~WU&FfFfFfFfFfFfFfFfEFUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfд QpUQ WU4rUU]\u%>~ꀒU0  "VU+*W2UUU_VUUW5Rյ   騪w`x~w'@`ptFUU |FXVUUFfFfFfFfFfFfFfFfFfFfFfFffFʌF UIJ"{ uk{L{b̤s--͜JU/ WwWK{@x郈{U]1 h{:W Gk x)s^_{fcP{c(&c ̜s.Uͤ{rxx gkZ {ˊps 3"Uk{xhfu'k_rzkd[.kB jkb:CSC:-#Kb2^xxJa*?7ikJׯzu(B5/+i$K~x,tKUG[:Vg[:W:g[B㯥F[BU^r_[:U=h[:5]} tc:C-|:U^agSBckK:]]cb2\_U_Bb2= S: ~u$S:)D[B[^~cCUUk:uS ^CU"FxWUUFfFfFffFfGFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf?* Q^ R:v_r5JjjVW3`Xqݠ~W V 56b6⠪ݷV6~@+. ){Z+??\Vwh``86UUU w%pp``fFFfFfFfFfFfFfFfFfFfFfFfFfFfFffF{F % k k.߲ls fc Fk`^+gs.꓈`.ʓ{ں +spj{%[\kE[;5{&[g_mFcB\+&[e -LR #{`+R %[j{k^{E[z4|E[տ+ecBXkJI|JUcCK:xpS:Sc:vVjJ IKzjh@cJSPcB*cKXޕ[JKrK:#&Kb:/6GSBWKb2,c:)7kCwxlxc:ww;e[2_B:b^:XDKfUUc Օk2( p&dVWUF\fFFfFfFfFffFFFfFfFfFfFfF%F\WFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf +z˂*V53**X݀ה_sUU+VbVt 6vוvt`s85**ܸt 6|_6+ kszW)@pBF\UUU!FUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfꪪ|f UUkf*lG[ *} ecִ>*k{ h{r㠩&k rɋszՉ&k^ժ{Fk{&[Z {fc{%[*E[W+ Ls{m'cB{&ck:`pjd*bH*+ It&KXVzBf^[fUKU#KE*Sb2[b2:̬fcdcx`bhf[:e[B/jF[:>iosC_KUgSBFS:]FS:/%KB:WT[Bc}c:U~$S2/kB=kp\$*fTUUUFf%%%%[H {FWVV\FfFfFfFfFfFfFfFfFfFfFfFfFf!FU F5} "fUU_PFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2 = 5r 2 V -+vR*VppUU(pͬWWs/+UWw ]SzhVݨUUͬUwUIsspxZ1FUURFPUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&*(Cf 5*s5 =kfs^KZ]ɋs\xgkx&kZ{EcɃFcߍ郆kW]&gk c57 l{xwK{|KGkހJkJsU pp`p*#f UU"FWUU&fFfF[F %5f[b2S:| a j{Hr@kJk:7GSB\6\FSBnp{U lB mc:~rs%Kc27FS:/K:.B2tl~zBB2JpF&:Ff&K-B"KXpXVFfFfFfFfFfFfFfFfFfFfFfFf#KfՕ55:!*xKc*Z2f\VVVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfp,_‚&*V3** p״}WuRiIsU p_\p=]U/_WOWep\\ kFUUU& UFXl{F5UUUZF\UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF2fUUǃ1" k(8*WԢɓ{ ɋsWXxg{%[kPZhsEcȃS* {U{R^ Gk i'c5|0R{_ɃRjߕk-W(F!^'|X\WUfFFfFfFfFf)FUUkES:bˬc -HcgcB7όfcB^VFSB}DKb: kBI}SBqyeKb2ׯDK2޾(EK:szzBb2`~V$Sb2-):f\VVWFfFf[D[:\WU}K*j!FTWUUFfFfFfFfFfFfFfFfFfFfFfFfBG% %:"2wZS2Cˋ+2fVzjhFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfi{UlS}U2,]RUW1Kskk{\ݪb} UnͦUF^UF\^UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFȃ ɋ{*'5 z' H{_Fk(pj_GkSJ[U{%[5ݪ gkp~sRXZ KR KR[\\ֆkB=*<8fPVW&VFfFfFfFfFfFfFf*FՇKJ'|B=55|dS\^VcB,Pp%[BT%S:.e[B}}W\$KB#ݕ[BV%KB z%K2_B:C:] k:}'$KFUWVXFfFf[g5UCUBFp^UUFfFfFfFfFfEFfFfFfFfFfFfFfCf%% B"246C!*j!*FpX\\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfi{_WE)**VnՅ1ձ ,_U(W1//WrEUeUlfVUUF\FUfFUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf{ %5ɋb ?+g{zoj꓈W񅩓'k{~H{kث.K{)-ksz*s}ɃgkZPFcc Z UJ fbXWFfFfFfFfFfFfFfFf!FUUUFCg5եcB'%7HDS^]_rl:zzsbecBE[B[B\~eSB-yS:[B ec: $SUe[B\xjK:R|:[!)FUUUTFfFffFFfFf%EFfFfFfEFfFfFfFfFf#KfU%5C %KB2~h@A*Fx\\fTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFVUUf&f&ߪFWFF FffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfǃf5{b/+b-+hPɋ{^K({U*lh%' ܼKsn.gkըx{JrXVk)/ jbXVUf&FfFfFfFfFfFfFfFfFfFf&tB5=-(|DKppiKcÊecB9=E[:VDS:"k$KUi^[Bo+cBzsJ )|E[Ϳ_kSrk%KUw{cFSb2b *GK %UgBFUUUTFfFfFfFfFW}F}FfFfFfFfFfFfFfFfFf:fk: c:bprr"FTW4EFUUUXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffJFU{ZRs+({' .鋟&ʹ'*I{`+Gkp`{[X{JUDSFXXX^fFFfFfFfFfFfFfFfFfFfFfFf:FՕ$K%-f[I@p^c Fc:W\\ZDSBD[B~~cB%[c2 {[s$SZk$S+|ec]cB^\TWCB2xؼAKfxꪪ%SfUUV\FfFfFEFFfFfFfFfFfFfFfFfFf&DSucdB\Xp:f_U #CfUU^F!B*FUU}FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&~f&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFdcf%B % s 5nb[ɋ/%JW,b6',ɃW{FU:fVUU&FfFfFfFfFfFfFfFfFfFfFfFfcF55sh&x^W&cf%5%cB^ec:ͅ%'$[Jc$[J_1sR==+ǃ%[*`~{$K( {dc\SrxbcBWWuB:B!*zKPꊪ&fFfFfFfFfFfFfFFfFfFfFfFfFfF*F^#K,FB:B7:G-ע:fXC*A]U_FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff&FZXf&F{` FUUUp!FUUUJRFUUUFFg)FIRjpՆUUfUUWxfF'!FUrcU&?? F UէUUJFUTTUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfBf%Us:%7˛{+)Uʓ_ Īl\z {%+g)@@@f&FfFfFfFfFfFfFfFfFfFfFfFfFfFffFfFUfFFfkf55$SBdg5k:=kBVVekJ{$[`MekS+ uekJ {B(*ץ{B`z]R:\B:XWKB2~:*זJFWVV\FfFfFfFfFfFfF/fFFfFfFfFfFfFfKf5U:_C2fWTT)fUUU!F:w2^X5:fUU-2FUUVxFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2ކS_T ݨ1h*fIs^/r Q˓rʓU^sU }k lxfZ^\XFfFffFFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFE[  {J7 ?Lͼ XxGkpZzkkf&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfg*fU%[B%W B%fkBԶ֗DcBRzRb* {(Ek:.EkB[YrBb2*7Ba26?*$SBTߛeS:UF[:-E[B2 zzrCSF\\^\FfFfFfFfFfFfFfFfFfFfFfFfFf%FUUU5fg: ufb2!F4VU)f՗#Kx'UD2fT: =b2F`pppFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf+W l ꨓ.լ1l*Q64UUZbr8 _x+KոՋºfXXXFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfcF %%GsB7KeՕK}W꓊=LR@謮k&c)FWVTVFfFfFfFfFfFfFfFfFfFfFfFfFf**f&*FfFfFfFf&$K  -sB׃c*^\dc( E[:bEk2/7ȃA2'%c!*Dcb2__XK::))3$K:Z$S:*/$[:,c[BfXPZXFfFfFfFfFfFfEFfFfFfFfFfFf#*f5U#*FX^WU&!fUU:F_:U`fc2f55:'b2f@U&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfOzwOmǪ ^ %r.:WX`O/_on-oݗpR-*1Z@&&fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEfFFfFfESF5UcB^W}J-Z h+J ){R(&{UU&FfFfFfFfFfFfFfFfFfFfFfFf&???CF^\\\FfFfFfFfFՕ5fK55 K:$KF\\\\fcT$Kg K"*Xpjǃ"*uU%c*c esb2\K:ָDS:~J:XأB*X Bf\\\TFfFfFfFfFfEFFfFfFfFfFff@#*fu\\\Ff^]y]e!FU:B& BG_<&2TT2f !fUW&fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfê_ èzԫ*m*/-Փ ]`o t0U)-6OR)REp\FFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF&fFFfBF %5 :-U들J|VʋJ[pȃR sfpXXXFfFfFfFfFfFfFfFfFfFfFfFfFf:FՕ2fXZVWFfFfFfFf*f5UeSi"5 [EjF1Ff&?C2g /5B2*pb2-RņDcSVxTD[:b$["2o_s>p\9FTWUUFfFfFfFfFfF/F?EFFfFfFf#*fՕ 2FWUfFfFF@f"C`B B@:q"K %FTVUB*f%"*fmm_XfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF juj.Ê(_l˻ՍUp++UQlU"O(UݨUN EpRFTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&#?F&FfD2fUUe[* J h{U+&c+~zfkFppp`FfFfFfFfFfFfFfFfFfFfFfFfFf!FU%fFFfFfFfFf&????C5% Kf@`pXfFGfFff!@:.Ƌ#*- Մk"2~ZBխ#[E X$SFxWUFfFfFfFfFfFfFfF5f\WWVFFffFfFB2fU%!FpTWUFfFf&fFCF5UUBFu)FiUfFC2FU_} Fb2``VUA*``&FfFfFfFfFfFfFfFfFfFfFfFfFfFf&?)"F]]_\) ëe j(Ê ^ *m,m`lU.p/og!@lF\UUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFEF/fFBf {"2_7Z*g"B`Pdp{-2fUUUTFfFfFfFfFfFfFfFfFfFfFfFf&fFFfFfFfFf(FB  BfX\\\FUU]pFfFfFf!FUU"f*$SB)#[2" @:fX\VUFfFfFfFfFfFffFFEFf%FffF2f5 cC2f`TWUFfF?FfFfFffF:FUUa2fUkb2FU5% :f :"؁2!p("fWVTVFfFfFfFfFfFfFfFfFfFfFfFfFffF"fqfD*ʫi˻ʣ ʳ b_r qTWmlե r * JFp\WUfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfBF 5 :5%5ꋆp | pUUeCH?c\zjFFfFfFfFfFfFfFfFfFfFfFfF'FUWTWFfFfFfFff&:( !BX"GX\\\FfFfFfFfBf%R`X[fxWUU&GfFfFfFfFfFfEEFFEFfF5F2 FfFfFfFfFfFf**2F C: :F(V:F  BB2:a2^:!i!f\PPPFfFfFfFfFfFfFfFfFfFfFfFfFfFf&Ffԉ_Wi L.'˕ݐ,ԢL U-/o݆@pPX&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&FfFfFf&ƃ?=U fPXWUFfKf Jb:XPJfWT\XFfFfFfFfFfFfFfFfFfFfFfFff!`FFfFfFffF:!$K:k‹B\p``fFFfFfFfF)F5UUUFg! FffFFfFfFfFfFfEFfFfE+FFfFfFmU FUWVTFFfFfFfFf!FU:FrX\W!fSUUU&:B2BpZX"2F )F\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfNժWWZr뻪յ =/,UV\\,%1ԫ-̠>pnFTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFhFUU_CFfFfFfFffFFfFf$S %R"2XSfrBfFFfFfFfFfFfFfFfFfFfFfFfFh`!FUUWXFfFfFfFf'FqUUUB %DSF`B !FUUW\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%!fUU5A*&տ b* %FFfFfG/ff)fuc2F^\UUFfFff2TX`::@aF%UWUFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfn+zj ~ގʣ-.,ZcclO+BQ**pF\WUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUթfa[_}fFFfFfFfFfFfFf:f%5%["2[W7BF`XfFFfFfFfFfFfFfFfFfFfFfFffF'*FP_UUFfFfFfFfFff:  :A2Ub2fWTXFFfFfFfFfFfFfFfFfFfFfFfFfFfFfE&/a2% *!'"* p"fU^DFUUU|FסaWF*F__&fFFfFfFffFg:fs]UUFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfkHKg`,*ɣ*:*i.j>'$*pF FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFGF뿳FWW\\FfFfFfFfFfFf%FUUUf2FFfFfFfFfFfFfFfFfFfFfFfFfFfFf*fUյBfUU_`gFFfFfFfCg%%% b2!lhxn:!/"*GVX&FfFfFfFfFfFfFfFfFfFfFfFffFC*fUUU%"*&-  B2!*b_B2!*\*^F5TdFpUUFfFfFfFfFfFfFfFfFfC*FUU5FFfFfFfFfFfFfFfFfFFFfFfFfFfFf{ Ćrꋴzw__%0 xVOfTUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF@A2 )2V 2_`DFUUUTFf;g%5:)W~K!*! ^Wb:7*fWT\\FfFfFfFf&hEFfFfFfFfFfFf"FU  "!a-v!B.**`"*~UF>XUgFTUUUFfFfFfFfFfFfFfFfFUUUMFf!F5&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF{jdc գ* bnfxWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF&8>:>&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf2f%UU`2"2!!b++c2!_?GTFW\R]FfFfFfFfFfFfFfFfa*fUU%CfUUWTFfFf(e!ggUW/fUUU\FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%2gUZbf5UJ!/UR!*_B"υB2b4*J ~*[D*Xd*g\X`fFFfFf&Fe@@BzB2-D[!sUUW!*zzJ!)Y!/_)*! )!@XB*!WU B!*2ZV"*p*fUW\\FffUUU1!fU !FUW"FUU!fUUu!fUUU!"FU-A2xV'FF$fՕ5#!gx!f\TUUFfFfFffFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf$*fUUFUU:b2!-B!""B!~xb!5#SpbjfFFfFfFf!FU!*B2!' B2!&A2p *b~)"2!7fJC2!u}*!{k:! Cb2_:f`P\\FUfF!fU55*fVW!FUU!FUU:F UU:fUU!GU!*fUUFTUUUFfFfFff!f UU"fW\UFfFfJ"f%UUFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%faiyU&"* B2!7b:! :!7RE Bbzz gW\( gUW^xHeFffFA*A2/b2!բ:*. B2!\"2/?B2!_*b2!_节2) /:*:b2) 5:F\XppFfFf!F-%%-FWWWTFf$f]UF]x)fUUU CfUUUTFfFfFfFfFffUm "ť\!gUWv&FUUfUaUaf+բf^UFWTWU"FUU%!fUUfUU^FUUUT'fFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfA*f5UB*fWV\X"*f5UB2!?'B*_㯿*:%:!* >"2 Xpprd2 UUWXF_FU_^x&/! !*D (*))*>B2) Օ:"2u 텂:*\b2!A*! ,/&!*:!Օ5%:@XW:fXUUUFfDFUU!*d!\@!FU*fY2`b2f*"*FTW_XFffFFfFfFfFUյFU_rDfUfFfUUrzfD`"F_""c"*W_r!A5 _!_!CfUUUTFUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF5U&FUWTR*b2!-':).©:* :"M b2& 2 PpbWW\( fZxp&&A* :* "*BjPBB2 b{B!Zb^W**A2:!jbÅ2*55FWUVԆFFf2FՕ5A*a~!C*zj":)uc"2Fb^xe!FXUUUFf9դ!fsբ!f55U!FWUcFU UcFUQFF@!fUUcfW|UUFFU -"W^pp"f-UUUB*fUUB2 B2!^z*__"*AU]_!!]XTW\GFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf!fqMU*f5UU!* b2! -:!2rޖBA2/:*./:.XX+ \\^W*U'"W\^_fFc2 B2UA2D521A*A*%+:*>:!bpXB*`pgFWUUfFf!G% *!5A2F`\)f:bﭫFc2 FfFffFFfFfF$(FfFffFFfFfFfUUU&&FfB*f5UU"*fU*U`B2WB*j{fwwVfUUUTFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFF#*F5U!2"b:)J*?/[b:UW{*k\\\\ -) gWUF^_UFfFUUU f`UUUc*f}UU!FUUUfUU)F(UUB2a2( V"*`cqfFFffF*fUU:$B2FXprp"2f"2!'*px\X&fFFffFFf!fU5*U fa2 %fյ;!'*(֡"g^/f" U&FfF5UU!f%B: B2! /b:p]_!fTT|PFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf$"fUU))b:)*R:ˣ2 \\TTI GxxxxGfFfFfFfFfFfFfFffF!fsUUUgF&FFfFfFBf :PPPp$FUUUA2))!A2Dhx!fUzFfFfFfFf'?)fUU!fxuUUFUU*f_UUFX]UU&dF5UUU"f-U""\\^U&FfFUU! Bc! !B.)fFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFf&?fWTUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfeF5UUFFUUU*#uB' (U WUxx~%FfFf&/FfFf&fFF&FFfFF߿/FfUUU:e!!:pXXXFfB2F5b2 "RsfFFfFfFfFfFfFfFfFfFfFfFfFfFfrUՆFFf!f UUU*fp}uUFUUUf"UU!*e FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfEFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFD"gս-B+Z"2}U:W2UWx%FՅ2fUUi&X&FfFffFFfFfFffFFfUUUBF}UU2fpUuefFCf5UUU)FU2f\WUFa%fUUWTFfFfFfFfFf&FfFfFfFfFfFfFFFffF~fFFffF&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUufFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfHf%UUU!FUB2bB!B)խA:!w"2[B5UJ(xBUgSU;GUz&!FU_fUUWTFfFfFFFfdfEuUUFUfFfFFFffXUUUFFfFfFfFffFFfFfFfFfFfFfFf&fU%#"B)&fFD"fU=2fU_x`FfFfFfFfFfFfFfFfFfFfFfFfFfFffFFFfFfFfFffFFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF!F-UUU#*f UUUc*fUU"2%UbBEB2jdJj æb$J-BxdZ)x޸2!xa2CJ""fUWTVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFAYUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?FFfFfh FUU5Ub UuybbUe b UrB)({bjZrJHZ/is}ʛh)kʓjܢH{bWHb*-hr&{j_'{bꂂ'{bjj("{bnwjbsbZjb jbbgbDJFfFfFf&cՕ-*b1&((rDJpjZz)x^zz)g``@ *uFTWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%fFFfFfh f5bg5 jF"@ %* H{eR'{gZx Hb=/ij_xir% ({b(%ij 뉋'{p'{6gjs_/sտgrX~|jGr}Csbujbkyjjb/ '{b~U+jfZ.\jb GsZ_FffF_:FUU-Gsr2jDJrdR^j:**@r)PX^U"*@&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf fՕ55(k  rhUɓjB[_Zzk-= hjzs ({-몉{{&{{G!' gjZ rrpsH({s#'{(HZprbjEZ 7.'{fZ /sbX0jb,jER:fUU)R *s)+'{dJzH#B5 HjzjzEZz j)rp``B2a!-"*XfFZTVUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF"@&FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFUU5H{% ({H\=)]mIgsk֪ Gs kh{0k%I%/'{`"'{h쉋'{ ɓs-&{rpjhj' hs?s`HZ``pb%J sFZ jfZhUs%R sfZWUsZ%#j*beR+"jeZUn:hZ:irVTzEbEZj!`phB2! *B*F\T\\fFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFg:fUu}q FUU"fUU]pFB!FUUUɃUU JkUUWUUյ+ic ʣip ʣiUWi' iWʣh{UxʛGs ꓈?hʛX&%ʓh(ۨɓ({~|'{LJrgs+GrT{Gr/G'{Zz*hZ\(r%RWb&R'{ERz{bERW\fZ$JsfZ{$J/ **rEZl\{Z (r (jxX^^rEb*r$J'5{a!{zX^"*! "*F\VVWFfFfFfFfFfFfFfFfFfFfFfFffF:FUUybFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFUUU5 ]U-I B~E iUUU)ʣIU^i i ʻ%뻉;Z +(,5 i^ i (+i ` z (~ʛh*&ʛ_(ʛhHȓH{~^r^rhb*hrGj+~r-H{^`{V+ibvv'{fZ_^hjyKH{eZw+sER_sjERWUzsDR/++sER<p({ebUrj%ZreUfb-j1DJa\*@`&fFfFfFfFfFfFfFfFfFfFfFfFf&??F:% FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFmiabId jz* jz\z r*I iV\i5)Xi"+I_볉z ʣX{,ʣy= (\bʫiQ i~,HʫHH{] H{^[zHsHrx{U7H{Hbm({ʛ'sV≓s}hb*bxԜbZWsb|s9pj9reZ; {fb˿zjɭr$R`j@B! ^"*a! ' *FpPX\FfFfFfFfFfFfFfFfFfFfF1P)FUU^PFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&?ʣ i"I7jz\~`(j zb{ij*Ur/iZʣ{ {# '˳ick).i IU+i ʣ<뻪7)h`ziʣbx ixiԸi_wxI{X(Ir"7詛({ '{:+HZhU_֬Kʛ]m{`zW_}ʛZb⯪B J*j#B@bDJrjqY rb"^zBbz$Jb2A 2*ߣFTVVWFfFfFfFfFfFfFfFfFfFf1f%UU)fXWUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfjFUUKIʫI]{˫C˪z7Uz Ir)j_x^rfjc"/)%RIz(]iz**=H&{Iު ʳRܪIZʫi]U Ċ]ui+)x.˳IjiiXપbcHx(Wi{H'{W H/KĪ ިi{~| I ]ozn]ɣ({5ZțJxs:* z$J*r%Rzjr$Jjahxz"2!f"*%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff5 \WW,iX],9 zW~jz5?ꊛrX@/ij_}zbj=)r H)Ui) ?ii)/뻊`wiWs٪I˥IzI ê~ʳ)w~(ʫrI#y'{Ziu驣(߯<ʫK_!̪{b+_u~+)ꃥת)Xpz} /ϩ{<㈓rj:* {jzAi{j )zFZ~bDR`@bX\B2)-..B2FX\\VFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffF:]]B-, mĉzΪuvxIjI IrZ)r+ )rIc+}U(U) (}I-iw\ixxj( I+*Ê%Ê{oi)|TiY_]s/*iH ꪣi<5.ªiZZʫ z^肀-UI_ʫ(⢪i <^hzn謹r eR?/ +jw~|{fb-"(fZ^[pjBzjbr"2!B:!*B!FTVWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFj& U? 6ʻW~l)LÉIBȂWI ) rr芪jJ(' -(mo_}i*0--i[U]i iZ*i肢VWVIuUI奊IU Ês}jrxziz'EIDB(I 誫i_('{Ik IU}iz>Ir ^zʫzVXI{9}^ijWʓb RʛjWHrhk{b`xb)h!"2TXTV":f@`pfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf{fť&))ȂwWV\+Ȋ ˫I I/Ixrꠠ(z(IU((ǂ/(iz/Ȃ% I|\ri(ȊipxXz~z:i肵5?/( i"ʻz^z^)RWIr *+I`c뽉{R_ոi{ʣH/[]s(߉(Ui{_(j(jIz`C‰h{HZzb-zjU^{bXWZa`pVcB*B2fX\VVFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG)FUUU( )zuur/ ʳ)%-i{{i Pbk(z*)r +IU;I)Tl芧r\H%Ui6:IVT^I肂IU_z* 肕]i )7/zΪ( hh(r \i؊)oz_zIrI{}IfZ.xij)IzJHju(jתr- %rh({b'{rv\ܶ{j^V\reZ_b1U^XXcB)`DFTVWUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfbF %55{Z Irʳ) In*8\⺕+~VizX^^芇rɍ)r(r^zꪛz-]^Šɯi_~Xiz___x zz|肍z(ii肸iPk/iz(UU5I_)WRi)Izi zpNJ%-- FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf:f55c:A!6gkcB++-{FcXh&c{bvXA7bJ;WrIXkubArFb?{BfjR<^(ZEb-jV|U_rj[)r[_Ij(rrWgrz_[ ǂUwUǂsǂȊ?}W(Ȋ H{Ȋ/{b蒧Á) _Ȋ?ʣȊ^pછȊ+UUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffUUU:f55%C:66[B=gsZhGsym[gsDJpZ9(8b9ؘeZA,Im5rIUFbAjR}j%Z7/ {j-(jIsUis/is~/izUuzfjp芦rǂrǂ=_INJ_xNJ/H(ǒ@Ȓ^ǒgz(^-%%Lʣ/-/kIWFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)F2A!C:a! S:)//H{K+ /'s_mOMG{Zrzs[BrKj$J^|%R9jAuUI1*>R9 ?5bI( bJ {b{j""j) {jWUiHj*i{ -ir_\xzj++*HrW 'z%>) z͉NJ7NJǒXWVxgzXgz7KI  l FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%FUUU)Fc:b! UB1 )&cB/ {&c -Gk9(RBDJ96DR1*.ׯb9j‚Jb1%R9/UWjA5jbbjZ-?.sj^_sjirqsyurb /Ij/i{Z(sHrr (r(-5i. ʫ_Iwb(}z ^袇Uwgz_/?LȊ \VFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf&b 5BA! UGc#2 }gkA&cArbdR^J R: ZBDJ1J9}_SZA-UjA( jFR Uj%JUjAU{$JU(bGj(s*HjHr*WGj^~h{ -(X@iu)iU'(]<Iǚxꮠ(ȒUW )-.+UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfG?)f-UUc:  RfzWDBFUU1fTWUUF)F UUUJf U[! S1zXrA1= )$Bf\TBf{UUf9F?UUUCJfUb/Uj) Us&B g1WrB*rZ*^^~'b +%(+Uթ( *(5sjjzI /%(/骻)ڵU(ĉFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFFfFfFfFffef?UUUdBf 5U1fU!FTUUUFfFfFfFfFfFfUUUfEFF)`ZFUUfbUUXH{eR=hj>H]+I() )UU*I)/ liUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF_&!F+UUUjf%ՉeR+irz=iW *iI_Ui xFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFffFꪪf+'{Z kʳeZ?UUʫz˫(IU)z FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFbf+UUU'sf %b=uWWʫjiH)UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf1FUUUb+U')*(b+ ,UFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFb-Uj! Hfb/~FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFff!fFs!-'sER FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfF?R -Uc9*FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFR-%%FfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFRUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf%2fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFf)fUUUUFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfFfopentk-1.0.20101006/Source/Examples/OpenGLES/0000775000175000017500000000000011453142152017136 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGLES/SimpleWindow20.cs0000664000175000017500000000000011453131440022234 0ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGLES/1.1/0000775000175000017500000000000011453142152017435 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGLES/1.1/SimpleWindow.cs0000664000175000017500000001434711453131440022414 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion #region Using Directives using System; using System.Collections.Generic; using System.Windows.Forms; using System.Threading; using System.Drawing; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.ES11; #endregion namespace Examples.Tutorial { #if EXPERIMENTAL [Example("Immediate mode", ExampleCategory.OpenGLES, "1.1", Documentation = "SimpleES11Window")] public class SimpleES11Window : GameWindow { #region --- Fields --- float rotation_speed = 3.0f; float angle; #endregion #region --- Constructor --- public SimpleES11Window() : base(800, 600, new GraphicsMode(16, 16), "", GameWindowFlags.Default, DisplayDevice.Default, 2, 0, GraphicsContextFlags.Embedded) { } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { base.OnLoad(e); Color4 color = Color4.MidnightBlue; GL.ClearColor(color.R, color.G, color.B, color.A); GL.Enable((All)EnableCap.DepthTest); } #endregion #region OnResize ///

/// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); double aspect_ratio = Width / (double)Height; OpenTK.Matrix4 perspective = OpenTK.Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, (float)aspect_ratio, 1, 64); GL.MatrixMode((All)MatrixMode.Projection); GL.LoadMatrix(ref perspective.Row0.X); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); return; } } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear((uint)(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit)); Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode((All)MatrixMode.Modelview); GL.LoadMatrix(ref lookat.Row0.X); angle += rotation_speed * (float)e.Time; GL.Rotate(angle, 0.0f, 1.0f, 0.0f); DrawCube(); this.SwapBuffers(); } #endregion #region private void DrawCube() private void DrawCube() { #if false GL.Begin(BeginMode.Quads); GL.Color3(Color.Silver); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Color3(Color.Honeydew); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Color3(Color.Moccasin); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Color3(Color.IndianRed); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Color3(Color.PaleVioletRed); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Color3(Color.ForestGreen); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.End(); #endif } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleES11Window example = new SimpleES11Window()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } #endif } opentk-1.0.20101006/Source/Examples/OpenGLES/2.0/0000775000175000017500000000000011453142152017435 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenGLES/2.0/SimpleWindow20.cs0000664000175000017500000001014611453131440022547 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion #region Using Directives using System; using System.Collections.Generic; using System.Windows.Forms; using System.Threading; using System.Drawing; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.ES20; #endregion namespace Examples.Tutorial { [Example("Simple ES 2.0", ExampleCategory.OpenGLES, "2.0", Documentation = "SimpleES20Window")] public class SimpleES20Window : GameWindow { #region Constructor public SimpleES20Window() : base(800, 600, new GraphicsMode(16, 16), "", GameWindowFlags.Default, DisplayDevice.Default, 2, 0, GraphicsContextFlags.Embedded) { } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { base.OnLoad(e); Color4 color = Color4.MidnightBlue; GL.ClearColor(color.R, color.G, color.B, color.A); GL.Enable(EnableCap.DepthTest); } #endregion #region OnResize /// /// Called when the user resizes the window. /// /// Contains the new width/height of the window. /// /// You want the OpenGL viewport to match the window. This is the place to do it! /// protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); } #endregion #region OnUpdateFrame /// /// Prepares the next frame for rendering. /// /// /// Place your control logic here. This is the place to respond to user input, /// update object positions etc. /// protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[OpenTK.Input.Key.Escape]) { this.Exit(); return; } } #endregion #region OnRenderFrame /// /// Place your rendering code here. /// protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); this.SwapBuffers(); } #endregion #region private void DrawCube() private void DrawCube() { } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleES20Window example = new SimpleES20Window()) { Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/Utilities.cs0000664000175000017500000000433111453131440020063 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK; using OpenTK.Input; namespace Examples { public static class Utilities { /// /// Converts a System.Drawing.Color to a System.Int32. /// /// The System.Drawing.Color to convert. /// A System.Int32 containing the R, G, B, A values of the /// given System.Drawing.Color in the Rbga32 format. public static int ColorToRgba32(Color c) { return (int)((c.A << 24) | (c.B << 16) | (c.G << 8) | c.R); } /// /// Sets the window title to the name of the sample. /// /// public static void SetWindowTitle(GameWindow window) { ExampleAttribute info = GetExampleAttribute(window.GetType()); window.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); window.Icon = OpenTK.Examples.Properties.Resources.App; } /// /// Sets the window title to the name of the sample. /// /// public static void SetWindowTitle(System.Windows.Forms.Form window) { ExampleAttribute info = GetExampleAttribute(window.GetType()); window.Text = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); window.Icon = OpenTK.Examples.Properties.Resources.App; } static ExampleAttribute GetExampleAttribute(Type type) { object[] attributes = type.GetCustomAttributes(false); foreach (object attr in attributes) if (attr is ExampleAttribute) return attr as ExampleAttribute; return null; } } } opentk-1.0.20101006/Source/Examples/OpenTK/0000775000175000017500000000000011453142152016722 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenTK/Test/0000775000175000017500000000000011453142152017641 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenTK/Test/Color4Serialization.cs0000664000175000017500000000417711453131434024102 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System.Diagnostics; using System.IO; using System.Xml.Serialization; using OpenTK.Graphics; namespace Examples.Tests { [Example("Color4 Serialization", ExampleCategory.OpenTK, "Test", Documentation="Color4Serialization")] public class Color4Serialization { public static void Main() { Color4 color = System.Drawing.Color.MidnightBlue; Color4 color2 = new Color4(); using (MemoryStream stream = new MemoryStream()) { XmlSerializer xs = new XmlSerializer(typeof(Color4)); xs.Serialize(stream, color); stream.Seek(0, SeekOrigin.Begin); color2 = (Color4)xs.Deserialize(stream); Trace.WriteLine(color); Trace.WriteLine(color2); Trace.WriteLine(color.Equals(color2)); } } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/TestGraphicsModes.cs0000664000175000017500000000654211453131434023570 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2010 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using OpenTK.Graphics; using OpenTK; using System.Windows.Forms; namespace Examples.Tests { [Example("Test GraphicsModes", ExampleCategory.OpenTK, "Test", Documentation = "TestGraphicsModes")] public class TestGraphicsModes { static void Main() { Dictionary modes = new Dictionary(); Trace.WriteLine("Cl (RGBA): Color format (total bits and bits per channel)."); Trace.WriteLine("Dp : Depth buffer bits."); Trace.WriteLine("St : Stencil buffer bits."); Trace.WriteLine("AA : Sample count for anti-aliasing."); Trace.WriteLine("Stereo : Stereoscoping rendering supported."); Trace.WriteLine(""); Trace.WriteLine("Cl (RGBA), Dp, St, AA, Stereo"); Trace.WriteLine("-----------------------------"); foreach (ColorFormat color in new ColorFormat[] { 32, 24, 16, 8 }) foreach (int depth in new int[] { 24, 16 }) foreach (int stencil in new int[] { 8, 0 }) foreach (int samples in new int[] { 0, 2, 4, 6, 8, 16 }) foreach (bool stereo in new bool[] { false, true }) { try { GraphicsMode mode = new GraphicsMode(color, depth, stencil, samples, 0, 2, stereo); if (!modes.ContainsKey(mode)) modes.Add(mode, mode); } catch { } } foreach (GraphicsMode mode in modes.Keys) Trace.WriteLine(String.Format("{0}, {1:00}, {2:00}, {3:00}, {4}", mode.ColorFormat, mode.Depth, mode.Stencil, mode.Samples, mode.Stereo)); } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/InputLogger.cs0000664000175000017500000002657311453131434022445 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using OpenTK; using OpenTK.Platform; using OpenTK.Input; using System.Diagnostics; using System.Threading; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.Tests { [Example("Input Logger", ExampleCategory.OpenTK, "Test", Documentation="InputLogger")] public partial class InputLogger : Form { #region Fields Thread thread; GameWindow hidden; bool start; Dictionary keyboardListBoxes = new Dictionary(4); #endregion #region Constructors public InputLogger() { InitializeComponent(); } #endregion #region GameWindow void LaunchGameWindow() { hidden = new GameWindow(320, 240, GraphicsMode.Default, "OpenTK | Hidden input window"); hidden.Load += hidden_Load; hidden.Unload += hidden_Unload; hidden.RenderFrame += hidden_RenderFrame; hidden.Run(60.0, 0.0); } void hidden_RenderFrame(object sender, FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); ((GameWindow)sender).SwapBuffers(); } void hidden_Load(object sender, EventArgs e) { hidden.VSync = VSyncMode.On; start = true; GL.ClearColor(Color.Black); } void hidden_Unload(object sender, EventArgs e) { this.BeginInvoke(on_hidden_unload, sender, e, this); } delegate void CloseTrigger(GameWindow sender, EventArgs e, Form f); CloseTrigger on_hidden_unload = delegate(GameWindow sender, EventArgs e, Form f) { f.Close(); }; #endregion #region Protected Members protected override void OnLoad(EventArgs e) { base.OnLoad(e); thread = new Thread(LaunchGameWindow); thread.Start(); while (!start) Thread.Sleep(100); keyboardListBoxes.Add(hidden.Keyboard.DeviceID, listBox1); // Add available mice to the mouse input logger. ChooseMouse.Items.Add(String.Format("Mouse {0} ({1})", 0, hidden.Mouse.Description)); ChooseMouse.SelectedIndex = 0; hidden.Mouse.Move += LogMouseMove; hidden.Mouse.WheelChanged += LogMouseWheelChanged; hidden.Mouse.ButtonDown += LogMouseButtonDown; hidden.Mouse.ButtonUp += LogMouseButtonUp; hidden.Keyboard.KeyDown += LogKeyDown; hidden.Keyboard.KeyUp += LogKeyUp; #region Joysticks foreach (JoystickDevice joystick in hidden.Joysticks) { comboBoxActiveJoystick.Items.Add(joystick.Description); joystick.Move += delegate(object sender, JoystickMoveEventArgs args) { this.BeginInvoke(ControlLogJoystickMoved, this, sender, args); }; joystick.ButtonDown += delegate(object sender, JoystickButtonEventArgs args) { this.BeginInvoke(ControlLogJoystickButtonDown, this, sender, args); }; joystick.ButtonUp += delegate(object sender, JoystickButtonEventArgs args) { this.BeginInvoke(ControlLogJoystickButtonUp, this, sender, args); }; } if (comboBoxActiveJoystick.Items.Count > 0) comboBoxActiveJoystick.SelectedIndex = 0; #endregion } protected override void OnClosing(CancelEventArgs e) { base.OnClosing(e); hidden.Exit(); while (hidden.Exists) Thread.Sleep(100); e.Cancel = false; } #endregion #region Private Members private void ChooseMouse_SelectedIndexChanged(object sender, EventArgs e) { MouseButtonsBox.Items.Clear(); } #endregion #region Logging Delegates #region Mice delegate void ControlLogMouseKey(GameWindow input_window, InputLogger control, object sender, MouseButtonEventArgs e); ControlLogMouseKey ControlLogMouseKeyDown = delegate(GameWindow input_window, InputLogger control, object sender, MouseButtonEventArgs e) { if ((sender as MouseDevice).DeviceID == input_window.Mouse.DeviceID) { control.MouseButtonsBox.Items.Add(e.Button); System.Diagnostics.Debug.Print("Button down: {0}", e.Button); } }; ControlLogMouseKey ControlLogMouseKeyUp = delegate(GameWindow input_window, InputLogger control, object sender, MouseButtonEventArgs e) { if ((sender as MouseDevice).DeviceID == input_window.Mouse.DeviceID) { control.MouseButtonsBox.Items.Remove(e.Button); System.Diagnostics.Debug.Print("Button up: {0}", e.Button); } }; delegate void ControlLogMouseMove(GameWindow input_window, InputLogger control, object sender, MouseMoveEventArgs e); ControlLogMouseMove ControlLogMouseMoveChanges = delegate(GameWindow input_window, InputLogger control, object sender, MouseMoveEventArgs e) { control.MouseXText.Text = e.X.ToString(); control.MouseYText.Text = e.Y.ToString(); }; delegate void ControlLogMouseWheel(GameWindow input_window, InputLogger control, object sender, MouseWheelEventArgs e); ControlLogMouseWheel ControlLogMouseWheelChanges = delegate(GameWindow input_window, InputLogger control, object sender, MouseWheelEventArgs e) { control.MouseWheelText.Text = e.ValuePrecise.ToString("F2"); }; #endregion #region Keyboards delegate void ControlLogKeyboard(GameWindow input_window, InputLogger control, OpenTK.Input.KeyboardDevice sender, KeyboardKeyEventArgs e); ControlLogKeyboard ControlLogKeyboardDown = delegate(GameWindow input_window, InputLogger control, KeyboardDevice sender, KeyboardKeyEventArgs e) { control.keyboardListBoxes[sender.DeviceID].Items.Add(e.Key); }; ControlLogKeyboard ControlLogKeyboardUp = delegate(GameWindow input_window, InputLogger control, KeyboardDevice sender, KeyboardKeyEventArgs e) { control.keyboardListBoxes[sender.DeviceID].Items.Remove(e.Key); }; #endregion #region Joysticks delegate void ControlLogJoystickMove(InputLogger control, object sender, JoystickMoveEventArgs e); ControlLogJoystickMove ControlLogJoystickMoved = delegate(InputLogger control, object sender, JoystickMoveEventArgs e) { // Yes, there are things such as arrays. Tell that to the visual studio designer! switch (e.Axis) { case JoystickAxis.Axis0: control.textBoxAxis1.Text = e.Value.ToString(); break; case JoystickAxis.Axis1: control.textBoxAxis2.Text = e.Value.ToString(); break; case JoystickAxis.Axis2: control.textBoxAxis3.Text = e.Value.ToString(); break; case JoystickAxis.Axis3: control.textBoxAxis4.Text = e.Value.ToString(); break; case JoystickAxis.Axis4: control.textBoxAxis5.Text = e.Value.ToString(); break; case JoystickAxis.Axis5: control.textBoxAxis6.Text = e.Value.ToString(); break; case JoystickAxis.Axis6: control.textBoxAxis7.Text = e.Value.ToString(); break; case JoystickAxis.Axis7: control.textBoxAxis8.Text = e.Value.ToString(); break; case JoystickAxis.Axis8: control.textBoxAxis9.Text = e.Value.ToString(); break; case JoystickAxis.Axis9: control.textBoxAxis10.Text = e.Value.ToString(); break; } }; delegate void ControlLogJoystickButton(InputLogger control, object sender, JoystickButtonEventArgs e); ControlLogJoystickButton ControlLogJoystickButtonDown = delegate(InputLogger control, object sender, JoystickButtonEventArgs e) { if ((sender as JoystickDevice).Description == control.comboBoxActiveJoystick.Text) { control.JoystickButtonsBox.Items.Add(e.Button); System.Diagnostics.Debug.Print("Joystick button down: {0}", e.Button); } }; ControlLogJoystickButton ControlLogJoystickButtonUp = delegate(InputLogger control, object sender, JoystickButtonEventArgs e) { if ((sender as JoystickDevice).Description == control.comboBoxActiveJoystick.Text) { control.JoystickButtonsBox.Items.Remove(e.Button); System.Diagnostics.Debug.Print("Joystick button down: {0}", e.Button); } }; #endregion #endregion #region Input Event Handlers void LogMouseMove(object sender, MouseMoveEventArgs e) { this.BeginInvoke(ControlLogMouseMoveChanges, hidden, this, sender, e); } void LogMouseWheelChanged(object sender, MouseWheelEventArgs e) { this.BeginInvoke(ControlLogMouseWheelChanges, hidden, this, sender, e); } void LogMouseButtonDown(object sender, MouseButtonEventArgs e) { this.BeginInvoke(ControlLogMouseKeyDown, hidden, this, sender, e); } void LogMouseButtonUp(object sender, MouseButtonEventArgs e) { this.BeginInvoke(ControlLogMouseKeyUp, hidden, this, sender, e); } void LogKeyDown(object sender, KeyboardKeyEventArgs key) { this.BeginInvoke(ControlLogKeyboardDown, hidden, this, sender, key); } void LogKeyUp(object sender, KeyboardKeyEventArgs key) { this.BeginInvoke(ControlLogKeyboardUp, hidden, this, sender, key); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (InputLogger example = new InputLogger()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Text = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.ShowDialog(); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/GameWindowStates.rtf0000664000175000017500000000214311453131434023604 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample showcases the capabilities of the GameWindow. It tracks keyboard, mouse and window events and displays the state of the GameWindow in real time.\par \par \b\fs28 Controls\par \b0\fs22\par Numbers 1-4 change the WindowState\par Numbers 5-7 change the WindowBorder\par Arrow keys move the GameWindow\par +/- keys change the size of the GameWindow\par \par \b\fs28 Implementation\par \b0\fs22\par This sample provides a straightforward use-case of the IGameWindow interface:\par \par 1. The constructor hooks various IGameWindow events using anonymous delegates. The event handlers set flags to indicate that the current window state has changed.\par \par 2. The RenderFrame event checks those flags and refreshes the displayed text if the window state has changed.\par \par 3. The UpdateFrame event handles mouse and keyboard commands (see Controls section, above).\par \par } opentk-1.0.20101006/Source/Examples/OpenTK/Test/Extensions.cs0000664000175000017500000002152211453131434022332 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using System.Reflection; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using System.Text.RegularExpressions; namespace Examples.WinForms { [Example("OpenGL Extensions", ExampleCategory.OpenTK, "Test", Documentation="Extensions")] public partial class Extensions : Form { #region Fields int supported_count, opengl_function_count; // Number of supported extensions. SortedDictionary functions = new SortedDictionary(); #endregion #region Constructors public Extensions() { this.Font = SystemFonts.MessageBoxFont; InitializeComponent(); Application.Idle += StartAsync; // Workaround for missing Idle event on Mono/Windows. if (Configuration.RunningOnMono && Configuration.RunningOnWindows) Application.RaiseIdle(EventArgs.Empty); } #endregion #region Private Members // Creates a context and starts processing the GL class. // The processing takes place in the background to avoid hanging the GUI. void StartAsync(object sender, EventArgs e) { Application.Idle -= StartAsync; // Create a context to load all GL entry points. // The loading part is handled automatically by OpenTK. using (INativeWindow window = new OpenTK.NativeWindow()) using (IGraphicsContext context = new GraphicsContext(GraphicsMode.Default, window.WindowInfo, 3, 0, GraphicsContextFlags.Default)) { window.ProcessEvents(); context.MakeCurrent(window.WindowInfo); (context as IGraphicsContextInternal).LoadAll(); TextBoxVendor.Text = GL.GetString(StringName.Vendor); TextBoxRenderer.Text = GL.GetString(StringName.Renderer); TextBoxVersion.Text = GL.GetString(StringName.Version); } backgroundWorker1.RunWorkerAsync(); TextBoxSupport.Text = "processing... (please be patient)"; } void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { Type delegates = typeof(GL).GetNestedType("Delegates", BindingFlags.NonPublic | BindingFlags.Static); foreach (Function f in LoadFunctionsFromType(typeof(GL))) { FieldInfo @delegate = delegates.GetField(f.EntryPoint, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); // Only show a function as supported when all relevant overloads are supported. if (!functions.ContainsKey(f)) functions.Add(f, @delegate != null && @delegate.GetValue(null) != null); else functions[f] &= @delegate != null && @delegate.GetValue(null) != null; } // Count supported functions using the delegates directly. foreach (FieldInfo f in typeof(GL).GetNestedType("Delegates", BindingFlags.NonPublic) .GetFields(BindingFlags.Static | BindingFlags.NonPublic)) { if (f.GetValue(null) != null) supported_count++; opengl_function_count++; } } // Recursively load all functions marked with [AutoGenerated] in the specified Type. IEnumerable LoadFunctionsFromType(Type type) { foreach (MethodInfo method in type.GetMethods(BindingFlags.Public | BindingFlags.Static)) { // Functions in GLHelper.cs are not autogenerated and should be skipped. AutoGeneratedAttribute[] attr = (AutoGeneratedAttribute[]) method.GetCustomAttributes(typeof(AutoGeneratedAttribute), false); if (attr.Length == 0) continue; string returnType = method.ReturnParameter.ToString(); List args = new List(); foreach (ParameterInfo item in method.GetParameters()) { args.Add(item.ToString()); } string argsStr = String.Join(", ", args.ToArray()); string fullMethodName = String.Format("{0} {1}({2})", returnType, method.Name, argsStr); yield return new Function(fullMethodName, type.Name, attr[0].EntryPoint, attr[0].Version, attr[0].Category); } foreach (Type nested_type in type.GetNestedTypes(BindingFlags.Public | BindingFlags.Static)) foreach (Function f in LoadFunctionsFromType(nested_type)) yield return f; } // Update the DataGridView with our findings. private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { TextBoxSupport.Text = String.Format("{0} of {1} functions supported.", supported_count, opengl_function_count); foreach (Function f in functions.Keys) { dataGridView1.Rows.Add(functions[f], f.Name, f.Category, f.Version, f.Extension, f.EntryPoint); int index = dataGridView1.Rows.Count - 1; // Some simple coloring to make the GridView easier on the eyes. // Supported functions are green, unsupported are redish. dataGridView1.Rows[index].DefaultCellStyle.BackColor = functions[f] ? (index % 2 != 0 ? Color.FromArgb(128, 255, 192) : Color.FromArgb(192, 255, 192)) : (index % 2 != 0 ? Color.FromArgb(255, 192, 160) : Color.FromArgb(255, 200, 160)); } // Change the width of our Form to make every DataGridView column visible. dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); dataGridView1.Columns[1].Width = 450; this.Size = dataGridView1.GetPreferredSize(new System.Drawing.Size(2000, Height)); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (Extensions example = new Extensions()) { Utilities.SetWindowTitle(example); example.ShowDialog(); } } #endregion } #region class Function // A simple class where we store information from OpenTK.Graphics.GL. sealed class Function : IEquatable, IComparable { #region Fields // We use these fields to distinguish between functions. public readonly string Name; public readonly string Category; // These fields just provide some extra (cosmetic) information. public readonly string EntryPoint; public readonly string Version; public readonly string Extension; #endregion #region Constructors public Function(string name, string category, string entryPoint, string version, string extension) { Name = name; Category = category == "GL" ? String.Empty : category; EntryPoint = entryPoint; Version = version; Extension = extension; } #endregion #region Public Members public override bool Equals(object obj) { if (obj is Function) return this.Equals((Function)obj); return false; } public override int GetHashCode() { return Name.GetHashCode() ^ Category.GetHashCode(); } #endregion #region IEquatable Members public bool Equals(Function other) { return Category == other.Category && Name == other.Name; } #endregion #region IComparable Members public int CompareTo(Function other) { int order = Category.CompareTo(other.Category); if (order == 0) order = Name.CompareTo(other.Name); return order; } #endregion } #endregion }opentk-1.0.20101006/Source/Examples/OpenTK/Test/BlittableValueTypes.rtf0000664000175000017500000000243411453131434024306 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample tests the behavior of the OpenTK.BlittableValueType class. This class contains methods to simplify interop with unmanaged code: BlittableValueType.Check() returns true if the a specified type is safe for use with OpenGL/AL/CL, while BlittableValueType.StrideOf() returns the size of the type in bytes, after marshalling.\par \par Because those methods are relatively expensive, their results are cached in BlittableValueType automatically. Unlike System.Runtime.InteropServices.Marshal.SizeOf() and similar methods, BlittableValueType is safe to use in performance-sensitive code.\par \par \b\fs28 Controls\par \b0\fs22\par None.\par \par \b\fs28 Implementation\par \b0\fs22\par 1. The sample defines a number of of simple and composite managed types (enums, structs, generic structs, classes and generic classes and various combinations thereof.)\par \par 2. The Main method creates an instance of each type and calls BlittableValueType.Check to see whether each type is blittable and BlittableValueType.StrideOf to print the size of blittable instances.\par } opentk-1.0.20101006/Source/Examples/OpenTK/Test/GameWindowStates.cs0000664000175000017500000001575711453131434023435 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Drawing; using System.Threading; using OpenTK; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tests { [Example("GameWindow states", ExampleCategory.OpenTK, "Test", Documentation = "GameWindowStates")] public class GameWindowStates : GameWindow { static readonly Font TextFont = new Font(FontFamily.GenericSansSerif, 12); Bitmap TextBitmap = new Bitmap(512, 512); int texture; bool mouse_in_window = false; bool viewport_changed = true; bool refresh_text = true; public GameWindowStates() : base(800, 600) { VSync = VSyncMode.On; Keyboard.KeyRepeat = true; Keyboard.KeyDown += KeyDownHandler; MouseEnter += delegate { mouse_in_window = true; }; MouseLeave += delegate { mouse_in_window = false; }; Move += delegate { refresh_text = true; }; Resize += delegate { refresh_text = true; }; WindowBorderChanged += delegate { refresh_text = true; }; WindowStateChanged += delegate { refresh_text = true; }; Mouse.Move += delegate { refresh_text = true; }; } void KeyDownHandler(object sender, KeyboardKeyEventArgs e) { switch (e.Key) { case OpenTK.Input.Key.Escape: this.Exit(); break; case Key.Number1: WindowState = WindowState.Normal; break; case Key.Number2: WindowState = WindowState.Maximized; break; case Key.Number3: WindowState = WindowState.Fullscreen; break; case Key.Number4: WindowState = WindowState.Minimized; break; case Key.Number5: WindowBorder = WindowBorder.Resizable; break; case Key.Number6: WindowBorder = WindowBorder.Fixed; break; case Key.Number7: WindowBorder = WindowBorder.Hidden; break; case Key.Left: X = X - 16; break; case Key.Right: X = X + 16; break; case Key.Up: Y = Y - 16; break; case Key.Down: Y = Y + 16; break; case Key.KeypadPlus: case Key.Plus: Size += new Size(16, 16); break; case Key.KeypadMinus: case Key.Minus: Size -= new Size(16, 16); break; } } static int Clamp(int val, int min, int max) { return val > max ? max : val < min ? min : val; } static void DrawString(Graphics gfx, string str, int line) { gfx.DrawString(str, TextFont, Brushes.White, new PointF(0, line * TextFont.Height)); } protected override void OnUpdateFrame(FrameEventArgs e) { if (refresh_text) { refresh_text = false; using (Graphics gfx = Graphics.FromImage(TextBitmap)) { int line = 0; gfx.Clear(Color.MidnightBlue); gfx.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; DrawString(gfx, String.Format("[1 - 4]: change WindowState (current: {0}).", this.WindowState), line++); DrawString(gfx, String.Format("[5 - 7]: change WindowBorder (current: {0}).", this.WindowBorder), line++); DrawString(gfx, String.Format("Focused: {0}.", this.Focused), line++); DrawString(gfx, String.Format("Mouse {0} window.", mouse_in_window ? "inside" : "outside of"), line++); DrawString(gfx, String.Format("Mouse position: {0}", new Vector3(Mouse.X, Mouse.Y, Mouse.Wheel)), line++); DrawString(gfx, String.Format("Window.Bounds: {0}", Bounds), line++); DrawString(gfx, String.Format("Window.Location: {0}, Size: {1}", Location, Size), line++); DrawString(gfx, String.Format("Window.{{X={0}, Y={1}, Width={2}, Height={3}}}", X, Y, Width, Height), line++); DrawString(gfx, String.Format("Window.ClientRectangle: {0}", ClientRectangle), line++); } } System.Drawing.Imaging.BitmapData data = TextBitmap.LockBits( new System.Drawing.Rectangle(0, 0, TextBitmap.Width, TextBitmap.Height), System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.TexSubImage2D(TextureTarget.Texture2D, 0, 0, 0, TextBitmap.Width, TextBitmap.Height, PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); TextBitmap.UnlockBits(data); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.Texture2D); texture = GL.GenTexture(); GL.BindTexture(TextureTarget.Texture2D, texture); GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, TextBitmap.Width, TextBitmap.Height, 0, PixelFormat.Bgra, PixelType.UnsignedByte, IntPtr.Zero); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Nearest); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Nearest); } protected override void OnResize(EventArgs e) { base.OnResize(e); viewport_changed = true; } protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); if (viewport_changed) { viewport_changed = false; GL.Viewport(0, 0, Width, Height); Matrix4 ortho_projection = Matrix4.CreateOrthographicOffCenter(0, Width, Height, 0, -1, 1); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref ortho_projection); } GL.Clear(ClearBufferMask.ColorBufferBit); GL.Begin(BeginMode.Quads); GL.TexCoord2(0, 0); GL.Vertex2(0, 0); GL.TexCoord2(1, 0); GL.Vertex2(TextBitmap.Width, 0); GL.TexCoord2(1, 1); GL.Vertex2(TextBitmap.Width, TextBitmap.Height); GL.TexCoord2(0, 1); GL.Vertex2(0, TextBitmap.Height); GL.End(); SwapBuffers(); } public static void Main() { using (GameWindowStates ex = new GameWindowStates()) { Utilities.SetWindowTitle(ex); ex.Run(30.0); } } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/TestResolutionChanges.cs0000664000175000017500000000221011453131434024460 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Threading; using OpenTK; namespace Examples.Tests { [Example("Test Resolution Changes", ExampleCategory.OpenTK, "Test", Documentation="TestResolutionChanges")] public class TestResolutionChanges { public static void Main() { foreach (DisplayDevice dev in DisplayDevice.AvailableDisplays) { Trace.WriteLine(dev.ToString()); MessageBox.Show(dev.ToString()); dev.ChangeResolution(dev.SelectResolution(640, 480, 32, 60.0f)); Thread.Sleep(1000); MessageBox.Show(dev.ToString()); dev.RestoreResolution(); Thread.Sleep(1000); MessageBox.Show(dev.ToString()); } } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/Extensions.resx0000664000175000017500000001437211453131434022713 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 True True opentk-1.0.20101006/Source/Examples/OpenTK/Test/MathSpeed.cs0000664000175000017500000000622311453131434022046 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Examples.Tests { [Example("Math speed test", ExampleCategory.OpenTK, "Test", Visible = false)] public class MathSpeed { public static void Main() { /* Stopwatch watch = new Stopwatch(); Vector3 a = new Vector3(0.0f, 0.0f, 0.0f); Vector3 b = new Vector3(1.0f, 1.0f, 1.0f); Vector3 c = new Vector3(3.0f, 3.0f, 3.0f); Vector3 d = new Vector3(4.0f, 4.0f, 4.0f); Vector3 e = Vector3.Zero; Vector3 res; // Force the JIT to compile the functions. Vector3.Add(a, b); Vector3.Add(ref a, ref b, out res); res = a + b; res = Vector3.Zero; watch.Reset(); watch.Start(); for (int i = 100000000; --i != 0; ) ; watch.Stop(); Trace.WriteLine(String.format("Noop\t\t\t\t\t\t{0}ns", (watch.Elapsed.TotalSeconds / 10.0).ToString())); watch.Reset(); watch.Start(); for (int i = 100000000; --i != 0; ) res = Vector3.Add(res, a); watch.Stop(); res += res; // To make sure the whole for-loop isn't optimized-out Trace.WriteLine(String.format("res = Vector3.Add(a, b)\t\t\t{0}ns", (watch.Elapsed.TotalSeconds / 10.0).ToString())); res = Vector3.Zero; watch.Reset(); watch.Start(); for (int i = 100000000; --i != 0; ) res = res + a; watch.Stop(); res += res; // To make sure the whole for-loop isn't optimized-out Trace.WriteLine(String.format("res = a + b\t\t\t\t\t{0}ns", (watch.Elapsed.TotalSeconds / 10.0).ToString())); watch.Reset(); watch.Start(); for (int i = 100000000; --i != 0; ) Vector3.Add(ref res, ref a, out res); watch.Stop(); res += res; // To make sure the whole for-loop isn't optimized-out Trace.WriteLine(String.format("Vector3.Add(ref a, ref b, out res)\t{0}ns", (watch.Elapsed.TotalSeconds / 10.0).ToString())); */ /* a = Vector3.UnitX; b = Vector3.UnitY; res = Vector3.Add(ref a, ref b); Trace.WriteLine(res.ToString()); a = Vector3.UnitX; b = Vector3.UnitY; Vector3.Add(a, b, out res); Trace.WriteLine(res.ToString()); Vector2Im q = new Vector2(0.0f, 1.0f); Vector2Im p = new Vector2(2.0f, 3.0f); Vector2Im s = Vector2.Add(p, q); p = s + q; */ } //static Vector3 pos = new Vector3(); //static Vector3 Pos //{ // get { return pos; } // set { pos = value; } //} } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/MathSerialization.cs0000664000175000017500000000367411453131434023632 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml; #if false using System.Xml.Serialization; namespace Examples.Tests { [Example("Serialization", ExampleCategory.Test)] public class MathSerialization { public static void Main() { using (MemoryStream stream = new MemoryStream()) { XmlSerializer xs = new XmlSerializer(typeof(Matrix4)); { XmlWriterSettings settings = new XmlWriterSettings(); settings.NewLineHandling = NewLineHandling.Entitize; settings.Indent = true; XmlWriter xw = XmlTextWriter.Create(stream, settings); xs.Serialize(xw, Matrix4.Identity); xw.Close(); } stream.Position = 0; byte[] text = new byte[stream.Length]; int pos = 0; do { pos += stream.Read(text, pos, (int)stream.Length); } while (pos != stream.Length); Console.WriteLine(System.Text.Encoding.Default.GetChars(text)); stream.Position = 0; Matrix4 matrix = (Matrix4)xs.Deserialize(stream); if (Matrix4.Identity == matrix) Console.WriteLine("Matrix deserialized correctly."); else Console.WriteLine("Error deserializing matrix."); Console.WriteLine("Press any key to continue..."); Console.ReadKey(false); } } } } #endifopentk-1.0.20101006/Source/Examples/OpenTK/Test/Multithreading.cs0000664000175000017500000000550311453131434023154 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace Examples.Tests { [Example("Multithreading Test", ExampleCategory.OpenTK, "Test")] class Multithreading { public static void Main() { const int ThreadCount = 2; List threads = new List(); // launch threads for (int i = 0; i < ThreadCount; i++) { Thread t = new Thread(RunGame); t.IsBackground = true; t.Priority = ThreadPriority.BelowNormal; t.Start(); threads.Add(t); } // wait for exit foreach (Thread t in threads) { t.Join(); } } static void RunGame() { using (Tutorial.T03_Immediate_Mode_Cube game = new Examples.Tutorial.T03_Immediate_Mode_Cube()) { Utilities.SetWindowTitle(game); game.Keyboard.KeyUp += delegate(object sender, OpenTK.Input.KeyboardKeyEventArgs e) { if (e.Key == OpenTK.Input.Key.F11) { if (game.WindowState == OpenTK.WindowState.Fullscreen) game.WindowState = OpenTK.WindowState.Normal; else game.WindowState = OpenTK.WindowState.Fullscreen; } }; game.Run(30.0); } } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/InputLogger.Designer.cs0000664000175000017500000007766511453131434024214 0ustar laneylaneynamespace Examples.Tests { partial class InputLogger { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.tabControl = new System.Windows.Forms.TabControl(); this.Keyboard = new System.Windows.Forms.TabPage(); this.label4 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.listBox4 = new System.Windows.Forms.ListBox(); this.listBox3 = new System.Windows.Forms.ListBox(); this.listBox2 = new System.Windows.Forms.ListBox(); this.listBox1 = new System.Windows.Forms.ListBox(); this.Mouse = new System.Windows.Forms.TabPage(); this.WindowY = new System.Windows.Forms.Label(); this.WindowX = new System.Windows.Forms.Label(); this.MouseYWindow = new System.Windows.Forms.TextBox(); this.MouseXWindow = new System.Windows.Forms.TextBox(); this.MouseWheelDelta = new System.Windows.Forms.TextBox(); this.WheelDelta = new System.Windows.Forms.Label(); this.MouseWheelText = new System.Windows.Forms.TextBox(); this.MouseWheelLabel = new System.Windows.Forms.Label(); this.MouseDeltaY = new System.Windows.Forms.Label(); this.MouseDeltaX = new System.Windows.Forms.Label(); this.MouseY = new System.Windows.Forms.Label(); this.MouseX = new System.Windows.Forms.Label(); this.MouseDYText = new System.Windows.Forms.TextBox(); this.MouseDXText = new System.Windows.Forms.TextBox(); this.MouseYText = new System.Windows.Forms.TextBox(); this.MouseXText = new System.Windows.Forms.TextBox(); this.MouseButtonsBox = new System.Windows.Forms.ListBox(); this.ChooseMouse = new System.Windows.Forms.ComboBox(); this.HID = new System.Windows.Forms.TabPage(); this.PollTimer = new System.Windows.Forms.Timer(this.components); this.comboBoxActiveJoystick = new System.Windows.Forms.ComboBox(); this.textBoxAxis1 = new System.Windows.Forms.TextBox(); this.textBoxAxis2 = new System.Windows.Forms.TextBox(); this.textBoxAxis3 = new System.Windows.Forms.TextBox(); this.textBoxAxis4 = new System.Windows.Forms.TextBox(); this.textBoxAxis5 = new System.Windows.Forms.TextBox(); this.textBoxAxis6 = new System.Windows.Forms.TextBox(); this.textBoxAxis7 = new System.Windows.Forms.TextBox(); this.textBoxAxis8 = new System.Windows.Forms.TextBox(); this.textBoxAxis9 = new System.Windows.Forms.TextBox(); this.textBoxAxis10 = new System.Windows.Forms.TextBox(); this.labelAxis1 = new System.Windows.Forms.Label(); this.labelAxis2 = new System.Windows.Forms.Label(); this.labelAxis3 = new System.Windows.Forms.Label(); this.labelAxis4 = new System.Windows.Forms.Label(); this.labelAxis5 = new System.Windows.Forms.Label(); this.labelAxis6 = new System.Windows.Forms.Label(); this.labelAxis7 = new System.Windows.Forms.Label(); this.labelAxis8 = new System.Windows.Forms.Label(); this.labelAxis9 = new System.Windows.Forms.Label(); this.labelAxis10 = new System.Windows.Forms.Label(); this.JoystickButtonsBox = new System.Windows.Forms.ListBox(); this.tabControl.SuspendLayout(); this.Keyboard.SuspendLayout(); this.Mouse.SuspendLayout(); this.HID.SuspendLayout(); this.SuspendLayout(); // // tabControl // this.tabControl.Controls.Add(this.Keyboard); this.tabControl.Controls.Add(this.Mouse); this.tabControl.Controls.Add(this.HID); this.tabControl.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl.Location = new System.Drawing.Point(0, 0); this.tabControl.Name = "tabControl"; this.tabControl.SelectedIndex = 0; this.tabControl.Size = new System.Drawing.Size(432, 379); this.tabControl.TabIndex = 0; // // Keyboard // this.Keyboard.BackColor = System.Drawing.SystemColors.ControlLight; this.Keyboard.Controls.Add(this.label4); this.Keyboard.Controls.Add(this.label3); this.Keyboard.Controls.Add(this.label2); this.Keyboard.Controls.Add(this.label1); this.Keyboard.Controls.Add(this.listBox4); this.Keyboard.Controls.Add(this.listBox3); this.Keyboard.Controls.Add(this.listBox2); this.Keyboard.Controls.Add(this.listBox1); this.Keyboard.Location = new System.Drawing.Point(4, 22); this.Keyboard.Name = "Keyboard"; this.Keyboard.Padding = new System.Windows.Forms.Padding(3); this.Keyboard.Size = new System.Drawing.Size(424, 352); this.Keyboard.TabIndex = 0; this.Keyboard.Text = "Keyboard"; // // label4 // this.label4.AutoSize = true; this.label4.Location = new System.Drawing.Point(207, 180); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(64, 13); this.label4.TabIndex = 7; this.label4.Text = "Keyboard 4"; // // label3 // this.label3.AutoSize = true; this.label3.Location = new System.Drawing.Point(6, 180); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(64, 13); this.label3.TabIndex = 6; this.label3.Text = "Keyboard 3"; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(207, 3); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(64, 13); this.label2.TabIndex = 5; this.label2.Text = "Keyboard 2"; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(8, 3); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(64, 13); this.label1.TabIndex = 4; this.label1.Text = "Keyboard 1"; // // listBox4 // this.listBox4.FormattingEnabled = true; this.listBox4.Location = new System.Drawing.Point(210, 197); this.listBox4.Name = "listBox4"; this.listBox4.Size = new System.Drawing.Size(206, 147); this.listBox4.TabIndex = 3; // // listBox3 // this.listBox3.FormattingEnabled = true; this.listBox3.Location = new System.Drawing.Point(9, 197); this.listBox3.Name = "listBox3"; this.listBox3.Size = new System.Drawing.Size(195, 147); this.listBox3.TabIndex = 2; // // listBox2 // this.listBox2.FormattingEnabled = true; this.listBox2.Location = new System.Drawing.Point(210, 20); this.listBox2.Name = "listBox2"; this.listBox2.Size = new System.Drawing.Size(206, 147); this.listBox2.TabIndex = 1; // // listBox1 // this.listBox1.FormattingEnabled = true; this.listBox1.Location = new System.Drawing.Point(9, 20); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(195, 147); this.listBox1.TabIndex = 0; // // Mouse // this.Mouse.BackColor = System.Drawing.SystemColors.ControlLight; this.Mouse.Controls.Add(this.WindowY); this.Mouse.Controls.Add(this.WindowX); this.Mouse.Controls.Add(this.MouseYWindow); this.Mouse.Controls.Add(this.MouseXWindow); this.Mouse.Controls.Add(this.MouseWheelDelta); this.Mouse.Controls.Add(this.WheelDelta); this.Mouse.Controls.Add(this.MouseWheelText); this.Mouse.Controls.Add(this.MouseWheelLabel); this.Mouse.Controls.Add(this.MouseDeltaY); this.Mouse.Controls.Add(this.MouseDeltaX); this.Mouse.Controls.Add(this.MouseY); this.Mouse.Controls.Add(this.MouseX); this.Mouse.Controls.Add(this.MouseDYText); this.Mouse.Controls.Add(this.MouseDXText); this.Mouse.Controls.Add(this.MouseYText); this.Mouse.Controls.Add(this.MouseXText); this.Mouse.Controls.Add(this.MouseButtonsBox); this.Mouse.Controls.Add(this.ChooseMouse); this.Mouse.Location = new System.Drawing.Point(4, 22); this.Mouse.Name = "Mouse"; this.Mouse.Padding = new System.Windows.Forms.Padding(3); this.Mouse.Size = new System.Drawing.Size(424, 353); this.Mouse.TabIndex = 1; this.Mouse.Text = "Mouse"; // // WindowY // this.WindowY.AutoSize = true; this.WindowY.Location = new System.Drawing.Point(4, 239); this.WindowY.Name = "WindowY"; this.WindowY.Size = new System.Drawing.Size(62, 13); this.WindowY.TabIndex = 17; this.WindowY.Text = "Window Y:"; // // WindowX // this.WindowX.AutoSize = true; this.WindowX.Location = new System.Drawing.Point(4, 212); this.WindowX.Name = "WindowX"; this.WindowX.Size = new System.Drawing.Size(63, 13); this.WindowX.TabIndex = 16; this.WindowX.Text = "Window X:"; // // MouseYWindow // this.MouseYWindow.Location = new System.Drawing.Point(80, 232); this.MouseYWindow.Name = "MouseYWindow"; this.MouseYWindow.ReadOnly = true; this.MouseYWindow.Size = new System.Drawing.Size(73, 22); this.MouseYWindow.TabIndex = 15; // // MouseXWindow // this.MouseXWindow.Location = new System.Drawing.Point(80, 205); this.MouseXWindow.Name = "MouseXWindow"; this.MouseXWindow.ReadOnly = true; this.MouseXWindow.Size = new System.Drawing.Size(73, 22); this.MouseXWindow.TabIndex = 14; // // MouseWheelDelta // this.MouseWheelDelta.Location = new System.Drawing.Point(80, 178); this.MouseWheelDelta.Name = "MouseWheelDelta"; this.MouseWheelDelta.ReadOnly = true; this.MouseWheelDelta.Size = new System.Drawing.Size(73, 22); this.MouseWheelDelta.TabIndex = 13; // // WheelDelta // this.WheelDelta.AutoSize = true; this.WheelDelta.Location = new System.Drawing.Point(4, 185); this.WheelDelta.Name = "WheelDelta"; this.WheelDelta.Size = new System.Drawing.Size(73, 13); this.WheelDelta.TabIndex = 12; this.WheelDelta.Text = "Wheel Delta:"; // // MouseWheelText // this.MouseWheelText.Location = new System.Drawing.Point(80, 152); this.MouseWheelText.Name = "MouseWheelText"; this.MouseWheelText.ReadOnly = true; this.MouseWheelText.Size = new System.Drawing.Size(73, 22); this.MouseWheelText.TabIndex = 11; // // MouseWheelLabel // this.MouseWheelLabel.AutoSize = true; this.MouseWheelLabel.Location = new System.Drawing.Point(4, 159); this.MouseWheelLabel.Name = "MouseWheelLabel"; this.MouseWheelLabel.Size = new System.Drawing.Size(43, 13); this.MouseWheelLabel.TabIndex = 10; this.MouseWheelLabel.Text = "Wheel:"; // // MouseDeltaY // this.MouseDeltaY.AutoSize = true; this.MouseDeltaY.Location = new System.Drawing.Point(4, 132); this.MouseDeltaY.Name = "MouseDeltaY"; this.MouseDeltaY.Size = new System.Drawing.Size(45, 13); this.MouseDeltaY.TabIndex = 9; this.MouseDeltaY.Text = "Delta Y:"; // // MouseDeltaX // this.MouseDeltaX.AutoSize = true; this.MouseDeltaX.Location = new System.Drawing.Point(4, 105); this.MouseDeltaX.Name = "MouseDeltaX"; this.MouseDeltaX.Size = new System.Drawing.Size(46, 13); this.MouseDeltaX.TabIndex = 8; this.MouseDeltaX.Text = "Delta X:"; // // MouseY // this.MouseY.AutoSize = true; this.MouseY.Location = new System.Drawing.Point(4, 78); this.MouseY.Name = "MouseY"; this.MouseY.Size = new System.Drawing.Size(60, 13); this.MouseY.TabIndex = 7; this.MouseY.Text = "Position Y:"; // // MouseX // this.MouseX.AutoSize = true; this.MouseX.Location = new System.Drawing.Point(4, 51); this.MouseX.Name = "MouseX"; this.MouseX.Size = new System.Drawing.Size(61, 13); this.MouseX.TabIndex = 6; this.MouseX.Text = "Position X:"; // // MouseDYText // this.MouseDYText.Location = new System.Drawing.Point(80, 125); this.MouseDYText.Name = "MouseDYText"; this.MouseDYText.ReadOnly = true; this.MouseDYText.Size = new System.Drawing.Size(73, 22); this.MouseDYText.TabIndex = 5; // // MouseDXText // this.MouseDXText.Location = new System.Drawing.Point(80, 98); this.MouseDXText.Name = "MouseDXText"; this.MouseDXText.ReadOnly = true; this.MouseDXText.Size = new System.Drawing.Size(73, 22); this.MouseDXText.TabIndex = 4; // // MouseYText // this.MouseYText.Location = new System.Drawing.Point(80, 71); this.MouseYText.Name = "MouseYText"; this.MouseYText.ReadOnly = true; this.MouseYText.Size = new System.Drawing.Size(73, 22); this.MouseYText.TabIndex = 3; // // MouseXText // this.MouseXText.Location = new System.Drawing.Point(80, 44); this.MouseXText.Name = "MouseXText"; this.MouseXText.ReadOnly = true; this.MouseXText.Size = new System.Drawing.Size(73, 22); this.MouseXText.TabIndex = 2; // // MouseButtonsBox // this.MouseButtonsBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.MouseButtonsBox.FormattingEnabled = true; this.MouseButtonsBox.Location = new System.Drawing.Point(190, 44); this.MouseButtonsBox.Name = "MouseButtonsBox"; this.MouseButtonsBox.Size = new System.Drawing.Size(226, 303); this.MouseButtonsBox.TabIndex = 1; // // ChooseMouse // this.ChooseMouse.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.ChooseMouse.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.ChooseMouse.FormattingEnabled = true; this.ChooseMouse.Location = new System.Drawing.Point(7, 7); this.ChooseMouse.Name = "ChooseMouse"; this.ChooseMouse.Size = new System.Drawing.Size(409, 21); this.ChooseMouse.TabIndex = 0; this.ChooseMouse.SelectedIndexChanged += new System.EventHandler(this.ChooseMouse_SelectedIndexChanged); // // HID // this.HID.Controls.Add(this.labelAxis10); this.HID.Controls.Add(this.labelAxis9); this.HID.Controls.Add(this.labelAxis8); this.HID.Controls.Add(this.labelAxis7); this.HID.Controls.Add(this.labelAxis6); this.HID.Controls.Add(this.labelAxis5); this.HID.Controls.Add(this.labelAxis4); this.HID.Controls.Add(this.labelAxis3); this.HID.Controls.Add(this.labelAxis2); this.HID.Controls.Add(this.labelAxis1); this.HID.Controls.Add(this.textBoxAxis10); this.HID.Controls.Add(this.textBoxAxis9); this.HID.Controls.Add(this.textBoxAxis8); this.HID.Controls.Add(this.textBoxAxis7); this.HID.Controls.Add(this.textBoxAxis6); this.HID.Controls.Add(this.textBoxAxis5); this.HID.Controls.Add(this.textBoxAxis4); this.HID.Controls.Add(this.textBoxAxis3); this.HID.Controls.Add(this.textBoxAxis2); this.HID.Controls.Add(this.textBoxAxis1); this.HID.Controls.Add(this.JoystickButtonsBox); this.HID.Controls.Add(this.comboBoxActiveJoystick); this.HID.Location = new System.Drawing.Point(4, 22); this.HID.Name = "HID"; this.HID.Padding = new System.Windows.Forms.Padding(3); this.HID.Size = new System.Drawing.Size(424, 353); this.HID.TabIndex = 2; this.HID.Text = "HID"; this.HID.UseVisualStyleBackColor = true; // // PollTimer // this.PollTimer.Interval = 10; // // comboBoxActiveJoystick // this.comboBoxActiveJoystick.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxActiveJoystick.FormattingEnabled = true; this.comboBoxActiveJoystick.Location = new System.Drawing.Point(7, 7); this.comboBoxActiveJoystick.Name = "comboBoxActiveJoystick"; this.comboBoxActiveJoystick.Size = new System.Drawing.Size(409, 21); this.comboBoxActiveJoystick.TabIndex = 0; // // textBoxAxis1 // this.textBoxAxis1.Location = new System.Drawing.Point(55, 43); this.textBoxAxis1.Name = "textBoxAxis1"; this.textBoxAxis1.ReadOnly = true; this.textBoxAxis1.Size = new System.Drawing.Size(129, 22); this.textBoxAxis1.TabIndex = 2; // // textBoxAxis2 // this.textBoxAxis2.Location = new System.Drawing.Point(55, 72); this.textBoxAxis2.Name = "textBoxAxis2"; this.textBoxAxis2.ReadOnly = true; this.textBoxAxis2.Size = new System.Drawing.Size(129, 22); this.textBoxAxis2.TabIndex = 3; // // textBoxAxis3 // this.textBoxAxis3.Location = new System.Drawing.Point(55, 101); this.textBoxAxis3.Name = "textBoxAxis3"; this.textBoxAxis3.ReadOnly = true; this.textBoxAxis3.Size = new System.Drawing.Size(129, 22); this.textBoxAxis3.TabIndex = 4; // // textBoxAxis4 // this.textBoxAxis4.Location = new System.Drawing.Point(55, 130); this.textBoxAxis4.Name = "textBoxAxis4"; this.textBoxAxis4.ReadOnly = true; this.textBoxAxis4.Size = new System.Drawing.Size(129, 22); this.textBoxAxis4.TabIndex = 5; // // textBoxAxis5 // this.textBoxAxis5.Location = new System.Drawing.Point(55, 158); this.textBoxAxis5.Name = "textBoxAxis5"; this.textBoxAxis5.ReadOnly = true; this.textBoxAxis5.Size = new System.Drawing.Size(129, 22); this.textBoxAxis5.TabIndex = 6; // // textBoxAxis6 // this.textBoxAxis6.Location = new System.Drawing.Point(55, 186); this.textBoxAxis6.Name = "textBoxAxis6"; this.textBoxAxis6.ReadOnly = true; this.textBoxAxis6.Size = new System.Drawing.Size(129, 22); this.textBoxAxis6.TabIndex = 7; // // textBoxAxis7 // this.textBoxAxis7.Location = new System.Drawing.Point(55, 214); this.textBoxAxis7.Name = "textBoxAxis7"; this.textBoxAxis7.ReadOnly = true; this.textBoxAxis7.Size = new System.Drawing.Size(129, 22); this.textBoxAxis7.TabIndex = 8; // // textBoxAxis8 // this.textBoxAxis8.Location = new System.Drawing.Point(55, 242); this.textBoxAxis8.Name = "textBoxAxis8"; this.textBoxAxis8.ReadOnly = true; this.textBoxAxis8.Size = new System.Drawing.Size(129, 22); this.textBoxAxis8.TabIndex = 9; // // textBoxAxis9 // this.textBoxAxis9.Location = new System.Drawing.Point(55, 270); this.textBoxAxis9.Name = "textBoxAxis9"; this.textBoxAxis9.ReadOnly = true; this.textBoxAxis9.Size = new System.Drawing.Size(129, 22); this.textBoxAxis9.TabIndex = 10; // // textBoxAxis10 // this.textBoxAxis10.Location = new System.Drawing.Point(55, 298); this.textBoxAxis10.Name = "textBoxAxis10"; this.textBoxAxis10.ReadOnly = true; this.textBoxAxis10.Size = new System.Drawing.Size(129, 22); this.textBoxAxis10.TabIndex = 11; // // labelAxis1 // this.labelAxis1.AutoSize = true; this.labelAxis1.Location = new System.Drawing.Point(4, 46); this.labelAxis1.Name = "labelAxis1"; this.labelAxis1.Size = new System.Drawing.Size(39, 13); this.labelAxis1.TabIndex = 12; this.labelAxis1.Text = "Axis 1:"; // // labelAxis2 // this.labelAxis2.AutoSize = true; this.labelAxis2.Location = new System.Drawing.Point(4, 75); this.labelAxis2.Name = "labelAxis2"; this.labelAxis2.Size = new System.Drawing.Size(39, 13); this.labelAxis2.TabIndex = 13; this.labelAxis2.Text = "Axis 2:"; // // labelAxis3 // this.labelAxis3.AutoSize = true; this.labelAxis3.Location = new System.Drawing.Point(4, 104); this.labelAxis3.Name = "labelAxis3"; this.labelAxis3.Size = new System.Drawing.Size(39, 13); this.labelAxis3.TabIndex = 14; this.labelAxis3.Text = "Axis 3:"; // // labelAxis4 // this.labelAxis4.AutoSize = true; this.labelAxis4.Location = new System.Drawing.Point(4, 133); this.labelAxis4.Name = "labelAxis4"; this.labelAxis4.Size = new System.Drawing.Size(39, 13); this.labelAxis4.TabIndex = 15; this.labelAxis4.Text = "Axis 4:"; // // labelAxis5 // this.labelAxis5.AutoSize = true; this.labelAxis5.Location = new System.Drawing.Point(4, 161); this.labelAxis5.Name = "labelAxis5"; this.labelAxis5.Size = new System.Drawing.Size(39, 13); this.labelAxis5.TabIndex = 16; this.labelAxis5.Text = "Axis 5:"; // // labelAxis6 // this.labelAxis6.AutoSize = true; this.labelAxis6.Location = new System.Drawing.Point(4, 189); this.labelAxis6.Name = "labelAxis6"; this.labelAxis6.Size = new System.Drawing.Size(39, 13); this.labelAxis6.TabIndex = 17; this.labelAxis6.Text = "Axis 6:"; // // labelAxis7 // this.labelAxis7.AutoSize = true; this.labelAxis7.Location = new System.Drawing.Point(4, 217); this.labelAxis7.Name = "labelAxis7"; this.labelAxis7.Size = new System.Drawing.Size(39, 13); this.labelAxis7.TabIndex = 18; this.labelAxis7.Text = "Axis 7:"; // // labelAxis8 // this.labelAxis8.AutoSize = true; this.labelAxis8.Location = new System.Drawing.Point(4, 245); this.labelAxis8.Name = "labelAxis8"; this.labelAxis8.Size = new System.Drawing.Size(39, 13); this.labelAxis8.TabIndex = 18; this.labelAxis8.Text = "Axis 8:"; // // labelAxis9 // this.labelAxis9.AutoSize = true; this.labelAxis9.Location = new System.Drawing.Point(4, 273); this.labelAxis9.Name = "labelAxis9"; this.labelAxis9.Size = new System.Drawing.Size(39, 13); this.labelAxis9.TabIndex = 19; this.labelAxis9.Text = "Axis 9:"; // // labelAxis10 // this.labelAxis10.AutoSize = true; this.labelAxis10.Location = new System.Drawing.Point(4, 301); this.labelAxis10.Name = "labelAxis10"; this.labelAxis10.Size = new System.Drawing.Size(45, 13); this.labelAxis10.TabIndex = 20; this.labelAxis10.Text = "Axis 10:"; // // JoystickButtonsBox // this.JoystickButtonsBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.JoystickButtonsBox.FormattingEnabled = true; this.JoystickButtonsBox.Location = new System.Drawing.Point(190, 43); this.JoystickButtonsBox.Name = "JoystickButtonsBox"; this.JoystickButtonsBox.Size = new System.Drawing.Size(226, 303); this.JoystickButtonsBox.TabIndex = 1; // // InputLogger // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(432, 379); this.Controls.Add(this.tabControl); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.Name = "InputLogger"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "S04: Input Logger"; this.tabControl.ResumeLayout(false); this.Keyboard.ResumeLayout(false); this.Keyboard.PerformLayout(); this.Mouse.ResumeLayout(false); this.Mouse.PerformLayout(); this.HID.ResumeLayout(false); this.HID.PerformLayout(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.TabControl tabControl; private System.Windows.Forms.TabPage Keyboard; private System.Windows.Forms.TabPage Mouse; private System.Windows.Forms.TabPage HID; private System.Windows.Forms.ListBox listBox4; private System.Windows.Forms.ListBox listBox3; private System.Windows.Forms.ListBox listBox2; private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; private System.Windows.Forms.ComboBox ChooseMouse; private System.Windows.Forms.ListBox MouseButtonsBox; private System.Windows.Forms.Label MouseDeltaY; private System.Windows.Forms.Label MouseDeltaX; private System.Windows.Forms.Label MouseY; private System.Windows.Forms.Label MouseX; private System.Windows.Forms.TextBox MouseDYText; private System.Windows.Forms.TextBox MouseDXText; private System.Windows.Forms.TextBox MouseYText; private System.Windows.Forms.TextBox MouseXText; private System.Windows.Forms.TextBox MouseWheelText; private System.Windows.Forms.Label MouseWheelLabel; private System.Windows.Forms.TextBox MouseWheelDelta; private System.Windows.Forms.Label WheelDelta; private System.Windows.Forms.Timer PollTimer; private System.Windows.Forms.TextBox MouseXWindow; private System.Windows.Forms.Label WindowY; private System.Windows.Forms.Label WindowX; private System.Windows.Forms.TextBox MouseYWindow; private System.Windows.Forms.ComboBox comboBoxActiveJoystick; private System.Windows.Forms.Label labelAxis10; private System.Windows.Forms.Label labelAxis9; private System.Windows.Forms.Label labelAxis8; private System.Windows.Forms.Label labelAxis7; private System.Windows.Forms.Label labelAxis6; private System.Windows.Forms.Label labelAxis5; private System.Windows.Forms.Label labelAxis4; private System.Windows.Forms.Label labelAxis3; private System.Windows.Forms.Label labelAxis2; private System.Windows.Forms.Label labelAxis1; private System.Windows.Forms.TextBox textBoxAxis10; private System.Windows.Forms.TextBox textBoxAxis9; private System.Windows.Forms.TextBox textBoxAxis8; private System.Windows.Forms.TextBox textBoxAxis7; private System.Windows.Forms.TextBox textBoxAxis6; private System.Windows.Forms.TextBox textBoxAxis5; private System.Windows.Forms.TextBox textBoxAxis4; private System.Windows.Forms.TextBox textBoxAxis3; private System.Windows.Forms.TextBox textBoxAxis2; private System.Windows.Forms.TextBox textBoxAxis1; private System.Windows.Forms.ListBox JoystickButtonsBox; } }opentk-1.0.20101006/Source/Examples/OpenTK/Test/Extensions.Designer.cs0000664000175000017500000002667711453131434024111 0ustar laneylaneynamespace Examples.WinForms { partial class Extensions { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.LabelVendor = new System.Windows.Forms.Label(); this.LabelRenderer = new System.Windows.Forms.Label(); this.LabelVersion = new System.Windows.Forms.Label(); this.TextBoxVendor = new System.Windows.Forms.TextBox(); this.TextBoxRenderer = new System.Windows.Forms.TextBox(); this.TextBoxVersion = new System.Windows.Forms.TextBox(); this.LabelSupport = new System.Windows.Forms.Label(); this.TextBoxSupport = new System.Windows.Forms.TextBox(); this.SupportedColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.NameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.CategoryColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Version = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ExtensionColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.UnmanagedName = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); this.SuspendLayout(); // // backgroundWorker1 // this.backgroundWorker1.WorkerReportsProgress = true; this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork); this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted); // // dataGridView1 // this.dataGridView1.AllowUserToAddRows = false; this.dataGridView1.AllowUserToDeleteRows = false; this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.SupportedColumn, this.NameColumn, this.CategoryColumn, this.Version, this.ExtensionColumn, this.UnmanagedName}); this.dataGridView1.Location = new System.Drawing.Point(0, 110); this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.ReadOnly = true; this.dataGridView1.Size = new System.Drawing.Size(939, 397); this.dataGridView1.TabIndex = 1; // // LabelVendor // this.LabelVendor.AutoSize = true; this.LabelVendor.Location = new System.Drawing.Point(12, 9); this.LabelVendor.Name = "LabelVendor"; this.LabelVendor.Size = new System.Drawing.Size(41, 13); this.LabelVendor.TabIndex = 2; this.LabelVendor.Text = "Vendor"; // // LabelRenderer // this.LabelRenderer.AutoSize = true; this.LabelRenderer.Location = new System.Drawing.Point(12, 35); this.LabelRenderer.Name = "LabelRenderer"; this.LabelRenderer.Size = new System.Drawing.Size(51, 13); this.LabelRenderer.TabIndex = 3; this.LabelRenderer.Text = "Renderer"; // // LabelVersion // this.LabelVersion.AutoSize = true; this.LabelVersion.Location = new System.Drawing.Point(12, 61); this.LabelVersion.Name = "LabelVersion"; this.LabelVersion.Size = new System.Drawing.Size(42, 13); this.LabelVersion.TabIndex = 4; this.LabelVersion.Text = "Version"; // // TextBoxVendor // this.TextBoxVendor.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.TextBoxVendor.Location = new System.Drawing.Point(70, 6); this.TextBoxVendor.Name = "TextBoxVendor"; this.TextBoxVendor.ReadOnly = true; this.TextBoxVendor.Size = new System.Drawing.Size(856, 20); this.TextBoxVendor.TabIndex = 5; // // TextBoxRenderer // this.TextBoxRenderer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.TextBoxRenderer.Location = new System.Drawing.Point(70, 32); this.TextBoxRenderer.Name = "TextBoxRenderer"; this.TextBoxRenderer.ReadOnly = true; this.TextBoxRenderer.Size = new System.Drawing.Size(856, 20); this.TextBoxRenderer.TabIndex = 6; // // TextBoxVersion // this.TextBoxVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.TextBoxVersion.Location = new System.Drawing.Point(70, 58); this.TextBoxVersion.Name = "TextBoxVersion"; this.TextBoxVersion.ReadOnly = true; this.TextBoxVersion.Size = new System.Drawing.Size(856, 20); this.TextBoxVersion.TabIndex = 7; // // LabelSupport // this.LabelSupport.AutoSize = true; this.LabelSupport.Location = new System.Drawing.Point(12, 87); this.LabelSupport.Name = "LabelSupport"; this.LabelSupport.Size = new System.Drawing.Size(44, 13); this.LabelSupport.TabIndex = 8; this.LabelSupport.Text = "Support"; // // TextBoxSupport // this.TextBoxSupport.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.TextBoxSupport.Location = new System.Drawing.Point(70, 84); this.TextBoxSupport.Name = "TextBoxSupport"; this.TextBoxSupport.ReadOnly = true; this.TextBoxSupport.Size = new System.Drawing.Size(856, 20); this.TextBoxSupport.TabIndex = 9; // // SupportedColumn // this.SupportedColumn.HeaderText = ""; this.SupportedColumn.Name = "SupportedColumn"; this.SupportedColumn.ReadOnly = true; this.SupportedColumn.Width = 24; // // NameColumn // this.NameColumn.HeaderText = "Name"; this.NameColumn.Name = "NameColumn"; this.NameColumn.ReadOnly = true; this.NameColumn.Width = 852; // // CategoryColumn // this.CategoryColumn.HeaderText = "Category"; this.CategoryColumn.Name = "CategoryColumn"; this.CategoryColumn.ReadOnly = true; this.CategoryColumn.Width = 5; // // Version // this.Version.HeaderText = "Introduced"; this.Version.Name = "Version"; this.Version.ReadOnly = true; this.Version.Width = 5; // // ExtensionColumn // this.ExtensionColumn.HeaderText = "Extension"; this.ExtensionColumn.Name = "ExtensionColumn"; this.ExtensionColumn.ReadOnly = true; this.ExtensionColumn.Width = 5; // // UnmanagedName // this.UnmanagedName.HeaderText = "Unmanaged Name"; this.UnmanagedName.Name = "UnmanagedName"; this.UnmanagedName.ReadOnly = true; this.UnmanagedName.Width = 5; // // Extensions // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.ClientSize = new System.Drawing.Size(938, 508); this.Controls.Add(this.TextBoxSupport); this.Controls.Add(this.LabelSupport); this.Controls.Add(this.TextBoxVersion); this.Controls.Add(this.TextBoxRenderer); this.Controls.Add(this.TextBoxVendor); this.Controls.Add(this.LabelVersion); this.Controls.Add(this.LabelRenderer); this.Controls.Add(this.LabelVendor); this.Controls.Add(this.dataGridView1); this.Name = "Extensions"; this.Text = "W03_Extensions"; ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.ComponentModel.BackgroundWorker backgroundWorker1; private System.Windows.Forms.DataGridView dataGridView1; private System.Windows.Forms.Label LabelVendor; private System.Windows.Forms.Label LabelRenderer; private System.Windows.Forms.Label LabelVersion; private System.Windows.Forms.TextBox TextBoxVendor; private System.Windows.Forms.TextBox TextBoxRenderer; private System.Windows.Forms.TextBox TextBoxVersion; private System.Windows.Forms.Label LabelSupport; private System.Windows.Forms.TextBox TextBoxSupport; private System.Windows.Forms.DataGridViewCheckBoxColumn SupportedColumn; private System.Windows.Forms.DataGridViewTextBoxColumn NameColumn; private System.Windows.Forms.DataGridViewTextBoxColumn CategoryColumn; private System.Windows.Forms.DataGridViewTextBoxColumn Version; private System.Windows.Forms.DataGridViewTextBoxColumn ExtensionColumn; private System.Windows.Forms.DataGridViewTextBoxColumn UnmanagedName; } }opentk-1.0.20101006/Source/Examples/OpenTK/Test/BlittableValueTypes.cs0000664000175000017500000000515311453131434024121 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Diagnostics; using System.Reflection; using OpenTK; namespace Examples.Tests { struct Simple { public int Value; } struct Generic { public T Value; } enum Enum { First, Second } struct Complex { public Simple Value; } struct Complex { public Generic Value; } struct Complex2 { public Enum Value; } struct Complex3 { public Class Value; } struct Complex4 : Interface { public Class Value; } class Class { public int Value; } class Class { public T Value; } interface Interface { } [Example("Blittable Value Types", ExampleCategory.OpenTK, "Test", Documentation="BlittableValueTypes")] public class BlittableValueTypes { public static void Main() { TestType(new Simple()); TestType(new Generic()); TestType(new Generic()); TestType(new Complex()); TestType(new Complex()); TestType(new Complex2()); TestType(new Complex3()); TestType(new Complex4()); TestType(new Class()); TestType(new Class()); } // Tests whether specified type is blittable and prints its marshalled size if so. static void TestType(T instance) { PrintType(); Trace.Write(BlittableValueType.Check(instance) ? "is blittable " : "is not blittable "); try { // StrideOf() will throw an ArgumentException if the type is not blittable. Trace.Write(String.Format("({0} bytes)", BlittableValueType.StrideOf(instance))); } catch (Exception e) { Trace.Write(String.Format("({0})", e.GetType().Name)); } Trace.WriteLine(""); } // Prints a simple description for the type. static void PrintType() { Type type = typeof(T); string typename = type.GetFields()[0].FieldType.ToString(); Trace.Write(type.IsClass ? "class " : type.IsEnum ? "enum " : type.IsInterface ? "interface " : "struct "); Trace.Write(type.Name); if (type.IsGenericType) Trace.Write(String.Format("<{0}>", type.GetGenericArguments()[0].Name)); Trace.Write(" { "); Trace.Write(typename.Substring(typename.LastIndexOf('.') + 1)); Trace.Write(" } "); } } } opentk-1.0.20101006/Source/Examples/OpenTK/Test/InputLogger.resx0000664000175000017500000001357311453131434023015 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/0000775000175000017500000000000011453142152020763 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowSimple.rtf0000664000175000017500000000306111453131434024714 0ustar laneylaney{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset161{\*\fname Arial;}Arial Greek;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fnil\fcharset0 Courier New;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\nowidctlpar\cf1\lang1032\b\f0\fs28 Introduction\b0\fs22\par \par This sample \lang1033\f1 explains how to use the \lang1032\f0 GameWindow\lang1033\f1 class. It creates a new GameWindow, hooks the necessary events and renders a simple triangle on screen.\par \lang1032\f0\par \b\fs28 Controls\par \b0\fs22\par Move or resize the window with your mouse.\par \lang1033\f1 Press F11 to toggle between fullscreen and windowed modes.\par Press Esc to exit.\lang1032\f0\par \par \b\fs28 Implementation\par \b0\fs22\par \lang1033\f1 This samples subclasses GameWindow and overrides its Load, Unload, Resize, UpdateFrame and RenderFrame events.\par \par 1. The Load event is responsible for setting up persistent OpenGL state (e.g. background color) and loading the necessary resources (e.g. textures). This sample is very simple, so we don't need to load any resouces.\par \par 2. The Unload event is responsible for cleaning up the resources we loaded. This sample is very simple, so we don't need to unload any resouces.\par \par 3. The Resize event is responsible for refreshing the viewport whenever the user resizes the window.\par \par 4. The UpdateFrame event is responsible for updating the game state.\par \par 5. The RenderFrame event is responsible for rendering all game objects.\cf0\f2\par \pard\par } opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowMsaa.cs0000664000175000017500000000761711453131434024171 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Drawing; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples { [Example("GameWindow MSAA", ExampleCategory.OpenTK, "GameWindow", 2, Documentation = "GameWindowMsaa")] public class FullscreenAntialias : GameWindow { public FullscreenAntialias() : base(800, 600, new GraphicsMode(32, 0, 0, 4)) { Keyboard.KeyDown += Keyboard_KeyDown; } #region Keyboard_KeyDown /// /// Occurs when a key is pressed. /// /// The KeyboardDevice which generated this event. /// The key that was pressed. void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { if (e.Key == Key.Escape) this.Exit(); if (e.Key == Key.F11) if (this.WindowState == WindowState.Fullscreen) this.WindowState = WindowState.Normal; else this.WindowState = WindowState.Fullscreen; } #endregion #region OnLoad /// /// Setup OpenGL and load resources here. /// /// Not used. protected override void OnLoad(EventArgs e) { GL.ClearColor(Color.MidnightBlue); } #endregion #region OnResize /// /// Respond to resize events here. /// /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 4.0); base.OnResize(e); } #endregion #region OnUpdateFrame /// /// Add your game logic here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame(FrameEventArgs e) { // Nothing to do! } #endregion #region OnRenderFrame /// /// Add your game rendering code here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); GL.Begin(BeginMode.Triangles); GL.Color3(Color.MidnightBlue); GL.Vertex2(-1.0f, 1.0f); GL.Color3(Color.SpringGreen); GL.Vertex2(0.0f, -1.0f); GL.Color3(Color.Ivory); GL.Vertex2(1.0f, 1.0f); GL.End(); this.SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (FullscreenAntialias example = new FullscreenAntialias()) { // Get the title and category of this example using reflection. Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowThreaded.cs0000664000175000017500000002511411453131434025020 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Threading; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { /// /// Demonstrates how to decouple rendering from the main thread. /// Note that all OpenGL function calls should take place at the rendering thread - /// OpenGL will not be available on the main thread at all! /// [Example("GameWindow Threaded", ExampleCategory.OpenTK, "GameWindow", 3, Documentation = "GameWindowThreaded")] public class ThreadedRendering : GameWindow { bool viewport_changed = true; int viewport_width, viewport_height; bool position_changed = true; int position_x, position_y; float position_dx, position_dy; bool exit = false; Thread rendering_thread; object update_lock = new object(); const float GravityAccel = -9.81f; struct Particle { public Vector2 Position; public Vector2 Velocity; public Color4 Color; } List Particles = new List(); Random rand = new Random(); public ThreadedRendering() : base(800, 600) { Keyboard.KeyDown += delegate(object sender, KeyboardKeyEventArgs e) { if (e.Key == Key.Escape) this.Exit(); }; Keyboard.KeyUp += delegate(object sender, KeyboardKeyEventArgs e) { if (e.Key == Key.F11) if (this.WindowState == WindowState.Fullscreen) this.WindowState = WindowState.Normal; else this.WindowState = WindowState.Fullscreen; }; Resize += delegate(object sender, EventArgs e) { // Note that we cannot call any OpenGL methods directly. What we can do is set // a flag and respond to it from the rendering thread. lock (update_lock) { viewport_changed = true; viewport_width = Width; viewport_height = Height; } }; Move += delegate(object sender, EventArgs e) { // Note that we cannot call any OpenGL methods directly. What we can do is set // a flag and respond to it from the rendering thread. lock (update_lock) { position_changed = true; position_dx = (position_x - X) / (float)Width; position_dy = (position_y - Y) / (float)Height; position_x = X; position_y = Y; } }; // Make sure initial position are correct, otherwise we'll give a huge // initial velocity to the balls. position_x = X; position_y = Y; } #region OnLoad /// /// Setup OpenGL and load resources here. /// /// Not used. protected override void OnLoad(EventArgs e) { Context.MakeCurrent(null); // Release the OpenGL context so it can be used on the new thread. rendering_thread = new Thread(RenderLoop); rendering_thread.IsBackground = true; rendering_thread.Start(); } #endregion #region OnUnload /// /// Release resources here. /// /// Not used. protected override void OnUnload(EventArgs e) { exit = true; // Set a flag that the rendering thread should stop running. rendering_thread.Join(); base.OnUnload(e); } #endregion #region OnUpdateFrame /// /// Add your game logic here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame(FrameEventArgs e) { // Nothing to do! } #endregion #region OnRenderFrame /// /// Ignored. All rendering is performed on our own rendering function. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { // Nothing to do. Release the CPU to other threads. Thread.Sleep(1); } #endregion #region RenderLoop void RenderLoop() { MakeCurrent(); // The context now belongs to this thread. No other thread may use it! VSync = VSyncMode.On; for (int i = 0; i < 64; i++) { Particle p = new Particle(); p.Position = new Vector2((float)rand.NextDouble() * 2 - 1, (float)rand.NextDouble() * 2 - 1); p.Color.R = (float)rand.NextDouble(); p.Color.G = (float)rand.NextDouble(); p.Color.B = (float)rand.NextDouble(); Particles.Add(p); } // Since we don't use OpenTK's timing mechanism, we need to keep time ourselves; Stopwatch render_watch = new Stopwatch(); Stopwatch update_watch = new Stopwatch(); update_watch.Start(); render_watch.Start(); GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.PointSmooth); GL.PointSize(16); while (!exit) { Update(update_watch.Elapsed.TotalSeconds); update_watch.Reset(); update_watch.Start(); Render(render_watch.Elapsed.TotalSeconds); render_watch.Reset(); // Stopwatch may be inaccurate over larger intervals. render_watch.Start(); // Plus, timekeeping is easier if we always start counting from 0. SwapBuffers(); } Context.MakeCurrent(null); } #endregion #region Update void Update(double time) { lock (update_lock) { // When the user moves the window we make the particles react to // this movement. The reaction is semi-random and not physically // correct. It looks quite good, however. if (position_changed) { for (int i = 0; i < Particles.Count; i++) { Particle p = Particles[i]; p.Velocity += new Vector2( 16 * (position_dx + 0.05f * (float)(rand.NextDouble() - 0.5)), 32 * (position_dy + 0.05f * (float)(rand.NextDouble() - 0.5))); Particles[i] = p; } position_changed = false; } } // For simplicity, we use simple Euler integration to simulate particle movement. // This is not accurate, especially under varying timesteps (as is the case here). // A better solution would have been time-corrected Verlet integration, as // described here: // http://www.gamedev.net/reference/programming/features/verlet/ for (int i = 0; i < Particles.Count; i++) { Particle p = Particles[i]; p.Velocity.X = Math.Abs(p.Position.X) >= 1 ?-p.Velocity.X * 0.92f : p.Velocity.X * 0.97f; p.Velocity.Y = Math.Abs(p.Position.Y) >= 1 ? -p.Velocity.Y * 0.92f : p.Velocity.Y * 0.97f; if (p.Position.Y > -0.99) { p.Velocity.Y += (float)(GravityAccel * time); } else { if (Math.Abs(p.Velocity.Y) < 0.02) { p.Velocity.Y = 0; p.Position.Y = -1; } else { p.Velocity.Y *= 0.9f; } } p.Position += p.Velocity * (float)time; if (p.Position.Y <= -1) p.Position.Y = -1; Particles[i] = p; } } #endregion #region Render /// /// This is our main rendering function, which executes on the rendering thread. /// public void Render(double time) { lock (update_lock) { if (viewport_changed) { GL.Viewport(0, 0, viewport_width, viewport_height); viewport_changed = false; } } Matrix4 perspective = Matrix4.CreateOrthographic(2, 2, -1, 1); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perspective); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); GL.Begin(BeginMode.Points); foreach (Particle p in Particles) { GL.Color4(p.Color); GL.Vertex2(p.Position); } GL.End(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (GameWindow example = new ThreadedRendering()) { // Get the title and category of this example using reflection. Utilities.SetWindowTitle(example); example.Run(); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowMsaa.rtf0000664000175000017500000000262411453131434024350 0ustar laneylaney{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset161{\*\fname Arial;}Arial Greek;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fnil\fcharset0 Courier New;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\nowidctlpar\cf1\lang1032\b\f0\fs28 Introduction\b0\fs22\par \par This sample \lang1033\f1 explains how to render graphics with multisample antialiasing. It uses the same code as the simple GameWindow sample, so refer to that for an explanation on the various event handlers.\par \lang1032\f0\par \b\fs28 Controls\par \b0\fs22\par Move or resize the window with your mouse.\par \lang1033\f1 Press F11 to toggle between fullscreen and windowed modes.\par Press Esc to exit.\lang1032\f0\par \par \b\fs28 Implementation\par \b0\fs22\par \pard\lang1033\f1 The GameWindow offers various constructors that allow you to specify the exact GraphicsMode for the constructed GraphicsContext. The "samples" parameter represents the level of antialiasing you wish to use.\par \par In order to enable multisample antialiasing, simply pass a positive integer to the samples parameter. Typical values are 2, 4, 6, 8 and 16, but the exact list depends on the capabilities of your video card.\par \par If you pass an unsupported value, context construction may fail with a GraphicsModeException. However, some drivers may simply ignore unsupported samples values.\cf0\f2\par } opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowThreaded.rtf0000664000175000017500000000355211453131434025210 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset161{\*\fname Arial;}Arial Greek;}{\f1\fswiss\fprq2\fcharset0 Arial;}{\f2\fswiss\fprq2\fcharset238{\*\fname Arial;}Arial CE;}{\f3\fnil\fcharset0 Courier New;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\nowidctlpar\cf1\lang1032\b\f0\fs28 Introduction\b0\fs22\par \par This sample showcases the multi-threading capabilities of the GameWindow. It simulates particle movement that interacts with the window bounds and reacts to window Resize and Move events.\par \par \b\fs28 Controls\par \b0\fs22\par Move or resize the window with your mouse.\par \lang1033\f1 Press F11 to toggle between fullscreen and windowed modes.\par Press Esc to exit.\lang1032\f0\par \par \b\fs28 Implementation\par \b0\fs22\par This sample spawns a background thread to handle OpenGL rendering. The main thread reacts to IGameWindow events as usual but contains no OpenGL commands. Instead, it notifies the background thread of the necessary IGameWindow state changes (e.g. Resize events) and lets it handle them\lang1033\f2\'ff\lang1032\f0 .\par \par 1. The constructor hooks IGameWindow events using anonymous delegates. These hooks handle keyboard input, resize and move events. In the case of resize and move events, they set flags to notify the render thread of the state changes.\par \par 2. The Load event releases the OpenGL context from the main thread (Context.MakeCurrent(null)) and spawns the background render thread.\par \par 3. The background render thread make the OpenGL context current (MakeCurrent()) and then enters a continuous game loop until exit. This loop handles logic updates, OpenGL rendering and the necessary timing tasks.\par \par 4. The Unload event notifies the background thread that it should shut down and waits until it does.\cf0\lang1033\f3\par } opentk-1.0.20101006/Source/Examples/OpenTK/GameWindow/GameWindowSimple.cs0000664000175000017500000000755411453131434024541 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Drawing; using OpenTK; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { /// /// Demonstrates the GameWindow class. /// [Example("GameWindow Simple", ExampleCategory.OpenTK, "GameWindow", 1, Documentation = "GameWindowSimple")] public class SimpleWindow : GameWindow { public SimpleWindow() : base(800, 600) { Keyboard.KeyDown += Keyboard_KeyDown; } #region Keyboard_KeyDown /// /// Occurs when a key is pressed. /// /// The KeyboardDevice which generated this event. /// The key that was pressed. void Keyboard_KeyDown(object sender, KeyboardKeyEventArgs e) { if (e.Key == Key.Escape) this.Exit(); if (e.Key == Key.F11) if (this.WindowState == WindowState.Fullscreen) this.WindowState = WindowState.Normal; else this.WindowState = WindowState.Fullscreen; } #endregion #region OnLoad /// /// Setup OpenGL and load resources here. /// /// Not used. protected override void OnLoad(EventArgs e) { GL.ClearColor(Color.MidnightBlue); } #endregion #region OnResize /// /// Respond to resize events here. /// /// Contains information on the new GameWindow size. /// There is no need to call the base implementation. protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(-1.0, 1.0, -1.0, 1.0, 0.0, 4.0); } #endregion #region OnUpdateFrame /// /// Add your game logic here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnUpdateFrame(FrameEventArgs e) { // Nothing to do! } #endregion #region OnRenderFrame /// /// Add your game rendering code here. /// /// Contains timing information. /// There is no need to call the base implementation. protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); GL.Begin(BeginMode.Triangles); GL.Color3(Color.MidnightBlue); GL.Vertex2(-1.0f, 1.0f); GL.Color3(Color.SpringGreen); GL.Vertex2(0.0f, -1.0f); GL.Color3(Color.Ivory); GL.Vertex2(1.0f, 1.0f); GL.End(); this.SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleWindow example = new SimpleWindow()) { // Get the title and category of this example using reflection. Utilities.SetWindowTitle(example); example.Run(30.0, 0.0); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/0000775000175000017500000000000011453142152020565 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlGameLoop.cs0000664000175000017500000001441711453131436024415 0ustar laneylaney#region --- License --- /* This source file is released under the MIT license. See License.txt for more information. * Coded by Erik Ylvisaker and Stefanos Apostolopoulos. */ #endregion #region --- Using directives --- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Threading; using OpenTK.Graphics.OpenGL; using OpenTK.Platform; using OpenTK; #endregion namespace Examples.WinForms { [Example("Simple GLControl Game Loop", ExampleCategory.OpenTK, "GLControl", 2, Documentation="GLControlGameLoop")] public partial class GameLoopForm : Form { static float angle = 0.0f; #region --- Constructor --- public GameLoopForm() { InitializeComponent(); } #endregion #region OnLoad protected override void OnLoad(EventArgs e) { base.OnLoad(e); glControl.KeyDown += new KeyEventHandler(glControl_KeyDown); glControl.KeyUp += new KeyEventHandler(glControl_KeyUp); glControl.Resize += new EventHandler(glControl_Resize); glControl.Paint += new PaintEventHandler(glControl_Paint); Text = GL.GetString(StringName.Vendor) + " " + GL.GetString(StringName.Renderer) + " " + GL.GetString(StringName.Version); GL.ClearColor(Color.MidnightBlue); GL.Enable(EnableCap.DepthTest); Application.Idle += Application_Idle; // Ensure that the viewport and projection matrix are set correctly. glControl_Resize(glControl, EventArgs.Empty); } void glControl_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.F12) glControl.GrabScreenshot().Save("screenshot.png"); } #endregion #region OnClosing protected override void OnClosing(CancelEventArgs e) { Application.Idle -= Application_Idle; base.OnClosing(e); } #endregion #region Application_Idle event void Application_Idle(object sender, EventArgs e) { while (glControl.IsIdle) { Render(); } } #endregion #region GLControl.Resize event handler void glControl_Resize(object sender, EventArgs e) { OpenTK.GLControl c = sender as OpenTK.GLControl; if (c.ClientSize.Height == 0) c.ClientSize = new System.Drawing.Size(c.ClientSize.Width, 1); GL.Viewport(0, 0, c.ClientSize.Width, c.ClientSize.Height); float aspect_ratio = Width / (float)Height; Matrix4 perpective = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspect_ratio, 1, 64); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref perpective); } #endregion #region GLControl.KeyDown event handler void glControl_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyData) { case Keys.Escape: this.Close(); break; } } #endregion #region GLControl.Paint event handler void glControl_Paint(object sender, PaintEventArgs e) { Render(); } #endregion #region private void Render() private void Render() { Matrix4 lookat = Matrix4.LookAt(0, 5, 5, 0, 0, 0, 0, 1, 0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref lookat); GL.Rotate(angle, 0.0f, 1.0f, 0.0f); angle += 0.5f; GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); DrawCube(); glControl.SwapBuffers(); } #endregion #region private void DrawCube() private void DrawCube() { GL.Begin(BeginMode.Quads); GL.Color3(Color.Silver); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Color3(Color.Honeydew); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Color3(Color.Moccasin); GL.Vertex3(-1.0f, -1.0f, -1.0f); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Color3(Color.IndianRed); GL.Vertex3(-1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Color3(Color.PaleVioletRed); GL.Vertex3(-1.0f, 1.0f, -1.0f); GL.Vertex3(-1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Color3(Color.ForestGreen); GL.Vertex3(1.0f, -1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, -1.0f); GL.Vertex3(1.0f, 1.0f, 1.0f); GL.Vertex3(1.0f, -1.0f, 1.0f); GL.End(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (GameLoopForm example = new GameLoopForm()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Text = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.ShowDialog(); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/DerivedGLControl.resx0000664000175000017500000001326611453131436024651 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/DerivedGLControl.Designer.cs0000664000175000017500000000220011453131436026016 0ustar laneylaneynamespace Examples.WinForms { partial class DerivedGLControl { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { components = new System.ComponentModel.Container(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlGameLoop.resx0000664000175000017500000001326611453131436024772 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/MultipleGLControls.resx0000664000175000017500000001326611453131436025245 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlGameLoop.Designer.cs0000664000175000017500000000403711453131436026151 0ustar laneylaneynamespace Examples.WinForms { partial class GameLoopForm { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.glControl = new OpenTK.GLControl(); this.SuspendLayout(); // // glControl // this.glControl.BackColor = System.Drawing.Color.Black; this.glControl.Dock = System.Windows.Forms.DockStyle.Fill; this.glControl.Location = new System.Drawing.Point(0, 0); this.glControl.Name = "glControl"; this.glControl.Size = new System.Drawing.Size(784, 564); this.glControl.TabIndex = 0; this.glControl.VSync = false; // // W02_Immediate_Mode_Cube // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(784, 564); this.Controls.Add(this.glControl); this.Name = "W02_Immediate_Mode_Cube"; this.Text = "Cube"; this.ResumeLayout(false); } #endregion private OpenTK.GLControl glControl; } }opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/DerivedGLControl.cs0000664000175000017500000000212711453131436024267 0ustar laneylaneyusing System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using OpenTK; using OpenTK.Graphics.OpenGL; namespace Examples.WinForms { public partial class DerivedGLControl : GLControl { Color clearColor; public DerivedGLControl() { this.InitializeComponent(); } public Color ClearColor { get { return clearColor; } set { clearColor = value; if (!this.DesignMode) { MakeCurrent(); GL.ClearColor(clearColor); } } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (!this.DesignMode) { MakeCurrent(); GL.Clear(ClearBufferMask.ColorBufferBit); SwapBuffers(); } } } } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/MultipleGLControls.Designer.cs0000664000175000017500000000573011453131436026425 0ustar laneylaneynamespace Examples.WinForms { partial class MultipleGLControlsForm { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.derivedGLControl1 = new Examples.WinForms.DerivedGLControl(); this.derivedGLControl2 = new Examples.WinForms.DerivedGLControl(); this.SuspendLayout(); // // derivedGLControl1 // this.derivedGLControl1.BackColor = System.Drawing.Color.Black; this.derivedGLControl1.ClearColor = System.Drawing.Color.Blue; this.derivedGLControl1.Location = new System.Drawing.Point(12, 12); this.derivedGLControl1.Name = "derivedGLControl1"; this.derivedGLControl1.Size = new System.Drawing.Size(300, 225); this.derivedGLControl1.TabIndex = 0; this.derivedGLControl1.VSync = false; // // derivedGLControl2 // this.derivedGLControl2.BackColor = System.Drawing.Color.Black; this.derivedGLControl2.ClearColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); this.derivedGLControl2.Location = new System.Drawing.Point(319, 13); this.derivedGLControl2.Name = "derivedGLControl2"; this.derivedGLControl2.Size = new System.Drawing.Size(293, 224); this.derivedGLControl2.TabIndex = 1; this.derivedGLControl2.VSync = false; // // W04_Multiple_GLControls // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(624, 444); this.Controls.Add(this.derivedGLControl2); this.Controls.Add(this.derivedGLControl1); this.Name = "W04_Multiple_GLControls"; this.Text = "W04_Multiple_GLControls"; this.ResumeLayout(false); } #endregion private DerivedGLControl derivedGLControl1; private DerivedGLControl derivedGLControl2; } }opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlSimple.cs0000664000175000017500000000501111453131436024131 0ustar laneylaney// This code is in the Public Domain. It is provided "as is" // without express or implied warranty of any kind. using System; using System.Drawing; using System.Windows.Forms; using OpenTK.Graphics.OpenGL; namespace Examples.WinForms { [Example("GLControl Simple", ExampleCategory.OpenTK, "GLControl", 1, Documentation="GLControlSimple")] public partial class SimpleForm : Form { public SimpleForm() { InitializeComponent(); } #region Events protected override void OnLoad(EventArgs e) { base.OnLoad(e); glControl1_Resize(this, EventArgs.Empty); // Ensure the Viewport is set up correctly GL.ClearColor(Color.Crimson); } private void redButton_Click(object sender, EventArgs e) { GL.ClearColor(Color.Crimson); glControl1.Invalidate(); } private void greenButton_Click(object sender, EventArgs e) { GL.ClearColor(Color.ForestGreen); glControl1.Invalidate(); } private void blueButton_Click(object sender, EventArgs e) { GL.ClearColor(Color.RoyalBlue); glControl1.Invalidate(); } private void glControl1_Paint(object sender, PaintEventArgs e) { glControl1.MakeCurrent(); GL.Clear(ClearBufferMask.ColorBufferBit); glControl1.SwapBuffers(); } private void glControl1_Resize(object sender, EventArgs e) { if (glControl1.ClientSize.Height == 0) glControl1.ClientSize = new System.Drawing.Size(glControl1.ClientSize.Width, 1); GL.Viewport(0, 0, glControl1.ClientSize.Width, glControl1.ClientSize.Height); } private void glControl1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyData) { case Keys.Escape: this.Close(); break; } } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (SimpleForm example = new SimpleForm()) { Utilities.SetWindowTitle(example); example.ShowDialog(); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlSimple.resx0000664000175000017500000001326611453131436024520 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlSimple.rtf0000664000175000017500000000340111453131436024320 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0{\fonttbl{\f0\fnil\fcharset0 Arial;}} {\colortbl ;\red163\green21\blue21;} {\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\cf1\lang1033\b\fs28 Introduction\b0\fs22\par \par This sample demonstrates the GLControl, a powerful, easy-to-use WinForms Control that supports OpenGL rendering. It displays a Form that consists of a GLControl and three buttons that change the OpenGL clear color.\par \par The GLControl is suitable to rich, event-based GUIs. It is cross-platform and integrates well with WinForms applications but can also be used with WPF applications using a WindowsFormsHost control.\par \par While it is possible to implement continuous rendering with GLControl (see next sample), applications that require continuous rendering can achieve better performance with GameWindow.\par \par \b\fs28 Controls\par \b0\fs22\par Click on the buttons to change the background color for the GLControl.\par Press Esc or click the close button to exit.\par \par \b\fs28 Implementation\par \b0\fs22\par This sample was created using the WinForms designer in Visual Studio. As such, the code follows the conventions of this designer.\par \par 1. The constructor calls InitializeComponents(). This method is generated by the designer and initializes the Form, GLControl and Buttons.\par \par 2. The glControl1_Paint event handler is called whenever GLControl needs to be repainted. A typical Paint handler will begin by calling GL.Clear() and end with a call to GLControl.SwapBuffers().\par \par 3. The various *Button_Click event handlers change the OpenGL clear color and invalidate the GLControl. The Invalidate() method raises the GLControl Paint event and ensures the updated clear color becomes visible immediately.\par \par } opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/MultipleGLControls.cs0000664000175000017500000000144411453131436024664 0ustar laneylaneyusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using OpenTK; using OpenTK.Graphics.OpenGL; namespace Examples.WinForms { [Example("Multiple GLControls", ExampleCategory.OpenTK, "GLControl", 3, Documentation="MultipleGLControls")] public partial class MultipleGLControlsForm : Form { public MultipleGLControlsForm() { InitializeComponent(); } public static void Main() { using (MultipleGLControlsForm example = new MultipleGLControlsForm()) { Utilities.SetWindowTitle(example); example.ShowDialog(); } } } }opentk-1.0.20101006/Source/Examples/OpenTK/GLControl/GLControlSimple.Designer.cs0000664000175000017500000001144311453131436025676 0ustar laneylaneynamespace Examples.WinForms { partial class SimpleForm { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.redButton = new System.Windows.Forms.Button(); this.greenButton = new System.Windows.Forms.Button(); this.blueButton = new System.Windows.Forms.Button(); this.glControl1 = new OpenTK.GLControl(); this.SuspendLayout(); // // redButton // this.redButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.redButton.Location = new System.Drawing.Point(639, 13); this.redButton.Name = "redButton"; this.redButton.Size = new System.Drawing.Size(133, 23); this.redButton.TabIndex = 1; this.redButton.Text = "Red"; this.redButton.UseVisualStyleBackColor = true; this.redButton.Click += new System.EventHandler(this.redButton_Click); // // greenButton // this.greenButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.greenButton.Location = new System.Drawing.Point(639, 43); this.greenButton.Name = "greenButton"; this.greenButton.Size = new System.Drawing.Size(133, 23); this.greenButton.TabIndex = 2; this.greenButton.Text = "Green"; this.greenButton.UseVisualStyleBackColor = true; this.greenButton.Click += new System.EventHandler(this.greenButton_Click); // // blueButton // this.blueButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.blueButton.Location = new System.Drawing.Point(639, 73); this.blueButton.Name = "blueButton"; this.blueButton.Size = new System.Drawing.Size(133, 23); this.blueButton.TabIndex = 3; this.blueButton.Text = "Blue"; this.blueButton.UseVisualStyleBackColor = true; this.blueButton.Click += new System.EventHandler(this.blueButton_Click); // // glControl1 // this.glControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.glControl1.BackColor = System.Drawing.SystemColors.ControlDarkDark; this.glControl1.Location = new System.Drawing.Point(0, 0); this.glControl1.Name = "glControl1"; this.glControl1.Size = new System.Drawing.Size(629, 565); this.glControl1.TabIndex = 0; this.glControl1.VSync = false; this.glControl1.Resize += new System.EventHandler(this.glControl1_Resize); this.glControl1.Paint += new System.Windows.Forms.PaintEventHandler(this.glControl1_Paint); this.glControl1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.glControl1_KeyDown); // // W01_First_Window // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(781, 564); this.Controls.Add(this.blueButton); this.Controls.Add(this.greenButton); this.Controls.Add(this.redButton); this.Controls.Add(this.glControl1); this.Name = "W01_First_Window"; this.Text = "OpenTK Windows Forms Tutorial 01 - Your first window"; this.ResumeLayout(false); } #endregion private OpenTK.GLControl glControl1; private System.Windows.Forms.Button redButton; private System.Windows.Forms.Button greenButton; private System.Windows.Forms.Button blueButton; } } opentk-1.0.20101006/Source/Examples/OpenTK/Fonts/0000775000175000017500000000000011453142152020013 5ustar laneylaneyopentk-1.0.20101006/Source/Examples/OpenTK/Fonts/FontRenderingBasic.cs0000664000175000017500000001146011453131436024055 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace Examples.WinForms { [Example("Font rendering (basic)", ExampleCategory.OpenTK, "Fonts", Difficulty = 1, Documentation = "FontRenderingBasic", Visible=false)] public partial class FontRenderingBasic : Form { #region Fields float[] sizes = new float[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 24 }; List fonts = new List(); //TextPrinter printer = new TextPrinter(); #endregion #region Constructors public FontRenderingBasic() { InitializeComponent(); ResizeRedraw = true; glControl1.Width = ClientSize.Width; glControl1.Height = ClientSize.Height; UpdateFontList(fontDialog.Font); glControl1_Resize(this, EventArgs.Empty); } #endregion #region Private Members void UpdateFontList(Font base_font) { //printer.Clear(); foreach (Font font in fonts) font.Dispose(); fonts.Clear(); foreach (float size in sizes) fonts.Add(new Font(base_font.Name, base_font.SizeInPoints + size, base_font.Style)); } #endregion #region Events private void glControl1_Load(object sender, EventArgs e) { glControl1.MakeCurrent(); } private void changeFont_Click(object sender, EventArgs e) { if (fontDialog.ShowDialog() == DialogResult.OK) { UpdateFontList(fontDialog.Font); glControl1.Invalidate(); } } private void textBox1_TextChanged(object sender, EventArgs e) { glControl1.Invalidate(); } private void glControl1_Paint(object sender, PaintEventArgs e) { glControl1.MakeCurrent(); GL.ClearColor(Color.MidnightBlue); GL.Clear(ClearBufferMask.ColorBufferBit); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(0, glControl1.ClientSize.Width, glControl1.ClientSize.Height, 0, -1, 1); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); foreach (Font font in fonts) { //printer.Print(textBox1.Text, font, Color.White); GL.Translate(0, font.Height + 5, 0); } glControl1.SwapBuffers(); } private void glControl1_Resize(object sender, EventArgs e) { glControl1.MakeCurrent(); if (glControl1.ClientSize.Height == 0) glControl1.ClientSize = new System.Drawing.Size(glControl1.ClientSize.Width, 1); GL.Viewport(0, 0, glControl1.ClientSize.Width, glControl1.ClientSize.Height); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (FontRenderingBasic example = new FontRenderingBasic()) { Utilities.SetWindowTitle(example); example.ShowDialog(); } } #endregion } } opentk-1.0.20101006/Source/Examples/OpenTK/Fonts/FontRenderingBasic.resx0000664000175000017500000001357411453131436024441 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 opentk-1.0.20101006/Source/Examples/OpenTK/Fonts/FontRenderingAdvanced.cs0000664000175000017500000001271011453131436024540 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Drawing; using System.Diagnostics; using OpenTK; using OpenTK.Graphics.OpenGL; using OpenTK.Input; namespace Examples.Tutorial { #if false /// /// Shows how to render and scroll large amounts of text. /// [Example("Font rendering (advanced)", ExampleCategory.OpenTK, "Fonts", 2, Documentation="FontRenderingAdvanced")] public class FontRenderingAdvanced : GameWindow { Font serif = new Font(FontFamily.GenericSerif, 16.0f); Font sans = new Font(FontFamily.GenericSansSerif, 18.0f); TextPrinter text = new TextPrinter(); string poem = new StreamReader("Data/Poem.txt").ReadToEnd(); int lines; // How many lines the poem contains. float scroll_speed; float initial_position; float wraparound_position; float current_position; public FontRenderingAdvanced() : base(800, 600) { } #region OnLoad protected override void OnLoad(EventArgs e) { GL.ClearColor(Color.MidnightBlue); current_position = initial_position; scroll_speed = -1.0f; // Count the amount of lines in the text, to find out the correct // warparound position. We want the text to scroll until the last // line moves outside the screen, then warp it around from the // other side of the screen. foreach (char c in poem) if (c == '\n') lines++; wraparound_position = -(lines + 1) * serif.Height; } #endregion #region OnUnload public override void OnUnload(EventArgs e) { if (serif != null) serif.Dispose(); if (sans != null) sans.Dispose(); } #endregion #region OnResize protected override void OnResize(EventArgs e) { GL.Viewport(0, 0, Width, Height); initial_position = Height + serif.Height; // Start one line below the screen. wraparound_position = -(lines + 1) * serif.Height; } #endregion #region OnUpdateFrame protected override void OnUpdateFrame(FrameEventArgs e) { if (Keyboard[Key.Space]) scroll_speed = 0; if (Keyboard[Key.Down]) scroll_speed += 10; if (Keyboard[Key.Up]) scroll_speed -= 10; if (Keyboard[Key.Escape]) this.Exit(); } #endregion #region OnRenderFrame protected override void OnRenderFrame(FrameEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); // We'll start printing from the lower left corner of the screen. The text // will slowly move updwards - the user can control the movement speed with // the keyboard arrows and the space bar. current_position += scroll_speed * (float)e.Time; if (scroll_speed > 0.0f && current_position > initial_position) current_position = wraparound_position; else if (scroll_speed < 0.0f && current_position < wraparound_position) current_position = initial_position; // TextPrinter.Begin() sets up a 2d orthographic projection, with the x axis // moving from 0 to viewport.Width (left to right) and the y axis from // 0 to viewport.Height (top to bottom). This is the typical coordinate system // used in 2d graphics, and is necessary for achieving pixel-perfect glyph rendering. // TextPrinter.End() restores your previous projection/modelview matrices. text.Begin(); // Print FPS counter. Since the counter changes per frame, // it shouldn't be cached (TextPrinterOptions.NoCache). text.Print((1.0 / e.Time).ToString("F2"), sans, Color.SpringGreen, new RectangleF(0, 0, Width, 0), TextPrinterOptions.NoCache, TextAlignment.Far); // Print the actual text. GL.Translate(0, current_position, 0); text.Print(poem, serif, Color.White, new RectangleF(Width / 2, 0, Width / 2, 0), TextPrinterOptions.Default, TextAlignment.Far); text.Print(poem, serif, Color.White, new RectangleF(0, 0, Width / 2, 0)); text.End(); SwapBuffers(); } #endregion #region public static void Main() /// /// Entry point of this example. /// [STAThread] public static void Main() { using (FontRenderingAdvanced example = new FontRenderingAdvanced()) { // Get the title and category of this example using reflection. ExampleAttribute info = ((ExampleAttribute)example.GetType().GetCustomAttributes(false)[0]); example.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title); example.Run(30.0, 0.0); } } #endregion } #endif } opentk-1.0.20101006/Source/Examples/OpenTK/Fonts/FontRenderingBasic.Designer.cs0000664000175000017500000001054511453131436025617 0ustar laneylaneynamespace Examples.WinForms { partial class FontRenderingBasic { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.glControl1 = new OpenTK.GLControl(); this.changeFont = new System.Windows.Forms.Button(); this.textBox1 = new System.Windows.Forms.TextBox(); this.fontDialog = new System.Windows.Forms.FontDialog(); this.SuspendLayout(); // // glControl1 // this.glControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.glControl1.BackColor = System.Drawing.Color.Black; this.glControl1.Location = new System.Drawing.Point(0, 40); this.glControl1.Name = "glControl1"; this.glControl1.Size = new System.Drawing.Size(700, 521); this.glControl1.TabIndex = 0; this.glControl1.VSync = false; this.glControl1.Load += new System.EventHandler(this.glControl1_Load); this.glControl1.Paint += new System.Windows.Forms.PaintEventHandler(this.glControl1_Paint); this.glControl1.Resize += new System.EventHandler(this.glControl1_Resize); // // changeFont // this.changeFont.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.changeFont.Location = new System.Drawing.Point(568, 10); this.changeFont.Name = "changeFont"; this.changeFont.Size = new System.Drawing.Size(120, 23); this.changeFont.TabIndex = 1; this.changeFont.Text = "Change Font"; this.changeFont.UseVisualStyleBackColor = true; this.changeFont.Click += new System.EventHandler(this.changeFont_Click); // // textBox1 // this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.textBox1.Location = new System.Drawing.Point(12, 11); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(550, 22); this.textBox1.TabIndex = 2; this.textBox1.Text = "The quick brown fox jumped over the lazy dogs. 0123456789"; this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); // // FontRendering // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(700, 561); this.Controls.Add(this.textBox1); this.Controls.Add(this.changeFont); this.Controls.Add(this.glControl1); this.Name = "FontRendering"; this.Text = "FontRendering"; this.ResumeLayout(false); this.PerformLayout(); } #endregion private OpenTK.GLControl glControl1; private System.Windows.Forms.Button changeFont; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.FontDialog fontDialog; } }opentk-1.0.20101006/Source/Examples/OpenTK/Fonts/FontRenderingBasic.rtf0000664000175000017500000000636111453131436024247 0ustar laneylaney{\rtf1\ansi\ansicpg1253\deff0\deflang1032{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fswiss\fcharset0 Arial;}{\f2\fswiss\fcharset161{\*\fname Arial;}Arial Greek;}{\f3\fswiss\fprq2\fcharset161{\*\fname Arial;}Arial Greek;}{\f4\fmodern\fprq1\fcharset0 Consolas;}} {\colortbl ;\red0\green0\blue255;\red43\green145\blue175;} {\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\qc\lang1033\b\f0\fs32 Font rendering\par \b0\f1\fs20\par \lang1032\f2\par \pard\lang1033\b\f1\fs24 Overview\par \par \b0\fs22 This sample demonstrates the basic capabilities of the font renderer, which can be used to render high-quality, 2d text on a color buffer.\par \par \par \b\fs24 Requirements\b0\fs22\par \par The font renderer depends on OpenGL 1.1, but takes advantage of higher OpenGL versions to improve quality and/or speed.\par \par \par \b\f0\fs24 Usage\par \par \b0\f1\fs22 To use the font renderer, create and store a \b TextPrinter \b0 instance.\par \par The \b Print \b0 method renders a System.String using the specified System.Drawing.Font and System.Drawing.Color. You can optionally specify a layout rectangle, one or more layout flags (e.g. right-to-left or vertical) and one or more TextPrinterFlags (e.g. no cache).\par \lang1032\f2\par \lang1033\f1 The \b Measure \b0 method measures the bounding box of each character (also called 'glyph extents') and the bounding box of the whole string. It can be used to get accurate data for laying out GUI elements or rendering a caret.\par \par The \b Begin \b0 and \b End \b0 methods can be used to setup and restore a pixel-perfect, resolution dependent, orthographic projection matrix on the current OpenGL context. This matrix matches the typical 2d coordinate system of the native font rendering libraries (origin on the top-left corner of the screen) and ensures that text drawn through OpenTK will look identical to native text.\par \par A typical usage scenario looks like this:\par \par \cf1\lang1032\f3 using\lang1033\f0 \cf0 System;\par \cf1\lang1032\f3 using\lang1033\f0 \cf0 System.Drawing;\par \cf1\lang1032\f3 using\lang1033\f0 \cf0 OpenTK.Graphics;\par ...\par \cf2\lang1032\f3 Font\lang1033\f0 \cf0 font = new \cf2\lang1032\f3 Font\cf0\lang1033\f0 (\cf2\lang1032\f3 FontFamily\cf0\lang1033\f0 .GenericSansSerif, 16.0);\par \cf2\lang1032\f3 ITextPrinter\lang1033\f0 \cf0 printer = new TextPrinter();\par ...\par printer.Begin();\par printer.Print(frames_per_second.ToString(), font, \cf2\lang1032\f3 Color\cf0\lang1033\f0 .SpringGreen);\par printer.End();\f4\par \f1\par If you wish to specify a \b custom projection matrix\b0 , do not call TextPrinter.Begin or TextPrinter.End and scale the text by the inverse of your viewport Width and Height, multiplied by two. For example:\par \par \cf2\lang1032\f3 GL\cf0 .MatrixMode(\cf2 MatrixMode\cf0 .Projection);\par \cf2 GL\cf0 .LoadIdentity();\par \cf2 GL\cf0 .Ortho(\lang1033\f0 -1, 1, -1, 1\lang1032\f3 , -1, 1);\par \cf2 GL\cf0 .MatrixMode(\cf2 MatrixMode\cf0 .Modelview);\par \cf2 GL\cf0 .LoadIdentity();\lang1033\f1\par \cf2\lang1032\f3 GL\cf0\lang1033\f1 .Scale(2.0 / Width, 2.0 / Height, 1.0);\par \par printer.Print(\f0 frames_per_second.ToString(), font, \cf2\lang1032\f3 Color\cf0\lang1033\f0 .SpringGreen);\f1\par \lang1032\f2\par } opentk-1.0.20101006/Source/Converter/0000775000175000017500000000000011453142152015753 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Main.cs0000664000175000017500000001342711453131424017175 0ustar laneylaney// // Copyright (C) 2009 the Open Toolkit (http://www.opentk.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Xml; using System.Xml.Linq; using Mono.Options; namespace CHeaderToXML { class EnumTokenComparer : IEqualityComparer { public bool Equals (XNode a, XNode b) { return ((XElement) a).Attribute("name").Equals(((XElement) b).Attribute("name")); } public int GetHashCode (XNode a) { return ((XElement) a).Attribute("name").GetHashCode(); } } class EntryPoint { static void Main(string[] args) { try { bool showHelp = false; string prefix = "gl"; string version = null; OptionSet opts = new OptionSet { { "p=", "The {PREFIX} to remove from parsed functions and constants. " + "Defaults to \"" + prefix + "\".", v => prefix = v }, { "v=", "The {VERSION} of the headers being parsed.", v => version = v }, { "?|h|help", "Show this message and exit.", v => showHelp = v != null }, }; var headers = opts.Parse(args); var app = Path.GetFileName(Environment.GetCommandLineArgs()[0]); if (showHelp) { Console.WriteLine("usage: {0} -p:PREFIX -v:VERSION HEADERS", app); Console.WriteLine(); Console.WriteLine("Options:"); opts.WriteOptionDescriptions(Console.Out); Console.WriteLine(); Console.WriteLine("HEADERS are the header files to parse into XML."); return; } if (version == null) { Console.WriteLine("{0}: missing required parameter -p.", app); Console.WriteLine("Use '{0} --help' for usage.", app); return; } var sigs = headers.Select(h => new ESCLParser { Prefix = prefix, Version = version }.Parse(h)); // Merge any duplicate enum entries (in case an enum is declared // in multiple files with different entries in each file). var entries = new Dictionary(); foreach (var e in sigs.SelectMany(s => s).Where(s => s.Name.LocalName == "enum")) { var name = (string)e.Attribute("name"); if (entries.ContainsKey(name) && e.Name.LocalName == "enum") { var p = entries[name]; var curTokens = p.Nodes().ToList(); p.RemoveNodes(); p.Add(curTokens.Concat(e.Nodes()).Distinct(new EnumTokenComparer())); } else entries.Add(name, e); } // sort enum tokens foreach (var e in entries) { if (e.Value.Name.LocalName != "enum") continue; var tokens = e.Value.Elements() .OrderBy(t => (string)t.Attribute("name")) .ToList(); e.Value.RemoveNodes(); e.Value.Add(tokens); } var settings = new XmlWriterSettings(); settings.Indent = true; using (var writer = XmlWriter.Create(Console.Out, settings)) { new XElement("signatures", entries.Values.OrderBy(s => s.Attribute("name").Value), // only enums sigs.SelectMany(s => s).Where(s => s.Name.LocalName == "function") // only functions .OrderBy(s => s.Attribute("extension").Value) .ThenBy(s => s.Attribute("name").Value) ).WriteTo(writer); writer.Flush(); writer.Close(); } } finally { Console.WriteLine(); if (Debugger.IsAttached) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(true); } } } } } opentk-1.0.20101006/Source/Converter/Generator.Convert.csproj0000664000175000017500000001562411453131424022552 0ustar laneylaney Local 8.0.50727 2.0 {5FDFF4B6-0000-0000-0000-000000000000} Debug AnyCPU Convert JScript Grid IE50 false v3.5 Exe Convert 2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false true False 285212672 False DEBUG;TRACE; True 4096 False ..\..\Binaries\OpenTK\Debug\ False False False 4 False AllRules.ruleset False 285212672 False TRACE; False 4096 True ..\..\Binaries\OpenTK\Release\ False False False 4 False AllRules.ruleset ..\..\Binaries\OpenTK\Release\ False 285212672 False TRACE; False 4096 True ..\..\Binaries\OpenTK\Release\ False False False 4 False AllRules.ruleset true ..\..\OpenTK.snk System False System.Core False System.Xml False System.Xml.Linq False Properties\GlobalAssemblyInfo.cs Code Code Code Code Code OpenTK.snk opentk-1.0.20101006/Source/Converter/ESCLParser.cs0000664000175000017500000004312511453131424020212 0ustar laneylaney// // Copyright (C) 2009 the Open Toolkit (http://www.opentk.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Xml.Linq; using System.Diagnostics; namespace CHeaderToXML { // Todo: Array parameters are copied as-is, e.g.: int foo[4] -> . // This should become . // Todo: Fails to parse ES extension headers, which mix enum and function definitions. // Parses ES and CL header files. sealed class ESCLParser { Regex extensions = new Regex("(ARB|EXT|AMD|NV|OES|QCOM)", RegexOptions.RightToLeft | RegexOptions.Compiled); Regex array_size = new Regex(@"\[.+\]", RegexOptions.RightToLeft | RegexOptions.Compiled); Regex EnumToken = new Regex(@"^#define \w+\s+\(?-?\w+\s? Parse(string filename) { return Parse(File.ReadAllLines(filename)); } public IEnumerable Parse(string[] lines) { char[] splitters = new char[] { ' ', '\t', ',', '(', ')', ';', '\n', '\r' }; // Line splitter Func split = line => line.Split(splitters, StringSplitOptions.RemoveEmptyEntries); // Adds new enum to the accumulator (acc) Func, List> enum_name = (line, acc) => { bool is_long_bitfield = false; Func get_tokens = (_) => line.Trim("/*. ".ToCharArray()).Split(" _-+".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(t => { switch (t.ToLower()) { case ("bitfield"): is_long_bitfield = true; return "Flags"; default: if (t.ToLower() == Prefix) return ""; else return t; } /* gmcs bug 336258 */ return ""; }).ToArray(); Func get_name = tokens => { // Some comments do not indicate enums. Cull them! if (tokens[0].StartsWith("$")) return null; // Some names consist of more than one tokens. Concatenate them. return tokens.Aggregate( "", (string n, string token) => { n += String.IsNullOrEmpty(token) ? "" : Char.ToUpper(token[0]).ToString() + token.Substring(1); return n; }, n => n); }; Func translate_name = name => { if (String.IsNullOrEmpty(name)) return name; // Patch some names that are known to be problematic if (name.EndsWith("FlagsFlags")) name = name.Replace("FlagsFlags", "Flags"); switch (name) { case "OpenGLEScoreversions": case "EGLVersioning": case "OpenCLVersion": return "Version"; case "ShaderPrecision-SpecifiedTypes": return "ShaderPrecision"; case "Texturecombine+dot3": return "TextureCombine"; case "MacroNamesAndCorrespondingValuesDefinedByOpenCL": return null; default: return name; } }; Func> add_enum = @enum => { switch (@enum) { case null: case "": return acc; default: acc.Add(new XElement("enum", new XAttribute("name", @enum), new XAttribute("type", is_long_bitfield ? "long" : "int"))); return acc; } }; return add_enum(translate_name(get_name(get_tokens(line)))); }; // Adds new token to last enum in accumulator Func, List> enum_token = (line, acc) => { if (EnumToken.IsMatch(line)) { if (acc.Count == 0 || acc.Last().Name.LocalName != "enum") acc.Add(new XElement("enum", new XAttribute("name", "Unknown"))); var tokens = split(line); // Some constants are defined bitshifts, e.g. (1 << 2). If a constant contains parentheses // we assume it is a bitshift. Otherwise, we assume it is single value, separated by space // (e.g. 0xdeadbeef). if (line.Contains("(")) tokens[2] = "(" + line.Split('(')[1]; // Check whether this is an include guard (e.g. #define __OPENCL_CL_H) if (tokens[1].StartsWith("__")) return acc; // Check whether this is a known header define like WIN32_LEAN_AND_MEAN switch (tokens[1]) { case "WIN32_LEAN_AND_MEAN": case "APIENTRY": case "GLAPI": return acc; } acc[acc.Count - 1].Add(new XElement("token", new XAttribute("name", tokens[1].Substring(Prefix.Length + 1)), // remove prefix new XAttribute("value", tokens[2]))); } return acc; }; // Parses a function declaration var function_string = ""; // Used to concatenate functions that are split in different lines. (e.g. "void\nclFoo(int /* a */,\nint b);") Func, List> function = (line, acc) => { if (!line.EndsWith(";")) { function_string += line + " "; return acc; } line = function_string + line; function_string = ""; Func GetExtension = name => { var match = extensions.Match(name); return match != null && String.IsNullOrEmpty(match.Value) ? "Core" : match.Value; }; var words = line.Split(splitters, StringSplitOptions.RemoveEmptyEntries); //var words = line.Replace("/*", "").Replace("*/", "").Split(" ()".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); // ES does not start methods with 'extern', while CL does. // Remove the 'extern' keyword to create a single code-path. if (words[0] == "extern") words = words.Skip(1).ToArray(); string rettype = null; string funcname = null; GetFunctionNameAndType(words, out funcname, out rettype); var paramaters_string = Regex.Match(line, @"\(.*\)").Captures[0].Value.TrimStart('(').TrimEnd(')'); // This regex matches function parameters. // The first part matches function pointers in the following format: // '[return type] (*[function pointer name])([parameter list]) [parameter name] // where [parameter name] may or may not be in comments. // The second part (after the '|') matches parameters of the following formats: // '[parameter type] [parameter name]', '[parameter type] [pointer] [parameter name]', 'const [parameter type][pointer] [parameter name]' // where [parameter name] may be inside comments (/* ... */) and [pointer] is '', '*', '**', etc. var get_param = new Regex(@"(\w+\s\(\*\w+\)\s*\(.*\)\s*(/\*.*?\*/|\w+)? | (const\s)?(\w+\s*)+\**\s*(/\*.*?\*/|\w+(\[.*?\])?)),?", RegexOptions.IgnorePatternWhitespace); var parameters = (from item in get_param.Matches(paramaters_string).OfType() select item.Captures[0].Value.TrimEnd(',')).ToList(); var fun = new { Name = funcname, Return = rettype, Version = Version, Extension = GetExtension(funcname), Profile = String.Empty, Parameters = from item in get_param.Matches(paramaters_string).OfType().Select(m => m.Captures[0].Value.TrimEnd(',')) //paramaters_string.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) let tokens = item.Trim().Split(' ') let is_function_pointer = item.Contains("(*") // This only occurs in function pointers, e.g. void (*pfn_notify)() or void (*user_func)() let param_name = is_function_pointer ? tokens[1].TrimStart('(', '*').Split(')')[0] : (tokens.Last().Trim() != "*/" ? tokens.Last() : tokens[tokens.Length - 2]).Trim() let param_type = is_function_pointer ? "IntPtr" : (from t in tokens where t.Trim() != "const" && t.Trim() != "unsigned" select t).First().Trim() let has_array_size = array_size.IsMatch(param_name) let indirection_level = is_function_pointer ? 0 : (from c in param_name where c == '*' select c).Count() + (from c in param_type where c == '*' select c).Count() + (from t in tokens where t == "***" select t).Count() * 3 + (from t in tokens where t == "**" select t).Count() * 2 + (from t in tokens where t == "*" select t).Count() + (has_array_size ? 1 : 0) let pointers = new string[] { "*", "*", "*", "*" } // for adding indirection levels (pointers) to param_type where tokens.Length > 1 select new { Name = (has_array_size ? array_size.Replace(param_name, "") : param_name).Replace("*", ""), // Pointers are placed into the parameter Type, not Name Type = is_function_pointer ? param_type : (tokens.Contains("unsigned") && !param_type.StartsWith("byte") ? "u" : "") + // Make sure we don't ignore the unsigned part of unsigned parameters (e.g. unsigned int -> uint) param_type.Replace("*", "") + String.Join("", pointers, 0, indirection_level), // Normalize pointer indirection level (place as many asterisks as in indirection_level variable) Count = has_array_size ? Int32.Parse(array_size.Match(param_name).Value.Trim('[', ']')) : 0, Flow = param_name.EndsWith("ret") || ((funcname.StartsWith("Get") || funcname.StartsWith("Gen")) && indirection_level > 0 && !(funcname.EndsWith("Info") || funcname.EndsWith("IDs") || funcname.EndsWith("ImageFormats"))) ? // OpenCL contains Get*[Info|IDs|ImageFormats] methods with 'in' pointer parameters "out" : "in" } }; XElement func = new XElement("function", new XAttribute("name", fun.Name)); func.Add(new XAttribute("extension", fun.Extension)); func.Add(new XAttribute("profile", fun.Profile)); func.Add(new XAttribute("category", fun.Version)); func.Add(new XAttribute("version", fun.Version)); func.Add(new XElement("returns", new XAttribute("type", fun.Return))); foreach (var p in fun.Parameters) { var param = new XElement("param", new XAttribute("type", p.Type), new XAttribute("name", p.Name)); if (p.Count > 0) param.Add(new XAttribute("count", p.Count)); param.Add(new XAttribute("flow", p.Flow)); func.Add(param); } acc.Add(func); return acc; }; Func is_comment = line => line.StartsWith("/*") || line.StartsWith("//"); Func is_enum = line => { if (!is_comment(line)) return false; // Some enum tokens are commented out and should not be confused with new enum declarations. // Since tokens are always in ALL_CAPS, while enum names always contain at least one lower case // character, we'll try to use this information to distinguish between the two. // Warning: rather fragile. if (Regex.IsMatch(line, @"/\*\s+([A-Z]+_?[0-9]*_?)+\s+\*/")) return false; var toks = split(line); return toks.Length > 1;// && toks[1].StartsWith("GL"); }; Func is_function = line => (line.StartsWith("GL_APICALL") || line.StartsWith("GL_API") || line.StartsWith("GLAPI") || line.StartsWith("EGLAPI") || line.StartsWith("extern CL_API_ENTRY")); var signatures = lines.Aggregate( new List(), (List acc, string line) => { return is_function(line) || !String.IsNullOrEmpty(function_string) ? function(line, acc) : is_enum(line) ? enum_name(line, acc) : enum_token(line, acc); }, acc => from elem in acc where !elem.IsEmpty select elem); return signatures; } void GetFunctionNameAndType(string[] words, out string funcname, out string rettype) { funcname = null; rettype = null; bool inRettype = false; bool quit = false; for (int i = 0; !quit && i < words.Length; ++i) { switch (words [i]) { case "const": // ignore break; case "GLAPI": // ES 1.0 case "GL_API": // ES 1.1 case "GL_APICALL": // ES 2.0 case "CL_API_ENTRY": // CL 1.0 inRettype = true; break; case "APIENTRY": // ES 1.0 case "GL_APIENTRY": // ES 1.1 & 2.0 case "CL_API_CALL": // CL 1.0 inRettype = false; funcname = words [i+1].Substring(Prefix.Length); quit = true; break; default: if (inRettype) rettype += words [i]; break; } } } } }opentk-1.0.20101006/Source/Converter/Properties/0000775000175000017500000000000011453142152020107 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Properties/AssemblyInfo.cs0000664000175000017500000000112211453131424023025 0ustar laneylaneyusing System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Generator.Convert")] [assembly: AssemblyDescription("Converts C headers into XML suitable for the binding generator")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("01d453bf-8648-4441-953e-7094a0ec1364")] opentk-1.0.20101006/Source/Converter/XML schema notes.txt0000664000175000017500000000603311453131424021510 0ustar laneylaneyThe generated XML files follow this schema. Notes Functions: - [function name] should not contain a prefix, i.e. BufferData instead of glBufferData. - [extension] must be set to "Core" if this is not an extension method. Otherwise, it must be set to extension name in CamelCase. For example, method MapBufferOES should set extension="Oes". - [profile name] can be used to discriminate between different profiles of the same spec (for example "full" and "lite" for ES1.1). This attribute is not used at this point. - [category] should be set to the correct function category. This is typically defined for extension methods (e.g. TexImage3DOES belongs to category GL_OES_texture_3D). If the category is unknown, this should be set to the same value as the "version" attribute below. - [version] must be set to the correct spec version. OpenGL|ES and OpenCL distribute different header files for each spec version, so this can be set to a constant value (e.g. 1.0 for ES1.0). On the other hand, OpenGL and OpenAL distribute a single file that contains functions from all versions. The extension attribute is used by the generator to distinguish between core and extension methods (the first use plain DllImports, while the latter are only converted to delegates). The category and version attributes are used by the generator to match enum parameters. An enum parameter may either define an exact type or may be a generic enum (GLenum). In the last case, category and version are used to find a matching enum. If no match exists, the enum "All" will be used. Parameter typenames are translated to C# as follows: [typename] -> gl.tm -> csharp.tm. The gl.tm typemap file is shipped by Khronos and matches GL types to C types (this file should not be edited). The csharp.tm typemap file is handwritten and maps C types to C# types (this file may be edited). Typenames that resolve to csharp strings or string arrays are treated specially by the generator for the purposes of marshalling. For this reason, byte* parameters that contain ASCII strings should be overriden by char* or CharPointer parameters. Enums: - [enum name] should be a valid C# enum name in CamelCase. - [token name] should be a valid C# enum token in ALL_CAPS. The generator will translate this to camel case. - [enum value] may be a hex or dec number, or a string that refers to a different enum token. The generator will recursively resolve token references and will parse the final values to ensure they are well-formed numbers. Overrides: Todoopentk-1.0.20101006/Source/Converter/Options.cs0000664000175000017500000010077211453131424017744 0ustar laneylaney// // Options.cs // // Authors: // Jonathan Pryor // // Copyright (C) 2008 Novell (http://www.novell.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // // Compile With: // gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll // gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll // // The LINQ version just changes the implementation of // OptionSet.Parse(IEnumerable), and confers no semantic changes. // // A Getopt::Long-inspired option parsing library for C#. // // NDesk.Options.OptionSet is built upon a key/value table, where the // key is a option format string and the value is a delegate that is // invoked when the format string is matched. // // Option format strings: // Regex-like BNF Grammar: // name: .+ // type: [=:] // sep: ( [^{}]+ | '{' .+ '}' )? // aliases: ( name type sep ) ( '|' name type sep )* // // Each '|'-delimited name is an alias for the associated action. If the // format string ends in a '=', it has a required value. If the format // string ends in a ':', it has an optional value. If neither '=' or ':' // is present, no value is supported. `=' or `:' need only be defined on one // alias, but if they are provided on more than one they must be consistent. // // Each alias portion may also end with a "key/value separator", which is used // to split option values if the option accepts > 1 value. If not specified, // it defaults to '=' and ':'. If specified, it can be any character except // '{' and '}' OR the *string* between '{' and '}'. If no separator should be // used (i.e. the separate values should be distinct arguments), then "{}" // should be used as the separator. // // Options are extracted either from the current option by looking for // the option name followed by an '=' or ':', or is taken from the // following option IFF: // - The current option does not contain a '=' or a ':' // - The current option requires a value (i.e. not a Option type of ':') // // The `name' used in the option format string does NOT include any leading // option indicator, such as '-', '--', or '/'. All three of these are // permitted/required on any named option. // // Option bundling is permitted so long as: // - '-' is used to start the option group // - all of the bundled options are a single character // - at most one of the bundled options accepts a value, and the value // provided starts from the next character to the end of the string. // // This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' // as '-Dname=value'. // // Option processing is disabled by specifying "--". All options after "--" // are returned by OptionSet.Parse() unchanged and unprocessed. // // Unprocessed options are returned from OptionSet.Parse(). // // Examples: // int verbose = 0; // OptionSet p = new OptionSet () // .Add ("v", v => ++verbose) // .Add ("name=|value=", v => Console.WriteLine (v)); // p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); // // The above would parse the argument string array, and would invoke the // lambda expression three times, setting `verbose' to 3 when complete. // It would also print out "A" and "B" to standard output. // The returned array would contain the string "extra". // // C# 3.0 collection initializers are supported and encouraged: // var p = new OptionSet () { // { "h|?|help", v => ShowHelp () }, // }; // // System.ComponentModel.TypeConverter is also supported, allowing the use of // custom data types in the callback type; TypeConverter.ConvertFromString() // is used to convert the value option to an instance of the specified // type: // // var p = new OptionSet () { // { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, // }; // // Random other tidbits: // - Boolean options (those w/o '=' or ':' in the option format string) // are explicitly enabled if they are followed with '+', and explicitly // disabled if they are followed with '-': // string a = null; // var p = new OptionSet () { // { "a", s => a = s }, // }; // p.Parse (new string[]{"-a"}); // sets v != null // p.Parse (new string[]{"-a+"}); // sets v != null // p.Parse (new string[]{"-a-"}); // sets v == null // using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Globalization; using System.IO; using System.Runtime.Serialization; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; #if LINQ using System.Linq; #endif #if TEST using NDesk.Options; #endif #if NDESK_OPTIONS namespace NDesk.Options #else namespace Mono.Options #endif { public class OptionValueCollection : IList, IList { List values = new List (); OptionContext c; internal OptionValueCollection (OptionContext c) { this.c = c; } #region ICollection void ICollection.CopyTo (Array array, int index) {(values as ICollection).CopyTo (array, index);} bool ICollection.IsSynchronized {get {return (values as ICollection).IsSynchronized;}} object ICollection.SyncRoot {get {return (values as ICollection).SyncRoot;}} #endregion #region ICollection public void Add (string item) {values.Add (item);} public void Clear () {values.Clear ();} public bool Contains (string item) {return values.Contains (item);} public void CopyTo (string[] array, int arrayIndex) {values.CopyTo (array, arrayIndex);} public bool Remove (string item) {return values.Remove (item);} public int Count {get {return values.Count;}} public bool IsReadOnly {get {return false;}} #endregion #region IEnumerable IEnumerator IEnumerable.GetEnumerator () {return values.GetEnumerator ();} #endregion #region IEnumerable public IEnumerator GetEnumerator () {return values.GetEnumerator ();} #endregion #region IList int IList.Add (object value) {return (values as IList).Add (value);} bool IList.Contains (object value) {return (values as IList).Contains (value);} int IList.IndexOf (object value) {return (values as IList).IndexOf (value);} void IList.Insert (int index, object value) {(values as IList).Insert (index, value);} void IList.Remove (object value) {(values as IList).Remove (value);} void IList.RemoveAt (int index) {(values as IList).RemoveAt (index);} bool IList.IsFixedSize {get {return false;}} object IList.this [int index] {get {return this [index];} set {(values as IList)[index] = value;}} #endregion #region IList public int IndexOf (string item) {return values.IndexOf (item);} public void Insert (int index, string item) {values.Insert (index, item);} public void RemoveAt (int index) {values.RemoveAt (index);} private void AssertValid (int index) { if (c.Option == null) throw new InvalidOperationException ("OptionContext.Option is null."); if (index >= c.Option.MaxValueCount) throw new ArgumentOutOfRangeException ("index"); if (c.Option.OptionValueType == OptionValueType.Required && index >= values.Count) throw new OptionException (string.Format ( c.OptionSet.MessageLocalizer ("Missing required value for option '{0}'."), c.OptionName), c.OptionName); } public string this [int index] { get { AssertValid (index); return index >= values.Count ? null : values [index]; } set { values [index] = value; } } #endregion public List ToList () { return new List (values); } public string[] ToArray () { return values.ToArray (); } public override string ToString () { return string.Join (", ", values.ToArray ()); } } public class OptionContext { private Option option; private string name; private int index; private OptionSet set; private OptionValueCollection c; public OptionContext (OptionSet set) { this.set = set; this.c = new OptionValueCollection (this); } public Option Option { get {return option;} set {option = value;} } public string OptionName { get {return name;} set {name = value;} } public int OptionIndex { get {return index;} set {index = value;} } public OptionSet OptionSet { get {return set;} } public OptionValueCollection OptionValues { get {return c;} } } public enum OptionValueType { None, Optional, Required, } public abstract class Option { string prototype, description; string[] names; OptionValueType type; int count; string[] separators; protected Option (string prototype, string description) : this (prototype, description, 1) { } protected Option (string prototype, string description, int maxValueCount) { if (prototype == null) throw new ArgumentNullException ("prototype"); if (prototype.Length == 0) throw new ArgumentException ("Cannot be the empty string.", "prototype"); if (maxValueCount < 0) throw new ArgumentOutOfRangeException ("maxValueCount"); this.prototype = prototype; this.names = prototype.Split ('|'); this.description = description; this.count = maxValueCount; this.type = ParsePrototype (); if (this.count == 0 && type != OptionValueType.None) throw new ArgumentException ( "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + "OptionValueType.Optional.", "maxValueCount"); if (this.type == OptionValueType.None && maxValueCount > 1) throw new ArgumentException ( string.Format ("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), "maxValueCount"); if (Array.IndexOf (names, "<>") >= 0 && ((names.Length == 1 && this.type != OptionValueType.None) || (names.Length > 1 && this.MaxValueCount > 1))) throw new ArgumentException ( "The default option handler '<>' cannot require values.", "prototype"); } public string Prototype {get {return prototype;}} public string Description {get {return description;}} public OptionValueType OptionValueType {get {return type;}} public int MaxValueCount {get {return count;}} public string[] GetNames () { return (string[]) names.Clone (); } public string[] GetValueSeparators () { if (separators == null) return new string [0]; return (string[]) separators.Clone (); } protected static T Parse (string value, OptionContext c) { Type tt = typeof (T); bool nullable = tt.IsValueType && tt.IsGenericType && !tt.IsGenericTypeDefinition && tt.GetGenericTypeDefinition () == typeof (Nullable<>); Type targetType = nullable ? tt.GetGenericArguments () [0] : typeof (T); TypeConverter conv = TypeDescriptor.GetConverter (targetType); T t = default (T); try { if (value != null) t = (T) conv.ConvertFromString (value); } catch (Exception e) { throw new OptionException ( string.Format ( c.OptionSet.MessageLocalizer ("Could not convert string `{0}' to type {1} for option `{2}'."), value, targetType.Name, c.OptionName), c.OptionName, e); } return t; } internal string[] Names {get {return names;}} internal string[] ValueSeparators {get {return separators;}} static readonly char[] NameTerminator = new char[]{'=', ':'}; private OptionValueType ParsePrototype () { char type = '\0'; List seps = new List (); for (int i = 0; i < names.Length; ++i) { string name = names [i]; if (name.Length == 0) throw new ArgumentException ("Empty option names are not supported.", "prototype"); int end = name.IndexOfAny (NameTerminator); if (end == -1) continue; names [i] = name.Substring (0, end); if (type == '\0' || type == name [end]) type = name [end]; else throw new ArgumentException ( string.Format ("Conflicting option types: '{0}' vs. '{1}'.", type, name [end]), "prototype"); AddSeparators (name, end, seps); } if (type == '\0') return OptionValueType.None; if (count <= 1 && seps.Count != 0) throw new ArgumentException ( string.Format ("Cannot provide key/value separators for Options taking {0} value(s).", count), "prototype"); if (count > 1) { if (seps.Count == 0) this.separators = new string[]{":", "="}; else if (seps.Count == 1 && seps [0].Length == 0) this.separators = null; else this.separators = seps.ToArray (); } return type == '=' ? OptionValueType.Required : OptionValueType.Optional; } private static void AddSeparators (string name, int end, ICollection seps) { int start = -1; for (int i = end+1; i < name.Length; ++i) { switch (name [i]) { case '{': if (start != -1) throw new ArgumentException ( string.Format ("Ill-formed name/value separator found in \"{0}\".", name), "prototype"); start = i+1; break; case '}': if (start == -1) throw new ArgumentException ( string.Format ("Ill-formed name/value separator found in \"{0}\".", name), "prototype"); seps.Add (name.Substring (start, i-start)); start = -1; break; default: if (start == -1) seps.Add (name [i].ToString ()); break; } } if (start != -1) throw new ArgumentException ( string.Format ("Ill-formed name/value separator found in \"{0}\".", name), "prototype"); } public void Invoke (OptionContext c) { OnParseComplete (c); c.OptionName = null; c.Option = null; c.OptionValues.Clear (); } protected abstract void OnParseComplete (OptionContext c); public override string ToString () { return Prototype; } } [Serializable] public class OptionException : Exception { private string option; public OptionException () { } public OptionException (string message, string optionName) : base (message) { this.option = optionName; } public OptionException (string message, string optionName, Exception innerException) : base (message, innerException) { this.option = optionName; } protected OptionException (SerializationInfo info, StreamingContext context) : base (info, context) { this.option = info.GetString ("OptionName"); } public string OptionName { get {return this.option;} } [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] public override void GetObjectData (SerializationInfo info, StreamingContext context) { base.GetObjectData (info, context); info.AddValue ("OptionName", option); } } public delegate void OptionAction (TKey key, TValue value); public class OptionSet : KeyedCollection { public OptionSet () : this (delegate (string f) {return f;}) { } public OptionSet (Converter localizer) { this.localizer = localizer; } Converter localizer; public Converter MessageLocalizer { get {return localizer;} } protected override string GetKeyForItem (Option item) { if (item == null) throw new ArgumentNullException ("option"); if (item.Names != null && item.Names.Length > 0) return item.Names [0]; // This should never happen, as it's invalid for Option to be // constructed w/o any names. throw new InvalidOperationException ("Option has no names!"); } [Obsolete ("Use KeyedCollection.this[string]")] protected Option GetOptionForName (string option) { if (option == null) throw new ArgumentNullException ("option"); try { return base [option]; } catch (KeyNotFoundException) { return null; } } protected override void InsertItem (int index, Option item) { base.InsertItem (index, item); AddImpl (item); } protected override void RemoveItem (int index) { base.RemoveItem (index); Option p = Items [index]; // KeyedCollection.RemoveItem() handles the 0th item for (int i = 1; i < p.Names.Length; ++i) { Dictionary.Remove (p.Names [i]); } } protected override void SetItem (int index, Option item) { base.SetItem (index, item); RemoveItem (index); AddImpl (item); } private void AddImpl (Option option) { if (option == null) throw new ArgumentNullException ("option"); List added = new List (option.Names.Length); try { // KeyedCollection.InsertItem/SetItem handle the 0th name. for (int i = 1; i < option.Names.Length; ++i) { Dictionary.Add (option.Names [i], option); added.Add (option.Names [i]); } } catch (Exception) { foreach (string name in added) Dictionary.Remove (name); throw; } } public new OptionSet Add (Option option) { base.Add (option); return this; } sealed class ActionOption : Option { Action action; public ActionOption (string prototype, string description, int count, Action action) : base (prototype, description, count) { if (action == null) throw new ArgumentNullException ("action"); this.action = action; } protected override void OnParseComplete (OptionContext c) { action (c.OptionValues); } } public OptionSet Add (string prototype, Action action) { return Add (prototype, null, action); } public OptionSet Add (string prototype, string description, Action action) { if (action == null) throw new ArgumentNullException ("action"); Option p = new ActionOption (prototype, description, 1, delegate (OptionValueCollection v) { action (v [0]); }); base.Add (p); return this; } public OptionSet Add (string prototype, OptionAction action) { return Add (prototype, null, action); } public OptionSet Add (string prototype, string description, OptionAction action) { if (action == null) throw new ArgumentNullException ("action"); Option p = new ActionOption (prototype, description, 2, delegate (OptionValueCollection v) {action (v [0], v [1]);}); base.Add (p); return this; } sealed class ActionOption : Option { Action action; public ActionOption (string prototype, string description, Action action) : base (prototype, description, 1) { if (action == null) throw new ArgumentNullException ("action"); this.action = action; } protected override void OnParseComplete (OptionContext c) { action (Parse (c.OptionValues [0], c)); } } sealed class ActionOption : Option { OptionAction action; public ActionOption (string prototype, string description, OptionAction action) : base (prototype, description, 2) { if (action == null) throw new ArgumentNullException ("action"); this.action = action; } protected override void OnParseComplete (OptionContext c) { action ( Parse (c.OptionValues [0], c), Parse (c.OptionValues [1], c)); } } public OptionSet Add (string prototype, Action action) { return Add (prototype, null, action); } public OptionSet Add (string prototype, string description, Action action) { return Add (new ActionOption (prototype, description, action)); } public OptionSet Add (string prototype, OptionAction action) { return Add (prototype, null, action); } public OptionSet Add (string prototype, string description, OptionAction action) { return Add (new ActionOption (prototype, description, action)); } protected virtual OptionContext CreateOptionContext () { return new OptionContext (this); } #if LINQ public List Parse (IEnumerable arguments) { bool process = true; OptionContext c = CreateOptionContext (); c.OptionIndex = -1; var def = GetOptionForName ("<>"); var unprocessed = from argument in arguments where ++c.OptionIndex >= 0 && (process || def != null) ? process ? argument == "--" ? (process = false) : !Parse (argument, c) ? def != null ? Unprocessed (null, def, c, argument) : true : false : def != null ? Unprocessed (null, def, c, argument) : true : true select argument; List r = unprocessed.ToList (); if (c.Option != null) c.Option.Invoke (c); return r; } #else public List Parse (IEnumerable arguments) { OptionContext c = CreateOptionContext (); c.OptionIndex = -1; bool process = true; List unprocessed = new List (); Option def = Contains ("<>") ? this ["<>"] : null; foreach (string argument in arguments) { ++c.OptionIndex; if (argument == "--") { process = false; continue; } if (!process) { Unprocessed (unprocessed, def, c, argument); continue; } if (!Parse (argument, c)) Unprocessed (unprocessed, def, c, argument); } if (c.Option != null) c.Option.Invoke (c); return unprocessed; } #endif private static bool Unprocessed (ICollection extra, Option def, OptionContext c, string argument) { if (def == null) { extra.Add (argument); return false; } c.OptionValues.Add (argument); c.Option = def; c.Option.Invoke (c); return false; } private readonly Regex ValueOption = new Regex ( @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); protected bool GetOptionParts (string argument, out string flag, out string name, out string sep, out string value) { if (argument == null) throw new ArgumentNullException ("argument"); flag = name = sep = value = null; Match m = ValueOption.Match (argument); if (!m.Success) { return false; } flag = m.Groups ["flag"].Value; name = m.Groups ["name"].Value; if (m.Groups ["sep"].Success && m.Groups ["value"].Success) { sep = m.Groups ["sep"].Value; value = m.Groups ["value"].Value; } return true; } protected virtual bool Parse (string argument, OptionContext c) { if (c.Option != null) { ParseValue (argument, c); return true; } string f, n, s, v; if (!GetOptionParts (argument, out f, out n, out s, out v)) return false; Option p; if (Contains (n)) { p = this [n]; c.OptionName = f + n; c.Option = p; switch (p.OptionValueType) { case OptionValueType.None: c.OptionValues.Add (n); c.Option.Invoke (c); break; case OptionValueType.Optional: case OptionValueType.Required: ParseValue (v, c); break; } return true; } // no match; is it a bool option? if (ParseBool (argument, n, c)) return true; // is it a bundled option? if (ParseBundledValue (f, string.Concat (n + s + v), c)) return true; return false; } private void ParseValue (string option, OptionContext c) { if (option != null) foreach (string o in c.Option.ValueSeparators != null ? option.Split (c.Option.ValueSeparators, StringSplitOptions.None) : new string[]{option}) { c.OptionValues.Add (o); } if (c.OptionValues.Count == c.Option.MaxValueCount || c.Option.OptionValueType == OptionValueType.Optional) c.Option.Invoke (c); else if (c.OptionValues.Count > c.Option.MaxValueCount) { throw new OptionException (localizer (string.Format ( "Error: Found {0} option values when expecting {1}.", c.OptionValues.Count, c.Option.MaxValueCount)), c.OptionName); } } private bool ParseBool (string option, string n, OptionContext c) { Option p; string rn; if (n.Length >= 1 && (n [n.Length-1] == '+' || n [n.Length-1] == '-') && Contains ((rn = n.Substring (0, n.Length-1)))) { p = this [rn]; string v = n [n.Length-1] == '+' ? option : null; c.OptionName = option; c.Option = p; c.OptionValues.Add (v); p.Invoke (c); return true; } return false; } private bool ParseBundledValue (string f, string n, OptionContext c) { if (f != "-") return false; for (int i = 0; i < n.Length; ++i) { Option p; string opt = f + n [i].ToString (); string rn = n [i].ToString (); if (!Contains (rn)) { if (i == 0) return false; throw new OptionException (string.Format (localizer ( "Cannot bundle unregistered option '{0}'."), opt), opt); } p = this [rn]; switch (p.OptionValueType) { case OptionValueType.None: Invoke (c, opt, n, p); break; case OptionValueType.Optional: case OptionValueType.Required: { string v = n.Substring (i+1); c.Option = p; c.OptionName = opt; ParseValue (v.Length != 0 ? v : null, c); return true; } default: throw new InvalidOperationException ("Unknown OptionValueType: " + p.OptionValueType); } } return true; } private static void Invoke (OptionContext c, string name, string value, Option option) { c.OptionName = name; c.Option = option; c.OptionValues.Add (value); option.Invoke (c); } private const int OptionWidth = 29; public void WriteOptionDescriptions (TextWriter o) { foreach (Option p in this) { int written = 0; if (!WriteOptionPrototype (o, p, ref written)) continue; if (written < OptionWidth) o.Write (new string (' ', OptionWidth - written)); else { o.WriteLine (); o.Write (new string (' ', OptionWidth)); } bool indent = false; string prefix = new string (' ', OptionWidth+2); foreach (string line in GetLines (localizer (GetDescription (p.Description)))) { if (indent) o.Write (prefix); o.WriteLine (line); indent = true; } } } bool WriteOptionPrototype (TextWriter o, Option p, ref int written) { string[] names = p.Names; int i = GetNextOptionIndex (names, 0); if (i == names.Length) return false; if (names [i].Length == 1) { Write (o, ref written, " -"); Write (o, ref written, names [0]); } else { Write (o, ref written, " --"); Write (o, ref written, names [0]); } for ( i = GetNextOptionIndex (names, i+1); i < names.Length; i = GetNextOptionIndex (names, i+1)) { Write (o, ref written, ", "); Write (o, ref written, names [i].Length == 1 ? "-" : "--"); Write (o, ref written, names [i]); } if (p.OptionValueType == OptionValueType.Optional || p.OptionValueType == OptionValueType.Required) { if (p.OptionValueType == OptionValueType.Optional) { Write (o, ref written, localizer ("[")); } Write (o, ref written, localizer ("=" + GetArgumentName (0, p.MaxValueCount, p.Description))); string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 ? p.ValueSeparators [0] : " "; for (int c = 1; c < p.MaxValueCount; ++c) { Write (o, ref written, localizer (sep + GetArgumentName (c, p.MaxValueCount, p.Description))); } if (p.OptionValueType == OptionValueType.Optional) { Write (o, ref written, localizer ("]")); } } return true; } static int GetNextOptionIndex (string[] names, int i) { while (i < names.Length && names [i] == "<>") { ++i; } return i; } static void Write (TextWriter o, ref int n, string s) { n += s.Length; o.Write (s); } private static string GetArgumentName (int index, int maxIndex, string description) { if (description == null) return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); string[] nameStart; if (maxIndex == 1) nameStart = new string[]{"{0:", "{"}; else nameStart = new string[]{"{" + index + ":"}; for (int i = 0; i < nameStart.Length; ++i) { int start, j = 0; do { start = description.IndexOf (nameStart [i], j); } while (start >= 0 && j != 0 ? description [j++ - 1] == '{' : false); if (start == -1) continue; int end = description.IndexOf ("}", start); if (end == -1) continue; return description.Substring (start + nameStart [i].Length, end - start - nameStart [i].Length); } return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); } private static string GetDescription (string description) { if (description == null) return string.Empty; StringBuilder sb = new StringBuilder (description.Length); int start = -1; for (int i = 0; i < description.Length; ++i) { switch (description [i]) { case '{': if (i == start) { sb.Append ('{'); start = -1; } else if (start < 0) start = i + 1; break; case '}': if (start < 0) { if ((i+1) == description.Length || description [i+1] != '}') throw new InvalidOperationException ("Invalid option description: " + description); ++i; sb.Append ("}"); } else { sb.Append (description.Substring (start, i - start)); start = -1; } break; case ':': if (start < 0) goto default; start = i + 1; break; default: if (start < 0) sb.Append (description [i]); break; } } return sb.ToString (); } private static IEnumerable GetLines (string description) { if (string.IsNullOrEmpty (description)) { yield return string.Empty; yield break; } int length = 80 - OptionWidth - 1; int start = 0, end; do { end = GetLineEnd (start, length, description); char c = description [end-1]; if (char.IsWhiteSpace (c)) --end; bool writeContinuation = end != description.Length && !IsEolChar (c); string line = description.Substring (start, end - start) + (writeContinuation ? "-" : ""); yield return line; start = end; if (char.IsWhiteSpace (c)) ++start; length = 80 - OptionWidth - 2 - 1; } while (end < description.Length); } private static bool IsEolChar (char c) { return !char.IsLetterOrDigit (c); } private static int GetLineEnd (int start, int length, string description) { int end = System.Math.Min (start + length, description.Length); int sep = -1; for (int i = start; i < end; ++i) { if (description [i] == '\n') return i+1; if (IsEolChar (description [i])) sep = i+1; } if (sep == -1 || end == description.Length) return end; return sep; } } } opentk-1.0.20101006/Source/Converter/Readme.txt0000664000175000017500000000225511453131424017715 0ustar laneylaney[Introduction] This is a simple tool to convert C headers to XML files. It works using simple pattern matching - it does not actually parse the header files. For this reason, it will work with only a few, specific header files: ES and CL at this point. [Usage] CHeaderToXML.exe -p:{PREFIX} -v:{VERSION} {INPUT} {PREFIX} is a simple string that defines the a common prefix for functions and constants in this header. This prefix will be removed from the generated XML file. {VERSION} is a string that defines that version that will be used for functions in the generated XML file. Specific input files may override this setting. {INPUT} is a space-separated list of input files (headers). Despite what the help says, all three parameters are necessary at the moment. [Known issues] OpenGL|ES 2.0: gl*Fence[s|iv]?NV fail to define parameters names. These have been added by hand (take care when updating the header file). [Support] If you encounter a bug, please file an issue report at http://www.opentk.com/issues We will only accept bug reports for supported header files. This is not a generic tool and will fail to parse unsupported files.opentk-1.0.20101006/Source/Converter/Headers/0000775000175000017500000000000011453142152017326 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/ES11/0000775000175000017500000000000011453142152017777 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/ES11/glext.h0000664000175000017500000011065411453131424021302 0ustar laneylaney#ifndef __glext_h_ #define __glext_h_ /* $Revision: 8272 $ on $Date:: 2009-05-21 09:38:34 -0700 #$ */ #ifdef __cplusplus extern "C" { #endif /* * This document is licensed under the SGI Free Software B License Version * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . */ #ifndef GL_APIENTRYP # define GL_APIENTRYP GL_APIENTRY* #endif /*------------------------------------------------------------------------* * OES extension tokens *------------------------------------------------------------------------*/ /* GL_OES_blend_equation_separate */ #ifndef GL_OES_blend_equation_separate #define GL_BLEND_EQUATION_RGB_OES 0x8009 #define GL_BLEND_EQUATION_ALPHA_OES 0x883D #endif /* GL_OES_blend_func_separate */ #ifndef GL_OES_blend_func_separate #define GL_BLEND_DST_RGB_OES 0x80C8 #define GL_BLEND_SRC_RGB_OES 0x80C9 #define GL_BLEND_DST_ALPHA_OES 0x80CA #define GL_BLEND_SRC_ALPHA_OES 0x80CB #endif /* GL_OES_blend_subtract */ #ifndef GL_OES_blend_subtract #define GL_BLEND_EQUATION_OES 0x8009 #define GL_FUNC_ADD_OES 0x8006 #define GL_FUNC_SUBTRACT_OES 0x800A #define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B #endif /* GL_OES_compressed_ETC1_RGB8_texture */ #ifndef GL_OES_compressed_ETC1_RGB8_texture #define GL_ETC1_RGB8_OES 0x8D64 #endif /* GL_OES_depth24 */ #ifndef GL_OES_depth24 #define GL_DEPTH_COMPONENT24_OES 0x81A6 #endif /* GL_OES_depth32 */ #ifndef GL_OES_depth32 #define GL_DEPTH_COMPONENT32_OES 0x81A7 #endif /* GL_OES_draw_texture */ #ifndef GL_OES_draw_texture #define GL_TEXTURE_CROP_RECT_OES 0x8B9D #endif /* GL_OES_EGL_image */ #ifndef GL_OES_EGL_image typedef void* GLeglImageOES; #endif /* GL_OES_fixed_point */ #ifndef GL_OES_fixed_point #define GL_FIXED_OES 0x140C #endif /* GL_OES_framebuffer_object */ #ifndef GL_OES_framebuffer_object #define GL_NONE_OES 0 #define GL_FRAMEBUFFER_OES 0x8D40 #define GL_RENDERBUFFER_OES 0x8D41 #define GL_RGBA4_OES 0x8056 #define GL_RGB5_A1_OES 0x8057 #define GL_RGB565_OES 0x8D62 #define GL_DEPTH_COMPONENT16_OES 0x81A5 #define GL_RENDERBUFFER_WIDTH_OES 0x8D42 #define GL_RENDERBUFFER_HEIGHT_OES 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44 #define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50 #define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51 #define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52 #define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3 #define GL_COLOR_ATTACHMENT0_OES 0x8CE0 #define GL_DEPTH_ATTACHMENT_OES 0x8D00 #define GL_STENCIL_ATTACHMENT_OES 0x8D20 #define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA #define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD #define GL_FRAMEBUFFER_BINDING_OES 0x8CA6 #define GL_RENDERBUFFER_BINDING_OES 0x8CA7 #define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8 #define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506 #endif /* GL_OES_mapbuffer */ #ifndef GL_OES_mapbuffer #define GL_WRITE_ONLY_OES 0x88B9 #define GL_BUFFER_ACCESS_OES 0x88BB #define GL_BUFFER_MAPPED_OES 0x88BC #define GL_BUFFER_MAP_POINTER_OES 0x88BD #endif /* GL_OES_matrix_get */ #ifndef GL_OES_matrix_get #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F #endif /* GL_OES_matrix_palette */ #ifndef GL_OES_matrix_palette #define GL_MAX_VERTEX_UNITS_OES 0x86A4 #define GL_MAX_PALETTE_MATRICES_OES 0x8842 #define GL_MATRIX_PALETTE_OES 0x8840 #define GL_MATRIX_INDEX_ARRAY_OES 0x8844 #define GL_WEIGHT_ARRAY_OES 0x86AD #define GL_CURRENT_PALETTE_MATRIX_OES 0x8843 #define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846 #define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847 #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848 #define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849 #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E #define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB #define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9 #define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA #define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E #endif /* GL_OES_packed_depth_stencil */ #ifndef GL_OES_packed_depth_stencil #define GL_DEPTH_STENCIL_OES 0x84F9 #define GL_UNSIGNED_INT_24_8_OES 0x84FA #define GL_DEPTH24_STENCIL8_OES 0x88F0 #endif /* GL_OES_rgb8_rgba8 */ #ifndef GL_OES_rgb8_rgba8 #define GL_RGB8_OES 0x8051 #define GL_RGBA8_OES 0x8058 #endif /* GL_OES_stencil1 */ #ifndef GL_OES_stencil1 #define GL_STENCIL_INDEX1_OES 0x8D46 #endif /* GL_OES_stencil4 */ #ifndef GL_OES_stencil4 #define GL_STENCIL_INDEX4_OES 0x8D47 #endif /* GL_OES_stencil8 */ #ifndef GL_OES_stencil8 #define GL_STENCIL_INDEX8_OES 0x8D48 #endif /* GL_OES_stencil_wrap */ #ifndef GL_OES_stencil_wrap #define GL_INCR_WRAP_OES 0x8507 #define GL_DECR_WRAP_OES 0x8508 #endif /* GL_OES_texture_cube_map */ #ifndef GL_OES_texture_cube_map #define GL_NORMAL_MAP_OES 0x8511 #define GL_REFLECTION_MAP_OES 0x8512 #define GL_TEXTURE_CUBE_MAP_OES 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C #define GL_TEXTURE_GEN_MODE_OES 0x2500 #define GL_TEXTURE_GEN_STR_OES 0x8D60 #endif /* GL_OES_texture_mirrored_repeat */ #ifndef GL_OES_texture_mirrored_repeat #define GL_MIRRORED_REPEAT_OES 0x8370 #endif /*------------------------------------------------------------------------* * AMD extension tokens *------------------------------------------------------------------------*/ /* GL_AMD_compressed_3DC_texture */ #ifndef GL_AMD_compressed_3DC_texture #define GL_3DC_X_AMD 0x87F9 #define GL_3DC_XY_AMD 0x87FA #endif /* GL_AMD_compressed_ATC_texture */ #ifndef GL_AMD_compressed_ATC_texture #define GL_ATC_RGB_AMD 0x8C92 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE #endif /*------------------------------------------------------------------------* * EXT extension tokens *------------------------------------------------------------------------*/ /* GL_EXT_texture_filter_anisotropic */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #endif /* GL_EXT_texture_format_BGRA8888 */ #ifndef GL_EXT_texture_format_BGRA8888 #define GL_BGRA 0x80E1 #endif /*------------------------------------------------------------------------* * IMG extension tokens *------------------------------------------------------------------------*/ /* GL_IMG_read_format */ #ifndef GL_IMG_read_format #define GL_BGRA 0x80E1 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 #endif /* GL_IMG_texture_compression_pvrtc */ #ifndef GL_IMG_texture_compression_pvrtc #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 #endif /* GL_IMG_user_clip_plane */ #ifndef GL_IMG_user_clip_plane #define GL_CLIP_PLANE0_IMG 0x3000 #define GL_CLIP_PLANE1_IMG 0x3001 #define GL_CLIP_PLANE2_IMG 0x3002 #define GL_CLIP_PLANE3_IMG 0x3003 #define GL_CLIP_PLANE4_IMG 0x3004 #define GL_CLIP_PLANE5_IMG 0x3005 #define GL_MAX_CLIP_PLANES_IMG 0x0D32 #endif /* GL_IMG_texture_env_enhanced_fixed_function */ #ifndef GL_IMG_texture_env_enhanced_fixed_function #define GL_MODULATE_COLOR_IMG 0x8C04 #define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05 #define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06 #define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07 #define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08 #define GL_ADD_BLEND_IMG 0x8C09 #define GL_DOT3_RGBA_IMG 0x86AF #endif /*------------------------------------------------------------------------* * NV extension tokens *------------------------------------------------------------------------*/ /* GL_NV_fence */ #ifndef GL_NV_fence #define GL_ALL_COMPLETED_NV 0x84F2 #define GL_FENCE_STATUS_NV 0x84F3 #define GL_FENCE_CONDITION_NV 0x84F4 #endif /*------------------------------------------------------------------------* * QCOM extension tokens *------------------------------------------------------------------------*/ /* GL_QCOM_driver_control */ /* No new tokens introduced by this extension. */ /* GL_QCOM_perfmon_global_mode */ #ifndef GL_QCOM_perfmon_global_mode #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 #endif /*------------------------------------------------------------------------* * End of extension tokens, start of corresponding extension functions *------------------------------------------------------------------------*/ /*------------------------------------------------------------------------* * OES extension functions *------------------------------------------------------------------------*/ /* GL_OES_blend_equation_separate */ #ifndef GL_OES_blend_equation_separate #define GL_OES_blend_equation_separate 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha); #endif typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha); #endif /* GL_OES_blend_func_separate */ #ifndef GL_OES_blend_func_separate #define GL_OES_blend_func_separate 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); #endif typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); #endif /* GL_OES_blend_subtract */ #ifndef GL_OES_blend_subtract #define GL_OES_blend_subtract 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode); #endif typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode); #endif /* GL_OES_byte_coordinates */ #ifndef GL_OES_byte_coordinates #define GL_OES_byte_coordinates 1 #endif /* GL_OES_compressed_ETC1_RGB8_texture */ #ifndef GL_OES_compressed_ETC1_RGB8_texture #define GL_OES_compressed_ETC1_RGB8_texture 1 #endif /* GL_OES_depth24 */ #ifndef GL_OES_depth24 #define GL_OES_depth24 1 #endif /* GL_OES_depth32 */ #ifndef GL_OES_depth32 #define GL_OES_depth32 1 #endif /* GL_OES_draw_texture */ #ifndef GL_OES_draw_texture #define GL_OES_draw_texture 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords); GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords); GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords); GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords); #endif typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height); typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords); typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords); typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords); typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords); #endif /* GL_OES_EGL_image */ #ifndef GL_OES_EGL_image #define GL_OES_EGL_image 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); #endif typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); #endif /* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_OES_element_index_uint 1 #endif /* GL_OES_extended_matrix_palette */ #ifndef GL_OES_extended_matrix_palette #define GL_OES_extended_matrix_palette 1 #endif /* GL_OES_fbo_render_mipmap */ #ifndef GL_OES_fbo_render_mipmap #define GL_OES_fbo_render_mipmap 1 #endif /* GL_OES_fixed_point */ #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref); GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth); GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation); GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar); GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]); GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width); GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m); GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m); GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz); GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glPointSizexOES (GLfixed size); GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units); GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert); GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z); GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z); #endif typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref); typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth); typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation); typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar); typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]); typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params); typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params); typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params); typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params); typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width); typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m); typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m); typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size); typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert); typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); #endif /* GL_OES_framebuffer_object */ #ifndef GL_OES_framebuffer_object #define GL_OES_framebuffer_object 1 #ifdef GL_GLEXT_PROTOTYPES GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer); GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer); GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers); GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers); GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params); GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer); GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer); GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers); GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers); GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target); GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params); GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target); #endif typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target); #endif /* GL_OES_mapbuffer */ #ifndef GL_OES_mapbuffer #define GL_OES_mapbuffer 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params); #endif typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); #endif /* GL_OES_matrix_get */ #ifndef GL_OES_matrix_get #define GL_OES_matrix_get 1 #endif /* GL_OES_matrix_palette */ #ifndef GL_OES_matrix_palette #define GL_OES_matrix_palette 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void); GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #endif typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex); typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void); typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); #endif /* GL_OES_packed_depth_stencil */ #ifndef GL_OES_packed_depth_stencil #define GL_OES_packed_depth_stencil 1 #endif /* GL_OES_query_matrix */ #ifndef GL_OES_query_matrix #define GL_OES_query_matrix 1 #ifdef GL_GLEXT_PROTOTYPES GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]); #endif typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]); #endif /* GL_OES_rgb8_rgba8 */ #ifndef GL_OES_rgb8_rgba8 #define GL_OES_rgb8_rgba8 1 #endif /* GL_OES_single_precision */ #ifndef GL_OES_single_precision #define GL_OES_single_precision 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar); GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation); GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]); GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth); #endif typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar); typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation); typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]); typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); #endif /* GL_OES_stencil1 */ #ifndef GL_OES_stencil1 #define GL_OES_stencil1 1 #endif /* GL_OES_stencil4 */ #ifndef GL_OES_stencil4 #define GL_OES_stencil4 1 #endif /* GL_OES_stencil8 */ #ifndef GL_OES_stencil8 #define GL_OES_stencil8 1 #endif /* GL_OES_stencil_wrap */ #ifndef GL_OES_stencil_wrap #define GL_OES_stencil_wrap 1 #endif /* GL_OES_texture_cube_map */ #ifndef GL_OES_texture_cube_map #define GL_OES_texture_cube_map 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param); GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param); GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params); GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params); GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params); #endif typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); #endif /* GL_OES_texture_env_crossbar */ #ifndef GL_OES_texture_env_crossbar #define GL_OES_texture_env_crossbar 1 #endif /* GL_OES_texture_mirrored_repeat */ #ifndef GL_OES_texture_mirrored_repeat #define GL_OES_texture_mirrored_repeat 1 #endif /*------------------------------------------------------------------------* * AMD extension functions *------------------------------------------------------------------------*/ /* GL_AMD_compressed_3DC_texture */ #ifndef GL_AMD_compressed_3DC_texture #define GL_AMD_compressed_3DC_texture 1 #endif /* GL_AMD_compressed_ATC_texture */ #ifndef GL_AMD_compressed_ATC_texture #define GL_AMD_compressed_ATC_texture 1 #endif /*------------------------------------------------------------------------* * EXT extension functions *------------------------------------------------------------------------*/ /* GL_EXT_texture_filter_anisotropic */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_EXT_texture_filter_anisotropic 1 #endif /* GL_EXT_texture_format_BGRA8888 */ #ifndef GL_EXT_texture_format_BGRA8888 #define GL_EXT_texture_format_BGRA8888 1 #endif /*------------------------------------------------------------------------* * IMG extension functions *------------------------------------------------------------------------*/ /* GL_IMG_read_format */ #ifndef GL_IMG_read_format #define GL_IMG_read_format 1 #endif /* GL_IMG_texture_compression_pvrtc */ #ifndef GL_IMG_texture_compression_pvrtc #define GL_IMG_texture_compression_pvrtc 1 #endif /* GL_IMG_user_clip_plane */ #ifndef GL_IMG_user_clip_plane #define GL_IMG_user_clip_plane 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glClipPlanefIMG (GLenum p, const GLfloat *eqn); GL_API void GL_APIENTRY glClipPlanexIMG (GLenum p, const GLfixed *eqn); #endif typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMG) (GLenum p, const GLfloat *eqn); typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum p, const GLfixed *eqn); #endif /* GL_IMG_texture_env_enhanced_fixed_function */ #ifndef GL_IMG_texture_env_enhanced_fixed_function #define GL_IMG_texture_env_enhanced_fixed_function 1 #endif /*------------------------------------------------------------------------* * NV extension functions *------------------------------------------------------------------------*/ /* NV_fence */ #ifndef GL_NV_fence #define GL_NV_fence 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences); GL_API void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences); GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint fence); GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint fence); GL_API void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params); GL_API void GL_APIENTRY glFinishFenceNV (GLuint fence); GL_API void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition); #endif typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); #endif /*------------------------------------------------------------------------* * QCOM extension functions *------------------------------------------------------------------------*/ /* GL_QCOM_driver_control */ #ifndef GL_QCOM_driver_control #define GL_QCOM_driver_control 1 #ifdef GL_GLEXT_PROTOTYPES GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); #endif typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString); typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); #endif /* GL_QCOM_perfmon_global_mode */ #ifndef GL_QCOM_perfmon_global_mode #define GL_QCOM_perfmon_global_mode 1 #endif #ifdef __cplusplus } #endif #endif /* __glext_h_ */ opentk-1.0.20101006/Source/Converter/Headers/ES11/gl.h0000664000175000017500000010277011453131424020561 0ustar laneylaney#ifndef __gl_h_ #define __gl_h_ /* $Revision: 7172 $ on $Date:: 2009-01-09 11:17:41 -0800 #$ */ #include #ifdef __cplusplus extern "C" { #endif /* * This document is licensed under the SGI Free Software B License Version * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . */ typedef void GLvoid; typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef khronos_int8_t GLbyte; typedef short GLshort; typedef int GLint; typedef int GLsizei; typedef khronos_uint8_t GLubyte; typedef unsigned short GLushort; typedef unsigned int GLuint; typedef khronos_float_t GLfloat; typedef khronos_float_t GLclampf; typedef khronos_int32_t GLfixed; typedef khronos_int32_t GLclampx; typedef khronos_intptr_t GLintptr; typedef khronos_ssize_t GLsizeiptr; /*************************************************************/ /* OpenGL ES core versions */ #define GL_VERSION_ES_CM_1_0 1 #define GL_VERSION_ES_CL_1_0 1 #define GL_VERSION_ES_CM_1_1 1 #define GL_VERSION_ES_CL_1_1 1 /* ClearBufferMask */ #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_COLOR_BUFFER_BIT 0x00004000 /* Boolean */ #define GL_FALSE 0 #define GL_TRUE 1 /* BeginMode */ #define GL_POINTS 0x0000 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 #define GL_LINE_STRIP 0x0003 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 /* AlphaFunction */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 /* BlendingFactorDest */ #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 /* BlendingFactorSrc */ /* GL_ZERO */ /* GL_ONE */ #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 /* GL_SRC_ALPHA */ /* GL_ONE_MINUS_SRC_ALPHA */ /* GL_DST_ALPHA */ /* GL_ONE_MINUS_DST_ALPHA */ /* ClipPlaneName */ #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 /* ColorMaterialFace */ /* GL_FRONT_AND_BACK */ /* ColorMaterialParameter */ /* GL_AMBIENT_AND_DIFFUSE */ /* ColorPointerType */ /* GL_UNSIGNED_BYTE */ /* GL_FLOAT */ /* GL_FIXED */ /* CullFaceMode */ #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_FRONT_AND_BACK 0x0408 /* DepthFunction */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* EnableCap */ #define GL_FOG 0x0B60 #define GL_LIGHTING 0x0B50 #define GL_TEXTURE_2D 0x0DE1 #define GL_CULL_FACE 0x0B44 #define GL_ALPHA_TEST 0x0BC0 #define GL_BLEND 0x0BE2 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_DITHER 0x0BD0 #define GL_STENCIL_TEST 0x0B90 #define GL_DEPTH_TEST 0x0B71 /* GL_LIGHT0 */ /* GL_LIGHT1 */ /* GL_LIGHT2 */ /* GL_LIGHT3 */ /* GL_LIGHT4 */ /* GL_LIGHT5 */ /* GL_LIGHT6 */ /* GL_LIGHT7 */ #define GL_POINT_SMOOTH 0x0B10 #define GL_LINE_SMOOTH 0x0B20 #define GL_SCISSOR_TEST 0x0C11 #define GL_COLOR_MATERIAL 0x0B57 #define GL_NORMALIZE 0x0BA1 #define GL_RESCALE_NORMAL 0x803A #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_MULTISAMPLE 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_ALPHA_TO_ONE 0x809F #define GL_SAMPLE_COVERAGE 0x80A0 /* ErrorCode */ #define GL_NO_ERROR 0 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* FogMode */ /* GL_LINEAR */ #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* FogParameter */ #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_FOG_MODE 0x0B65 #define GL_FOG_COLOR 0x0B66 /* FrontFaceDirection */ #define GL_CW 0x0900 #define GL_CCW 0x0901 /* GetPName */ #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_MIN 0x8126 #define GL_POINT_SIZE_MAX 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 #define GL_POINT_DISTANCE_ATTENUATION 0x8129 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 #define GL_LINE_WIDTH 0x0B21 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E #define GL_CULL_FACE_MODE 0x0B45 #define GL_FRONT_FACE 0x0B46 #define GL_SHADE_MODEL 0x0B54 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_MATRIX_MODE 0x0BA0 #define GL_VIEWPORT 0x0BA2 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_ALPHA_TEST_FUNC 0x0BC1 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_BLEND_DST 0x0BE0 #define GL_BLEND_SRC 0x0BE1 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_SCISSOR_BOX 0x0C10 #define GL_SCISSOR_TEST 0x0C11 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_TEXTURE_UNITS 0x84E2 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_ALPHA_BITS 0x0D55 #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_TEXTURE_BINDING_2D 0x8069 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_SAMPLE_BUFFERS 0x80A8 #define GL_SAMPLES 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA #define GL_SAMPLE_COVERAGE_INVERT 0x80AB /* GetTextureParameter */ /* GL_TEXTURE_MAG_FILTER */ /* GL_TEXTURE_MIN_FILTER */ /* GL_TEXTURE_WRAP_S */ /* GL_TEXTURE_WRAP_T */ #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 /* HintMode */ #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* HintTarget */ #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_FOG_HINT 0x0C54 #define GL_GENERATE_MIPMAP_HINT 0x8192 /* LightModelParameter */ #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 /* LightParameter */ #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 /* DataType */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_FLOAT 0x1406 #define GL_FIXED 0x140C /* LogicOp */ #define GL_CLEAR 0x1500 #define GL_AND 0x1501 #define GL_AND_REVERSE 0x1502 #define GL_COPY 0x1503 #define GL_AND_INVERTED 0x1504 #define GL_NOOP 0x1505 #define GL_XOR 0x1506 #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_EQUIV 0x1509 #define GL_INVERT 0x150A #define GL_OR_REVERSE 0x150B #define GL_COPY_INVERTED 0x150C #define GL_OR_INVERTED 0x150D #define GL_NAND 0x150E #define GL_SET 0x150F /* MaterialFace */ /* GL_FRONT_AND_BACK */ /* MaterialParameter */ #define GL_EMISSION 0x1600 #define GL_SHININESS 0x1601 #define GL_AMBIENT_AND_DIFFUSE 0x1602 /* GL_AMBIENT */ /* GL_DIFFUSE */ /* GL_SPECULAR */ /* MatrixMode */ #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* NormalPointerType */ /* GL_BYTE */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* PixelFormat */ #define GL_ALPHA 0x1906 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A /* PixelStoreParameter */ #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_PACK_ALIGNMENT 0x0D05 /* PixelType */ /* GL_UNSIGNED_BYTE */ #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 /* ShadingModel */ #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 /* StencilFunction */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* StencilOp */ /* GL_ZERO */ #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* GL_INVERT */ /* StringName */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* TexCoordPointerType */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* GL_BYTE */ /* TextureEnvMode */ #define GL_MODULATE 0x2100 #define GL_DECAL 0x2101 /* GL_BLEND */ #define GL_ADD 0x0104 /* GL_REPLACE */ /* TextureEnvParameter */ #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_ENV_COLOR 0x2201 /* TextureEnvTarget */ #define GL_TEXTURE_ENV 0x2300 /* TextureMagFilter */ #define GL_NEAREST 0x2600 #define GL_LINEAR 0x2601 /* TextureMinFilter */ /* GL_NEAREST */ /* GL_LINEAR */ #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 /* TextureParameterName */ #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_GENERATE_MIPMAP 0x8191 /* TextureTarget */ /* GL_TEXTURE_2D */ /* TextureUnit */ #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #define GL_TEXTURE2 0x84C2 #define GL_TEXTURE3 0x84C3 #define GL_TEXTURE4 0x84C4 #define GL_TEXTURE5 0x84C5 #define GL_TEXTURE6 0x84C6 #define GL_TEXTURE7 0x84C7 #define GL_TEXTURE8 0x84C8 #define GL_TEXTURE9 0x84C9 #define GL_TEXTURE10 0x84CA #define GL_TEXTURE11 0x84CB #define GL_TEXTURE12 0x84CC #define GL_TEXTURE13 0x84CD #define GL_TEXTURE14 0x84CE #define GL_TEXTURE15 0x84CF #define GL_TEXTURE16 0x84D0 #define GL_TEXTURE17 0x84D1 #define GL_TEXTURE18 0x84D2 #define GL_TEXTURE19 0x84D3 #define GL_TEXTURE20 0x84D4 #define GL_TEXTURE21 0x84D5 #define GL_TEXTURE22 0x84D6 #define GL_TEXTURE23 0x84D7 #define GL_TEXTURE24 0x84D8 #define GL_TEXTURE25 0x84D9 #define GL_TEXTURE26 0x84DA #define GL_TEXTURE27 0x84DB #define GL_TEXTURE28 0x84DC #define GL_TEXTURE29 0x84DD #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF #define GL_ACTIVE_TEXTURE 0x84E0 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 /* TextureWrapMode */ #define GL_REPEAT 0x2901 #define GL_CLAMP_TO_EDGE 0x812F /* VertexPointerType */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* GL_BYTE */ /* LightName */ #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 /* Buffer Objects */ #define GL_ARRAY_BUFFER 0x8892 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A #define GL_STATIC_DRAW 0x88E4 #define GL_DYNAMIC_DRAW 0x88E8 #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 /* Texture combine + dot3 */ #define GL_SUBTRACT 0x84E7 #define GL_COMBINE 0x8570 #define GL_COMBINE_RGB 0x8571 #define GL_COMBINE_ALPHA 0x8572 #define GL_RGB_SCALE 0x8573 #define GL_ADD_SIGNED 0x8574 #define GL_INTERPOLATE 0x8575 #define GL_CONSTANT 0x8576 #define GL_PRIMARY_COLOR 0x8577 #define GL_PREVIOUS 0x8578 #define GL_OPERAND0_RGB 0x8590 #define GL_OPERAND1_RGB 0x8591 #define GL_OPERAND2_RGB 0x8592 #define GL_OPERAND0_ALPHA 0x8598 #define GL_OPERAND1_ALPHA 0x8599 #define GL_OPERAND2_ALPHA 0x859A #define GL_ALPHA_SCALE 0x0D1C #define GL_SRC0_RGB 0x8580 #define GL_SRC1_RGB 0x8581 #define GL_SRC2_RGB 0x8582 #define GL_SRC0_ALPHA 0x8588 #define GL_SRC1_ALPHA 0x8589 #define GL_SRC2_ALPHA 0x858A #define GL_DOT3_RGB 0x86AE #define GL_DOT3_RGBA 0x86AF /*------------------------------------------------------------------------* * required OES extension tokens *------------------------------------------------------------------------*/ /* OES_read_format */ #ifndef GL_OES_read_format #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B #endif /* GL_OES_compressed_paletted_texture */ #ifndef GL_OES_compressed_paletted_texture #define GL_PALETTE4_RGB8_OES 0x8B90 #define GL_PALETTE4_RGBA8_OES 0x8B91 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 #define GL_PALETTE4_RGBA4_OES 0x8B93 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 #define GL_PALETTE8_RGB8_OES 0x8B95 #define GL_PALETTE8_RGBA8_OES 0x8B96 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 #define GL_PALETTE8_RGBA4_OES 0x8B98 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 #endif /* OES_point_size_array */ #ifndef GL_OES_point_size_array #define GL_POINT_SIZE_ARRAY_OES 0x8B9C #define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A #define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B #define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C #define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F #endif /* GL_OES_point_sprite */ #ifndef GL_OES_point_sprite #define GL_POINT_SPRITE_OES 0x8861 #define GL_COORD_REPLACE_OES 0x8862 #endif /*************************************************************/ /* Available only in Common profile */ GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLclampf ref); GL_API void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); GL_API void GL_APIENTRY glClearDepthf (GLclampf depth); GL_API void GL_APIENTRY glClipPlanef (GLenum plane, const GLfloat *equation); GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GL_API void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param); GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glFrustumf (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GL_API void GL_APIENTRY glGetClipPlanef (GLenum pname, GLfloat eqn[4]); GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glGetTexEnvfv (GLenum env, GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param); GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glLineWidth (GLfloat width); GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m); GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m); GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); GL_API void GL_APIENTRY glOrthof (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param); GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glPointSize (GLfloat size); GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); /* Available in both Common and Common-Lite profiles */ GL_API void GL_APIENTRY glActiveTexture (GLenum texture); GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLclampx ref); GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); GL_API void GL_APIENTRY glClear (GLbitfield mask); GL_API void GL_APIENTRY glClearColorx (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); GL_API void GL_APIENTRY glClearDepthx (GLclampx depth); GL_API void GL_APIENTRY glClearStencil (GLint s); GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture); GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation); GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GL_API void GL_APIENTRY glCullFace (GLenum mode); GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers); GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); GL_API void GL_APIENTRY glDepthFunc (GLenum func); GL_API void GL_APIENTRY glDepthMask (GLboolean flag); GL_API void GL_APIENTRY glDepthRangex (GLclampx zNear, GLclampx zFar); GL_API void GL_APIENTRY glDisable (GLenum cap); GL_API void GL_APIENTRY glDisableClientState (GLenum array); GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); GL_API void GL_APIENTRY glEnable (GLenum cap); GL_API void GL_APIENTRY glEnableClientState (GLenum array); GL_API void GL_APIENTRY glFinish (void); GL_API void GL_APIENTRY glFlush (void); GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glFrontFace (GLenum mode); GL_API void GL_APIENTRY glFrustumx (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params); GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); GL_API void GL_APIENTRY glGetClipPlanex (GLenum pname, GLfixed eqn[4]); GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures); GL_API GLenum GL_APIENTRY glGetError (void); GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params); GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetPointerv (GLenum pname, void **params); GL_API const GLubyte * GL_APIENTRY glGetString (GLenum name); GL_API void GL_APIENTRY glGetTexEnviv (GLenum env, GLenum pname, GLint *params); GL_API void GL_APIENTRY glGetTexEnvxv (GLenum env, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params); GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode); GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap); GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture); GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glLineWidthx (GLfixed width); GL_API void GL_APIENTRY glLoadIdentity (void); GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m); GL_API void GL_APIENTRY glLogicOp (GLenum opcode); GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glMatrixMode (GLenum mode); GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m); GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz); GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); GL_API void GL_APIENTRY glOrthox (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param); GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glPointSizex (GLfixed size); GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units); GL_API void GL_APIENTRY glPopMatrix (void); GL_API void GL_APIENTRY glPushMatrix (void); GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); GL_API void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert); GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z); GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); GL_API void GL_APIENTRY glShadeModel (GLenum mode); GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); GL_API void GL_APIENTRY glStencilMask (GLuint mask); GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param); GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params); GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z); GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); /*------------------------------------------------------------------------* * Required OES extension functions *------------------------------------------------------------------------*/ /* GL_OES_read_format */ #ifndef GL_OES_read_format #define GL_OES_read_format 1 #endif /* GL_OES_compressed_paletted_texture */ #ifndef GL_OES_compressed_paletted_texture #define GL_OES_compressed_paletted_texture 1 #endif /* GL_OES_point_size_array */ #ifndef GL_OES_point_size_array #define GL_OES_point_size_array 1 GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const GLvoid *pointer); #endif /* GL_OES_point_sprite */ #ifndef GL_OES_point_sprite #define GL_OES_point_sprite 1 #endif #ifdef __cplusplus } #endif #endif /* __gl_h_ */ opentk-1.0.20101006/Source/Converter/Headers/ES20/0000775000175000017500000000000011453142152017777 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/ES20/gl2ext.h0000664000175000017500000011507711453131424021370 0ustar laneylaney#ifndef __gl2ext_h_ #define __gl2ext_h_ /* $Revision: 11739 $ on $Date:: 2010-06-15 22:57:13 -0700 #$ */ #ifdef __cplusplus extern "C" { #endif /* * This document is licensed under the SGI Free Software B License Version * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . */ #ifndef GL_APIENTRYP # define GL_APIENTRYP GL_APIENTRY* #endif /*------------------------------------------------------------------------* * OES extension tokens *------------------------------------------------------------------------*/ /* GL_OES_compressed_ETC1_RGB8_texture */ #ifndef GL_OES_compressed_ETC1_RGB8_texture #define GL_ETC1_RGB8_OES 0x8D64 #endif /* GL_OES_compressed_paletted_texture */ #ifndef GL_OES_compressed_paletted_texture #define GL_PALETTE4_RGB8_OES 0x8B90 #define GL_PALETTE4_RGBA8_OES 0x8B91 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 #define GL_PALETTE4_RGBA4_OES 0x8B93 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 #define GL_PALETTE8_RGB8_OES 0x8B95 #define GL_PALETTE8_RGBA8_OES 0x8B96 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 #define GL_PALETTE8_RGBA4_OES 0x8B98 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 #endif /* GL_OES_depth24 */ #ifndef GL_OES_depth24 #define GL_DEPTH_COMPONENT24_OES 0x81A6 #endif /* GL_OES_depth32 */ #ifndef GL_OES_depth32 #define GL_DEPTH_COMPONENT32_OES 0x81A7 #endif /* GL_OES_depth_texture */ /* No new tokens introduced by this extension. */ /* GL_OES_EGL_image */ #ifndef GL_OES_EGL_image typedef void* GLeglImageOES; #endif /* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_UNSIGNED_INT 0x1405 #endif /* GL_OES_get_program_binary */ #ifndef GL_OES_get_program_binary #define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 #define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE #define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF #endif /* GL_OES_mapbuffer */ #ifndef GL_OES_mapbuffer #define GL_WRITE_ONLY_OES 0x88B9 #define GL_BUFFER_ACCESS_OES 0x88BB #define GL_BUFFER_MAPPED_OES 0x88BC #define GL_BUFFER_MAP_POINTER_OES 0x88BD #endif /* GL_OES_packed_depth_stencil */ #ifndef GL_OES_packed_depth_stencil #define GL_DEPTH_STENCIL_OES 0x84F9 #define GL_UNSIGNED_INT_24_8_OES 0x84FA #define GL_DEPTH24_STENCIL8_OES 0x88F0 #endif /* GL_OES_rgb8_rgba8 */ #ifndef GL_OES_rgb8_rgba8 #define GL_RGB8_OES 0x8051 #define GL_RGBA8_OES 0x8058 #endif /* GL_OES_standard_derivatives */ #ifndef GL_OES_standard_derivatives #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B #endif /* GL_OES_stencil1 */ #ifndef GL_OES_stencil1 #define GL_STENCIL_INDEX1_OES 0x8D46 #endif /* GL_OES_stencil4 */ #ifndef GL_OES_stencil4 #define GL_STENCIL_INDEX4_OES 0x8D47 #endif /* GL_OES_texture_3D */ #ifndef GL_OES_texture_3D #define GL_TEXTURE_WRAP_R_OES 0x8072 #define GL_TEXTURE_3D_OES 0x806F #define GL_TEXTURE_BINDING_3D_OES 0x806A #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 #define GL_SAMPLER_3D_OES 0x8B5F #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 #endif /* GL_OES_texture_float */ /* No new tokens introduced by this extension. */ /* GL_OES_texture_float_linear */ /* No new tokens introduced by this extension. */ /* GL_OES_texture_half_float */ #ifndef GL_OES_texture_half_float #define GL_HALF_FLOAT_OES 0x8D61 #endif /* GL_OES_texture_half_float_linear */ /* No new tokens introduced by this extension. */ /* GL_OES_texture_npot */ /* No new tokens introduced by this extension. */ /* GL_OES_vertex_array_object */ #ifndef GL_OES_vertex_array_object #define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 #endif /* GL_OES_vertex_half_float */ /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ /* GL_OES_vertex_type_10_10_10_2 */ #ifndef GL_OES_vertex_type_10_10_10_2 #define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 #define GL_INT_10_10_10_2_OES 0x8DF7 #endif /*------------------------------------------------------------------------* * AMD extension tokens *------------------------------------------------------------------------*/ /* GL_AMD_compressed_3DC_texture */ #ifndef GL_AMD_compressed_3DC_texture #define GL_3DC_X_AMD 0x87F9 #define GL_3DC_XY_AMD 0x87FA #endif /* GL_AMD_compressed_ATC_texture */ #ifndef GL_AMD_compressed_ATC_texture #define GL_ATC_RGB_AMD 0x8C92 #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE #endif /* GL_AMD_performance_monitor */ #ifndef GL_AMD_performance_monitor #define GL_COUNTER_TYPE_AMD 0x8BC0 #define GL_COUNTER_RANGE_AMD 0x8BC1 #define GL_UNSIGNED_INT64_AMD 0x8BC2 #define GL_PERCENTAGE_AMD 0x8BC3 #define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 #define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 #define GL_PERFMON_RESULT_AMD 0x8BC6 #endif /* GL_AMD_program_binary_Z400 */ #ifndef GL_AMD_program_binary_Z400 #define GL_Z400_BINARY_AMD 0x8740 #endif /*------------------------------------------------------------------------* * APPLE extension tokens *------------------------------------------------------------------------*/ /* GL_APPLE_rgb_422 */ #ifndef GL_APPLE_rgb_422 #define GL_RGB_422_APPLE 0x8A1F #define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA #define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB #endif /* GL_APPLE_framebuffer_multisample */ #ifndef GL_APPLE_framebuffer_multisample #define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 #define GL_MAX_SAMPLES_APPLE 0x8D57 #define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 #define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 #define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 #define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA #endif /* GL_APPLE_texture_format_BGRA8888 */ #ifndef GL_APPLE_texture_format_BGRA8888 #define GL_BGRA_EXT 0x80E1 #endif /* GL_APPLE_texture_max_level */ #ifndef GL_APPLE_texture_max_level #define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D #endif /*------------------------------------------------------------------------* * EXT extension tokens *------------------------------------------------------------------------*/ /* GL_EXT_blend_minmax */ #ifndef GL_EXT_blend_minmax #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #endif /* GL_EXT_discard_framebuffer */ #ifndef GL_EXT_discard_framebuffer #define GL_COLOR_EXT 0x1800 #define GL_DEPTH_EXT 0x1801 #define GL_STENCIL_EXT 0x1802 #endif /* GL_EXT_multi_draw_arrays */ /* No new tokens introduced by this extension. */ /* GL_EXT_read_format_bgra */ #ifndef GL_EXT_read_format_bgra #define GL_BGRA_EXT 0x80E1 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 #define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 #endif /* GL_EXT_texture_filter_anisotropic */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #endif /* GL_EXT_texture_format_BGRA8888 */ #ifndef GL_EXT_texture_format_BGRA8888 #define GL_BGRA_EXT 0x80E1 #endif /* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 #endif /* GL_EXT_texture_compression_dxt1 */ #ifndef GL_EXT_texture_compression_dxt1 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 #endif /* GL_EXT_shader_texture_lod */ /* No new tokens introduced by this extension. */ /*------------------------------------------------------------------------* * IMG extension tokens *------------------------------------------------------------------------*/ /* GL_IMG_program_binary */ #ifndef GL_IMG_program_binary #define GL_SGX_PROGRAM_BINARY_IMG 0x9130 #endif /* GL_IMG_read_format */ #ifndef GL_IMG_read_format #define GL_BGRA_IMG 0x80E1 #define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 #endif /* GL_IMG_shader_binary */ #ifndef GL_IMG_shader_binary #define GL_SGX_BINARY_IMG 0x8C0A #endif /* GL_IMG_texture_compression_pvrtc */ #ifndef GL_IMG_texture_compression_pvrtc #define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 #define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 #define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 #define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 #endif /* GL_IMG_multisampled_render_to_texture */ #ifndef GL_IMG_multisampled_render_to_texture #define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 #define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 #define GL_MAX_SAMPLES_IMG 0x9135 #define GL_TEXTURE_SAMPLES_IMG 0x9136 #endif /*------------------------------------------------------------------------* * NV extension tokens *------------------------------------------------------------------------*/ /* GL_NV_fence */ #ifndef GL_NV_fence #define GL_ALL_COMPLETED_NV 0x84F2 #define GL_FENCE_STATUS_NV 0x84F3 #define GL_FENCE_CONDITION_NV 0x84F4 #endif /* GL_NV_coverage_sample */ #ifndef GL_NV_coverage_sample #define GL_COVERAGE_COMPONENT_NV 0x8ED0 #define GL_COVERAGE_COMPONENT4_NV 0x8ED1 #define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 #define GL_COVERAGE_BUFFERS_NV 0x8ED3 #define GL_COVERAGE_SAMPLES_NV 0x8ED4 #define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 #define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 #define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 #define GL_COVERAGE_BUFFER_BIT_NV 0x8000 #endif /* GL_NV_depth_nonlinear */ #ifndef GL_NV_depth_nonlinear #define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C #endif /*------------------------------------------------------------------------* * QCOM extension tokens *------------------------------------------------------------------------*/ /* GL_QCOM_driver_control */ /* No new tokens introduced by this extension. */ /* GL_QCOM_extended_get */ #ifndef GL_QCOM_extended_get #define GL_TEXTURE_WIDTH_QCOM 0x8BD2 #define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 #define GL_TEXTURE_DEPTH_QCOM 0x8BD4 #define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 #define GL_TEXTURE_FORMAT_QCOM 0x8BD6 #define GL_TEXTURE_TYPE_QCOM 0x8BD7 #define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 #define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 #define GL_TEXTURE_TARGET_QCOM 0x8BDA #define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB #define GL_STATE_RESTORE 0x8BDC #endif /* GL_QCOM_extended_get2 */ /* No new tokens introduced by this extension. */ /* GL_QCOM_perfmon_global_mode */ #ifndef GL_QCOM_perfmon_global_mode #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 #endif /* GL_QCOM_writeonly_rendering */ #ifndef GL_QCOM_writeonly_rendering #define GL_WRITEONLY_RENDERING_QCOM 0x8823 #endif /* GL_QCOM_tiled_rendering */ #ifndef GL_QCOM_tiled_rendering #define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 #define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 #define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 #define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 #define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 #define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 #define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 #define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 #define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 #define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 #define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 #define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 #define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 #define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 #define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 #define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 #define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 #define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 #define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 #define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 #define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 #define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 #define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 #define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 #define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 #define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 #define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 #define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 #define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 #define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 #define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 #define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 #endif /*------------------------------------------------------------------------* * End of extension tokens, start of corresponding extension functions *------------------------------------------------------------------------*/ /*------------------------------------------------------------------------* * OES extension functions *------------------------------------------------------------------------*/ /* GL_OES_compressed_ETC1_RGB8_texture */ #ifndef GL_OES_compressed_ETC1_RGB8_texture #define GL_OES_compressed_ETC1_RGB8_texture 1 #endif /* GL_OES_compressed_paletted_texture */ #ifndef GL_OES_compressed_paletted_texture #define GL_OES_compressed_paletted_texture 1 #endif /* GL_OES_depth24 */ #ifndef GL_OES_depth24 #define GL_OES_depth24 1 #endif /* GL_OES_depth32 */ #ifndef GL_OES_depth32 #define GL_OES_depth32 1 #endif /* GL_OES_depth_texture */ #ifndef GL_OES_depth_texture #define GL_OES_depth_texture 1 #endif /* GL_OES_EGL_image */ #ifndef GL_OES_EGL_image #define GL_OES_EGL_image 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); #endif typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); #endif /* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_OES_element_index_uint 1 #endif /* GL_OES_fbo_render_mipmap */ #ifndef GL_OES_fbo_render_mipmap #define GL_OES_fbo_render_mipmap 1 #endif /* GL_OES_fragment_precision_high */ #ifndef GL_OES_fragment_precision_high #define GL_OES_fragment_precision_high 1 #endif /* GL_OES_get_program_binary */ #ifndef GL_OES_get_program_binary #define GL_OES_get_program_binary 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); #endif typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); #endif /* GL_OES_mapbuffer */ #ifndef GL_OES_mapbuffer #define GL_OES_mapbuffer 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); #endif typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); #endif /* GL_OES_packed_depth_stencil */ #ifndef GL_OES_packed_depth_stencil #define GL_OES_packed_depth_stencil 1 #endif /* GL_OES_rgb8_rgba8 */ #ifndef GL_OES_rgb8_rgba8 #define GL_OES_rgb8_rgba8 1 #endif /* GL_OES_standard_derivatives */ #ifndef GL_OES_standard_derivatives #define GL_OES_standard_derivatives 1 #endif /* GL_OES_stencil1 */ #ifndef GL_OES_stencil1 #define GL_OES_stencil1 1 #endif /* GL_OES_stencil4 */ #ifndef GL_OES_stencil4 #define GL_OES_stencil4 1 #endif /* GL_OES_texture_3D */ #ifndef GL_OES_texture_3D #define GL_OES_texture_3D 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); #endif typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); #endif /* GL_OES_texture_float */ #ifndef GL_OES_texture_float #define GL_OES_texture_float 1 #endif /* GL_OES_texture_float_linear */ #ifndef GL_OES_texture_float_linear #define GL_OES_texture_float_linear 1 #endif /* GL_OES_texture_half_float */ #ifndef GL_OES_texture_half_float #define GL_OES_texture_half_float 1 #endif /* GL_OES_texture_half_float_linear */ #ifndef GL_OES_texture_half_float_linear #define GL_OES_texture_half_float_linear 1 #endif /* GL_OES_texture_npot */ #ifndef GL_OES_texture_npot #define GL_OES_texture_npot 1 #endif /* GL_OES_vertex_array_object */ #ifndef GL_OES_vertex_array_object #define GL_OES_vertex_array_object 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); #endif typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); #endif /* GL_OES_vertex_half_float */ #ifndef GL_OES_vertex_half_float #define GL_OES_vertex_half_float 1 #endif /* GL_OES_vertex_type_10_10_10_2 */ #ifndef GL_OES_vertex_type_10_10_10_2 #define GL_OES_vertex_type_10_10_10_2 1 #endif /*------------------------------------------------------------------------* * AMD extension functions *------------------------------------------------------------------------*/ /* GL_AMD_compressed_3DC_texture */ #ifndef GL_AMD_compressed_3DC_texture #define GL_AMD_compressed_3DC_texture 1 #endif /* GL_AMD_compressed_ATC_texture */ #ifndef GL_AMD_compressed_ATC_texture #define GL_AMD_compressed_ATC_texture 1 #endif /* AMD_performance_monitor */ #ifndef GL_AMD_performance_monitor #define GL_AMD_performance_monitor 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); #endif typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); #endif /* GL_AMD_program_binary_Z400 */ #ifndef GL_AMD_program_binary_Z400 #define GL_AMD_program_binary_Z400 1 #endif /*------------------------------------------------------------------------* * APPLE extension functions *------------------------------------------------------------------------*/ /* GL_APPLE_rgb_422 */ #ifndef GL_APPLE_rgb_422 #define GL_APPLE_rgb_422 1 #endif /* GL_APPLE_framebuffer_multisample */ #ifndef GL_APPLE_framebuffer_multisample #define GL_APPLE_framebuffer_multisample 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); #endif /* GL_GLEXT_PROTOTYPES */ typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); #endif /* GL_APPLE_texture_format_BGRA8888 */ #ifndef GL_APPLE_texture_format_BGRA8888 #define GL_APPLE_texture_format_BGRA8888 1 #endif /* GL_APPLE_texture_max_level */ #ifndef GL_APPLE_texture_max_level #define GL_APPLE_texture_max_level 1 #endif /*------------------------------------------------------------------------* * EXT extension functions *------------------------------------------------------------------------*/ /* GL_EXT_blend_minmax */ #ifndef GL_EXT_blend_minmax #define GL_EXT_blend_minmax 1 #endif /* GL_EXT_discard_framebuffer */ #ifndef GL_EXT_discard_framebuffer #define GL_EXT_discard_framebuffer 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); #endif typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); #endif #ifndef GL_EXT_multi_draw_arrays #define GL_EXT_multi_draw_arrays 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); #endif /* GL_GLEXT_PROTOTYPES */ typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); #endif /* GL_EXT_read_format_bgra */ #ifndef GL_EXT_read_format_bgra #define GL_EXT_read_format_bgra 1 #endif /* GL_EXT_texture_filter_anisotropic */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_EXT_texture_filter_anisotropic 1 #endif /* GL_EXT_texture_format_BGRA8888 */ #ifndef GL_EXT_texture_format_BGRA8888 #define GL_EXT_texture_format_BGRA8888 1 #endif /* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_EXT_texture_type_2_10_10_10_REV 1 #endif /* GL_EXT_texture_compression_dxt1 */ #ifndef GL_EXT_texture_compression_dxt1 #define GL_EXT_texture_compression_dxt1 1 #endif /* GL_EXT_shader_texture_lod */ #ifndef GL_EXT_shader_texture_lod #define GL_EXT_shader_texture_lod 1 #endif /*------------------------------------------------------------------------* * IMG extension functions *------------------------------------------------------------------------*/ /* GL_IMG_program_binary */ #ifndef GL_IMG_program_binary #define GL_IMG_program_binary 1 #endif /* GL_IMG_read_format */ #ifndef GL_IMG_read_format #define GL_IMG_read_format 1 #endif /* GL_IMG_shader_binary */ #ifndef GL_IMG_shader_binary #define GL_IMG_shader_binary 1 #endif /* GL_IMG_texture_compression_pvrtc */ #ifndef GL_IMG_texture_compression_pvrtc #define GL_IMG_texture_compression_pvrtc 1 #endif /* GL_IMG_multisampled_render_to_texture */ #ifndef GL_IMG_multisampled_render_to_texture #define GL_IMG_multisampled_render_to_texture 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); #endif typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); #endif /*------------------------------------------------------------------------* * NV extension functions *------------------------------------------------------------------------*/ /* GL_NV_fence */ #ifndef GL_NV_fence #define GL_NV_fence 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); #endif typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); #endif /* GL_NV_coverage_sample */ #ifndef GL_NV_coverage_sample #define GL_NV_coverage_sample 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); #endif typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); #endif /* GL_NV_depth_nonlinear */ #ifndef GL_NV_depth_nonlinear #define GL_NV_depth_nonlinear 1 #endif /*------------------------------------------------------------------------* * QCOM extension functions *------------------------------------------------------------------------*/ /* GL_QCOM_driver_control */ #ifndef GL_QCOM_driver_control #define GL_QCOM_driver_control 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); #endif typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); #endif /* GL_QCOM_extended_get */ #ifndef GL_QCOM_extended_get #define GL_QCOM_extended_get 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); #endif typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); #endif /* GL_QCOM_extended_get2 */ #ifndef GL_QCOM_extended_get2 #define GL_QCOM_extended_get2 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); #endif typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); #endif /* GL_QCOM_perfmon_global_mode */ #ifndef GL_QCOM_perfmon_global_mode #define GL_QCOM_perfmon_global_mode 1 #endif /* GL_QCOM_writeonly_rendering */ #ifndef GL_QCOM_writeonly_rendering #define GL_QCOM_writeonly_rendering 1 #endif /* GL_QCOM_tiled_rendering */ #ifndef GL_QCOM_tiled_rendering #define GL_QCOM_tiled_rendering 1 #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); #endif typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); #endif #ifdef __cplusplus } #endif #endif /* __gl2ext_h_ */opentk-1.0.20101006/Source/Converter/Headers/ES20/gl2.h0000664000175000017500000007742511453131424020653 0ustar laneylaney#ifndef __gl2_h_ #define __gl2_h_ /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ #include #ifdef __cplusplus extern "C" { #endif /* * This document is licensed under the SGI Free Software B License Version * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . */ /*------------------------------------------------------------------------- * Data type definitions *-----------------------------------------------------------------------*/ typedef void GLvoid; typedef char GLchar; typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef khronos_int8_t GLbyte; typedef short GLshort; typedef int GLint; typedef int GLsizei; typedef khronos_uint8_t GLubyte; typedef unsigned short GLushort; typedef unsigned int GLuint; typedef khronos_float_t GLfloat; typedef khronos_float_t GLclampf; typedef khronos_int32_t GLfixed; /* GL types for handling large vertex buffer objects */ typedef khronos_intptr_t GLintptr; typedef khronos_ssize_t GLsizeiptr; /* OpenGL ES core versions */ #define GL_ES_VERSION_2_0 1 /* ClearBufferMask */ #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_COLOR_BUFFER_BIT 0x00004000 /* Boolean */ #define GL_FALSE 0 #define GL_TRUE 1 /* BeginMode */ #define GL_POINTS 0x0000 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 #define GL_LINE_STRIP 0x0003 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 /* AlphaFunction (not supported in ES20) */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* BlendingFactorDest */ #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 /* BlendingFactorSrc */ /* GL_ZERO */ /* GL_ONE */ #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 /* GL_SRC_ALPHA */ /* GL_ONE_MINUS_SRC_ALPHA */ /* GL_DST_ALPHA */ /* GL_ONE_MINUS_DST_ALPHA */ /* BlendEquationSeparate */ #define GL_FUNC_ADD 0x8006 #define GL_BLEND_EQUATION 0x8009 #define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ #define GL_BLEND_EQUATION_ALPHA 0x883D /* BlendSubtract */ #define GL_FUNC_SUBTRACT 0x800A #define GL_FUNC_REVERSE_SUBTRACT 0x800B /* Separate Blend Functions */ #define GL_BLEND_DST_RGB 0x80C8 #define GL_BLEND_SRC_RGB 0x80C9 #define GL_BLEND_DST_ALPHA 0x80CA #define GL_BLEND_SRC_ALPHA 0x80CB #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 #define GL_BLEND_COLOR 0x8005 /* Buffer Objects */ #define GL_ARRAY_BUFFER 0x8892 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 #define GL_STREAM_DRAW 0x88E0 #define GL_STATIC_DRAW 0x88E4 #define GL_DYNAMIC_DRAW 0x88E8 #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 #define GL_CURRENT_VERTEX_ATTRIB 0x8626 /* CullFaceMode */ #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_FRONT_AND_BACK 0x0408 /* DepthFunction */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* EnableCap */ #define GL_TEXTURE_2D 0x0DE1 #define GL_CULL_FACE 0x0B44 #define GL_BLEND 0x0BE2 #define GL_DITHER 0x0BD0 #define GL_STENCIL_TEST 0x0B90 #define GL_DEPTH_TEST 0x0B71 #define GL_SCISSOR_TEST 0x0C11 #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_COVERAGE 0x80A0 /* ErrorCode */ #define GL_NO_ERROR 0 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_OUT_OF_MEMORY 0x0505 /* FrontFaceDirection */ #define GL_CW 0x0900 #define GL_CCW 0x0901 /* GetPName */ #define GL_LINE_WIDTH 0x0B21 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E #define GL_CULL_FACE_MODE 0x0B45 #define GL_FRONT_FACE 0x0B46 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BACK_FUNC 0x8800 #define GL_STENCIL_BACK_FAIL 0x8801 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 #define GL_STENCIL_BACK_REF 0x8CA3 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 #define GL_VIEWPORT 0x0BA2 #define GL_SCISSOR_BOX 0x0C10 /* GL_SCISSOR_TEST */ #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_SUBPIXEL_BITS 0x0D50 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_ALPHA_BITS 0x0D55 #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 #define GL_POLYGON_OFFSET_UNITS 0x2A00 /* GL_POLYGON_OFFSET_FILL */ #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_TEXTURE_BINDING_2D 0x8069 #define GL_SAMPLE_BUFFERS 0x80A8 #define GL_SAMPLES 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA #define GL_SAMPLE_COVERAGE_INVERT 0x80AB /* GetTextureParameter */ /* GL_TEXTURE_MAG_FILTER */ /* GL_TEXTURE_MIN_FILTER */ /* GL_TEXTURE_WRAP_S */ /* GL_TEXTURE_WRAP_T */ #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 /* HintMode */ #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* HintTarget */ #define GL_GENERATE_MIPMAP_HINT 0x8192 /* DataType */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_FIXED 0x140C /* PixelFormat */ #define GL_DEPTH_COMPONENT 0x1902 #define GL_ALPHA 0x1906 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A /* PixelType */ /* GL_UNSIGNED_BYTE */ #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 /* Shaders */ #define GL_FRAGMENT_SHADER 0x8B30 #define GL_VERTEX_SHADER 0x8B31 #define GL_MAX_VERTEX_ATTRIBS 0x8869 #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB #define GL_MAX_VARYING_VECTORS 0x8DFC #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD #define GL_SHADER_TYPE 0x8B4F #define GL_DELETE_STATUS 0x8B80 #define GL_LINK_STATUS 0x8B82 #define GL_VALIDATE_STATUS 0x8B83 #define GL_ATTACHED_SHADERS 0x8B85 #define GL_ACTIVE_UNIFORMS 0x8B86 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 #define GL_ACTIVE_ATTRIBUTES 0x8B89 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A #define GL_SHADING_LANGUAGE_VERSION 0x8B8C #define GL_CURRENT_PROGRAM 0x8B8D /* StencilFunction */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 /* StencilOp */ /* GL_ZERO */ #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 #define GL_INVERT 0x150A #define GL_INCR_WRAP 0x8507 #define GL_DECR_WRAP 0x8508 /* StringName */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* TextureMagFilter */ #define GL_NEAREST 0x2600 #define GL_LINEAR 0x2601 /* TextureMinFilter */ /* GL_NEAREST */ /* GL_LINEAR */ #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 /* TextureParameterName */ #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 /* TextureTarget */ /* GL_TEXTURE_2D */ #define GL_TEXTURE 0x1702 #define GL_TEXTURE_CUBE_MAP 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C /* TextureUnit */ #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #define GL_TEXTURE2 0x84C2 #define GL_TEXTURE3 0x84C3 #define GL_TEXTURE4 0x84C4 #define GL_TEXTURE5 0x84C5 #define GL_TEXTURE6 0x84C6 #define GL_TEXTURE7 0x84C7 #define GL_TEXTURE8 0x84C8 #define GL_TEXTURE9 0x84C9 #define GL_TEXTURE10 0x84CA #define GL_TEXTURE11 0x84CB #define GL_TEXTURE12 0x84CC #define GL_TEXTURE13 0x84CD #define GL_TEXTURE14 0x84CE #define GL_TEXTURE15 0x84CF #define GL_TEXTURE16 0x84D0 #define GL_TEXTURE17 0x84D1 #define GL_TEXTURE18 0x84D2 #define GL_TEXTURE19 0x84D3 #define GL_TEXTURE20 0x84D4 #define GL_TEXTURE21 0x84D5 #define GL_TEXTURE22 0x84D6 #define GL_TEXTURE23 0x84D7 #define GL_TEXTURE24 0x84D8 #define GL_TEXTURE25 0x84D9 #define GL_TEXTURE26 0x84DA #define GL_TEXTURE27 0x84DB #define GL_TEXTURE28 0x84DC #define GL_TEXTURE29 0x84DD #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF #define GL_ACTIVE_TEXTURE 0x84E0 /* TextureWrapMode */ #define GL_REPEAT 0x2901 #define GL_CLAMP_TO_EDGE 0x812F #define GL_MIRRORED_REPEAT 0x8370 /* Uniform Types */ #define GL_FLOAT_VEC2 0x8B50 #define GL_FLOAT_VEC3 0x8B51 #define GL_FLOAT_VEC4 0x8B52 #define GL_INT_VEC2 0x8B53 #define GL_INT_VEC3 0x8B54 #define GL_INT_VEC4 0x8B55 #define GL_BOOL 0x8B56 #define GL_BOOL_VEC2 0x8B57 #define GL_BOOL_VEC3 0x8B58 #define GL_BOOL_VEC4 0x8B59 #define GL_FLOAT_MAT2 0x8B5A #define GL_FLOAT_MAT3 0x8B5B #define GL_FLOAT_MAT4 0x8B5C #define GL_SAMPLER_2D 0x8B5E #define GL_SAMPLER_CUBE 0x8B60 /* Vertex Arrays */ #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F /* Read Format */ #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B /* Shader Source */ #define GL_COMPILE_STATUS 0x8B81 #define GL_INFO_LOG_LENGTH 0x8B84 #define GL_SHADER_SOURCE_LENGTH 0x8B88 #define GL_SHADER_COMPILER 0x8DFA /* Shader Binary */ #define GL_SHADER_BINARY_FORMATS 0x8DF8 #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 /* Shader Precision-Specified Types */ #define GL_LOW_FLOAT 0x8DF0 #define GL_MEDIUM_FLOAT 0x8DF1 #define GL_HIGH_FLOAT 0x8DF2 #define GL_LOW_INT 0x8DF3 #define GL_MEDIUM_INT 0x8DF4 #define GL_HIGH_INT 0x8DF5 /* Framebuffer Object. */ #define GL_FRAMEBUFFER 0x8D40 #define GL_RENDERBUFFER 0x8D41 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGB565 0x8D62 #define GL_DEPTH_COMPONENT16 0x81A5 #define GL_STENCIL_INDEX 0x1901 #define GL_STENCIL_INDEX8 0x8D48 #define GL_RENDERBUFFER_WIDTH 0x8D42 #define GL_RENDERBUFFER_HEIGHT 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 #define GL_RENDERBUFFER_RED_SIZE 0x8D50 #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 #define GL_COLOR_ATTACHMENT0 0x8CE0 #define GL_DEPTH_ATTACHMENT 0x8D00 #define GL_STENCIL_ATTACHMENT 0x8D20 #define GL_NONE 0 #define GL_FRAMEBUFFER_COMPLETE 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD #define GL_FRAMEBUFFER_BINDING 0x8CA6 #define GL_RENDERBUFFER_BINDING 0x8CA7 #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 /*------------------------------------------------------------------------- * GL core functions. *-----------------------------------------------------------------------*/ GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); GL_APICALL void GL_APIENTRY glClearStencil (GLint s); GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); GL_APICALL void GL_APIENTRY glDisable (GLenum cap); GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); GL_APICALL void GL_APIENTRY glEnable (GLenum cap); GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); GL_APICALL void GL_APIENTRY glFinish (void); GL_APICALL void GL_APIENTRY glFlush (void); GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); GL_APICALL int GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); GL_APICALL GLenum GL_APIENTRY glGetError (void); GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); GL_APICALL int GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); #ifdef __cplusplus } #endif #endif /* __gl2_h_ */opentk-1.0.20101006/Source/Converter/Headers/CL10/0000775000175000017500000000000011453142152017765 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/CL10/cl_gl.h0000664000175000017500000001200511453131424021214 0ustar laneylaney/********************************************************************************** * Copyright (c) 2008-2009 The Khronos Group Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and/or associated documentation files (the * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. **********************************************************************************/ /* $Revision: 8407 $ on $Date: 2009-06-12 10:56:38 -0700 (Fri, 12 Jun 2009) $ */ #ifndef __OPENCL_CL_GL_H #define __OPENCL_CL_GL_H #ifdef __APPLE__ #include #else #include #endif #ifdef __cplusplus extern "C" { #endif // NOTE: Make sure that appropriate GL header file is included separately typedef cl_uint cl_gl_object_type; typedef cl_uint cl_gl_texture_info; typedef cl_uint cl_gl_platform_info; // cl_gl_object_type #define CL_GL_OBJECT_BUFFER 0x2000 #define CL_GL_OBJECT_TEXTURE2D 0x2001 #define CL_GL_OBJECT_TEXTURE3D 0x2002 #define CL_GL_OBJECT_RENDERBUFFER 0x2003 // cl_gl_texture_info #define CL_GL_TEXTURE_TARGET 0x2004 #define CL_GL_MIPMAP_LEVEL 0x2005 extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLBuffer(cl_context /* context */, cl_mem_flags /* flags */, GLuint /* bufobj */, int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLTexture2D(cl_context /* context */, cl_mem_flags /* flags */, GLenum /* target */, GLint /* miplevel */, GLuint /* texture */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLTexture3D(cl_context /* context */, cl_mem_flags /* flags */, GLenum /* target */, GLint /* miplevel */, GLuint /* texture */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLRenderbuffer(cl_context /* context */, cl_mem_flags /* flags */, GLuint /* renderbuffer */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetGLObjectInfo(cl_mem /* memobj */, cl_gl_object_type * /* gl_object_type */, GLuint * /* gl_object_name */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetGLTextureInfo(cl_mem /* memobj */, cl_gl_texture_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireGLObjects(cl_command_queue /* command_queue */, cl_uint /* num_objects */, const cl_mem * /* mem_objects */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseGLObjects(cl_command_queue /* command_queue */, cl_uint /* num_objects */, const cl_mem * /* mem_objects */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; #ifdef __cplusplus } #endif #endif // __OPENCL_CL_GL_H opentk-1.0.20101006/Source/Converter/Headers/CL10/cl.h0000664000175000017500000012607211453131424020544 0ustar laneylaney/******************************************************************************* * Copyright (c) 2008-2009 The Khronos Group Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and/or associated documentation files (the * "Materials"), to deal in the Materials without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Materials, and to * permit persons to whom the Materials are furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Materials. * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. ******************************************************************************/ /* $Revision: 8406 $ on $Date: 2009-06-12 10:56:01 -0700 (Fri, 12 Jun 2009) $ */ #ifndef __OPENCL_CL_H #define __OPENCL_CL_H #ifdef __APPLE__ #include #else #include #endif #ifdef __cplusplus extern "C" { #endif /******************************************************************************/ typedef struct _cl_platform_id * cl_platform_id; typedef struct _cl_device_id * cl_device_id; typedef struct _cl_context * cl_context; typedef struct _cl_command_queue * cl_command_queue; typedef struct _cl_mem * cl_mem; typedef struct _cl_program * cl_program; typedef struct _cl_kernel * cl_kernel; typedef struct _cl_event * cl_event; typedef struct _cl_sampler * cl_sampler; typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */ typedef cl_ulong cl_bitfield; typedef cl_bitfield cl_device_type; typedef cl_uint cl_platform_info; typedef cl_uint cl_device_info; typedef cl_bitfield cl_device_address_info; typedef cl_bitfield cl_device_fp_config; typedef cl_uint cl_device_mem_cache_type; typedef cl_uint cl_device_local_mem_type; typedef cl_bitfield cl_device_exec_capabilities; typedef cl_bitfield cl_command_queue_properties; typedef intptr_t cl_context_properties; typedef cl_uint cl_context_info; typedef cl_uint cl_command_queue_info; typedef cl_uint cl_channel_order; typedef cl_uint cl_channel_type; typedef cl_bitfield cl_mem_flags; typedef cl_uint cl_mem_object_type; typedef cl_uint cl_mem_info; typedef cl_uint cl_image_info; typedef cl_uint cl_addressing_mode; typedef cl_uint cl_filter_mode; typedef cl_uint cl_sampler_info; typedef cl_bitfield cl_map_flags; typedef cl_uint cl_program_info; typedef cl_uint cl_program_build_info; typedef cl_int cl_build_status; typedef cl_uint cl_kernel_info; typedef cl_uint cl_kernel_work_group_info; typedef cl_uint cl_event_info; typedef cl_uint cl_command_type; typedef cl_uint cl_profiling_info; typedef struct _cl_image_format { cl_channel_order image_channel_order; cl_channel_type image_channel_data_type; } cl_image_format; /******************************************************************************/ // Macro names and corresponding values defined by OpenCL #define CL_CHAR_BIT 8 #define CL_SCHAR_MAX 127 #define CL_SCHAR_MIN (-127-1) #define CL_CHAR_MAX CL_SCHAR_MAX #define CL_CHAR_MIN CL_SCHAR_MIN #define CL_UCHAR_MAX 255 #define CL_SHRT_MAX 32767 #define CL_SHRT_MIN (-32767-1) #define CL_USHRT_MAX 65535 #define CL_INT_MAX 2147483647 #define CL_INT_MIN (-2147483647-1) #define CL_UINT_MAX 0xffffffffU #define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) #define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) #define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) #define CL_FLT_DIG 6 #define CL_FLT_MANT_DIG 24 #define CL_FLT_MAX_10_EXP +38 #define CL_FLT_MAX_EXP +128 #define CL_FLT_MIN_10_EXP -37 #define CL_FLT_MIN_EXP -125 #define CL_FLT_RADIX 2 #define CL_FLT_MAX 0x1.fffffep127f #define CL_FLT_MIN 0x1.0p-126f #define CL_FLT_EPSILON 0x1.0p-23f #define CL_DBL_DIG 15 #define CL_DBL_MANT_DIG 53 #define CL_DBL_MAX_10_EXP +308 #define CL_DBL_MAX_EXP +1024 #define CL_DBL_MIN_10_EXP -307 #define CL_DBL_MIN_EXP -1021 #define CL_DBL_RADIX 2 #define CL_DBL_MAX 0x1.fffffffffffffp1023 #define CL_DBL_MIN 0x1.0p-1022 #define CL_DBL_EPSILON 0x1.0p-52 /******************************************************************************/ // Error Codes #define CL_SUCCESS 0 #define CL_DEVICE_NOT_FOUND -1 #define CL_DEVICE_NOT_AVAILABLE -2 #define CL_COMPILER_NOT_AVAILABLE -3 #define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 #define CL_OUT_OF_RESOURCES -5 #define CL_OUT_OF_HOST_MEMORY -6 #define CL_PROFILING_INFO_NOT_AVAILABLE -7 #define CL_MEM_COPY_OVERLAP -8 #define CL_IMAGE_FORMAT_MISMATCH -9 #define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 #define CL_BUILD_PROGRAM_FAILURE -11 #define CL_MAP_FAILURE -12 #define CL_INVALID_VALUE -30 #define CL_INVALID_DEVICE_TYPE -31 #define CL_INVALID_PLATFORM -32 #define CL_INVALID_DEVICE -33 #define CL_INVALID_CONTEXT -34 #define CL_INVALID_QUEUE_PROPERTIES -35 #define CL_INVALID_COMMAND_QUEUE -36 #define CL_INVALID_HOST_PTR -37 #define CL_INVALID_MEM_OBJECT -38 #define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 #define CL_INVALID_IMAGE_SIZE -40 #define CL_INVALID_SAMPLER -41 #define CL_INVALID_BINARY -42 #define CL_INVALID_BUILD_OPTIONS -43 #define CL_INVALID_PROGRAM -44 #define CL_INVALID_PROGRAM_EXECUTABLE -45 #define CL_INVALID_KERNEL_NAME -46 #define CL_INVALID_KERNEL_DEFINITION -47 #define CL_INVALID_KERNEL -48 #define CL_INVALID_ARG_INDEX -49 #define CL_INVALID_ARG_VALUE -50 #define CL_INVALID_ARG_SIZE -51 #define CL_INVALID_KERNEL_ARGS -52 #define CL_INVALID_WORK_DIMENSION -53 #define CL_INVALID_WORK_GROUP_SIZE -54 #define CL_INVALID_WORK_ITEM_SIZE -55 #define CL_INVALID_GLOBAL_OFFSET -56 #define CL_INVALID_EVENT_WAIT_LIST -57 #define CL_INVALID_EVENT -58 #define CL_INVALID_OPERATION -59 #define CL_INVALID_GL_OBJECT -60 #define CL_INVALID_BUFFER_SIZE -61 #define CL_INVALID_MIP_LEVEL -62 // OpenCL Version #define CL_VERSION_1_0 1 // cl_bool #define CL_FALSE 0 #define CL_TRUE 1 // cl_platform_info #define CL_PLATFORM_PROFILE 0x0900 #define CL_PLATFORM_VERSION 0x0901 #define CL_PLATFORM_NAME 0x0902 #define CL_PLATFORM_VENDOR 0x0903 #define CL_PLATFORM_EXTENSIONS 0x0904 // cl_device_type - bitfield #define CL_DEVICE_TYPE_DEFAULT (1 << 0) #define CL_DEVICE_TYPE_CPU (1 << 1) #define CL_DEVICE_TYPE_GPU (1 << 2) #define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) #define CL_DEVICE_TYPE_ALL 0xFFFFFFFF // cl_device_info #define CL_DEVICE_TYPE 0x1000 #define CL_DEVICE_VENDOR_ID 0x1001 #define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 #define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 #define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 #define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B #define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C #define CL_DEVICE_ADDRESS_BITS 0x100D #define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E #define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F #define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 #define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 #define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 #define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 #define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 #define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 #define CL_DEVICE_IMAGE_SUPPORT 0x1016 #define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 #define CL_DEVICE_MAX_SAMPLERS 0x1018 #define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 #define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A #define CL_DEVICE_SINGLE_FP_CONFIG 0x101B #define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C #define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D #define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E #define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F #define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 #define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 #define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 #define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 #define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 #define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 #define CL_DEVICE_ENDIAN_LITTLE 0x1026 #define CL_DEVICE_AVAILABLE 0x1027 #define CL_DEVICE_COMPILER_AVAILABLE 0x1028 #define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 #define CL_DEVICE_QUEUE_PROPERTIES 0x102A #define CL_DEVICE_NAME 0x102B #define CL_DEVICE_VENDOR 0x102C #define CL_DRIVER_VERSION 0x102D #define CL_DEVICE_PROFILE 0x102E #define CL_DEVICE_VERSION 0x102F #define CL_DEVICE_EXTENSIONS 0x1030 #define CL_DEVICE_PLATFORM 0x1031 // cl_device_fp_config - bitfield #define CL_FP_DENORM (1 << 0) #define CL_FP_INF_NAN (1 << 1) #define CL_FP_ROUND_TO_NEAREST (1 << 2) #define CL_FP_ROUND_TO_ZERO (1 << 3) #define CL_FP_ROUND_TO_INF (1 << 4) #define CL_FP_FMA (1 << 5) // cl_device_mem_cache_type #define CL_NONE 0x0 #define CL_READ_ONLY_CACHE 0x1 #define CL_READ_WRITE_CACHE 0x2 // cl_device_local_mem_type #define CL_LOCAL 0x1 #define CL_GLOBAL 0x2 // cl_device_exec_capabilities - bitfield #define CL_EXEC_KERNEL (1 << 0) #define CL_EXEC_NATIVE_KERNEL (1 << 1) // cl_command_queue_properties - bitfield #define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) #define CL_QUEUE_PROFILING_ENABLE (1 << 1) // cl_context_info #define CL_CONTEXT_REFERENCE_COUNT 0x1080 #define CL_CONTEXT_DEVICES 0x1081 #define CL_CONTEXT_PROPERTIES 0x1082 // cl_context_properties #define CL_CONTEXT_PLATFORM 0x1084 // cl_command_queue_info #define CL_QUEUE_CONTEXT 0x1090 #define CL_QUEUE_DEVICE 0x1091 #define CL_QUEUE_REFERENCE_COUNT 0x1092 #define CL_QUEUE_PROPERTIES 0x1093 // cl_mem_flags - bitfield #define CL_MEM_READ_WRITE (1 << 0) #define CL_MEM_WRITE_ONLY (1 << 1) #define CL_MEM_READ_ONLY (1 << 2) #define CL_MEM_USE_HOST_PTR (1 << 3) #define CL_MEM_ALLOC_HOST_PTR (1 << 4) #define CL_MEM_COPY_HOST_PTR (1 << 5) // cl_channel_order #define CL_R 0x10B0 #define CL_A 0x10B1 #define CL_RG 0x10B2 #define CL_RA 0x10B3 #define CL_RGB 0x10B4 #define CL_RGBA 0x10B5 #define CL_BGRA 0x10B6 #define CL_ARGB 0x10B7 #define CL_INTENSITY 0x10B8 #define CL_LUMINANCE 0x10B9 // cl_channel_type #define CL_SNORM_INT8 0x10D0 #define CL_SNORM_INT16 0x10D1 #define CL_UNORM_INT8 0x10D2 #define CL_UNORM_INT16 0x10D3 #define CL_UNORM_SHORT_565 0x10D4 #define CL_UNORM_SHORT_555 0x10D5 #define CL_UNORM_INT_101010 0x10D6 #define CL_SIGNED_INT8 0x10D7 #define CL_SIGNED_INT16 0x10D8 #define CL_SIGNED_INT32 0x10D9 #define CL_UNSIGNED_INT8 0x10DA #define CL_UNSIGNED_INT16 0x10DB #define CL_UNSIGNED_INT32 0x10DC #define CL_HALF_FLOAT 0x10DD #define CL_FLOAT 0x10DE // cl_mem_object_type #define CL_MEM_OBJECT_BUFFER 0x10F0 #define CL_MEM_OBJECT_IMAGE2D 0x10F1 #define CL_MEM_OBJECT_IMAGE3D 0x10F2 // cl_mem_info #define CL_MEM_TYPE 0x1100 #define CL_MEM_FLAGS 0x1101 #define CL_MEM_SIZE 0x1102 #define CL_MEM_HOST_PTR 0x1103 #define CL_MEM_MAP_COUNT 0x1104 #define CL_MEM_REFERENCE_COUNT 0x1105 #define CL_MEM_CONTEXT 0x1106 // cl_image_info #define CL_IMAGE_FORMAT 0x1110 #define CL_IMAGE_ELEMENT_SIZE 0x1111 #define CL_IMAGE_ROW_PITCH 0x1112 #define CL_IMAGE_SLICE_PITCH 0x1113 #define CL_IMAGE_WIDTH 0x1114 #define CL_IMAGE_HEIGHT 0x1115 #define CL_IMAGE_DEPTH 0x1116 // cl_addressing_mode #define CL_ADDRESS_NONE 0x1130 #define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 #define CL_ADDRESS_CLAMP 0x1132 #define CL_ADDRESS_REPEAT 0x1133 // cl_filter_mode #define CL_FILTER_NEAREST 0x1140 #define CL_FILTER_LINEAR 0x1141 // cl_sampler_info #define CL_SAMPLER_REFERENCE_COUNT 0x1150 #define CL_SAMPLER_CONTEXT 0x1151 #define CL_SAMPLER_NORMALIZED_COORDS 0x1152 #define CL_SAMPLER_ADDRESSING_MODE 0x1153 #define CL_SAMPLER_FILTER_MODE 0x1154 // cl_map_flags - bitfield #define CL_MAP_READ (1 << 0) #define CL_MAP_WRITE (1 << 1) // cl_program_info #define CL_PROGRAM_REFERENCE_COUNT 0x1160 #define CL_PROGRAM_CONTEXT 0x1161 #define CL_PROGRAM_NUM_DEVICES 0x1162 #define CL_PROGRAM_DEVICES 0x1163 #define CL_PROGRAM_SOURCE 0x1164 #define CL_PROGRAM_BINARY_SIZES 0x1165 #define CL_PROGRAM_BINARIES 0x1166 // cl_program_build_info #define CL_PROGRAM_BUILD_STATUS 0x1181 #define CL_PROGRAM_BUILD_OPTIONS 0x1182 #define CL_PROGRAM_BUILD_LOG 0x1183 // cl_build_status #define CL_BUILD_SUCCESS 0 #define CL_BUILD_NONE -1 #define CL_BUILD_ERROR -2 #define CL_BUILD_IN_PROGRESS -3 // cl_kernel_info #define CL_KERNEL_FUNCTION_NAME 0x1190 #define CL_KERNEL_NUM_ARGS 0x1191 #define CL_KERNEL_REFERENCE_COUNT 0x1192 #define CL_KERNEL_CONTEXT 0x1193 #define CL_KERNEL_PROGRAM 0x1194 // cl_kernel_work_group_info #define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 #define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 #define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 // cl_event_info #define CL_EVENT_COMMAND_QUEUE 0x11D0 #define CL_EVENT_COMMAND_TYPE 0x11D1 #define CL_EVENT_REFERENCE_COUNT 0x11D2 #define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 // cl_command_type #define CL_COMMAND_NDRANGE_KERNEL 0x11F0 #define CL_COMMAND_TASK 0x11F1 #define CL_COMMAND_NATIVE_KERNEL 0x11F2 #define CL_COMMAND_READ_BUFFER 0x11F3 #define CL_COMMAND_WRITE_BUFFER 0x11F4 #define CL_COMMAND_COPY_BUFFER 0x11F5 #define CL_COMMAND_READ_IMAGE 0x11F6 #define CL_COMMAND_WRITE_IMAGE 0x11F7 #define CL_COMMAND_COPY_IMAGE 0x11F8 #define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 #define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA #define CL_COMMAND_MAP_BUFFER 0x11FB #define CL_COMMAND_MAP_IMAGE 0x11FC #define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD #define CL_COMMAND_MARKER 0x11FE #define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF #define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 // command execution status #define CL_COMPLETE 0x0 #define CL_RUNNING 0x1 #define CL_SUBMITTED 0x2 #define CL_QUEUED 0x3 // cl_profiling_info #define CL_PROFILING_COMMAND_QUEUED 0x1280 #define CL_PROFILING_COMMAND_SUBMIT 0x1281 #define CL_PROFILING_COMMAND_START 0x1282 #define CL_PROFILING_COMMAND_END 0x1283 /********************************************************************************************************/ // Platform API extern CL_API_ENTRY cl_int CL_API_CALL clGetPlatformIDs(cl_uint /* num_entries */, cl_platform_id * /* platforms */, cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetPlatformInfo(cl_platform_id /* platform */, cl_platform_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Device APIs extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDs(cl_platform_id /* platform */, cl_device_type /* device_type */, cl_uint /* num_entries */, cl_device_id * /* devices */, cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceInfo(cl_device_id /* device */, cl_device_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Context APIs extern CL_API_ENTRY cl_context CL_API_CALL clCreateContext(cl_context_properties * /* properties */, cl_uint /* num_devices */, const cl_device_id * /* devices */, void (*pfn_notify)(const char *, const void *, size_t, void *) /* pfn_notify */, void * /* user_data */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_context CL_API_CALL clCreateContextFromType(cl_context_properties * /* properties */, cl_device_type /* device_type */, void (*pfn_notify)(const char *, const void *, size_t, void *) /* pfn_notify */, void * /* user_data */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetContextInfo(cl_context /* context */, cl_context_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Command Queue APIs extern CL_API_ENTRY cl_command_queue CL_API_CALL clCreateCommandQueue(cl_context /* context */, cl_device_id /* device */, cl_command_queue_properties /* properties */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetCommandQueueInfo(cl_command_queue /* command_queue */, cl_command_queue_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clSetCommandQueueProperty(cl_command_queue /* command_queue */, cl_command_queue_properties /* properties */, cl_bool /* enable */, cl_command_queue_properties * /* old_properties */) CL_API_SUFFIX__VERSION_1_0; // Memory Object APIs extern CL_API_ENTRY cl_mem CL_API_CALL clCreateBuffer(cl_context /* context */, cl_mem_flags /* flags */, size_t /* size */, void * /* host_ptr */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_mem CL_API_CALL clCreateImage2D(cl_context /* context */, cl_mem_flags /* flags */, const cl_image_format * /* image_format */, size_t /* image_width */, size_t /* image_height */, size_t /* image_row_pitch */, void * /* host_ptr */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_mem CL_API_CALL clCreateImage3D(cl_context /* context */, cl_mem_flags /* flags */, const cl_image_format * /* image_format */, size_t /* image_width */, size_t /* image_height */, size_t /* image_depth */, size_t /* image_row_pitch */, size_t /* image_slice_pitch */, void * /* host_ptr */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetSupportedImageFormats(cl_context /* context */, cl_mem_flags /* flags */, cl_mem_object_type /* image_type */, cl_uint /* num_entries */, cl_image_format * /* image_formats */, cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetMemObjectInfo(cl_mem /* memobj */, cl_mem_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetImageInfo(cl_mem /* image */, cl_image_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Sampler APIs extern CL_API_ENTRY cl_sampler CL_API_CALL clCreateSampler(cl_context /* context */, cl_bool /* normalized_coords */, cl_addressing_mode /* addressing_mode */, cl_filter_mode /* filter_mode */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetSamplerInfo(cl_sampler /* sampler */, cl_sampler_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Program Object APIs extern CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithSource(cl_context /* context */, cl_uint /* count */, const char ** /* strings */, const size_t * /* lengths */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithBinary(cl_context /* context */, cl_uint /* num_devices */, const cl_device_id * /* device_list */, const size_t * /* lengths */, const unsigned char ** /* binaries */, cl_int * /* binary_status */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clBuildProgram(cl_program /* program */, cl_uint /* num_devices */, const cl_device_id * /* device_list */, const char * /* options */, void (*pfn_notify)(cl_program /* program */, void * /* user_data */), void * /* user_data */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clUnloadCompiler(void) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetProgramInfo(cl_program /* program */, cl_program_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetProgramBuildInfo(cl_program /* program */, cl_device_id /* device */, cl_program_build_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Kernel Object APIs extern CL_API_ENTRY cl_kernel CL_API_CALL clCreateKernel(cl_program /* program */, const char * /* kernel_name */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clCreateKernelsInProgram(cl_program /* program */, cl_uint /* num_kernels */, cl_kernel * /* kernels */, cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clSetKernelArg(cl_kernel /* kernel */, cl_uint /* arg_index */, size_t /* arg_size */, const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetKernelInfo(cl_kernel /* kernel */, cl_kernel_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetKernelWorkGroupInfo(cl_kernel /* kernel */, cl_device_id /* device */, cl_kernel_work_group_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Event Object APIs extern CL_API_ENTRY cl_int CL_API_CALL clWaitForEvents(cl_uint /* num_events */, const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clGetEventInfo(cl_event /* event */, cl_event_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clRetainEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; // Profiling APIs extern CL_API_ENTRY cl_int CL_API_CALL clGetEventProfilingInfo(cl_event /* event */, cl_profiling_info /* param_name */, size_t /* param_value_size */, void * /* param_value */, size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; // Flush and Finish APIs extern CL_API_ENTRY cl_int CL_API_CALL clFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clFinish(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; // Enqueued Commands APIs extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadBuffer(cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_read */, size_t /* offset */, size_t /* cb */, void * /* ptr */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteBuffer(cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_write */, size_t /* offset */, size_t /* cb */, const void * /* ptr */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBuffer(cl_command_queue /* command_queue */, cl_mem /* src_buffer */, cl_mem /* dst_buffer */, size_t /* src_offset */, size_t /* dst_offset */, size_t /* cb */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadImage(cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_read */, const size_t * /* origin[3] */, const size_t * /* region[3] */, size_t /* row_pitch */, size_t /* slice_pitch */, void * /* ptr */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteImage(cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_write */, const size_t * /* origin[3] */, const size_t * /* region[3] */, size_t /* input_row_pitch */, size_t /* input_slice_pitch */, const void * /* ptr */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImage(cl_command_queue /* command_queue */, cl_mem /* src_image */, cl_mem /* dst_image */, const size_t * /* src_origin[3] */, const size_t * /* dst_origin[3] */, const size_t * /* region[3] */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImageToBuffer(cl_command_queue /* command_queue */, cl_mem /* src_image */, cl_mem /* dst_buffer */, const size_t * /* src_origin[3] */, const size_t * /* region[3] */, size_t /* dst_offset */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBufferToImage(cl_command_queue /* command_queue */, cl_mem /* src_buffer */, cl_mem /* dst_image */, size_t /* src_offset */, const size_t * /* dst_origin[3] */, const size_t * /* region[3] */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY void * CL_API_CALL clEnqueueMapBuffer(cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_map */, cl_map_flags /* map_flags */, size_t /* offset */, size_t /* cb */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY void * CL_API_CALL clEnqueueMapImage(cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_map */, cl_map_flags /* map_flags */, const size_t * /* origin[3] */, const size_t * /* region[3] */, size_t * /* image_row_pitch */, size_t * /* image_slice_pitch */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueUnmapMemObject(cl_command_queue /* command_queue */, cl_mem /* memobj */, void * /* mapped_ptr */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueNDRangeKernel(cl_command_queue /* command_queue */, cl_kernel /* kernel */, cl_uint /* work_dim */, const size_t * /* global_work_offset */, const size_t * /* global_work_size */, const size_t * /* local_work_size */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueTask(cl_command_queue /* command_queue */, cl_kernel /* kernel */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueNativeKernel(cl_command_queue /* command_queue */, void (*user_func)(void *), void * /* args */, size_t /* cb_args */, cl_uint /* num_mem_objects */, const cl_mem * /* mem_list */, const void ** /* args_mem_loc */, cl_uint /* num_events_in_wait_list */, const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueMarker(cl_command_queue /* command_queue */, cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueWaitForEvents(cl_command_queue /* command_queue */, cl_uint /* num_events */, const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; extern CL_API_ENTRY cl_int CL_API_CALL clEnqueueBarrier(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; // Extension function access // // Returns the extension function address for the given function name, // or NULL if a valid function can not be found. The client must // check to make sure the address is not NULL, before using or // calling the returned function address. // void *clGetExtensionFunctionAddress(const char * /* func_name */) CL_API_SUFFIX__VERSION_1_0; #ifdef __cplusplus } #endif #endif // __OPENCL_CL_H opentk-1.0.20101006/Source/Converter/Headers/ES10/0000775000175000017500000000000011453142152017776 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/ES10/gl.h0000664000175000017500000006037311453131424020562 0ustar laneylaney#ifndef __gl_h_ #define __gl_h_ #ifdef __cplusplus extern "C" { #endif /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free ** Software License B, Version 1.0 (the "License"), the contents of this ** file are subject only to the provisions of the License. You may not use ** this file except in compliance with the License. You may obtain a copy ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: ** ** http://oss.sgi.com/projects/FreeB ** ** Note that, as provided in the License, the Software is distributed on an ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. ** ** Original Code. The Original Code is: OpenGL Sample Implementation, ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. ** Copyright in any portions created by third parties is as indicated ** elsewhere herein. All Rights Reserved. ** ** Additional Notice Provisions: The application programming interfaces ** established by SGI in conjunction with the Original Code are The ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X ** Window System(R) (Version 1.3), released October 19, 1998. This software ** was created using the OpenGL(R) version 1.2.1 Sample Implementation ** published by SGI, but has not been independently verified as being ** compliant with the OpenGL(R) version 1.2.1 Specification. */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) #define WIN32_LEAN_AND_MEAN 1 #include #endif #ifndef APIENTRY #define APIENTRY #endif #ifndef GLAPI #define GLAPI extern #endif typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef signed char GLbyte; typedef short GLshort; typedef int GLint; typedef int GLsizei; typedef unsigned char GLubyte; typedef unsigned short GLushort; typedef unsigned int GLuint; typedef float GLfloat; typedef float GLclampf; typedef void GLvoid; typedef int GLintptrARB; typedef int GLsizeiptrARB; typedef int GLfixed; typedef int GLclampx; /* Internal convenience typedefs */ typedef void (*_GLfuncptr)(); /*************************************************************/ /* Extensions */ #define GL_OES_VERSION_1_0 1 #define GL_OES_read_format 1 #define GL_OES_compressed_paletted_texture 1 /* ClearBufferMask */ #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_COLOR_BUFFER_BIT 0x00004000 /* Boolean */ #define GL_FALSE 0 #define GL_TRUE 1 /* BeginMode */ #define GL_POINTS 0x0000 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 #define GL_LINE_STRIP 0x0003 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 /* AlphaFunction */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 /* BlendingFactorDest */ #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 /* BlendingFactorSrc */ /* GL_ZERO */ /* GL_ONE */ #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 /* GL_SRC_ALPHA */ /* GL_ONE_MINUS_SRC_ALPHA */ /* GL_DST_ALPHA */ /* GL_ONE_MINUS_DST_ALPHA */ /* ColorMaterialFace */ /* GL_FRONT_AND_BACK */ /* ColorMaterialParameter */ /* GL_AMBIENT_AND_DIFFUSE */ /* ColorPointerType */ /* GL_UNSIGNED_BYTE */ /* GL_FLOAT */ /* GL_FIXED */ /* CullFaceMode */ #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_FRONT_AND_BACK 0x0408 /* DepthFunction */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* EnableCap */ #define GL_FOG 0x0B60 #define GL_LIGHTING 0x0B50 #define GL_TEXTURE_2D 0x0DE1 #define GL_CULL_FACE 0x0B44 #define GL_ALPHA_TEST 0x0BC0 #define GL_BLEND 0x0BE2 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_DITHER 0x0BD0 #define GL_STENCIL_TEST 0x0B90 #define GL_DEPTH_TEST 0x0B71 /* GL_LIGHT0 */ /* GL_LIGHT1 */ /* GL_LIGHT2 */ /* GL_LIGHT3 */ /* GL_LIGHT4 */ /* GL_LIGHT5 */ /* GL_LIGHT6 */ /* GL_LIGHT7 */ #define GL_POINT_SMOOTH 0x0B10 #define GL_LINE_SMOOTH 0x0B20 #define GL_SCISSOR_TEST 0x0C11 #define GL_COLOR_MATERIAL 0x0B57 #define GL_NORMALIZE 0x0BA1 #define GL_RESCALE_NORMAL 0x803A #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_MULTISAMPLE 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_ALPHA_TO_ONE 0x809F #define GL_SAMPLE_COVERAGE 0x80A0 /* ErrorCode */ #define GL_NO_ERROR 0 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* FogMode */ /* GL_LINEAR */ #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* FogParameter */ #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_FOG_MODE 0x0B65 #define GL_FOG_COLOR 0x0B66 /* FrontFaceDirection */ #define GL_CW 0x0900 #define GL_CCW 0x0901 /* GetPName */ #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_ELEMENTS_VERTICES 0x80E8 #define GL_MAX_ELEMENTS_INDICES 0x80E9 #define GL_MAX_TEXTURE_UNITS 0x84E2 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_ALPHA_BITS 0x0D55 #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 /* HintMode */ #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* HintTarget */ #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_FOG_HINT 0x0C54 /* LightModelParameter */ #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 /* LightParameter */ #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 /* DataType */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_FLOAT 0x1406 #define GL_FIXED 0x140C /* LogicOp */ #define GL_CLEAR 0x1500 #define GL_AND 0x1501 #define GL_AND_REVERSE 0x1502 #define GL_COPY 0x1503 #define GL_AND_INVERTED 0x1504 #define GL_NOOP 0x1505 #define GL_XOR 0x1506 #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_EQUIV 0x1509 #define GL_INVERT 0x150A #define GL_OR_REVERSE 0x150B #define GL_COPY_INVERTED 0x150C #define GL_OR_INVERTED 0x150D #define GL_NAND 0x150E #define GL_SET 0x150F /* MaterialFace */ /* GL_FRONT_AND_BACK */ /* MaterialParameter */ #define GL_EMISSION 0x1600 #define GL_SHININESS 0x1601 #define GL_AMBIENT_AND_DIFFUSE 0x1602 /* GL_AMBIENT */ /* GL_DIFFUSE */ /* GL_SPECULAR */ /* MatrixMode */ #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* NormalPointerType */ /* GL_BYTE */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* PixelFormat */ #define GL_ALPHA 0x1906 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A /* PixelStoreParameter */ #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_PACK_ALIGNMENT 0x0D05 /* PixelType */ /* GL_UNSIGNED_BYTE */ #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 /* ShadingModel */ #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 /* StencilFunction */ /* GL_NEVER */ /* GL_LESS */ /* GL_EQUAL */ /* GL_LEQUAL */ /* GL_GREATER */ /* GL_NOTEQUAL */ /* GL_GEQUAL */ /* GL_ALWAYS */ /* StencilOp */ /* GL_ZERO */ #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* GL_INVERT */ /* StringName */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* TexCoordPointerType */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* GL_BYTE */ /* TextureEnvMode */ #define GL_MODULATE 0x2100 #define GL_DECAL 0x2101 /* GL_BLEND */ #define GL_ADD 0x0104 /* GL_REPLACE */ /* TextureEnvParameter */ #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_ENV_COLOR 0x2201 /* TextureEnvTarget */ #define GL_TEXTURE_ENV 0x2300 /* TextureMagFilter */ #define GL_NEAREST 0x2600 #define GL_LINEAR 0x2601 /* TextureMinFilter */ /* GL_NEAREST */ /* GL_LINEAR */ #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 /* TextureParameterName */ #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 /* TextureTarget */ /* GL_TEXTURE_2D */ /* TextureUnit */ #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #define GL_TEXTURE2 0x84C2 #define GL_TEXTURE3 0x84C3 #define GL_TEXTURE4 0x84C4 #define GL_TEXTURE5 0x84C5 #define GL_TEXTURE6 0x84C6 #define GL_TEXTURE7 0x84C7 #define GL_TEXTURE8 0x84C8 #define GL_TEXTURE9 0x84C9 #define GL_TEXTURE10 0x84CA #define GL_TEXTURE11 0x84CB #define GL_TEXTURE12 0x84CC #define GL_TEXTURE13 0x84CD #define GL_TEXTURE14 0x84CE #define GL_TEXTURE15 0x84CF #define GL_TEXTURE16 0x84D0 #define GL_TEXTURE17 0x84D1 #define GL_TEXTURE18 0x84D2 #define GL_TEXTURE19 0x84D3 #define GL_TEXTURE20 0x84D4 #define GL_TEXTURE21 0x84D5 #define GL_TEXTURE22 0x84D6 #define GL_TEXTURE23 0x84D7 #define GL_TEXTURE24 0x84D8 #define GL_TEXTURE25 0x84D9 #define GL_TEXTURE26 0x84DA #define GL_TEXTURE27 0x84DB #define GL_TEXTURE28 0x84DC #define GL_TEXTURE29 0x84DD #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF /* TextureWrapMode */ #define GL_REPEAT 0x2901 #define GL_CLAMP_TO_EDGE 0x812F /* PixelInternalFormat */ #define GL_PALETTE4_RGB8_OES 0x8B90 #define GL_PALETTE4_RGBA8_OES 0x8B91 #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 #define GL_PALETTE4_RGBA4_OES 0x8B93 #define GL_PALETTE4_RGB5_A1_OES 0x8B94 #define GL_PALETTE8_RGB8_OES 0x8B95 #define GL_PALETTE8_RGBA8_OES 0x8B96 #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 #define GL_PALETTE8_RGBA4_OES 0x8B98 #define GL_PALETTE8_RGB5_A1_OES 0x8B99 /* VertexPointerType */ /* GL_SHORT */ /* GL_FLOAT */ /* GL_FIXED */ /* GL_BYTE */ /* LightName */ #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 /*************************************************************/ GLAPI void APIENTRY glActiveTexture (GLenum texture); GLAPI void APIENTRY glAlphaFunc (GLenum func, GLclampf ref); GLAPI void APIENTRY glAlphaFuncx (GLenum func, GLclampx ref); GLAPI void APIENTRY glBindTexture (GLenum target, GLuint texture); GLAPI void APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); GLAPI void APIENTRY glClear (GLbitfield mask); GLAPI void APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); GLAPI void APIENTRY glClearColorx (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); GLAPI void APIENTRY glClearDepthf (GLclampf depth); GLAPI void APIENTRY glClearDepthx (GLclampx depth); GLAPI void APIENTRY glClearStencil (GLint s); GLAPI void APIENTRY glClientActiveTexture (GLenum texture); GLAPI void APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); GLAPI void APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); GLAPI void APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); GLAPI void APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); GLAPI void APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GLAPI void APIENTRY glCullFace (GLenum mode); GLAPI void APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); GLAPI void APIENTRY glDepthFunc (GLenum func); GLAPI void APIENTRY glDepthMask (GLboolean flag); GLAPI void APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); GLAPI void APIENTRY glDepthRangex (GLclampx zNear, GLclampx zFar); GLAPI void APIENTRY glDisable (GLenum cap); GLAPI void APIENTRY glDisableClientState (GLenum array); GLAPI void APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); GLAPI void APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); GLAPI void APIENTRY glEnable (GLenum cap); GLAPI void APIENTRY glEnableClientState (GLenum array); GLAPI void APIENTRY glFinish (void); GLAPI void APIENTRY glFlush (void); GLAPI void APIENTRY glFogf (GLenum pname, GLfloat param); GLAPI void APIENTRY glFogfv (GLenum pname, const GLfloat *params); GLAPI void APIENTRY glFogx (GLenum pname, GLfixed param); GLAPI void APIENTRY glFogxv (GLenum pname, const GLfixed *params); GLAPI void APIENTRY glFrontFace (GLenum mode); GLAPI void APIENTRY glFrustumf (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GLAPI void APIENTRY glFrustumx (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GLAPI void APIENTRY glGenTextures (GLsizei n, GLuint *textures); GLAPI GLenum APIENTRY glGetError (void); GLAPI void APIENTRY glGetIntegerv (GLenum pname, GLint *params); GLAPI const GLubyte * APIENTRY glGetString (GLenum name); GLAPI void APIENTRY glHint (GLenum target, GLenum mode); GLAPI void APIENTRY glLightModelf (GLenum pname, GLfloat param); GLAPI void APIENTRY glLightModelfv (GLenum pname, const GLfloat *params); GLAPI void APIENTRY glLightModelx (GLenum pname, GLfixed param); GLAPI void APIENTRY glLightModelxv (GLenum pname, const GLfixed *params); GLAPI void APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); GLAPI void APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); GLAPI void APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param); GLAPI void APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params); GLAPI void APIENTRY glLineWidth (GLfloat width); GLAPI void APIENTRY glLineWidthx (GLfixed width); GLAPI void APIENTRY glLoadIdentity (void); GLAPI void APIENTRY glLoadMatrixf (const GLfloat *m); GLAPI void APIENTRY glLoadMatrixx (const GLfixed *m); GLAPI void APIENTRY glLogicOp (GLenum opcode); GLAPI void APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); GLAPI void APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); GLAPI void APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param); GLAPI void APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *params); GLAPI void APIENTRY glMatrixMode (GLenum mode); GLAPI void APIENTRY glMultMatrixf (const GLfloat *m); GLAPI void APIENTRY glMultMatrixx (const GLfixed *m); GLAPI void APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void APIENTRY glMultiTexCoord4x (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); GLAPI void APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz); GLAPI void APIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void APIENTRY glOrthof (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); GLAPI void APIENTRY glOrthox (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); GLAPI void APIENTRY glPixelStorei (GLenum pname, GLint param); GLAPI void APIENTRY glPointSize (GLfloat size); GLAPI void APIENTRY glPointSizex (GLfixed size); GLAPI void APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); GLAPI void APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units); GLAPI void APIENTRY glPopMatrix (void); GLAPI void APIENTRY glPushMatrix (void); GLAPI void APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); GLAPI void APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); GLAPI void APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); GLAPI void APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert); GLAPI void APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); GLAPI void APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z); GLAPI void APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); GLAPI void APIENTRY glShadeModel (GLenum mode); GLAPI void APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); GLAPI void APIENTRY glStencilMask (GLuint mask); GLAPI void APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); GLAPI void APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); GLAPI void APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); GLAPI void APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param); GLAPI void APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params); GLAPI void APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); GLAPI void APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param); GLAPI void APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); GLAPI void APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); GLAPI void APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z); GLAPI void APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); #ifdef __cplusplus } #endif #endif /* __gl_h_ */ opentk-1.0.20101006/Source/Converter/Headers/EGL/0000775000175000017500000000000011453142152017735 5ustar laneylaneyopentk-1.0.20101006/Source/Converter/Headers/EGL/eglext.h0000664000175000017500000001503311453131424021400 0ustar laneylaney#ifndef __eglext_h_ #define __eglext_h_ #ifdef __cplusplus extern "C" { #endif /* ** Copyright (c) 2007-2009 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the ** "Materials"), to deal in the Materials without restriction, including ** without limitation the rights to use, copy, modify, merge, publish, ** distribute, sublicense, and/or sell copies of the Materials, and to ** permit persons to whom the Materials are furnished to do so, subject to ** the following conditions: ** ** The above copyright notice and this permission notice shall be included ** in all copies or substantial portions of the Materials. ** ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ #include /*************************************************************/ /* Header file version number */ /* Current version at http://www.khronos.org/registry/egl/ */ /* $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ */ #define EGL_EGLEXT_VERSION 3 #ifndef EGL_KHR_config_attribs #define EGL_KHR_config_attribs 1 #define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ #endif #ifndef EGL_KHR_lock_surface #define EGL_KHR_lock_surface 1 #define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ #define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ #define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ #define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ #define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ #define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ #define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ #define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ #define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ #define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ #define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ #define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ #ifdef EGL_EGLEXT_PROTOTYPES EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); #endif /* EGL_EGLEXT_PROTOTYPES */ typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); #endif #ifndef EGL_KHR_image #define EGL_KHR_image 1 #define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ typedef void *EGLImageKHR; #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) #ifdef EGL_EGLEXT_PROTOTYPES EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); #endif /* EGL_EGLEXT_PROTOTYPES */ typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); #endif #ifndef EGL_KHR_vg_parent_image #define EGL_KHR_vg_parent_image 1 #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ #endif #ifndef EGL_KHR_gl_texture_2D_image #define EGL_KHR_gl_texture_2D_image 1 #define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ #endif #ifndef EGL_KHR_gl_texture_cubemap_image #define EGL_KHR_gl_texture_cubemap_image 1 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ #endif #ifndef EGL_KHR_gl_texture_3D_image #define EGL_KHR_gl_texture_3D_image 1 #define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ #endif #ifndef EGL_KHR_gl_renderbuffer_image #define EGL_KHR_gl_renderbuffer_image 1 #define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ #endif #ifndef EGL_KHR_image_base #define EGL_KHR_image_base 1 /* Most interfaces defined by EGL_KHR_image_pixmap above */ #define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ #endif #ifndef EGL_KHR_image_pixmap #define EGL_KHR_image_pixmap 1 /* Interfaces defined by EGL_KHR_image above */ #endif #ifdef __cplusplus } #endif #endif opentk-1.0.20101006/Source/Converter/Headers/EGL/egl.h0000664000175000017500000003137011453131424020661 0ustar laneylaney/* ** Copyright (c) 2007-2009 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the ** "Materials"), to deal in the Materials without restriction, including ** without limitation the rights to use, copy, modify, merge, publish, ** distribute, sublicense, and/or sell copies of the Materials, and to ** permit persons to whom the Materials are furnished to do so, subject to ** the following conditions: ** ** The above copyright notice and this permission notice shall be included ** in all copies or substantial portions of the Materials. ** ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ #ifndef __egl_h_ #define __egl_h_ /* All platform-dependent types and macro boilerplate (such as EGLAPI * and EGLAPIENTRY) should go in eglplatform.h. */ #include #ifdef __cplusplus extern "C" { #endif /* EGL Types */ /* EGLint is defined in eglplatform.h */ typedef unsigned int EGLBoolean; typedef unsigned int EGLenum; typedef void *EGLConfig; typedef void *EGLContext; typedef void *EGLDisplay; typedef void *EGLSurface; typedef void *EGLClientBuffer; /* EGL Versioning */ #define EGL_VERSION_1_0 1 #define EGL_VERSION_1_1 1 #define EGL_VERSION_1_2 1 #define EGL_VERSION_1_3 1 #define EGL_VERSION_1_4 1 /* EGL Enumerants. Bitmasks and other exceptional cases aside, most * enums are assigned unique values starting at 0x3000. */ /* EGL aliases */ #define EGL_FALSE 0 #define EGL_TRUE 1 /* Out-of-band handle values */ #define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) #define EGL_NO_CONTEXT ((EGLContext)0) #define EGL_NO_DISPLAY ((EGLDisplay)0) #define EGL_NO_SURFACE ((EGLSurface)0) /* Out-of-band attribute value */ #define EGL_DONT_CARE ((EGLint)-1) /* Errors / GetError return values */ #define EGL_SUCCESS 0x3000 #define EGL_NOT_INITIALIZED 0x3001 #define EGL_BAD_ACCESS 0x3002 #define EGL_BAD_ALLOC 0x3003 #define EGL_BAD_ATTRIBUTE 0x3004 #define EGL_BAD_CONFIG 0x3005 #define EGL_BAD_CONTEXT 0x3006 #define EGL_BAD_CURRENT_SURFACE 0x3007 #define EGL_BAD_DISPLAY 0x3008 #define EGL_BAD_MATCH 0x3009 #define EGL_BAD_NATIVE_PIXMAP 0x300A #define EGL_BAD_NATIVE_WINDOW 0x300B #define EGL_BAD_PARAMETER 0x300C #define EGL_BAD_SURFACE 0x300D #define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ /* Reserved 0x300F-0x301F for additional errors */ /* Config attributes */ #define EGL_BUFFER_SIZE 0x3020 #define EGL_ALPHA_SIZE 0x3021 #define EGL_BLUE_SIZE 0x3022 #define EGL_GREEN_SIZE 0x3023 #define EGL_RED_SIZE 0x3024 #define EGL_DEPTH_SIZE 0x3025 #define EGL_STENCIL_SIZE 0x3026 #define EGL_CONFIG_CAVEAT 0x3027 #define EGL_CONFIG_ID 0x3028 #define EGL_LEVEL 0x3029 #define EGL_MAX_PBUFFER_HEIGHT 0x302A #define EGL_MAX_PBUFFER_PIXELS 0x302B #define EGL_MAX_PBUFFER_WIDTH 0x302C #define EGL_NATIVE_RENDERABLE 0x302D #define EGL_NATIVE_VISUAL_ID 0x302E #define EGL_NATIVE_VISUAL_TYPE 0x302F #define EGL_PRESERVED_RESOURCES 0x3030 #define EGL_SAMPLES 0x3031 #define EGL_SAMPLE_BUFFERS 0x3032 #define EGL_SURFACE_TYPE 0x3033 #define EGL_TRANSPARENT_TYPE 0x3034 #define EGL_TRANSPARENT_BLUE_VALUE 0x3035 #define EGL_TRANSPARENT_GREEN_VALUE 0x3036 #define EGL_TRANSPARENT_RED_VALUE 0x3037 #define EGL_NONE 0x3038 /* Attrib list terminator */ #define EGL_BIND_TO_TEXTURE_RGB 0x3039 #define EGL_BIND_TO_TEXTURE_RGBA 0x303A #define EGL_MIN_SWAP_INTERVAL 0x303B #define EGL_MAX_SWAP_INTERVAL 0x303C #define EGL_LUMINANCE_SIZE 0x303D #define EGL_ALPHA_MASK_SIZE 0x303E #define EGL_COLOR_BUFFER_TYPE 0x303F #define EGL_RENDERABLE_TYPE 0x3040 #define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */ #define EGL_CONFORMANT 0x3042 /* Reserved 0x3041-0x304F for additional config attributes */ /* Config attribute values */ #define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ #define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ #define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ #define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ #define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ /* More config attribute values, for EGL_TEXTURE_FORMAT */ #define EGL_NO_TEXTURE 0x305C #define EGL_TEXTURE_RGB 0x305D #define EGL_TEXTURE_RGBA 0x305E #define EGL_TEXTURE_2D 0x305F /* Config attribute mask bits */ #define EGL_PBUFFER_BIT 0x0001 /* EGL_SURFACE_TYPE mask bits */ #define EGL_PIXMAP_BIT 0x0002 /* EGL_SURFACE_TYPE mask bits */ #define EGL_WINDOW_BIT 0x0004 /* EGL_SURFACE_TYPE mask bits */ #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 /* EGL_SURFACE_TYPE mask bits */ #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 /* EGL_SURFACE_TYPE mask bits */ #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 /* EGL_SURFACE_TYPE mask bits */ #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 /* EGL_SURFACE_TYPE mask bits */ #define EGL_OPENGL_ES_BIT 0x0001 /* EGL_RENDERABLE_TYPE mask bits */ #define EGL_OPENVG_BIT 0x0002 /* EGL_RENDERABLE_TYPE mask bits */ #define EGL_OPENGL_ES2_BIT 0x0004 /* EGL_RENDERABLE_TYPE mask bits */ #define EGL_OPENGL_BIT 0x0008 /* EGL_RENDERABLE_TYPE mask bits */ /* QueryString targets */ #define EGL_VENDOR 0x3053 #define EGL_VERSION 0x3054 #define EGL_EXTENSIONS 0x3055 #define EGL_CLIENT_APIS 0x308D /* QuerySurface / SurfaceAttrib / CreatePbufferSurface targets */ #define EGL_HEIGHT 0x3056 #define EGL_WIDTH 0x3057 #define EGL_LARGEST_PBUFFER 0x3058 #define EGL_TEXTURE_FORMAT 0x3080 #define EGL_TEXTURE_TARGET 0x3081 #define EGL_MIPMAP_TEXTURE 0x3082 #define EGL_MIPMAP_LEVEL 0x3083 #define EGL_RENDER_BUFFER 0x3086 #define EGL_VG_COLORSPACE 0x3087 #define EGL_VG_ALPHA_FORMAT 0x3088 #define EGL_HORIZONTAL_RESOLUTION 0x3090 #define EGL_VERTICAL_RESOLUTION 0x3091 #define EGL_PIXEL_ASPECT_RATIO 0x3092 #define EGL_SWAP_BEHAVIOR 0x3093 #define EGL_MULTISAMPLE_RESOLVE 0x3099 /* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ #define EGL_BACK_BUFFER 0x3084 #define EGL_SINGLE_BUFFER 0x3085 /* OpenVG color spaces */ #define EGL_VG_COLORSPACE_sRGB 0x3089 /* EGL_VG_COLORSPACE value */ #define EGL_VG_COLORSPACE_LINEAR 0x308A /* EGL_VG_COLORSPACE value */ /* OpenVG alpha formats */ #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ #define EGL_VG_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ /* Constant scale factor by which fractional display resolutions & * aspect ratio are scaled when queried as integer values. */ #define EGL_DISPLAY_SCALING 10000 /* Unknown display resolution/aspect ratio */ #define EGL_UNKNOWN ((EGLint)-1) /* Back buffer swap behaviors */ #define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ #define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ /* CreatePbufferFromClientBuffer buffer types */ #define EGL_OPENVG_IMAGE 0x3096 /* QueryContext targets */ #define EGL_CONTEXT_CLIENT_TYPE 0x3097 /* CreateContext attributes */ #define EGL_CONTEXT_CLIENT_VERSION 0x3098 /* Multisample resolution behaviors */ #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A /* EGL_MULTISAMPLE_RESOLVE value */ #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B /* EGL_MULTISAMPLE_RESOLVE value */ /* BindAPI/QueryAPI targets */ #define EGL_OPENGL_ES_API 0x30A0 #define EGL_OPENVG_API 0x30A1 #define EGL_OPENGL_API 0x30A2 /* GetCurrentSurface targets */ #define EGL_DRAW 0x3059 #define EGL_READ 0x305A /* WaitNative engines */ #define EGL_CORE_NATIVE_ENGINE 0x305B /* EGL 1.2 tokens renamed for consistency in EGL 1.3 */ #define EGL_COLORSPACE EGL_VG_COLORSPACE #define EGL_ALPHA_FORMAT EGL_VG_ALPHA_FORMAT #define EGL_COLORSPACE_sRGB EGL_VG_COLORSPACE_sRGB #define EGL_COLORSPACE_LINEAR EGL_VG_COLORSPACE_LINEAR #define EGL_ALPHA_FORMAT_NONPRE EGL_VG_ALPHA_FORMAT_NONPRE #define EGL_ALPHA_FORMAT_PRE EGL_VG_ALPHA_FORMAT_PRE /* EGL extensions must request enum blocks from the Khronos * API Registrar, who maintains the enumerant registry. Submit * a bug in Khronos Bugzilla against task "Registry". */ /* EGL Functions */ EGLAPI EGLint EGLAPIENTRY eglGetError(void); EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id); EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy); EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name); EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface); EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api); EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void); EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void); EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void); EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer( EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx); EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void); EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw); EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void); EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void); EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine); EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); /* This is a generic function pointer type, whose name indicates it must * be cast to the proper type *and calling convention* before use. */ typedef void (*__eglMustCastToProperFunctionPointerType)(void); /* Now, define eglGetProcAddress using the generic function ptr. type */ EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname); #ifdef __cplusplus } #endif #endif /* __egl_h_ */ opentk-1.0.20101006/Source/Converter/Parser.cs0000664000175000017500000000312011453131424017532 0ustar laneylaney// // Copyright (C) 2009 the Open Toolkit (http://www.opentk.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // using System.Xml.Linq; namespace CHeaderToXML { // The base class for a parser. abstract class Parser : XDocument { // Defines a prefix that should be removed from methods and tokens in the XML files, e.g. "gl", "cl", etc. protected string Prefix { get; set; } // Implements the parsing logic for a specific input file. protected abstract XDocument Parse(string[] lines); } } opentk-1.0.20101006/Source/Bind/0000775000175000017500000000000011453142152014660 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/ES/0000775000175000017500000000000011453142152015167 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/ES/ESGenerator.cs0000664000175000017500000001544711453131434017710 0ustar laneylaneyusing System; using System.Collections.Generic; using System.IO; using System.Xml.XPath; using Bind.GL2; using Bind.Structures; using Delegate=Bind.Structures.Delegate; using Enum=Bind.Structures.Enum; namespace Bind.ES { class ESGenerator : Generator { public ESGenerator(string nsName, string dirName) { if (String.IsNullOrEmpty(nsName)) throw new ArgumentNullException("nsName"); if (dirName == null) dirName = nsName; glTypemap = "GL2/gl.tm"; csTypemap = "csharp.tm"; enumSpec = dirName + "/signatures.xml"; enumSpecExt = String.Empty; glSpec = dirName + "/signatures.xml"; glSpecExt = String.Empty; functionOverridesFile = dirName + "/overrides.xml"; importsFile = "Core.cs"; delegatesFile = "Delegates.cs"; enumsFile = "Enums.cs"; wrappersFile = "ES.cs"; Settings.ImportsClass = "Core"; Settings.DelegatesClass = "Delegates"; Settings.OutputClass = "GL"; Settings.OutputNamespace = "OpenTK.Graphics." + nsName; Settings.OutputPath = Path.Combine(Settings.OutputPath, dirName); } public override DelegateCollection ReadDelegates(StreamReader specFile) { DelegateCollection delegates = new DelegateCollection(); XPathDocument specs = new XPathDocument(specFile); XPathDocument overrides = new XPathDocument(new StreamReader(Path.Combine(Settings.InputPath, functionOverridesFile))); foreach (XPathNavigator nav in new XPathNavigator[] { specs.CreateNavigator().SelectSingleNode("/signatures"), overrides.CreateNavigator().SelectSingleNode("/overrides/add") }) { if (nav != null) { foreach (XPathNavigator node in nav.SelectChildren("function", String.Empty)) { var name = node.GetAttribute("name", String.Empty); // Check whether we are adding to an existing delegate or creating a new one. Delegate d = null; if (delegates.ContainsKey(name)) { d = delegates[name]; } else { d = new Delegate(); d.Name = name; d.Version = node.GetAttribute("version", String.Empty); d.Category = node.GetAttribute("category", String.Empty); } foreach (XPathNavigator param in node.SelectChildren(XPathNodeType.Element)) { switch (param.Name) { case "returns": d.ReturnType.CurrentType = param.GetAttribute("type", String.Empty); break; case "param": Parameter p = new Parameter(); p.CurrentType = param.GetAttribute("type", String.Empty); p.Name = param.GetAttribute("name", String.Empty); string element_count = param.GetAttribute("elementcount", String.Empty); if (!String.IsNullOrEmpty(element_count)) p.ElementCount = Int32.Parse(element_count); p.Flow = Parameter.GetFlowDirection(param.GetAttribute("flow", String.Empty)); d.Parameters.Add(p); break; } } d.Translate(overrides); delegates.Add(d); } } } return delegates; } public override Dictionary ReadTypeMap(StreamReader specFile) { return base.ReadTypeMap(specFile); } public override Dictionary ReadCSTypeMap(StreamReader specFile) { return base.ReadCSTypeMap(specFile); } public override EnumCollection ReadEnums(StreamReader specFile) { // First, read all enum definitions from spec and override file. // Afterwards, read all token/enum overrides from overrides file. // Every single enum is merged into EnumCollection enums = new EnumCollection(); Enum all = new Enum() { Name = Settings.CompleteEnumName }; XPathDocument specs = new XPathDocument(specFile); XPathDocument overrides = new XPathDocument(new StreamReader(Path.Combine(Settings.InputPath, functionOverridesFile))); foreach (XPathNavigator nav in new XPathNavigator[] { specs.CreateNavigator().SelectSingleNode("/signatures"), overrides.CreateNavigator().SelectSingleNode("/overrides/add") }) { if (nav != null) { foreach (XPathNavigator node in nav.SelectChildren("enum", String.Empty)) { Enum e = new Enum() { Name = node.GetAttribute("name", String.Empty), Type = node.GetAttribute("type", String.Empty) }; if (String.IsNullOrEmpty(e.Name)) throw new InvalidOperationException(String.Format("Empty name for enum element {0}", node.ToString())); foreach (XPathNavigator param in node.SelectChildren(XPathNodeType.Element)) { Constant c = new Constant(param.GetAttribute("name", String.Empty), param.GetAttribute("value", String.Empty)); Utilities.Merge(all, c); try { e.ConstantCollection.Add(c.Name, c); } catch (ArgumentException ex) { Console.WriteLine("[Warning] Failed to add constant {0} to enum {1}: {2}", c.Name, e.Name, ex.Message); } } Utilities.Merge(enums, e); } } } Utilities.Merge(enums, all); enums.Translate(overrides); return enums; } } } opentk-1.0.20101006/Source/Bind/ISpecReader.cs0000664000175000017500000000104511453131434017336 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System.Collections.Generic; using System.IO; using Bind.Structures; namespace Bind { interface ISpecReader { DelegateCollection ReadDelegates(StreamReader specFile); EnumCollection ReadEnums(StreamReader specFile); Dictionary ReadTypeMap(StreamReader specFile); Dictionary ReadCSTypeMap(StreamReader specFile); } } opentk-1.0.20101006/Source/Bind/CL/0000775000175000017500000000000011453142152015156 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/CL/CLGenerator.cs0000664000175000017500000000153511453131430017653 0ustar laneylaneyusing System; using System.Collections.Generic; using System.IO; using System.Xml.XPath; using Bind.GL2; using Bind.Structures; using Delegate=Bind.Structures.Delegate; using Enum=Bind.Structures.Enum; namespace Bind.CL { class CLGenerator : ES.ESGenerator { public CLGenerator(string name, string dirname) : base(name, dirname) { glTypemap = null; wrappersFile = "CL.cs"; Settings.FunctionPrefix = "cl"; Settings.ConstantPrefix = "CL_"; Settings.EnumPrefix = "Cl"; Settings.OutputClass = "CL"; Settings.OutputNamespace = "OpenTK.Compute." + name; //Settings.Compatibility &= ~Settings.Legacy.TurnVoidPointersToIntPtr; Settings.Compatibility |= Settings.Legacy.NoDebugHelpers; } } } opentk-1.0.20101006/Source/Bind/Main.cs0000664000175000017500000002241111453131434016074 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Security; using Bind.CL; using Bind.ES; using Bind.GL2; namespace Bind { enum GeneratorMode { Unknown, GL2, GL3, ES10, ES11, ES20, CL10, [Obsolete] Wgl, [Obsolete] Glx, [Obsolete] Glu, } static class MainClass { static GeneratorMode mode = GeneratorMode.GL2; static internal IBind Generator; static void Main(string[] arguments) { Debug.Listeners.Clear(); Debug.Listeners.Add(new TextWriterTraceListener(Console.Out)); Debug.AutoFlush = true; Trace.Listeners.Clear(); Trace.Listeners.Add(new TextWriterTraceListener(Console.Out)); Trace.AutoFlush = true; Console.WriteLine("OpenGL binding generator {0} for OpenTK.", Assembly.GetExecutingAssembly().GetName().Version.ToString()); Console.WriteLine("For comments, bugs and suggestions visit http://opentk.sourceforge.net"); Console.WriteLine(); string dirName = null; try { foreach (string a in arguments) { if (a.StartsWith("--") || a.StartsWith("-") || a.StartsWith("/")) { string[] b = a.Split(new char[] { '-', '/', ':', '=' }, StringSplitOptions.RemoveEmptyEntries); switch (b[0]) { case "?": case "help": ShowHelp(); return; case "in": case "input": Settings.InputPath = string.Join(Path.DirectorySeparatorChar.ToString(), b.Skip(1).ToArray()); break; case "out": case "output": Settings.OutputPath = string.Join(Path.DirectorySeparatorChar.ToString(), b.Skip(1).ToArray()); break; case "mode": string arg = b[1].ToLower(); if (arg == "gl" || arg == "gl2") mode = GeneratorMode.GL2; else if (arg == "es10") mode = GeneratorMode.ES10; else if (arg == "es11") mode = GeneratorMode.ES11; else if (arg == "es20") mode = GeneratorMode.ES20; else if (arg=="cl" || arg == "cl10") mode = GeneratorMode.CL10; else throw new NotImplementedException(); if (b.Length > 2) dirName = b[2]; break; case "namespace": case "ns": Settings.OutputNamespace = b[1]; break; case "class": Settings.OutputClass = b[1]; break; case "gl": Settings.GLClass = b[1]; break; case "legacy": case "o": case "option": Settings.Compatibility |= b[1].ToLower() == "tao" ? Settings.Legacy.Tao : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "simple_enums" ? Settings.Legacy.NoAdvancedEnumProcessing : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "safe" ? Settings.Legacy.NoPublicUnsafeFunctions : Settings.Legacy.None; //Settings.Compatibility |= b[1].ToLower().Contains("novoid") ? Settings.Legacy.TurnVoidPointersToIntPtr : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "permutations" ? Settings.Legacy.GenerateAllPermutations : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "enums_in_class" ? Settings.Legacy.NestedEnums : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "nodocs" ? Settings.Legacy.NoDocumentation : Settings.Legacy.None; Settings.Compatibility |= b[1].ToLower() == "keep_untyped_enums" ? Settings.Legacy.KeepUntypedEnums : Settings.Legacy.None; break; default: throw new ArgumentException( String.Format("Argument {0} not recognized. Use the '/?' switch for help.", a) ); } } } } catch (NullReferenceException e) { Console.WriteLine("Argument error ({0}). Please use the '-?' switch for help.", e.ToString()); return; } catch (ArgumentException e) { Console.WriteLine("Argument error ({0}). Please use the '-?' switch for help.", e.ToString()); return; } try { long ticks = DateTime.Now.Ticks; switch (mode) { case GeneratorMode.GL2: Generator = new Generator(); break; case GeneratorMode.ES10: Generator = new ESGenerator("ES10", dirName); break; case GeneratorMode.ES11: Generator = new ESGenerator("ES11", dirName); break; case GeneratorMode.ES20: Generator = new ESGenerator("ES20", dirName); break; case GeneratorMode.CL10: Generator = new CLGenerator("CL10", dirName); break; case GeneratorMode.Wgl: Generator = new Wgl.Generator(); break; case GeneratorMode.Glu: Generator = new Glu.Generator(); break; case GeneratorMode.Glx: Generator = new Glx.Generator(); break; case GeneratorMode.GL3: throw new NotImplementedException(String.Format("Mode {0} not implemented.", mode)); case GeneratorMode.Unknown: default: Console.WriteLine("Please specify a generator mode (use '-mode:gl2/gl3/glu/wgl/glx])'"); return; } Generator.Process(); ticks = DateTime.Now.Ticks - ticks; Console.WriteLine(); Console.WriteLine("Bindings generated in {0} seconds.", ticks / (double)10000000.0); Console.WriteLine(); } catch (SecurityException e) { Console.WriteLine("Security violation \"{0}\" in method \"{1}\".", e.Message, e.Method); Console.WriteLine("This application does not have permission to take the requested actions."); } catch (NotImplementedException e) { Console.WriteLine(e.Message); Console.WriteLine("The requested functionality is not implemented yet."); } } private static void ShowHelp() { Console.WriteLine( @"Usage: bind [-in:path] [-out:path] [switches] Available switches: -in: Input directory (e.g. -in:../specs/) -out: Output directory (e.g. -out:out) -ns: Output namespace (e.g. -ns:OpenTK.Graphics). Default: OpenTK.Graphics.OpenGL -namespace: Same as -ns -class: Output class (e.g. -class:GL3). Default: GL/Wgl/Glu/Glx (depends on -mode) -o/-option: Set advanced option. Available options: -o:tao Tao compatibility mode. -o:enums Follow OpenGL instead .Net naming conventions. -o:safe Do not generate public unsafe functions. -o:enums_in_class Place enums in a nested class (i.e. GL.Enums) instead of a namespace (i.e. OpenTK.Graphics.OpenGL.Enums) "); } } } opentk-1.0.20101006/Source/Bind/GL2/0000775000175000017500000000000011453142152015244 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/GL2/Generator.cs0000664000175000017500000010044011453131430017515 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Xml.XPath; using Bind.Structures; using Delegate=Bind.Structures.Delegate; using Enum=Bind.Structures.Enum; using Type=Bind.Structures.Type; namespace Bind.GL2 { class Generator : IBind { #region --- Fields --- protected static string glTypemap = "GL2/gl.tm"; protected static string csTypemap = "csharp.tm"; protected static string enumSpec = "GL2/enum.spec"; protected static string enumSpecExt = "GL2/enumext.spec"; protected static string glSpec = "GL2/gl.spec"; protected static string glSpecExt = ""; protected static string importsFile = "GLCore.cs"; protected static string delegatesFile = "GLDelegates.cs"; protected static string enumsFile = "GLEnums.cs"; protected static string wrappersFile = "GL.cs"; protected static string functionOverridesFile = "GL2/gloverrides.xml"; protected static string loadAllFuncName = "LoadAll"; protected static Regex enumToDotNet = new Regex("_[a-z|A-Z]?", RegexOptions.Compiled); protected static readonly char[] numbers = "0123456789".ToCharArray(); //protected static readonly Dictionary doc_replacements; #endregion #region --- Constructors --- public Generator() { if (Settings.Compatibility == Settings.Legacy.Tao) { Settings.OutputNamespace = "Tao.OpenGl"; Settings.OutputClass = "Gl"; } else { // Defaults } } #endregion #region public void Process() public virtual void Process() { // Matches functions that cannot have their trailing 'v' trimmed for CLS-Compliance reasons. // Built through trial and error :) //Function.endingsAddV = // new Regex(@"(Coord1|Attrib(I?)1(u?)|Stream1|Uniform2(u?)|(Point|Convolution|Transform|Sprite|List|Combiner|Tex)Parameter|Fog(Coord)?.*|VertexWeight|(Fragment)?Light(Model)?|Material|ReplacementCodeu?b?|Tex(Gen|Env)|Indexu?|TextureParameter.v)", // RegexOptions.Compiled); Type.Initialize(glTypemap, csTypemap); Enum.Initialize(enumSpec, enumSpecExt); Enum.GLEnums.Translate(new XPathDocument(Path.Combine(Settings.InputPath, functionOverridesFile))); Function.Initialize(); Delegate.Initialize(glSpec, glSpecExt); WriteBindings( Delegate.Delegates, Function.Wrappers, Enum.GLEnums); } #endregion #region private void Translate() #if false protected virtual void Translate() { Bind.Structures.Enum.GLEnums.Translate(); } #endif #endregion #region ISpecReader Members #region public virtual DelegateCollection ReadDelegates(StreamReader specFile) public virtual DelegateCollection ReadDelegates(StreamReader specFile) { Console.WriteLine("Reading function specs."); DelegateCollection delegates = new DelegateCollection(); XPathDocument function_overrides = new XPathDocument(Path.Combine(Settings.InputPath, functionOverridesFile)); do { string line = NextValidLine(specFile); if (String.IsNullOrEmpty(line)) break; while (line.Contains("(") && !specFile.EndOfStream) { // Get next OpenGL function Delegate d = new Delegate(); // Get function name: d.Name = line.Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries)[0]; do { // Get function parameters and return value line = specFile.ReadLine(); List words = new List( line.Replace('\t', ' ').Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries) ); if (words.Count == 0) break; // Identify line: switch (words[0]) { case "return": // Line denotes return value d.ReturnType.CurrentType = words[1]; break; case "param": // Line denotes parameter Parameter p = new Parameter(); p.Name = Utilities.Keywords.Contains(words[1]) ? "@" + words[1] : words[1]; p.CurrentType = words[2]; p.Pointer += words[4].Contains("array") ? 1 : 0; p.Pointer += words[4].Contains("reference") ? 1 : 0; if (p.Pointer != 0 && words.Count > 5 && words[5].Contains("[1]")) p.ElementCount = 1; p.Flow = words[3] == "in" ? FlowDirection.In : FlowDirection.Out; d.Parameters.Add(p); break; // GetTexParameterIivEXT and GetTexParameterIuivEXT define two(!) versions (why?) case "version": // Line denotes function version (i.e. 1.0, 1.2, 1.5) d.Version = words[1]; break; case "category": d.Category = words[1]; break; } } while (!specFile.EndOfStream); d.Translate(function_overrides); delegates.Add(d); } } while (!specFile.EndOfStream); return delegates; } #endregion #region public virtual EnumCollection ReadEnums(StreamReader specFile) public virtual EnumCollection ReadEnums(StreamReader specFile) { Trace.WriteLine("Reading opengl enumerant specs."); Trace.Indent(); EnumCollection enums = new EnumCollection(); // complete_enum contains all opengl enumerants. Enum complete_enum = new Enum(); complete_enum.Name = Settings.CompleteEnumName; do { string line = NextValidLine(specFile); if (String.IsNullOrEmpty(line)) break; line = line.Replace('\t', ' '); // We just encountered the start of a new enumerant: while (!String.IsNullOrEmpty(line) && line.Contains("enum")) { string[] words = line.Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries); if (words.Length == 0) continue; // Declare a new enumerant Enum e = new Enum(); e.Name = Char.IsDigit(words[0][0]) ? Settings.ConstantPrefix + words[0] : words[0]; // And fill in the values for this enumerant do { line = NextValidLine(specFile); if (String.IsNullOrEmpty(line) || line.StartsWith("#")) continue; if (line.Contains("enum:") || specFile.EndOfStream) break; line = line.Replace('\t', ' '); words = line.Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries); if (words.Length == 0) continue; // If we reach this point, we have found a new value for the current enumerant Constant c = new Constant(); if (line.Contains("=")) { // Trim the name's prefix, but only if not in Tao compat mode. if (Settings.Compatibility == Settings.Legacy.Tao) { } else { if (words[0].StartsWith(Settings.ConstantPrefix)) words[0] = words[0].Substring(Settings.ConstantPrefix.Length); if (Char.IsDigit(words[0][0])) words[0] = Settings.ConstantPrefix + words[0]; } c.Name = words[0]; c.Value = words[2]; } else if (words[0] == "use") { // Trim the prefix. if (words[2].StartsWith(Settings.ConstantPrefix)) words[2] = words[2].Substring(Settings.ConstantPrefix.Length); // If the remaining string starts with a digit, we were wrong above. // Re-add the "GL_" if (Char.IsDigit(words[2][0])) words[2] = Settings.ConstantPrefix + words[2]; c.Name = words[2]; c.Reference = words[1]; c.Value = words[2]; } else { // Typical cause is hand-editing the specs and forgetting to add an '=' sign. throw new InvalidOperationException(String.Format( "[Error] Invalid constant definition: \"{0}\"", line)); } //if (!String.IsNullOrEmpty(c.Name) && !e.Members.Contains.Contains(c)) //SpecTranslator.Merge(e.Members, c); if (!e.ConstantCollection.ContainsKey(c.Name)) e.ConstantCollection.Add(c.Name, c); else Trace.WriteLine(String.Format( "Spec error: Constant {0} defined twice in enum {1}, discarding last definition.", c.Name, e.Name)); // Insert the current constant in the list of all constants. //SpecTranslator.Merge(complete_enum.Members, c); complete_enum = Utilities.Merge(complete_enum, c); } while (!specFile.EndOfStream); // At this point, the complete value list for the current enumerant has been read, so add this // enumerant to the list. //e.StartDirectives.Add(new CodeRegionDirective(CodeRegionMode.Start, "public enum " + e.Name)); //e.EndDirectives.Add(new CodeRegionDirective(CodeRegionMode.End, "public enum " + e.Name)); // (disabled) Hack - discard Boolean enum, it fsucks up the fragile translation code ahead. //if (!e.Name.Contains("Bool")) //Utilities.Merge(enums, e); //e.Translate(); if (!enums.ContainsKey(e.Name)) enums.Add(e.Name, e); else { // The enum already exists, merge constants. foreach (Constant t in e.ConstantCollection.Values) Utilities.Merge(enums[e.Name], t); } } } while (!specFile.EndOfStream); enums.Add(complete_enum.Name, complete_enum); Trace.Unindent(); return enums; } #endregion #region public virtual Dictionary ReadTypeMap(StreamReader specFile) public virtual Dictionary ReadTypeMap(StreamReader specFile) { Console.WriteLine("Reading opengl types."); Dictionary GLTypes = new Dictionary(); if (specFile == null) return GLTypes; do { string line = specFile.ReadLine(); if (String.IsNullOrEmpty(line) || line.StartsWith("#")) continue; string[] words = line.Split(" ,*\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (words[0].ToLower() == "void") { // Special case for "void" -> "". We make it "void" -> "void" GLTypes.Add(words[0], "void"); } else if (words[0] == "VoidPointer" || words[0] == "ConstVoidPointer") { // "(Const)VoidPointer" -> "void*" GLTypes.Add(words[0], "void*"); } else if (words[0] == "CharPointer" || words[0] == "charPointerARB") { // The typematching logic cannot handle pointers to pointers, e.g. CharPointer* -> char** -> string* -> string[]. // Hence we give it a push. // Note: When both CurrentType == "String" and Pointer == true, the typematching is hardcoded to use // String[] or StringBuilder[]. GLTypes.Add(words[0], "String"); } /*else if (words[0].Contains("Pointer")) { GLTypes.Add(words[0], words[1].Replace("Pointer", "*")); }*/ else if (words[1].Contains("GLvoid")) { GLTypes.Add(words[0], "void"); } else { GLTypes.Add(words[0], words[1]); } } while (!specFile.EndOfStream); return GLTypes; } #endregion #region public virtual Dictionary ReadCSTypeMap(StreamReader specFile) public virtual Dictionary ReadCSTypeMap(StreamReader specFile) { Dictionary CSTypes = new Dictionary(); Console.WriteLine("Reading C# types."); while (!specFile.EndOfStream) { string line = specFile.ReadLine(); if (String.IsNullOrEmpty(line) || line.StartsWith("#")) continue; string[] words = line.Split(" ,\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (words.Length < 2) continue; if (((Settings.Compatibility & Settings.Legacy.NoBoolParameters) != Settings.Legacy.None) && words[1] == "bool") words[1] = "Int32"; CSTypes.Add(words[0], words[1]); } return CSTypes; } #endregion #region private string NextValidLine(StreamReader sr) private string NextValidLine(StreamReader sr) { string line; do { if (sr.EndOfStream) return null; line = sr.ReadLine().Trim(); if (String.IsNullOrEmpty(line) || line.StartsWith("#") || // Disregard comments. line.StartsWith("passthru") || // Disregard passthru statements. line.StartsWith("required-props:") || line.StartsWith("param:") || line.StartsWith("dlflags:") || line.StartsWith("glxflags:") || line.StartsWith("vectorequiv:") || //line.StartsWith("category:") || line.StartsWith("version:") || line.StartsWith("glxsingle:") || line.StartsWith("glxropcode:") || line.StartsWith("glxvendorpriv:") || line.StartsWith("glsflags:") || line.StartsWith("glsopcode:") || line.StartsWith("glsalias:") || line.StartsWith("wglflags:") || line.StartsWith("extension:") || line.StartsWith("alias:") || line.StartsWith("offset:")) continue; return line; } while (true); } #endregion #endregion #region ISpecWriter Members #region void WriteBindings public void WriteBindings(DelegateCollection delegates, FunctionCollection functions, EnumCollection enums) { Console.WriteLine("Writing bindings to {0}", Settings.OutputPath); if (!Directory.Exists(Settings.OutputPath)) Directory.CreateDirectory(Settings.OutputPath); string temp_enums_file = Path.GetTempFileName(); string temp_delegates_file = Path.GetTempFileName(); string temp_core_file = Path.GetTempFileName(); string temp_wrappers_file = Path.GetTempFileName(); // Enums using (BindStreamWriter sw = new BindStreamWriter(temp_enums_file)) { WriteLicense(sw); sw.WriteLine("using System;"); sw.WriteLine(); if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None) { sw.WriteLine("namespace {0}", Settings.OutputNamespace); sw.WriteLine("{"); sw.Indent(); sw.WriteLine("static partial class {0}", Settings.OutputClass); } else sw.WriteLine("namespace {0}", Settings.EnumsOutput); sw.WriteLine("{"); sw.Indent(); WriteEnums(sw, Enum.GLEnums); sw.Unindent(); if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None) { sw.WriteLine("}"); sw.Unindent(); } sw.WriteLine("}"); } // Delegates using (BindStreamWriter sw = new BindStreamWriter(temp_delegates_file)) { WriteLicense(sw); sw.WriteLine("namespace {0}", Settings.OutputNamespace); sw.WriteLine("{"); sw.Indent(); sw.WriteLine("using System;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Runtime.InteropServices;"); sw.WriteLine("#pragma warning disable 0649"); WriteDelegates(sw, Delegate.Delegates); sw.Unindent(); sw.WriteLine("}"); } // Core using (BindStreamWriter sw = new BindStreamWriter(temp_core_file)) { WriteLicense(sw); sw.WriteLine("namespace {0}", Settings.OutputNamespace); sw.WriteLine("{"); sw.Indent(); //specWriter.WriteTypes(sw, Bind.Structures.Type.CSTypes); sw.WriteLine("using System;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Runtime.InteropServices;"); WriteImports(sw, Delegate.Delegates); sw.Unindent(); sw.WriteLine("}"); } // Wrappers using (BindStreamWriter sw = new BindStreamWriter(temp_wrappers_file)) { WriteLicense(sw); sw.WriteLine("namespace {0}", Settings.OutputNamespace); sw.WriteLine("{"); sw.Indent(); sw.WriteLine("using System;"); sw.WriteLine("using System.Text;"); sw.WriteLine("using System.Runtime.InteropServices;"); WriteWrappers(sw, Function.Wrappers, Type.CSTypes); sw.Unindent(); sw.WriteLine("}"); } string output_enums = Path.Combine(Settings.OutputPath, enumsFile); string output_delegates = Path.Combine(Settings.OutputPath, delegatesFile); string output_core = Path.Combine(Settings.OutputPath, importsFile); string output_wrappers = Path.Combine(Settings.OutputPath, wrappersFile); if (File.Exists(output_enums)) File.Delete(output_enums); if (File.Exists(output_delegates)) File.Delete(output_delegates); if (File.Exists(output_core)) File.Delete(output_core); if (File.Exists(output_wrappers)) File.Delete(output_wrappers); File.Move(temp_enums_file, output_enums); File.Move(temp_delegates_file, output_delegates); File.Move(temp_core_file, output_core); File.Move(temp_wrappers_file, output_wrappers); } #endregion #region void WriteDelegates public virtual void WriteDelegates(BindStreamWriter sw, DelegateCollection delegates) { Trace.WriteLine(String.Format("Writing delegates to:\t{0}.{1}.{2}", Settings.OutputNamespace, Settings.OutputClass, Settings.DelegatesClass)); sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments sw.WriteLine(); sw.WriteLine("partial class {0}", Settings.OutputClass); sw.WriteLine("{"); sw.Indent(); sw.WriteLine("internal static partial class {0}", Settings.DelegatesClass); sw.WriteLine("{"); sw.Indent(); foreach (Delegate d in delegates.Values) { sw.WriteLine("[System.Security.SuppressUnmanagedCodeSecurity()]"); sw.WriteLine("internal {0};", d.ToString()); sw.WriteLine("internal {0}static {1} {2}{1};", // = null d.Unsafe ? "unsafe " : "", d.Name, Settings.FunctionPrefix); } sw.Unindent(); sw.WriteLine("}"); sw.Unindent(); sw.WriteLine("}"); } #endregion #region void WriteImports public virtual void WriteImports(BindStreamWriter sw, DelegateCollection delegates) { Trace.WriteLine(String.Format("Writing imports to:\t{0}.{1}.{2}", Settings.OutputNamespace, Settings.OutputClass, Settings.ImportsClass)); sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments sw.WriteLine(); sw.WriteLine("partial class {0}", Settings.OutputClass); sw.WriteLine("{"); sw.Indent(); sw.WriteLine(); sw.WriteLine("internal static partial class {0}", Settings.ImportsClass); sw.WriteLine("{"); sw.Indent(); //sw.WriteLine("static {0}() {1} {2}", Settings.ImportsClass, "{", "}"); // Disable BeforeFieldInit sw.WriteLine(); foreach (Delegate d in delegates.Values) { sw.WriteLine("[System.Security.SuppressUnmanagedCodeSecurity()]"); sw.WriteLine( "[System.Runtime.InteropServices.DllImport({0}.Library, EntryPoint = \"{1}{2}\"{3})]", Settings.OutputClass, Settings.FunctionPrefix, d.Name, d.Name.EndsWith("W") || d.Name.EndsWith("A") ? ", CharSet = CharSet.Auto" : ", ExactSpelling = true" ); sw.WriteLine("internal extern static {0};", d.DeclarationString()); } sw.Unindent(); sw.WriteLine("}"); sw.Unindent(); sw.WriteLine("}"); } #endregion #region void WriteWrappers public void WriteWrappers(BindStreamWriter sw, FunctionCollection wrappers, Dictionary CSTypes) { Trace.WriteLine(String.Format("Writing wrappers to:\t{0}.{1}", Settings.OutputNamespace, Settings.OutputClass)); sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments sw.WriteLine("#pragma warning disable 1572"); // Wrong param comments sw.WriteLine("#pragma warning disable 1573"); // Missing param comments sw.WriteLine(); sw.WriteLine("partial class {0}", Settings.OutputClass); sw.WriteLine("{"); sw.Indent(); //sw.WriteLine("static {0}() {1} {2}", className, "{", "}"); // Static init in GLHelper.cs sw.WriteLine(); int current = 0; foreach (string key in wrappers.Keys) { if (((Settings.Compatibility & Settings.Legacy.NoSeparateFunctionNamespaces) == Settings.Legacy.None) && key != "Core") { if (!Char.IsDigit(key[0])) { sw.WriteLine("public static partial class {0}", key); } else { // Identifiers cannot start with a number: sw.WriteLine("public static partial class {0}{1}", Settings.ConstantPrefix, key); } sw.WriteLine("{"); sw.Indent(); } wrappers[key].Sort(); foreach (Function f in wrappers[key]) { current = WriteWrapper(sw, current, f); } if (((Settings.Compatibility & Settings.Legacy.NoSeparateFunctionNamespaces) == Settings.Legacy.None) && key != "Core") { sw.Unindent(); sw.WriteLine("}"); sw.WriteLine(); } } sw.Unindent(); sw.WriteLine("}"); } private static int WriteWrapper(BindStreamWriter sw, int current, Function f) { if ((Settings.Compatibility & Settings.Legacy.NoDocumentation) == 0) { Console.WriteLine("Creating docs for #{0} ({1})", current++, f.Name); WriteDocumentation(sw, f); } WriteMethod(sw, f); return current; } private static void WriteMethod(BindStreamWriter sw, Function f) { if (!f.CLSCompliant) { sw.WriteLine("[System.CLSCompliant(false)]"); } sw.WriteLine("[AutoGenerated(Category = \"{0}\", Version = \"{1}\", EntryPoint = \"{2}\")]", f.Category, f.Version, Settings.FunctionPrefix + f.WrappedDelegate.Name); sw.WriteLine("public static "); sw.Write(f); sw.WriteLine(); } private static void WriteDocumentation(BindStreamWriter sw, Function f) { try { string path = Path.Combine(Settings.DocPath, Settings.FunctionPrefix + f.WrappedDelegate.Name + ".xml"); if (!File.Exists(path)) path = Path.Combine(Settings.DocPath, Settings.FunctionPrefix + f.TrimmedName + ".xml"); if (!File.Exists(path)) path = Path.Combine(Settings.DocPath, Settings.FunctionPrefix + f.TrimmedName.TrimEnd(numbers) + ".xml"); if (File.Exists(path)) { DocProcessor doc_processor = new DocProcessor(Path.Combine(Settings.DocPath, Settings.DocFile)); sw.WriteLine(doc_processor.ProcessFile(path)); } } catch (FileNotFoundException) { } } #endregion #region void WriteTypes public void WriteTypes(BindStreamWriter sw, Dictionary CSTypes) { sw.WriteLine(); foreach (string s in CSTypes.Keys) { sw.WriteLine("using {0} = System.{1};", s, CSTypes[s]); } } #endregion #region void WriteEnums public void WriteEnums(BindStreamWriter sw, EnumCollection enums) { //sw.WriteLine("#pragma warning disable 3019"); // CLSCompliant attribute sw.WriteLine("#pragma warning disable 1591"); // Missing doc comments sw.WriteLine(); if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None) Trace.WriteLine(String.Format("Writing enums to:\t{0}.{1}.{2}", Settings.OutputNamespace, Settings.OutputClass, Settings.NestedEnumsClass)); else Trace.WriteLine(String.Format("Writing enums to:\t{0}", Settings.EnumsOutput)); if ((Settings.Compatibility & Settings.Legacy.ConstIntEnums) == Settings.Legacy.None) { if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None && !String.IsNullOrEmpty(Settings.NestedEnumsClass)) { sw.WriteLine("public class Enums"); sw.WriteLine("{"); sw.Indent(); } foreach (Enum @enum in enums.Values) { sw.Write(@enum); sw.WriteLine(); } if ((Settings.Compatibility & Settings.Legacy.NestedEnums) != Settings.Legacy.None && !String.IsNullOrEmpty(Settings.NestedEnumsClass)) { sw.Unindent(); sw.WriteLine("}"); } } else { // Tao legacy mode: dump all enums as constants in GLClass. foreach (Constant c in enums[Settings.CompleteEnumName].ConstantCollection.Values) { // Print constants avoiding circular definitions if (c.Name != c.Value) { sw.WriteLine(String.Format( "public const int {0} = {2}((int){1});", c.Name.StartsWith(Settings.ConstantPrefix) ? c.Name : Settings.ConstantPrefix + c.Name, Char.IsDigit(c.Value[0]) ? c.Value : c.Value.StartsWith(Settings.ConstantPrefix) ? c.Value : Settings.ConstantPrefix + c.Value, c.Unchecked ? "unchecked" : "")); } else { } } } } #endregion #region void WriteLicense public void WriteLicense(BindStreamWriter sw) { sw.WriteLine(File.ReadAllText(Path.Combine(Settings.InputPath, Settings.LicenseFile))); sw.WriteLine(); } #endregion #endregion } } opentk-1.0.20101006/Source/Bind/Glx/0000775000175000017500000000000011453142152015412 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Glx/Generator.cs0000664000175000017500000000351511453131430017670 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System.Diagnostics; using Bind.Structures; namespace Bind.Glx { class Generator : GL2.Generator { #region --- Constructors --- public Generator() : base() { glTypemap = "Glx\\glx.tm"; csTypemap = "csharp.tm"; enumSpec = "Glx\\glxenum.spec"; enumSpecExt = "Glx\\glxenumext.spec"; glSpec = "Glx\\glx.spec"; glSpecExt = "Glx\\glxext.spec"; importsFile = "GlxCore.cs"; delegatesFile = "GlxDelegates.cs"; enumsFile = "GlxEnums.cs"; wrappersFile = "Glx.cs"; Settings.OutputClass = "Glx"; Settings.FunctionPrefix = "glX"; Settings.ConstantPrefix = "GLX_"; if (Settings.Compatibility == Settings.Legacy.Tao) { Settings.OutputNamespace = "Tao.Platform.Glx"; //Settings.WindowsGDI = "Tao.Platform.Windows.Gdi"; } else { Settings.OutputNamespace = "OpenTK.Platform.X11"; } } #endregion public override void Process() { Type.Initialize(glTypemap, csTypemap); Enum.Initialize(enumSpec, enumSpecExt); Function.Initialize(); Delegate.Initialize(glSpec, glSpecExt); // Process enums and delegates - create wrappers. Trace.WriteLine("Processing specs, please wait..."); //this.Translate(); WriteBindings( Delegate.Delegates, Function.Wrappers, Enum.GLEnums); } } } opentk-1.0.20101006/Source/Bind/Structures/0000775000175000017500000000000011453142152017043 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Structures/Function.cs0000664000175000017500000006325511453131430021167 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace Bind.Structures { public class Function : Delegate, IEquatable, IComparable { #region Static Members internal static FunctionCollection Wrappers; static bool loaded; #region internal static void Initialize() internal static void Initialize() { if (!loaded) { Wrappers = new FunctionCollection(); loaded = true; } } #endregion #endregion #region Fields Delegate wrapped_delegate; int index; #endregion #region --- Constructors --- public Function(Delegate d) : base(d) { Name = d.Name; Body = new FunctionBody(); WrappedDelegate = d; } public Function(Function f) : this(f.WrappedDelegate) { Parameters = new ParameterCollection(f.Parameters); ReturnType = new Type(f.ReturnType); Body.AddRange(f.Body); } #endregion #region public Delegate WrappedDelegate public Delegate WrappedDelegate { get { return wrapped_delegate; } set { wrapped_delegate = value; } } #endregion #region public void TurnVoidPointersToIntPtr() public void TurnVoidPointersToIntPtr() { foreach (Parameter p in Parameters) { if (p.Pointer != 0 && p.CurrentType == "void") { p.CurrentType = "IntPtr"; p.Pointer = 0; } } } #endregion #region public override bool Unsafe public override bool Unsafe { get { if ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None) return false; return base.Unsafe; } } #endregion #region public FunctionBody Body FunctionBody _body; public FunctionBody Body { get { return _body; } set { _body = value; } } #endregion #region public string TrimmedName public string TrimmedName; #endregion #region public override string Name /// /// Gets or sets the name of the opengl function. /// If no Tao compatibility is set, set TrimmedName to Name, after removing /// [u][bsifd][v]. /// public override string Name { get { return base.Name; } set { base.Name = value; if ((Settings.Compatibility & Settings.Legacy.NoTrimFunctionEnding) != Settings.Legacy.None) { // If we don't need compatibility with Tao, // remove the Extension and the overload information from the name // (Extension == "ARB", "EXT", etc, overload == [u][bsidf][v]) // TODO: Use some regex's here, to reduce clutter. TrimmedName = value; } else { TrimmedName = Utilities.StripGL2Extension(value); Match m = endingsNotToTrim.Match(TrimmedName); if ((m.Index + m.Length) != TrimmedName.Length) { // Some endings should not be trimmed, for example: 'b' from Attrib m = endings.Match(TrimmedName); if (m.Length > 0 && m.Index + m.Length == TrimmedName.Length) { // Only trim endings, not internal matches. if (m.Value[m.Length - 1] == 'v' && endingsAddV.IsMatch(Name) && !Name.StartsWith("Get") && !Name.StartsWith("MatrixIndex")) { // Only trim ending 'v' when there is a number TrimmedName = TrimmedName.Substring(0, m.Index) + "v"; } else { if (!TrimmedName.EndsWith("xedv")) TrimmedName = TrimmedName.Substring(0, m.Index); else TrimmedName = TrimmedName.Substring(0, m.Index + 1); } } } } } } #endregion #region public override string ToString() public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append(Unsafe ? "unsafe " : ""); sb.Append(ReturnType); sb.Append(" "); if ((Settings.Compatibility & Settings.Legacy.NoTrimFunctionEnding) != Settings.Legacy.None) { sb.Append(Settings.FunctionPrefix); } sb.Append(!String.IsNullOrEmpty(TrimmedName) ? TrimmedName : Name); if (Parameters.HasGenericParameters) { sb.Append("<"); foreach (Parameter p in Parameters) { if (p.Generic) { sb.Append(p.CurrentType); sb.Append(","); } } sb.Remove(sb.Length - 1, 1); sb.Append(">"); } sb.AppendLine(Parameters.ToString(false)); if (Parameters.HasGenericParameters) { foreach (Parameter p in Parameters) { if (p.Generic) sb.AppendLine(String.Format(" where {0} : struct", p.CurrentType)); } } if (Body.Count > 0) { sb.Append(Body.ToString()); } return sb.ToString(); } #endregion #region IEquatable Members public bool Equals(Function other) { return !String.IsNullOrEmpty(TrimmedName) && !String.IsNullOrEmpty(other.TrimmedName) && TrimmedName == other.TrimmedName && Parameters.ToString(true) == other.Parameters.ToString(true); } #endregion #region public void WrapParameters(List wrappers) public void WrapParameters(List wrappers) { Function f; if (Parameters.HasPointerParameters) { Function _this = new Function(this); // Array overloads foreach (Parameter p in _this.Parameters) { if (p.WrapperType == WrapperTypes.ArrayParameter && p.ElementCount != 1) { p.Reference = false; p.Array++; p.Pointer--; } } f = new Function(_this); f.CreateBody(false); wrappers.Add(f); new Function(f).WrapVoidPointers(wrappers); _this = new Function(this); // Reference overloads foreach (Parameter p in _this.Parameters) { if (p.WrapperType == WrapperTypes.ArrayParameter) { p.Reference = true; p.Array--; p.Pointer--; } } f = new Function(_this); f.CreateBody(false); wrappers.Add(f); new Function(f).WrapVoidPointers(wrappers); _this = this; // Pointer overloads // Should be last to work around Intellisense bug, where // array overloads are not reported if there is a pointer overload. foreach (Parameter p in _this.Parameters) { if (p.WrapperType == WrapperTypes.ArrayParameter) { p.Reference = false; //p.Array--; //p.Pointer++; } } f = new Function(_this); f.CreateBody(false); wrappers.Add(f); new Function(f).WrapVoidPointers(wrappers); } else { f = new Function(this); f.CreateBody(false); wrappers.Add(f); } } #endregion #region public void WrapVoidPointers(List wrappers) public void WrapVoidPointers(List wrappers) { if (index >= 0 && index < Parameters.Count) { if (Parameters[index].WrapperType == WrapperTypes.GenericParameter) { // Recurse to the last parameter ++index; WrapVoidPointers(wrappers); --index; // On stack rewind, create generic wrappers Parameters[index].Reference = true; Parameters[index].Array = 0; Parameters[index].Pointer = 0; Parameters[index].Generic = true; Parameters[index].CurrentType = "T" + index.ToString(); Parameters[index].Flow = FlowDirection.Undefined; Parameters.Rebuild = true; CreateBody(false); wrappers.Add(new Function(this)); Parameters[index].Reference = false; Parameters[index].Array = 1; Parameters[index].Pointer = 0; Parameters[index].Generic = true; Parameters[index].CurrentType = "T" + index.ToString(); Parameters[index].Flow = FlowDirection.Undefined; Parameters.Rebuild = true; CreateBody(false); wrappers.Add(new Function(this)); Parameters[index].Reference = false; Parameters[index].Array = 2; Parameters[index].Pointer = 0; Parameters[index].Generic = true; Parameters[index].CurrentType = "T" + index.ToString(); Parameters[index].Flow = FlowDirection.Undefined; Parameters.Rebuild = true; CreateBody(false); wrappers.Add(new Function(this)); Parameters[index].Reference = false; Parameters[index].Array = 3; Parameters[index].Pointer = 0; Parameters[index].Generic = true; Parameters[index].CurrentType = "T" + index.ToString(); Parameters[index].Flow = FlowDirection.Undefined; Parameters.Rebuild = true; CreateBody(false); wrappers.Add(new Function(this)); } else { // Recurse to the last parameter ++index; WrapVoidPointers(wrappers); --index; } } } #endregion #region public void WrapReturnType() public void WrapReturnType() { switch (ReturnType.WrapperType) { case WrapperTypes.StringReturnType: ReturnType.QualifiedType = "String"; break; } } #endregion #region public void CreateBody(bool wantCLSCompliance) readonly static List handle_statements = new List(); readonly static List handle_release_statements = new List(); readonly static List fixed_statements = new List(); readonly static List assign_statements = new List(); // For example, if parameter foo has indirection level = 1, then it // is consumed as 'foo*' in the fixed_statements and the call string. string[] indirection_levels = new string[] { "", "*", "**", "***", "****" }; public void CreateBody(bool wantCLSCompliance) { Function f = new Function(this); f.Body.Clear(); handle_statements.Clear(); handle_release_statements.Clear(); fixed_statements.Clear(); assign_statements.Clear(); // Obtain pointers by pinning the parameters foreach (Parameter p in f.Parameters) { if (p.NeedsPin) { if (p.WrapperType == WrapperTypes.GenericParameter) { // Use GCHandle to obtain pointer to generic parameters and 'fixed' for arrays. // This is because fixed can only take the address of fields, not managed objects. handle_statements.Add(String.Format( "{0} {1}_ptr = {0}.Alloc({1}, GCHandleType.Pinned);", "GCHandle", p.Name)); handle_release_statements.Add(String.Format("{0}_ptr.Free();", p.Name)); // Due to the GCHandle-style pinning (which boxes value types), we need to assign the modified // value back to the reference parameter (but only if it has an out or in/out flow direction). if ((p.Flow == FlowDirection.Out || p.Flow == FlowDirection.Undefined) && p.Reference) { assign_statements.Add(String.Format( "{0} = ({1}){0}_ptr.Target;", p.Name, p.QualifiedType)); } // Note! The following line modifies f.Parameters, *not* this.Parameters p.Name = "(IntPtr)" + p.Name + "_ptr.AddrOfPinnedObject()"; } else if (p.WrapperType == WrapperTypes.PointerParameter || p.WrapperType == WrapperTypes.ArrayParameter || p.WrapperType == WrapperTypes.ReferenceParameter) { // A fixed statement is issued for all non-generic pointers, arrays and references. fixed_statements.Add(String.Format( "fixed ({0}{3} {1} = {2})", wantCLSCompliance && !p.CLSCompliant ? p.GetCLSCompliantType() : p.QualifiedType, p.Name + "_ptr", p.Array > 0 ? p.Name : "&" + p.Name, indirection_levels[p.IndirectionLevel])); if (p.Name == "pixels_ptr") System.Diagnostics.Debugger.Break(); // Arrays are not value types, so we don't need to do anything for them. // Pointers are passed directly by value, so we don't need to assign them back either (they don't change). if ((p.Flow == FlowDirection.Out || p.Flow == FlowDirection.Undefined) && p.Reference) { assign_statements.Add(String.Format("{0} = *{0}_ptr;", p.Name)); } p.Name = p.Name + "_ptr"; } else { throw new ApplicationException("Unknown parameter type"); } } } // Automatic OpenGL error checking. // See OpenTK.Graphics.ErrorHelper for more information. // Make sure that no error checking is added to the GetError function, // as that would cause infinite recursion! if ((Settings.Compatibility & Settings.Legacy.NoDebugHelpers) == 0) { if (f.TrimmedName != "GetError") { f.Body.Add("#if DEBUG"); f.Body.Add("using (new ErrorHelper(GraphicsContext.CurrentContext))"); f.Body.Add("{"); if (f.TrimmedName == "Begin") f.Body.Add("GraphicsContext.CurrentContext.ErrorChecking = false;"); f.Body.Add("#endif"); } } if (!f.Unsafe && fixed_statements.Count > 0) { f.Body.Add("unsafe"); f.Body.Add("{"); f.Body.Indent(); } if (fixed_statements.Count > 0) { f.Body.AddRange(fixed_statements); f.Body.Add("{"); f.Body.Indent(); } if (handle_statements.Count > 0) { f.Body.AddRange(handle_statements); f.Body.Add("try"); f.Body.Add("{"); f.Body.Indent(); } // Hack: When creating untyped enum wrappers, it is possible that the wrapper uses an "All" // enum, while the delegate uses a specific enum (e.g. "TextureUnit"). For this reason, we need // to modify the parameters before generating the call string. // Note: We cannot generate a callstring using WrappedDelegate directly, as its parameters will // typically be different than the parameters of the wrapper. We need to modify the parameters // of the wrapper directly. if ((Settings.Compatibility & Settings.Legacy.KeepUntypedEnums) != 0) { int parameter_index = -1; // Used for comparing wrapper parameters with delegate parameters foreach (Parameter p in f.Parameters) { parameter_index++; if (p.IsEnum && p.QualifiedType != f.WrappedDelegate.Parameters[parameter_index].QualifiedType) { p.QualifiedType = f.WrappedDelegate.Parameters[parameter_index].QualifiedType; } } } if (assign_statements.Count > 0) { // Call function string method_call = f.CallString(); if (f.ReturnType.CurrentType.ToLower().Contains("void")) f.Body.Add(String.Format("{0};", method_call)); else if (ReturnType.CurrentType.ToLower().Contains("string")) f.Body.Add(String.Format("{0} {1} = null; unsafe {{ {1} = new string((sbyte*){2}); }}", ReturnType.QualifiedType, "retval", method_call)); else f.Body.Add(String.Format("{0} {1} = {2};", f.ReturnType.QualifiedType, "retval", method_call)); // Assign out parameters f.Body.AddRange(assign_statements); // Return if (!f.ReturnType.CurrentType.ToLower().Contains("void")) { f.Body.Add("return retval;"); } } else { // Call function and return if (f.ReturnType.CurrentType.ToLower().Contains("void")) f.Body.Add(String.Format("{0};", f.CallString())); else if (ReturnType.CurrentType.ToLower().Contains("string")) f.Body.Add(String.Format("unsafe {{ return new string((sbyte*){0}); }}", f.CallString())); else f.Body.Add(String.Format("return {0};", f.CallString())); } // Free all allocated GCHandles if (handle_statements.Count > 0) { f.Body.Unindent(); f.Body.Add("}"); f.Body.Add("finally"); f.Body.Add("{"); f.Body.Indent(); f.Body.AddRange(handle_release_statements); f.Body.Unindent(); f.Body.Add("}"); } if (!f.Unsafe && fixed_statements.Count > 0) { f.Body.Unindent(); f.Body.Add("}"); } if (fixed_statements.Count > 0) { f.Body.Unindent(); f.Body.Add("}"); } if ((Settings.Compatibility & Settings.Legacy.NoDebugHelpers) == 0) { if (f.TrimmedName != "GetError") { f.Body.Add("#if DEBUG"); if (f.TrimmedName == "End") f.Body.Add("GraphicsContext.CurrentContext.ErrorChecking = true;"); f.Body.Add("}"); f.Body.Add("#endif"); } } Body = f.Body; } #endregion #region IComparable Members public int CompareTo(Function other) { int ret = Name.CompareTo(other.Name); if (ret == 0) ret = Parameters.CompareTo(other.Parameters); if (ret == 0) ret = ReturnType.CompareTo(other.ReturnType); return ret; } #endregion } #region class FunctionBody : List public class FunctionBody : List { public FunctionBody() { } public FunctionBody(FunctionBody fb) { foreach (string s in fb) { Add(s); } } private string indent = ""; public void Indent() { indent += " "; } public void Unindent() { if (indent.Length >= 4) indent = indent.Substring(4); } new public void Add(string s) { base.Add(indent + s); } new public void AddRange(IEnumerable collection) { foreach (string t in collection) { Add(t); } } public override string ToString() { if (Count == 0) return String.Empty; StringBuilder sb = new StringBuilder(Count); sb.AppendLine("{"); foreach (string s in this) { sb.AppendLine(" " + s); } sb.Append("}"); return sb.ToString(); } } #endregion #region class FunctionCollection : SortedDictionary> class FunctionCollection : SortedDictionary> { Regex unsignedFunctions = new Regex(@".+(u[dfisb]v?)", RegexOptions.Compiled); public void Add(Function f) { if (!ContainsKey(f.Extension)) { Add(f.Extension, new List()); this[f.Extension].Add(f); } else { this[f.Extension].Add(f); } } public void AddRange(IEnumerable functions) { foreach (Function f in functions) { Add(f); } } /// /// Adds the function to the collection, if a function with the same name and parameters doesn't already exist. /// /// The Function to add. public void AddChecked(Function f) { if (Function.Wrappers.ContainsKey(f.Extension)) { int index = Function.Wrappers[f.Extension].IndexOf(f); if (index == -1) { Function.Wrappers.Add(f); } else { Function existing = Function.Wrappers[f.Extension][index]; if ((existing.Parameters.HasUnsignedParameters && !unsignedFunctions.IsMatch(existing.Name) && unsignedFunctions.IsMatch(f.Name)) || (!existing.Parameters.HasUnsignedParameters && unsignedFunctions.IsMatch(existing.Name) && !unsignedFunctions.IsMatch(f.Name))) { Function.Wrappers[f.Extension].RemoveAt(index); Function.Wrappers[f.Extension].Add(f); } } } else { Function.Wrappers.Add(f); } } } #endregion } opentk-1.0.20101006/Source/Bind/Structures/FlowDirection.cs0000664000175000017500000000302411453131430022136 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace Bind.Structures { /// /// Enumarates the possible flows of a parameter (ie. is this parameter /// used as input or as output?) /// public enum FlowDirection { Undefined = 0, In, Out } } opentk-1.0.20101006/Source/Bind/Structures/Enum.cs0000664000175000017500000003316611453131430020304 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Xml.XPath; namespace Bind.Structures { #region class Enum public class Enum { internal static EnumCollection GLEnums = new EnumCollection(); internal static EnumCollection AuxEnums = new EnumCollection(); static StringBuilder translator = new StringBuilder(); string _name, _type; static bool enumsLoaded; #region Initialize internal static void Initialize(string enumFile, string enumextFile, string auxFile) { Initialize(enumFile, enumextFile); if (!String.IsNullOrEmpty(auxFile)) using (StreamReader sr = new StreamReader(Path.Combine(Settings.InputPath, auxFile))) { AuxEnums = MainClass.Generator.ReadEnums(sr); } } internal static void Initialize(string enumFile, string enumextFile) { if (!enumsLoaded) { if (!String.IsNullOrEmpty(enumFile)) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, enumFile)) { GLEnums = MainClass.Generator.ReadEnums(sr); } } if (!String.IsNullOrEmpty(enumextFile)) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, enumextFile)) { foreach (Enum e in MainClass.Generator.ReadEnums(sr).Values) { //enums.Add(e.Name, e); Utilities.Merge(GLEnums, e); } } } enumsLoaded = true; } } #endregion #region Constructors public Enum() { } #endregion #region Public Members // Returns true if the enum contains a collection of flags, i.e. 1, 2, 4, 8, ... public bool IsFlagCollection { get { // It seems that all flag collections contain "Mask" in their names. // This looks like a heuristic, but it holds 100% in practice // (checked all enums to make sure). return Name.Contains("Mask"); } } #region public string Name public string Name { get { return _name ?? ""; } set { _name = value; } } // Typically 'long' or 'int'. Default is 'int'. public string Type { get { return String.IsNullOrEmpty(_type) ? "int" : _type; } set { _type = value; } } #endregion #region ConstantCollection Dictionary _constant_collection = new Dictionary(); public IDictionary ConstantCollection { get { return _constant_collection; } } #endregion #region TranslateName // Translate the constant's name to match .Net naming conventions public static string TranslateName(string name) { if (String.IsNullOrEmpty(name)) return name; if (Utilities.Keywords.Contains(name)) return name; translator.Remove(0, translator.Length); // Trick to avoid allocating a new StringBuilder. if ((Settings.Compatibility & Settings.Legacy.NoAdvancedEnumProcessing) == Settings.Legacy.None) { // Detect if we just passed a '_' or a number and make the next char uppercase. bool is_after_underscore_or_number = true; // Detect if previous character was uppercase, and turn the current one to lowercase. bool is_previous_uppercase = false; foreach (char c in name) { char char_to_add; if (c == '_' || c == '-') is_after_underscore_or_number = true; else { if (Char.IsDigit(c)) is_after_underscore_or_number = true; char_to_add = is_after_underscore_or_number ? Char.ToUpper(c) : is_previous_uppercase ? Char.ToLower(c) : c; translator.Append(char_to_add); is_previous_uppercase = Char.IsUpper(c); is_after_underscore_or_number = false; } } translator[0] = Char.ToUpper(translator[0]); } else translator.Append(name); translator.Replace("Pname", "PName"); translator.Replace("SRgb", "Srgb"); string ret = translator.ToString(); if (ret.StartsWith(Settings.EnumPrefix)) return ret.Substring(Settings.EnumPrefix.Length); return ret; } #endregion #region ToString public override string ToString() { StringBuilder sb = new StringBuilder(); List constants = new List(ConstantCollection.Values); constants.Sort(delegate(Constant c1, Constant c2) { int ret = String.Compare(c1.Value, c2.Value); if (ret == 0) return String.Compare(c1.Name, c2.Name); return ret; }); if (IsFlagCollection) sb.AppendLine("[Flags]"); sb.Append("public enum "); sb.Append(Name); sb.Append(" : "); sb.AppendLine(Type); sb.AppendLine("{"); foreach (Constant c in constants) { sb.Append(" "); sb.Append(c.ToString()); if (!String.IsNullOrEmpty(c.ToString())) sb.AppendLine(","); } sb.Append("}"); return sb.ToString(); } #endregion #endregion } #endregion #region class EnumCollection public class EnumCollection : SortedDictionary { internal void AddRange(EnumCollection enums) { foreach (Enum e in enums.Values) Utilities.Merge(this, e); } internal void Translate(XPathDocument overrides) { if (overrides == null) throw new ArgumentNullException("overrides"); string path = "/overrides/replace/enum[@name='{0}']"; // Translate enum names. { List keys_to_update = new List(); foreach (Enum e in Values) { string name = e.Name; XPathNavigator enum_override = overrides.CreateNavigator().SelectSingleNode(String.Format(path, name)); if (enum_override != null) { XPathNavigator name_override = enum_override.SelectSingleNode("name"); if (name_override != null) { name = name_override.Value; } } name = Enum.TranslateName(name); if (name != e.Name) { keys_to_update.Add(e.Name); e.Name = name; } } foreach (string name in keys_to_update) { Enum e = this[name]; Remove(name); Add(e.Name, e); } keys_to_update = null; } foreach (Enum e in Values) { XPathNavigator enum_override = overrides.CreateNavigator().SelectSingleNode(String.Format(path, e.Name)); foreach (Constant c in e.ConstantCollection.Values) { if (enum_override != null) { XPathNavigator constant_override = enum_override.SelectSingleNode(String.Format("token[@name='{0}']", c.PreviousName)) ?? enum_override.SelectSingleNode(String.Format("token[@name={0}]", c.Name)); if (constant_override != null) { foreach (XPathNavigator node in constant_override.SelectChildren(XPathNodeType.Element)) { switch (node.Name) { case "name": c.Name = (string)node.TypedValue; break; case "value": c.Value = (string)node.TypedValue; break; } } } } // There are cases when a value is an aliased constant, with no enum specified. // (e.g. FOG_COORD_ARRAY_TYPE = GL_FOG_COORDINATE_ARRAY_TYPE) // In this case try searching all enums for the correct constant to alias (stupid opengl specs). if (String.IsNullOrEmpty(c.Reference) && !Char.IsDigit(c.Value[0])) { foreach (Enum @enum in Values) { // Skip generic GLenum if (@enum.Name == "GLenum") continue; if (@enum.ConstantCollection.ContainsKey(c.Value)) { c.Reference = @enum.Name; break; } } } } } foreach (Enum e in Values) { restart: foreach (Constant c in e.ConstantCollection.Values) { bool result = Constant.TranslateConstantWithReference(c, Enum.GLEnums, Enum.AuxEnums); if (!result) { e.ConstantCollection.Remove(c.Name); goto restart; } } } if (Settings.DropMultipleTokens) { // When there are multiple tokens with the same value but different extension // drop the duplicates. Order of preference: core > ARB > EXT > vendor specific List removed_tokens = new List(); foreach (Enum e in Values) { if (e.Name == "All") continue; // This implementation is a not very bright O(n^2). foreach (Constant c in e.ConstantCollection.Values) { foreach (Constant c2 in e.ConstantCollection.Values) { if (c.Name != c2.Name && c.Value == c2.Value) { int prefer = OrderOfPreference(Utilities.GetGL2Extension(c.Name), Utilities.GetGL2Extension(c2.Name)); if (prefer == -1) removed_tokens.Add(c2); else if (prefer == 1) removed_tokens.Add(c); } } } foreach (Constant c in removed_tokens) e.ConstantCollection.Remove(c.Name); removed_tokens.Clear(); } } } // Return -1 for ext1, 1 for ext2 or 0 if no preference. int OrderOfPreference(string ext1, string ext2) { // If one is empty and the other not, prefer the empty one (empty == core) // Otherwise check for Arb and Ext. To reuse the logic for the // empty check, let's try to remove first Arb, then Ext from the strings. int ret = PreferEmpty(ext1, ext2); if (ret != 0) return ret; ext1 = ext1.Replace("Arb", ""); ext2 = ext2.Replace("Arb", ""); ret = PreferEmpty(ext1, ext2); if (ret != 0) return ret; ext1 = ext1.Replace("Ext", ""); ext2 = ext2.Replace("Ext", ""); return PreferEmpty(ext1, ext2); } // Prefer the empty string over the non-empty. int PreferEmpty(string ext1, string ext2) { if (String.IsNullOrEmpty(ext1) && !String.IsNullOrEmpty(ext2)) return -1; else if (String.IsNullOrEmpty(ext2) && !String.IsNullOrEmpty(ext1)) return 1; else return 0; } new bool TryGetValue(string key, out Enum value) { return base.TryGetValue(key, out value); } } #endregion } opentk-1.0.20101006/Source/Bind/Structures/Constant.cs0000664000175000017500000002311111453131430021156 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Diagnostics; using System.Globalization; using System.Linq; using System.Text; namespace Bind.Structures { /// /// Represents an opengl constant in C# format. Both the constant name and value /// can be retrieved or set. The value can be either a number, another constant /// or an alias to a constant /// public class Constant { static StringBuilder translator = new StringBuilder(); #region PreviousName string previous_name; // Gets the name prior to translation. public string PreviousName { get { return previous_name; } private set { previous_name = value; } } #endregion #region public string Name string _name; /// /// Gets or sets the name of the opengl constant (eg. GL_LINES). /// Undergoes processing unless the Settings.Legacy.NoAdvancedEnumProcessing flag is set. /// public string Name { get { return _name; } set { if (!String.IsNullOrEmpty(value)) _name = Translate(value.Trim(), false); else _name = value; PreviousName = value; } } #endregion #region public string Value string _value; /// /// Gets or sets the value of the opengl constant (eg. 0x00000001). /// public string Value { get { return _value; } set { if (!String.IsNullOrEmpty(value)) { value = value.Trim(); if (value.ToLower() == " 0xffffffffffffffff") Debugger.Break(); // Check whether this value is a number and make sure the Unchecked property is set correctly. ulong number; if (value.ToLower().StartsWith("0x")) { // Trim the unsigned or long specifiers used in C constants ('u' or 'ull'). if (value.ToLower().EndsWith("ull")) value = value.Substring(0, value.Length - 3); if (value.ToLower().EndsWith("u")) value = value.Substring(0, value.Length - 1); } if (UInt64.TryParse(value.ToLower().Replace("0x", String.Empty), NumberStyles.AllowHexSpecifier, null, out number)) { // The value is a number, check if it should be unchecked. if (number > 0x7FFFFFFF) Unchecked = true; } else { // The value is not a number. Strip the prefix. if (value.StartsWith(Settings.ConstantPrefix)) value = value.Substring(Settings.ConstantPrefix.Length); // If the name now starts with a digit (doesn't matter whether we // stripped "GL_" above), add a "GL_" prefix. // (e.g. GL_4_BYTES). if (Char.IsDigit(value[0])) value = Settings.ConstantPrefix + value; } } _value = Translate(value, true); } } #endregion #region public string Reference string _reference; /// /// Gets or sets a string indicating the OpenGL enum reference by this constant. /// Can be null. /// public string Reference { get { return _reference; } set { if (!String.IsNullOrEmpty(value)) _reference = Enum.TranslateName(value.Trim()); else _reference = value; } } #endregion #region public bool Unchecked private bool @unchecked; public bool Unchecked { get { return @unchecked; } set { @unchecked = value; } } #endregion #region Constructors /// /// Creates an empty Constant. /// public Constant() { } /// /// Creates a Constant with the given name and value. /// /// The Name of the Constant. /// The Type of the Constant. public Constant(string name, string value) { Name = name; Value = value; } #endregion #region Translate public static string Translate(string s, bool isValue) { translator.Remove(0, translator.Length); // Translate the constant's name to match .Net naming conventions bool name_is_all_caps = s.AsEnumerable().All(c => Char.IsLetter(c) ? Char.IsUpper(c) : true); bool name_contains_underscore = s.Contains("_"); if ((Settings.Compatibility & Settings.Legacy.NoAdvancedEnumProcessing) == Settings.Legacy.None && (name_is_all_caps || name_contains_underscore)) { bool next_char_uppercase = true; bool is_after_digit = false; if (!isValue && Char.IsDigit(s[0])) translator.Insert(0, Settings.ConstantPrefix); foreach (char c in s) { if (c == '_') next_char_uppercase = true; else if (Char.IsDigit(c)) { is_after_digit = true; translator.Append(c); } else { translator.Append(next_char_uppercase || (is_after_digit && c == 'd') ? Char.ToUpper(c) : Char.ToLower(c)); is_after_digit = next_char_uppercase = false; } } translator[0] = Char.ToUpper(translator[0]); } else translator.Append(s); return translator.ToString(); } #endregion /// /// Replces the Value of the given constant with the value referenced by the [c.Reference, c.Value] pair. /// /// The Constant to translate /// The list of enums to check. /// The list of auxilliary enums to check. /// True if the reference was found; false otherwise. public static bool TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) { if (!String.IsNullOrEmpty(c.Reference)) { Constant referenced_constant; if (enums.ContainsKey(c.Reference) && enums[c.Reference].ConstantCollection.ContainsKey(c.Value)) { TranslateConstantWithReference(enums[c.Reference].ConstantCollection[c.Value] as Constant, enums, auxEnums); referenced_constant = (enums[c.Reference].ConstantCollection[c.Value] as Constant); } else if (auxEnums.ContainsKey(c.Reference) && auxEnums[c.Reference].ConstantCollection.ContainsKey(c.Value)) { TranslateConstantWithReference(auxEnums[c.Reference].ConstantCollection[c.Value] as Constant, enums, auxEnums); referenced_constant = (auxEnums[c.Reference].ConstantCollection[c.Value] as Constant); } else { Console.WriteLine("[Warning] Reference {0} not found for token {1}.", c.Reference, c); return false; } //else throw new InvalidOperationException(String.Format("Unknown Enum \"{0}\" referenced by Constant \"{1}\"", // c.Reference, c.ToString())); c.Value = referenced_constant.Value; c.Reference = null; c.Unchecked = referenced_constant.Unchecked; } return true; } #region public override string ToString() /// /// Returns a string that represents the full constant declaration without decorations /// (eg GL_XXX_YYY = (int)0xDEADBEEF or GL_XXX_YYY = GL_ZZZ.FOOBAR). /// /// public override string ToString() { if (String.IsNullOrEmpty(Name)) return ""; return String.Format("{0} = {1}((int){2}{3})", Name, Unchecked ? "unchecked" : "", !String.IsNullOrEmpty(Reference) ? Reference + "." : "", Value); //return String.Format("{0} = {1}((int){2})", Name, Unchecked ? "unchecked" : "", Value); } #endregion } } opentk-1.0.20101006/Source/Bind/Structures/Delegate.cs0000664000175000017500000005423111453131430021106 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Xml.XPath; namespace Bind.Structures { /// /// Represents an opengl function. /// The return value, function name, function parameters and opengl version can be retrieved or set. /// public class Delegate : IComparable { internal static DelegateCollection Delegates; private static bool delegatesLoaded; bool? cls_compliance_overriden; protected static Regex endings = new Regex(@"((((d|f|fi)|u?[isb])_?v?)|v)", RegexOptions.Compiled | RegexOptions.RightToLeft); protected static Regex endingsNotToTrim = new Regex("(ib|[tdrey]s|[eE]n[vd]|bled|Flag|Tess|Status|Pixels|Instanced|Indexed|Varyings|Boolean|IDs)", RegexOptions.Compiled | RegexOptions.RightToLeft); // Add a trailing v to functions matching this regex. Used to differntiate between overloads taking both // a 'type' and a 'ref type' (such overloads are not CLS Compliant). // The default Regex matches no functions. Create a new Regex in Bind.Generator classes to override the default behavior. internal static Regex endingsAddV = new Regex("^0", RegexOptions.Compiled); #region internal static void Initialize(string glSpec, string glSpecExt) internal static void Initialize(string glSpec, string glSpecExt) { if (!delegatesLoaded) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, glSpec)) { Delegates = MainClass.Generator.ReadDelegates(sr); } if (!String.IsNullOrEmpty(glSpecExt)) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, glSpecExt)) { foreach (Delegate d in MainClass.Generator.ReadDelegates(sr).Values) { Utilities.Merge(Delegates, d); } } } Console.WriteLine("Enforcing CLS compliance."); MarkCLSCompliance(Function.Wrappers); delegatesLoaded = true; } } #endregion #region --- Constructors --- public Delegate() { Parameters = new ParameterCollection(); } public Delegate(Delegate d) { Category = d.Category; Name = d.Name; Parameters = new ParameterCollection(d.Parameters); ReturnType = new Type(d.ReturnType); Version = d.Version; //this.Version = !String.IsNullOrEmpty(d.Version) ? new string(d.Version.ToCharArray()) : ""; } #endregion #region --- Properties --- #region public bool CLSCompliant /// /// Gets the CLSCompliant property. True if the delegate is not CLSCompliant. /// public virtual bool CLSCompliant { get { if (cls_compliance_overriden != null) return (bool)cls_compliance_overriden; if (Unsafe) return false; if (!ReturnType.CLSCompliant) return false; foreach (Parameter p in Parameters) { if (!p.CLSCompliant) return false; } return true; } set { cls_compliance_overriden = value; } } #endregion #region public string Category private string _category; public string Category { get { return _category; } set { _category = Enum.TranslateName(value); } } #endregion #region public bool NeedsWrapper /// /// Gets a value that indicates whether this function needs to be wrapped with a Marshaling function. /// This flag is set if a function contains an Array parameter, or returns /// an Array or string. /// public bool NeedsWrapper { get { // TODO: Add special cases for (Get)ShaderSource. if (ReturnType.WrapperType != WrapperTypes.None) return true; foreach (Parameter p in Parameters) { if (p.WrapperType != WrapperTypes.None) return true; } return false; } } #endregion #region public virtual bool Unsafe /// /// True if the delegate must be declared as 'unsafe'. /// public virtual bool Unsafe { //get { return @unsafe; } //set { @unsafe = value; } get { //if ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None) // return false; if (ReturnType.Pointer != 0) return true; foreach (Parameter p in Parameters) { if (p.Pointer != 0) { return true; } } return false; } } #endregion #region public Parameter ReturnType Type _return_type = new Type(); /// /// Gets or sets the return value of the opengl function. /// public Type ReturnType { get { return _return_type; } set { _return_type = value; } } #endregion #region public virtual string Name string _name; /// /// Gets or sets the name of the opengl function. /// public virtual string Name { get { return _name; } set { if (!String.IsNullOrEmpty(value)) { _name = value.Trim(); } } } #endregion #region public ParameterCollection Parameters ParameterCollection _parameters; public ParameterCollection Parameters { get { return _parameters; } set { _parameters = value; } } #endregion #region public string Version string _version; /// /// Defines the opengl version that introduced this function. /// public string Version { get { return _version; } set { _version = value; } } #endregion #region public bool Extension string _extension; public string Extension { //get { return _extension; } //set { _extension = value; } get { if (!String.IsNullOrEmpty(Name)) { _extension = Utilities.GetGL2Extension(Name); return String.IsNullOrEmpty(_extension) ? "Core" : _extension; } else { return null; } } } #endregion #endregion #region --- Strings --- #region public string CallString() public string CallString() { StringBuilder sb = new StringBuilder(); sb.Append(Settings.DelegatesClass); sb.Append("."); sb.Append(Settings.FunctionPrefix); sb.Append(Name); sb.Append(Parameters.CallString()); return sb.ToString(); } #endregion /// /// Returns a string representing the full non-delegate declaration without decorations. /// (ie "(unsafe) void glXxxYyy(int a, float b, IntPtr c)" /// #region public string DeclarationString() public string DeclarationString() { StringBuilder sb = new StringBuilder(); sb.Append(Unsafe ? "unsafe " : ""); sb.Append(ReturnType); sb.Append(" "); sb.Append(Name); sb.Append(Parameters.ToString(true)); return sb.ToString(); } #endregion #region override public string ToString() /// /// Returns a string representing the full delegate declaration without decorations. /// (ie "(unsafe) void delegate glXxxYyy(int a, float b, IntPtr c)" /// override public string ToString() { StringBuilder sb = new StringBuilder(); sb.Append(Unsafe ? "unsafe " : ""); sb.Append("delegate "); sb.Append(ReturnType); sb.Append(" "); sb.Append(Name); sb.Append(Parameters.ToString(true)); return sb.ToString(); } #endregion public Delegate GetCLSCompliantDelegate() { Delegate f = new Delegate(this); for (int i = 0; i < f.Parameters.Count; i++) { f.Parameters[i].CurrentType = f.Parameters[i].GetCLSCompliantType(); } f.ReturnType.CurrentType = f.ReturnType.GetCLSCompliantType(); return f; } #endregion #region --- Wrapper Creation --- #region MarkCLSCompliance static void MarkCLSCompliance(FunctionCollection collection) { foreach (List wrappers in Function.Wrappers.Values) { restart: for (int i = 0; i < wrappers.Count; i++) { for (int j = i + 1; j < wrappers.Count; j++) { if (wrappers[i].TrimmedName == wrappers[j].TrimmedName && wrappers[i].Parameters.Count == wrappers[j].Parameters.Count) { bool function_i_is_problematic = false; bool function_j_is_problematic = false; int k; for (k = 0; k < wrappers[i].Parameters.Count; k++) { if (wrappers[i].Parameters[k].CurrentType != wrappers[j].Parameters[k].CurrentType) break; if (wrappers[i].Parameters[k].DiffersOnlyOnReference(wrappers[j].Parameters[k])) if (wrappers[i].Parameters[k].Reference) function_i_is_problematic = true; else function_j_is_problematic = true; } if (k == wrappers[i].Parameters.Count) { if (function_i_is_problematic) wrappers.RemoveAt(i); //wrappers[i].CLSCompliant = false; if (function_j_is_problematic) wrappers.RemoveAt(j); //wrappers[j].CLSCompliant = false; if (function_i_is_problematic || function_j_is_problematic) goto restart; } } } } } } #endregion #region CreateWrappers void CreateWrappers() { List wrappers = new List(); CreateNormalWrappers(wrappers); // Generate wrappers using the untyped enum parameters, if necessary. if ((Settings.Compatibility & Settings.Legacy.KeepUntypedEnums) != 0) { CreateUntypedEnumWrappers(wrappers); } // Add CLS-compliant overloads for non-CLS compliant wrappers. CreateCLSCompliantWrappers(wrappers); } private static void CreateCLSCompliantWrappers(List wrappers) { // If the function is not CLS-compliant (e.g. it contains unsigned parameters) // we need to create a CLS-Compliant overload. However, we should only do this // iff the opengl function does not contain unsigned/signed overloads itself // to avoid redefinitions. foreach (Function f in wrappers) { Function.Wrappers.AddChecked(f); if (!f.CLSCompliant) { Function cls = new Function(f); cls.Body.Clear(); cls.CreateBody(true); bool modified = false; for (int i = 0; i < f.Parameters.Count; i++) { cls.Parameters[i].CurrentType = cls.Parameters[i].GetCLSCompliantType(); if (cls.Parameters[i].CurrentType != f.Parameters[i].CurrentType) modified = true; } if (modified) Function.Wrappers.AddChecked(cls); } } } private void CreateUntypedEnumWrappers(List wrappers) { Function f = new Function(this); var modified = false; f.Parameters = new ParameterCollection(f.Parameters.Select(p => { if (p.IsEnum && p.CurrentType != Settings.CompleteEnumName) { p.CurrentType = Settings.CompleteEnumName; modified = true; } return p; })); if (modified) { f.WrapReturnType(); f.WrapParameters(wrappers); } } void CreateNormalWrappers(List wrappers) { Function f = new Function(this); f.WrapReturnType(); f.WrapParameters(wrappers); } #endregion #region TrimName // Trims unecessary suffices from the specified OpenGL function name. protected static string TrimName(string name, bool keep_extension) { string trimmed_name = Utilities.StripGL2Extension(name); string extension = Utilities.GetGL2Extension(name); // Note: some endings should not be trimmed, for example: 'b' from Attrib. // Check the endingsNotToTrim regex for details. Match m = endingsNotToTrim.Match(trimmed_name); if ((m.Index + m.Length) != trimmed_name.Length) { m = endings.Match(trimmed_name); if (m.Length > 0 && m.Index + m.Length == trimmed_name.Length) { // Only trim endings, not internal matches. if (m.Value[m.Length - 1] == 'v' && endingsAddV.IsMatch(name) && !name.StartsWith("Get") && !name.StartsWith("MatrixIndex")) { // Only trim ending 'v' when there is a number trimmed_name = trimmed_name.Substring(0, m.Index) + "v"; } else { if (!trimmed_name.EndsWith("xedv")) trimmed_name = trimmed_name.Substring(0, m.Index); else trimmed_name = trimmed_name.Substring(0, m.Index + 1); } } } if (keep_extension) return trimmed_name + extension; else return trimmed_name; } #endregion #region TranslateReturnType // Translates the opengl return type to the equivalent C# type. // // First, we use the official typemap (gl.tm) to get the correct type. // Then we override this, when it is: // 1) A string (we have to use Marshal.PtrToStringAnsi, to avoid heap corruption) // 2) An array (translates to IntPtr) // 3) A generic object or void* (translates to IntPtr) // 4) A GLenum (translates to int on Legacy.Tao or GL.Enums.GLenum otherwise). // Return types must always be CLS-compliant, because .Net does not support overloading on return types. void TranslateReturnType(XPathNavigator overrides, XPathNavigator function_override) { if (function_override != null) { XPathNavigator return_override = function_override.SelectSingleNode("returns"); if (return_override != null) { ReturnType.CurrentType = return_override.Value; } } ReturnType.Translate(overrides, Category); if (ReturnType.CurrentType.ToLower().Contains("void") && ReturnType.Pointer != 0) { ReturnType.QualifiedType = "System.IntPtr"; ReturnType.WrapperType = WrapperTypes.GenericReturnType; } if (ReturnType.CurrentType.ToLower().Contains("string")) { ReturnType.QualifiedType = "System.IntPtr"; ReturnType.WrapperType = WrapperTypes.StringReturnType; } if (ReturnType.CurrentType.ToLower().Contains("object")) { ReturnType.QualifiedType = "System.IntPtr"; ReturnType.WrapperType |= WrapperTypes.GenericReturnType; } if (ReturnType.CurrentType.Contains("GLenum")) { if ((Settings.Compatibility & Settings.Legacy.ConstIntEnums) == Settings.Legacy.None) ReturnType.QualifiedType = String.Format("{0}.{1}", Settings.EnumsOutput, Settings.CompleteEnumName); else ReturnType.QualifiedType = "int"; } ReturnType.CurrentType = ReturnType.GetCLSCompliantType(); } #endregion #region TranslateParameters protected virtual void TranslateParameters(XPathNavigator overrides, XPathNavigator function_override) { for (int i = 0; i < Parameters.Count; i++) { if (function_override != null) { XPathNavigator param_override = function_override.SelectSingleNode(String.Format("param[@name='{0}']", Parameters[i].Name)); if (param_override != null) { foreach (XPathNavigator node in param_override.SelectChildren(XPathNodeType.Element)) { switch (node.Name) { case "type": Parameters[i].CurrentType = (string)node.TypedValue; break; case "name": Parameters[i].Name = (string)node.TypedValue; break; case "flow": Parameters[i].Flow = Parameter.GetFlowDirection((string)node.TypedValue); break; } } } } Parameters[i].Translate(overrides, Category); if (Parameters[i].CurrentType == "UInt16" && Name.Contains("LineStipple")) Parameters[i].WrapperType = WrapperTypes.UncheckedParameter; // Special case: these functions take a string[] that should stay as is. // Todo: move to gloverrides.xml //if (Name.Contains("ShaderSource") && Parameters[i].CurrentType.ToLower().Contains("string")) // Parameters[i].Array = 1; } } #endregion internal void Translate(XPathDocument overrides) { if (overrides == null) throw new ArgumentNullException("overrides"); string path = "/overrides/replace/function[@name='{0}' and @extension='{1}']"; string name = TrimName(Name, false); XPathNavigator function_override = overrides.CreateNavigator().SelectSingleNode(String.Format(path, name, Extension)); TranslateReturnType(overrides.CreateNavigator(), function_override); TranslateParameters(overrides.CreateNavigator(), function_override); CreateWrappers(); } #endregion #region IComparable Members public int CompareTo(Delegate other) { return Name.CompareTo(other.Name); } #endregion } #region class DelegateCollection : SortedDictionary class DelegateCollection : SortedDictionary { public void Add(Delegate d) { if (!ContainsKey(d.Name)) { Add(d.Name, d); } else { Trace.WriteLine(String.Format( "Spec error: function {0} redefined, ignoring second definition.", d.Name)); } } } #endregion } opentk-1.0.20101006/Source/Bind/Structures/Type.cs0000664000175000017500000004014711453131430020316 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.IO; using System.Xml.XPath; namespace Bind.Structures { public class Type : IComparable { internal static Dictionary GLTypes; internal static Dictionary CSTypes; private static bool typesLoaded; string current_qualifier = "", previous_qualifier = ""; #region internal static void Initialize(string glTypes, string csTypes) internal static void Initialize(string glTypes, string csTypes) { if (!typesLoaded) { if (GLTypes == null) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, glTypes)) { GLTypes = MainClass.Generator.ReadTypeMap(sr); } } if (CSTypes == null) { using (StreamReader sr = Utilities.OpenSpecFile(Settings.InputPath, csTypes)) { CSTypes = MainClass.Generator.ReadCSTypeMap(sr); } } typesLoaded = true; } } #endregion #region --- Constructors --- public Type() { } public Type(Type t) { if (t != null) { QualifiedType = t.QualifiedType; // Covers current type and qualifier PreviousType = t.PreviousType; PreviousQualifier = t.PreviousQualifier; WrapperType = t.WrapperType; Array = t.Array; Pointer = t.Pointer; Reference = t.Reference; ElementCount = t.ElementCount; } } #endregion public string CurrentQualifier { get { return current_qualifier; } set { PreviousQualifier = CurrentQualifier; current_qualifier = value; } } public string PreviousQualifier { get { return previous_qualifier; } private set { previous_qualifier = value; } } public string QualifiedType { get { if (!String.IsNullOrEmpty(CurrentQualifier)) return String.Format("{0}.{1}", CurrentQualifier, CurrentType); else return CurrentType; } set { if (String.IsNullOrEmpty(value)) throw new ArgumentException(); int qualifier_end = value.LastIndexOf('.'); if (qualifier_end > -1) { CurrentQualifier = value.Substring(0, qualifier_end); CurrentType = value.Substring(qualifier_end + 1); } else { CurrentType = value; } } } #region public string CurrentType string type; /// /// Gets the type of the parameter. /// public virtual string CurrentType { //get { return _type; } get { if (((Settings.Compatibility & Settings.Legacy.TurnVoidPointersToIntPtr) != Settings.Legacy.None) && Pointer != 0 && type.Contains("void")) return "IntPtr"; return type; } set { if (String.IsNullOrEmpty(value)) throw new ArgumentException(); if (!String.IsNullOrEmpty(type)) PreviousType = type; if (!String.IsNullOrEmpty(value)) type = value.Trim(); while (type.EndsWith("*")) { type = type.Substring(0, type.Length - 1); Pointer++; } } } #endregion #region public string PreviousType private string _previous_type; public string PreviousType { get { return _previous_type; } private set { _previous_type = value; } } #endregion #region public bool Reference bool reference; public bool Reference { get { return reference; } set { reference = value; } } #endregion #region public int Array int array; public int Array { get { return array; } set { array = value > 0 ? value : 0; } } #endregion #region public int ElementCount int element_count; // If the type is an array and ElementCount > 0, then ElemenCount defines the expected array length. public int ElementCount { get { return element_count; } set { element_count = value > 0 ? value : 0; } } #endregion #region public int Pointer int pointer; public int Pointer { get { return pointer; } set { pointer = value > 0 ? value : 0; } } #endregion // Returns true if parameter is an enum. public bool IsEnum { get { return Enum.GLEnums.ContainsKey(CurrentType) || Enum.AuxEnums.ContainsKey(CurrentType); } } #region IndirectionLevel // Gets the the level of indirection for this type. For example, // type 'foo' has indirection level = 0, while 'ref foo*[]' has // an indirection level of 3. public int IndirectionLevel { get { return Pointer + Array + (Reference ? 1 : 0); } } #endregion #region public bool CLSCompliant public bool CLSCompliant { get { bool compliant = true; switch (CurrentType.ToLower()) { case "sbyte": case "ushort": case "uint": case "ulong": case "uintptr": case "uint16": case "uint32": case "uint64": compliant = false; break; default: compliant = Pointer == 0; break; } return compliant; /* if (Pointer != 0) { compliant &= CurrentType.Contains("IntPtr"); // IntPtr's are CLSCompliant. // If the NoPublicUnsageFunctions is set, the pointer will be CLSCompliant. compliant |= (Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None; } return compliant; */ //return compliant && (!Pointer || CurrentType.Contains("IntPtr")); //return compliant && !(Pointer && ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) == Settings.Legacy.None)); /* * return !( (Pointer && ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) == Settings.Legacy.None ) || CurrentType.Contains("UInt") || CurrentType.Contains("SByte"))); */ /*(Type.Contains("GLu") && !Type.Contains("GLubyte")) || Type == "GLbitfield" || Type.Contains("GLhandle") || Type.Contains("GLhalf") || Type == "GLbyte");*/ } } #endregion #region public bool Unsigned public bool Unsigned { get { return (CurrentType.Contains("UInt") || CurrentType.Contains("Byte")); } } #endregion #region public WrapperTypes WrapperType private WrapperTypes _wrapper_type = WrapperTypes.None; public WrapperTypes WrapperType { get { return _wrapper_type; } set { _wrapper_type = value; } } #endregion #region public string GetCLSCompliantType() public string GetCLSCompliantType() { if (!CLSCompliant) { if (Pointer != 0 && Settings.Compatibility == Settings.Legacy.Tao) return "IntPtr"; switch (CurrentType) { case "UInt16": case "ushort": return "Int16"; case "UInt32": case "uint": return "Int32"; case "UInt64": case "ulong": return "Int64"; case "SByte": case "sbyte": return "Byte"; case "UIntPtr": return "IntPtr"; } } return CurrentType; } #endregion #region public override string ToString() public override string ToString() { return QualifiedType; } #endregion #region public virtual void Translate(XPathNavigator overrides, string category) public virtual void Translate(XPathNavigator overrides, string category) { Enum @enum; string s; // Try to find out if it is an enum. If the type exists in the normal GLEnums list, use this. // Otherwise, try to find it in the aux enums list. If it exists in neither, it is not an enum. // Special case for Boolean - it is an enum, but it is dumb to use that instead of the 'bool' type. bool normal = false; bool aux = false; normal = Enum.GLEnums.TryGetValue(CurrentType, out @enum); if (!normal) aux = Enum.AuxEnums != null && Enum.AuxEnums.TryGetValue(CurrentType, out @enum); // Translate enum types if ((normal || aux) && @enum.Name != "GLenum" && @enum.Name != "Boolean") { if ((Settings.Compatibility & Settings.Legacy.ConstIntEnums) != Settings.Legacy.None) QualifiedType = "int"; else { #warning "Unecessary code" if (normal) QualifiedType = CurrentType.Insert(0, String.Format("{0}.", Settings.EnumsOutput)); else if (aux) QualifiedType = CurrentType.Insert(0, String.Format("{0}.", Settings.EnumsAuxOutput)); } } else if (GLTypes.TryGetValue(CurrentType, out s)) { // Check if the parameter is a generic GLenum. If it is, search for a better match, // otherwise fallback to Settings.CompleteEnumName (named 'All' by default). if (s.Contains("GLenum") /*&& !String.IsNullOrEmpty(category)*/) { if ((Settings.Compatibility & Settings.Legacy.ConstIntEnums) != Settings.Legacy.None) { QualifiedType = "int"; } else { // Better match: enum.Name == function.Category (e.g. GL_VERSION_1_1 etc) if (Enum.GLEnums.ContainsKey(category)) { QualifiedType = String.Format("{0}.{1}", Settings.EnumsOutput, Enum.TranslateName(category)); } else { QualifiedType = String.Format("{0}.{1}", Settings.EnumsOutput, Settings.CompleteEnumName); } } } else { // A few translations for consistency switch (CurrentType.ToLower()) { case "string": QualifiedType = "String"; break; } #warning "Stale code" // This is not enum, default translation: if (CurrentType == "PIXELFORMATDESCRIPTOR" || CurrentType == "LAYERPLANEDESCRIPTOR" || CurrentType == "GLYPHMETRICSFLOAT") { if (Settings.Compatibility == Settings.Legacy.Tao) CurrentType = CurrentType.Insert(0, "Gdi."); else { if (CurrentType == "PIXELFORMATDESCRIPTOR") CurrentType = "PixelFormatDescriptor"; else if (CurrentType == "LAYERPLANEDESCRIPTOR") CurrentType = "LayerPlaneDescriptor"; else if (CurrentType == "GLYPHMETRICSFLOAT") CurrentType = "GlyphMetricsFloat"; } } else if (CurrentType == "XVisualInfo") { //p.Pointer = false; //p.Reference = true; } else QualifiedType = s; } } CurrentType = CSTypes.ContainsKey(CurrentType) ? CSTypes[CurrentType] : CurrentType; // Make sure that enum parameters follow enum overrides, i.e. // if enum ErrorCodes is overriden to ErrorCode, then parameters // of type ErrorCodes should also be overriden to ErrorCode. XPathNavigator enum_override = overrides.SelectSingleNode(String.Format("/overrides/replace/enum[@name='{0}']/name", CurrentType)); if (enum_override != null) { // For consistency - many overrides use string instead of String. if (enum_override.Value == "string") QualifiedType = "String"; else if (enum_override.Value == "StringBuilder") QualifiedType = "StringBuilder"; else CurrentType = enum_override.Value; } if (CurrentType == "IntPtr" && String.IsNullOrEmpty(PreviousType)) Pointer = 0; } #endregion #region IComparable Members public int CompareTo(Type other) { // Make sure that Pointer parameters are sorted last to avoid bug [#1098]. // The rest of the comparisons are not important, but they are there to // guarantee a stable order between program executions. int result = this.CurrentType.CompareTo(other.CurrentType); if (result == 0) result = Pointer.CompareTo(other.Pointer); if (result == 0) result = Reference.CompareTo(other.Reference); if (result == 0) result = Array.CompareTo(other.Array); if (result == 0) result = CLSCompliant.CompareTo(other.CLSCompliant); if (result == 0) result = ElementCount.CompareTo(other.ElementCount); return result; } #endregion } } opentk-1.0.20101006/Source/Bind/Structures/Parameter.cs0000664000175000017500000004610111453131430021311 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using System.Xml.XPath; namespace Bind.Structures { /// /// Represents a single parameter of an opengl function. /// public class Parameter : Type, IComparable { string cache; bool rebuild; bool unsafe_allowed; // True if the cache may contain unsafe types, false otherwise. #region Constructors /// /// Creates a new Parameter without type and name. /// public Parameter() :base() { } /// /// Creates a new parameter from the parameters passed (deep copy). /// /// The parameter to copy from. public Parameter(Parameter p) : base(p) { if (p == null) return; Name = p.Name; Unchecked = p.Unchecked; UnmanagedType = p.UnmanagedType; Generic = p.Generic; Flow = p.Flow; cache = p.cache; //this.rebuild = false; } #endregion #region public string Name string _name = String.Empty; /// /// Gets or sets the name of the parameter. /// public string Name { get { return _name; } set { if (_name != value) { while (value.StartsWith("*")) { Pointer++; value = value.Substring(1); } _name = value; rebuild = true; } } } #endregion #region UnmanagedType UnmanagedType _unmanaged_type; /// /// Gets or sets the name of the parameter. /// private UnmanagedType UnmanagedType { get { return _unmanaged_type; } set { if (_unmanaged_type != value) { _unmanaged_type = value; rebuild = true; } } } #endregion #region public FlowDirection Flow FlowDirection _flow; /// /// Gets or sets the flow of the parameter. /// public FlowDirection Flow { get { return _flow; } set { if (_flow != value) { _flow = value; rebuild = true; } } } #endregion #region public bool NeedsPin public bool NeedsPin { get { return (Array > 0 || Reference || CurrentType == "object") && !CurrentType.ToLower().Contains("string"); } } #endregion #region public bool Unchecked private bool _unchecked; public bool Unchecked { get { return _unchecked; } set { if (_unchecked != value) { _unchecked = value; rebuild = true; } } } #endregion #region public bool Generic bool generic; public bool Generic { get { return generic; } set { generic = value; } } #endregion #region public override string CurrentType public override string CurrentType { get { return base.CurrentType; } set { base.CurrentType = value; rebuild = true; } } #endregion #region public bool DiffersOnlyOnReference // Returns true if this parameter differs only on reference compared to another parameter, i.e: // returns true for 'int' & 'ref int' // returns true for 'ref float' & 'float' // returns false 'int' & 'int*' // returns false 'int' & 'int[]' // returns false 'int' & 'float' public bool DiffersOnlyOnReference(Parameter other) { return CurrentType == other.CurrentType && (Reference && !(other.Reference || other.Array > 0 || other.Pointer != 0) || other.Reference && !(Reference || Array > 0 || Pointer != 0)); } #endregion #region public override string ToString() public override string ToString() { return ToString(false); } #endregion #region public string ToString(bool override_unsafe_setting) public string ToString(bool override_unsafe_setting) { rebuild |= unsafe_allowed |= override_unsafe_setting; unsafe_allowed = override_unsafe_setting; if (!String.IsNullOrEmpty(cache) && !rebuild) { return cache; } else { StringBuilder sb = new StringBuilder(); if (Flow == FlowDirection.Out) sb.Append("[OutAttribute] "); else if (Flow == FlowDirection.Undefined) sb.Append("[InAttribute, OutAttribute] "); if (Reference) { if (Flow == FlowDirection.Out) sb.Append("out "); else sb.Append("ref "); } if (!override_unsafe_setting && ((Settings.Compatibility & Settings.Legacy.NoPublicUnsafeFunctions) != Settings.Legacy.None)) { if (Pointer != 0) { sb.Append("IntPtr"); } else { sb.Append(base.ToString()); if (Array > 0) { sb.Append("["); for (int i = 1; i < Array; i++) sb.Append(","); sb.Append("]"); } } } else { sb.Append(base.ToString()); for (int i = 0; i < Pointer; i++) sb.Append("*"); if (Array > 0) { sb.Append("["); for (int i = 1; i < Array; i++) sb.Append(","); sb.Append("]"); } } if (!String.IsNullOrEmpty(Name)) { sb.Append(" "); sb.Append(Utilities.Keywords.Contains(Name) ? "@" + Name : Name); } rebuild = false; cache = sb.ToString(); return cache; } } #endregion #region override public void Translate(XPathNavigator overrides, string category) override public void Translate(XPathNavigator overrides, string category) { base.Translate(overrides, category); // Find out the necessary wrapper types. if (Pointer != 0)/* || CurrentType == "IntPtr")*/ { if (CurrentType.ToLower().Contains("string")) { // string* -> [In] String[] or [Out] StringBuilder[] QualifiedType = Flow == FlowDirection.Out ? "StringBuilder[]" : "String[]"; Pointer = 0; WrapperType = WrapperTypes.None; } else if (CurrentType.ToLower().Contains("char")) { // char* -> [In] String or [Out] StringBuilder QualifiedType = Flow == FlowDirection.Out ? "StringBuilder" : "String"; Pointer = 0; WrapperType = WrapperTypes.None; } else if (CurrentType.ToLower().Contains("void") || (!String.IsNullOrEmpty(PreviousType) && PreviousType.ToLower().Contains("void"))) /*|| CurrentType.Contains("IntPtr"))*/ { CurrentType = "IntPtr"; Pointer = 0; WrapperType = WrapperTypes.GenericParameter; } else { WrapperType = WrapperTypes.ArrayParameter; } } if (Reference) WrapperType |= WrapperTypes.ReferenceParameter; if (Name == "params") Name = "@params"; if (Name == "event") Name = "@event"; // This causes problems with bool arrays //if (CurrentType.ToLower().Contains("bool")) // WrapperType = WrapperTypes.BoolParameter; } #endregion #region Static Members // Returns the FlowDirection that matches the specified string // ("out" or "in", otherwise undefined). public static FlowDirection GetFlowDirection(string direction) { return direction == "out" ? FlowDirection.Out : direction == "in" ? FlowDirection.In : FlowDirection.Undefined; } #endregion #region IComparable Members public int CompareTo(Parameter other) { int result = base.CompareTo(other); if (result == 0) result = Name.CompareTo(other.Name); return result; } #endregion } /// /// Holds the parameter list of an opengl function. /// public class ParameterCollection : List, IComparable { string cache = String.Empty; string callStringCache = String.Empty; private bool rebuild = true; bool hasPointerParameters; bool hasReferenceParameters; bool hasUnsignedParameters; bool hasGenericParameters; bool unsafe_types_allowed; public bool Rebuild { private get { return rebuild; } set { rebuild = true;/*value;*/ } } #region Constructors public ParameterCollection() { } public ParameterCollection(ParameterCollection pc) { foreach (Parameter p in pc) { Add(new Parameter(p)); } } public ParameterCollection(IEnumerable parameters) { foreach (Parameter p in parameters) Add(new Parameter(p)); } #endregion #region void BuildCache() void BuildCache() { BuildReferenceAndPointerParametersCache(); BuildCallStringCache(); BuildToStringCache(unsafe_types_allowed); Rebuild = false; } #endregion #region public bool HasPointerParameters public bool HasPointerParameters { get { if (Rebuild) BuildCache(); return hasPointerParameters; } } #endregion #region public bool HasReferenceParameters public bool HasReferenceParameters { get { if (Rebuild) BuildCache(); return hasReferenceParameters; } } #endregion #region public bool HasUnsignedParameters public bool HasUnsignedParameters { get { if (Rebuild) BuildCache(); return hasUnsignedParameters; } } #endregion #region public bool HasGenericParameters public bool HasGenericParameters { get { if (Rebuild) BuildCache(); return hasGenericParameters; } } #endregion #region void BuildReferenceAndPointerParametersCache() void BuildReferenceAndPointerParametersCache() { foreach (Parameter p in this) { if (p.Pointer != 0 || p.CurrentType.Contains("IntPtr")) hasPointerParameters = true; if (p.Reference) hasReferenceParameters = true; if (p.Unsigned) hasUnsignedParameters = true; if (p.Generic) hasGenericParameters = true; } } #endregion #region new public void Add(Parameter p) new public void Add(Parameter p) { Rebuild = true; base.Add(p); } #endregion public override string ToString() { return ToString(false); } #region public string ToString(bool override_unsafe_setting) /// /// Gets the parameter declaration string. /// /// /// If true, unsafe types will be used even if the Settings.Compatibility.NoPublicUnsafeFunctions flag is set. /// /// The parameter list of an opengl function in the form ( [parameters] ) public string ToString(bool override_unsafe_setting) { Rebuild |= unsafe_types_allowed != override_unsafe_setting; unsafe_types_allowed = override_unsafe_setting; if (!Rebuild) { return cache; } else { BuildCache(); return cache; } } #endregion #region void BuildToStringCache(bool override_unsafe_setting) void BuildToStringCache(bool override_unsafe_setting) { unsafe_types_allowed = override_unsafe_setting; StringBuilder sb = new StringBuilder(); sb.Append("("); if (Count > 0) { foreach (Parameter p in this) { sb.Append(p.ToString(override_unsafe_setting)); sb.Append(", "); } sb.Replace(", ", ")", sb.Length - 2, 2); } else sb.Append(")"); cache = sb.ToString(); } #endregion #region public string CallString() public string CallString() { if (!Rebuild) { return callStringCache; } else { BuildCache(); return callStringCache; } } #endregion #region private void BuildCallStringCache() /// /// Builds a call string instance and caches it. /// private void BuildCallStringCache() { StringBuilder sb = new StringBuilder(); sb.Append("("); if (Count > 0) { foreach (Parameter p in this) { if (p.Unchecked) sb.Append("unchecked((" + p.QualifiedType + ")"); if (!p.Generic && p.CurrentType != "object") { if (p.CurrentType.ToLower().Contains("string")) { sb.Append(String.Format("({0}{1})", p.QualifiedType, (p.Array > 0) ? "[]" : "")); } else if (p.IndirectionLevel != 0) { if (((Settings.Compatibility & Settings.Legacy.TurnVoidPointersToIntPtr) != Settings.Legacy.None) && p.Pointer != 0 && p.CurrentType.Contains("void")) sb.Append("(System.IntPtr)"); else { sb.Append("("); sb.Append(p.QualifiedType); for (int i = 0; i < p.IndirectionLevel; i++) sb.Append("*"); sb.Append(")"); } } else { sb.Append(String.Format("({0})", p.QualifiedType)); } } sb.Append(Utilities.Keywords.Contains(p.Name) ? "@" + p.Name : p.Name); if (p.Unchecked) sb.Append(")"); sb.Append(", "); } sb.Replace(", ", ")", sb.Length - 2, 2); } else { sb.Append(")"); } callStringCache = sb.ToString(); } #endregion public bool ContainsType(string type) { foreach (Parameter p in this) if (p.CurrentType == type) return true; return false; } #region IComparable Members public int CompareTo(ParameterCollection other) { if (Count < other.Count) { return -1; } else if (Count > other.Count) { return 1; } else { for (int i = 0; i < Count; i++) { int result = this[i].CompareTo(other[i]); if (result != 0) return result; } return 0; } } #endregion } } opentk-1.0.20101006/Source/Bind/ISpecWriter.cs0000664000175000017500000000142311453131434017410 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System.Collections.Generic; using Bind.Structures; namespace Bind { interface ISpecWriter { void WriteBindings(DelegateCollection delegates, FunctionCollection functions, EnumCollection enums); void WriteDelegates(BindStreamWriter sw, DelegateCollection delegates); void WriteWrappers(BindStreamWriter sw, FunctionCollection wrappers, Dictionary CSTypes); void WriteEnums(BindStreamWriter sw, EnumCollection enums); void WriteTypes(BindStreamWriter sw, Dictionary CSTypes); void WriteLicense(BindStreamWriter sw); } } opentk-1.0.20101006/Source/Bind/Wgl/0000775000175000017500000000000011453142152015411 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Wgl/Generator.cs0000664000175000017500000000353311453131430017667 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System.Diagnostics; using Bind.Structures; namespace Bind.Wgl { class Generator : GL2.Generator { #region --- Constructors --- public Generator() : base() { glTypemap = "Wgl/wgl.tm"; csTypemap = "csharp.tm"; enumSpec = "Wgl/wglenum.spec"; enumSpecExt = "Wgl/wglenumext.spec"; glSpec = "Wgl/wgl.spec"; glSpecExt = "Wgl/wglext.spec"; importsFile = "WglCore.cs"; delegatesFile = "WglDelegates.cs"; enumsFile = "WglEnums.cs"; wrappersFile = "Wgl.cs"; Settings.OutputClass = "Wgl"; Settings.FunctionPrefix = "wgl"; Settings.ConstantPrefix = "WGL_"; if (Settings.Compatibility == Settings.Legacy.Tao) { Settings.OutputNamespace = "Tao.Platform.Windows"; Settings.WindowsGDI = "Tao.Platform.Windows.Gdi"; } else { Settings.OutputNamespace = "OpenTK.Platform.Windows"; } } #endregion public override void Process() { Type.Initialize(glTypemap, csTypemap); Enum.Initialize(enumSpec, enumSpecExt); Function.Initialize(); Delegate.Initialize(glSpec, glSpecExt); // Process enums and delegates - create wrappers. Trace.WriteLine("Processing specs, please wait..."); //this.Translate(); WriteBindings( Delegate.Delegates, Function.Wrappers, Enum.GLEnums); } } } opentk-1.0.20101006/Source/Bind/Specifications/0000775000175000017500000000000011453142152017623 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/ES11/0000775000175000017500000000000011453142152020274 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/ES11/overrides.xml0000664000175000017500000000031411453131434023017 0ustar laneylaney String opentk-1.0.20101006/Source/Bind/Specifications/ES11/signatures.xml0000664000175000017500000027677711453131434023235 0ustar laneylaney opentk-1.0.20101006/Source/Bind/Specifications/ES20/0000775000175000017500000000000011453142152020274 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/ES20/overrides.xml0000664000175000017500000010167211453131434023030 0ustar laneylaney String StringName ShaderBinaryFormat String* BlendEquationMode BlendEquationMode BlendEquationMode BlendingFactorSrc BlendingFactorDest BlendingFactorSrc BlendingFactorDest BlendingFactorSrc BlendingFactorDest BufferTarget BufferTarget BufferUsage BufferTarget VertexAttribPointerType HintTarget HintMode StencilFunction CullFaceMode StencilFunction CullFaceMode StencilOp StencilOp StencilOp CullFaceMode StencilOp StencilOp StencilOp BufferTarget BufferParameterName ClearBufferMask ShaderType ShaderType ShaderPrecision CullFaceMode DepthFunction BeginMode BeginMode DrawElementsType EnableCap EnableCap EnableCap FrontFaceDirection ActiveAttribType ActiveUniformType ErrorCode ProgramParameter ShaderParameter StringName VertexAttribParameter VertexAttribPointerParameter TextureUnit TextureTarget TextureTarget TextureTarget GetTextureParameter TextureTarget TextureParameterName TextureTarget PixelInternalFormat PixelFormat PixelType TextureTarget PixelFormat PixelType TextureTarget PixelInternalFormat TextureTarget TextureTarget PixelInternalFormat TextureTarget PixelFormat PixelFormat PixelType FramebufferErrorCode FramebufferTarget FramebufferTarget RenderbufferTarget RenderbufferTarget RenderbufferInternalFormat RenderbufferTarget RenderbufferParameterName FramebufferTarget FramebufferSlot RenderbufferTarget FramebufferTarget FramebufferSlot TextureTarget FramebufferTarget FramebufferSlot FramebufferParameterName PixelStoreParameter GetPName GetPName GetPName ErrorCode in in opentk-1.0.20101006/Source/Bind/Specifications/ES20/signatures.xml0000664000175000017500000023064711453131434023217 0ustar laneylaney opentk-1.0.20101006/Source/Bind/Specifications/GL2/0000775000175000017500000000000011453142152020207 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/GL2/enum.spec0000664000175000017500000074423011453131430022036 0ustar laneylaney# This is the OpenGL and OpenGL ES enumerant registry. # # It is an extremely important file. Do not mess with it unless # you know what you're doing and have permission to do so. # ############################################################################### # # Before modifying this file, read the following: # # ONLY the Khronos API Registrar (Jon Leech, jon 'at' alumni.caltech.edu) # may allocate new enumerants outside the 'experimental' range described # below. Any modifications to this file not performed by the Registrar # are incompatible with the OpenGL API. The master copy of the registry, # showing up-to-date enumerant allocations, is maintained in the # OpenGL registry at # # http://www.opengl.org/registry/ # # The following guidelines are thus only for reference purposes # (unless you're the Registrar) # # Enumerant values for extensions CANNOT be chosen arbitrarily, since # the enumerant value space is shared by all GL implementations. It is # therefore imperative that the procedures described in this file be # followed carefully when allocating extension enum values. # # - Use tabs, not spaces. # # - When adding enum values for a new extension, use existing extensions # as a guide. # # - When a vendor has committed to releasing a new extension and needs to # allocate enum values for that extension, the vendor may request that the # ARB allocate a previously unallocated block of 16 enum values, in the # range 0x8000-0xFFFF, for the vendor's exclusive use. # # - The vendor that introduces an extension will allocate enum values for # it as if it is a single-vendor extension, even if it is a multi-vendor # (EXT) extension. # # - The file enum.spec is primarily a reference. The file enumext.spec # contains enumerants for all OpenGL 1.2 and OpenGL extensions in a form # used to generate . # # - If a vendor hasn't yet released an extension, just add a comment to # enum.spec that contains the name of the extension and the range of enum # values used by the extension. When the vendor releases the extension, # put the actual enum assignments in enum.spec and enumext.spec. # # - Allocate all of the enum values for an extension in a single contiguous # block. # # - If an extension is experimental, allocate temporary enum values in the # range 0x6000-0x8000 during development work. When the vendor commits to # releasing the extension, allocate permanent enum values (see below). # There are two reasons for this policy: # # 1. It is desirable to keep extension enum values tightly packed and to # make all of the enum values for an extension be contiguous. This is # possible only if permanent enum values for a new extension are not # allocated until the extension spec is stable and the number of new # enum values needed by the extension has therefore stopped changing. # # 2. OpenGL ARB policy is that a vendor may allocate a new block of 16 # extension enum values only if it has committed to releasing an # extension that will use values in that block. # # - To allocate a new block of permanent enum values for an extension, do the # following: # # 1. Start at the top of enum.spec and choose the first future_use # range that is not allocated to another vendor and is large enough # to contain the new block. This will almost certainly be the # 'Any_vendor_future_use' range near the end of enum.spec. This # process helps keep allocated enum values tightly packed into # the start of the 0x8000-0xFFFF range. # # 2. Allocate a block of enum values at the start of this range. If # the enum definitions are going into enumfuture.spec, add a comment # to enum.spec that contains the name of the extension and the range # of values in the new block. Use existing extensions as a guide. # # 3. Add the size of the block you just allocated to the start of the # chosen future_use range. If you have allocated the entire range, # eliminate its future_use entry. # # 4. Note that there are historical enum allocations above 0xFFFF, but # no new allocations will be made there in the forseeable future. # ############################################################################### Extensions define: VERSION_1_1 = 1 VERSION_1_2 = 1 VERSION_1_3 = 1 VERSION_1_4 = 1 VERSION_1_5 = 1 VERSION_2_0 = 1 VERSION_2_1 = 1 VERSION_3_0 = 1 VERSION_3_1 = 1 ARB_imaging = 1 EXT_abgr = 1 EXT_blend_color = 1 EXT_blend_logic_op = 1 EXT_blend_minmax = 1 EXT_blend_subtract = 1 EXT_cmyka = 1 EXT_convolution = 1 EXT_copy_texture = 1 EXT_histogram = 1 EXT_packed_pixels = 1 EXT_point_parameters = 1 EXT_polygon_offset = 1 EXT_rescale_normal = 1 EXT_shared_texture_palette = 1 EXT_subtexture = 1 EXT_texture = 1 EXT_texture3D = 1 EXT_texture_object = 1 EXT_vertex_array = 1 SGIS_detail_texture = 1 SGIS_fog_function = 1 SGIS_generate_mipmap = 1 SGIS_multisample = 1 SGIS_pixel_texture = 1 SGIS_point_line_texgen = 1 SGIS_point_parameters = 1 SGIS_sharpen_texture = 1 SGIS_texture4D = 1 SGIS_texture_border_clamp = 1 SGIS_texture_edge_clamp = 1 SGIS_texture_filter4 = 1 SGIS_texture_lod = 1 SGIS_texture_select = 1 SGIX_async = 1 SGIX_async_histogram = 1 SGIX_async_pixel = 1 SGIX_blend_alpha_minmax = 1 SGIX_calligraphic_fragment = 1 SGIX_clipmap = 1 SGIX_convolution_accuracy = 1 SGIX_depth_texture = 1 SGIX_flush_raster = 1 SGIX_fog_offset = 1 SGIX_fragment_lighting = 1 SGIX_framezoom = 1 SGIX_icc_texture = 1 SGIX_impact_pixel_texture = 1 SGIX_instruments = 1 SGIX_interlace = 1 SGIX_ir_instrument1 = 1 SGIX_list_priority = 1 SGIX_pixel_texture = 1 SGIX_pixel_tiles = 1 SGIX_polynomial_ffd = 1 SGIX_reference_plane = 1 SGIX_resample = 1 SGIX_scalebias_hint = 1 SGIX_shadow = 1 SGIX_shadow_ambient = 1 SGIX_sprite = 1 SGIX_subsample = 1 SGIX_tag_sample_buffer = 1 SGIX_texture_add_env = 1 SGIX_texture_coordinate_clamp = 1 SGIX_texture_lod_bias = 1 SGIX_texture_multi_buffer = 1 SGIX_texture_scale_bias = 1 SGIX_vertex_preclip = 1 SGIX_ycrcb = 1 SGI_color_matrix = 1 SGI_color_table = 1 SGI_texture_color_table = 1 ############################################################################### ############################################################################### # # Edited by Stefanos Apostolopoulos for OpenTK. Revision 3 # ############################################################################### StencilFace enum: use DrawBufferMode FRONT use DrawBufferMode BACK use DrawBufferMode FRONT_AND_BACK DrawElementsType enum: use DataType UNSIGNED_BYTE use DataType UNSIGNED_SHORT use DataType UNSIGNED_INT ############################################################################### AttribMask enum: CURRENT_BIT = 0x00000001 POINT_BIT = 0x00000002 LINE_BIT = 0x00000004 POLYGON_BIT = 0x00000008 POLYGON_STIPPLE_BIT = 0x00000010 PIXEL_MODE_BIT = 0x00000020 LIGHTING_BIT = 0x00000040 FOG_BIT = 0x00000080 DEPTH_BUFFER_BIT = 0x00000100 ACCUM_BUFFER_BIT = 0x00000200 STENCIL_BUFFER_BIT = 0x00000400 VIEWPORT_BIT = 0x00000800 TRANSFORM_BIT = 0x00001000 ENABLE_BIT = 0x00002000 COLOR_BUFFER_BIT = 0x00004000 HINT_BIT = 0x00008000 EVAL_BIT = 0x00010000 LIST_BIT = 0x00020000 TEXTURE_BIT = 0x00040000 SCISSOR_BIT = 0x00080000 ALL_ATTRIB_BITS = 0xFFFFFFFF #??? ALL_ATTRIB_BITS mask value changed to all-1s in OpenGL 1.3 - this affects covgl. # use ARB_multisample MULTISAMPLE_BIT_ARB # use EXT_multisample MULTISAMPLE_BIT_EXT # use 3DFX_multisample MULTISAMPLE_BIT_3DFX # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # MULTISAMPLE_BIT = 0x20000000 # ARB_multisample enum: # MULTISAMPLE_BIT_ARB = 0x20000000 # EXT_multisample enum: # MULTISAMPLE_BIT_EXT = 0x20000000 # 3DFX_multisample enum: # MULTISAMPLE_BIT_3DFX = 0x20000000 ############################################################################### ClearBufferMask enum: use AttribMask COLOR_BUFFER_BIT use AttribMask ACCUM_BUFFER_BIT use AttribMask STENCIL_BUFFER_BIT use AttribMask DEPTH_BUFFER_BIT ############################################################################### ClientAttribMask enum: CLIENT_PIXEL_STORE_BIT = 0x00000001 CLIENT_VERTEX_ARRAY_BIT = 0x00000002 CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF ############################################################################### # There's no obvious better place to put non-attribute-group mask bits # VERSION_3_0 enum: # use ARB_map_buffer_range MAP_READ_BIT # use ARB_map_buffer_range MAP_WRITE_BIT # use ARB_map_buffer_range MAP_INVALIDATE_RANGE_BIT # use ARB_map_buffer_range MAP_INVALIDATE_BUFFER_BIT # use ARB_map_buffer_range MAP_FLUSH_EXPLICIT_BIT # use ARB_map_buffer_range MAP_UNSYNCHRONIZED_BIT # ARB_map_buffer_range enum: # MAP_READ_BIT = 0x0001 # VERSION_3_0 / ARB_mbr # MAP_WRITE_BIT = 0x0002 # VERSION_3_0 / ARB_mbr # MAP_INVALIDATE_RANGE_BIT = 0x0004 # VERSION_3_0 / ARB_mbr # MAP_INVALIDATE_BUFFER_BIT = 0x0008 # VERSION_3_0 / ARB_mbr # MAP_FLUSH_EXPLICIT_BIT = 0x0010 # VERSION_3_0 / ARB_mbr # MAP_UNSYNCHRONIZED_BIT = 0x0020 # VERSION_3_0 / ARB_mbr ############################################################################### # VERSION_3_0 enum: # CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001 # VERSION_3_0 ############################################################################### Boolean enum: FALSE = 0 TRUE = 1 ############################################################################### BeginMode enum: POINTS = 0x0000 LINES = 0x0001 LINE_LOOP = 0x0002 LINE_STRIP = 0x0003 TRIANGLES = 0x0004 TRIANGLE_STRIP = 0x0005 TRIANGLE_FAN = 0x0006 QUADS = 0x0007 QUAD_STRIP = 0x0008 POLYGON = 0x0009 # ARB_geometry_shader4 enum: (additional; see below) # NV_geometry_program4 enum: (additional; see below) # LINES_ADJACENCY_ARB = 0x000A # LINES_ADJACENCY_EXT = 0x000A # LINE_STRIP_ADJACENCY_ARB = 0x000B # LINE_STRIP_ADJACENCY_EXT = 0x000B # TRIANGLES_ADJACENCY_ARB = 0x000C # TRIANGLES_ADJACENCY_EXT = 0x000C # TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D # TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D ############################################################################### AccumOp enum: ACCUM = 0x0100 LOAD = 0x0101 RETURN = 0x0102 MULT = 0x0103 ADD = 0x0104 ############################################################################### AlphaFunction enum: NEVER = 0x0200 LESS = 0x0201 EQUAL = 0x0202 LEQUAL = 0x0203 GREATER = 0x0204 NOTEQUAL = 0x0205 GEQUAL = 0x0206 ALWAYS = 0x0207 ############################################################################### # Edited for OpenTK BlendingFactorDest enum: ZERO = 0 ONE = 1 SRC_COLOR = 0x0300 ONE_MINUS_SRC_COLOR = 0x0301 DST_COLOR = 0x0306 ONE_MINUS_DST_COLOR = 0x0307 SRC_ALPHA = 0x0302 ONE_MINUS_SRC_ALPHA = 0x0303 DST_ALPHA = 0x0304 ONE_MINUS_DST_ALPHA = 0x0305 use EXT_blend_color CONSTANT_COLOR_EXT use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT use EXT_blend_color CONSTANT_ALPHA_EXT use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT ############################################################################### BlendingFactorSrc enum: use BlendingFactorDest ZERO use BlendingFactorDest ONE DST_COLOR = 0x0306 ONE_MINUS_DST_COLOR = 0x0307 SRC_ALPHA_SATURATE = 0x0308 use BlendingFactorDest SRC_ALPHA use BlendingFactorDest ONE_MINUS_SRC_ALPHA use BlendingFactorDest DST_ALPHA use BlendingFactorDest ONE_MINUS_DST_ALPHA use EXT_blend_color CONSTANT_COLOR_EXT use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT use EXT_blend_color CONSTANT_ALPHA_EXT use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT ############################################################################### BlendEquationModeEXT enum: use GetPName LOGIC_OP use EXT_blend_minmax FUNC_ADD_EXT use EXT_blend_minmax MIN_EXT use EXT_blend_minmax MAX_EXT use EXT_blend_subtract FUNC_SUBTRACT_EXT use EXT_blend_subtract FUNC_REVERSE_SUBTRACT_EXT use SGIX_blend_alpha_minmax ALPHA_MIN_SGIX use SGIX_blend_alpha_minmax ALPHA_MAX_SGIX ############################################################################### ColorMaterialFace enum: use DrawBufferMode FRONT use DrawBufferMode BACK use DrawBufferMode FRONT_AND_BACK ############################################################################### ColorMaterialParameter enum: use LightParameter AMBIENT use LightParameter DIFFUSE use LightParameter SPECULAR use MaterialParameter EMISSION use MaterialParameter AMBIENT_AND_DIFFUSE ############################################################################### ColorPointerType enum: use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT use DataType FLOAT use DataType DOUBLE ############################################################################### ColorTableParameterPNameSGI enum: use SGI_color_table COLOR_TABLE_SCALE_SGI use SGI_color_table COLOR_TABLE_BIAS_SGI ############################################################################### ColorTableTargetSGI enum: use SGI_color_table COLOR_TABLE_SGI use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI use SGI_color_table PROXY_COLOR_TABLE_SGI use SGI_color_table PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI use SGI_color_table PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI use SGI_texture_color_table PROXY_TEXTURE_COLOR_TABLE_SGI ############################################################################### ConvolutionBorderModeEXT enum: use EXT_convolution REDUCE_EXT ############################################################################### ConvolutionParameterEXT enum: use EXT_convolution CONVOLUTION_BORDER_MODE_EXT use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT ############################################################################### ConvolutionTargetEXT enum: use EXT_convolution CONVOLUTION_1D_EXT use EXT_convolution CONVOLUTION_2D_EXT ############################################################################### CullFaceMode enum: use DrawBufferMode FRONT use DrawBufferMode BACK use DrawBufferMode FRONT_AND_BACK ############################################################################### DepthFunction enum: use AlphaFunction NEVER use AlphaFunction LESS use AlphaFunction EQUAL use AlphaFunction LEQUAL use AlphaFunction GREATER use AlphaFunction NOTEQUAL use AlphaFunction GEQUAL use AlphaFunction ALWAYS ############################################################################### DrawBufferMode enum: NONE = 0 FRONT_LEFT = 0x0400 FRONT_RIGHT = 0x0401 BACK_LEFT = 0x0402 BACK_RIGHT = 0x0403 FRONT = 0x0404 BACK = 0x0405 LEFT = 0x0406 RIGHT = 0x0407 FRONT_AND_BACK = 0x0408 AUX0 = 0x0409 AUX1 = 0x040A AUX2 = 0x040B AUX3 = 0x040C # Aliases DrawBufferMode enum above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # NONE_OES = 0 ############################################################################### EnableCap enum: use GetPName FOG use GetPName LIGHTING use GetPName TEXTURE_1D use GetPName TEXTURE_2D use GetPName LINE_STIPPLE use GetPName POLYGON_STIPPLE use GetPName CULL_FACE use GetPName ALPHA_TEST use GetPName BLEND use GetPName INDEX_LOGIC_OP use GetPName COLOR_LOGIC_OP use GetPName DITHER use GetPName STENCIL_TEST use GetPName DEPTH_TEST use GetPName CLIP_PLANE0 use GetPName CLIP_PLANE1 use GetPName CLIP_PLANE2 use GetPName CLIP_PLANE3 use GetPName CLIP_PLANE4 use GetPName CLIP_PLANE5 use GetPName LIGHT0 use GetPName LIGHT1 use GetPName LIGHT2 use GetPName LIGHT3 use GetPName LIGHT4 use GetPName LIGHT5 use GetPName LIGHT6 use GetPName LIGHT7 use GetPName TEXTURE_GEN_S use GetPName TEXTURE_GEN_T use GetPName TEXTURE_GEN_R use GetPName TEXTURE_GEN_Q use GetPName MAP1_VERTEX_3 use GetPName MAP1_VERTEX_4 use GetPName MAP1_COLOR_4 use GetPName MAP1_INDEX use GetPName MAP1_NORMAL use GetPName MAP1_TEXTURE_COORD_1 use GetPName MAP1_TEXTURE_COORD_2 use GetPName MAP1_TEXTURE_COORD_3 use GetPName MAP1_TEXTURE_COORD_4 use GetPName MAP2_VERTEX_3 use GetPName MAP2_VERTEX_4 use GetPName MAP2_COLOR_4 use GetPName MAP2_INDEX use GetPName MAP2_NORMAL use GetPName MAP2_TEXTURE_COORD_1 use GetPName MAP2_TEXTURE_COORD_2 use GetPName MAP2_TEXTURE_COORD_3 use GetPName MAP2_TEXTURE_COORD_4 use GetPName POINT_SMOOTH use GetPName LINE_SMOOTH use GetPName POLYGON_SMOOTH use GetPName SCISSOR_TEST use GetPName COLOR_MATERIAL use GetPName NORMALIZE use GetPName AUTO_NORMAL use GetPName POLYGON_OFFSET_POINT use GetPName POLYGON_OFFSET_LINE use GetPName POLYGON_OFFSET_FILL use GetPName VERTEX_ARRAY use GetPName NORMAL_ARRAY use GetPName COLOR_ARRAY use GetPName INDEX_ARRAY use GetPName TEXTURE_COORD_ARRAY use GetPName EDGE_FLAG_ARRAY use EXT_convolution CONVOLUTION_1D_EXT use EXT_convolution CONVOLUTION_2D_EXT use EXT_convolution SEPARABLE_2D_EXT use EXT_histogram HISTOGRAM_EXT use EXT_histogram MINMAX_EXT use EXT_rescale_normal RESCALE_NORMAL_EXT use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT use EXT_texture3D TEXTURE_3D_EXT use ARB_multisample MULTISAMPLE use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS use SGIS_multisample SAMPLE_MASK_SGIS use SGIS_texture4D TEXTURE_4D_SGIS use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX use SGIX_fog_offset FOG_OFFSET_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX use SGIX_framezoom FRAMEZOOM_SGIX use SGIX_interlace INTERLACE_SGIX use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX use SGIS_pixel_texture PIXEL_TEXTURE_SGIS use SGIX_reference_plane REFERENCE_PLANE_SGIX use SGIX_sprite SPRITE_SGIX use SGI_color_table COLOR_TABLE_SGI use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI ############################################################################### ErrorCode enum: NO_ERROR = 0 INVALID_ENUM = 0x0500 INVALID_VALUE = 0x0501 INVALID_OPERATION = 0x0502 STACK_OVERFLOW = 0x0503 STACK_UNDERFLOW = 0x0504 OUT_OF_MEMORY = 0x0505 use EXT_histogram TABLE_TOO_LARGE_EXT use EXT_texture TEXTURE_TOO_LARGE_EXT # Additional error codes # VERSION_3_0 enum: # use ARB_framebuffer_object INVALID_FRAMEBUFFER_OPERATION # ARB_framebuffer_object enum: (note: no ARB suffixes) # INVALID_FRAMEBUFFER_OPERATION = 0x0506 # VERSION_3_0 / ARB_fbo # EXT_framebuffer_object enum: # INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506 # Aliases EXT_fbo enum above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506 ############################################################################### FeedbackType enum: 2D = 0x0600 3D = 0x0601 3D_COLOR = 0x0602 3D_COLOR_TEXTURE = 0x0603 4D_COLOR_TEXTURE = 0x0604 ############################################################################### FeedBackToken enum: PASS_THROUGH_TOKEN = 0x0700 POINT_TOKEN = 0x0701 LINE_TOKEN = 0x0702 POLYGON_TOKEN = 0x0703 BITMAP_TOKEN = 0x0704 DRAW_PIXEL_TOKEN = 0x0705 COPY_PIXEL_TOKEN = 0x0706 LINE_RESET_TOKEN = 0x0707 ############################################################################### FfdMaskSGIX enum: TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001 GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002 ############################################################################### FfdTargetSGIX enum: use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX ############################################################################### FogMode enum: use TextureMagFilter LINEAR EXP = 0x0800 EXP2 = 0x0801 use SGIS_fog_function FOG_FUNC_SGIS ############################################################################### FogParameter enum: use GetPName FOG_COLOR use GetPName FOG_DENSITY use GetPName FOG_END use GetPName FOG_INDEX use GetPName FOG_MODE use GetPName FOG_START use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX ############################################################################### FragmentLightModelParameterSGIX enum: use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX ############################################################################### FrontFaceDirection enum: CW = 0x0900 CCW = 0x0901 ############################################################################### GetColorTableParameterPNameSGI enum: use SGI_color_table COLOR_TABLE_SCALE_SGI use SGI_color_table COLOR_TABLE_BIAS_SGI use SGI_color_table COLOR_TABLE_FORMAT_SGI use SGI_color_table COLOR_TABLE_WIDTH_SGI use SGI_color_table COLOR_TABLE_RED_SIZE_SGI use SGI_color_table COLOR_TABLE_GREEN_SIZE_SGI use SGI_color_table COLOR_TABLE_BLUE_SIZE_SGI use SGI_color_table COLOR_TABLE_ALPHA_SIZE_SGI use SGI_color_table COLOR_TABLE_LUMINANCE_SIZE_SGI use SGI_color_table COLOR_TABLE_INTENSITY_SIZE_SGI ############################################################################### GetConvolutionParameter enum: use EXT_convolution CONVOLUTION_BORDER_MODE_EXT use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT use EXT_convolution CONVOLUTION_FORMAT_EXT use EXT_convolution CONVOLUTION_WIDTH_EXT use EXT_convolution CONVOLUTION_HEIGHT_EXT use EXT_convolution MAX_CONVOLUTION_WIDTH_EXT use EXT_convolution MAX_CONVOLUTION_HEIGHT_EXT ############################################################################### GetHistogramParameterPNameEXT enum: use EXT_histogram HISTOGRAM_WIDTH_EXT use EXT_histogram HISTOGRAM_FORMAT_EXT use EXT_histogram HISTOGRAM_RED_SIZE_EXT use EXT_histogram HISTOGRAM_GREEN_SIZE_EXT use EXT_histogram HISTOGRAM_BLUE_SIZE_EXT use EXT_histogram HISTOGRAM_ALPHA_SIZE_EXT use EXT_histogram HISTOGRAM_LUMINANCE_SIZE_EXT use EXT_histogram HISTOGRAM_SINK_EXT ############################################################################### GetMapQuery enum: COEFF = 0x0A00 ORDER = 0x0A01 DOMAIN = 0x0A02 ############################################################################### GetMinmaxParameterPNameEXT enum: use EXT_histogram MINMAX_FORMAT_EXT use EXT_histogram MINMAX_SINK_EXT ############################################################################### GetPixelMap enum: PIXEL_MAP_I_TO_I = 0x0C70 PIXEL_MAP_S_TO_S = 0x0C71 PIXEL_MAP_I_TO_R = 0x0C72 PIXEL_MAP_I_TO_G = 0x0C73 PIXEL_MAP_I_TO_B = 0x0C74 PIXEL_MAP_I_TO_A = 0x0C75 PIXEL_MAP_R_TO_R = 0x0C76 PIXEL_MAP_G_TO_G = 0x0C77 PIXEL_MAP_B_TO_B = 0x0C78 PIXEL_MAP_A_TO_A = 0x0C79 ############################################################################### GetPointervPName enum: VERTEX_ARRAY_POINTER = 0x808E NORMAL_ARRAY_POINTER = 0x808F COLOR_ARRAY_POINTER = 0x8090 INDEX_ARRAY_POINTER = 0x8091 TEXTURE_COORD_ARRAY_POINTER = 0x8092 EDGE_FLAG_ARRAY_POINTER = 0x8093 FEEDBACK_BUFFER_POINTER = 0x0DF0 SELECTION_BUFFER_POINTER = 0x0DF3 use SGIX_instruments INSTRUMENT_BUFFER_POINTER_SGIX ############################################################################### # the columns after the comment symbol (#) indicate: number of params, type # (F - float, D - double, I - integer) for the returned values GetPName enum: CURRENT_COLOR = 0x0B00 # 4 F CURRENT_INDEX = 0x0B01 # 1 F CURRENT_NORMAL = 0x0B02 # 3 F CURRENT_TEXTURE_COORDS = 0x0B03 # 4 F CURRENT_RASTER_COLOR = 0x0B04 # 4 F CURRENT_RASTER_INDEX = 0x0B05 # 1 F CURRENT_RASTER_TEXTURE_COORDS = 0x0B06 # 4 F CURRENT_RASTER_POSITION = 0x0B07 # 4 F CURRENT_RASTER_POSITION_VALID = 0x0B08 # 1 I CURRENT_RASTER_DISTANCE = 0x0B09 # 1 F POINT_SMOOTH = 0x0B10 # 1 I POINT_SIZE = 0x0B11 # 1 F POINT_SIZE_RANGE = 0x0B12 # 2 F POINT_SIZE_GRANULARITY = 0x0B13 # 1 F LINE_SMOOTH = 0x0B20 # 1 I LINE_WIDTH = 0x0B21 # 1 F LINE_WIDTH_RANGE = 0x0B22 # 2 F LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F LINE_STIPPLE = 0x0B24 # 1 I LINE_STIPPLE_PATTERN = 0x0B25 # 1 I LINE_STIPPLE_REPEAT = 0x0B26 # 1 I use VERSION_1_2 SMOOTH_POINT_SIZE_RANGE use VERSION_1_2 SMOOTH_POINT_SIZE_GRANULARITY use VERSION_1_2 SMOOTH_LINE_WIDTH_RANGE use VERSION_1_2 SMOOTH_LINE_WIDTH_GRANULARITY use VERSION_1_2 ALIASED_POINT_SIZE_RANGE use VERSION_1_2 ALIASED_LINE_WIDTH_RANGE LIST_MODE = 0x0B30 # 1 I MAX_LIST_NESTING = 0x0B31 # 1 I LIST_BASE = 0x0B32 # 1 I LIST_INDEX = 0x0B33 # 1 I POLYGON_MODE = 0x0B40 # 2 I POLYGON_SMOOTH = 0x0B41 # 1 I POLYGON_STIPPLE = 0x0B42 # 1 I EDGE_FLAG = 0x0B43 # 1 I CULL_FACE = 0x0B44 # 1 I CULL_FACE_MODE = 0x0B45 # 1 I FRONT_FACE = 0x0B46 # 1 I LIGHTING = 0x0B50 # 1 I LIGHT_MODEL_LOCAL_VIEWER = 0x0B51 # 1 I LIGHT_MODEL_TWO_SIDE = 0x0B52 # 1 I LIGHT_MODEL_AMBIENT = 0x0B53 # 4 F SHADE_MODEL = 0x0B54 # 1 I COLOR_MATERIAL_FACE = 0x0B55 # 1 I COLOR_MATERIAL_PARAMETER = 0x0B56 # 1 I COLOR_MATERIAL = 0x0B57 # 1 I FOG = 0x0B60 # 1 I FOG_INDEX = 0x0B61 # 1 I FOG_DENSITY = 0x0B62 # 1 F FOG_START = 0x0B63 # 1 F FOG_END = 0x0B64 # 1 F FOG_MODE = 0x0B65 # 1 I FOG_COLOR = 0x0B66 # 4 F DEPTH_RANGE = 0x0B70 # 2 F DEPTH_TEST = 0x0B71 # 1 I DEPTH_WRITEMASK = 0x0B72 # 1 I DEPTH_CLEAR_VALUE = 0x0B73 # 1 F DEPTH_FUNC = 0x0B74 # 1 I ACCUM_CLEAR_VALUE = 0x0B80 # 4 F STENCIL_TEST = 0x0B90 # 1 I STENCIL_CLEAR_VALUE = 0x0B91 # 1 I STENCIL_FUNC = 0x0B92 # 1 I STENCIL_VALUE_MASK = 0x0B93 # 1 I STENCIL_FAIL = 0x0B94 # 1 I STENCIL_PASS_DEPTH_FAIL = 0x0B95 # 1 I STENCIL_PASS_DEPTH_PASS = 0x0B96 # 1 I STENCIL_REF = 0x0B97 # 1 I STENCIL_WRITEMASK = 0x0B98 # 1 I MATRIX_MODE = 0x0BA0 # 1 I NORMALIZE = 0x0BA1 # 1 I VIEWPORT = 0x0BA2 # 4 I MODELVIEW_STACK_DEPTH = 0x0BA3 # 1 I PROJECTION_STACK_DEPTH = 0x0BA4 # 1 I TEXTURE_STACK_DEPTH = 0x0BA5 # 1 I MODELVIEW_MATRIX = 0x0BA6 # 16 F PROJECTION_MATRIX = 0x0BA7 # 16 F TEXTURE_MATRIX = 0x0BA8 # 16 F ATTRIB_STACK_DEPTH = 0x0BB0 # 1 I CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1 # 1 I ALPHA_TEST = 0x0BC0 # 1 I ALPHA_TEST_FUNC = 0x0BC1 # 1 I ALPHA_TEST_REF = 0x0BC2 # 1 F DITHER = 0x0BD0 # 1 I BLEND_DST = 0x0BE0 # 1 I BLEND_SRC = 0x0BE1 # 1 I BLEND = 0x0BE2 # 1 I LOGIC_OP_MODE = 0x0BF0 # 1 I INDEX_LOGIC_OP = 0x0BF1 # 1 I LOGIC_OP = 0x0BF1 # 1 I COLOR_LOGIC_OP = 0x0BF2 # 1 I AUX_BUFFERS = 0x0C00 # 1 I DRAW_BUFFER = 0x0C01 # 1 I READ_BUFFER = 0x0C02 # 1 I SCISSOR_BOX = 0x0C10 # 4 I SCISSOR_TEST = 0x0C11 # 1 I INDEX_CLEAR_VALUE = 0x0C20 # 1 I INDEX_WRITEMASK = 0x0C21 # 1 I COLOR_CLEAR_VALUE = 0x0C22 # 4 F COLOR_WRITEMASK = 0x0C23 # 4 I INDEX_MODE = 0x0C30 # 1 I RGBA_MODE = 0x0C31 # 1 I DOUBLEBUFFER = 0x0C32 # 1 I STEREO = 0x0C33 # 1 I RENDER_MODE = 0x0C40 # 1 I PERSPECTIVE_CORRECTION_HINT = 0x0C50 # 1 I POINT_SMOOTH_HINT = 0x0C51 # 1 I LINE_SMOOTH_HINT = 0x0C52 # 1 I POLYGON_SMOOTH_HINT = 0x0C53 # 1 I FOG_HINT = 0x0C54 # 1 I TEXTURE_GEN_S = 0x0C60 # 1 I TEXTURE_GEN_T = 0x0C61 # 1 I TEXTURE_GEN_R = 0x0C62 # 1 I TEXTURE_GEN_Q = 0x0C63 # 1 I PIXEL_MAP_I_TO_I_SIZE = 0x0CB0 # 1 I PIXEL_MAP_S_TO_S_SIZE = 0x0CB1 # 1 I PIXEL_MAP_I_TO_R_SIZE = 0x0CB2 # 1 I PIXEL_MAP_I_TO_G_SIZE = 0x0CB3 # 1 I PIXEL_MAP_I_TO_B_SIZE = 0x0CB4 # 1 I PIXEL_MAP_I_TO_A_SIZE = 0x0CB5 # 1 I PIXEL_MAP_R_TO_R_SIZE = 0x0CB6 # 1 I PIXEL_MAP_G_TO_G_SIZE = 0x0CB7 # 1 I PIXEL_MAP_B_TO_B_SIZE = 0x0CB8 # 1 I PIXEL_MAP_A_TO_A_SIZE = 0x0CB9 # 1 I UNPACK_SWAP_BYTES = 0x0CF0 # 1 I UNPACK_LSB_FIRST = 0x0CF1 # 1 I UNPACK_ROW_LENGTH = 0x0CF2 # 1 I UNPACK_SKIP_ROWS = 0x0CF3 # 1 I UNPACK_SKIP_PIXELS = 0x0CF4 # 1 I UNPACK_ALIGNMENT = 0x0CF5 # 1 I PACK_SWAP_BYTES = 0x0D00 # 1 I PACK_LSB_FIRST = 0x0D01 # 1 I PACK_ROW_LENGTH = 0x0D02 # 1 I PACK_SKIP_ROWS = 0x0D03 # 1 I PACK_SKIP_PIXELS = 0x0D04 # 1 I PACK_ALIGNMENT = 0x0D05 # 1 I MAP_COLOR = 0x0D10 # 1 I MAP_STENCIL = 0x0D11 # 1 I INDEX_SHIFT = 0x0D12 # 1 I INDEX_OFFSET = 0x0D13 # 1 I RED_SCALE = 0x0D14 # 1 F RED_BIAS = 0x0D15 # 1 F ZOOM_X = 0x0D16 # 1 F ZOOM_Y = 0x0D17 # 1 F GREEN_SCALE = 0x0D18 # 1 F GREEN_BIAS = 0x0D19 # 1 F BLUE_SCALE = 0x0D1A # 1 F BLUE_BIAS = 0x0D1B # 1 F ALPHA_SCALE = 0x0D1C # 1 F ALPHA_BIAS = 0x0D1D # 1 F DEPTH_SCALE = 0x0D1E # 1 F DEPTH_BIAS = 0x0D1F # 1 F MAX_EVAL_ORDER = 0x0D30 # 1 I MAX_LIGHTS = 0x0D31 # 1 I # VERSION_3_0 enum: (aliases) # MAX_CLIP_DISTANCES = 0x0D32 # VERSION_3_0 # alias GL_MAX_CLIP_PLANES MAX_CLIP_PLANES = 0x0D32 # 1 I MAX_TEXTURE_SIZE = 0x0D33 # 1 I MAX_PIXEL_MAP_TABLE = 0x0D34 # 1 I MAX_ATTRIB_STACK_DEPTH = 0x0D35 # 1 I MAX_MODELVIEW_STACK_DEPTH = 0x0D36 # 1 I MAX_NAME_STACK_DEPTH = 0x0D37 # 1 I MAX_PROJECTION_STACK_DEPTH = 0x0D38 # 1 I MAX_TEXTURE_STACK_DEPTH = 0x0D39 # 1 I MAX_VIEWPORT_DIMS = 0x0D3A # 2 F MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B # 1 I SUBPIXEL_BITS = 0x0D50 # 1 I INDEX_BITS = 0x0D51 # 1 I RED_BITS = 0x0D52 # 1 I GREEN_BITS = 0x0D53 # 1 I BLUE_BITS = 0x0D54 # 1 I ALPHA_BITS = 0x0D55 # 1 I DEPTH_BITS = 0x0D56 # 1 I STENCIL_BITS = 0x0D57 # 1 I ACCUM_RED_BITS = 0x0D58 # 1 I ACCUM_GREEN_BITS = 0x0D59 # 1 I ACCUM_BLUE_BITS = 0x0D5A # 1 I ACCUM_ALPHA_BITS = 0x0D5B # 1 I NAME_STACK_DEPTH = 0x0D70 # 1 I AUTO_NORMAL = 0x0D80 # 1 I MAP1_COLOR_4 = 0x0D90 # 1 I MAP1_INDEX = 0x0D91 # 1 I MAP1_NORMAL = 0x0D92 # 1 I MAP1_TEXTURE_COORD_1 = 0x0D93 # 1 I MAP1_TEXTURE_COORD_2 = 0x0D94 # 1 I MAP1_TEXTURE_COORD_3 = 0x0D95 # 1 I MAP1_TEXTURE_COORD_4 = 0x0D96 # 1 I MAP1_VERTEX_3 = 0x0D97 # 1 I MAP1_VERTEX_4 = 0x0D98 # 1 I MAP2_COLOR_4 = 0x0DB0 # 1 I MAP2_INDEX = 0x0DB1 # 1 I MAP2_NORMAL = 0x0DB2 # 1 I MAP2_TEXTURE_COORD_1 = 0x0DB3 # 1 I MAP2_TEXTURE_COORD_2 = 0x0DB4 # 1 I MAP2_TEXTURE_COORD_3 = 0x0DB5 # 1 I MAP2_TEXTURE_COORD_4 = 0x0DB6 # 1 I MAP2_VERTEX_3 = 0x0DB7 # 1 I MAP2_VERTEX_4 = 0x0DB8 # 1 I MAP1_GRID_DOMAIN = 0x0DD0 # 2 F MAP1_GRID_SEGMENTS = 0x0DD1 # 1 I MAP2_GRID_DOMAIN = 0x0DD2 # 4 F MAP2_GRID_SEGMENTS = 0x0DD3 # 2 I TEXTURE_1D = 0x0DE0 # 1 I TEXTURE_2D = 0x0DE1 # 1 I FEEDBACK_BUFFER_SIZE = 0x0DF1 # 1 I FEEDBACK_BUFFER_TYPE = 0x0DF2 # 1 I SELECTION_BUFFER_SIZE = 0x0DF4 # 1 I POLYGON_OFFSET_UNITS = 0x2A00 # 1 F POLYGON_OFFSET_POINT = 0x2A01 # 1 I POLYGON_OFFSET_LINE = 0x2A02 # 1 I POLYGON_OFFSET_FILL = 0x8037 # 1 I POLYGON_OFFSET_FACTOR = 0x8038 # 1 F TEXTURE_BINDING_1D = 0x8068 # 1 I TEXTURE_BINDING_2D = 0x8069 # 1 I TEXTURE_BINDING_3D = 0x806A # 1 I VERTEX_ARRAY = 0x8074 # 1 I NORMAL_ARRAY = 0x8075 # 1 I COLOR_ARRAY = 0x8076 # 1 I INDEX_ARRAY = 0x8077 # 1 I TEXTURE_COORD_ARRAY = 0x8078 # 1 I EDGE_FLAG_ARRAY = 0x8079 # 1 I VERTEX_ARRAY_SIZE = 0x807A # 1 I VERTEX_ARRAY_TYPE = 0x807B # 1 I VERTEX_ARRAY_STRIDE = 0x807C # 1 I NORMAL_ARRAY_TYPE = 0x807E # 1 I NORMAL_ARRAY_STRIDE = 0x807F # 1 I COLOR_ARRAY_SIZE = 0x8081 # 1 I COLOR_ARRAY_TYPE = 0x8082 # 1 I COLOR_ARRAY_STRIDE = 0x8083 # 1 I INDEX_ARRAY_TYPE = 0x8085 # 1 I INDEX_ARRAY_STRIDE = 0x8086 # 1 I TEXTURE_COORD_ARRAY_SIZE = 0x8088 # 1 I TEXTURE_COORD_ARRAY_TYPE = 0x8089 # 1 I TEXTURE_COORD_ARRAY_STRIDE = 0x808A # 1 I EDGE_FLAG_ARRAY_STRIDE = 0x808C # 1 I use ClipPlaneName CLIP_PLANE0 use ClipPlaneName CLIP_PLANE1 use ClipPlaneName CLIP_PLANE2 use ClipPlaneName CLIP_PLANE3 use ClipPlaneName CLIP_PLANE4 use ClipPlaneName CLIP_PLANE5 use LightName LIGHT0 use LightName LIGHT1 use LightName LIGHT2 use LightName LIGHT3 use LightName LIGHT4 use LightName LIGHT5 use LightName LIGHT6 use LightName LIGHT7 # use ARB_transpose_matrix TRANSPOSE_MODELVIEW_MATRIX_ARB # use ARB_transpose_matrix TRANSPOSE_PROJECTION_MATRIX_ARB # use ARB_transpose_matrix TRANSPOSE_TEXTURE_MATRIX_ARB # use ARB_transpose_matrix TRANSPOSE_COLOR_MATRIX_ARB use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL use EXT_blend_color BLEND_COLOR_EXT use EXT_blend_minmax BLEND_EQUATION_EXT use EXT_cmyka PACK_CMYK_HINT_EXT use EXT_cmyka UNPACK_CMYK_HINT_EXT use EXT_convolution CONVOLUTION_1D_EXT use EXT_convolution CONVOLUTION_2D_EXT use EXT_convolution SEPARABLE_2D_EXT use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT use EXT_histogram HISTOGRAM_EXT use EXT_histogram MINMAX_EXT use EXT_polygon_offset POLYGON_OFFSET_BIAS_EXT use EXT_rescale_normal RESCALE_NORMAL_EXT use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT use EXT_texture_object TEXTURE_3D_BINDING_EXT use EXT_texture3D PACK_SKIP_IMAGES_EXT use EXT_texture3D PACK_IMAGE_HEIGHT_EXT use EXT_texture3D UNPACK_SKIP_IMAGES_EXT use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT use EXT_texture3D TEXTURE_3D_EXT use EXT_texture3D MAX_3D_TEXTURE_SIZE_EXT use EXT_vertex_array VERTEX_ARRAY_COUNT_EXT use EXT_vertex_array NORMAL_ARRAY_COUNT_EXT use EXT_vertex_array COLOR_ARRAY_COUNT_EXT use EXT_vertex_array INDEX_ARRAY_COUNT_EXT use EXT_vertex_array TEXTURE_COORD_ARRAY_COUNT_EXT use EXT_vertex_array EDGE_FLAG_ARRAY_COUNT_EXT use SGIS_detail_texture DETAIL_TEXTURE_2D_BINDING_SGIS use SGIS_fog_function FOG_FUNC_POINTS_SGIS use SGIS_fog_function MAX_FOG_FUNC_POINTS_SGIS use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS use SGIS_multisample MULTISAMPLE_SGIS use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS use SGIS_multisample SAMPLE_MASK_SGIS use SGIS_multisample SAMPLE_BUFFERS_SGIS use SGIS_multisample SAMPLES_SGIS use SGIS_multisample SAMPLE_MASK_VALUE_SGIS use SGIS_multisample SAMPLE_MASK_INVERT_SGIS use SGIS_multisample SAMPLE_PATTERN_SGIS use SGIS_pixel_texture PIXEL_TEXTURE_SGIS use SGIS_point_parameters POINT_SIZE_MIN_SGIS use SGIS_point_parameters POINT_SIZE_MAX_SGIS use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS use SGIS_texture4D TEXTURE_4D_SGIS use SGIS_texture4D MAX_4D_TEXTURE_SIZE_SGIS use SGIS_texture4D TEXTURE_4D_BINDING_SGIS use SGIX_async ASYNC_MARKER_SGIX use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX use SGIX_async_histogram MAX_ASYNC_HISTOGRAM_SGIX use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX use SGIX_async_pixel MAX_ASYNC_TEX_IMAGE_SGIX use SGIX_async_pixel MAX_ASYNC_DRAW_PIXELS_SGIX use SGIX_async_pixel MAX_ASYNC_READ_PIXELS_SGIX use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX use SGIX_clipmap MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX use SGIX_clipmap MAX_CLIPMAP_DEPTH_SGIX use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX use SGIX_fog_offset FOG_OFFSET_SGIX use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_FACE_SGIX use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX use SGIX_fragment_lighting MAX_FRAGMENT_LIGHTS_SGIX use SGIX_fragment_lighting MAX_ACTIVE_LIGHTS_SGIX use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX use SGIX_framezoom FRAMEZOOM_SGIX use SGIX_framezoom FRAMEZOOM_FACTOR_SGIX use SGIX_framezoom MAX_FRAMEZOOM_FACTOR_SGIX use SGIX_instruments INSTRUMENT_MEASUREMENTS_SGIX use SGIX_interlace INTERLACE_SGIX use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX use SGIX_pixel_texture PIXEL_TEX_GEN_MODE_SGIX use SGIX_pixel_tiles PIXEL_TILE_BEST_ALIGNMENT_SGIX use SGIX_pixel_tiles PIXEL_TILE_CACHE_INCREMENT_SGIX use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX use SGIX_polynomial_ffd DEFORMATIONS_MASK_SGIX use SGIX_reference_plane REFERENCE_PLANE_EQUATION_SGIX use SGIX_reference_plane REFERENCE_PLANE_SGIX use SGIX_sprite SPRITE_SGIX use SGIX_sprite SPRITE_MODE_SGIX use SGIX_sprite SPRITE_AXIS_SGIX use SGIX_sprite SPRITE_TRANSLATION_SGIX use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX use SGIX_resample PACK_RESAMPLE_SGIX use SGIX_resample UNPACK_RESAMPLE_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_RANGE_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_RANGE_SGIX use SGIX_vertex_preclip VERTEX_PRECLIP_SGIX use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX use SGI_color_matrix COLOR_MATRIX_SGI use SGI_color_matrix COLOR_MATRIX_STACK_DEPTH_SGI use SGI_color_matrix MAX_COLOR_MATRIX_STACK_DEPTH_SGI use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI use SGI_color_table COLOR_TABLE_SGI use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI # Revision 1 use VERSION_1_3 SAMPLES use VERSION_1_3 SAMPLE_BUFFERS ############################################################################### GetTextureParameter enum: use TextureParameterName TEXTURE_MAG_FILTER use TextureParameterName TEXTURE_MIN_FILTER use TextureParameterName TEXTURE_WRAP_S use TextureParameterName TEXTURE_WRAP_T TEXTURE_WIDTH = 0x1000 TEXTURE_HEIGHT = 0x1001 TEXTURE_INTERNAL_FORMAT = 0x1003 TEXTURE_COMPONENTS = 0x1003 TEXTURE_BORDER_COLOR = 0x1004 TEXTURE_BORDER = 0x1005 TEXTURE_RED_SIZE = 0x805C TEXTURE_GREEN_SIZE = 0x805D TEXTURE_BLUE_SIZE = 0x805E TEXTURE_ALPHA_SIZE = 0x805F TEXTURE_LUMINANCE_SIZE = 0x8060 TEXTURE_INTENSITY_SIZE = 0x8061 TEXTURE_PRIORITY = 0x8066 TEXTURE_RESIDENT = 0x8067 use EXT_texture3D TEXTURE_DEPTH_EXT use EXT_texture3D TEXTURE_WRAP_R_EXT use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS use SGIS_detail_texture DETAIL_TEXTURE_FUNC_POINTS_SGIS use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS use SGIS_sharpen_texture SHARPEN_TEXTURE_FUNC_POINTS_SGIS use SGIS_texture_filter4 TEXTURE_FILTER4_SIZE_SGIS use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS use SGIS_texture4D TEXTURE_4DSIZE_SGIS use SGIS_texture4D TEXTURE_WRAP_Q_SGIS use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX use SGIX_shadow TEXTURE_COMPARE_SGIX use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX use SGIX_shadow TEXTURE_LEQUAL_R_SGIX use SGIX_shadow TEXTURE_GEQUAL_R_SGIX use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX # Revision 2 use VERSION_1_3 TEXTURE_COMPRESSED ############################################################################### HintMode enum: DONT_CARE = 0x1100 FASTEST = 0x1101 NICEST = 0x1102 ############################################################################### HintTarget enum: use GetPName PERSPECTIVE_CORRECTION_HINT use GetPName POINT_SMOOTH_HINT use GetPName LINE_SMOOTH_HINT use GetPName POLYGON_SMOOTH_HINT use GetPName FOG_HINT use EXT_cmyka PACK_CMYK_HINT_EXT use EXT_cmyka UNPACK_CMYK_HINT_EXT use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX use SGIX_texture_multi_buffer TEXTURE_MULTI_BUFFER_HINT_SGIX use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX ############################################################################### HistogramTargetEXT enum: use EXT_histogram HISTOGRAM_EXT use EXT_histogram PROXY_HISTOGRAM_EXT ############################################################################### IndexPointerType enum: use DataType SHORT use DataType INT use DataType FLOAT use DataType DOUBLE ############################################################################### LightEnvModeSGIX enum: use StencilOp REPLACE use TextureEnvMode MODULATE use AccumOp ADD ############################################################################### LightEnvParameterSGIX enum: use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX ############################################################################### LightModelColorControl enum: use VERSION_1_2 SINGLE_COLOR use VERSION_1_2 SEPARATE_SPECULAR_COLOR ############################################################################### LightModelParameter enum: use GetPName LIGHT_MODEL_AMBIENT use GetPName LIGHT_MODEL_LOCAL_VIEWER use GetPName LIGHT_MODEL_TWO_SIDE use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL ############################################################################### LightParameter enum: AMBIENT = 0x1200 DIFFUSE = 0x1201 SPECULAR = 0x1202 POSITION = 0x1203 SPOT_DIRECTION = 0x1204 SPOT_EXPONENT = 0x1205 SPOT_CUTOFF = 0x1206 CONSTANT_ATTENUATION = 0x1207 LINEAR_ATTENUATION = 0x1208 QUADRATIC_ATTENUATION = 0x1209 ############################################################################### ListMode enum: COMPILE = 0x1300 COMPILE_AND_EXECUTE = 0x1301 ############################################################################### DataType enum: BYTE = 0x1400 UNSIGNED_BYTE = 0x1401 SHORT = 0x1402 UNSIGNED_SHORT = 0x1403 INT = 0x1404 UNSIGNED_INT = 0x1405 FLOAT = 0x1406 2_BYTES = 0x1407 3_BYTES = 0x1408 4_BYTES = 0x1409 DOUBLE = 0x140A DOUBLE_EXT = 0x140A # OES_byte_coordinates: (OpenGL ES only) # use DataType BYTE # OES_element_index_uint enum: (OpenGL ES only) # use DataType UNSIGNED_INT # OES_texture_float enum: (OpenGL ES only; additional; see below) # use DataType FLOAT # VERSION_3_0 enum: # use ARB_half_float_vertex HALF_FLOAT # ARB_half_float_vertex enum: (note: no ARB suffixes) # HALF_FLOAT = 0x140B # VERSION_3_0 / ARB_half_float_vertex # ARB_half_float_pixel enum: # HALF_FLOAT_ARB = 0x140B # NV_half_float enum: # HALF_FLOAT_NV = 0x140B # OES_fixed_point enum: (OpenGL ES only) # FIXED_OES = 0x140C ############################################################################### ListNameType enum: use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT use DataType FLOAT use DataType 2_BYTES use DataType 3_BYTES use DataType 4_BYTES ############################################################################### ListParameterName enum: use SGIX_list_priority LIST_PRIORITY_SGIX ############################################################################### LogicOp enum: CLEAR = 0x1500 AND = 0x1501 AND_REVERSE = 0x1502 COPY = 0x1503 AND_INVERTED = 0x1504 NOOP = 0x1505 XOR = 0x1506 OR = 0x1507 NOR = 0x1508 EQUIV = 0x1509 INVERT = 0x150A OR_REVERSE = 0x150B COPY_INVERTED = 0x150C OR_INVERTED = 0x150D NAND = 0x150E SET = 0x150F ############################################################################### MapTarget enum: use GetPName MAP1_COLOR_4 use GetPName MAP1_INDEX use GetPName MAP1_NORMAL use GetPName MAP1_TEXTURE_COORD_1 use GetPName MAP1_TEXTURE_COORD_2 use GetPName MAP1_TEXTURE_COORD_3 use GetPName MAP1_TEXTURE_COORD_4 use GetPName MAP1_VERTEX_3 use GetPName MAP1_VERTEX_4 use GetPName MAP2_COLOR_4 use GetPName MAP2_INDEX use GetPName MAP2_NORMAL use GetPName MAP2_TEXTURE_COORD_1 use GetPName MAP2_TEXTURE_COORD_2 use GetPName MAP2_TEXTURE_COORD_3 use GetPName MAP2_TEXTURE_COORD_4 use GetPName MAP2_VERTEX_3 use GetPName MAP2_VERTEX_4 use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX ############################################################################### MaterialFace enum: use DrawBufferMode FRONT use DrawBufferMode BACK use DrawBufferMode FRONT_AND_BACK ############################################################################### MaterialParameter enum: EMISSION = 0x1600 SHININESS = 0x1601 AMBIENT_AND_DIFFUSE = 0x1602 COLOR_INDEXES = 0x1603 use LightParameter AMBIENT use LightParameter DIFFUSE use LightParameter SPECULAR ############################################################################### MatrixMode enum: MODELVIEW = 0x1700 PROJECTION = 0x1701 TEXTURE = 0x1702 ############################################################################### MeshMode1 enum: use PolygonMode POINT use PolygonMode LINE ############################################################################### MeshMode2 enum: use PolygonMode POINT use PolygonMode LINE use PolygonMode FILL ############################################################################### MinmaxTargetEXT enum: use EXT_histogram MINMAX_EXT ############################################################################### NormalPointerType enum: use DataType BYTE use DataType SHORT use DataType INT use DataType FLOAT use DataType DOUBLE ############################################################################### PixelCopyType enum: COLOR = 0x1800 DEPTH = 0x1801 STENCIL = 0x1802 ############################################################################### PixelFormat enum: COLOR_INDEX = 0x1900 STENCIL_INDEX = 0x1901 DEPTH_COMPONENT = 0x1902 RED = 0x1903 GREEN = 0x1904 BLUE = 0x1905 ALPHA = 0x1906 RGB = 0x1907 RGBA = 0x1908 LUMINANCE = 0x1909 LUMINANCE_ALPHA = 0x190A use EXT_abgr ABGR_EXT use EXT_cmyka CMYK_EXT use EXT_cmyka CMYKA_EXT use SGIX_icc_texture R5_G6_B5_ICC_SGIX use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX use SGIX_icc_texture ALPHA16_ICC_SGIX use SGIX_icc_texture LUMINANCE16_ICC_SGIX use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX use SGIX_ycrcb YCRCB_422_SGIX use SGIX_ycrcb YCRCB_444_SGIX # OES_depth_texture enum: (OpenGL ES only) # use DataType UNSIGNED_SHORT # use DataType UNSIGNED_INT # use PixelFormat DEPTH_COMPONENT ############################################################################### PixelMap enum: use GetPixelMap PIXEL_MAP_I_TO_I use GetPixelMap PIXEL_MAP_S_TO_S use GetPixelMap PIXEL_MAP_I_TO_R use GetPixelMap PIXEL_MAP_I_TO_G use GetPixelMap PIXEL_MAP_I_TO_B use GetPixelMap PIXEL_MAP_I_TO_A use GetPixelMap PIXEL_MAP_R_TO_R use GetPixelMap PIXEL_MAP_G_TO_G use GetPixelMap PIXEL_MAP_B_TO_B use GetPixelMap PIXEL_MAP_A_TO_A ############################################################################### PixelStoreParameter enum: use GetPName UNPACK_SWAP_BYTES use GetPName UNPACK_LSB_FIRST use GetPName UNPACK_ROW_LENGTH use GetPName UNPACK_SKIP_ROWS use GetPName UNPACK_SKIP_PIXELS use GetPName UNPACK_ALIGNMENT use GetPName PACK_SWAP_BYTES use GetPName PACK_LSB_FIRST use GetPName PACK_ROW_LENGTH use GetPName PACK_SKIP_ROWS use GetPName PACK_SKIP_PIXELS use GetPName PACK_ALIGNMENT use EXT_texture3D PACK_SKIP_IMAGES_EXT use EXT_texture3D PACK_IMAGE_HEIGHT_EXT use EXT_texture3D UNPACK_SKIP_IMAGES_EXT use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX use SGIX_resample PACK_RESAMPLE_SGIX use SGIX_resample UNPACK_RESAMPLE_SGIX ############################################################################### PixelStoreResampleMode enum: use SGIX_resample RESAMPLE_REPLICATE_SGIX use SGIX_resample RESAMPLE_ZERO_FILL_SGIX use SGIX_resample RESAMPLE_DECIMATE_SGIX ############################################################################### PixelStoreSubsampleRate enum: use SGIX_subsample PIXEL_SUBSAMPLE_4444_SGIX use SGIX_subsample PIXEL_SUBSAMPLE_2424_SGIX use SGIX_subsample PIXEL_SUBSAMPLE_4242_SGIX ############################################################################### PixelTexGenMode enum: use DrawBufferMode NONE use PixelFormat RGB use PixelFormat RGBA use PixelFormat LUMINANCE use PixelFormat LUMINANCE_ALPHA use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_MS_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_LS_SGIX ############################################################################### PixelTexGenParameterNameSGIS enum: use SGIS_pixel_texture PIXEL_FRAGMENT_RGB_SOURCE_SGIS use SGIS_pixel_texture PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS ############################################################################### PixelTransferParameter enum: use GetPName MAP_COLOR use GetPName MAP_STENCIL use GetPName INDEX_SHIFT use GetPName INDEX_OFFSET use GetPName RED_SCALE use GetPName RED_BIAS use GetPName GREEN_SCALE use GetPName GREEN_BIAS use GetPName BLUE_SCALE use GetPName BLUE_BIAS use GetPName ALPHA_SCALE use GetPName ALPHA_BIAS use GetPName DEPTH_SCALE use GetPName DEPTH_BIAS use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI ############################################################################### PixelType enum: BITMAP = 0x1A00 use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT use DataType FLOAT use EXT_packed_pixels UNSIGNED_BYTE_3_3_2_EXT use EXT_packed_pixels UNSIGNED_SHORT_4_4_4_4_EXT use EXT_packed_pixels UNSIGNED_SHORT_5_5_5_1_EXT use EXT_packed_pixels UNSIGNED_INT_8_8_8_8_EXT use EXT_packed_pixels UNSIGNED_INT_10_10_10_2_EXT ############################################################################### PointParameterNameSGIS enum: use SGIS_point_parameters POINT_SIZE_MIN_SGIS use SGIS_point_parameters POINT_SIZE_MAX_SGIS use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS ############################################################################### PolygonMode enum: POINT = 0x1B00 LINE = 0x1B01 FILL = 0x1B02 ############################################################################### ReadBufferMode enum: use DrawBufferMode FRONT_LEFT use DrawBufferMode FRONT_RIGHT use DrawBufferMode BACK_LEFT use DrawBufferMode BACK_RIGHT use DrawBufferMode FRONT use DrawBufferMode BACK use DrawBufferMode LEFT use DrawBufferMode RIGHT use DrawBufferMode AUX0 use DrawBufferMode AUX1 use DrawBufferMode AUX2 use DrawBufferMode AUX3 ############################################################################### RenderingMode enum: RENDER = 0x1C00 FEEDBACK = 0x1C01 SELECT = 0x1C02 ############################################################################### SamplePatternSGIS enum: use SGIS_multisample 1PASS_SGIS use SGIS_multisample 2PASS_0_SGIS use SGIS_multisample 2PASS_1_SGIS use SGIS_multisample 4PASS_0_SGIS use SGIS_multisample 4PASS_1_SGIS use SGIS_multisample 4PASS_2_SGIS use SGIS_multisample 4PASS_3_SGIS ############################################################################### SeparableTargetEXT enum: use EXT_convolution SEPARABLE_2D_EXT ############################################################################### ShadingModel enum: FLAT = 0x1D00 SMOOTH = 0x1D01 ############################################################################### StencilFunction enum: use AlphaFunction NEVER use AlphaFunction LESS use AlphaFunction EQUAL use AlphaFunction LEQUAL use AlphaFunction GREATER use AlphaFunction NOTEQUAL use AlphaFunction GEQUAL use AlphaFunction ALWAYS ############################################################################### StencilOp enum: use BlendingFactorDest ZERO KEEP = 0x1E00 REPLACE = 0x1E01 INCR = 0x1E02 DECR = 0x1E03 use LogicOp INVERT ############################################################################### StringName enum: VENDOR = 0x1F00 RENDERER = 0x1F01 VERSION = 0x1F02 EXTENSIONS = 0x1F03 ############################################################################### TexCoordPointerType enum: use DataType SHORT use DataType INT use DataType FLOAT use DataType DOUBLE ############################################################################### TextureCoordName enum: S = 0x2000 T = 0x2001 R = 0x2002 Q = 0x2003 ############################################################################### TextureEnvMode enum: MODULATE = 0x2100 DECAL = 0x2101 REPLACE = 0x1e01 use GetPName BLEND use EXT_texture REPLACE_EXT use AccumOp ADD use SGIX_texture_add_env TEXTURE_ENV_BIAS_SGIX ############################################################################### TextureEnvParameter enum: TEXTURE_ENV_MODE = 0x2200 TEXTURE_ENV_COLOR = 0x2201 ############################################################################### TextureEnvTarget enum: TEXTURE_ENV = 0x2300 ############################################################################### TextureFilterFuncSGIS enum: use SGIS_texture_filter4 FILTER4_SGIS ############################################################################### TextureGenMode enum: EYE_LINEAR = 0x2400 OBJECT_LINEAR = 0x2401 SPHERE_MAP = 0x2402 use SGIS_point_line_texgen EYE_DISTANCE_TO_POINT_SGIS use SGIS_point_line_texgen OBJECT_DISTANCE_TO_POINT_SGIS use SGIS_point_line_texgen EYE_DISTANCE_TO_LINE_SGIS use SGIS_point_line_texgen OBJECT_DISTANCE_TO_LINE_SGIS ############################################################################### TextureGenParameter enum: TEXTURE_GEN_MODE = 0x2500 OBJECT_PLANE = 0x2501 EYE_PLANE = 0x2502 use SGIS_point_line_texgen EYE_POINT_SGIS use SGIS_point_line_texgen OBJECT_POINT_SGIS use SGIS_point_line_texgen EYE_LINE_SGIS use SGIS_point_line_texgen OBJECT_LINE_SGIS # Aliases TextureGenParameter enum above # OES_texture_cube_map enum: (OpenGL ES only; additional; see below) # TEXTURE_GEN_MODE = 0x2500 ############################################################################### TextureMagFilter enum: NEAREST = 0x2600 LINEAR = 0x2601 use SGIS_detail_texture LINEAR_DETAIL_SGIS use SGIS_detail_texture LINEAR_DETAIL_ALPHA_SGIS use SGIS_detail_texture LINEAR_DETAIL_COLOR_SGIS use SGIS_sharpen_texture LINEAR_SHARPEN_SGIS use SGIS_sharpen_texture LINEAR_SHARPEN_ALPHA_SGIS use SGIS_sharpen_texture LINEAR_SHARPEN_COLOR_SGIS use SGIS_texture_filter4 FILTER4_SGIS use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX ############################################################################### TextureMinFilter enum: use TextureMagFilter NEAREST use TextureMagFilter LINEAR NEAREST_MIPMAP_NEAREST = 0x2700 LINEAR_MIPMAP_NEAREST = 0x2701 NEAREST_MIPMAP_LINEAR = 0x2702 LINEAR_MIPMAP_LINEAR = 0x2703 use SGIS_texture_filter4 FILTER4_SGIS use SGIX_clipmap LINEAR_CLIPMAP_LINEAR_SGIX use SGIX_clipmap NEAREST_CLIPMAP_NEAREST_SGIX use SGIX_clipmap NEAREST_CLIPMAP_LINEAR_SGIX use SGIX_clipmap LINEAR_CLIPMAP_NEAREST_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX ############################################################################### TextureParameterName enum: TEXTURE_MAG_FILTER = 0x2800 TEXTURE_MIN_FILTER = 0x2801 TEXTURE_WRAP_S = 0x2802 TEXTURE_WRAP_T = 0x2803 use GetTextureParameter TEXTURE_BORDER_COLOR use GetTextureParameter TEXTURE_PRIORITY use EXT_texture3D TEXTURE_WRAP_R_EXT use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS use SGIS_texture4D TEXTURE_WRAP_Q_SGIS use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX use SGIX_shadow TEXTURE_COMPARE_SGIX use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX ############################################################################### TextureTarget enum: use GetPName TEXTURE_1D use GetPName TEXTURE_2D PROXY_TEXTURE_1D = 0x8063 PROXY_TEXTURE_2D = 0x8064 TEXTURE_3D = 0x806F # use EXT_texture3D TEXTURE_3D_EXT PROXY_TEXTURE_3D = 0x8070 # use EXT_texture3D PROXY_TEXTURE_3D_EXT use SGIS_detail_texture DETAIL_TEXTURE_2D_SGIS use SGIS_texture4D TEXTURE_4D_SGIS use SGIS_texture4D PROXY_TEXTURE_4D_SGIS TEXTURE_MIN_LOD = 0x813A # use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS TEXTURE_MAX_LOD = 0x813B # use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS TEXTURE_BASE_LEVEL = 0x813C # use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS TEXTURE_MAX_LEVEL = 0x813D # use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS # Revision 1 use ARB_texture_rectangle TEXTURE_RECTANGLE_ARB use NV_texture_rectangle TEXTURE_RECTANGLE_NV ############################################################################### TextureWrapMode enum: CLAMP = 0x2900 REPEAT = 0x2901 use VERSION_1_3 CLAMP_TO_BORDER use VERSION_1_2 CLAMP_TO_EDGE ############################################################################### PixelInternalFormat enum: R3_G3_B2 = 0x2A10 ALPHA4 = 0x803B ALPHA8 = 0x803C ALPHA12 = 0x803D ALPHA16 = 0x803E LUMINANCE4 = 0x803F LUMINANCE8 = 0x8040 LUMINANCE12 = 0x8041 LUMINANCE16 = 0x8042 LUMINANCE4_ALPHA4 = 0x8043 LUMINANCE6_ALPHA2 = 0x8044 LUMINANCE8_ALPHA8 = 0x8045 LUMINANCE12_ALPHA4 = 0x8046 LUMINANCE12_ALPHA12 = 0x8047 LUMINANCE16_ALPHA16 = 0x8048 INTENSITY = 0x8049 INTENSITY4 = 0x804A INTENSITY8 = 0x804B INTENSITY12 = 0x804C INTENSITY16 = 0x804D RGB4 = 0x804F RGB5 = 0x8050 RGB8 = 0x8051 RGB10 = 0x8052 RGB12 = 0x8053 RGB16 = 0x8054 RGBA2 = 0x8055 RGBA4 = 0x8056 RGB5_A1 = 0x8057 RGBA8 = 0x8058 RGB10_A2 = 0x8059 RGBA12 = 0x805A RGBA16 = 0x805B use EXT_texture RGB2_EXT use SGIS_texture_select DUAL_ALPHA4_SGIS use SGIS_texture_select DUAL_ALPHA8_SGIS use SGIS_texture_select DUAL_ALPHA12_SGIS use SGIS_texture_select DUAL_ALPHA16_SGIS use SGIS_texture_select DUAL_LUMINANCE4_SGIS use SGIS_texture_select DUAL_LUMINANCE8_SGIS use SGIS_texture_select DUAL_LUMINANCE12_SGIS use SGIS_texture_select DUAL_LUMINANCE16_SGIS use SGIS_texture_select DUAL_INTENSITY4_SGIS use SGIS_texture_select DUAL_INTENSITY8_SGIS use SGIS_texture_select DUAL_INTENSITY12_SGIS use SGIS_texture_select DUAL_INTENSITY16_SGIS use SGIS_texture_select DUAL_LUMINANCE_ALPHA4_SGIS use SGIS_texture_select DUAL_LUMINANCE_ALPHA8_SGIS use SGIS_texture_select QUAD_ALPHA4_SGIS use SGIS_texture_select QUAD_ALPHA8_SGIS use SGIS_texture_select QUAD_LUMINANCE4_SGIS use SGIS_texture_select QUAD_LUMINANCE8_SGIS use SGIS_texture_select QUAD_INTENSITY4_SGIS use SGIS_texture_select QUAD_INTENSITY8_SGIS use SGIX_depth_texture DEPTH_COMPONENT16_SGIX use SGIX_depth_texture DEPTH_COMPONENT24_SGIX use SGIX_depth_texture DEPTH_COMPONENT32_SGIX use SGIX_icc_texture RGB_ICC_SGIX use SGIX_icc_texture RGBA_ICC_SGIX use SGIX_icc_texture ALPHA_ICC_SGIX use SGIX_icc_texture LUMINANCE_ICC_SGIX use SGIX_icc_texture INTENSITY_ICC_SGIX use SGIX_icc_texture LUMINANCE_ALPHA_ICC_SGIX use SGIX_icc_texture R5_G6_B5_ICC_SGIX use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX use SGIX_icc_texture ALPHA16_ICC_SGIX use SGIX_icc_texture LUMINANCE16_ICC_SGIX use SGIX_icc_texture INTENSITY16_ICC_SGIX use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX # Revision 2 ONE = 1 TWO = 2 THREE = 3 FOUR = 4 use PixelFormat ALPHA use PixelFormat LUMINANCE use PixelFormat LUMINANCE_ALPHA use PixelFormat RGB use PixelFormat RGBA # Aliases PixelInternalFormat enums above # OES_rgb8_rgba8 enum: (OpenGL ES only) # RGB8 = 0x8051 # RGBA8 = 0x8058 ############################################################################### InterleavedArrayFormat enum: V2F = 0x2A20 V3F = 0x2A21 C4UB_V2F = 0x2A22 C4UB_V3F = 0x2A23 C3F_V3F = 0x2A24 N3F_V3F = 0x2A25 C4F_N3F_V3F = 0x2A26 T2F_V3F = 0x2A27 T4F_V4F = 0x2A28 T2F_C4UB_V3F = 0x2A29 T2F_C3F_V3F = 0x2A2A T2F_N3F_V3F = 0x2A2B T2F_C4F_N3F_V3F = 0x2A2C T4F_C4F_N3F_V4F = 0x2A2D ############################################################################### VertexPointerType enum: use DataType SHORT use DataType INT use DataType FLOAT use DataType DOUBLE ############################################################################### # 0x3000 through 0x3FFF are reserved for clip planes ClipPlaneName enum: CLIP_PLANE0 = 0x3000 # 1 I CLIP_PLANE1 = 0x3001 # 1 I CLIP_PLANE2 = 0x3002 # 1 I CLIP_PLANE3 = 0x3003 # 1 I CLIP_PLANE4 = 0x3004 # 1 I CLIP_PLANE5 = 0x3005 # 1 I # VERSION_3_0 enum: (aliases) # CLIP_DISTANCE0 = 0x3000 # VERSION_3_0 # alias GL_CLIP_PLANE0 # CLIP_DISTANCE1 = 0x3001 # VERSION_3_0 # alias GL_CLIP_PLANE1 # CLIP_DISTANCE2 = 0x3002 # VERSION_3_0 # alias GL_CLIP_PLANE2 # CLIP_DISTANCE3 = 0x3003 # VERSION_3_0 # alias GL_CLIP_PLANE3 # CLIP_DISTANCE4 = 0x3004 # VERSION_3_0 # alias GL_CLIP_PLANE4 # CLIP_DISTANCE5 = 0x3005 # VERSION_3_0 # alias GL_CLIP_PLANE5 ############################################################################### # 0x4000-0x4FFF are reserved for light numbers LightName enum: LIGHT0 = 0x4000 # 1 I LIGHT1 = 0x4001 # 1 I LIGHT2 = 0x4002 # 1 I LIGHT3 = 0x4003 # 1 I LIGHT4 = 0x4004 # 1 I LIGHT5 = 0x4005 # 1 I LIGHT6 = 0x4006 # 1 I LIGHT7 = 0x4007 # 1 I use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX ############################################################################### EXT_abgr enum: ABGR_EXT = 0x8000 ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) CONSTANT_COLOR = 0x8001 ONE_MINUS_CONSTANT_COLOR = 0x8002 CONSTANT_ALPHA = 0x8003 ONE_MINUS_CONSTANT_ALPHA = 0x8004 BLEND_COLOR = 0x8005 # 4 F EXT_blend_color enum: CONSTANT_COLOR = 0x8001 CONSTANT_COLOR_EXT = 0x8001 ONE_MINUS_CONSTANT_COLOR = 0x8002 ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002 CONSTANT_ALPHA = 0x8003 CONSTANT_ALPHA_EXT = 0x8003 ONE_MINUS_CONSTANT_ALPHA = 0x8004 ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004 BLEND_COLOR = 0x8005 # 4 F BLEND_COLOR_EXT = 0x8005 # 4 F ############################################################################### # VERSION_1_2 enum: (Promoted for OpenGL 1.2) EXT_blend_minmax enum: FUNC_ADD = 0x8006 FUNC_ADD_EXT = 0x8006 MIN = 0x8007 MIN_EXT = 0x8007 MAX = 0x8008 MAX_EXT = 0x8008 BLEND_EQUATION = 0x8009 # 1 I BLEND_EQUATION_EXT = 0x8009 # 1 I # VERSION_2_0 enum: (Promoted for OpenGL 2.0) # BLEND_EQUATION_RGB = 0x8009 # VERSION_2_0 # alias GL_BLEND_EQUATION # EXT_blend_equation_separate enum: (separate; see below) # BLEND_EQUATION_RGB_EXT = 0x8009 # alias GL_BLEND_EQUATION # Aliases EXT_blend_equation_separate enum above # OES_blend_equation_separate enum: (OpenGL ES only; additional; see below) # BLEND_EQUATION_RGB_OES = 0x8009 # 1 I ############################################################################### # VERSION_1_2 enum: (Promoted for OpenGL 1.2) EXT_blend_subtract enum: FUNC_SUBTRACT = 0x800A FUNC_SUBTRACT_EXT = 0x800A FUNC_REVERSE_SUBTRACT = 0x800B FUNC_REVERSE_SUBTRACT_EXT = 0x800B # Aliases EXT_blend_minmax and EXT_blend_subtract enums above # OES_blend_subtract enum: (OpenGL ES only) # FUNC_ADD_OES = 0x8006 # BLEND_EQUATION_OES = 0x8009 # 1 I # FUNC_SUBTRACT_OES = 0x800A # FUNC_REVERSE_SUBTRACT_OES = 0x800B ############################################################################### EXT_cmyka enum: CMYK_EXT = 0x800C CMYKA_EXT = 0x800D PACK_CMYK_HINT_EXT = 0x800E # 1 I UNPACK_CMYK_HINT_EXT = 0x800F # 1 I ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) CONVOLUTION_1D = 0x8010 # 1 I CONVOLUTION_2D = 0x8011 # 1 I SEPARABLE_2D = 0x8012 # 1 I CONVOLUTION_BORDER_MODE = 0x8013 CONVOLUTION_FILTER_SCALE = 0x8014 CONVOLUTION_FILTER_BIAS = 0x8015 REDUCE = 0x8016 CONVOLUTION_FORMAT = 0x8017 CONVOLUTION_WIDTH = 0x8018 CONVOLUTION_HEIGHT = 0x8019 MAX_CONVOLUTION_WIDTH = 0x801A MAX_CONVOLUTION_HEIGHT = 0x801B POST_CONVOLUTION_RED_SCALE = 0x801C # 1 F POST_CONVOLUTION_GREEN_SCALE = 0x801D # 1 F POST_CONVOLUTION_BLUE_SCALE = 0x801E # 1 F POST_CONVOLUTION_ALPHA_SCALE = 0x801F # 1 F POST_CONVOLUTION_RED_BIAS = 0x8020 # 1 F POST_CONVOLUTION_GREEN_BIAS = 0x8021 # 1 F POST_CONVOLUTION_BLUE_BIAS = 0x8022 # 1 F POST_CONVOLUTION_ALPHA_BIAS = 0x8023 # 1 F EXT_convolution enum: CONVOLUTION_1D_EXT = 0x8010 # 1 I CONVOLUTION_2D_EXT = 0x8011 # 1 I SEPARABLE_2D_EXT = 0x8012 # 1 I CONVOLUTION_BORDER_MODE_EXT = 0x8013 CONVOLUTION_FILTER_SCALE_EXT = 0x8014 CONVOLUTION_FILTER_BIAS_EXT = 0x8015 REDUCE_EXT = 0x8016 CONVOLUTION_FORMAT_EXT = 0x8017 CONVOLUTION_WIDTH_EXT = 0x8018 CONVOLUTION_HEIGHT_EXT = 0x8019 MAX_CONVOLUTION_WIDTH_EXT = 0x801A MAX_CONVOLUTION_HEIGHT_EXT = 0x801B POST_CONVOLUTION_RED_SCALE_EXT = 0x801C # 1 F POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D # 1 F POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E # 1 F POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F # 1 F POST_CONVOLUTION_RED_BIAS_EXT = 0x8020 # 1 F POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021 # 1 F POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022 # 1 F POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 # 1 F ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) HISTOGRAM = 0x8024 # 1 I PROXY_HISTOGRAM = 0x8025 HISTOGRAM_WIDTH = 0x8026 HISTOGRAM_FORMAT = 0x8027 HISTOGRAM_RED_SIZE = 0x8028 HISTOGRAM_GREEN_SIZE = 0x8029 HISTOGRAM_BLUE_SIZE = 0x802A HISTOGRAM_ALPHA_SIZE = 0x802B HISTOGRAM_SINK = 0x802D MINMAX = 0x802E # 1 I MINMAX_FORMAT = 0x802F MINMAX_SINK = 0x8030 TABLE_TOO_LARGE = 0x8031 EXT_histogram enum: HISTOGRAM_EXT = 0x8024 # 1 I PROXY_HISTOGRAM_EXT = 0x8025 HISTOGRAM_WIDTH_EXT = 0x8026 HISTOGRAM_FORMAT_EXT = 0x8027 HISTOGRAM_RED_SIZE_EXT = 0x8028 HISTOGRAM_GREEN_SIZE_EXT = 0x8029 HISTOGRAM_BLUE_SIZE_EXT = 0x802A HISTOGRAM_ALPHA_SIZE_EXT = 0x802B HISTOGRAM_LUMINANCE_SIZE = 0x802C HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C HISTOGRAM_SINK_EXT = 0x802D MINMAX_EXT = 0x802E # 1 I MINMAX_FORMAT_EXT = 0x802F MINMAX_SINK_EXT = 0x8030 TABLE_TOO_LARGE_EXT = 0x8031 ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) UNSIGNED_BYTE_3_3_2 = 0x8032 UNSIGNED_SHORT_4_4_4_4 = 0x8033 UNSIGNED_SHORT_5_5_5_1 = 0x8034 UNSIGNED_INT_8_8_8_8 = 0x8035 UNSIGNED_INT_10_10_10_2 = 0x8036 UNSIGNED_BYTE_2_3_3_REV = 0x8362 UNSIGNED_SHORT_5_6_5 = 0x8363 UNSIGNED_SHORT_5_6_5_REV = 0x8364 UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 UNSIGNED_INT_8_8_8_8_REV = 0x8367 UNSIGNED_INT_2_10_10_10_REV = 0x8368 EXT_packed_pixels enum: UNSIGNED_BYTE_3_3_2_EXT = 0x8032 UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033 UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034 UNSIGNED_INT_8_8_8_8_EXT = 0x8035 UNSIGNED_INT_10_10_10_2_EXT = 0x8036 UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362 UNSIGNED_SHORT_5_6_5_EXT = 0x8363 UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364 UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365 UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366 UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367 UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368 # EXT_texture_type_2_10_10_10_REV enum: (OpenGL ES only) # use EXT_packed_pixels UNSIGNED_INT_2_10_10_10_REV_EXT ############################################################################### EXT_polygon_offset enum: POLYGON_OFFSET_EXT = 0x8037 POLYGON_OFFSET_FACTOR_EXT = 0x8038 POLYGON_OFFSET_BIAS_EXT = 0x8039 # 1 F ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) RESCALE_NORMAL = 0x803A # 1 I EXT_rescale_normal enum: RESCALE_NORMAL_EXT = 0x803A # 1 I ############################################################################### EXT_texture enum: ALPHA4_EXT = 0x803B ALPHA8_EXT = 0x803C ALPHA12_EXT = 0x803D ALPHA16_EXT = 0x803E LUMINANCE4_EXT = 0x803F LUMINANCE8_EXT = 0x8040 LUMINANCE12_EXT = 0x8041 LUMINANCE16_EXT = 0x8042 LUMINANCE4_ALPHA4_EXT = 0x8043 LUMINANCE6_ALPHA2_EXT = 0x8044 LUMINANCE8_ALPHA8_EXT = 0x8045 LUMINANCE12_ALPHA4_EXT = 0x8046 LUMINANCE12_ALPHA12_EXT = 0x8047 LUMINANCE16_ALPHA16_EXT = 0x8048 INTENSITY_EXT = 0x8049 INTENSITY4_EXT = 0x804A INTENSITY8_EXT = 0x804B INTENSITY12_EXT = 0x804C INTENSITY16_EXT = 0x804D RGB2_EXT = 0x804E RGB4_EXT = 0x804F RGB5_EXT = 0x8050 RGB8_EXT = 0x8051 RGB10_EXT = 0x8052 RGB12_EXT = 0x8053 RGB16_EXT = 0x8054 RGBA2_EXT = 0x8055 RGBA4_EXT = 0x8056 RGB5_A1_EXT = 0x8057 RGBA8_EXT = 0x8058 RGB10_A2_EXT = 0x8059 RGBA12_EXT = 0x805A RGBA16_EXT = 0x805B TEXTURE_RED_SIZE_EXT = 0x805C TEXTURE_GREEN_SIZE_EXT = 0x805D TEXTURE_BLUE_SIZE_EXT = 0x805E TEXTURE_ALPHA_SIZE_EXT = 0x805F TEXTURE_LUMINANCE_SIZE_EXT = 0x8060 TEXTURE_INTENSITY_SIZE_EXT = 0x8061 REPLACE_EXT = 0x8062 PROXY_TEXTURE_1D_EXT = 0x8063 PROXY_TEXTURE_2D_EXT = 0x8064 TEXTURE_TOO_LARGE_EXT = 0x8065 # Aliases EXT_texture enums above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # RGBA4_OES = 0x8056 # RGB5_A1_OES = 0x8057 ############################################################################### EXT_texture_object enum: TEXTURE_PRIORITY_EXT = 0x8066 TEXTURE_RESIDENT_EXT = 0x8067 TEXTURE_1D_BINDING_EXT = 0x8068 TEXTURE_2D_BINDING_EXT = 0x8069 TEXTURE_3D_BINDING_EXT = 0x806A # 1 I ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) PACK_SKIP_IMAGES = 0x806B # 1 I PACK_IMAGE_HEIGHT = 0x806C # 1 F UNPACK_SKIP_IMAGES = 0x806D # 1 I UNPACK_IMAGE_HEIGHT = 0x806E # 1 F TEXTURE_3D = 0x806F # 1 I PROXY_TEXTURE_3D = 0x8070 TEXTURE_DEPTH = 0x8071 TEXTURE_WRAP_R = 0x8072 MAX_3D_TEXTURE_SIZE = 0x8073 # 1 I EXT_texture3D enum: PACK_SKIP_IMAGES_EXT = 0x806B # 1 I PACK_IMAGE_HEIGHT_EXT = 0x806C # 1 F UNPACK_SKIP_IMAGES_EXT = 0x806D # 1 I UNPACK_IMAGE_HEIGHT_EXT = 0x806E # 1 F TEXTURE_3D_EXT = 0x806F # 1 I PROXY_TEXTURE_3D_EXT = 0x8070 TEXTURE_DEPTH_EXT = 0x8071 TEXTURE_WRAP_R_EXT = 0x8072 MAX_3D_TEXTURE_SIZE_EXT = 0x8073 # 1 I # Aliases EXT_texture_object, EXT_texture3D enums above # OES_texture3D enum: (OpenGL ES only) # TEXTURE_3D_BINDING_OES = 0x806A # 1 I # TEXTURE_3D_OES = 0x806F # 1 I # TEXTURE_WRAP_R_OES = 0x8072 # MAX_3D_TEXTURE_SIZE_OES = 0x8073 # 1 I ############################################################################### EXT_vertex_array enum: VERTEX_ARRAY_EXT = 0x8074 NORMAL_ARRAY_EXT = 0x8075 COLOR_ARRAY_EXT = 0x8076 INDEX_ARRAY_EXT = 0x8077 TEXTURE_COORD_ARRAY_EXT = 0x8078 EDGE_FLAG_ARRAY_EXT = 0x8079 VERTEX_ARRAY_SIZE_EXT = 0x807A VERTEX_ARRAY_TYPE_EXT = 0x807B VERTEX_ARRAY_STRIDE_EXT = 0x807C VERTEX_ARRAY_COUNT_EXT = 0x807D # 1 I NORMAL_ARRAY_TYPE_EXT = 0x807E NORMAL_ARRAY_STRIDE_EXT = 0x807F NORMAL_ARRAY_COUNT_EXT = 0x8080 # 1 I COLOR_ARRAY_SIZE_EXT = 0x8081 COLOR_ARRAY_TYPE_EXT = 0x8082 COLOR_ARRAY_STRIDE_EXT = 0x8083 COLOR_ARRAY_COUNT_EXT = 0x8084 # 1 I INDEX_ARRAY_TYPE_EXT = 0x8085 INDEX_ARRAY_STRIDE_EXT = 0x8086 INDEX_ARRAY_COUNT_EXT = 0x8087 # 1 I TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088 TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089 TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B # 1 I EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D # 1 I VERTEX_ARRAY_POINTER_EXT = 0x808E NORMAL_ARRAY_POINTER_EXT = 0x808F COLOR_ARRAY_POINTER_EXT = 0x8090 INDEX_ARRAY_POINTER_EXT = 0x8091 TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092 EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 ############################################################################### SGIX_interlace enum: INTERLACE_SGIX = 0x8094 # 1 I ############################################################################### SGIS_detail_texture enum: DETAIL_TEXTURE_2D_SGIS = 0x8095 DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096 # 1 I LINEAR_DETAIL_SGIS = 0x8097 LINEAR_DETAIL_ALPHA_SGIS = 0x8098 LINEAR_DETAIL_COLOR_SGIS = 0x8099 DETAIL_TEXTURE_LEVEL_SGIS = 0x809A DETAIL_TEXTURE_MODE_SGIS = 0x809B DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C ############################################################################### # Reuses some SGIS_multisample values VERSION_1_3 enum: (Promoted for OpenGL 1.3) MULTISAMPLE = 0x809D SAMPLE_ALPHA_TO_COVERAGE = 0x809E SAMPLE_ALPHA_TO_ONE = 0x809F SAMPLE_COVERAGE = 0x80A0 SAMPLE_BUFFERS = 0x80A8 # 1 I SAMPLES = 0x80A9 # 1 I SAMPLE_COVERAGE_VALUE = 0x80AA # 1 F SAMPLE_COVERAGE_INVERT = 0x80AB # 1 I ARB_multisample enum: MULTISAMPLE_ARB = 0x809D SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E SAMPLE_ALPHA_TO_ONE_ARB = 0x809F SAMPLE_COVERAGE_ARB = 0x80A0 SAMPLE_BUFFERS_ARB = 0x80A8 # 1 I SAMPLES_ARB = 0x80A9 # 1 I SAMPLE_COVERAGE_VALUE_ARB = 0x80AA # 1 F SAMPLE_COVERAGE_INVERT_ARB = 0x80AB # 1 I SGIS_multisample enum: MULTISAMPLE_SGIS = 0x809D # 1 I SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E # 1 I SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F # 1 I SAMPLE_MASK_SGIS = 0x80A0 # 1 I 1PASS_SGIS = 0x80A1 2PASS_0_SGIS = 0x80A2 2PASS_1_SGIS = 0x80A3 4PASS_0_SGIS = 0x80A4 4PASS_1_SGIS = 0x80A5 4PASS_2_SGIS = 0x80A6 4PASS_3_SGIS = 0x80A7 SAMPLE_BUFFERS_SGIS = 0x80A8 # 1 I SAMPLES_SGIS = 0x80A9 # 1 I SAMPLE_MASK_VALUE_SGIS = 0x80AA # 1 F SAMPLE_MASK_INVERT_SGIS = 0x80AB # 1 I SAMPLE_PATTERN_SGIS = 0x80AC # 1 I # Reuses SGIS_multisample values. # EXT_multisample enum: # MULTISAMPLE_EXT = 0x809D # SAMPLE_ALPHA_TO_MASK_EXT = 0x809E # SAMPLE_ALPHA_TO_ONE_EXT = 0x809F # SAMPLE_MASK_EXT = 0x80A0 # 1PASS_EXT = 0x80A1 # 2PASS_0_EXT = 0x80A2 # 2PASS_1_EXT = 0x80A3 # 4PASS_0_EXT = 0x80A4 # 4PASS_1_EXT = 0x80A5 # 4PASS_2_EXT = 0x80A6 # 4PASS_3_EXT = 0x80A7 # SAMPLE_BUFFERS_EXT = 0x80A8 # 1 I # SAMPLES_EXT = 0x80A9 # 1 I # SAMPLE_MASK_VALUE_EXT = 0x80AA # 1 F # SAMPLE_MASK_INVERT_EXT = 0x80AB # 1 I # SAMPLE_PATTERN_EXT = 0x80AC # 1 I # MULTISAMPLE_BIT_EXT = 0x20000000 ############################################################################### SGIS_sharpen_texture enum: LINEAR_SHARPEN_SGIS = 0x80AD LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE LINEAR_SHARPEN_COLOR_SGIS = 0x80AF SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0 ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) COLOR_MATRIX = 0x80B1 # 16 F COLOR_MATRIX_STACK_DEPTH = 0x80B2 # 1 I MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3 # 1 I POST_COLOR_MATRIX_RED_SCALE = 0x80B4 # 1 F POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5 # 1 F POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6 # 1 F POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7 # 1 F POST_COLOR_MATRIX_RED_BIAS = 0x80B8 # 1 F POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9 # 1 F POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA # 1 F POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB # 1 F SGI_color_matrix enum: COLOR_MATRIX_SGI = 0x80B1 # 16 F COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2 # 1 I MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3 # 1 I POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4 # 1 F POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5 # 1 F POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6 # 1 F POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7 # 1 F POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8 # 1 F POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9 # 1 F POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA # 1 F POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB # 1 F ############################################################################### SGI_texture_color_table enum: TEXTURE_COLOR_TABLE_SGI = 0x80BC # 1 I PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD ############################################################################### SGIX_texture_add_env enum: TEXTURE_ENV_BIAS_SGIX = 0x80BE ############################################################################### SGIX_shadow_ambient enum: SHADOW_AMBIENT_SGIX = 0x80BF ############################################################################### # Intergraph/Intense3D/3Dlabs: 0x80C0-0x80CF # 3Dlabs_future_use: 0x80C0-0x80C7 # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # BLEND_DST_RGB = 0x80C8 # BLEND_SRC_RGB = 0x80C9 # BLEND_DST_ALPHA = 0x80CA # BLEND_SRC_ALPHA = 0x80CB # EXT_blend_func_separate enum: # BLEND_DST_RGB_EXT = 0x80C8 # BLEND_SRC_RGB_EXT = 0x80C9 # BLEND_DST_ALPHA_EXT = 0x80CA # BLEND_SRC_ALPHA_EXT = 0x80CB # Aliases EXT_blend_func_separate enums above # OES_blend_func_separate enum: (OpenGL ES only) # BLEND_DST_RGB_OES = 0x80C8 # BLEND_SRC_RGB_OES = 0x80C9 # BLEND_DST_ALPHA_OES = 0x80CA # BLEND_SRC_ALPHA_OES = 0x80CB # EXT_422_pixels enum: # 422_EXT = 0x80CC # 422_REV_EXT = 0x80CD # 422_AVERAGE_EXT = 0x80CE # 422_REV_AVERAGE_EXT = 0x80CF ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) COLOR_TABLE = 0x80D0 # 1 I POST_CONVOLUTION_COLOR_TABLE = 0x80D1 # 1 I POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 # 1 I PROXY_COLOR_TABLE = 0x80D3 PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4 PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5 COLOR_TABLE_SCALE = 0x80D6 COLOR_TABLE_BIAS = 0x80D7 COLOR_TABLE_FORMAT = 0x80D8 COLOR_TABLE_WIDTH = 0x80D9 COLOR_TABLE_RED_SIZE = 0x80DA COLOR_TABLE_GREEN_SIZE = 0x80DB COLOR_TABLE_BLUE_SIZE = 0x80DC COLOR_TABLE_ALPHA_SIZE = 0x80DD COLOR_TABLE_LUMINANCE_SIZE = 0x80DE COLOR_TABLE_INTENSITY_SIZE = 0x80DF SGI_color_table enum: COLOR_TABLE_SGI = 0x80D0 # 1 I POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 # 1 I POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 # 1 I PROXY_COLOR_TABLE_SGI = 0x80D3 PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4 PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5 COLOR_TABLE_SCALE_SGI = 0x80D6 COLOR_TABLE_BIAS_SGI = 0x80D7 COLOR_TABLE_FORMAT_SGI = 0x80D8 COLOR_TABLE_WIDTH_SGI = 0x80D9 COLOR_TABLE_RED_SIZE_SGI = 0x80DA COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) BGR = 0x80E0 BGRA = 0x80E1 EXT_bgra enum: BGR_EXT = 0x80E0 BGRA_EXT = 0x80E1 ############################################################################### # Microsoft: 0x80E2-0x80E7 ############################################################################### VERSION_1_2 enum: MAX_ELEMENTS_VERTICES = 0x80E8 MAX_ELEMENTS_INDICES = 0x80E9 ############################################################################### # Microsoft: 0x80EA-0x810F ############################################################################### SGIS_texture_select enum: DUAL_ALPHA4_SGIS = 0x8110 DUAL_ALPHA8_SGIS = 0x8111 DUAL_ALPHA12_SGIS = 0x8112 DUAL_ALPHA16_SGIS = 0x8113 DUAL_LUMINANCE4_SGIS = 0x8114 DUAL_LUMINANCE8_SGIS = 0x8115 DUAL_LUMINANCE12_SGIS = 0x8116 DUAL_LUMINANCE16_SGIS = 0x8117 DUAL_INTENSITY4_SGIS = 0x8118 DUAL_INTENSITY8_SGIS = 0x8119 DUAL_INTENSITY12_SGIS = 0x811A DUAL_INTENSITY16_SGIS = 0x811B DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D QUAD_ALPHA4_SGIS = 0x811E QUAD_ALPHA8_SGIS = 0x811F QUAD_LUMINANCE4_SGIS = 0x8120 QUAD_LUMINANCE8_SGIS = 0x8121 QUAD_INTENSITY4_SGIS = 0x8122 QUAD_INTENSITY8_SGIS = 0x8123 DUAL_TEXTURE_SELECT_SGIS = 0x8124 QUAD_TEXTURE_SELECT_SGIS = 0x8125 ############################################################################### VERSION_1_4 enum: (Promoted for OpenGL 1.4) POINT_SIZE_MIN = 0x8126 # 1 F POINT_SIZE_MAX = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE = 0x8128 # 1 F POINT_DISTANCE_ATTENUATION = 0x8129 # 3 F ARB_point_parameters enum: POINT_SIZE_MIN_ARB = 0x8126 # 1 F POINT_SIZE_MAX_ARB = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128 # 1 F POINT_DISTANCE_ATTENUATION_ARB = 0x8129 # 3 F EXT_point_parameters enum: POINT_SIZE_MIN_EXT = 0x8126 # 1 F POINT_SIZE_MAX_EXT = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128 # 1 F DISTANCE_ATTENUATION_EXT = 0x8129 # 3 F SGIS_point_parameters enum: POINT_SIZE_MIN_SGIS = 0x8126 # 1 F POINT_SIZE_MAX_SGIS = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128 # 1 F DISTANCE_ATTENUATION_SGIS = 0x8129 # 3 F ############################################################################### SGIS_fog_function enum: FOG_FUNC_SGIS = 0x812A FOG_FUNC_POINTS_SGIS = 0x812B # 1 I MAX_FOG_FUNC_POINTS_SGIS = 0x812C # 1 I ############################################################################### VERSION_1_3 enum: (Promoted for OpenGL 1.3) CLAMP_TO_BORDER = 0x812D ARB_texture_border_clamp enum: CLAMP_TO_BORDER_ARB = 0x812D SGIS_texture_border_clamp enum: CLAMP_TO_BORDER_SGIS = 0x812D ############################################################################### SGIX_texture_multi_buffer enum: TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) CLAMP_TO_EDGE = 0x812F SGIS_texture_edge_clamp enum: CLAMP_TO_EDGE_SGIS = 0x812F ############################################################################### SGIS_texture4D enum: PACK_SKIP_VOLUMES_SGIS = 0x8130 # 1 I PACK_IMAGE_DEPTH_SGIS = 0x8131 # 1 I UNPACK_SKIP_VOLUMES_SGIS = 0x8132 # 1 I UNPACK_IMAGE_DEPTH_SGIS = 0x8133 # 1 I TEXTURE_4D_SGIS = 0x8134 # 1 I PROXY_TEXTURE_4D_SGIS = 0x8135 TEXTURE_4DSIZE_SGIS = 0x8136 TEXTURE_WRAP_Q_SGIS = 0x8137 MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 # 1 I TEXTURE_4D_BINDING_SGIS = 0x814F # 1 I ############################################################################### SGIX_pixel_texture enum: PIXEL_TEX_GEN_SGIX = 0x8139 # 1 I PIXEL_TEX_GEN_MODE_SGIX = 0x832B # 1 I ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) TEXTURE_MIN_LOD = 0x813A TEXTURE_MAX_LOD = 0x813B TEXTURE_BASE_LEVEL = 0x813C TEXTURE_MAX_LEVEL = 0x813D SGIS_texture_lod enum: TEXTURE_MIN_LOD_SGIS = 0x813A TEXTURE_MAX_LOD_SGIS = 0x813B TEXTURE_BASE_LEVEL_SGIS = 0x813C TEXTURE_MAX_LEVEL_SGIS = 0x813D ############################################################################### SGIX_pixel_tiles enum: PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E # 1 I PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F # 1 I PIXEL_TILE_WIDTH_SGIX = 0x8140 # 1 I PIXEL_TILE_HEIGHT_SGIX = 0x8141 # 1 I PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142 # 1 I PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143 # 1 I PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144 # 1 I PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145 # 1 I ############################################################################### SGIS_texture_filter4 enum: FILTER4_SGIS = 0x8146 TEXTURE_FILTER4_SIZE_SGIS = 0x8147 ############################################################################### SGIX_sprite enum: SPRITE_SGIX = 0x8148 # 1 I SPRITE_MODE_SGIX = 0x8149 # 1 I SPRITE_AXIS_SGIX = 0x814A # 3 F SPRITE_TRANSLATION_SGIX = 0x814B # 3 F SPRITE_AXIAL_SGIX = 0x814C SPRITE_OBJECT_ALIGNED_SGIX = 0x814D SPRITE_EYE_ALIGNED_SGIX = 0x814E ############################################################################### # SGIS_texture4D (additional; see above): 0x814F ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) CONSTANT_BORDER = 0x8151 # WRAP_BORDER = 0x8152 # Not actually used REPLICATE_BORDER = 0x8153 CONVOLUTION_BORDER_COLOR = 0x8154 HP_convolution_border_modes enum: IGNORE_BORDER_HP = 0x8150 # Not promoted CONSTANT_BORDER_HP = 0x8151 REPLICATE_BORDER_HP = 0x8153 CONVOLUTION_BORDER_COLOR_HP = 0x8154 ############################################################################### # HP: 0x8155-0x816F ############################################################################### SGIX_clipmap enum: LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170 TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171 TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172 TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173 TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174 TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175 TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176 MAX_CLIPMAP_DEPTH_SGIX = 0x8177 # 1 I MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178 # 1 I NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F ############################################################################### SGIX_texture_scale_bias enum: POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179 POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B # 2 F POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C # 2 F ############################################################################### SGIX_reference_plane enum: REFERENCE_PLANE_SGIX = 0x817D # 1 I REFERENCE_PLANE_EQUATION_SGIX = 0x817E # 4 F ############################################################################### SGIX_ir_instrument1 enum: IR_INSTRUMENT1_SGIX = 0x817F # 1 I ############################################################################### SGIX_instruments enum: INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180 INSTRUMENT_MEASUREMENTS_SGIX = 0x8181 # 1 I ############################################################################### SGIX_list_priority enum: LIST_PRIORITY_SGIX = 0x8182 ############################################################################### SGIX_calligraphic_fragment enum: CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183 # 1 I ############################################################################### SGIX_impact_pixel_texture enum: PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184 PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185 PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186 PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187 PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188 PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189 PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A ############################################################################### SGIX_framezoom enum: FRAMEZOOM_SGIX = 0x818B # 1 I FRAMEZOOM_FACTOR_SGIX = 0x818C # 1 I MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D # 1 I ############################################################################### SGIX_texture_lod_bias enum: TEXTURE_LOD_BIAS_S_SGIX = 0x818E TEXTURE_LOD_BIAS_T_SGIX = 0x818F TEXTURE_LOD_BIAS_R_SGIX = 0x8190 ############################################################################### VERSION_1_4 enum: (Promoted for OpenGL 1.4) GENERATE_MIPMAP = 0x8191 GENERATE_MIPMAP_HINT = 0x8192 # 1 I SGIS_generate_mipmap enum: GENERATE_MIPMAP_SGIS = 0x8191 GENERATE_MIPMAP_HINT_SGIS = 0x8192 # 1 I ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_spotlight_cutoff: 0x8193 # SPOT_CUTOFF_DELTA_SGIX = 0x8193 ############################################################################### # SGIX_polynomial_ffd enum: GEOMETRY_DEFORMATION_SGIX = 0x8194 TEXTURE_DEFORMATION_SGIX = 0x8195 DEFORMATIONS_MASK_SGIX = 0x8196 # 1 I MAX_DEFORMATION_ORDER_SGIX = 0x8197 ############################################################################### SGIX_fog_offset enum: FOG_OFFSET_SGIX = 0x8198 # 1 I FOG_OFFSET_VALUE_SGIX = 0x8199 # 4 F ############################################################################### SGIX_shadow enum: TEXTURE_COMPARE_SGIX = 0x819A TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B TEXTURE_LEQUAL_R_SGIX = 0x819C TEXTURE_GEQUAL_R_SGIX = 0x819D ############################################################################### # SGI private extension, not in enumext.spec # SGIX_igloo_interface: 0x819E-0x81A4 # IGLOO_FULLSCREEN_SGIX = 0x819E # IGLOO_VIEWPORT_OFFSET_SGIX = 0x819F # IGLOO_SWAPTMESH_SGIX = 0x81A0 # IGLOO_COLORNORMAL_SGIX = 0x81A1 # IGLOO_IRISGL_MODE_SGIX = 0x81A2 # IGLOO_LMC_COLOR_SGIX = 0x81A3 # IGLOO_TMESHMODE_SGIX = 0x81A4 ############################################################################### VERSION_1_4 enum: (Promoted for OpenGL 1.4) DEPTH_COMPONENT16 = 0x81A5 DEPTH_COMPONENT24 = 0x81A6 DEPTH_COMPONENT32 = 0x81A7 ARB_depth_texture enum: DEPTH_COMPONENT16_ARB = 0x81A5 DEPTH_COMPONENT24_ARB = 0x81A6 DEPTH_COMPONENT32_ARB = 0x81A7 SGIX_depth_texture enum: DEPTH_COMPONENT16_SGIX = 0x81A5 DEPTH_COMPONENT24_SGIX = 0x81A6 DEPTH_COMPONENT32_SGIX = 0x81A7 # Aliases ARB_depth_texture enum above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # DEPTH_COMPONENT16_OES = 0x81A5 # Aliases ARB_depth_texture enum above # OES_depth24 enum: (OpenGL ES only) # DEPTH_COMPONENT24_OES = 0x81A6 # Aliases ARB_depth_texture enum above # OES_depth32 enum: (OpenGL ES only) # DEPTH_COMPONENT32_OES = 0x81A7 ############################################################################### #EXT_compiled_vertex_array enum: # ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8 # ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9 ############################################################################### #EXT_cull_vertex enum: # CULL_VERTEX_EXT = 0x81AA # CULL_VERTEX_EYE_POSITION_EXT = 0x81AB # CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC ############################################################################### # Promoted from SGI? #EXT_index_array_formats enum: # IUI_V2F_EXT = 0x81AD # IUI_V3F_EXT = 0x81AE # IUI_N3F_V2F_EXT = 0x81AF # IUI_N3F_V3F_EXT = 0x81B0 # T2F_IUI_V2F_EXT = 0x81B1 # T2F_IUI_V3F_EXT = 0x81B2 # T2F_IUI_N3F_V2F_EXT = 0x81B3 # T2F_IUI_N3F_V3F_EXT = 0x81B4 ############################################################################### # Promoted from SGI? #EXT_index_func enum: # INDEX_TEST_EXT = 0x81B5 # INDEX_TEST_FUNC_EXT = 0x81B6 # INDEX_TEST_REF_EXT = 0x81B7 ############################################################################### # Promoted from SGI? #EXT_index_material enum: # INDEX_MATERIAL_EXT = 0x81B8 # INDEX_MATERIAL_PARAMETER_EXT = 0x81B9 # INDEX_MATERIAL_FACE_EXT = 0x81BA ############################################################################### SGIX_ycrcb enum: YCRCB_422_SGIX = 0x81BB YCRCB_444_SGIX = 0x81BC ############################################################################### # Incomplete extension, not in enumext.spec # SGI_complex_type: 0x81BD-0x81C3 # COMPLEX_UNSIGNED_BYTE_SGI = 0x81BD # COMPLEX_BYTE_SGI = 0x81BE # COMPLEX_UNSIGNED_SHORT_SGI = 0x81BF # COMPLEX_SHORT_SGI = 0x81C0 # COMPLEX_UNSIGNED_INT_SGI = 0x81C1 # COMPLEX_INT_SGI = 0x81C2 # COMPLEX_FLOAT_SGI = 0x81C3 ############################################################################### # Incomplete extension, not in enumext.spec # SGI_fft: 0x81C4-0x81CA # POST_TRANSFORM_RED_SCALE_SGI = ???? # 1 F # POST_TRANSFORM_GREEN_SCALE_SGI = ???? # 1 F # POST_TRANSFORM_BLUE_SCALE_SGI = ???? # 1 F # POST_TRANSFORM_ALPHA_SCALE_SGI = ???? # 1 F # POST_TRANSFORM_RED_BIAS_SGI = ???? # 1 F # POST_TRANSFORM_GREEN_BIAS_SGI = ???? # 1 F # POST_TRANSFORM_BLUE_BIAS_SGI = ???? # 1 F # POST_TRANSFORM_ALPHA_BIAS_SGI = ???? # 1 F # PIXEL_TRANSFORM_OPERATOR_SGI = 0x81C4 # 1 I # CONVOLUTION_SGI = 0x81C5 # FFT_1D_SGI = 0x81C6 # PIXEL_TRANSFORM_SGI = 0x81C7 # MAX_FFT_WIDTH_SGI = 0x81C8 # SORT_SGI = 0x81C9 # TRANSPOSE_SGI = 0x81CA ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_nurbs_eval: 0x81CB-0x81CF # MAP1_VERTEX_3_NURBS_SGIX = 0x81CB # 1 I # MAP1_VERTEX_4_NURBS_SGIX = 0x81CC # 1 I # MAP1_INDEX_NURBS_SGIX = 0x81CD # 1 I # MAP1_COLOR_4_NURBS_SGIX = 0x81CE # 1 I # MAP1_NORMAL_NURBS_SGIX = 0x81CF # 1 I # MAP1_TEXTURE_COORD_1_NURBS_SGIX = 0x81E0 # 1 I # MAP1_TEXTURE_COORD_2_NURBS_SGIX = 0x81E1 # 1 I # MAP1_TEXTURE_COORD_3_NURBS_SGIX = 0x81E2 # 1 I # MAP1_TEXTURE_COORD_4_NURBS_SGIX = 0x81E3 # 1 I # MAP2_VERTEX_3_NURBS_SGIX = 0x81E4 # 1 I # MAP2_VERTEX_4_NURBS_SGIX = 0x81E5 # 1 I # MAP2_INDEX_NURBS_SGIX = 0x81E6 # 1 I # MAP2_COLOR_4_NURBS_SGIX = 0x81E7 # 1 I # MAP2_NORMAL_NURBS_SGIX = 0x81E8 # 1 I # MAP2_TEXTURE_COORD_1_NURBS_SGIX = 0x81E9 # 1 I # MAP2_TEXTURE_COORD_2_NURBS_SGIX = 0x81EA # 1 I # MAP2_TEXTURE_COORD_3_NURBS_SGIX = 0x81EB # 1 I # MAP2_TEXTURE_COORD_4_NURBS_SGIX = 0x81EC # 1 I # NURBS_KNOT_COUNT_SGIX = 0x81ED # NURBS_KNOT_VECTOR_SGIX = 0x81EE ############################################################################### # Sun: 0x81D0-0x81DF # No extension spec, not in enumext.spec # SUNX_surface_hint enum: # SURFACE_SIZE_HINT_SUNX = 0x81D2 # LARGE_SUNX = 0x81D3 # SUNX_general_triangle_list enum: # RESTART_SUN = 0x0001 # REPLACE_MIDDLE_SUN = 0x0002 # REPLACE_OLDEST_SUN = 0x0003 # WRAP_BORDER_SUN = 0x81D4 # TRIANGLE_LIST_SUN = 0x81D7 # REPLACEMENT_CODE_SUN = 0x81D8 # REPLACEMENT_CODE_ARRAY_SUN = 0x85C0 # REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1 # REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2 # REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3 # R1UI_V3F_SUN = 0x85C4 # R1UI_C4UB_V3F_SUN = 0x85C5 # R1UI_C3F_V3F_SUN = 0x85C6 # R1UI_N3F_V3F_SUN = 0x85C7 # R1UI_C4F_N3F_V3F_SUN = 0x85C8 # R1UI_T2F_V3F_SUN = 0x85C9 # R1UI_T2F_N3F_V3F_SUN = 0x85CA # R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB # SUNX_constant_data enum: # UNPACK_CONSTANT_DATA_SUNX = 0x81D5 # TEXTURE_CONSTANT_DATA_SUNX = 0x81D6 # SUN_global_alpha enum: # GLOBAL_ALPHA_SUN = 0x81D9 # GLOBAL_ALPHA_FACTOR_SUN = 0x81DA ############################################################################### # SGIX_nurbs_eval (additional; see above): 0x81E0-0x81EE ############################################################################### SGIS_texture_color_mask enum: TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF ############################################################################### SGIS_point_line_texgen enum: EYE_DISTANCE_TO_POINT_SGIS = 0x81F0 OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1 EYE_DISTANCE_TO_LINE_SGIS = 0x81F2 OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3 EYE_POINT_SGIS = 0x81F4 OBJECT_POINT_SGIS = 0x81F5 EYE_LINE_SGIS = 0x81F6 OBJECT_LINE_SGIS = 0x81F7 ############################################################################### VERSION_1_2 enum: (Promoted for OpenGL 1.2) LIGHT_MODEL_COLOR_CONTROL = 0x81F8 # 1 I SINGLE_COLOR = 0x81F9 SEPARATE_SPECULAR_COLOR = 0x81FA EXT_separate_specular_color enum: LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8 SINGLE_COLOR_EXT = 0x81F9 SEPARATE_SPECULAR_COLOR_EXT = 0x81FA ############################################################################### EXT_shared_texture_palette enum: SHARED_TEXTURE_PALETTE_EXT = 0x81FB # 1 I ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fog_scale: 0x81FC-0x81FD # FOG_SCALE_SGIX = 0x81FC # 1 I # FOG_SCALE_VALUE_SGIX = 0x81FD # 1 F ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fog_blend: 0x81FE-0x81FF # FOG_BLEND_ALPHA_SGIX = 0x81FE # 1 I # FOG_BLEND_COLOR_SGIX = 0x81FF # 1 I ############################################################################### # ATI: 0x8200-0x820F (released by Microsoft 2002/9/16) # ATI_text_fragment_shader enum: # TEXT_FRAGMENT_SHADER_ATI = 0x8200 ############################################################################### # OpenGL ARB: 0x8210-0x823F VERSION_3_0 enum: use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_RED_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_GREEN_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_BLUE_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE use ARB_framebuffer_object FRAMEBUFFER_DEFAULT use ARB_framebuffer_object FRAMEBUFFER_UNDEFINED use ARB_framebuffer_object DEPTH_STENCIL_ATTACHMENT # ARB_framebuffer_object enum: (note: no ARB suffixes) # FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_DEFAULT = 0x8218 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_UNDEFINED = 0x8219 # VERSION_3_0 / ARB_fbo # DEPTH_STENCIL_ATTACHMENT = 0x821A # VERSION_3_0 / ARB_fbo # VERSION_3_0 enum: # MAJOR_VERSION = 0x821B # VERSION_3_0 # MINOR_VERSION = 0x821C # VERSION_3_0 # NUM_EXTENSIONS = 0x821D # VERSION_3_0 # CONTEXT_FLAGS = 0x821E # VERSION_3_0 # 0x821F-0x8221 currently unused VERSION_3_0 enum: use ARB_framebuffer_object INDEX # ARB_framebuffer_object enum: (note: no ARB suffixes) # INDEX = 0x8222 # VERSION_3_0 / ARB_fbo # VERSION_3_0 enum: # DEPTH_BUFFER = 0x8223 # VERSION_3_0 # STENCIL_BUFFER = 0x8224 # VERSION_3_0 # COMPRESSED_RED = 0x8225 # VERSION_3_0 # COMPRESSED_RG = 0x8226 # VERSION_3_0 VERSION_3_0 enum: use ARB_texture_rg RG use ARB_texture_rg RG_INTEGER use ARB_texture_rg R8 use ARB_texture_rg R16 use ARB_texture_rg RG8 use ARB_texture_rg RG16 use ARB_texture_rg R16F use ARB_texture_rg R32F use ARB_texture_rg RG16F use ARB_texture_rg RG32F use ARB_texture_rg R8I use ARB_texture_rg R8UI use ARB_texture_rg R16I use ARB_texture_rg R16UI use ARB_texture_rg R32I use ARB_texture_rg R32UI use ARB_texture_rg RG8I use ARB_texture_rg RG8UI use ARB_texture_rg RG16I use ARB_texture_rg RG16UI use ARB_texture_rg RG32I use ARB_texture_rg RG32UI # ARB_texture_rg enum: (note: no ARB suffixes) # RG = 0x8227 # VERSION_3_0 / ARB_trg # RG_INTEGER = 0x8228 # VERSION_3_0 / ARB_trg # R8 = 0x8229 # VERSION_3_0 / ARB_trg # R16 = 0x822A # VERSION_3_0 / ARB_trg # RG8 = 0x822B # VERSION_3_0 / ARB_trg # RG16 = 0x822C # VERSION_3_0 / ARB_trg # R16F = 0x822D # VERSION_3_0 / ARB_trg # R32F = 0x822E # VERSION_3_0 / ARB_trg # RG16F = 0x822F # VERSION_3_0 / ARB_trg # RG32F = 0x8230 # VERSION_3_0 / ARB_trg # R8I = 0x8231 # VERSION_3_0 / ARB_trg # R8UI = 0x8232 # VERSION_3_0 / ARB_trg # R16I = 0x8233 # VERSION_3_0 / ARB_trg # R16UI = 0x8234 # VERSION_3_0 / ARB_trg # R32I = 0x8235 # VERSION_3_0 / ARB_trg # R32UI = 0x8236 # VERSION_3_0 / ARB_trg # RG8I = 0x8237 # VERSION_3_0 / ARB_trg # RG8UI = 0x8238 # VERSION_3_0 / ARB_trg # RG16I = 0x8239 # VERSION_3_0 / ARB_trg # RG16UI = 0x823A # VERSION_3_0 / ARB_trg # RG32I = 0x823B # VERSION_3_0 / ARB_trg # RG32UI = 0x823C # VERSION_3_0 / ARB_trg # ARB_future_use: 0x823D-0x823F ############################################################################### # @@@ Any_vendor_future_use: 0x8240-0x82AF (released by Microsoft 2002/9/16) ############################################################################### # ADD: 0x82B0-0x830F ############################################################################### # SGIX_depth_pass_instrument enum: 0x8310-0x8312 # DEPTH_PASS_INSTRUMENT_SGIX = 0x8310 # DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311 # DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312 ############################################################################### # SGIX_fragments_instrument enum: 0x8313-0x8315 # FRAGMENTS_INSTRUMENT_SGIX = 0x8313 # 1 I # FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314 # 1 I # FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315 # 1 I ############################################################################### SGIX_convolution_accuracy enum: CONVOLUTION_HINT_SGIX = 0x8316 # 1 I ############################################################################### # SGIX_color_matrix_accuracy: 0x8317 ############################################################################### # SGIX_ycrcba: 0x8318-0x8319 # YCRCB_SGIX = 0x8318 # YCRCBA_SGIX = 0x8319 ############################################################################### # SGIX_slim: 0x831A-0x831F # UNPACK_COMPRESSED_SIZE_SGIX = 0x831A # PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B # PACK_COMPRESSED_SIZE_SGIX = 0x831C # SLIM8U_SGIX = 0x831D # SLIM10U_SGIX = 0x831E # SLIM12S_SGIX = 0x831F ############################################################################### SGIX_blend_alpha_minmax enum: ALPHA_MIN_SGIX = 0x8320 ALPHA_MAX_SGIX = 0x8321 ############################################################################### # SGIX_scalebias_hint enum: # SCALEBIAS_HINT_SGIX = 0x8322 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fog_layers: 0x8323-0x8328 # FOG_TYPE_SGIX = 0x8323 # 1 I # UNIFORM_SGIX = 0x8324 # LAYERED_SGIX = 0x8325 # FOG_GROUND_PLANE_SGIX = 0x8326 # 4 F # FOG_LAYERS_POINTS_SGIX = 0x8327 # 1 I # MAX_FOG_LAYERS_POINTS_SGIX = 0x8328 # 1 I ############################################################################### # SGIX_async enum: ASYNC_MARKER_SGIX = 0x8329 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_texture_phase: 0x832A # PHASE_SGIX = 0x832A ############################################################################### # SGIX_pixel_texture (additional; see above): 0x832B ############################################################################### SGIX_async_histogram enum: ASYNC_HISTOGRAM_SGIX = 0x832C MAX_ASYNC_HISTOGRAM_SGIX = 0x832D ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_texture_mipmap_anisotropic: 0x832E-0x832F # TEXTURE_MIPMAP_ANISOTROPY_SGIX = 0x832E # MAX_MIPMAP_ANISOTROPY_SGIX = 0x832F # 1 I ############################################################################### EXT_pixel_transform enum: PIXEL_TRANSFORM_2D_EXT = 0x8330 PIXEL_MAG_FILTER_EXT = 0x8331 PIXEL_MIN_FILTER_EXT = 0x8332 PIXEL_CUBIC_WEIGHT_EXT = 0x8333 CUBIC_EXT = 0x8334 AVERAGE_EXT = 0x8335 PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336 MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337 PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338 # SUN_future_use: 0x8339-0x833F ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_cube_map: 0x8340-0x8348 # ENV_MAP_SGIX = 0x8340 # CUBE_MAP_SGIX = 0x8341 # CUBE_MAP_ZP_SGIX = 0x8342 # CUBE_MAP_ZN_SGIX = 0x8343 # CUBE_MAP_XN_SGIX = 0x8344 # CUBE_MAP_XP_SGIX = 0x8345 # CUBE_MAP_YN_SGIX = 0x8346 # CUBE_MAP_YP_SGIX = 0x8347 # CUBE_MAP_BINDING_SGIX = 0x8348 # 1 I ############################################################################### # Unfortunately, there was a collision promoting to EXT from SGIX. # Use fog_coord's value of 0x8452 instead of the previously # assigned FRAGMENT_DEPTH_EXT -> 0x834B. # EXT_light_texture: 0x8349-0x8352 # FRAGMENT_MATERIAL_EXT = 0x8349 # FRAGMENT_NORMAL_EXT = 0x834A # FRAGMENT_COLOR_EXT = 0x834C # ATTENUATION_EXT = 0x834D # SHADOW_ATTENUATION_EXT = 0x834E # TEXTURE_APPLICATION_MODE_EXT = 0x834F # 1 I # TEXTURE_LIGHT_EXT = 0x8350 # 1 I # TEXTURE_MATERIAL_FACE_EXT = 0x8351 # 1 I # TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352 # 1 I # use EXT_fog_coord FRAGMENT_DEPTH_EXT ############################################################################### SGIS_pixel_texture enum: PIXEL_TEXTURE_SGIS = 0x8353 # 1 I PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 # 1 I PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 # 1 I PIXEL_GROUP_COLOR_SGIS = 0x8356 # 1 I ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_pixel_texture_bits: 0x8357-0x8359 # COLOR_TO_TEXTURE_COORD_SGIX = 0x8357 # COLOR_BIT_PATTERN_SGIX = 0x8358 # COLOR_VALUE_SGIX = 0x8359 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_pixel_texture_lod: 0x835A # PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX = 0x835A ############################################################################### # SGIX_line_quality_hint: # LINE_QUALITY_HINT_SGIX = 0x835B ############################################################################### SGIX_async_pixel enum: ASYNC_TEX_IMAGE_SGIX = 0x835C ASYNC_DRAW_PIXELS_SGIX = 0x835D ASYNC_READ_PIXELS_SGIX = 0x835E MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360 MAX_ASYNC_READ_PIXELS_SGIX = 0x8361 ############################################################################### # EXT_packed_pixels (additional; see above): 0x8362-0x8368 ############################################################################### SGIX_texture_coordinate_clamp enum: TEXTURE_MAX_CLAMP_S_SGIX = 0x8369 TEXTURE_MAX_CLAMP_T_SGIX = 0x836A TEXTURE_MAX_CLAMP_R_SGIX = 0x836B ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fog_texture: 0x836C-0x836E # FRAGMENT_FOG_SGIX = 0x836C # TEXTURE_FOG_SGIX = 0x836D # 1 I # FOG_PATCHY_FACTOR_SGIX = 0x836E ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fog_factor_to_alpha: 0x836F FOG_FACTOR_TO_ALPHA_SGIX = 0x836F ############################################################################### # HP: 0x8370-0x837F # NOTE: IBM is using values in this range, because of a bobble # when Pat Brown left at the same time as I assigned them the # next range and their registry became inconsistent. Unknown # whether HP has any conflicts as they have never reported using # any values in this range. # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # MIRRORED_REPEAT = 0x8370 # ARB_texture_mirrored_repeat enum: # MIRRORED_REPEAT_ARB = 0x8370 # IBM_texture_mirrored_repeat enum: # MIRRORED_REPEAT_IBM = 0x8370 # Aliases ARB_texture_mirrored_repeat enum above # OES_texture_mirrored_repeat enum: (OpenGL ES only) # MIRRORED_REPEAT_OES = 0x8370 ############################################################################### # IBM: 0x8380-0x839F ############################################################################### # S3: 0x83A0-0x83BF # Extension #276 # S3_s3tc enum: 0x83A0-0x83A3 # RGB_S3TC = 0x83A0 # RGB4_S3TC = 0x83A1 # RGBA_S3TC = 0x83A2 # RGBA4_S3TC = 0x83A3 # S3_future_use: 0x83A4-0x83BF ############################################################################### # Obsolete extension, never to be put in enumext.spec # SGIS_multitexture: 0x83C0-0x83E5 # SELECTED_TEXTURE_SGIS = 0x83C0 # 1 I # SELECTED_TEXTURE_COORD_SET_SGIS = 0x83C1 # 1 I # SELECTED_TEXTURE_TRANSFORM_SGIS = 0x83C2 # 1 I # MAX_TEXTURES_SGIS = 0x83C3 # 1 I # MAX_TEXTURE_COORD_SETS_SGIS = 0x83C4 # 1 I # TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS = 0x83C5 # 1 I # TEXTURE_ENV_COORD_SET_SGIS = 0x83C6 # TEXTURE0_SGIS = 0x83C7 # TEXTURE1_SGIS = 0x83C8 # TEXTURE2_SGIS = 0x83C9 # TEXTURE3_SGIS = 0x83CA # # SGIS_multitexture_future_use: 0x83CB-0x83E5 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_bali_g_instruments: 0x83E6-0x83E9 # BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX = 0x83E6 # 1 I # BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX = 0x83E7 # 1 I # BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX = 0x83E8 # 1 I # BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX = 0x83E9 # 1 I ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_bali_r_instruments: 0x83EA-0x83EC # BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX = 0x83EA # 1 I # BALI_DEPTH_PASS_INSTRUMENT_SGIX = 0x83EB # 1 I # BALI_R_CHIP_COUNT_SGIX = 0x83EC # 1 I ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_occlusion_instrument: 0x83ED # OCCLUSION_INSTRUMENT_SGIX = 0x83ED # 1 I ############################################################################### SGIX_vertex_preclip enum: VERTEX_PRECLIP_SGIX = 0x83EE VERTEX_PRECLIP_HINT_SGIX = 0x83EF ############################################################################### # INTEL: 0x83F0-0x83FF # Note that this block was reclaimed from NTP, who never shipped it, # and reassigned to Intel. EXT_texture_compression_s3tc enum: COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0 COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1 COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2 COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 INTEL_parallel_arrays enum: PARALLEL_ARRAYS_INTEL = 0x83F4 VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5 NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6 COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7 TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8 # INTEL_future_use: 0x83F9-0x83FF ############################################################################### SGIX_fragment_lighting enum: FRAGMENT_LIGHTING_SGIX = 0x8400 # 1 I FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 # 1 I FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402 # 1 I FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403 # 1 I MAX_FRAGMENT_LIGHTS_SGIX = 0x8404 # 1 I MAX_ACTIVE_LIGHTS_SGIX = 0x8405 # 1 I CURRENT_RASTER_NORMAL_SGIX = 0x8406 # 1 I LIGHT_ENV_MODE_SGIX = 0x8407 # 1 I FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408 # 1 I FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409 # 1 I FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A # 4 F FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B # 1 I FRAGMENT_LIGHT0_SGIX = 0x840C # 1 I FRAGMENT_LIGHT1_SGIX = 0x840D FRAGMENT_LIGHT2_SGIX = 0x840E FRAGMENT_LIGHT3_SGIX = 0x840F FRAGMENT_LIGHT4_SGIX = 0x8410 FRAGMENT_LIGHT5_SGIX = 0x8411 FRAGMENT_LIGHT6_SGIX = 0x8412 FRAGMENT_LIGHT7_SGIX = 0x8413 # SGIX_fragment_lighting_future_use: 0x8414-0x842B ############################################################################### SGIX_resample enum: PACK_RESAMPLE_SGIX = 0x842C UNPACK_RESAMPLE_SGIX = 0x842D RESAMPLE_REPLICATE_SGIX = 0x842E RESAMPLE_ZERO_FILL_SGIX = 0x842F RESAMPLE_DECIMATE_SGIX = 0x8430 # SGIX_resample_future_use: 0x8431-0x8435 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_fragment_lighting_space: 0x8436-0x8449 # EYE_SPACE_SGIX = 0x8436 # TANGENT_SPACE_SGIX = 0x8437 # OBJECT_SPACE_SGIX = 0x8438 # TANGENT_ARRAY_SGIX = 0x8439 # BINORMAL_ARRAY_SGIX = 0x843A # CURRENT_TANGENT_SGIX = 0x843B # 3 F # CURRENT_BINORMAL_SGIX = 0x843C # 3 F # FRAGMENT_LIGHT_SPACE_SGIX = 0x843D # 1 I # TANGENT_ARRAY_TYPE_SGIX = 0x843E # TANGENT_ARRAY_STRIDE_SGIX = 0x843F # TANGENT_ARRAY_COUNT_SGIX = 0x8440 # BINORMAL_ARRAY_TYPE_SGIX = 0x8441 # BINORMAL_ARRAY_STRIDE_SGIX = 0x8442 # BINORMAL_ARRAY_COUNT_SGIX = 0x8443 # TANGENT_ARRAY_POINTER_SGIX = 0x8444 # BINORMAL_ARRAY_POINTER_SGIX = 0x8445 # MAP1_TANGENT_SGIX = 0x8446 # MAP2_TANGENT_SGIX = 0x8447 # MAP1_BINORMAL_SGIX = 0x8448 # MAP2_BINORMAL_SGIX = 0x8449 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_bali_timer_instruments: 0x844A-0x844C # BALI_GEOM_TIMER_INSTRUMENT_SGIX = 0x844A # 1 I # BALI_RASTER_TIMER_INSTRUMENT_SGIX = 0x844B # 1 I # BALI_INSTRUMENT_TIME_UNIT_SGIX = 0x844C # 1 I ############################################################################### # SGIX_clipmap (additional; see above): 0x844D-0x844F ############################################################################### # SGI (actually brokered for Id Software): 0x8450-0x845F # VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5) # FOG_COORD_SRC = 0x8450 # alias GL_FOG_COORDINATE_SOURCE # FOG_COORD = 0x8451 # alias GL_FOG_COORDINATE # CURRENT_FOG_COORD = 0x8453 # alias GL_CURRENT_FOG_COORDINATE # FOG_COORD_ARRAY_TYPE = 0x8454 # alias GL_FOG_COORDINATE_ARRAY_TYPE # FOG_COORD_ARRAY_STRIDE = 0x8455 # alias GL_FOG_COORDINATE_ARRAY_STRIDE # FOG_COORD_ARRAY_POINTER = 0x8456 # alias GL_FOG_COORDINATE_ARRAY_POINTER # FOG_COORD_ARRAY = 0x8457 # alias GL_FOG_COORDINATE_ARRAY # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # FOG_COORDINATE_SOURCE = 0x8450 # 1 I # FOG_COORDINATE = 0x8451 # FRAGMENT_DEPTH = 0x8452 # CURRENT_FOG_COORDINATE = 0x8453 # 1 F # FOG_COORDINATE_ARRAY_TYPE = 0x8454 # 1 I # FOG_COORDINATE_ARRAY_STRIDE = 0x8455 # 1 I # FOG_COORDINATE_ARRAY_POINTER = 0x8456 # FOG_COORDINATE_ARRAY = 0x8457 # 1 I # EXT_fog_coord enum: # FOG_COORDINATE_SOURCE_EXT = 0x8450 # 1 I # FOG_COORDINATE_EXT = 0x8451 # FRAGMENT_DEPTH_EXT = 0x8452 # CURRENT_FOG_COORDINATE_EXT = 0x8453 # 1 F # FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454 # 1 I # FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455 # 1 I # FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456 # FOG_COORDINATE_ARRAY_EXT = 0x8457 # 1 I # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # COLOR_SUM = 0x8458 # 1 I # CURRENT_SECONDARY_COLOR = 0x8459 # 3 F # SECONDARY_COLOR_ARRAY_SIZE = 0x845A # 1 I # SECONDARY_COLOR_ARRAY_TYPE = 0x845B # 1 I # SECONDARY_COLOR_ARRAY_STRIDE = 0x845C # 1 I # SECONDARY_COLOR_ARRAY_POINTER = 0x845D # SECONDARY_COLOR_ARRAY = 0x845E # 1 I # EXT_secondary_color enum: # COLOR_SUM_EXT = 0x8458 # 1 I # CURRENT_SECONDARY_COLOR_EXT = 0x8459 # 3 F # SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A # 1 I # SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B # 1 I # SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C # 1 I # SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D # SECONDARY_COLOR_ARRAY_EXT = 0x845E # 1 I # ARB_vertex_program enum: # COLOR_SUM_ARB = 0x8458 # 1 I # ARB_vertex_program # VERSION_2_1 enum: # CURRENT_RASTER_SECONDARY_COLOR = 0x845F ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_icc_texture enum: # RGB_ICC_SGIX = 0x8460 # RGBA_ICC_SGIX = 0x8461 # ALPHA_ICC_SGIX = 0x8462 # LUMINANCE_ICC_SGIX = 0x8463 # INTENSITY_ICC_SGIX = 0x8464 # LUMINANCE_ALPHA_ICC_SGIX = 0x8465 # R5_G6_B5_ICC_SGIX = 0x8466 # R5_G6_B5_A8_ICC_SGIX = 0x8467 # ALPHA16_ICC_SGIX = 0x8468 # LUMINANCE16_ICC_SGIX = 0x8469 # INTENSITY16_ICC_SGIX = 0x846A # LUMINANCE16_ALPHA8_ICC_SGIX = 0x846B ############################################################################### # SGI_future_use: 0x846C ############################################################################### # SMOOTH_* enums are new names for pre-1.2 enums. VERSION_1_2 enum: SMOOTH_POINT_SIZE_RANGE = 0x0B12 # 2 F SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 # 1 F SMOOTH_LINE_WIDTH_RANGE = 0x0B22 # 2 F SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F ALIASED_POINT_SIZE_RANGE = 0x846D # 2 F ALIASED_LINE_WIDTH_RANGE = 0x846E # 2 F ############################################################################### # SGI_future_use: 0x846F ############################################################################### # ATI Technologies (vendor multitexture, spec not yet released): 0x8470-0x848F ############################################################################### # REND (Rendition): 0x8490-0x849F # REND_screen_coordinates enum: # SCREEN_COORDINATES_REND = 0x8490 # INVERTED_SCREEN_W_REND = 0x8491 ############################################################################### # ATI Technologies (vendor multitexture, spec not yet released): 0x84A0-84BF ############################################################################### # OpenGL ARB: 0x84C0-0x84EF # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # ARB_multitexture enum: # TEXTURE0 = 0x84C0 # TEXTURE0_ARB = 0x84C0 # TEXTURE1 = 0x84C1 # TEXTURE1_ARB = 0x84C1 # TEXTURE2 = 0x84C2 # TEXTURE2_ARB = 0x84C2 # TEXTURE3 = 0x84C3 # TEXTURE3_ARB = 0x84C3 # TEXTURE4 = 0x84C4 # TEXTURE4_ARB = 0x84C4 # TEXTURE5 = 0x84C5 # TEXTURE5_ARB = 0x84C5 # TEXTURE6 = 0x84C6 # TEXTURE6_ARB = 0x84C6 # TEXTURE7 = 0x84C7 # TEXTURE7_ARB = 0x84C7 # TEXTURE8 = 0x84C8 # TEXTURE8_ARB = 0x84C8 # TEXTURE9 = 0x84C9 # TEXTURE9_ARB = 0x84C9 # TEXTURE10 = 0x84CA # TEXTURE10_ARB = 0x84CA # TEXTURE11 = 0x84CB # TEXTURE11_ARB = 0x84CB # TEXTURE12 = 0x84CC # TEXTURE12_ARB = 0x84CC # TEXTURE13 = 0x84CD # TEXTURE13_ARB = 0x84CD # TEXTURE14 = 0x84CE # TEXTURE14_ARB = 0x84CE # TEXTURE15 = 0x84CF # TEXTURE15_ARB = 0x84CF # TEXTURE16 = 0x84D0 # TEXTURE16_ARB = 0x84D0 # TEXTURE17 = 0x84D1 # TEXTURE17_ARB = 0x84D1 # TEXTURE18 = 0x84D2 # TEXTURE18_ARB = 0x84D2 # TEXTURE19 = 0x84D3 # TEXTURE19_ARB = 0x84D3 # TEXTURE20 = 0x84D4 # TEXTURE20_ARB = 0x84D4 # TEXTURE21 = 0x84D5 # TEXTURE21_ARB = 0x84D5 # TEXTURE22 = 0x84D6 # TEXTURE22_ARB = 0x84D6 # TEXTURE23 = 0x84D7 # TEXTURE23_ARB = 0x84D7 # TEXTURE24 = 0x84D8 # TEXTURE24_ARB = 0x84D8 # TEXTURE25 = 0x84D9 # TEXTURE25_ARB = 0x84D9 # TEXTURE26 = 0x84DA # TEXTURE26_ARB = 0x84DA # TEXTURE27 = 0x84DB # TEXTURE27_ARB = 0x84DB # TEXTURE28 = 0x84DC # TEXTURE28_ARB = 0x84DC # TEXTURE29 = 0x84DD # TEXTURE29_ARB = 0x84DD # TEXTURE30 = 0x84DE # TEXTURE30_ARB = 0x84DE # TEXTURE31 = 0x84DF # TEXTURE31_ARB = 0x84DF # ACTIVE_TEXTURE = 0x84E0 # 1 I # ACTIVE_TEXTURE_ARB = 0x84E0 # 1 I # CLIENT_ACTIVE_TEXTURE = 0x84E1 # 1 I # CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1 # 1 I # MAX_TEXTURE_UNITS = 0x84E2 # 1 I # MAX_TEXTURE_UNITS_ARB = 0x84E2 # 1 I # These are really core ES 1.1 enums, but haven't included # ES core enums in enum.spec yet # OES_texture_env_crossbar: (OpenGL ES only) # use VERSION_1_3 TEXTURE0 # use VERSION_1_3 TEXTURE1 # use VERSION_1_3 TEXTURE2 # use VERSION_1_3 TEXTURE3 # use VERSION_1_3 TEXTURE4 # use VERSION_1_3 TEXTURE5 # use VERSION_1_3 TEXTURE6 # use VERSION_1_3 TEXTURE7 # use VERSION_1_3 TEXTURE8 # use VERSION_1_3 TEXTURE9 # use VERSION_1_3 TEXTURE10 # use VERSION_1_3 TEXTURE11 # use VERSION_1_3 TEXTURE12 # use VERSION_1_3 TEXTURE13 # use VERSION_1_3 TEXTURE14 # use VERSION_1_3 TEXTURE15 # use VERSION_1_3 TEXTURE16 # use VERSION_1_3 TEXTURE17 # use VERSION_1_3 TEXTURE18 # use VERSION_1_3 TEXTURE19 # use VERSION_1_3 TEXTURE20 # use VERSION_1_3 TEXTURE21 # use VERSION_1_3 TEXTURE22 # use VERSION_1_3 TEXTURE23 # use VERSION_1_3 TEXTURE24 # use VERSION_1_3 TEXTURE25 # use VERSION_1_3 TEXTURE26 # use VERSION_1_3 TEXTURE27 # use VERSION_1_3 TEXTURE28 # use VERSION_1_3 TEXTURE29 # use VERSION_1_3 TEXTURE30 # use VERSION_1_3 TEXTURE31 ############################################################################### # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 # 16 F # TRANSPOSE_PROJECTION_MATRIX = 0x84E4 # 16 F # TRANSPOSE_TEXTURE_MATRIX = 0x84E5 # 16 F # TRANSPOSE_COLOR_MATRIX = 0x84E6 # 16 F # ARB_transpose_matrix enum: # TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3 # 16 F # TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4 # 16 F # TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5 # 16 F # TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 # 16 F # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # SUBTRACT = 0x84E7 # ARB_texture_env_combine enum: # SUBTRACT_ARB = 0x84E7 VERSION_3_0 enum: use ARB_framebuffer_object MAX_RENDERBUFFER_SIZE # ARB_framebuffer_object enum: (note: no ARB suffixes) # MAX_RENDERBUFFER_SIZE = 0x84E8 # VERSION_3_0 / ARB_fbo # EXT_framebuffer_object (additional; see below): # MAX_RENDERBUFFER_SIZE_EXT = 0x84E8 # Aliases EXT_framebuffer_object enum above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # MAX_RENDERBUFFER_SIZE_OES = 0x84E8 # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # COMPRESSED_ALPHA = 0x84E9 # COMPRESSED_LUMINANCE = 0x84EA # COMPRESSED_LUMINANCE_ALPHA = 0x84EB # COMPRESSED_INTENSITY = 0x84EC # COMPRESSED_RGB = 0x84ED # COMPRESSED_RGBA = 0x84EE # TEXTURE_COMPRESSION_HINT = 0x84EF # TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 # TEXTURE_COMPRESSED = 0x86A1 # NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 # COMPRESSED_TEXTURE_FORMATS = 0x86A3 # ARB_texture_compression enum: # COMPRESSED_ALPHA_ARB = 0x84E9 # COMPRESSED_LUMINANCE_ARB = 0x84EA # COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB # COMPRESSED_INTENSITY_ARB = 0x84EC # COMPRESSED_RGB_ARB = 0x84ED # COMPRESSED_RGBA_ARB = 0x84EE # TEXTURE_COMPRESSION_HINT_ARB = 0x84EF # TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0 # TEXTURE_COMPRESSED_ARB = 0x86A1 # NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2 # COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3 ############################################################################### # NVIDIA: 0x84F0-0x855F # NV_future_use: 0x84F0-0x84F1 # NV_fence enum: # ALL_COMPLETED_NV = 0x84F2 # FENCE_STATUS_NV = 0x84F3 # FENCE_CONDITION_NV = 0x84F4 # VERSION_3_1 enum: # TEXTURE_RECTANGLE = 0x84F5 # TEXTURE_BINDING_RECTANGLE = 0x84F6 # PROXY_TEXTURE_RECTANGLE = 0x84F7 # MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 # ARB_texture_rectangle enum: # TEXTURE_RECTANGLE_ARB = 0x84F5 # TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6 # PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7 # MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8 # NV_texture_rectangle enum: # TEXTURE_RECTANGLE_NV = 0x84F5 # TEXTURE_BINDING_RECTANGLE_NV = 0x84F6 # PROXY_TEXTURE_RECTANGLE_NV = 0x84F7 # MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8 VERSION_3_0 enum: use ARB_framebuffer_object DEPTH_STENCIL use ARB_framebuffer_object UNSIGNED_INT_24_8 # ARB_framebuffer_object enum: (note: no ARB suffixes) # DEPTH_STENCIL = 0x84F9 # VERSION_3_0 / ARB_fbo # UNSIGNED_INT_24_8 = 0x84FA # VERSION_3_0 / ARB_fbo # EXT_packed_depth_stencil enum: # DEPTH_STENCIL_EXT = 0x84F9 # UNSIGNED_INT_24_8_EXT = 0x84FA # NV_packed_depth_stencil enum: # DEPTH_STENCIL_NV = 0x84F9 # UNSIGNED_INT_24_8_NV = 0x84FA # Aliases EXT_packed_depth_stencil enums above # OES_packed_depth_stencil enum: (OpenGL ES only) # DEPTH_STENCIL_OES = 0x84F9 # UNSIGNED_INT_24_8_OES = 0x84FA # NV_future_use: 0x84FB-0x84FC # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # MAX_TEXTURE_LOD_BIAS = 0x84FD # EXT_texture_lod_bias enum: # MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD # EXT_texture_filter_anisotropic enum: # TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE # MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # TEXTURE_FILTER_CONTROL = 0x8500 # TEXTURE_LOD_BIAS = 0x8501 # EXT_texture_lod_bias enum: # TEXTURE_FILTER_CONTROL_EXT = 0x8500 # TEXTURE_LOD_BIAS_EXT = 0x8501 # EXT_vertex_weighting enum: # MODELVIEW1_STACK_DEPTH_EXT = 0x8502 # NV_texture_env_combine4 (additional; see below): 0x8503 # NV_light_max_exponent enum: # MAX_SHININESS_NV = 0x8504 # MAX_SPOT_EXPONENT_NV = 0x8505 # EXT_vertex_weighting enum: # MODELVIEW_MATRIX1_EXT = 0x8506 # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # INCR_WRAP = 0x8507 # DECR_WRAP = 0x8508 # EXT_stencil_wrap enum: # INCR_WRAP_EXT = 0x8507 # DECR_WRAP_EXT = 0x8508 # Aliases EXT_stencil_wrap enums above # OES_stencil_wrap enum: (OpenGL ES only) # INCR_WRAP_OES = 0x8507 # DECR_WRAP_OES = 0x8508 # EXT_vertex_weighting enum: # VERTEX_WEIGHTING_EXT = 0x8509 # MODELVIEW1_EXT = 0x850A # CURRENT_VERTEX_WEIGHT_EXT = 0x850B # VERTEX_WEIGHT_ARRAY_EXT = 0x850C # VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D # VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E # VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F # VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510 # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # Note: these are also exposed as NV and EXT, as well as ARB # NV_texgen_reflection enum: # EXT_texture_cube_map enum: # NORMAL_MAP = 0x8511 # REFLECTION_MAP = 0x8512 # TEXTURE_CUBE_MAP = 0x8513 # TEXTURE_BINDING_CUBE_MAP = 0x8514 # TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 # TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 # TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 # TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 # TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 # TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A # PROXY_TEXTURE_CUBE_MAP = 0x851B # MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C # ARB_texture_cube_map enum: # NORMAL_MAP_ARB = 0x8511 # REFLECTION_MAP_ARB = 0x8512 # TEXTURE_CUBE_MAP_ARB = 0x8513 # TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514 # TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515 # TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516 # TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517 # TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518 # TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519 # TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A # PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B # MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C # Aliases ARB_texture_cube_map enums above # OES_texture_cube_map enum: (OpenGL ES only; additional; see below) # NORMAL_MAP_OES = 0x8511 # REFLECTION_MAP_OES = 0x8512 # TEXTURE_CUBE_MAP_OES = 0x8513 # TEXTURE_BINDING_CUBE_MAP_OES = 0x8514 # TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515 # TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516 # TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517 # TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518 # TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519 # TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A # MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C # NV_vertex_array_range enum: # VERTEX_ARRAY_RANGE_NV = 0x851D # VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E # VERTEX_ARRAY_RANGE_VALID_NV = 0x851F # MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520 # VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521 # @@@ How does this interact with NV_vertex_array_range? # APPLE_vertex_array_range enum: # VERTEX_ARRAY_RANGE_APPLE = 0x851D # VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E # VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F # VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521 # STORAGE_CACHED_APPLE = 0x85BE # STORAGE_SHARED_APPLE = 0x85BF # NV_register_combiners enum: # REGISTER_COMBINERS_NV = 0x8522 # VARIABLE_A_NV = 0x8523 # VARIABLE_B_NV = 0x8524 # VARIABLE_C_NV = 0x8525 # VARIABLE_D_NV = 0x8526 # VARIABLE_E_NV = 0x8527 # VARIABLE_F_NV = 0x8528 # VARIABLE_G_NV = 0x8529 # CONSTANT_COLOR0_NV = 0x852A # CONSTANT_COLOR1_NV = 0x852B # PRIMARY_COLOR_NV = 0x852C # SECONDARY_COLOR_NV = 0x852D # SPARE0_NV = 0x852E # SPARE1_NV = 0x852F # DISCARD_NV = 0x8530 # E_TIMES_F_NV = 0x8531 # SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532 # UNSIGNED_IDENTITY_NV = 0x8536 # UNSIGNED_INVERT_NV = 0x8537 # EXPAND_NORMAL_NV = 0x8538 # EXPAND_NEGATE_NV = 0x8539 # HALF_BIAS_NORMAL_NV = 0x853A # HALF_BIAS_NEGATE_NV = 0x853B # SIGNED_IDENTITY_NV = 0x853C # UNSIGNED_NEGATE_NV = 0x853D # SCALE_BY_TWO_NV = 0x853E # SCALE_BY_FOUR_NV = 0x853F # SCALE_BY_ONE_HALF_NV = 0x8540 # BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541 # COMBINER_INPUT_NV = 0x8542 # COMBINER_MAPPING_NV = 0x8543 # COMBINER_COMPONENT_USAGE_NV = 0x8544 # COMBINER_AB_DOT_PRODUCT_NV = 0x8545 # COMBINER_CD_DOT_PRODUCT_NV = 0x8546 # COMBINER_MUX_SUM_NV = 0x8547 # COMBINER_SCALE_NV = 0x8548 # COMBINER_BIAS_NV = 0x8549 # COMBINER_AB_OUTPUT_NV = 0x854A # COMBINER_CD_OUTPUT_NV = 0x854B # COMBINER_SUM_OUTPUT_NV = 0x854C # MAX_GENERAL_COMBINERS_NV = 0x854D # NUM_GENERAL_COMBINERS_NV = 0x854E # COLOR_SUM_CLAMP_NV = 0x854F # COMBINER0_NV = 0x8550 # COMBINER1_NV = 0x8551 # COMBINER2_NV = 0x8552 # COMBINER3_NV = 0x8553 # COMBINER4_NV = 0x8554 # COMBINER5_NV = 0x8555 # COMBINER6_NV = 0x8556 # COMBINER7_NV = 0x8557 # NV_vertex_array_range2: # VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533 # NV_multisample_filter_hint: # MULTISAMPLE_FILTER_HINT_NV = 0x8534 # NV_register_combiners2 enum: # PER_STAGE_CONSTANTS_NV = 0x8535 # NV_register_combiners (additional; see above): 0x8536-0x8557 # NV_primitive_restart enum: # PRIMITIVE_RESTART_NV = 0x8558 # PRIMITIVE_RESTART_INDEX_NV = 0x8559 # NV_fog_distance enum: # FOG_GEN_MODE_NV = 0x855A # EYE_RADIAL_NV = 0x855B # EYE_PLANE_ABSOLUTE_NV = 0x855C # NV_texgen_emboss enum: # EMBOSS_LIGHT_NV = 0x855D # EMBOSS_CONSTANT_NV = 0x855E # EMBOSS_MAP_NV = 0x855F ############################################################################### # Intergraph/Intense3D/3Dlabs: 0x8560-0x856F # INGR_color_clamp enum: # RED_MIN_CLAMP_INGR = 0x8560 # GREEN_MIN_CLAMP_INGR = 0x8561 # BLUE_MIN_CLAMP_INGR = 0x8562 # ALPHA_MIN_CLAMP_INGR = 0x8563 # RED_MAX_CLAMP_INGR = 0x8564 # GREEN_MAX_CLAMP_INGR = 0x8565 # BLUE_MAX_CLAMP_INGR = 0x8566 # ALPHA_MAX_CLAMP_INGR = 0x8567 # INGR_interlace_read enum: # INTERLACE_READ_INGR = 0x8568 # 3Dlabs_future_use: 0x8569-0x856F ############################################################################### # ATI/NVIDIA: 0x8570-0x859F # VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5) # SRC0_RGB = 0x8580 # alias GL_SOURCE0_RGB # SRC1_RGB = 0x8581 # alias GL_SOURCE1_RGB # SRC2_RGB = 0x8582 # alias GL_SOURCE2_RGB # SRC0_ALPHA = 0x8588 # alias GL_SOURCE0_ALPHA # SRC1_ALPHA = 0x8589 # alias GL_SOURCE1_ALPHA # SRC2_ALPHA = 0x858A # alias GL_SOURCE2_ALPHA # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # COMBINE = 0x8570 # COMBINE_RGB = 0x8571 # COMBINE_ALPHA = 0x8572 # RGB_SCALE = 0x8573 # ADD_SIGNED = 0x8574 # INTERPOLATE = 0x8575 # CONSTANT = 0x8576 # PRIMARY_COLOR = 0x8577 # PREVIOUS = 0x8578 # SOURCE0_RGB = 0x8580 # SOURCE1_RGB = 0x8581 # SOURCE2_RGB = 0x8582 # SOURCE0_ALPHA = 0x8588 # SOURCE1_ALPHA = 0x8589 # SOURCE2_ALPHA = 0x858A # OPERAND0_RGB = 0x8590 # OPERAND1_RGB = 0x8591 # OPERAND2_RGB = 0x8592 # OPERAND0_ALPHA = 0x8598 # OPERAND1_ALPHA = 0x8599 # OPERAND2_ALPHA = 0x859A # EXT_texture_env_combine enum: # COMBINE_EXT = 0x8570 # COMBINE_RGB_EXT = 0x8571 # COMBINE_ALPHA_EXT = 0x8572 # RGB_SCALE_EXT = 0x8573 # ADD_SIGNED_EXT = 0x8574 # INTERPOLATE_EXT = 0x8575 # CONSTANT_EXT = 0x8576 # PRIMARY_COLOR_EXT = 0x8577 # PREVIOUS_EXT = 0x8578 # SOURCE0_RGB_EXT = 0x8580 # SOURCE1_RGB_EXT = 0x8581 # SOURCE2_RGB_EXT = 0x8582 # SOURCE0_ALPHA_EXT = 0x8588 # SOURCE1_ALPHA_EXT = 0x8589 # SOURCE2_ALPHA_EXT = 0x858A # OPERAND0_RGB_EXT = 0x8590 # OPERAND1_RGB_EXT = 0x8591 # OPERAND2_RGB_EXT = 0x8592 # OPERAND0_ALPHA_EXT = 0x8598 # OPERAND1_ALPHA_EXT = 0x8599 # OPERAND2_ALPHA_EXT = 0x859A # NV_texture_env_combine4 enum: # COMBINE4_NV = 0x8503 # SOURCE3_RGB_NV = 0x8583 # SOURCE3_ALPHA_NV = 0x858B # OPERAND3_RGB_NV = 0x8593 # OPERAND3_ALPHA_NV = 0x859B # "Future use" => "additional combiner input/output enums" only # ATI/NVIDIA_future_use: 0x8584-0x8587 # ATI/NVIDIA_future_use: 0x858C-0x858F # ATI/NVIDIA_future_use: 0x8594-0x8597 # ATI/NVIDIA_future_use: 0x859C-0x859F ############################################################################### SGIX_subsample enum: PACK_SUBSAMPLE_RATE_SGIX = 0x85A0 UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1 PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2 PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 ############################################################################### # Incomplete extension, not in enumext.spec # SGIS_color_range: 0x85A5-0x85AD # EXTENDED_RANGE_SGIS = 0x85A5 # MIN_RED_SGIS = 0x85A6 # MAX_RED_SGIS = 0x85A7 # MIN_GREEN_SGIS = 0x85A8 # MAX_GREEN_SGIS = 0x85A9 # MIN_BLUE_SGIS = 0x85AA # MAX_BLUE_SGIS = 0x85AB # MIN_ALPHA_SGIS = 0x85AC # MAX_ALPHA_SGIS = 0x85AD ############################################################################### # EXT_texture_perturb_normal enum: # PERTURB_EXT = 0x85AE # TEXTURE_NORMAL_EXT = 0x85AF ############################################################################### # Apple: 0x85B0-0x85BF # APPLE_specular_vector enum: # LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0 # APPLE_transform_hint enum: # TRANSFORM_HINT_APPLE = 0x85B1 # APPLE_client_storage enum: # UNPACK_CLIENT_STORAGE_APPLE = 0x85B2 # APPLE_future_use: 0x85B3-0x85B4 ## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name # BUFFER_OBJECT_APPLE = 0x85B3 # STORAGE_CLIENT_APPLE = 0x85B4 VERSION_3_0 enum: use ARB_vertex_array_object VERTEX_ARRAY_BINDING # ARB_vertex_array_object enum: (note: no ARB suffixes) # VERTEX_ARRAY_BINDING = 0x85B5 # VERSION_3_0 / ARB_vao # APPLE_vertex_array_object enum: # VERTEX_ARRAY_BINDING_APPLE = 0x85B5 # APPLE_future_use: 0x85B6-0x85B8 ## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name # TEXTURE_MINIMIZE_STORAGE_APPLE = 0x85B6 # TEXTURE_RANGE_LENGTH_APPLE = 0x85B7 # TEXTURE_RANGE_POINTER_APPLE = 0x85B8 # APPLE_ycbcr_422 enum: # YCBCR_422_APPLE = 0x85B9 # UNSIGNED_SHORT_8_8_APPLE = 0x85BA # UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB # MESA_ycbcr_texture enum: (additional; see below) # UNSIGNED_SHORT_8_8_MESA = 0x85BA # UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB # APPLE_future_use: 0x85BC-0x85BD ## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name # TEXTURE_STORAGE_HINT_APPLE = 0x85BC # STORAGE_PRIVATE_APPLE = 0x85BD # APPLE_vertex_array_range (additional; see above): 0x85BE-0x85BF ############################################################################### # Sun: 0x85C0-0x85CF # SUNX_general_triangle_list (additional; see above): 0x85C0-0x85CB # SUN_slice_accum: 0x85CC # SLICE_ACCUM_SUN = 0x85CC ############################################################################### # Unknown extension name, not in enumext.spec # 3Dlabs/Autodesk: 0x85D0-0x85DF # FACET_NORMAL_AUTODESK = 0x85D0 # FACET_NORMAL_ARRAY_AUTODESK = 0x85D1 ############################################################################### # Incomplete extension, not in enumext.spec # SGIX_texture_range: 0x85E0-0x85FB # RGB_SIGNED_SGIX = 0x85E0 # RGBA_SIGNED_SGIX = 0x85E1 # ALPHA_SIGNED_SGIX = 0x85E2 # LUMINANCE_SIGNED_SGIX = 0x85E3 # INTENSITY_SIGNED_SGIX = 0x85E4 # LUMINANCE_ALPHA_SIGNED_SGIX = 0x85E5 # RGB16_SIGNED_SGIX = 0x85E6 # RGBA16_SIGNED_SGIX = 0x85E7 # ALPHA16_SIGNED_SGIX = 0x85E8 # LUMINANCE16_SIGNED_SGIX = 0x85E9 # INTENSITY16_SIGNED_SGIX = 0x85EA # LUMINANCE16_ALPHA16_SIGNED_SGIX = 0x85EB # RGB_EXTENDED_RANGE_SGIX = 0x85EC # RGBA_EXTENDED_RANGE_SGIX = 0x85ED # ALPHA_EXTENDED_RANGE_SGIX = 0x85EE # LUMINANCE_EXTENDED_RANGE_SGIX = 0x85EF # INTENSITY_EXTENDED_RANGE_SGIX = 0x85F0 # LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX = 0x85F1 # RGB16_EXTENDED_RANGE_SGIX = 0x85F2 # RGBA16_EXTENDED_RANGE_SGIX = 0x85F3 # ALPHA16_EXTENDED_RANGE_SGIX = 0x85F4 # LUMINANCE16_EXTENDED_RANGE_SGIX = 0x85F5 # INTENSITY16_EXTENDED_RANGE_SGIX = 0x85F6 # LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX = 0x85F7 # MIN_LUMINANCE_SGIS = 0x85F8 # MAX_LUMINANCE_SGIS = 0x85F9 # MIN_INTENSITY_SGIS = 0x85FA # MAX_INTENSITY_SGIS = 0x85FB ############################################################################### # SGI_future_use: 0x85FC-0x85FF ############################################################################### # Sun: 0x8600-0x861F # SUN_mesh_array: 0x8614-0x8615 # QUAD_MESH_SUN = 0x8614 # TRIANGLE_MESH_SUN = 0x8615 ############################################################################### # NVIDIA: 0x8620-0x867F # NV_vertex_program enum: # VERTEX_PROGRAM_NV = 0x8620 # VERTEX_STATE_PROGRAM_NV = 0x8621 # ATTRIB_ARRAY_SIZE_NV = 0x8623 # ATTRIB_ARRAY_STRIDE_NV = 0x8624 # ATTRIB_ARRAY_TYPE_NV = 0x8625 # CURRENT_ATTRIB_NV = 0x8626 # PROGRAM_LENGTH_NV = 0x8627 # PROGRAM_STRING_NV = 0x8628 # MODELVIEW_PROJECTION_NV = 0x8629 # IDENTITY_NV = 0x862A # INVERSE_NV = 0x862B # TRANSPOSE_NV = 0x862C # INVERSE_TRANSPOSE_NV = 0x862D # MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E # MAX_TRACK_MATRICES_NV = 0x862F # MATRIX0_NV = 0x8630 # MATRIX1_NV = 0x8631 # MATRIX2_NV = 0x8632 # MATRIX3_NV = 0x8633 # MATRIX4_NV = 0x8634 # MATRIX5_NV = 0x8635 # MATRIX6_NV = 0x8636 # MATRIX7_NV = 0x8637 # ################## # # # # Reserved: # # # # MATRIX8_NV = 0x8638 # # MATRIX9_NV = 0x8639 # # MATRIX10_NV = 0x863A # # MATRIX11_NV = 0x863B # # MATRIX12_NV = 0x863C # # MATRIX13_NV = 0x863D # # MATRIX14_NV = 0x863E # # MATRIX15_NV = 0x863F # # # ################### # CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640 # CURRENT_MATRIX_NV = 0x8641 # VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642 # VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643 # PROGRAM_PARAMETER_NV = 0x8644 # ATTRIB_ARRAY_POINTER_NV = 0x8645 # PROGRAM_TARGET_NV = 0x8646 # PROGRAM_RESIDENT_NV = 0x8647 # TRACK_MATRIX_NV = 0x8648 # TRACK_MATRIX_TRANSFORM_NV = 0x8649 # VERTEX_PROGRAM_BINDING_NV = 0x864A # PROGRAM_ERROR_POSITION_NV = 0x864B # VERTEX_ATTRIB_ARRAY0_NV = 0x8650 # VERTEX_ATTRIB_ARRAY1_NV = 0x8651 # VERTEX_ATTRIB_ARRAY2_NV = 0x8652 # VERTEX_ATTRIB_ARRAY3_NV = 0x8653 # VERTEX_ATTRIB_ARRAY4_NV = 0x8654 # VERTEX_ATTRIB_ARRAY5_NV = 0x8655 # VERTEX_ATTRIB_ARRAY6_NV = 0x8656 # VERTEX_ATTRIB_ARRAY7_NV = 0x8657 # VERTEX_ATTRIB_ARRAY8_NV = 0x8658 # VERTEX_ATTRIB_ARRAY9_NV = 0x8659 # VERTEX_ATTRIB_ARRAY10_NV = 0x865A # VERTEX_ATTRIB_ARRAY11_NV = 0x865B # VERTEX_ATTRIB_ARRAY12_NV = 0x865C # VERTEX_ATTRIB_ARRAY13_NV = 0x865D # VERTEX_ATTRIB_ARRAY14_NV = 0x865E # VERTEX_ATTRIB_ARRAY15_NV = 0x865F # MAP1_VERTEX_ATTRIB0_4_NV = 0x8660 # MAP1_VERTEX_ATTRIB1_4_NV = 0x8661 # MAP1_VERTEX_ATTRIB2_4_NV = 0x8662 # MAP1_VERTEX_ATTRIB3_4_NV = 0x8663 # MAP1_VERTEX_ATTRIB4_4_NV = 0x8664 # MAP1_VERTEX_ATTRIB5_4_NV = 0x8665 # MAP1_VERTEX_ATTRIB6_4_NV = 0x8666 # MAP1_VERTEX_ATTRIB7_4_NV = 0x8667 # MAP1_VERTEX_ATTRIB8_4_NV = 0x8668 # MAP1_VERTEX_ATTRIB9_4_NV = 0x8669 # MAP1_VERTEX_ATTRIB10_4_NV = 0x866A # MAP1_VERTEX_ATTRIB11_4_NV = 0x866B # MAP1_VERTEX_ATTRIB12_4_NV = 0x866C # MAP1_VERTEX_ATTRIB13_4_NV = 0x866D # MAP1_VERTEX_ATTRIB14_4_NV = 0x866E # MAP1_VERTEX_ATTRIB15_4_NV = 0x866F # MAP2_VERTEX_ATTRIB0_4_NV = 0x8670 # MAP2_VERTEX_ATTRIB1_4_NV = 0x8671 # MAP2_VERTEX_ATTRIB2_4_NV = 0x8672 # MAP2_VERTEX_ATTRIB3_4_NV = 0x8673 # MAP2_VERTEX_ATTRIB4_4_NV = 0x8674 # MAP2_VERTEX_ATTRIB5_4_NV = 0x8675 # MAP2_VERTEX_ATTRIB6_4_NV = 0x8676 # MAP2_VERTEX_ATTRIB7_4_NV = 0x8677 # MAP2_VERTEX_ATTRIB8_4_NV = 0x8678 # MAP2_VERTEX_ATTRIB9_4_NV = 0x8679 # MAP2_VERTEX_ATTRIB10_4_NV = 0x867A # MAP2_VERTEX_ATTRIB11_4_NV = 0x867B # MAP2_VERTEX_ATTRIB12_4_NV = 0x867C # MAP2_VERTEX_ATTRIB13_4_NV = 0x867D # MAP2_VERTEX_ATTRIB14_4_NV = 0x867E # MAP2_VERTEX_ATTRIB15_4_NV = 0x867F # NV_texture_shader (additional; see below): 0x864C-0x864E # ARB_geometry_shader4 enum: (additional; see below) # NV_geometry_program4 enum: (additional; see below) # PROGRAM_POINT_SIZE_ARB = 0x8642 # PROGRAM_POINT_SIZE_EXT = 0x8642 # NV_depth_clamp enum: # DEPTH_CLAMP_NV = 0x864F # VERSION_2_0 enum: (Promoted from ARB_vertex_shader; only some values) # ARB_vertex_program enum: (additional; see above; reuses NV_vertex_program values) # ARB_fragment_program enum: (additional; only some values; see below) # (Unfortunately, PROGRAM_BINDING_ARB does accidentally reuse 0x8677) # VERTEX_PROGRAM_ARB = 0x8620 # VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622 # VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623 # VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624 # VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625 # CURRENT_VERTEX_ATTRIB = 0x8626 # VERSION_2_0 # CURRENT_VERTEX_ATTRIB_ARB = 0x8626 # PROGRAM_LENGTH_ARB = 0x8627 # ARB_fragment_program # PROGRAM_STRING_ARB = 0x8628 # ARB_fragment_program # MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E # ARB_fragment_program # MAX_PROGRAM_MATRICES_ARB = 0x862F # ARB_fragment_program # CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 # ARB_fragment_program # CURRENT_MATRIX_ARB = 0x8641 # ARB_fragment_program # VERTEX_PROGRAM_POINT_SIZE = 0x8642 # VERSION_2_0 # VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642 # VERTEX_PROGRAM_TWO_SIDE = 0x8643 # VERSION_2_0 # VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643 # VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645 # PROGRAM_ERROR_POSITION_ARB = 0x864B # ARB_fragment_program # PROGRAM_BINDING_ARB = 0x8677 # ARB_fragment_program ############################################################################### # Pixelfusion: 0x8680-0x869F ############################################################################### # OpenGL ARB: 0x86A0-0x86AF # ARB_texture_compression/1.3 (additional; see above): 0x86A0-0x86A3 # ARB_vertex_blend enum: # MAX_VERTEX_UNITS_ARB = 0x86A4 # ACTIVE_VERTEX_UNITS_ARB = 0x86A5 # WEIGHT_SUM_UNITY_ARB = 0x86A6 # VERTEX_BLEND_ARB = 0x86A7 # CURRENT_WEIGHT_ARB = 0x86A8 # WEIGHT_ARRAY_TYPE_ARB = 0x86A9 # WEIGHT_ARRAY_STRIDE_ARB = 0x86AA # WEIGHT_ARRAY_SIZE_ARB = 0x86AB # WEIGHT_ARRAY_POINTER_ARB = 0x86AC # WEIGHT_ARRAY_ARB = 0x86AD # Note: MODELVIEW0/1 are defined in other extensions, but not as ARB) # MODELVIEW0_ARB = 0x1700 # MODELVIEW1_ARB = 0x850A # MODELVIEW2_ARB = 0x8722 # MODELVIEW3_ARB = 0x8723 # MODELVIEW4_ARB = 0x8724 # MODELVIEW5_ARB = 0x8725 # MODELVIEW6_ARB = 0x8726 # MODELVIEW7_ARB = 0x8727 # MODELVIEW8_ARB = 0x8728 # MODELVIEW9_ARB = 0x8729 # MODELVIEW10_ARB = 0x872A # MODELVIEW11_ARB = 0x872B # MODELVIEW12_ARB = 0x872C # MODELVIEW13_ARB = 0x872D # MODELVIEW14_ARB = 0x872E # MODELVIEW15_ARB = 0x872F # MODELVIEW16_ARB = 0x8730 # MODELVIEW17_ARB = 0x8731 # MODELVIEW18_ARB = 0x8732 # MODELVIEW19_ARB = 0x8733 # MODELVIEW20_ARB = 0x8734 # MODELVIEW21_ARB = 0x8735 # MODELVIEW22_ARB = 0x8736 # MODELVIEW23_ARB = 0x8737 # MODELVIEW24_ARB = 0x8738 # MODELVIEW25_ARB = 0x8739 # MODELVIEW26_ARB = 0x873A # MODELVIEW27_ARB = 0x873B # MODELVIEW28_ARB = 0x873C # MODELVIEW29_ARB = 0x873D # MODELVIEW30_ARB = 0x873E # MODELVIEW31_ARB = 0x873F # Aliases ARB_vertex_blend enums above # OES_matrix_palette enum: (OpenGL ES only; additional; see below) # MAX_VERTEX_UNITS_OES = 0x86A4 # WEIGHT_ARRAY_OES = 0x86AD # WEIGHT_ARRAY_TYPE_OES = 0x86A9 # WEIGHT_ARRAY_STRIDE_OES = 0x86AA # WEIGHT_ARRAY_SIZE_OES = 0x86AB # WEIGHT_ARRAY_POINTER_OES = 0x86AC # VERSION_1_3 enum: (Promoted for OpenGL 1.3) # DOT3_RGB = 0x86AE # DOT3_RGBA = 0x86AF # ARB_texture_env_dot3 # DOT3_RGB_ARB = 0x86AE # DOT3_RGBA_ARB = 0x86AF # IMG_texture_env_enhanced_fixed_function (OpenGL ES only; additional; see below) # DOT3_RGBA_IMG = 0x86AF ############################################################################### # 3Dfx: 0x86B0-0x86BF # 3DFX_texture_compression_FXT1 enum: # COMPRESSED_RGB_FXT1_3DFX = 0x86B0 # COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 # 3DFX_multisample enum: # MULTISAMPLE_3DFX = 0x86B2 # SAMPLE_BUFFERS_3DFX = 0x86B3 # SAMPLES_3DFX = 0x86B4 # MULTISAMPLE_BIT_3DFX = 0x20000000 ############################################################################### # NVIDIA: 0x86C0-0x871F # NV_evaluators enum: # EVAL_2D_NV = 0x86C0 # EVAL_TRIANGULAR_2D_NV = 0x86C1 # MAP_TESSELLATION_NV = 0x86C2 # MAP_ATTRIB_U_ORDER_NV = 0x86C3 # MAP_ATTRIB_V_ORDER_NV = 0x86C4 # EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5 # EVAL_VERTEX_ATRRIB0_NV = 0x86C6 # EVAL_VERTEX_ATRRIB1_NV = 0x86C7 # EVAL_VERTEX_ATRRIB2_NV = 0x86C8 # EVAL_VERTEX_ATRRIB3_NV = 0x86C9 # EVAL_VERTEX_ATRRIB4_NV = 0x86CA # EVAL_VERTEX_ATRRIB5_NV = 0x86CB # EVAL_VERTEX_ATRRIB6_NV = 0x86CC # EVAL_VERTEX_ATRRIB7_NV = 0x86CD # EVAL_VERTEX_ATRRIB8_NV = 0x86CE # EVAL_VERTEX_ATRRIB9_NV = 0x86CF # EVAL_VERTEX_ATRRIB10_NV = 0x86D0 # EVAL_VERTEX_ATRRIB11_NV = 0x86D1 # EVAL_VERTEX_ATRRIB12_NV = 0x86D2 # EVAL_VERTEX_ATRRIB13_NV = 0x86D3 # EVAL_VERTEX_ATRRIB14_NV = 0x86D4 # EVAL_VERTEX_ATRRIB15_NV = 0x86D5 # MAX_MAP_TESSELLATION_NV = 0x86D6 # MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7 # NV_future_use: 0x86D8 # NV_texture_shader enum: # OFFSET_TEXTURE_RECTANGLE_NV = 0x864C # OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D # DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E # RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9 # UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA # UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB # DSDT_MAG_INTENSITY_NV = 0x86DC # SHADER_CONSISTENT_NV = 0x86DD # TEXTURE_SHADER_NV = 0x86DE # SHADER_OPERATION_NV = 0x86DF # CULL_MODES_NV = 0x86E0 # OFFSET_TEXTURE_MATRIX_NV = 0x86E1 # OFFSET_TEXTURE_SCALE_NV = 0x86E2 # OFFSET_TEXTURE_BIAS_NV = 0x86E3 # OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV # OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV # OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV # PREVIOUS_TEXTURE_INPUT_NV = 0x86E4 # CONST_EYE_NV = 0x86E5 # PASS_THROUGH_NV = 0x86E6 # CULL_FRAGMENT_NV = 0x86E7 # OFFSET_TEXTURE_2D_NV = 0x86E8 # DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9 # DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA # DOT_PRODUCT_NV = 0x86EC # DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED # DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE # DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0 # DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1 # DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2 # DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3 # HILO_NV = 0x86F4 # DSDT_NV = 0x86F5 # DSDT_MAG_NV = 0x86F6 # DSDT_MAG_VIB_NV = 0x86F7 # HILO16_NV = 0x86F8 # SIGNED_HILO_NV = 0x86F9 # SIGNED_HILO16_NV = 0x86FA # SIGNED_RGBA_NV = 0x86FB # SIGNED_RGBA8_NV = 0x86FC # SIGNED_RGB_NV = 0x86FE # SIGNED_RGB8_NV = 0x86FF # SIGNED_LUMINANCE_NV = 0x8701 # SIGNED_LUMINANCE8_NV = 0x8702 # SIGNED_LUMINANCE_ALPHA_NV = 0x8703 # SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704 # SIGNED_ALPHA_NV = 0x8705 # SIGNED_ALPHA8_NV = 0x8706 # SIGNED_INTENSITY_NV = 0x8707 # SIGNED_INTENSITY8_NV = 0x8708 # DSDT8_NV = 0x8709 # DSDT8_MAG8_NV = 0x870A # DSDT8_MAG8_INTENSITY8_NV = 0x870B # SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C # SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D # HI_SCALE_NV = 0x870E # LO_SCALE_NV = 0x870F # DS_SCALE_NV = 0x8710 # DT_SCALE_NV = 0x8711 # MAGNITUDE_SCALE_NV = 0x8712 # VIBRANCE_SCALE_NV = 0x8713 # HI_BIAS_NV = 0x8714 # LO_BIAS_NV = 0x8715 # DS_BIAS_NV = 0x8716 # DT_BIAS_NV = 0x8717 # MAGNITUDE_BIAS_NV = 0x8718 # VIBRANCE_BIAS_NV = 0x8719 # TEXTURE_BORDER_VALUES_NV = 0x871A # TEXTURE_HI_SIZE_NV = 0x871B # TEXTURE_LO_SIZE_NV = 0x871C # TEXTURE_DS_SIZE_NV = 0x871D # TEXTURE_DT_SIZE_NV = 0x871E # TEXTURE_MAG_SIZE_NV = 0x871F # NV_texture_shader2 enum: # DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF # NV_future_use: 0x86EB # NV_future_use: 0x86FD # NV_future_use: 0x8700 ############################################################################### # OpenGL ARB: 0x8720-0x873F # ARB_vertex_blend (additional; see above): 0x8720-0x873F ############################################################################### # ATI: 0x8740-0x874F # EXT_texture_env_dot3 enum: # DOT3_RGB_EXT = 0x8740 # DOT3_RGBA_EXT = 0x8741 # There's a collision between AMD_program_binary_Z400 and EXT_texture_env_dot3! # AMD_program_binary_Z400 enum: (OpenGL ES only) # Z400_BINARY_AMD = 0x8740 # There's a collision between OES_get_program_binary and EXT_texture_env_dot3! # OES_get_program_binary: (OpenGL ES only; additional; see below) # PROGRAM_BINARY_LENGTH_OES = 0x8741 # ATI_texture_mirror_once enum: # MIRROR_CLAMP_ATI = 0x8742 # MIRROR_CLAMP_TO_EDGE_ATI = 0x8743 # EXT_texture_mirror_clamp enum: # MIRROR_CLAMP_EXT = 0x8742 # MIRROR_CLAMP_TO_EDGE_EXT = 0x8743 # ATI_texture_env_combine3 enum: # MODULATE_ADD_ATI = 0x8744 # MODULATE_SIGNED_ADD_ATI = 0x8745 # MODULATE_SUBTRACT_ATI = 0x8746 # ATI_future_use: 0x8747-0x874F ############################################################################### # MESA: 0x8750-0x875F # MESA_packed_depth_stencil enum: # DEPTH_STENCIL_MESA = 0x8750 # UNSIGNED_INT_24_8_MESA = 0x8751 # UNSIGNED_INT_8_24_REV_MESA = 0x8752 # UNSIGNED_SHORT_15_1_MESA = 0x8753 # UNSIGNED_SHORT_1_15_REV_MESA = 0x8754 # MESA_trace enum: # TRACE_ALL_BITS_MESA = 0xFFFF # TRACE_OPERATIONS_BIT_MESA = 0x0001 # TRACE_PRIMITIVES_BIT_MESA = 0x0002 # TRACE_ARRAYS_BIT_MESA = 0x0004 # TRACE_TEXTURES_BIT_MESA = 0x0008 # TRACE_PIXELS_BIT_MESA = 0x0010 # TRACE_ERRORS_BIT_MESA = 0x0020 # TRACE_MASK_MESA = 0x8755 # TRACE_NAME_MESA = 0x8756 # MESA_ycbcr_texture enum: # YCBCR_MESA = 0x8757 # MESA_pack_invert enum: # PACK_INVERT_MESA = 0x8758 # MESAX_texture_stack enum: # TEXTURE_1D_STACK_MESAX = 0x8759 # TEXTURE_2D_STACK_MESAX = 0x875A # PROXY_TEXTURE_1D_STACK_MESAX = 0x875B # PROXY_TEXTURE_2D_STACK_MESAX = 0x875C # TEXTURE_1D_STACK_BINDING_MESAX = 0x875D # TEXTURE_2D_STACK_BINDING_MESAX = 0x875E # MESA_shader_debug enum: # DEBUG_OBJECT_MESA = 0x8759 # DEBUG_PRINT_MESA = 0x875A # DEBUG_ASSERT_MESA = 0x875B # MESA_future_use: 0x875F ############################################################################### # ATI: 0x8760-0x883F # ATI_vertex_array_object enum: # STATIC_ATI = 0x8760 # DYNAMIC_ATI = 0x8761 # PRESERVE_ATI = 0x8762 # DISCARD_ATI = 0x8763 # OBJECT_BUFFER_SIZE_ATI = 0x8764 # OBJECT_BUFFER_USAGE_ATI = 0x8765 # ARRAY_OBJECT_BUFFER_ATI = 0x8766 # ARRAY_OBJECT_OFFSET_ATI = 0x8767 # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # BUFFER_SIZE = 0x8764 # BUFFER_USAGE = 0x8765 # ARB_vertex_buffer_object enum (additional; aliases some ATI enums; see below) # BUFFER_SIZE_ARB = 0x8764 # BUFFER_USAGE_ARB = 0x8765 # ATI_element_array enum: # ELEMENT_ARRAY_ATI = 0x8768 # ELEMENT_ARRAY_TYPE_ATI = 0x8769 # ELEMENT_ARRAY_POINTER_ATI = 0x876A # @@@ (extends ATI_element_array, I think???) # APPLE_element_array enum: # ELEMENT_ARRAY_APPLE = 0x8768 # ELEMENT_ARRAY_TYPE_APPLE = 0x8769 # ELEMENT_ARRAY_POINTER_APPLE = 0x876A # ATI_vertex_streams enum: # MAX_VERTEX_STREAMS_ATI = 0x876B # VERTEX_STREAM0_ATI = 0x876C # VERTEX_STREAM1_ATI = 0x876D # VERTEX_STREAM2_ATI = 0x876E # VERTEX_STREAM3_ATI = 0x876F # VERTEX_STREAM4_ATI = 0x8770 # VERTEX_STREAM5_ATI = 0x8771 # VERTEX_STREAM6_ATI = 0x8772 # VERTEX_STREAM7_ATI = 0x8773 # VERTEX_SOURCE_ATI = 0x8774 # ATI_envmap_bumpmap enum: # BUMP_ROT_MATRIX_ATI = 0x8775 # BUMP_ROT_MATRIX_SIZE_ATI = 0x8776 # BUMP_NUM_TEX_UNITS_ATI = 0x8777 # BUMP_TEX_UNITS_ATI = 0x8778 # DUDV_ATI = 0x8779 # DU8DV8_ATI = 0x877A # BUMP_ENVMAP_ATI = 0x877B # BUMP_TARGET_ATI = 0x877C # ATI_future_use: 0x877D-0x877F # EXT_vertex_shader enum: # VERTEX_SHADER_EXT = 0x8780 # VERTEX_SHADER_BINDING_EXT = 0x8781 # OP_INDEX_EXT = 0x8782 # OP_NEGATE_EXT = 0x8783 # OP_DOT3_EXT = 0x8784 # OP_DOT4_EXT = 0x8785 # OP_MUL_EXT = 0x8786 # OP_ADD_EXT = 0x8787 # OP_MADD_EXT = 0x8788 # OP_FRAC_EXT = 0x8789 # OP_MAX_EXT = 0x878A # OP_MIN_EXT = 0x878B # OP_SET_GE_EXT = 0x878C # OP_SET_LT_EXT = 0x878D # OP_CLAMP_EXT = 0x878E # OP_FLOOR_EXT = 0x878F # OP_ROUND_EXT = 0x8790 # OP_EXP_BASE_2_EXT = 0x8791 # OP_LOG_BASE_2_EXT = 0x8792 # OP_POWER_EXT = 0x8793 # OP_RECIP_EXT = 0x8794 # OP_RECIP_SQRT_EXT = 0x8795 # OP_SUB_EXT = 0x8796 # OP_CROSS_PRODUCT_EXT = 0x8797 # OP_MULTIPLY_MATRIX_EXT = 0x8798 # OP_MOV_EXT = 0x8799 # OUTPUT_VERTEX_EXT = 0x879A # OUTPUT_COLOR0_EXT = 0x879B # OUTPUT_COLOR1_EXT = 0x879C # OUTPUT_TEXTURE_COORD0_EXT = 0x879D # OUTPUT_TEXTURE_COORD1_EXT = 0x879E # OUTPUT_TEXTURE_COORD2_EXT = 0x879F # OUTPUT_TEXTURE_COORD3_EXT = 0x87A0 # OUTPUT_TEXTURE_COORD4_EXT = 0x87A1 # OUTPUT_TEXTURE_COORD5_EXT = 0x87A2 # OUTPUT_TEXTURE_COORD6_EXT = 0x87A3 # OUTPUT_TEXTURE_COORD7_EXT = 0x87A4 # OUTPUT_TEXTURE_COORD8_EXT = 0x87A5 # OUTPUT_TEXTURE_COORD9_EXT = 0x87A6 # OUTPUT_TEXTURE_COORD10_EXT = 0x87A7 # OUTPUT_TEXTURE_COORD11_EXT = 0x87A8 # OUTPUT_TEXTURE_COORD12_EXT = 0x87A9 # OUTPUT_TEXTURE_COORD13_EXT = 0x87AA # OUTPUT_TEXTURE_COORD14_EXT = 0x87AB # OUTPUT_TEXTURE_COORD15_EXT = 0x87AC # OUTPUT_TEXTURE_COORD16_EXT = 0x87AD # OUTPUT_TEXTURE_COORD17_EXT = 0x87AE # OUTPUT_TEXTURE_COORD18_EXT = 0x87AF # OUTPUT_TEXTURE_COORD19_EXT = 0x87B0 # OUTPUT_TEXTURE_COORD20_EXT = 0x87B1 # OUTPUT_TEXTURE_COORD21_EXT = 0x87B2 # OUTPUT_TEXTURE_COORD22_EXT = 0x87B3 # OUTPUT_TEXTURE_COORD23_EXT = 0x87B4 # OUTPUT_TEXTURE_COORD24_EXT = 0x87B5 # OUTPUT_TEXTURE_COORD25_EXT = 0x87B6 # OUTPUT_TEXTURE_COORD26_EXT = 0x87B7 # OUTPUT_TEXTURE_COORD27_EXT = 0x87B8 # OUTPUT_TEXTURE_COORD28_EXT = 0x87B9 # OUTPUT_TEXTURE_COORD29_EXT = 0x87BA # OUTPUT_TEXTURE_COORD30_EXT = 0x87BB # OUTPUT_TEXTURE_COORD31_EXT = 0x87BC # OUTPUT_FOG_EXT = 0x87BD # SCALAR_EXT = 0x87BE # VECTOR_EXT = 0x87BF # MATRIX_EXT = 0x87C0 # VARIANT_EXT = 0x87C1 # INVARIANT_EXT = 0x87C2 # LOCAL_CONSTANT_EXT = 0x87C3 # LOCAL_EXT = 0x87C4 # MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5 # MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6 # MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7 # MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8 # MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9 # MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA # MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB # MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC # MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD # MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE # VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF # VERTEX_SHADER_VARIANTS_EXT = 0x87D0 # VERTEX_SHADER_INVARIANTS_EXT = 0x87D1 # VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2 # VERTEX_SHADER_LOCALS_EXT = 0x87D3 # VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4 # X_EXT = 0x87D5 # Y_EXT = 0x87D6 # Z_EXT = 0x87D7 # W_EXT = 0x87D8 # NEGATIVE_X_EXT = 0x87D9 # NEGATIVE_Y_EXT = 0x87DA # NEGATIVE_Z_EXT = 0x87DB # NEGATIVE_W_EXT = 0x87DC # ZERO_EXT = 0x87DD # ONE_EXT = 0x87DE # NEGATIVE_ONE_EXT = 0x87DF # NORMALIZED_RANGE_EXT = 0x87E0 # FULL_RANGE_EXT = 0x87E1 # CURRENT_VERTEX_EXT = 0x87E2 # MVP_MATRIX_EXT = 0x87E3 # VARIANT_VALUE_EXT = 0x87E4 # VARIANT_DATATYPE_EXT = 0x87E5 # VARIANT_ARRAY_STRIDE_EXT = 0x87E6 # VARIANT_ARRAY_TYPE_EXT = 0x87E7 # VARIANT_ARRAY_EXT = 0x87E8 # VARIANT_ARRAY_POINTER_EXT = 0x87E9 # INVARIANT_VALUE_EXT = 0x87EA # INVARIANT_DATATYPE_EXT = 0x87EB # LOCAL_CONSTANT_VALUE_EXT = 0x87EC # LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED # AMD_compressed_ATC_texture (OpenGL ES only) (additional; see below) # ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE # ATI_pn_triangles enum: # PN_TRIANGLES_ATI = 0x87F0 # MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1 # PN_TRIANGLES_POINT_MODE_ATI = 0x87F2 # PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3 # PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4 # PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5 # PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6 # PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7 # PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8 # AMD_compressed_3DC_texture (OpenGL ES only) # 3DC_X_AMD = 0x87F9 # 3DC_XY_AMD = 0x87FA # ATI_meminfo enum: # VBO_FREE_MEMORY_ATI = 0x87FB # TEXTURE_FREE_MEMORY_ATI = 0x87FC # RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD # OES_get_program_binary: (OpenGL ES only; # NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE # PROGRAM_BINARY_FORMATS_OES = 0x87FF # VERSION_2_0 enum: (Promoted for OpenGL 2.0) # STENCIL_BACK_FUNC = 0x8800 # VERSION_2_0 # STENCIL_BACK_FAIL = 0x8801 # VERSION_2_0 # STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 # VERSION_2_0 # STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 # VERSION_2_0 # STENCIL_BACK_FAIL_ATI = 0x8801 # ATI_separate_stencil enum: # STENCIL_BACK_FUNC_ATI = 0x8800 # STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802 # STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803 # ARB_fragment_program enum: # FRAGMENT_PROGRAM_ARB = 0x8804 # PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805 # PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806 # PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807 # PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808 # PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809 # PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A # MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B # MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C # MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D # MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E # MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F # MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810 # ATI_future_use: 0x8811-0x8813 # VERSION_3_0 enum: # ARB_texture_float enum: # ATI_texture_float enum: # RGBA32F = 0x8814 # VERSION_3_0 # RGBA32F_ARB = 0x8814 # RGBA_FLOAT32_ATI = 0x8814 # RGB32F = 0x8815 # VERSION_3_0 # RGB32F_ARB = 0x8815 # RGB_FLOAT32_ATI = 0x8815 # ALPHA32F_ARB = 0x8816 # ALPHA_FLOAT32_ATI = 0x8816 # INTENSITY32F_ARB = 0x8817 # INTENSITY_FLOAT32_ATI = 0x8817 # LUMINANCE32F_ARB = 0x8818 # LUMINANCE_FLOAT32_ATI = 0x8818 # LUMINANCE_ALPHA32F_ARB = 0x8819 # LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819 # RGBA16F = 0x881A # VERSION_3_0 # RGBA16F_ARB = 0x881A # RGBA_FLOAT16_ATI = 0x881A # RGB16F = 0x881B # VERSION_3_0 # RGB16F_ARB = 0x881B # RGB_FLOAT16_ATI = 0x881B # ALPHA16F_ARB = 0x881C # ALPHA_FLOAT16_ATI = 0x881C # INTENSITY16F_ARB = 0x881D # INTENSITY_FLOAT16_ATI = 0x881D # LUMINANCE16F_ARB = 0x881E # LUMINANCE_FLOAT16_ATI = 0x881E # LUMINANCE_ALPHA16F_ARB = 0x881F # LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F # ARB_color_buffer_float enum: # RGBA_FLOAT_MODE_ARB = 0x8820 # Equivalent to TYPE_RGBA_FLOAT_ATI # ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) # TYPE_RGBA_FLOAT_ATI = 0x8820 # ATI_future_use: 0x8821-0x8823 # VERSION_2_0 enum: (Promoted for OpenGL 2.0) # ARB_draw_buffers enum: # ATI_draw_buffers enum: # MAX_DRAW_BUFFERS = 0x8824 # VERSION_2_0 # MAX_DRAW_BUFFERS_ARB = 0x8824 # MAX_DRAW_BUFFERS_ATI = 0x8824 # DRAW_BUFFER0 = 0x8825 # VERSION_2_0 # DRAW_BUFFER0_ARB = 0x8825 # DRAW_BUFFER0_ATI = 0x8825 # DRAW_BUFFER1 = 0x8826 # VERSION_2_0 # DRAW_BUFFER1_ARB = 0x8826 # DRAW_BUFFER1_ATI = 0x8826 # DRAW_BUFFER2 = 0x8827 # VERSION_2_0 # DRAW_BUFFER2_ARB = 0x8827 # DRAW_BUFFER2_ATI = 0x8827 # DRAW_BUFFER3 = 0x8828 # VERSION_2_0 # DRAW_BUFFER3_ARB = 0x8828 # DRAW_BUFFER3_ATI = 0x8828 # DRAW_BUFFER4 = 0x8829 # VERSION_2_0 # DRAW_BUFFER4_ARB = 0x8829 # DRAW_BUFFER4_ATI = 0x8829 # DRAW_BUFFER5 = 0x882A # VERSION_2_0 # DRAW_BUFFER5_ARB = 0x882A # DRAW_BUFFER5_ATI = 0x882A # DRAW_BUFFER6 = 0x882B # VERSION_2_0 # DRAW_BUFFER6_ARB = 0x882B # DRAW_BUFFER6_ATI = 0x882B # DRAW_BUFFER7 = 0x882C # VERSION_2_0 # DRAW_BUFFER7_ARB = 0x882C # DRAW_BUFFER7_ATI = 0x882C # DRAW_BUFFER8 = 0x882D # VERSION_2_0 # DRAW_BUFFER8_ARB = 0x882D # DRAW_BUFFER8_ATI = 0x882D # DRAW_BUFFER9 = 0x882E # VERSION_2_0 # DRAW_BUFFER9_ARB = 0x882E # DRAW_BUFFER9_ATI = 0x882E # DRAW_BUFFER10 = 0x882F # VERSION_2_0 # DRAW_BUFFER10_ARB = 0x882F # DRAW_BUFFER10_ATI = 0x882F # DRAW_BUFFER11 = 0x8830 # VERSION_2_0 # DRAW_BUFFER11_ARB = 0x8830 # DRAW_BUFFER11_ATI = 0x8830 # DRAW_BUFFER12 = 0x8831 # VERSION_2_0 # DRAW_BUFFER12_ARB = 0x8831 # DRAW_BUFFER12_ATI = 0x8831 # DRAW_BUFFER13 = 0x8832 # VERSION_2_0 # DRAW_BUFFER13_ARB = 0x8832 # DRAW_BUFFER13_ATI = 0x8832 # DRAW_BUFFER14 = 0x8833 # VERSION_2_0 # DRAW_BUFFER14_ARB = 0x8833 # DRAW_BUFFER14_ATI = 0x8833 # DRAW_BUFFER15 = 0x8834 # VERSION_2_0 # DRAW_BUFFER15_ARB = 0x8834 # DRAW_BUFFER15_ATI = 0x8834 # ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) (additional; see above) # COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835 # ATI_future_use: 0x8836-0x883F # VERSION_2_0 enum: (Promoted for OpenGL 2.0) # BLEND_EQUATION_ALPHA = 0x883D # VERSION_2_0 # EXT_blend_equation_separate enum: # BLEND_EQUATION_ALPHA_EXT = 0x883D # Aliases EXT_blend_equation_separate enum above # OES_blend_equation_separate enum: (OpenGL ES only) # BLEND_EQUATION_ALPHA_OES = 0x883D ############################################################################### # OpenGL ARB: 0x8840-0x884F # ARB_matrix_palette enum: # MATRIX_PALETTE_ARB = 0x8840 # MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841 # MAX_PALETTE_MATRICES_ARB = 0x8842 # CURRENT_PALETTE_MATRIX_ARB = 0x8843 # MATRIX_INDEX_ARRAY_ARB = 0x8844 # CURRENT_MATRIX_INDEX_ARB = 0x8845 # MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846 # MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847 # MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848 # MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849 # Aliases ARB_matrix_palette enums above # OES_matrix_palette enum: (OpenGL ES only; additional; see below) # MATRIX_PALETTE_OES = 0x8840 # MAX_PALETTE_MATRICES_OES = 0x8842 # CURRENT_PALETTE_MATRIX_OES = 0x8843 # MATRIX_INDEX_ARRAY_OES = 0x8844 # MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846 # MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847 # MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848 # MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849 # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # TEXTURE_DEPTH_SIZE = 0x884A # DEPTH_TEXTURE_MODE = 0x884B # ARB_depth_texture enum: # TEXTURE_DEPTH_SIZE_ARB = 0x884A # DEPTH_TEXTURE_MODE_ARB = 0x884B # VERSION_3_0 enum: (aliases) # COMPARE_REF_TO_TEXTURE = 0x884E # VERSION_3_0 # alias GL_COMPARE_R_TO_TEXTURE_ARB # VERSION_1_4 enum: (Promoted for OpenGL 1.4) # TEXTURE_COMPARE_MODE = 0x884C # TEXTURE_COMPARE_FUNC = 0x884D # COMPARE_R_TO_TEXTURE = 0x884E # ARB_shadow enum: # TEXTURE_COMPARE_MODE_ARB = 0x884C # TEXTURE_COMPARE_FUNC_ARB = 0x884D # COMPARE_R_TO_TEXTURE_ARB = 0x884E # EXT_texture_array enum: (additional; see below) # COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E # ARB_future_use: 0x884F ############################################################################### # NVIDIA: 0x8850-0x891F # NV_texture_shader3 enum: # OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850 # OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851 # OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852 # OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853 # OFFSET_HILO_TEXTURE_2D_NV = 0x8854 # OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855 # OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856 # OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857 # DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858 # DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859 # DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A # DOT_PRODUCT_PASS_THROUGH_NV = 0x885B # DOT_PRODUCT_TEXTURE_1D_NV = 0x885C # DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D # HILO8_NV = 0x885E # SIGNED_HILO8_NV = 0x885F # FORCE_BLUE_TO_ONE_NV = 0x8860 # VERSION_2_0 enum: (Promoted for OpenGL 2.0) # POINT_SPRITE = 0x8861 # VERSION_2_0 # COORD_REPLACE = 0x8862 # VERSION_2_0 # ARB_point_sprite enum: # POINT_SPRITE_ARB = 0x8861 # COORD_REPLACE_ARB = 0x8862 # NV_point_sprite enum: # POINT_SPRITE_NV = 0x8861 # COORD_REPLACE_NV = 0x8862 # Aliases ARB_point_sprite enums above # OES_point_sprite enum: (OpenGL ES only) # POINT_SPRITE_ARB = 0x8861 # COORD_REPLACE_ARB = 0x8862 # NV_point_sprite enum: # POINT_SPRITE_R_MODE_NV = 0x8863 # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # QUERY_COUNTER_BITS = 0x8864 # CURRENT_QUERY = 0x8865 # QUERY_RESULT = 0x8866 # QUERY_RESULT_AVAILABLE = 0x8867 # ARB_occlusion_query enum: # QUERY_COUNTER_BITS_ARB = 0x8864 # CURRENT_QUERY_ARB = 0x8865 # QUERY_RESULT_ARB = 0x8866 # QUERY_RESULT_AVAILABLE_ARB = 0x8867 # NV_occlusion_query enum: # PIXEL_COUNTER_BITS_NV = 0x8864 # CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865 # PIXEL_COUNT_NV = 0x8866 # PIXEL_COUNT_AVAILABLE_NV = 0x8867 # NV_fragment_program enum: # MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868 # VERSION_2_0 enum: (Promoted from ARB_vertex_shader) # MAX_VERTEX_ATTRIBS = 0x8869 # VERSION_2_0 # VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A # VERSION_2_0 # ARB_vertex_program enum: (additional; see above) # MAX_VERTEX_ATTRIBS_ARB = 0x8869 # VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A # NV_future_use: 0x886B-0x886D # NV_copy_depth_to_color enum: # DEPTH_STENCIL_TO_RGBA_NV = 0x886E # DEPTH_STENCIL_TO_BGRA_NV = 0x886F # VERSION_2_0 enum: (Promoted from ARB_fragment_shader; only some values) # ARB_vertex_program enum: (additional; see above) # ARB_fragment_program enum: (additional; see above) # NV_fragment_program enum: (additional; see above) # FRAGMENT_PROGRAM_NV = 0x8870 # MAX_TEXTURE_COORDS = 0x8871 # VERSION_2_0 # MAX_TEXTURE_COORDS_ARB = 0x8871 # ARB_fragment_program # MAX_TEXTURE_COORDS_NV = 0x8871 # MAX_TEXTURE_IMAGE_UNITS = 0x8872 # VERSION_2_0 # MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872 # ARB_fragment_program # MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872 # FRAGMENT_PROGRAM_BINDING_NV = 0x8873 # PROGRAM_ERROR_STRING_ARB = 0x8874 # ARB_vertex_program / ARB_fragment_program # PROGRAM_ERROR_STRING_NV = 0x8874 # PROGRAM_FORMAT_ASCII_ARB = 0x8875 # ARB_vertex_program / ARB_fragment_program # PROGRAM_FORMAT_ARB = 0x8876 # ARB_vertex_program / ARB_fragment_program # 0x8877 *should have been* assigned to PROGRAM_BINDING_ARB. Oops. # NV_pixel_data_range enum: # WRITE_PIXEL_DATA_RANGE_NV = 0x8878 # READ_PIXEL_DATA_RANGE_NV = 0x8879 # WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A # READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B # WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C # READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D # NV_future_use: 0x887E-0x887F # NV_float_buffer enum: # FLOAT_R_NV = 0x8880 # FLOAT_RG_NV = 0x8881 # FLOAT_RGB_NV = 0x8882 # FLOAT_RGBA_NV = 0x8883 # FLOAT_R16_NV = 0x8884 # FLOAT_R32_NV = 0x8885 # FLOAT_RG16_NV = 0x8886 # FLOAT_RG32_NV = 0x8887 # FLOAT_RGB16_NV = 0x8888 # FLOAT_RGB32_NV = 0x8889 # FLOAT_RGBA16_NV = 0x888A # FLOAT_RGBA32_NV = 0x888B # TEXTURE_FLOAT_COMPONENTS_NV = 0x888C # FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D # FLOAT_RGBA_MODE_NV = 0x888E # NV_texture_expand_normal enum: # TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F # EXT_depth_bounds_test enum: # DEPTH_BOUNDS_TEST_EXT = 0x8890 # DEPTH_BOUNDS_EXT = 0x8891 # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # ARB_vertex_buffer_object enum: # ARRAY_BUFFER = 0x8892 # ARRAY_BUFFER_ARB = 0x8892 # ELEMENT_ARRAY_BUFFER = 0x8893 # ELEMENT_ARRAY_BUFFER_ARB = 0x8893 # ARRAY_BUFFER_BINDING = 0x8894 # ARRAY_BUFFER_BINDING_ARB = 0x8894 # ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 # ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895 # VERTEX_ARRAY_BUFFER_BINDING = 0x8896 # VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896 # NORMAL_ARRAY_BUFFER_BINDING = 0x8897 # NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897 # COLOR_ARRAY_BUFFER_BINDING = 0x8898 # COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898 # INDEX_ARRAY_BUFFER_BINDING = 0x8899 # INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899 # TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A # TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A # EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B # EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B # SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C # SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C # FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D # alias GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING # FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D # FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D # WEIGHT_ARRAY_BUFFER_BINDING = 0x889E # WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E # VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F # VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F # Aliases ARB_vertex_buffer_object enum above # OES_matrix_palette enum: (OpenGL ES only; additional; see below) # WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E # ARB_vertex_program enum: (additional; see above) # ARB_fragment_program enum: (additional; see above) # PROGRAM_INSTRUCTIONS_ARB = 0x88A0 # MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1 # PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2 # MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3 # PROGRAM_TEMPORARIES_ARB = 0x88A4 # MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5 # PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6 # MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7 # PROGRAM_PARAMETERS_ARB = 0x88A8 # MAX_PROGRAM_PARAMETERS_ARB = 0x88A9 # PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA # MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB # PROGRAM_ATTRIBS_ARB = 0x88AC # MAX_PROGRAM_ATTRIBS_ARB = 0x88AD # PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE # MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF # PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0 # MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1 # PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2 # MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3 # MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4 # MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5 # PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6 # TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7 # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # ARB_vertex_buffer_object enum: (additional; see above) # READ_ONLY = 0x88B8 # READ_ONLY_ARB = 0x88B8 # WRITE_ONLY = 0x88B9 # WRITE_ONLY_ARB = 0x88B9 # READ_WRITE = 0x88BA # READ_WRITE_ARB = 0x88BA # BUFFER_ACCESS = 0x88BB # BUFFER_ACCESS_ARB = 0x88BB # BUFFER_MAPPED = 0x88BC # BUFFER_MAPPED_ARB = 0x88BC # BUFFER_MAP_POINTER = 0x88BD # BUFFER_MAP_POINTER_ARB = 0x88BD # Aliases ARB_vertex_buffer_object enums above # OES_mapbuffer enum: (OpenGL ES only) # WRITE_ONLY_OES = 0x88B9 # BUFFER_ACCESS_OES = 0x88BB # BUFFER_MAPPED_OES = 0x88BC # BUFFER_MAP_POINTER_OES = 0x88BD # NV_future_use: 0x88BE # EXT_timer_query enum: # TIME_ELAPSED_EXT = 0x88BF # ARB_vertex_program enum: (additional; see above) # ARB_fragment_program enum: (additional; see above) # MATRIX0_ARB = 0x88C0 # MATRIX1_ARB = 0x88C1 # MATRIX2_ARB = 0x88C2 # MATRIX3_ARB = 0x88C3 # MATRIX4_ARB = 0x88C4 # MATRIX5_ARB = 0x88C5 # MATRIX6_ARB = 0x88C6 # MATRIX7_ARB = 0x88C7 # MATRIX8_ARB = 0x88C8 # MATRIX9_ARB = 0x88C9 # MATRIX10_ARB = 0x88CA # MATRIX11_ARB = 0x88CB # MATRIX12_ARB = 0x88CC # MATRIX13_ARB = 0x88CD # MATRIX14_ARB = 0x88CE # MATRIX15_ARB = 0x88CF # MATRIX16_ARB = 0x88D0 # MATRIX17_ARB = 0x88D1 # MATRIX18_ARB = 0x88D2 # MATRIX19_ARB = 0x88D3 # MATRIX20_ARB = 0x88D4 # MATRIX21_ARB = 0x88D5 # MATRIX22_ARB = 0x88D6 # MATRIX23_ARB = 0x88D7 # MATRIX24_ARB = 0x88D8 # MATRIX25_ARB = 0x88D9 # MATRIX26_ARB = 0x88DA # MATRIX27_ARB = 0x88DB # MATRIX28_ARB = 0x88DC # MATRIX29_ARB = 0x88DD # MATRIX30_ARB = 0x88DE # MATRIX31_ARB = 0x88DF # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # ARB_vertex_buffer_object enum: (additional; see above) # STREAM_DRAW = 0x88E0 # STREAM_DRAW_ARB = 0x88E0 # STREAM_READ = 0x88E1 # STREAM_READ_ARB = 0x88E1 # STREAM_COPY = 0x88E2 # STREAM_COPY_ARB = 0x88E2 # STATIC_DRAW = 0x88E4 # STATIC_DRAW_ARB = 0x88E4 # STATIC_READ = 0x88E5 # STATIC_READ_ARB = 0x88E5 # STATIC_COPY = 0x88E6 # STATIC_COPY_ARB = 0x88E6 # DYNAMIC_DRAW = 0x88E8 # DYNAMIC_DRAW_ARB = 0x88E8 # DYNAMIC_READ = 0x88E9 # DYNAMIC_READ_ARB = 0x88E9 # DYNAMIC_COPY = 0x88EA # DYNAMIC_COPY_ARB = 0x88EA # VERSION_2_1 enum: # ARB_pixel_buffer_object enum: # EXT_pixel_buffer_object enum: # PIXEL_PACK_BUFFER = 0x88EB # VERSION_2_1 # PIXEL_PACK_BUFFER_ARB = 0x88EB # ARB_pixel_buffer_object # PIXEL_PACK_BUFFER_EXT = 0x88EB # EXT_pixel_buffer_object # PIXEL_UNPACK_BUFFER = 0x88EC # VERSION_2_1 # PIXEL_UNPACK_BUFFER_ARB = 0x88EC # ARB_pixel_buffer_object # PIXEL_UNPACK_BUFFER_EXT = 0x88EC # EXT_pixel_buffer_object # PIXEL_PACK_BUFFER_BINDING = 0x88ED # VERSION_2_1 # PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED # ARB_pixel_buffer_object # PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED # EXT_pixel_buffer_object # PIXEL_UNPACK_BUFFER_BINDING = 0x88EF # VERSION_2_1 # PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF # ARB_pixel_buffer_object # PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF # EXT_pixel_buffer_object # ARB_future_use: 0x88E3, 0x88E7, 0x88EE # (for extending ARB_vertex_buffer_object): VERSION_3_0 enum: use ARB_framebuffer_object DEPTH24_STENCIL8 use ARB_framebuffer_object TEXTURE_STENCIL_SIZE # ARB_framebuffer_object enum: (note: no ARB suffixes) # DEPTH24_STENCIL8 = 0x88F0 # VERSION_3_0 / ARB_fbo # TEXTURE_STENCIL_SIZE = 0x88F1 # VERSION_3_0 / ARB_fbo # EXT_packed_depth_stencil enum: (additional; see above) # DEPTH24_STENCIL8_EXT = 0x88F0 # TEXTURE_STENCIL_SIZE_EXT = 0x88F1 # Aliases EXT_packed_depth_stencil enum above # OES_packed_depth_stencil enum: (OpenGL ES only; additional; see above) # DEPTH24_STENCIL8_OES = 0x88F0 # EXT_stencil_clear_tag enum: # STENCIL_TAG_BITS_EXT = 0x88F2 # STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3 # NV_vertex_program2_option enum: (duplicated in NV_fragment_prgoram2 below) # MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4 # MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5 # NV_fragment_program2 enum: # MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4 # MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5 # MAX_PROGRAM_IF_DEPTH_NV = 0x88F6 # MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7 # MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8 # NV_future_use: 0x88F9-0x88FC # VERSION_3_0 enum: # VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD # VERSION_3_0 # NV_vertex_program4 enum: # VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD # ARB_instanced_arrays enum: # VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE # VERSION_3_0 enum: # MAX_ARRAY_TEXTURE_LAYERS = 0x88FF # VERSION_3_0 # EXT_texture_array enum: (additional; see below) # MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF # VERSION_3_0 enum: # MIN_PROGRAM_TEXEL_OFFSET = 0x8904 # VERSION_3_0 # MAX_PROGRAM_TEXEL_OFFSET = 0x8905 # VERSION_3_0 # NV_gpu_program4 enum: # MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904 # MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905 # PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906 # PROGRAM_RESULT_COMPONENTS_NV = 0x8907 # MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908 # MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909 # EXT_stencil_two_side enum: # STENCIL_TEST_TWO_SIDE_EXT = 0x8910 # ACTIVE_STENCIL_FACE_EXT = 0x8911 # EXT_texture_mirror_clamp enum: (additional; see above): # MIRROR_CLAMP_TO_BORDER_EXT = 0x8912 # NV_future_use: 0x8913 # VERSION_1_5 enum: (Promoted for OpenGL 1.5) # SAMPLES_PASSED = 0x8914 # ARB_occlusion_query enum: (additional; see above) # SAMPLES_PASSED_ARB = 0x8914 # NV_future_use: 0x8915-0x8919 # VERSION_3_0 enum: # CLAMP_VERTEX_COLOR = 0x891A # VERSION_3_0 # CLAMP_FRAGMENT_COLOR = 0x891B # VERSION_3_0 # CLAMP_READ_COLOR = 0x891C # VERSION_3_0 # FIXED_ONLY = 0x891D # VERSION_3_0 # ARB_color_buffer_float enum: (additional; see above) # CLAMP_VERTEX_COLOR_ARB = 0x891A # CLAMP_FRAGMENT_COLOR_ARB = 0x891B # CLAMP_READ_COLOR_ARB = 0x891C # FIXED_ONLY_ARB = 0x891D # NV_future_use: 0x891E-0x891F ############################################################################### # ATI: 0x8920-0x897F # ATI_fragment_shader enum: # FRAGMENT_SHADER_ATI = 0x8920 # REG_0_ATI = 0x8921 # REG_1_ATI = 0x8922 # REG_2_ATI = 0x8923 # REG_3_ATI = 0x8924 # REG_4_ATI = 0x8925 # REG_5_ATI = 0x8926 # REG_6_ATI = 0x8927 # REG_7_ATI = 0x8928 # REG_8_ATI = 0x8929 # REG_9_ATI = 0x892A # REG_10_ATI = 0x892B # REG_11_ATI = 0x892C # REG_12_ATI = 0x892D # REG_13_ATI = 0x892E # REG_14_ATI = 0x892F # REG_15_ATI = 0x8930 # REG_16_ATI = 0x8931 # REG_17_ATI = 0x8932 # REG_18_ATI = 0x8933 # REG_19_ATI = 0x8934 # REG_20_ATI = 0x8935 # REG_21_ATI = 0x8936 # REG_22_ATI = 0x8937 # REG_23_ATI = 0x8938 # REG_24_ATI = 0x8939 # REG_25_ATI = 0x893A # REG_26_ATI = 0x893B # REG_27_ATI = 0x893C # REG_28_ATI = 0x893D # REG_29_ATI = 0x893E # REG_30_ATI = 0x893F # REG_31_ATI = 0x8940 # CON_0_ATI = 0x8941 # CON_1_ATI = 0x8942 # CON_2_ATI = 0x8943 # CON_3_ATI = 0x8944 # CON_4_ATI = 0x8945 # CON_5_ATI = 0x8946 # CON_6_ATI = 0x8947 # CON_7_ATI = 0x8948 # CON_8_ATI = 0x8949 # CON_9_ATI = 0x894A # CON_10_ATI = 0x894B # CON_11_ATI = 0x894C # CON_12_ATI = 0x894D # CON_13_ATI = 0x894E # CON_14_ATI = 0x894F # CON_15_ATI = 0x8950 # CON_16_ATI = 0x8951 # CON_17_ATI = 0x8952 # CON_18_ATI = 0x8953 # CON_19_ATI = 0x8954 # CON_20_ATI = 0x8955 # CON_21_ATI = 0x8956 # CON_22_ATI = 0x8957 # CON_23_ATI = 0x8958 # CON_24_ATI = 0x8959 # CON_25_ATI = 0x895A # CON_26_ATI = 0x895B # CON_27_ATI = 0x895C # CON_28_ATI = 0x895D # CON_29_ATI = 0x895E # CON_30_ATI = 0x895F # CON_31_ATI = 0x8960 # MOV_ATI = 0x8961 # ADD_ATI = 0x8963 # MUL_ATI = 0x8964 # SUB_ATI = 0x8965 # DOT3_ATI = 0x8966 # DOT4_ATI = 0x8967 # MAD_ATI = 0x8968 # LERP_ATI = 0x8969 # CND_ATI = 0x896A # CND0_ATI = 0x896B # DOT2_ADD_ATI = 0x896C # SECONDARY_INTERPOLATOR_ATI = 0x896D # NUM_FRAGMENT_REGISTERS_ATI = 0x896E # NUM_FRAGMENT_CONSTANTS_ATI = 0x896F # NUM_PASSES_ATI = 0x8970 # NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971 # NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972 # NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973 # NUM_LOOPBACK_COMPONENTS_ATI = 0x8974 # COLOR_ALPHA_PAIRING_ATI = 0x8975 # SWIZZLE_STR_ATI = 0x8976 # SWIZZLE_STQ_ATI = 0x8977 # SWIZZLE_STR_DR_ATI = 0x8978 # SWIZZLE_STQ_DQ_ATI = 0x8979 # SWIZZLE_STRQ_ATI = 0x897A # SWIZZLE_STRQ_DQ_ATI = 0x897B # ??? Not clear where to put new types of mask bits yet # RED_BIT_ATI = 0x00000001 # GREEN_BIT_ATI = 0x00000002 # BLUE_BIT_ATI = 0x00000004 # 2X_BIT_ATI = 0x00000001 # 4X_BIT_ATI = 0x00000002 # 8X_BIT_ATI = 0x00000004 # HALF_BIT_ATI = 0x00000008 # QUARTER_BIT_ATI = 0x00000010 # EIGHTH_BIT_ATI = 0x00000020 # SATURATE_BIT_ATI = 0x00000040 # 2X_BIT_ATI = 0x00000001 # COMP_BIT_ATI = 0x00000002 # NEGATE_BIT_ATI = 0x00000004 # BIAS_BIT_ATI = 0x00000008 # ATI_future_use: 0x897C-0x897F ############################################################################### # Khronos OpenML WG / OpenGL ES WG: 0x8980-0x898F # OML_interlace enum: # INTERLACE_OML = 0x8980 # INTERLACE_READ_OML = 0x8981 # OML_subsample enum: # FORMAT_SUBSAMPLE_24_24_OML = 0x8982 # FORMAT_SUBSAMPLE_244_244_OML = 0x8983 # OML_resample enum: # PACK_RESAMPLE_OML = 0x8984 # UNPACK_RESAMPLE_OML = 0x8985 # RESAMPLE_REPLICATE_OML = 0x8986 # RESAMPLE_ZERO_FILL_OML = 0x8987 # RESAMPLE_AVERAGE_OML = 0x8988 # RESAMPLE_DECIMATE_OML = 0x8989 # OES_point_size_array enum: (OpenGL ES only) # POINT_SIZE_ARRAY_TYPE_OES = 0x898A # POINT_SIZE_ARRAY_STRIDE_OES = 0x898B # POINT_SIZE_ARRAY_POINTER_OES = 0x898C # OES_matrix_get enum: (OpenGL ES only) # MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D # PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E # TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F ############################################################################### # 3dlabs: 0x8990-0x899F ############################################################################### # Matrox: 0x89A0-0x89FF ############################################################################### # Apple: 0x8A00-0x8A7F # APPLE_vertex_program_evaluators: 0x8A00-0x8A0F? # APPLE_fence enum: # DRAW_PIXELS_APPLE = 0x8A0A # FENCE_APPLE = 0x8A0B # APPLE_future_use: 0x8A0C-0x8A11 ## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name # ELEMENT_ARRAY_APPLE = 0x8A0C # ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D # ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E # COLOR_FLOAT_APPLE = 0x8A0F # MIN_PBUFFER_VIEWPORT_DIMS_APPLE = 0x8A10 # ELEMENT_BUFFER_BINDING_APPLE = 0x8A11 # Apple says the extension that defined ELEMENT_BUFFER_BINDING_APPLE # never shipped and there's no actual collision with UNIFORM_BUFFER # VERSION_3_1 enum: # use ARB_uniform_buffer_object UNIFORM_BUFFER # ARB_uniform_buffer_object enum: (additional; see below) # UNIFORM_BUFFER = 0x8A11 # APPLE_flush_buffer_range enum: # BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12 # BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13 # APPLE_future_use: 0x8A14-0x8A27 # VERSION_3_1 enum: # use ARB_uniform_buffer_object UNIFORM_BUFFER_BINDING # use ARB_uniform_buffer_object UNIFORM_BUFFER_START # use ARB_uniform_buffer_object UNIFORM_BUFFER_SIZE # use ARB_uniform_buffer_object MAX_VERTEX_UNIFORM_BLOCKS # use ARB_uniform_buffer_object MAX_GEOMETRY_UNIFORM_BLOCKS # use ARB_uniform_buffer_object MAX_FRAGMENT_UNIFORM_BLOCKS # use ARB_uniform_buffer_object MAX_COMBINED_UNIFORM_BLOCKS # use ARB_uniform_buffer_object MAX_UNIFORM_BUFFER_BINDINGS # use ARB_uniform_buffer_object MAX_UNIFORM_BLOCK_SIZE # use ARB_uniform_buffer_object MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS # use ARB_uniform_buffer_object MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS # use ARB_uniform_buffer_object MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS # use ARB_uniform_buffer_object UNIFORM_BUFFER_OFFSET_ALIGNMENT # use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH # use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCKS # use ARB_uniform_buffer_object UNIFORM_TYPE # use ARB_uniform_buffer_object UNIFORM_SIZE # use ARB_uniform_buffer_object UNIFORM_NAME_LENGTH # use ARB_uniform_buffer_object UNIFORM_BLOCK_INDEX # use ARB_uniform_buffer_object UNIFORM_OFFSET # use ARB_uniform_buffer_object UNIFORM_ARRAY_STRIDE # use ARB_uniform_buffer_object UNIFORM_MATRIX_STRIDE # use ARB_uniform_buffer_object UNIFORM_IS_ROW_MAJOR # use ARB_uniform_buffer_object UNIFORM_BLOCK_BINDING # use ARB_uniform_buffer_object UNIFORM_BLOCK_DATA_SIZE # use ARB_uniform_buffer_object UNIFORM_BLOCK_NAME_LENGTH # use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORMS # use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES # use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER # use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER # use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER # use ARB_uniform_buffer_object INVALID_INDEX # ARB_uniform_buffer_object enum: # UNIFORM_BUFFER_BINDING = 0x8A28 # UNIFORM_BUFFER_START = 0x8A29 # UNIFORM_BUFFER_SIZE = 0x8A2A # MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B # MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C # MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D # MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E # MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F # MAX_UNIFORM_BLOCK_SIZE = 0x8A30 # MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31 # MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32 # MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33 # UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34 # ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35 # ACTIVE_UNIFORM_BLOCKS = 0x8A36 # UNIFORM_TYPE = 0x8A37 # UNIFORM_SIZE = 0x8A38 # UNIFORM_NAME_LENGTH = 0x8A39 # UNIFORM_BLOCK_INDEX = 0x8A3A # UNIFORM_OFFSET = 0x8A3B # UNIFORM_ARRAY_STRIDE = 0x8A3C # UNIFORM_MATRIX_STRIDE = 0x8A3D # UNIFORM_IS_ROW_MAJOR = 0x8A3E # UNIFORM_BLOCK_BINDING = 0x8A3F # UNIFORM_BLOCK_DATA_SIZE = 0x8A40 # UNIFORM_BLOCK_NAME_LENGTH = 0x8A41 # UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42 # UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43 # UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44 # UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45 # UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46 # INVALID_INDEX = 0xFFFFFFFFu # APPLE_future_use: 0x8A47-0x8A7F ############################################################################### # Matrox: 0x8A80-0x8AEF ############################################################################### # Chromium (Brian Paul): 0x8AF0-0x8B2F ############################################################################### # ARB HLSL shader extensions: 0x8B30-0x8B8F VERSION_3_1 enum: (Promoted from ARB_shader_objects + ARB_texture_rectangle) SAMPLER_2D_RECT = 0x8B63 # ARB_shader_objects + ARB_texture_rectangle SAMPLER_2D_RECT_SHADOW = 0x8B64 # ARB_shader_objects + ARB_texture_rectangle # VERSION_2_0 enum: (Promoted for OpenGL 2.0; only some values; renaming in many cases) # ARB_shader_objects, ARB_vertex_shader, ARB_fragment_shader enum: # NV_vertex_program3 enum: (reuses 0x8B4C) ##Shader types + room for expansion # FRAGMENT_SHADER = 0x8B30 # VERSION_2_0 # FRAGMENT_SHADER_ARB = 0x8B30 # ARB_fragment_shader # VERTEX_SHADER = 0x8B31 # VERSION_2_0 # VERTEX_SHADER_ARB = 0x8B31 # ARB_vertex_shader # ARB_future_use: 0x8B32-0x8B3F ##Container types + room for expansion # PROGRAM_OBJECT_ARB = 0x8B40 # ARB_shader_objects # ARB_future_use: 0x8B41-0x8B47 ##Misc. shader enums # SHADER_OBJECT_ARB = 0x8B48 # ARB_shader_objects # MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 # VERSION_2_0 # MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49 # ARB_fragment_shader # MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A # VERSION_2_0 # MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A # ARB_vertex_shader # MAX_VARYING_FLOATS = 0x8B4B # VERSION_2_0 # MAX_VARYING_FLOATS_ARB = 0x8B4B # ARB_vertex_shader # MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C # VERSION_2_0 # MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C # ARB_vertex_shader, NV_vertex_program3 # MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D # VERSION_2_0 # MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D # ARB_vertex_shader # OBJECT_TYPE_ARB = 0x8B4E # ARB_shader_objects # SHADER_TYPE = 0x8B4F # VERSION_2_0 (renamed) # OBJECT_SUBTYPE_ARB = 0x8B4F # ARB_shader_objects ##Attribute types + room for expansion. # FLOAT_VEC2 = 0x8B50 # VERSION_2_0 # FLOAT_VEC2_ARB = 0x8B50 # ARB_shader_objects # FLOAT_VEC3 = 0x8B51 # VERSION_2_0 # FLOAT_VEC3_ARB = 0x8B51 # ARB_shader_objects # FLOAT_VEC4 = 0x8B52 # VERSION_2_0 # FLOAT_VEC4_ARB = 0x8B52 # ARB_shader_objects # INT_VEC2 = 0x8B53 # VERSION_2_0 # INT_VEC2_ARB = 0x8B53 # ARB_shader_objects # INT_VEC3 = 0x8B54 # VERSION_2_0 # INT_VEC3_ARB = 0x8B54 # ARB_shader_objects # INT_VEC4 = 0x8B55 # VERSION_2_0 # INT_VEC4_ARB = 0x8B55 # ARB_shader_objects # BOOL = 0x8B56 # VERSION_2_0 # BOOL_ARB = 0x8B56 # ARB_shader_objects # BOOL_VEC2 = 0x8B57 # VERSION_2_0 # BOOL_VEC2_ARB = 0x8B57 # ARB_shader_objects # BOOL_VEC3 = 0x8B58 # VERSION_2_0 # BOOL_VEC3_ARB = 0x8B58 # ARB_shader_objects # BOOL_VEC4 = 0x8B59 # VERSION_2_0 # BOOL_VEC4_ARB = 0x8B59 # ARB_shader_objects # FLOAT_MAT2 = 0x8B5A # VERSION_2_0 # FLOAT_MAT2_ARB = 0x8B5A # ARB_shader_objects # FLOAT_MAT3 = 0x8B5B # VERSION_2_0 # FLOAT_MAT3_ARB = 0x8B5B # ARB_shader_objects # FLOAT_MAT4 = 0x8B5C # VERSION_2_0 # FLOAT_MAT4_ARB = 0x8B5C # ARB_shader_objects # SAMPLER_1D = 0x8B5D # VERSION_2_0 # SAMPLER_1D_ARB = 0x8B5D # ARB_shader_objects # SAMPLER_2D = 0x8B5E # VERSION_2_0 # SAMPLER_2D_ARB = 0x8B5E # ARB_shader_objects # SAMPLER_3D = 0x8B5F # VERSION_2_0 # SAMPLER_3D_ARB = 0x8B5F # ARB_shader_objects # SAMPLER_CUBE = 0x8B60 # VERSION_2_0 # SAMPLER_CUBE_ARB = 0x8B60 # ARB_shader_objects # SAMPLER_1D_SHADOW = 0x8B61 # VERSION_2_0 # SAMPLER_1D_SHADOW_ARB = 0x8B61 # ARB_shader_objects # SAMPLER_2D_SHADOW = 0x8B62 # VERSION_2_0 # SAMPLER_2D_SHADOW_ARB = 0x8B62 # ARB_shader_objects # SAMPLER_2D_RECT_ARB = 0x8B63 # ARB_shader_objects # SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 # ARB_shader_objects # FLOAT_MAT2x3 = 0x8B65 # VERSION_2_1 # FLOAT_MAT2x4 = 0x8B66 # VERSION_2_1 # FLOAT_MAT3x2 = 0x8B67 # VERSION_2_1 # FLOAT_MAT3x4 = 0x8B68 # VERSION_2_1 # FLOAT_MAT4x2 = 0x8B69 # VERSION_2_1 # FLOAT_MAT4x3 = 0x8B6A # VERSION_2_1 # ARB_future_use: 0x8B6B-0x8B7F (for attribute types) # DELETE_STATUS = 0x8B80 # VERSION_2_0 (renamed) # OBJECT_DELETE_STATUS_ARB = 0x8B80 # ARB_shader_objects # COMPILE_STATUS = 0x8B81 # VERSION_2_0 (renamed) # OBJECT_COMPILE_STATUS_ARB = 0x8B81 # ARB_shader_objects # LINK_STATUS = 0x8B82 # VERSION_2_0 (renamed) # OBJECT_LINK_STATUS_ARB = 0x8B82 # ARB_shader_objects # VALIDATE_STATUS = 0x8B83 # VERSION_2_0 (renamed) # OBJECT_VALIDATE_STATUS_ARB = 0x8B83 # ARB_shader_objects # INFO_LOG_LENGTH = 0x8B84 # VERSION_2_0 (renamed) # OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 # ARB_shader_objects # ATTACHED_SHADERS = 0x8B85 # VERSION_2_0 (renamed) # OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 # ARB_shader_objects # ACTIVE_UNIFORMS = 0x8B86 # VERSION_2_0 (renamed) # OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 # ARB_shader_objects # ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 # VERSION_2_0 (renamed) # OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 # ARB_shader_objects # SHADER_SOURCE_LENGTH = 0x8B88 # VERSION_2_0 (renamed) # OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 # ARB_shader_objects # ACTIVE_ATTRIBUTES = 0x8B89 # VERSION_2_0 (renamed) # OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89 # ARB_vertex_shader # ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A # VERSION_2_0 (renamed) # OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A # ARB_vertex_shader # FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B # VERSION_2_0 # FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B # ARB_fragment_shader # SHADING_LANGUAGE_VERSION = 0x8B8C # VERSION_2_0 # SHADING_LANGUAGE_VERSION_ARB = 0x8B8C # ARB_shading_language_100 # Aliases ARB_shader_objects enum above # OES_texture3D enum: (OpenGL ES only; additional; see above) # SAMPLER_3D_OES = 0x8B5F # ARB_shader_objects # Aliases ARB_fragment_shader enum above # OES_standard_derivatives enum: (OpenGL ES only) # FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B # VERSION_3_0 enum: # MAX_VARYING_COMPONENTS = 0x8B4B # VERSION_3_0 # alias GL_MAX_VARYING_FLOATS ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes) use VERSION_3_0 MAX_VARYING_COMPONENTS # EXT_geometry_shader4 enum: (additional; see below) # MAX_VARYING_COMPONENTS_EXT = 0x8B4B # VERSION_2_0 enum: # CURRENT_PROGRAM = 0x8B8D # ARB_future_use: 0x8B8E-0x8B8F ############################################################################### # Khronos OpenGL ES WG: 0x8B90-0x8B9F # OES_compressed_paletted_texture enum: (OpenGL ES only) # PALETTE4_RGB8_OES = 0x8B90 # PALETTE4_RGBA8_OES = 0x8B91 # PALETTE4_R5_G6_B5_OES = 0x8B92 # PALETTE4_RGBA4_OES = 0x8B93 # PALETTE4_RGB5_A1_OES = 0x8B94 # PALETTE8_RGB8_OES = 0x8B95 # PALETTE8_RGBA8_OES = 0x8B96 # PALETTE8_R5_G6_B5_OES = 0x8B97 # PALETTE8_RGBA4_OES = 0x8B98 # PALETTE8_RGB5_A1_OES = 0x8B99 # OES_read_format enum: (OpenGL ES, also implemented in Mesa) # IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A # IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B # OES_point_size_array enum: (OpenGL ES only; additional; see above) # POINT_SIZE_ARRAY_OES = 0x8B9C # OES_draw_texture enum: (OpenGL ES only) # TEXTURE_CROP_RECT_OES = 0x8B9D # OES_matrix_palette enum: (OpenGL ES only) # MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E # OES_point_size_array enum: (OpenGL ES only; additional; see above) # POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F ############################################################################### # Seaweed: 0x8BA0-0x8BAF ############################################################################### # Mesa: 0x8BB0-0x8BBF # Probably one of the two 0x8BB4 enums should be 0x8BB5, but the # extension spec is not complete in any event. # MESA_program_debug enum: # FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0 # FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1 # FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2 # FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3 # VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB4 # VERTEX_PROGRAM_POSITION_MESA = 0x8BB4 # VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6 # VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7 ############################################################################### # ATI: 0x8BC0-0x8BFF # AMD_performance_monitor enum: # COUNTER_TYPE_AMD = 0x8BC0 # COUNTER_RANGE_AMD = 0x8BC1 # UNSIGNED_INT64_AMD = 0x8BC2 # PERCENTAGE_AMD = 0x8BC3 # PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4 # PERFMON_RESULT_SIZE_AMD = 0x8BC5 # PERFMON_RESULT_AMD = 0x8BC6 ############################################################################### # Imagination Tech.: 0x8C00-0x8C0F # IMG_texture_compression_pvrtc enum: (OpenGL ES only) # COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00 # COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01 # COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02 # COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03 # IMG_texture_env_enhanced_fixed_function (OpenGL ES only) # MODULATE_COLOR_IMG = 0x8C04 # RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05 # TEXTURE_ALPHA_MODULATE_IMG = 0x8C06 # FACTOR_ALPHA_MODULATE_IMG = 0x8C07 # FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08 # ADD_BLEND_IMG = 0x8C09 ############################################################################### # NVIDIA: 0x8C10-0x8C8F (Pat Brown) VERSION_3_0 enum: use ARB_framebuffer_object TEXTURE_RED_TYPE use ARB_framebuffer_object TEXTURE_GREEN_TYPE use ARB_framebuffer_object TEXTURE_BLUE_TYPE use ARB_framebuffer_object TEXTURE_ALPHA_TYPE use ARB_framebuffer_object TEXTURE_LUMINANCE_TYPE use ARB_framebuffer_object TEXTURE_INTENSITY_TYPE use ARB_framebuffer_object TEXTURE_DEPTH_TYPE use ARB_framebuffer_object UNSIGNED_NORMALIZED # ARB_framebuffer_object enum: (note: no ARB suffixes) # TEXTURE_RED_TYPE = 0x8C10 # VERSION_3_0 / ARB_fbo # TEXTURE_GREEN_TYPE = 0x8C11 # VERSION_3_0 / ARB_fbo # TEXTURE_BLUE_TYPE = 0x8C12 # VERSION_3_0 / ARB_fbo # TEXTURE_ALPHA_TYPE = 0x8C13 # VERSION_3_0 / ARB_fbo # TEXTURE_LUMINANCE_TYPE = 0x8C14 # VERSION_3_0 / ARB_fbo # TEXTURE_INTENSITY_TYPE = 0x8C15 # VERSION_3_0 / ARB_fbo # TEXTURE_DEPTH_TYPE = 0x8C16 # VERSION_3_0 / ARB_fbo # UNSIGNED_NORMALIZED = 0x8C17 # VERSION_3_0 / ARB_fbo # ARB_texture_float enum: (additional; see above) # TEXTURE_RED_TYPE_ARB = 0x8C10 # TEXTURE_GREEN_TYPE_ARB = 0x8C11 # TEXTURE_BLUE_TYPE_ARB = 0x8C12 # TEXTURE_ALPHA_TYPE_ARB = 0x8C13 # TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14 # TEXTURE_INTENSITY_TYPE_ARB = 0x8C15 # TEXTURE_DEPTH_TYPE_ARB = 0x8C16 # UNSIGNED_NORMALIZED_ARB = 0x8C17 # VERSION_3_0 enum: # TEXTURE_1D_ARRAY = 0x8C18 # VERSION_3_0 # PROXY_TEXTURE_1D_ARRAY = 0x8C19 # VERSION_3_0 # TEXTURE_2D_ARRAY = 0x8C1A # VERSION_3_0 # PROXY_TEXTURE_2D_ARRAY = 0x8C1B # VERSION_3_0 # TEXTURE_BINDING_1D_ARRAY = 0x8C1C # VERSION_3_0 # TEXTURE_BINDING_2D_ARRAY = 0x8C1D # VERSION_3_0 # EXT_texture_array enum: # TEXTURE_1D_ARRAY_EXT = 0x8C18 # PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19 # TEXTURE_2D_ARRAY_EXT = 0x8C1A # PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B # TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C # TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D # NV_future_use: 0x8C1E-0x8C25 # ARB_geometry_shader4 enum: (additional; see below) # MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29 # NV_geometry_program4 enum: # GEOMETRY_PROGRAM_NV = 0x8C26 # MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27 # MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28 # MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29 # VERSION_3_1 enum: # TEXTURE_BUFFER = 0x8C2A # MAX_TEXTURE_BUFFER_SIZE = 0x8C2B # TEXTURE_BINDING_BUFFER = 0x8C2C # TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D # TEXTURE_BUFFER_FORMAT = 0x8C2E # ARB_texture_buffer_object enum: # TEXTURE_BUFFER_ARB = 0x8C2A # MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B # TEXTURE_BINDING_BUFFER_ARB = 0x8C2C # TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D # TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E # EXT_texture_buffer_object enum: # TEXTURE_BUFFER_EXT = 0x8C2A # MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B # TEXTURE_BINDING_BUFFER_EXT = 0x8C2C # TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D # TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E # NV_future_use: 0x8C2F-0x8C39 # VERSION_3_0 enum: # R11F_G11F_B10F = 0x8C3A # VERSION_3_0 # UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B # VERSION_3_0 # EXT_packed_float enum: # R11F_G11F_B10F_EXT = 0x8C3A # UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B # RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C # VERSION_3_0 enum: # RGB9_E5 = 0x8C3D # VERSION_3_0 # UNSIGNED_INT_5_9_9_9_REV = 0x8C3E # VERSION_3_0 # TEXTURE_SHARED_SIZE = 0x8C3F # VERSION_3_0 # EXT_texture_shared_exponent enum: # RGB9_E5_EXT = 0x8C3D # UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E # TEXTURE_SHARED_SIZE_EXT = 0x8C3F # VERSION_2_1 enum: (Generic formats promoted for OpenGL 2.1) # SRGB = 0x8C40 # VERSION_2_1 # SRGB8 = 0x8C41 # VERSION_2_1 # SRGB_ALPHA = 0x8C42 # VERSION_2_1 # SRGB8_ALPHA8 = 0x8C43 # VERSION_2_1 # SLUMINANCE_ALPHA = 0x8C44 # VERSION_2_1 # SLUMINANCE8_ALPHA8 = 0x8C45 # VERSION_2_1 # SLUMINANCE = 0x8C46 # VERSION_2_1 # SLUMINANCE8 = 0x8C47 # VERSION_2_1 # COMPRESSED_SRGB = 0x8C48 # VERSION_2_1 # COMPRESSED_SRGB_ALPHA = 0x8C49 # VERSION_2_1 # COMPRESSED_SLUMINANCE = 0x8C4A # VERSION_2_1 # COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B # VERSION_2_1 # EXT_texture_sRGB enum: # SRGB_EXT = 0x8C40 # EXT_texture_sRGB # SRGB8_EXT = 0x8C41 # EXT_texture_sRGB # SRGB_ALPHA_EXT = 0x8C42 # EXT_texture_sRGB # SRGB8_ALPHA8_EXT = 0x8C43 # EXT_texture_sRGB # SLUMINANCE_ALPHA_EXT = 0x8C44 # EXT_texture_sRGB # SLUMINANCE8_ALPHA8_EXT = 0x8C45 # EXT_texture_sRGB # SLUMINANCE_EXT = 0x8C46 # EXT_texture_sRGB # SLUMINANCE8_EXT = 0x8C47 # EXT_texture_sRGB # COMPRESSED_SRGB_EXT = 0x8C48 # EXT_texture_sRGB # COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 # EXT_texture_sRGB # COMPRESSED_SLUMINANCE_EXT = 0x8C4A # EXT_texture_sRGB # COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B # EXT_texture_sRGB # COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C # COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D # COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E # COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F # NV_future_use: 0x8C50-0x8C6F # EXT_texture_compression_latc enum: # COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70 # COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71 # COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72 # COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73 # NV_future_use: 0x8C74-0x8C75 # VERSION_3_0 enum: # EXT_transform_feedback enum: # NV_transform_feedback enum: # TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 # VERSION_3_0 # TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76 # BACK_PRIMARY_COLOR_NV = 0x8C77 # BACK_SECONDARY_COLOR_NV = 0x8C78 # TEXTURE_COORD_NV = 0x8C79 # CLIP_DISTANCE_NV = 0x8C7A # VERTEX_ID_NV = 0x8C7B # PRIMITIVE_ID_NV = 0x8C7C # GENERIC_ATTRIB_NV = 0x8C7D # TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E # TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F # VERSION_3_0 # TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F # TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F # MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 # VERSION_3_0 # MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80 # MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80 # ACTIVE_VARYINGS_NV = 0x8C81 # ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82 # TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 # VERSION_3_0 # TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83 # TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83 # TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 # VERSION_3_0 # TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84 # TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84 # TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 # VERSION_3_0 # TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85 # TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85 # TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86 # PRIMITIVES_GENERATED = 0x8C87 # VERSION_3_0 # PRIMITIVES_GENERATED_EXT = 0x8C87 # PRIMITIVES_GENERATED_NV = 0x8C87 # TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 # VERSION_3_0 # TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88 # TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88 # RASTERIZER_DISCARD = 0x8C89 # VERSION_3_0 # RASTERIZER_DISCARD_EXT = 0x8C89 # RASTERIZER_DISCARD_NV = 0x8C89 # MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A # VERSION_3_0 # MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A # MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = 0x8C8A # MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B # VERSION_3_0 # MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B # MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B # INTERLEAVED_ATTRIBS = 0x8C8C # VERSION_3_0 # INTERLEAVED_ATTRIBS_EXT = 0x8C8C # INTERLEAVED_ATTRIBS_NV = 0x8C8C # SEPARATE_ATTRIBS = 0x8C8D # VERSION_3_0 # SEPARATE_ATTRIBS_EXT = 0x8C8D # SEPARATE_ATTRIBS_NV = 0x8C8D # TRANSFORM_FEEDBACK_BUFFER = 0x8C8E # VERSION_3_0 # TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E # TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E # TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F # VERSION_3_0 # TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F # TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F ############################################################################### # ATI: 0x8C90-0x8C9F (Affie Munshi, OpenGL ES extensions) # AMD_future_use: 0x8C90-0x8C91 # AMD_compressed_ATC_texture (OpenGL ES only) # ATC_RGB_AMD = 0x8C92 # ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93 # AMD_future_use: 0x8C94-0x8C9F ############################################################################### # OpenGL ARB: 0x8CA0-0x8CAF # VERSION_2_0 enum: # POINT_SPRITE_COORD_ORIGIN = 0x8CA0 # LOWER_LEFT = 0x8CA1 # UPPER_LEFT = 0x8CA2 # STENCIL_BACK_REF = 0x8CA3 # STENCIL_BACK_VALUE_MASK = 0x8CA4 # STENCIL_BACK_WRITEMASK = 0x8CA5 VERSION_3_0 enum: use ARB_framebuffer_object FRAMEBUFFER_BINDING use ARB_framebuffer_object DRAW_FRAMEBUFFER_BINDING use ARB_framebuffer_object RENDERBUFFER_BINDING # ARB_framebuffer_object enum: (note: no ARB suffixes) # FRAMEBUFFER_BINDING = 0x8CA6 # VERSION_3_0 / ARB_fbo # DRAW_FRAMEBUFFER_BINDING = 0x8CA6 # VERSION_3_0 / ARB_fbo # alias GL_FRAMEBUFFER_BINDING # RENDERBUFFER_BINDING = 0x8CA7 # VERSION_3_0 / ARB_fbo # EXT_framebuffer_object enum: (additional; see below) # EXT_framebuffer_blit enum: (additional; see below) # FRAMEBUFFER_BINDING_EXT = 0x8CA6 # DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 # EXT_framebuffer_blit # alias GL_FRAMEBUFFER_BINDING_EXT # RENDERBUFFER_BINDING_EXT = 0x8CA7 # Aliases EXT_framebuffer_object enums above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # FRAMEBUFFER_BINDING_OES = 0x8CA6 # RENDERBUFFER_BINDING_OES = 0x8CA7 VERSION_3_0 enum: use ARB_framebuffer_object READ_FRAMEBUFFER use ARB_framebuffer_object DRAW_FRAMEBUFFER use ARB_framebuffer_object READ_FRAMEBUFFER_BINDING # ARB_framebuffer_object enum: (note: no ARB suffixes) # READ_FRAMEBUFFER = 0x8CA8 # VERSION_3_0 / ARB_fbo # DRAW_FRAMEBUFFER = 0x8CA9 # VERSION_3_0 / ARB_fbo # READ_FRAMEBUFFER_BINDING = 0x8CAA # VERSION_3_0 / ARB_fbo # EXT_framebuffer_blit enum: # READ_FRAMEBUFFER_EXT = 0x8CA8 # DRAW_FRAMEBUFFER_EXT = 0x8CA9 # DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 # alias GL_FRAMEBUFFER_BINDING_EXT # READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA VERSION_3_0 enum: use ARB_framebuffer_object RENDERBUFFER_SAMPLES # ARB_framebuffer_object enum: (note: no ARB suffixes) # RENDERBUFFER_SAMPLES = 0x8CAB # VERSION_3_0 / ARB_fbo # EXT_framebuffer_multisample enum: # RENDERBUFFER_SAMPLES_EXT = 0x8CAB # NV_framebuffer_multisample_coverage enum: (additional; see below) # RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB # VERSION_3_0 enum: # ARB_depth_buffer_float enum: (note: no ARB suffixes) # All enums except external format are incompatible with NV_depth_buffer_float # DEPTH_COMPONENT32F = 0x8CAC # DEPTH32F_STENCIL8 = 0x8CAD # ARB_future_use: 0x8CAF ############################################################################### # 3Dlabs: 0x8CB0-0x8CCF (Barthold Lichtenbelt, 2004/12/1) ############################################################################### # OpenGL ARB: 0x8CD0-0x8D5F (Framebuffer object specification + headroom) # VERSION_3_0 enum: # ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes) # ARB_framebuffer_object enum: (note: no ARB suffixes) # EXT_framebuffer_object enum: (additional; see above) # FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0 # FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1 # FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2 # FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 # FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4 # FRAMEBUFFER_COMPLETE = 0x8CD5 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_COMPLETE_EXT = 0x8CD5 # FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6 # FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7 ## Removed 2005/09/26 in revision #117 of the extension: ## FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8 # FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9 # FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA # FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB # FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC # FRAMEBUFFER_UNSUPPORTED = 0x8CDD # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD ## Removed 2005/05/31 in revision #113 of the extension: ## FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE # MAX_COLOR_ATTACHMENTS = 0x8CDF # VERSION_3_0 / ARB_fbo # MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF # COLOR_ATTACHMENT0 = 0x8CE0 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT0_EXT = 0x8CE0 # COLOR_ATTACHMENT1 = 0x8CE1 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT1_EXT = 0x8CE1 # COLOR_ATTACHMENT2 = 0x8CE2 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT2_EXT = 0x8CE2 # COLOR_ATTACHMENT3 = 0x8CE3 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT3_EXT = 0x8CE3 # COLOR_ATTACHMENT4 = 0x8CE4 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT4_EXT = 0x8CE4 # COLOR_ATTACHMENT5 = 0x8CE5 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT5_EXT = 0x8CE5 # COLOR_ATTACHMENT6 = 0x8CE6 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT6_EXT = 0x8CE6 # COLOR_ATTACHMENT7 = 0x8CE7 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT7_EXT = 0x8CE7 # COLOR_ATTACHMENT8 = 0x8CE8 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT8_EXT = 0x8CE8 # COLOR_ATTACHMENT9 = 0x8CE9 # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT9_EXT = 0x8CE9 # COLOR_ATTACHMENT10 = 0x8CEA # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT10_EXT = 0x8CEA # COLOR_ATTACHMENT11 = 0x8CEB # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT11_EXT = 0x8CEB # COLOR_ATTACHMENT12 = 0x8CEC # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT12_EXT = 0x8CEC # COLOR_ATTACHMENT13 = 0x8CED # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT13_EXT = 0x8CED # COLOR_ATTACHMENT14 = 0x8CEE # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT14_EXT = 0x8CEE # COLOR_ATTACHMENT15 = 0x8CEF # VERSION_3_0 / ARB_fbo # COLOR_ATTACHMENT15_EXT = 0x8CEF # 0x8CF0-0x8CFF reserved for color attachments 16-31, if needed # DEPTH_ATTACHMENT = 0x8D00 # VERSION_3_0 / ARB_fbo # DEPTH_ATTACHMENT_EXT = 0x8D00 # 0x8D01-0x8D1F reserved for depth attachments 1-31, if needed # STENCIL_ATTACHMENT = 0x8D20 # VERSION_3_0 / ARB_fbo # STENCIL_ATTACHMENT_EXT = 0x8D20 # 0x8D21-0x8D3F reserved for stencil attachments 1-31, if needed # FRAMEBUFFER = 0x8D40 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_EXT = 0x8D40 # RENDERBUFFER = 0x8D41 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_EXT = 0x8D41 # RENDERBUFFER_WIDTH = 0x8D42 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_WIDTH_EXT = 0x8D42 # RENDERBUFFER_HEIGHT = 0x8D43 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_HEIGHT_EXT = 0x8D43 # RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44 # 0x8D45 unused (reserved for STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead) # STENCIL_INDEX1 = 0x8D46 # VERSION_3_0 / ARB_fbo # STENCIL_INDEX1_EXT = 0x8D46 # STENCIL_INDEX4 = 0x8D47 # VERSION_3_0 / ARB_fbo # STENCIL_INDEX4_EXT = 0x8D47 # STENCIL_INDEX8 = 0x8D48 # VERSION_3_0 / ARB_fbo # STENCIL_INDEX8_EXT = 0x8D48 # STENCIL_INDEX16 = 0x8D49 # VERSION_3_0 / ARB_fbo # STENCIL_INDEX16_EXT = 0x8D49 # 0x8D4A-0x8D4D reserved for additional stencil formats # Added 2005/05/31 in revision #113 of the extension: # RENDERBUFFER_RED_SIZE = 0x8D50 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_RED_SIZE_EXT = 0x8D50 # RENDERBUFFER_GREEN_SIZE = 0x8D51 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51 # RENDERBUFFER_BLUE_SIZE = 0x8D52 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52 # RENDERBUFFER_ALPHA_SIZE = 0x8D53 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53 # RENDERBUFFER_DEPTH_SIZE = 0x8D54 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54 # RENDERBUFFER_STENCIL_SIZE = 0x8D55 # VERSION_3_0 / ARB_fbo # RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55 # Aliases EXT_framebuffer_object enum above # OES_texture3D enum: (OpenGL ES only; additional; see above) # FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4 # @@@??? does this appear in OES_texture3D, or OES_framebuffer_object? # extension spec & gl2ext.h disagree! # Aliases EXT_framebuffer_object enums above # OES_framebuffer_object enum: (OpenGL ES only; additional; see below) # FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0 # FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1 # FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2 # FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3 # FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4 # FRAMEBUFFER_COMPLETE_OES = 0x8CD5 # FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6 # FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7 # FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9 # FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA # FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB # FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC # FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD # COLOR_ATTACHMENT0_OES = 0x8CE0 # DEPTH_ATTACHMENT_OES = 0x8D00 # STENCIL_ATTACHMENT_OES = 0x8D20 # FRAMEBUFFER_OES = 0x8D40 # RENDERBUFFER_OES = 0x8D41 # RENDERBUFFER_WIDTH_OES = 0x8D42 # RENDERBUFFER_HEIGHT_OES = 0x8D43 # RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44 # STENCIL_INDEX1_OES = 0x8D46 # STENCIL_INDEX4_OES = 0x8D47 # STENCIL_INDEX8_OES = 0x8D48 # RENDERBUFFER_RED_SIZE_OES = 0x8D50 # RENDERBUFFER_GREEN_SIZE_OES = 0x8D51 # RENDERBUFFER_BLUE_SIZE_OES = 0x8D52 # RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53 # RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54 # RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55 # OES_stencil1 enum: (OpenGL ES only; additional; see below) # use OES_framebuffer_object STENCIL_INDEX1_OES # OES_stencil4 enum: (OpenGL ES only; additional; see below) # use OES_framebuffer_object STENCIL_INDEX4_OES # OES_stencil8 enum: (OpenGL ES only; additional; see below) # use OES_framebuffer_object STENCIL_INDEX8_OES # VERSION_3_0 enum: # ARB_framebuffer_object enum: (note: no ARB suffixes) # EXT_framebuffer_multisample enum: (additional; see above) # Added 2006/10/10 in revision #6b of the extension. # FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 # VERSION_3_0 / ARB_fbo # FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56 # MAX_SAMPLES = 0x8D57 # VERSION_3_0 / ARB_fbo # MAX_SAMPLES_EXT = 0x8D57 # 0x8D58-0x8D5F reserved for additional FBO enums # NV_geometry_program4 enum: (additional; see above) # FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4 ############################################################################### # Khronos OpenGL ES WG: 0x8D60-0x8D6F # OES_texture_cube_map enum: (OpenGL ES only) # TEXTURE_GEN_STR_OES = 0x8D60 # OES_texture_float enum: (OpenGL ES only) # HALF_FLOAT_OES = 0x8D61 # OES_vertex_half_float enum: (OpenGL ES only) # use OES_texture_float HALF_FLOAT_OES # OES_framebuffer_object enum: (OpenGL ES only) # RGB565_OES = 0x8D62 # Khronos_future_use: 0x8D63 # OES_compressed_ETC1_RGB8_texture (OpenGL ES only) # ETC1_RGB8_OES = 0x8D64 # OES_EGL_image_external enum: (OpenGL ES only) (bug 4621) # TEXTURE_EXTERNAL_OES = 0x8D65 # SAMPLER_EXTERNAL_OES = 0x8D66 # TEXTURE_BINDING_EXTERNAL_OES = 0x8D67 # REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68 # Khronos_future_use: 0x8D69-0x8D6F ############################################################################### # NVIDIA: 0x8D70-0x8DEF # Reserved per email from Pat Brown 2005/10/13 # VERSION_3_0 enum: # EXT_texture_integer enum: # RGBA32UI = 0x8D70 # VERSION_3_0 # RGBA32UI_EXT = 0x8D70 # RGB32UI = 0x8D71 # VERSION_3_0 # RGB32UI_EXT = 0x8D71 # ALPHA32UI_EXT = 0x8D72 # INTENSITY32UI_EXT = 0x8D73 # LUMINANCE32UI_EXT = 0x8D74 # LUMINANCE_ALPHA32UI_EXT = 0x8D75 # RGBA16UI = 0x8D76 # VERSION_3_0 # RGBA16UI_EXT = 0x8D76 # RGB16UI = 0x8D77 # VERSION_3_0 # RGB16UI_EXT = 0x8D77 # ALPHA16UI_EXT = 0x8D78 # INTENSITY16UI_EXT = 0x8D79 # LUMINANCE16UI_EXT = 0x8D7A # LUMINANCE_ALPHA16UI_EXT = 0x8D7B # RGBA8UI = 0x8D7C # VERSION_3_0 # RGBA8UI_EXT = 0x8D7C # RGB8UI = 0x8D7D # VERSION_3_0 # RGB8UI_EXT = 0x8D7D # ALPHA8UI_EXT = 0x8D7E # INTENSITY8UI_EXT = 0x8D7F # LUMINANCE8UI_EXT = 0x8D80 # LUMINANCE_ALPHA8UI_EXT = 0x8D81 # RGBA32I = 0x8D82 # VERSION_3_0 # RGBA32I_EXT = 0x8D82 # RGB32I = 0x8D83 # VERSION_3_0 # RGB32I_EXT = 0x8D83 # ALPHA32I_EXT = 0x8D84 # INTENSITY32I_EXT = 0x8D85 # LUMINANCE32I_EXT = 0x8D86 # LUMINANCE_ALPHA32I_EXT = 0x8D87 # RGBA16I = 0x8D88 # VERSION_3_0 # RGBA16I_EXT = 0x8D88 # RGB16I = 0x8D89 # VERSION_3_0 # RGB16I_EXT = 0x8D89 # ALPHA16I_EXT = 0x8D8A # INTENSITY16I_EXT = 0x8D8B # LUMINANCE16I_EXT = 0x8D8C # LUMINANCE_ALPHA16I_EXT = 0x8D8D # RGBA8I = 0x8D8E # VERSION_3_0 # RGBA8I_EXT = 0x8D8E # RGB8I = 0x8D8F # VERSION_3_0 # RGB8I_EXT = 0x8D8F # ALPHA8I_EXT = 0x8D90 # INTENSITY8I_EXT = 0x8D91 # LUMINANCE8I_EXT = 0x8D92 # LUMINANCE_ALPHA8I_EXT = 0x8D93 # RED_INTEGER = 0x8D94 # VERSION_3_0 # RED_INTEGER_EXT = 0x8D94 # GREEN_INTEGER = 0x8D95 # VERSION_3_0 # GREEN_INTEGER_EXT = 0x8D95 # BLUE_INTEGER = 0x8D96 # VERSION_3_0 # BLUE_INTEGER_EXT = 0x8D96 # ALPHA_INTEGER = 0x8D97 # VERSION_3_0 # ALPHA_INTEGER_EXT = 0x8D97 # RGB_INTEGER = 0x8D98 # VERSION_3_0 # RGB_INTEGER_EXT = 0x8D98 # RGBA_INTEGER = 0x8D99 # VERSION_3_0 # RGBA_INTEGER_EXT = 0x8D99 # BGR_INTEGER = 0x8D9A # VERSION_3_0 # BGR_INTEGER_EXT = 0x8D9A # BGRA_INTEGER = 0x8D9B # VERSION_3_0 # BGRA_INTEGER_EXT = 0x8D9B # LUMINANCE_INTEGER_EXT = 0x8D9C # LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D # RGBA_INTEGER_MODE_EXT = 0x8D9E # NV_future_use: 0x8D9F # NV_parameter_buffer_object enum: # MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0 # MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1 # VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2 # GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3 # FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4 # NV_gpu_program4 enum: (additional; see above) # MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5 # MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6 # ARB_geometry_shader4 enum: (additional; see below) # NV_geometry_program4 enum: (additional; see above) # FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7 # FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7 # FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8 # FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8 # FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9 # FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9 # NV_future_use: 0x8DAA # NV_future_use: 0x8DAE # VERSION_3_0 enum: # ARB_depth_buffer_float enum: (additional; see above; some values different from NV; note: no ARB suffixes) # NV_depth_buffer_float enum: # DEPTH_COMPONENT32F_NV = 0x8DAB # DEPTH32F_STENCIL8_NV = 0x8DAC # FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD # FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD # DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF # NV_future_use: 0x8DB0-0x8DB8 # VERSION_3_0 enum: # ARB_framebuffer_sRGB enum: (note: no ARB suffixes) # EXT_framebuffer_sRGB enum: # FRAMEBUFFER_SRGB = 0x8DB9 # VERSION_3_0 / ARB_sRGB # FRAMEBUFFER_SRGB_EXT = 0x8DB9 # FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA # VERSION_3_0 enum: # ARB_texture_compression_rgtc enum: (note: no ARB suffixes) # EXT_texture_compression_rgtc enum: # COMPRESSED_RED_RGTC1 = 0x8DBB # VERSION_3_0 / ARB_tcrgtc # COMPRESSED_RED_RGTC1_EXT = 0x8DBB # COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC # VERSION_3_0 / ARB_tcrgtc # COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC # COMPRESSED_RG_RGTC2 = 0x8DBD # VERSION_3_0 / ARB_tcrgtc # COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD # COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE # VERSION_3_0 / ARB_tcrgtc # COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE # NV_future_use: 0x8DBF # VERSION_3_0 enum: # SAMPLER_1D_ARRAY = 0x8DC0 # VERSION_3_0 # SAMPLER_2D_ARRAY = 0x8DC1 # VERSION_3_0 # SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 # VERSION_3_0 # SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 # VERSION_3_0 # SAMPLER_CUBE_SHADOW = 0x8DC5 # VERSION_3_0 # UNSIGNED_INT_VEC2 = 0x8DC6 # VERSION_3_0 # UNSIGNED_INT_VEC3 = 0x8DC7 # VERSION_3_0 # UNSIGNED_INT_VEC4 = 0x8DC8 # VERSION_3_0 # INT_SAMPLER_1D = 0x8DC9 # VERSION_3_0 # INT_SAMPLER_2D = 0x8DCA # VERSION_3_0 # INT_SAMPLER_3D = 0x8DCB # VERSION_3_0 # INT_SAMPLER_CUBE = 0x8DCC # VERSION_3_0 # INT_SAMPLER_1D_ARRAY = 0x8DCE # VERSION_3_0 # INT_SAMPLER_2D_ARRAY = 0x8DCF # VERSION_3_0 # UNSIGNED_INT_SAMPLER_1D = 0x8DD1 # VERSION_3_0 # UNSIGNED_INT_SAMPLER_2D = 0x8DD2 # VERSION_3_0 # UNSIGNED_INT_SAMPLER_3D = 0x8DD3 # VERSION_3_0 # UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 # VERSION_3_0 # UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 # VERSION_3_0 # UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 # VERSION_3_0 VERSION_3_1 enum: (Promoted from EXT_gpu_shader4 + ARB_texture_rectangle / ARB_uniform_buffer_object) SAMPLER_BUFFER = 0x8DC2 # EXT_gpu_shader4 + ARB_texture_buffer_object INT_SAMPLER_2D_RECT = 0x8DCD # EXT_gpu_shader4 + ARB_texture_rectangle INT_SAMPLER_BUFFER = 0x8DD0 # EXT_gpu_shader4 + ARB_texture_buffer_object UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 # EXT_gpu_shader4 + ARB_texture_rectangle UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 # EXT_gpu_shader4 + ARB_texture_buffer_object # EXT_gpu_shader4 enum: # SAMPLER_1D_ARRAY_EXT = 0x8DC0 # SAMPLER_2D_ARRAY_EXT = 0x8DC1 # SAMPLER_BUFFER_EXT = 0x8DC2 # SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3 # SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4 # SAMPLER_CUBE_SHADOW_EXT = 0x8DC5 # UNSIGNED_INT_VEC2_EXT = 0x8DC6 # UNSIGNED_INT_VEC3_EXT = 0x8DC7 # UNSIGNED_INT_VEC4_EXT = 0x8DC8 # INT_SAMPLER_1D_EXT = 0x8DC9 # INT_SAMPLER_2D_EXT = 0x8DCA # INT_SAMPLER_3D_EXT = 0x8DCB # INT_SAMPLER_CUBE_EXT = 0x8DCC # INT_SAMPLER_2D_RECT_EXT = 0x8DCD # INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE # INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF # INT_SAMPLER_BUFFER_EXT = 0x8DD0 # UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1 # UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2 # UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3 # UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4 # UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5 # UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6 # UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7 # UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8 # ARB_geometry_shader4 enum: # GEOMETRY_SHADER_ARB = 0x8DD9 # EXT_geometry_shader4 enum: # GEOMETRY_SHADER_EXT = 0x8DD9 # ARB_geometry_shader4 enum: (additional; see above) # GEOMETRY_VERTICES_OUT_ARB = 0x8DDA # GEOMETRY_INPUT_TYPE_ARB = 0x8DDB # GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC # NV_geometry_program4 enum: (additional; see above) # GEOMETRY_VERTICES_OUT_EXT = 0x8DDA # GEOMETRY_INPUT_TYPE_EXT = 0x8DDB # GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC # ARB_geometry_shader4 enum: (additional; see above) # MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD # MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE # MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF # MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0 # MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1 # EXT_geometry_shader4 enum: (additional; see above) # MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD # MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE # MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF # MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0 # MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1 # EXT_bindable_uniform enum: # MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2 # MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3 # MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4 # NV_future_use: 0x8DE5-0x8DEC # EXT_bindable_uniform enum: (additional; see above) # MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED # UNIFORM_BUFFER_EXT = 0x8DEE # UNIFORM_BUFFER_BINDING_EXT = 0x8DEF ############################################################################### # Khronos OpenGL ES WG: 0x8DF0-0x8E0F # Khronos_future_use: 0x8DF0-0x8DF5 # OES_vertex_type_10_10_10_2 enum: (OpenGL ES only) # UNSIGNED_INT_10_10_10_2_OES = 0x8DF6 # INT_10_10_10_2_OES = 0x8DF7 # Khronos_future_use: 0x8DF8-0x8E0F ############################################################################### # NVIDIA: 0x8E10-0x8E8F # Reserved per email from Michael Gold 2006/8/7 # NV_framebuffer_multisample_coverage enum: # RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10 # MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11 # MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12 # VERSION_3_0 enum: # QUERY_WAIT = 0x8E13 # VERSION_3_0 # QUERY_NO_WAIT = 0x8E14 # VERSION_3_0 # QUERY_BY_REGION_WAIT = 0x8E15 # VERSION_3_0 # QUERY_BY_REGION_NO_WAIT = 0x8E16 # VERSION_3_0 # GL_NV_conditional_render enum: # QUERY_WAIT_NV = 0x8E13 # QUERY_NO_WAIT_NV = 0x8E14 # QUERY_BY_REGION_WAIT_NV = 0x8E15 # QUERY_BY_REGION_NO_WAIT_NV = 0x8E16 # NV_future_use: 0x8E17-0x8E21 # NV_transform_feedback2 enum: # TRANSFORM_FEEDBACK_NV = 0x8E22 # TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23 # TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24 # TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25 # NV_present_video enum: # FRAME_NV = 0x8E26 # FIELDS_NV = 0x8E27 # CURRENT_TIME_NV = 0x8E28 # NUM_FILL_STREAMS_NV = 0x8E29 # PRESENT_TIME_NV = 0x8E2A # PRESENT_DURATION_NV = 0x8E2B # NV_future_use: 0x8E2C # EXT_direct_state_access enum: # PROGRAM_MATRIX_EXT = 0x8E2D # TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E # PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F # NV_future_use: 0x8E30-0x8E41 # EXT_texture_swizzle enum: # TEXTURE_SWIZZLE_R_EXT = 0x8E42 # TEXTURE_SWIZZLE_G_EXT = 0x8E43 # TEXTURE_SWIZZLE_B_EXT = 0x8E44 # TEXTURE_SWIZZLE_A_EXT = 0x8E45 # TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46 # NV_future_use: 0x8E47-0x8E4B # EXT_provoking_vertex enum: # QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C # FIRST_VERTEX_CONVENTION_EXT = 0x8E4D # LAST_VERTEX_CONVENTION_EXT = 0x8E4E # PROVOKING_VERTEX_EXT = 0x8E4F # NV_explicit_multisample enum: # SAMPLE_POSITION_NV = 0x8E50 # SAMPLE_MASK_NV = 0x8E51 # SAMPLE_MASK_VALUE_NV = 0x8E52 # TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53 # TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54 # MAX_SAMPLE_MASK_WORDS_NV = 0x8E59 # TEXTURE_RENDERBUFFER_NV = 0x8E55 # SAMPLER_RENDERBUFFER_NV = 0x8E56 # INT_SAMPLER_RENDERBUFFER_NV = 0x8E57 # UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58 # NV_future_use: 0x8E59-0x8E8F ############################################################################### # QNX: 0x8E90-0x8E9F # For GL_QNX_texture_tiling, GL_QNX_complex_polygon, GL_QNX_stippled_lines # (Khronos bug 696) # QNX_future_use: 0x8E90-0x8E9F ############################################################################### # Imagination Tech.: 0x8EA0-0x8EAF ############################################################################### # Khronos OpenGL ES WG: 0x8EB0-0x8EBF # Assigned for Affie Munshi on 2007/07/20 ############################################################################### # Vincent: 0x8EC0-0x8ECF ############################################################################### # NVIDIA: 0x8ED0-0x8F4F # Assigned for Pat Brown (Khronos bug 3191) # NV_future_use: 0x8ED0-0x8F35 # VERSION_3_1 enum: # use ARB_copy_buffer COPY_READ_BUFFER # use ARB_copy_buffer COPY_WRITE_BUFFER # ARB_copy_buffer enum: # COPY_READ_BUFFER = 0x8F36 # COPY_WRITE_BUFFER = 0x8F37 # NVIDIA_future_use: 0x8F38-0x8F4F ############################################################################### # 3Dlabs: 0x8F50-0x8F5F # Assigned for Jon Kennedy (Khronos public bug 75) ############################################################################### # ARM: 0x8F60-0x8F6F # Assigned for Remi Pedersen (Khronos bug 3745) ############################################################################### # HI Corp: 0x8F70-0x8F7F # Assigned for Mark Callow (Khronos bug 4055) ############################################################################### # Zebra Imaging: 0x8F80-0x8F8F # Assigned for Mike Weiblen (Khronos public bug 91) ############################################################################### # OpenGL ARB: 0x8F90-0x8F9F (SNORM textures, 3.1 primitive restart server state) # VERSION_3_1 enum: # RED_SNORM = 0x8F90 # VERSION_3_1 # RG_SNORM = 0x8F91 # VERSION_3_1 # RGB_SNORM = 0x8F92 # VERSION_3_1 # RGBA_SNORM = 0x8F93 # VERSION_3_1 # R8_SNORM = 0x8F94 # VERSION_3_1 # RG8_SNORM = 0x8F95 # VERSION_3_1 # RGB8_SNORM = 0x8F96 # VERSION_3_1 # RGBA8_SNORM = 0x8F97 # VERSION_3_1 # R16_SNORM = 0x8F98 # VERSION_3_1 # RG16_SNORM = 0x8F99 # VERSION_3_1 # RGB16_SNORM = 0x8F9A # VERSION_3_1 # RGBA16_SNORM = 0x8F9B # VERSION_3_1 # SIGNED_NORMALIZED = 0x8F9C # VERSION_3_1 # PRIMITIVE_RESTART = 0x8F9D # Different from NV_primitive_restart value # PRIMITIVE_RESTART_INDEX = 0x8F9E # Different from NV_primitive_restart value # ARB_future_use: 0x8F9F ############################################################################### # Qualcomm: 0x8FA0-0x8FBF # Assigned for Maurice Ribble (Khronos bug 4512) # QCOM_driver_control enum: (OpenGL ES only) # PERFMON_GLOBAL_MODE_QCOM = 0x8FA0 # QCOM_future_use: 0x8FA1-0x8FBF ############################################################################### # Vivante: 0x8FC0-0x8FDF # Assigned for Frido Garritsen (Khronos bug 4526) ############################################################################### # NVIDIA: 0x8FE0-0x8FFF # Assigned for Pat Brown (Khronos bug 4935) # NV_future_use: 0x8FE0-0x8FFF ############################################################################### # AMD: 0x9000-0x901F # Assigned for Bill Licea-Kane # AMD_vertex_shader_tesselator enum: # SAMPLER_BUFFER_AMD = 0x9001 # INT_SAMPLER_BUFFER_AMD = 0x9002 # UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003 # TESSELLATION_MODE_AMD = 0x9004 # TESSELLATION_FACTOR_AMD = 0x9005 # DISCRETE_AMD = 0x9006 # CONTINUOUS_AMD = 0x9007 # AMD_future_use: 0x9008-0x901F ############################################################################### # NVIDIA: 0x9020-0x90FF # Assigned for Pat Brown (Khronos bug 4935) # NV_future_use: 0x9020-0x90FF ############################################################################### ### Please remember that new enumerant allocations must be obtained by request ### to the Khronos API registrar (see comments at the top of this file) ### File requests in the Khronos Bugzilla, OpenGL project, Registry component. ############################################################################### # Any_vendor_future_use: 0x9100-0xFFFF # # This range must be the last range in the file. To generate a new # range, allocate multiples of 16 from the beginning of the # Any_vendor_future_use range and update enum.spec # (NOTE: first fill the gap from 0x8FE0-0x8FFF before proceeding here) ############################################################################### # ARB: 100000-100999 (GLU enumerants only) # ARB: 101000-101999 (Conformance tests only) ############################################################################### # IBM: 103000-103999 # CULL_VERTEX_IBM = 103050 # VERTEX_ARRAY_LIST_IBM = 103070 # NORMAL_ARRAY_LIST_IBM = 103071 # COLOR_ARRAY_LIST_IBM = 103072 # INDEX_ARRAY_LIST_IBM = 103073 # TEXTURE_COORD_ARRAY_LIST_IBM = 103074 # EDGE_FLAG_ARRAY_LIST_IBM = 103075 # FOG_COORDINATE_ARRAY_LIST_IBM = 103076 # SECONDARY_COLOR_ARRAY_LIST_IBM = 103077 # VERTEX_ARRAY_LIST_STRIDE_IBM = 103080 # NORMAL_ARRAY_LIST_STRIDE_IBM = 103081 # COLOR_ARRAY_LIST_STRIDE_IBM = 103082 # INDEX_ARRAY_LIST_STRIDE_IBM = 103083 # TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084 # EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085 # FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086 # SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087 ############################################################################### # NEC: 104000-104999 # Compaq: 105000-105999 (Compaq was acquired by HP) # KPC: 106000-106999 (Kubota is out of business) # PGI: 107000-107999 (Portable was acquired by Template Graphics) # E&S: 108000-108999 ############################################################################### opentk-1.0.20101006/Source/Bind/Specifications/GL2/gl.tm0000664000175000017500000002776011453131430021164 0ustar laneylaneyAccumOp,*,*, GLenum,*,* AlphaFunction,*,*, GLenum,*,* AttribMask,*,*, GLbitfield,*,* BeginMode,*,*, GLenum,*,* BinormalPointerTypeEXT,*,*, GLenum,*,* BlendEquationMode,*,*, GLenum,*,* BlendEquationModeEXT,*,*, GLenum,*,* BlendFuncSeparateParameterEXT,*,*, GLenum,*,* BlendingFactorDest,*,*, GLenum,*,* BlendingFactorSrc,*,*, GLenum,*,* Boolean,*,*, GLboolean,*,* BooleanPointer,*,*, GLboolean*,*,* Char,*,*, GLchar,*,* CharPointer,*,*, GLchar*,*,* CheckedFloat32,*,*, GLfloat,*,* CheckedInt32,*,*, GLint,*,* ClampColorTargetARB,*,*, GLenum,*,* ClampColorModeARB,*,*, GLenum,*,* ClampedColorF,*,*, GLclampf,*,* ClampedFloat32,*,*, GLclampf,*,* ClampedFloat64,*,*, GLclampd,*,* ClampedStencilValue,*,*, GLint,*,* ClearBufferMask,*,*, GLbitfield,*,* ClientAttribMask,*,*, GLbitfield,*,* ClipPlaneName,*,*, GLenum,*,* ColorB,*,*, GLbyte,*,* ColorD,*,*, GLdouble,*,* ColorF,*,*, GLfloat,*,* ColorI,*,*, GLint,*,* ColorIndexValueD,*,*, GLdouble,*,* ColorIndexValueF,*,*, GLfloat,*,* ColorIndexValueI,*,*, GLint,*,* ColorIndexValueS,*,*, GLshort,*,* ColorIndexValueUB,*,*, GLubyte,*,* ColorMaterialParameter,*,*, GLenum,*,* ColorPointerType,*,*, GLenum,*,* ColorS,*,*, GLshort,*,* ColorTableParameterPName,*,*, GLenum,*,* ColorTableParameterPNameSGI,*,*, GLenum,*,* ColorTableTarget,*,*, GLenum,*,* ColorTableTargetSGI,*,*, GLenum,*,* ColorUB,*,*, GLubyte,*,* ColorUI,*,*, GLuint,*,* ColorUS,*,*, GLushort,*,* CombinerBiasNV,*,*, GLenum,*,* CombinerComponentUsageNV,*,*, GLenum,*,* CombinerMappingNV,*,*, GLenum,*,* CombinerParameterNV,*,*, GLenum,*,* CombinerPortionNV,*,*, GLenum,*,* CombinerRegisterNV,*,*, GLenum,*,* CombinerScaleNV,*,*, GLenum,*,* CombinerStageNV,*,*, GLenum,*,* CombinerVariableNV,*,*, GLenum,*,* CompressedTextureARB,*,*, GLvoid,*,* ControlPointNV,*,*, GLvoid,*,* ControlPointTypeNV,*,*, GLenum,*,* ConvolutionParameter,*,*, GLenum,*,* ConvolutionParameterEXT,*,*, GLenum,*,* ConvolutionTarget,*,*, GLenum,*,* ConvolutionTargetEXT,*,*, GLenum,*,* CoordD,*,*, GLdouble,*,* CoordF,*,*, GLfloat,*,* CoordI,*,*, GLint,*,* CoordS,*,*, GLshort,*,* CullFaceMode,*,*, GLenum,*,* CullParameterEXT,*,*, GLenum,*,* DepthFunction,*,*, GLenum,*,* DrawBufferMode,*,*, GLenum,*,* DrawBufferName,*,*, GLint,*,* DrawElementsType,*,*, GLenum,*,* ElementPointerTypeATI,*,*, GLenum,*,* EnableCap,*,*, GLenum,*,* ErrorCode,*,*, GLenum,*,* EvalMapsModeNV,*,*, GLenum,*,* EvalTargetNV,*,*, GLenum,*,* FeedbackElement,*,*, GLfloat,*,* FeedbackType,*,*, GLenum,*,* FenceNV,*,*, GLuint,*,* FenceConditionNV,*,*, GLenum,*,* FenceParameterNameNV,*,*, GLenum,*,* FfdMaskSGIX,*,*, GLbitfield,*,* FfdTargetSGIX,*,*, GLenum,*,* Float32,*,*, GLfloat,*,* Float32Pointer,*,*, GLfloat*,*,* Float64,*,*, GLdouble,*,* Float64Pointer,*,*, GLdouble*,*,* FogParameter,*,*, GLenum,*,* FogPointerTypeEXT,*,*, GLenum,*,* FogPointerTypeIBM,*,*, GLenum,*,* FragmentLightModelParameterSGIX,*,*,GLenum,*,* FragmentLightNameSGIX,*,*, GLenum,*,* FragmentLightParameterSGIX,*,*, GLenum,*,* FramebufferAttachment,*,*, GLenum,*,* FramebufferTarget,*,*, GLenum,*,* FrontFaceDirection,*,*, GLenum,*,* FunctionPointer,*,*, _GLfuncptr,*,* GetColorTableParameterPName,*,*, GLenum,*,* GetColorTableParameterPNameSGI,*,*, GLenum,*,* GetConvolutionParameterPName,*,*, GLenum,*,* GetHistogramParameterPName,*,*, GLenum,*,* GetHistogramParameterPNameEXT,*,*, GLenum,*,* GetMapQuery,*,*, GLenum,*,* GetMinmaxParameterPName,*,*, GLenum,*,* GetMinmaxParameterPNameEXT,*,*, GLenum,*,* GetPName,*,*, GLenum,*,* GetPointervPName,*,*, GLenum,*,* GetTextureParameter,*,*, GLenum,*,* HintMode,*,*, GLenum,*,* HintTarget,*,*, GLenum,*,* HintTargetPGI,*,*, GLenum,*,* HistogramTarget,*,*, GLenum,*,* HistogramTargetEXT,*,*, GLenum,*,* IglooFunctionSelectSGIX,*,*, GLenum,*,* IglooParameterSGIX,*,*, GLvoid,*,* ImageTransformPNameHP,*,*, GLenum,*,* ImageTransformTargetHP,*,*, GLenum,*,* IndexFunctionEXT,*,*, GLenum,*,* IndexMaterialParameterEXT,*,*, GLenum,*,* IndexPointerType,*,*, GLenum,*,* Int16,*,*, GLshort,*,* Int32,*,*, GLint,*,* Int8,*,*, GLbyte,*,* InterleavedArrayFormat,*,*, GLenum,*,* LightEnvParameterSGIX,*,*, GLenum,*,* LightModelParameter,*,*, GLenum,*,* LightName,*,*, GLenum,*,* LightParameter,*,*, GLenum,*,* LightTextureModeEXT,*,*, GLenum,*,* LightTexturePNameEXT,*,*, GLenum,*,* LineStipple,*,*, GLushort,*,* List,*,*, GLuint,*,* ListMode,*,*, GLenum,*,* ListNameType,*,*, GLenum,*,* ListParameterName,*,*, GLenum,*,* LogicOp,*,*, GLenum,*,* MapAttribParameterNV,*,*, GLenum,*,* MapParameterNV,*,*, GLenum,*,* MapTarget,*,*, GLenum,*,* MapTargetNV,*,*, GLenum,*,* MapTypeNV,*,*, GLenum,*,* MaskedColorIndexValueF,*,*, GLfloat,*,* MaskedColorIndexValueI,*,*, GLuint,*,* MaskedStencilValue,*,*, GLuint,*,* MaterialFace,*,*, GLenum,*,* MaterialParameter,*,*, GLenum,*,* MatrixIndexPointerTypeARB,*,*, GLenum,*,* MatrixMode,*,*, GLenum,*,* MatrixTransformNV,*,*, GLenum,*,* MeshMode1,*,*, GLenum,*,* MeshMode2,*,*, GLenum,*,* MinmaxTarget,*,*, GLenum,*,* MinmaxTargetEXT,*,*, GLenum,*,* NormalPointerType,*,*, GLenum,*,* NurbsCallback,*,*, GLenum,*,* NurbsObj,*,*, GLUnurbs*,*,* NurbsProperty,*,*, GLenum,*,* NurbsTrim,*,*, GLenum,*,* OcclusionQueryParameterNameNV,*,*, GLenum,*,* PixelCopyType,*,*, GLenum,*,* PixelFormat,*,*, GLenum,*,* PixelInternalFormat,*,*, GLenum,*,* PixelMap,*,*, GLenum,*,* PixelStoreParameter,*,*, GLenum,*,* PixelTexGenModeSGIX,*,*, GLenum,*,* PixelTexGenParameterNameSGIS,*,*, GLenum,*,* PixelTransferParameter,*,*, GLenum,*,* PixelTransformPNameEXT,*,*, GLenum,*,* PixelTransformTargetEXT,*,*, GLenum,*,* PixelType,*,*, GLenum,*,* PointParameterNameARB,*,*, GLenum,*,* PolygonMode,*,*, GLenum,*,* ProgramNV,*,*, GLuint,*,* ProgramCharacterNV,*,*, GLubyte,*,* ProgramParameterNV,*,*, GLenum,*,* ProgramParameterPName,*,*, GLenum,*,* QuadricCallback,*,*, GLenum,*,* QuadricDrawStyle,*,*, GLenum,*,* QuadricNormal,*,*, GLenum,*,* QuadricObj,*,*, GLUquadric*,*,* QuadricOrientation,*,*, GLenum,*,* ReadBufferMode,*,*, GLenum,*,* RenderbufferTarget,*,*, GLenum,*,* RenderingMode,*,*, GLenum,*,* ReplacementCodeSUN,*,*, GLuint,*,* ReplacementCodeTypeSUN,*,*, GLenum,*,* SamplePassARB,*,*, GLenum,*,* SamplePatternEXT,*,*, GLenum,*,* SamplePatternSGIS,*,*, GLenum,*,* SecondaryColorPointerTypeIBM,*,*, GLenum,*,* SelectName,*,*, GLuint,*,* SeparableTarget,*,*, GLenum,*,* SeparableTargetEXT,*,*, GLenum,*,* ShadingModel,*,*, GLenum,*,* SizeI,*,*, GLsizei,*,* SpriteParameterNameSGIX,*,*, GLenum,*,* StencilFunction,*,*, GLenum,*,* StencilFaceDirection,*,*, GLenum,*,* StencilOp,*,*, GLenum,*,* StencilValue,*,*, GLint,*,* String,*,*, GLstring,*,* # OpenTK StringName,*,*, GLenum,*,* TangentPointerTypeEXT,*,*, GLenum,*,* TessCallback,*,*, GLenum,*,* TessContour,*,*, GLenum,*,* TessProperty,*,*, GLenum,*,* TesselatorObj,*,*, GLUtesselator*,*,* TexCoordPointerType,*,*, GLenum,*,* Texture,*,*, GLuint,*,* TextureComponentCount,*,*, GLint,*,* TextureCoordName,*,*, GLenum,*,* TextureEnvParameter,*,*, GLenum,*,* TextureEnvTarget,*,*, GLenum,*,* TextureFilterSGIS,*,*, GLenum,*,* TextureGenParameter,*,*, GLenum,*,* TextureNormalModeEXT,*,*, GLenum,*,* TextureParameterName,*,*, GLenum,*,* TextureTarget,*,*, GLenum,*,* TextureUnit,*,*, GLenum,*,* UInt16,*,*, GLushort,*,* UInt32,*,*, GLuint,*,* UInt8,*,*, GLubyte,*,* VertexAttribEnum,*,*, GLenum,*,* VertexAttribEnumNV,*,*, GLenum,*,* VertexAttribPointerTypeNV,*,*, GLenum,*,* VertexPointerType,*,*, GLenum,*,* VertexWeightPointerTypeEXT,*,*, GLenum,*,* Void,*,*, GLvoid,*,* VoidPointer,*,*, GLvoid*,*,* ConstVoidPointer,*,*, GLvoid* const,*,* WeightPointerTypeARB,*,*, GLenum,*,* WinCoord,*,*, GLint,*,* void,*,*, *,*,* ArrayObjectPNameATI,*,*, GLenum,*,* ArrayObjectUsageATI,*,*, GLenum,*,*, ConstFloat32,*,*, GLfloat,*,* ConstInt32,*,*, GLint,*,* ConstUInt32,*,*, GLuint,*,* ConstVoid,*,*, GLvoid,*,* DataTypeEXT,*,*, GLenum,*,* FragmentOpATI,*,*, GLenum,*,* GetTexBumpParameterATI,*,*, GLenum,*,* GetVariantValueEXT,*,*, GLenum,*,* ParameterRangeEXT,*,*, GLenum,*,* PreserveModeATI,*,*, GLenum,*,* ProgramFormatARB,*,*, GLenum,*,* ProgramTargetARB,*,*, GLenum,*,* ProgramTarget,*,*, GLenum,*,* ProgramPropertyARB,*,*, GLenum,*,* ProgramStringPropertyARB,*,*, GLenum,*,* ScalarType,*,*, GLenum,*,* SwizzleOpATI,*,*, GLenum,*,* TexBumpParameterATI,*,*, GLenum,*,* VariantCapEXT,*,*, GLenum,*,* VertexAttribPointerPropertyARB,*,*, GLenum,*,* VertexAttribPointerTypeARB,*,*, GLenum,*,* VertexAttribPropertyARB,*,*, GLenum,*,* VertexShaderCoordOutEXT,*,*, GLenum,*,* VertexShaderOpEXT,*,*, GLenum,*,* VertexShaderParameterEXT,*,*, GLenum,*,* VertexShaderStorageTypeEXT,*,*, GLenum,*,* VertexShaderTextureUnitParameter,*,*, GLenum,*,* VertexShaderWriteMaskEXT,*,*, GLenum,*,* VertexStreamATI,*,*, GLenum,*,* PNTrianglesPNameATI,*,*, GLenum,*,* # ARB_vertex_buffer_object types and core equivalents for new types BufferOffset,*,*, GLintptr,*,* BufferSize,*,*, GLsizeiptr,*,* BufferAccessARB,*,*, GLenum,*,* BufferOffsetARB,*,*, GLintptrARB,*,* BufferPNameARB,*,*, GLenum,*,* BufferPointerNameARB,*,*, GLenum,*,* BufferSizeARB,*,*, GLsizeiptrARB,*,* BufferTargetARB,*,*, GLenum,*,* BufferUsageARB,*,*, GLenum,*,* # APPLE_fence ObjectTypeAPPLE,*,*, GLenum,*,* # APPLE_vertex_array_range VertexArrayPNameAPPLE,*,*, GLenum,*,* # ATI_draw_buffers DrawBufferModeATI,*,*, GLenum,*,* # NV_half Half16NV,*,*, GLhalfNV,*,* # NV_pixel_data_range PixelDataRangeTargetNV,*,*, GLenum,*,* # Generic types for as-yet-unspecified enums TypeEnum,*,*, GLenum,*,* GLenum,*,*, GLenum,*,* handleARB,*,*, GLhandleARB,*,* charARB,*,*, GLcharARB,*,* charPointerARB,*,*, GLcharARB*,*,* # EXT_timer_query Int64EXT,*,*, GLint64EXT,*,* UInt64EXT,*,*, GLuint64EXT,*,* # EXT_direct_state_access #FramebufferAttachment,*,*, GLenum,*,* # OpenTK: already exists FramebufferAttachmentParameterName,*,*, GLenum,*,* Framebuffer,*,*, GLuint,*,* FramebufferStatus,*,*, GLenum,*,* #FramebufferTarget,*,*, GLenum,*,* # OpenTK: already exists GetFramebufferParameter,*,*, GLenum,*,* Intptr,*,*, GLintptr,*,* ProgramFormat,*,*, GLenum,*,* ProgramProperty,*,*, GLenum,*,* ProgramStringProperty,*,*, GLenum,*,* #ProgramTarget,*,*, GLenum,*,* # OpenTK: already exists Renderbuffer,*,*, GLuint,*,* RenderbufferParameterName,*,*, GLenum,*,* Sizeiptr,*,*, GLsizeiptr,*,* TextureInternalFormat,*,*, GLenum,*,* VertexBufferObjectAccess,*,*, GLenum,*,* VertexBufferObjectParameter,*,*, GLenum,*,* VertexBufferObjectUsage,*,*, GLenum,*,* # ARB_map_buffer_range BufferAccessMask,*,*, GLbitfield,*,* # NV_explicit_multisample GetMultisamplePNameNV,*,*, GLenum,*,* SampleMaskNV,*,*, GLbitfield,*,* opentk-1.0.20101006/Source/Bind/Specifications/GL2/enumext.spec0000664000175000017500000120671611453131430022562 0ustar laneylaney# List of GL enumerants for glext.h header # # This is derived from the master GL enumerant registry (enum.spec). # # Unlike enum.spec, enumext.spec is # (1) Grouped by GL core version or extension number # (2) While it includes all extension and core enumerants, the # generator scripts for glext.h leave out VERSION_1_1 # tokens since it's assumed all today support at least # OpenGL 1.1 # (3) Has no 'Extensions' section, since enums are always # conditionally protected against multiple definition # by glextenum.pl. # (4) Is processed by glextenum.pl, which has evolved # from enum.pl - should merge back into one script. # glext.h version number - this should be automatically updated, # when changing either enum or template spec files. ############################################################################### # # OpenGL 1.0/1.1 enums (there is no VERSION_1_0 token) # ############################################################################### VERSION_1_1 enum: passthru: /* AttribMask */ DEPTH_BUFFER_BIT = 0x00000100 # AttribMask STENCIL_BUFFER_BIT = 0x00000400 # AttribMask COLOR_BUFFER_BIT = 0x00004000 # AttribMask passthru: /* Boolean */ FALSE = 0 # Boolean TRUE = 1 # Boolean passthru: /* BeginMode */ POINTS = 0x0000 # BeginMode LINES = 0x0001 # BeginMode LINE_LOOP = 0x0002 # BeginMode LINE_STRIP = 0x0003 # BeginMode TRIANGLES = 0x0004 # BeginMode TRIANGLE_STRIP = 0x0005 # BeginMode TRIANGLE_FAN = 0x0006 # BeginMode passthru: /* AlphaFunction */ NEVER = 0x0200 # AlphaFunction LESS = 0x0201 # AlphaFunction EQUAL = 0x0202 # AlphaFunction LEQUAL = 0x0203 # AlphaFunction GREATER = 0x0204 # AlphaFunction NOTEQUAL = 0x0205 # AlphaFunction GEQUAL = 0x0206 # AlphaFunction ALWAYS = 0x0207 # AlphaFunction passthru: /* BlendingFactorDest */ ZERO = 0 # BlendingFactorDest ONE = 1 # BlendingFactorDest SRC_COLOR = 0x0300 # BlendingFactorDest ONE_MINUS_SRC_COLOR = 0x0301 # BlendingFactorDest SRC_ALPHA = 0x0302 # BlendingFactorDest ONE_MINUS_SRC_ALPHA = 0x0303 # BlendingFactorDest DST_ALPHA = 0x0304 # BlendingFactorDest ONE_MINUS_DST_ALPHA = 0x0305 # BlendingFactorDest passthru: /* BlendingFactorSrc */ DST_COLOR = 0x0306 # BlendingFactorSrc ONE_MINUS_DST_COLOR = 0x0307 # BlendingFactorSrc SRC_ALPHA_SATURATE = 0x0308 # BlendingFactorSrc passthru: /* DrawBufferMode */ NONE = 0 # DrawBufferMode FRONT_LEFT = 0x0400 # DrawBufferMode FRONT_RIGHT = 0x0401 # DrawBufferMode BACK_LEFT = 0x0402 # DrawBufferMode BACK_RIGHT = 0x0403 # DrawBufferMode FRONT = 0x0404 # DrawBufferMode BACK = 0x0405 # DrawBufferMode LEFT = 0x0406 # DrawBufferMode RIGHT = 0x0407 # DrawBufferMode FRONT_AND_BACK = 0x0408 # DrawBufferMode passthru: /* ErrorCode */ NO_ERROR = 0 # ErrorCode INVALID_ENUM = 0x0500 # ErrorCode INVALID_VALUE = 0x0501 # ErrorCode INVALID_OPERATION = 0x0502 # ErrorCode OUT_OF_MEMORY = 0x0505 # ErrorCode passthru: /* FrontFaceDirection */ CW = 0x0900 # FrontFaceDirection CCW = 0x0901 # FrontFaceDirection passthru: /* GetPName */ POINT_SIZE = 0x0B11 # 1 F # GetPName POINT_SIZE_RANGE = 0x0B12 # 2 F # GetPName POINT_SIZE_GRANULARITY = 0x0B13 # 1 F # GetPName LINE_SMOOTH = 0x0B20 # 1 I # GetPName LINE_WIDTH = 0x0B21 # 1 F # GetPName LINE_WIDTH_RANGE = 0x0B22 # 2 F # GetPName LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F # GetPName POLYGON_SMOOTH = 0x0B41 # 1 I # GetPName CULL_FACE = 0x0B44 # 1 I # GetPName CULL_FACE_MODE = 0x0B45 # 1 I # GetPName FRONT_FACE = 0x0B46 # 1 I # GetPName DEPTH_RANGE = 0x0B70 # 2 F # GetPName DEPTH_TEST = 0x0B71 # 1 I # GetPName DEPTH_WRITEMASK = 0x0B72 # 1 I # GetPName DEPTH_CLEAR_VALUE = 0x0B73 # 1 F # GetPName DEPTH_FUNC = 0x0B74 # 1 I # GetPName STENCIL_TEST = 0x0B90 # 1 I # GetPName STENCIL_CLEAR_VALUE = 0x0B91 # 1 I # GetPName STENCIL_FUNC = 0x0B92 # 1 I # GetPName STENCIL_VALUE_MASK = 0x0B93 # 1 I # GetPName STENCIL_FAIL = 0x0B94 # 1 I # GetPName STENCIL_PASS_DEPTH_FAIL = 0x0B95 # 1 I # GetPName STENCIL_PASS_DEPTH_PASS = 0x0B96 # 1 I # GetPName STENCIL_REF = 0x0B97 # 1 I # GetPName STENCIL_WRITEMASK = 0x0B98 # 1 I # GetPName VIEWPORT = 0x0BA2 # 4 I # GetPName DITHER = 0x0BD0 # 1 I # GetPName BLEND_DST = 0x0BE0 # 1 I # GetPName BLEND_SRC = 0x0BE1 # 1 I # GetPName BLEND = 0x0BE2 # 1 I # GetPName LOGIC_OP_MODE = 0x0BF0 # 1 I # GetPName COLOR_LOGIC_OP = 0x0BF2 # 1 I # GetPName DRAW_BUFFER = 0x0C01 # 1 I # GetPName READ_BUFFER = 0x0C02 # 1 I # GetPName SCISSOR_BOX = 0x0C10 # 4 I # GetPName SCISSOR_TEST = 0x0C11 # 1 I # GetPName COLOR_CLEAR_VALUE = 0x0C22 # 4 F # GetPName COLOR_WRITEMASK = 0x0C23 # 4 I # GetPName DOUBLEBUFFER = 0x0C32 # 1 I # GetPName STEREO = 0x0C33 # 1 I # GetPName LINE_SMOOTH_HINT = 0x0C52 # 1 I # GetPName POLYGON_SMOOTH_HINT = 0x0C53 # 1 I # GetPName UNPACK_SWAP_BYTES = 0x0CF0 # 1 I # GetPName UNPACK_LSB_FIRST = 0x0CF1 # 1 I # GetPName UNPACK_ROW_LENGTH = 0x0CF2 # 1 I # GetPName UNPACK_SKIP_ROWS = 0x0CF3 # 1 I # GetPName UNPACK_SKIP_PIXELS = 0x0CF4 # 1 I # GetPName UNPACK_ALIGNMENT = 0x0CF5 # 1 I # GetPName PACK_SWAP_BYTES = 0x0D00 # 1 I # GetPName PACK_LSB_FIRST = 0x0D01 # 1 I # GetPName PACK_ROW_LENGTH = 0x0D02 # 1 I # GetPName PACK_SKIP_ROWS = 0x0D03 # 1 I # GetPName PACK_SKIP_PIXELS = 0x0D04 # 1 I # GetPName PACK_ALIGNMENT = 0x0D05 # 1 I # GetPName MAX_TEXTURE_SIZE = 0x0D33 # 1 I # GetPName MAX_VIEWPORT_DIMS = 0x0D3A # 2 F # GetPName SUBPIXEL_BITS = 0x0D50 # 1 I # GetPName TEXTURE_1D = 0x0DE0 # 1 I # GetPName TEXTURE_2D = 0x0DE1 # 1 I # GetPName POLYGON_OFFSET_UNITS = 0x2A00 # 1 F # GetPName POLYGON_OFFSET_POINT = 0x2A01 # 1 I # GetPName POLYGON_OFFSET_LINE = 0x2A02 # 1 I # GetPName POLYGON_OFFSET_FILL = 0x8037 # 1 I # GetPName POLYGON_OFFSET_FACTOR = 0x8038 # 1 F # GetPName TEXTURE_BINDING_1D = 0x8068 # 1 I # GetPName TEXTURE_BINDING_2D = 0x8069 # 1 I # GetPName passthru: /* GetTextureParameter */ TEXTURE_WIDTH = 0x1000 # GetTextureParameter TEXTURE_HEIGHT = 0x1001 # GetTextureParameter TEXTURE_INTERNAL_FORMAT = 0x1003 # GetTextureParameter TEXTURE_BORDER_COLOR = 0x1004 # GetTextureParameter TEXTURE_BORDER = 0x1005 # GetTextureParameter TEXTURE_RED_SIZE = 0x805C # GetTextureParameter TEXTURE_GREEN_SIZE = 0x805D # GetTextureParameter TEXTURE_BLUE_SIZE = 0x805E # GetTextureParameter TEXTURE_ALPHA_SIZE = 0x805F # GetTextureParameter passthru: /* HintMode */ DONT_CARE = 0x1100 # HintMode FASTEST = 0x1101 # HintMode NICEST = 0x1102 # HintMode passthru: /* DataType */ BYTE = 0x1400 # DataType UNSIGNED_BYTE = 0x1401 # DataType SHORT = 0x1402 # DataType UNSIGNED_SHORT = 0x1403 # DataType INT = 0x1404 # DataType UNSIGNED_INT = 0x1405 # DataType FLOAT = 0x1406 # DataType DOUBLE = 0x140A # DataType passthru: /* LogicOp */ CLEAR = 0x1500 # LogicOp AND = 0x1501 # LogicOp AND_REVERSE = 0x1502 # LogicOp COPY = 0x1503 # LogicOp AND_INVERTED = 0x1504 # LogicOp NOOP = 0x1505 # LogicOp XOR = 0x1506 # LogicOp OR = 0x1507 # LogicOp NOR = 0x1508 # LogicOp EQUIV = 0x1509 # LogicOp INVERT = 0x150A # LogicOp OR_REVERSE = 0x150B # LogicOp COPY_INVERTED = 0x150C # LogicOp OR_INVERTED = 0x150D # LogicOp NAND = 0x150E # LogicOp SET = 0x150F # LogicOp passthru: /* MatrixMode (for gl3.h, FBO attachment type) */ TEXTURE = 0x1702 # MatrixMode passthru: /* PixelCopyType */ COLOR = 0x1800 # PixelCopyType DEPTH = 0x1801 # PixelCopyType STENCIL = 0x1802 # PixelCopyType passthru: /* PixelFormat */ STENCIL_INDEX = 0x1901 # PixelFormat DEPTH_COMPONENT = 0x1902 # PixelFormat RED = 0x1903 # PixelFormat GREEN = 0x1904 # PixelFormat BLUE = 0x1905 # PixelFormat ALPHA = 0x1906 # PixelFormat RGB = 0x1907 # PixelFormat RGBA = 0x1908 # PixelFormat passthru: /* PolygonMode */ POINT = 0x1B00 # PolygonMode LINE = 0x1B01 # PolygonMode FILL = 0x1B02 # PolygonMode passthru: /* StencilOp */ KEEP = 0x1E00 # StencilOp REPLACE = 0x1E01 # StencilOp INCR = 0x1E02 # StencilOp DECR = 0x1E03 # StencilOp passthru: /* StringName */ VENDOR = 0x1F00 # StringName RENDERER = 0x1F01 # StringName VERSION = 0x1F02 # StringName EXTENSIONS = 0x1F03 # StringName passthru: /* TextureMagFilter */ NEAREST = 0x2600 # TextureMagFilter LINEAR = 0x2601 # TextureMagFilter passthru: /* TextureMinFilter */ NEAREST_MIPMAP_NEAREST = 0x2700 # TextureMinFilter LINEAR_MIPMAP_NEAREST = 0x2701 # TextureMinFilter NEAREST_MIPMAP_LINEAR = 0x2702 # TextureMinFilter LINEAR_MIPMAP_LINEAR = 0x2703 # TextureMinFilter passthru: /* TextureParameterName */ TEXTURE_MAG_FILTER = 0x2800 # TextureParameterName TEXTURE_MIN_FILTER = 0x2801 # TextureParameterName TEXTURE_WRAP_S = 0x2802 # TextureParameterName TEXTURE_WRAP_T = 0x2803 # TextureParameterName passthru: /* TextureTarget */ PROXY_TEXTURE_1D = 0x8063 # TextureTarget PROXY_TEXTURE_2D = 0x8064 # TextureTarget passthru: /* TextureWrapMode */ REPEAT = 0x2901 # TextureWrapMode passthru: /* PixelInternalFormat */ R3_G3_B2 = 0x2A10 # PixelInternalFormat RGB4 = 0x804F # PixelInternalFormat RGB5 = 0x8050 # PixelInternalFormat RGB8 = 0x8051 # PixelInternalFormat RGB10 = 0x8052 # PixelInternalFormat RGB12 = 0x8053 # PixelInternalFormat RGB16 = 0x8054 # PixelInternalFormat RGBA2 = 0x8055 # PixelInternalFormat RGBA4 = 0x8056 # PixelInternalFormat RGB5_A1 = 0x8057 # PixelInternalFormat RGBA8 = 0x8058 # PixelInternalFormat RGB10_A2 = 0x8059 # PixelInternalFormat RGBA12 = 0x805A # PixelInternalFormat RGBA16 = 0x805B # PixelInternalFormat VERSION_1_1_DEPRECATED enum: passthru: /* AttribMask */ CURRENT_BIT = 0x00000001 # AttribMask POINT_BIT = 0x00000002 # AttribMask LINE_BIT = 0x00000004 # AttribMask POLYGON_BIT = 0x00000008 # AttribMask POLYGON_STIPPLE_BIT = 0x00000010 # AttribMask PIXEL_MODE_BIT = 0x00000020 # AttribMask LIGHTING_BIT = 0x00000040 # AttribMask FOG_BIT = 0x00000080 # AttribMask ACCUM_BUFFER_BIT = 0x00000200 # AttribMask VIEWPORT_BIT = 0x00000800 # AttribMask TRANSFORM_BIT = 0x00001000 # AttribMask ENABLE_BIT = 0x00002000 # AttribMask HINT_BIT = 0x00008000 # AttribMask EVAL_BIT = 0x00010000 # AttribMask LIST_BIT = 0x00020000 # AttribMask TEXTURE_BIT = 0x00040000 # AttribMask SCISSOR_BIT = 0x00080000 # AttribMask ALL_ATTRIB_BITS = 0xFFFFFFFF # AttribMask passthru: /* ClientAttribMask */ CLIENT_PIXEL_STORE_BIT = 0x00000001 # ClientAttribMask CLIENT_VERTEX_ARRAY_BIT = 0x00000002 # ClientAttribMask CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF # ClientAttribMask passthru: /* BeginMode */ QUADS = 0x0007 # BeginMode QUAD_STRIP = 0x0008 # BeginMode POLYGON = 0x0009 # BeginMode passthru: /* AccumOp */ ACCUM = 0x0100 # AccumOp LOAD = 0x0101 # AccumOp RETURN = 0x0102 # AccumOp MULT = 0x0103 # AccumOp ADD = 0x0104 # AccumOp passthru: /* DrawBufferMode */ AUX0 = 0x0409 # DrawBufferMode AUX1 = 0x040A # DrawBufferMode AUX2 = 0x040B # DrawBufferMode AUX3 = 0x040C # DrawBufferMode passthru: /* ErrorCode */ STACK_OVERFLOW = 0x0503 # ErrorCode STACK_UNDERFLOW = 0x0504 # ErrorCode passthru: /* FeedbackType */ 2D = 0x0600 # FeedbackType 3D = 0x0601 # FeedbackType 3D_COLOR = 0x0602 # FeedbackType 3D_COLOR_TEXTURE = 0x0603 # FeedbackType 4D_COLOR_TEXTURE = 0x0604 # FeedbackType passthru: /* FeedBackToken */ PASS_THROUGH_TOKEN = 0x0700 # FeedBackToken POINT_TOKEN = 0x0701 # FeedBackToken LINE_TOKEN = 0x0702 # FeedBackToken POLYGON_TOKEN = 0x0703 # FeedBackToken BITMAP_TOKEN = 0x0704 # FeedBackToken DRAW_PIXEL_TOKEN = 0x0705 # FeedBackToken COPY_PIXEL_TOKEN = 0x0706 # FeedBackToken LINE_RESET_TOKEN = 0x0707 # FeedBackToken passthru: /* FogMode */ EXP = 0x0800 # FogMode EXP2 = 0x0801 # FogMode passthru: /* GetMapQuery */ COEFF = 0x0A00 # GetMapQuery ORDER = 0x0A01 # GetMapQuery DOMAIN = 0x0A02 # GetMapQuery passthru: /* GetPixelMap */ PIXEL_MAP_I_TO_I = 0x0C70 # GetPixelMap PIXEL_MAP_S_TO_S = 0x0C71 # GetPixelMap PIXEL_MAP_I_TO_R = 0x0C72 # GetPixelMap PIXEL_MAP_I_TO_G = 0x0C73 # GetPixelMap PIXEL_MAP_I_TO_B = 0x0C74 # GetPixelMap PIXEL_MAP_I_TO_A = 0x0C75 # GetPixelMap PIXEL_MAP_R_TO_R = 0x0C76 # GetPixelMap PIXEL_MAP_G_TO_G = 0x0C77 # GetPixelMap PIXEL_MAP_B_TO_B = 0x0C78 # GetPixelMap PIXEL_MAP_A_TO_A = 0x0C79 # GetPixelMap passthru: /* GetPointervPName */ VERTEX_ARRAY_POINTER = 0x808E # GetPointervPName NORMAL_ARRAY_POINTER = 0x808F # GetPointervPName COLOR_ARRAY_POINTER = 0x8090 # GetPointervPName INDEX_ARRAY_POINTER = 0x8091 # GetPointervPName TEXTURE_COORD_ARRAY_POINTER = 0x8092 # GetPointervPName EDGE_FLAG_ARRAY_POINTER = 0x8093 # GetPointervPName FEEDBACK_BUFFER_POINTER = 0x0DF0 # GetPointervPName SELECTION_BUFFER_POINTER = 0x0DF3 # GetPointervPName passthru: /* GetPName */ CURRENT_COLOR = 0x0B00 # 4 F # GetPName CURRENT_INDEX = 0x0B01 # 1 F # GetPName CURRENT_NORMAL = 0x0B02 # 3 F # GetPName CURRENT_TEXTURE_COORDS = 0x0B03 # 4 F # GetPName CURRENT_RASTER_COLOR = 0x0B04 # 4 F # GetPName CURRENT_RASTER_INDEX = 0x0B05 # 1 F # GetPName CURRENT_RASTER_TEXTURE_COORDS = 0x0B06 # 4 F # GetPName CURRENT_RASTER_POSITION = 0x0B07 # 4 F # GetPName CURRENT_RASTER_POSITION_VALID = 0x0B08 # 1 I # GetPName CURRENT_RASTER_DISTANCE = 0x0B09 # 1 F # GetPName POINT_SMOOTH = 0x0B10 # 1 I # GetPName LINE_STIPPLE = 0x0B24 # 1 I # GetPName LINE_STIPPLE_PATTERN = 0x0B25 # 1 I # GetPName LINE_STIPPLE_REPEAT = 0x0B26 # 1 I # GetPName LIST_MODE = 0x0B30 # 1 I # GetPName MAX_LIST_NESTING = 0x0B31 # 1 I # GetPName LIST_BASE = 0x0B32 # 1 I # GetPName LIST_INDEX = 0x0B33 # 1 I # GetPName POLYGON_MODE = 0x0B40 # 2 I # GetPName POLYGON_STIPPLE = 0x0B42 # 1 I # GetPName EDGE_FLAG = 0x0B43 # 1 I # GetPName LIGHTING = 0x0B50 # 1 I # GetPName LIGHT_MODEL_LOCAL_VIEWER = 0x0B51 # 1 I # GetPName LIGHT_MODEL_TWO_SIDE = 0x0B52 # 1 I # GetPName LIGHT_MODEL_AMBIENT = 0x0B53 # 4 F # GetPName SHADE_MODEL = 0x0B54 # 1 I # GetPName COLOR_MATERIAL_FACE = 0x0B55 # 1 I # GetPName COLOR_MATERIAL_PARAMETER = 0x0B56 # 1 I # GetPName COLOR_MATERIAL = 0x0B57 # 1 I # GetPName FOG = 0x0B60 # 1 I # GetPName FOG_INDEX = 0x0B61 # 1 I # GetPName FOG_DENSITY = 0x0B62 # 1 F # GetPName FOG_START = 0x0B63 # 1 F # GetPName FOG_END = 0x0B64 # 1 F # GetPName FOG_MODE = 0x0B65 # 1 I # GetPName FOG_COLOR = 0x0B66 # 4 F # GetPName ACCUM_CLEAR_VALUE = 0x0B80 # 4 F # GetPName MATRIX_MODE = 0x0BA0 # 1 I # GetPName NORMALIZE = 0x0BA1 # 1 I # GetPName MODELVIEW_STACK_DEPTH = 0x0BA3 # 1 I # GetPName PROJECTION_STACK_DEPTH = 0x0BA4 # 1 I # GetPName TEXTURE_STACK_DEPTH = 0x0BA5 # 1 I # GetPName MODELVIEW_MATRIX = 0x0BA6 # 16 F # GetPName PROJECTION_MATRIX = 0x0BA7 # 16 F # GetPName TEXTURE_MATRIX = 0x0BA8 # 16 F # GetPName ATTRIB_STACK_DEPTH = 0x0BB0 # 1 I # GetPName CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1 # 1 I # GetPName ALPHA_TEST = 0x0BC0 # 1 I # GetPName ALPHA_TEST_FUNC = 0x0BC1 # 1 I # GetPName ALPHA_TEST_REF = 0x0BC2 # 1 F # GetPName INDEX_LOGIC_OP = 0x0BF1 # 1 I # GetPName LOGIC_OP = 0x0BF1 # 1 I # GetPName AUX_BUFFERS = 0x0C00 # 1 I # GetPName INDEX_CLEAR_VALUE = 0x0C20 # 1 I # GetPName INDEX_WRITEMASK = 0x0C21 # 1 I # GetPName INDEX_MODE = 0x0C30 # 1 I # GetPName RGBA_MODE = 0x0C31 # 1 I # GetPName RENDER_MODE = 0x0C40 # 1 I # GetPName PERSPECTIVE_CORRECTION_HINT = 0x0C50 # 1 I # GetPName POINT_SMOOTH_HINT = 0x0C51 # 1 I # GetPName FOG_HINT = 0x0C54 # 1 I # GetPName TEXTURE_GEN_S = 0x0C60 # 1 I # GetPName TEXTURE_GEN_T = 0x0C61 # 1 I # GetPName TEXTURE_GEN_R = 0x0C62 # 1 I # GetPName TEXTURE_GEN_Q = 0x0C63 # 1 I # GetPName PIXEL_MAP_I_TO_I_SIZE = 0x0CB0 # 1 I # GetPName PIXEL_MAP_S_TO_S_SIZE = 0x0CB1 # 1 I # GetPName PIXEL_MAP_I_TO_R_SIZE = 0x0CB2 # 1 I # GetPName PIXEL_MAP_I_TO_G_SIZE = 0x0CB3 # 1 I # GetPName PIXEL_MAP_I_TO_B_SIZE = 0x0CB4 # 1 I # GetPName PIXEL_MAP_I_TO_A_SIZE = 0x0CB5 # 1 I # GetPName PIXEL_MAP_R_TO_R_SIZE = 0x0CB6 # 1 I # GetPName PIXEL_MAP_G_TO_G_SIZE = 0x0CB7 # 1 I # GetPName PIXEL_MAP_B_TO_B_SIZE = 0x0CB8 # 1 I # GetPName PIXEL_MAP_A_TO_A_SIZE = 0x0CB9 # 1 I # GetPName MAP_COLOR = 0x0D10 # 1 I # GetPName MAP_STENCIL = 0x0D11 # 1 I # GetPName INDEX_SHIFT = 0x0D12 # 1 I # GetPName INDEX_OFFSET = 0x0D13 # 1 I # GetPName RED_SCALE = 0x0D14 # 1 F # GetPName RED_BIAS = 0x0D15 # 1 F # GetPName ZOOM_X = 0x0D16 # 1 F # GetPName ZOOM_Y = 0x0D17 # 1 F # GetPName GREEN_SCALE = 0x0D18 # 1 F # GetPName GREEN_BIAS = 0x0D19 # 1 F # GetPName BLUE_SCALE = 0x0D1A # 1 F # GetPName BLUE_BIAS = 0x0D1B # 1 F # GetPName ALPHA_SCALE = 0x0D1C # 1 F # GetPName ALPHA_BIAS = 0x0D1D # 1 F # GetPName DEPTH_SCALE = 0x0D1E # 1 F # GetPName DEPTH_BIAS = 0x0D1F # 1 F # GetPName MAX_EVAL_ORDER = 0x0D30 # 1 I # GetPName MAX_LIGHTS = 0x0D31 # 1 I # GetPName MAX_CLIP_PLANES = 0x0D32 # 1 I # GetPName MAX_PIXEL_MAP_TABLE = 0x0D34 # 1 I # GetPName MAX_ATTRIB_STACK_DEPTH = 0x0D35 # 1 I # GetPName MAX_MODELVIEW_STACK_DEPTH = 0x0D36 # 1 I # GetPName MAX_NAME_STACK_DEPTH = 0x0D37 # 1 I # GetPName MAX_PROJECTION_STACK_DEPTH = 0x0D38 # 1 I # GetPName MAX_TEXTURE_STACK_DEPTH = 0x0D39 # 1 I # GetPName MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B # 1 I # GetPName INDEX_BITS = 0x0D51 # 1 I # GetPName RED_BITS = 0x0D52 # 1 I # GetPName GREEN_BITS = 0x0D53 # 1 I # GetPName BLUE_BITS = 0x0D54 # 1 I # GetPName ALPHA_BITS = 0x0D55 # 1 I # GetPName DEPTH_BITS = 0x0D56 # 1 I # GetPName STENCIL_BITS = 0x0D57 # 1 I # GetPName ACCUM_RED_BITS = 0x0D58 # 1 I # GetPName ACCUM_GREEN_BITS = 0x0D59 # 1 I # GetPName ACCUM_BLUE_BITS = 0x0D5A # 1 I # GetPName ACCUM_ALPHA_BITS = 0x0D5B # 1 I # GetPName NAME_STACK_DEPTH = 0x0D70 # 1 I # GetPName AUTO_NORMAL = 0x0D80 # 1 I # GetPName MAP1_COLOR_4 = 0x0D90 # 1 I # GetPName MAP1_INDEX = 0x0D91 # 1 I # GetPName MAP1_NORMAL = 0x0D92 # 1 I # GetPName MAP1_TEXTURE_COORD_1 = 0x0D93 # 1 I # GetPName MAP1_TEXTURE_COORD_2 = 0x0D94 # 1 I # GetPName MAP1_TEXTURE_COORD_3 = 0x0D95 # 1 I # GetPName MAP1_TEXTURE_COORD_4 = 0x0D96 # 1 I # GetPName MAP1_VERTEX_3 = 0x0D97 # 1 I # GetPName MAP1_VERTEX_4 = 0x0D98 # 1 I # GetPName MAP2_COLOR_4 = 0x0DB0 # 1 I # GetPName MAP2_INDEX = 0x0DB1 # 1 I # GetPName MAP2_NORMAL = 0x0DB2 # 1 I # GetPName MAP2_TEXTURE_COORD_1 = 0x0DB3 # 1 I # GetPName MAP2_TEXTURE_COORD_2 = 0x0DB4 # 1 I # GetPName MAP2_TEXTURE_COORD_3 = 0x0DB5 # 1 I # GetPName MAP2_TEXTURE_COORD_4 = 0x0DB6 # 1 I # GetPName MAP2_VERTEX_3 = 0x0DB7 # 1 I # GetPName MAP2_VERTEX_4 = 0x0DB8 # 1 I # GetPName MAP1_GRID_DOMAIN = 0x0DD0 # 2 F # GetPName MAP1_GRID_SEGMENTS = 0x0DD1 # 1 I # GetPName MAP2_GRID_DOMAIN = 0x0DD2 # 4 F # GetPName MAP2_GRID_SEGMENTS = 0x0DD3 # 2 I # GetPName FEEDBACK_BUFFER_SIZE = 0x0DF1 # 1 I # GetPName FEEDBACK_BUFFER_TYPE = 0x0DF2 # 1 I # GetPName SELECTION_BUFFER_SIZE = 0x0DF4 # 1 I # GetPName VERTEX_ARRAY = 0x8074 # 1 I # GetPName NORMAL_ARRAY = 0x8075 # 1 I # GetPName COLOR_ARRAY = 0x8076 # 1 I # GetPName INDEX_ARRAY = 0x8077 # 1 I # GetPName TEXTURE_COORD_ARRAY = 0x8078 # 1 I # GetPName EDGE_FLAG_ARRAY = 0x8079 # 1 I # GetPName VERTEX_ARRAY_SIZE = 0x807A # 1 I # GetPName VERTEX_ARRAY_TYPE = 0x807B # 1 I # GetPName VERTEX_ARRAY_STRIDE = 0x807C # 1 I # GetPName NORMAL_ARRAY_TYPE = 0x807E # 1 I # GetPName NORMAL_ARRAY_STRIDE = 0x807F # 1 I # GetPName COLOR_ARRAY_SIZE = 0x8081 # 1 I # GetPName COLOR_ARRAY_TYPE = 0x8082 # 1 I # GetPName COLOR_ARRAY_STRIDE = 0x8083 # 1 I # GetPName INDEX_ARRAY_TYPE = 0x8085 # 1 I # GetPName INDEX_ARRAY_STRIDE = 0x8086 # 1 I # GetPName TEXTURE_COORD_ARRAY_SIZE = 0x8088 # 1 I # GetPName TEXTURE_COORD_ARRAY_TYPE = 0x8089 # 1 I # GetPName TEXTURE_COORD_ARRAY_STRIDE = 0x808A # 1 I # GetPName EDGE_FLAG_ARRAY_STRIDE = 0x808C # 1 I # GetPName passthru: /* GetTextureParameter */ TEXTURE_COMPONENTS = 0x1003 # GetTextureParameter TEXTURE_LUMINANCE_SIZE = 0x8060 # GetTextureParameter TEXTURE_INTENSITY_SIZE = 0x8061 # GetTextureParameter TEXTURE_PRIORITY = 0x8066 # GetTextureParameter TEXTURE_RESIDENT = 0x8067 # GetTextureParameter passthru: /* LightParameter */ AMBIENT = 0x1200 # LightParameter DIFFUSE = 0x1201 # LightParameter SPECULAR = 0x1202 # LightParameter POSITION = 0x1203 # LightParameter SPOT_DIRECTION = 0x1204 # LightParameter SPOT_EXPONENT = 0x1205 # LightParameter SPOT_CUTOFF = 0x1206 # LightParameter CONSTANT_ATTENUATION = 0x1207 # LightParameter LINEAR_ATTENUATION = 0x1208 # LightParameter QUADRATIC_ATTENUATION = 0x1209 # LightParameter passthru: /* ListMode */ COMPILE = 0x1300 # ListMode COMPILE_AND_EXECUTE = 0x1301 # ListMode passthru: /* DataType */ 2_BYTES = 0x1407 # DataType 3_BYTES = 0x1408 # DataType 4_BYTES = 0x1409 # DataType passthru: /* MaterialParameter */ EMISSION = 0x1600 # MaterialParameter SHININESS = 0x1601 # MaterialParameter AMBIENT_AND_DIFFUSE = 0x1602 # MaterialParameter COLOR_INDEXES = 0x1603 # MaterialParameter passthru: /* MatrixMode */ MODELVIEW = 0x1700 # MatrixMode PROJECTION = 0x1701 # MatrixMode passthru: /* PixelFormat */ COLOR_INDEX = 0x1900 # PixelFormat LUMINANCE = 0x1909 # PixelFormat LUMINANCE_ALPHA = 0x190A # PixelFormat passthru: /* PixelType */ BITMAP = 0x1A00 # PixelType passthru: /* RenderingMode */ RENDER = 0x1C00 # RenderingMode FEEDBACK = 0x1C01 # RenderingMode SELECT = 0x1C02 # RenderingMode passthru: /* ShadingModel */ FLAT = 0x1D00 # ShadingModel SMOOTH = 0x1D01 # ShadingModel passthru: /* TextureCoordName */ S = 0x2000 # TextureCoordName T = 0x2001 # TextureCoordName R = 0x2002 # TextureCoordName Q = 0x2003 # TextureCoordName passthru: /* TextureEnvMode */ MODULATE = 0x2100 # TextureEnvMode DECAL = 0x2101 # TextureEnvMode passthru: /* TextureEnvParameter */ TEXTURE_ENV_MODE = 0x2200 # TextureEnvParameter TEXTURE_ENV_COLOR = 0x2201 # TextureEnvParameter passthru: /* TextureEnvTarget */ TEXTURE_ENV = 0x2300 # TextureEnvTarget passthru: /* TextureGenMode */ EYE_LINEAR = 0x2400 # TextureGenMode OBJECT_LINEAR = 0x2401 # TextureGenMode SPHERE_MAP = 0x2402 # TextureGenMode passthru: /* TextureGenParameter */ TEXTURE_GEN_MODE = 0x2500 # TextureGenParameter OBJECT_PLANE = 0x2501 # TextureGenParameter EYE_PLANE = 0x2502 # TextureGenParameter passthru: /* TextureWrapMode */ CLAMP = 0x2900 # TextureWrapMode passthru: /* PixelInternalFormat */ ALPHA4 = 0x803B # PixelInternalFormat ALPHA8 = 0x803C # PixelInternalFormat ALPHA12 = 0x803D # PixelInternalFormat ALPHA16 = 0x803E # PixelInternalFormat LUMINANCE4 = 0x803F # PixelInternalFormat LUMINANCE8 = 0x8040 # PixelInternalFormat LUMINANCE12 = 0x8041 # PixelInternalFormat LUMINANCE16 = 0x8042 # PixelInternalFormat LUMINANCE4_ALPHA4 = 0x8043 # PixelInternalFormat LUMINANCE6_ALPHA2 = 0x8044 # PixelInternalFormat LUMINANCE8_ALPHA8 = 0x8045 # PixelInternalFormat LUMINANCE12_ALPHA4 = 0x8046 # PixelInternalFormat LUMINANCE12_ALPHA12 = 0x8047 # PixelInternalFormat LUMINANCE16_ALPHA16 = 0x8048 # PixelInternalFormat INTENSITY = 0x8049 # PixelInternalFormat INTENSITY4 = 0x804A # PixelInternalFormat INTENSITY8 = 0x804B # PixelInternalFormat INTENSITY12 = 0x804C # PixelInternalFormat INTENSITY16 = 0x804D # PixelInternalFormat passthru: /* InterleavedArrayFormat */ V2F = 0x2A20 # InterleavedArrayFormat V3F = 0x2A21 # InterleavedArrayFormat C4UB_V2F = 0x2A22 # InterleavedArrayFormat C4UB_V3F = 0x2A23 # InterleavedArrayFormat C3F_V3F = 0x2A24 # InterleavedArrayFormat N3F_V3F = 0x2A25 # InterleavedArrayFormat C4F_N3F_V3F = 0x2A26 # InterleavedArrayFormat T2F_V3F = 0x2A27 # InterleavedArrayFormat T4F_V4F = 0x2A28 # InterleavedArrayFormat T2F_C4UB_V3F = 0x2A29 # InterleavedArrayFormat T2F_C3F_V3F = 0x2A2A # InterleavedArrayFormat T2F_N3F_V3F = 0x2A2B # InterleavedArrayFormat T2F_C4F_N3F_V3F = 0x2A2C # InterleavedArrayFormat T4F_C4F_N3F_V4F = 0x2A2D # InterleavedArrayFormat passthru: /* ClipPlaneName */ CLIP_PLANE0 = 0x3000 # 1 I # ClipPlaneName CLIP_PLANE1 = 0x3001 # 1 I # ClipPlaneName CLIP_PLANE2 = 0x3002 # 1 I # ClipPlaneName CLIP_PLANE3 = 0x3003 # 1 I # ClipPlaneName CLIP_PLANE4 = 0x3004 # 1 I # ClipPlaneName CLIP_PLANE5 = 0x3005 # 1 I # ClipPlaneName passthru: /* LightName */ LIGHT0 = 0x4000 # 1 I # LightName LIGHT1 = 0x4001 # 1 I # LightName LIGHT2 = 0x4002 # 1 I # LightName LIGHT3 = 0x4003 # 1 I # LightName LIGHT4 = 0x4004 # 1 I # LightName LIGHT5 = 0x4005 # 1 I # LightName LIGHT6 = 0x4006 # 1 I # LightName LIGHT7 = 0x4007 # 1 I # LightName ############################################################################### # # OpenGL 1.2 enums # ############################################################################### VERSION_1_2 enum: UNSIGNED_BYTE_3_3_2 = 0x8032 # Equivalent to EXT_packed_pixels UNSIGNED_SHORT_4_4_4_4 = 0x8033 UNSIGNED_SHORT_5_5_5_1 = 0x8034 UNSIGNED_INT_8_8_8_8 = 0x8035 UNSIGNED_INT_10_10_10_2 = 0x8036 TEXTURE_BINDING_3D = 0x806A # 1 I PACK_SKIP_IMAGES = 0x806B # 1 I PACK_IMAGE_HEIGHT = 0x806C # 1 F UNPACK_SKIP_IMAGES = 0x806D # 1 I UNPACK_IMAGE_HEIGHT = 0x806E # 1 F TEXTURE_3D = 0x806F # 1 I PROXY_TEXTURE_3D = 0x8070 TEXTURE_DEPTH = 0x8071 TEXTURE_WRAP_R = 0x8072 MAX_3D_TEXTURE_SIZE = 0x8073 # 1 I UNSIGNED_BYTE_2_3_3_REV = 0x8362 # New for OpenGL 1.2 UNSIGNED_SHORT_5_6_5 = 0x8363 UNSIGNED_SHORT_5_6_5_REV = 0x8364 UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 UNSIGNED_INT_8_8_8_8_REV = 0x8367 UNSIGNED_INT_2_10_10_10_REV = 0x8368 BGR = 0x80E0 BGRA = 0x80E1 MAX_ELEMENTS_VERTICES = 0x80E8 MAX_ELEMENTS_INDICES = 0x80E9 CLAMP_TO_EDGE = 0x812F # Equivalent to SGIS_texture_edge_clamp TEXTURE_MIN_LOD = 0x813A # Equivalent to SGIS_texture_lod TEXTURE_MAX_LOD = 0x813B TEXTURE_BASE_LEVEL = 0x813C TEXTURE_MAX_LEVEL = 0x813D SMOOTH_POINT_SIZE_RANGE = 0x0B12 # 2 F SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 # 1 F SMOOTH_LINE_WIDTH_RANGE = 0x0B22 # 2 F SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F ALIASED_LINE_WIDTH_RANGE = 0x846E # 2 F VERSION_1_2_DEPRECATED enum: RESCALE_NORMAL = 0x803A # 1 I # Equivalent to EXT_rescale_normal LIGHT_MODEL_COLOR_CONTROL = 0x81F8 # 1 I SINGLE_COLOR = 0x81F9 SEPARATE_SPECULAR_COLOR = 0x81FA ALIASED_POINT_SIZE_RANGE = 0x846D # 2 F ARB_imaging enum: CONSTANT_COLOR = 0x8001 # Equivalent to EXT_blend_color ONE_MINUS_CONSTANT_COLOR = 0x8002 CONSTANT_ALPHA = 0x8003 ONE_MINUS_CONSTANT_ALPHA = 0x8004 BLEND_COLOR = 0x8005 # 4 F FUNC_ADD = 0x8006 # Equivalent to EXT_blend_minmax MIN = 0x8007 MAX = 0x8008 BLEND_EQUATION = 0x8009 # 1 I FUNC_SUBTRACT = 0x800A # Equivalent to EXT_blend_subtract FUNC_REVERSE_SUBTRACT = 0x800B ARB_imaging_DEPRECATED enum: CONVOLUTION_1D = 0x8010 # 1 I # Equivalent to EXT_convolution CONVOLUTION_2D = 0x8011 # 1 I SEPARABLE_2D = 0x8012 # 1 I CONVOLUTION_BORDER_MODE = 0x8013 CONVOLUTION_FILTER_SCALE = 0x8014 CONVOLUTION_FILTER_BIAS = 0x8015 REDUCE = 0x8016 CONVOLUTION_FORMAT = 0x8017 CONVOLUTION_WIDTH = 0x8018 CONVOLUTION_HEIGHT = 0x8019 MAX_CONVOLUTION_WIDTH = 0x801A MAX_CONVOLUTION_HEIGHT = 0x801B POST_CONVOLUTION_RED_SCALE = 0x801C # 1 F POST_CONVOLUTION_GREEN_SCALE = 0x801D # 1 F POST_CONVOLUTION_BLUE_SCALE = 0x801E # 1 F POST_CONVOLUTION_ALPHA_SCALE = 0x801F # 1 F POST_CONVOLUTION_RED_BIAS = 0x8020 # 1 F POST_CONVOLUTION_GREEN_BIAS = 0x8021 # 1 F POST_CONVOLUTION_BLUE_BIAS = 0x8022 # 1 F POST_CONVOLUTION_ALPHA_BIAS = 0x8023 # 1 F HISTOGRAM = 0x8024 # 1 I # Equivalent to EXT_histogram PROXY_HISTOGRAM = 0x8025 HISTOGRAM_WIDTH = 0x8026 HISTOGRAM_FORMAT = 0x8027 HISTOGRAM_RED_SIZE = 0x8028 HISTOGRAM_GREEN_SIZE = 0x8029 HISTOGRAM_BLUE_SIZE = 0x802A HISTOGRAM_ALPHA_SIZE = 0x802B HISTOGRAM_LUMINANCE_SIZE = 0x802C HISTOGRAM_SINK = 0x802D MINMAX = 0x802E # 1 I MINMAX_FORMAT = 0x802F MINMAX_SINK = 0x8030 TABLE_TOO_LARGE = 0x8031 COLOR_MATRIX = 0x80B1 # 16 F # Equivalent to SGI_color_matrix COLOR_MATRIX_STACK_DEPTH = 0x80B2 # 1 I MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3 # 1 I POST_COLOR_MATRIX_RED_SCALE = 0x80B4 # 1 F POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5 # 1 F POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6 # 1 F POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7 # 1 F POST_COLOR_MATRIX_RED_BIAS = 0x80B8 # 1 F POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9 # 1 F POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA # 1 F POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB # 1 F COLOR_TABLE = 0x80D0 # 1 I # Equivalent to SGI_color_table POST_CONVOLUTION_COLOR_TABLE = 0x80D1 # 1 I POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 # 1 I PROXY_COLOR_TABLE = 0x80D3 PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4 PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5 COLOR_TABLE_SCALE = 0x80D6 COLOR_TABLE_BIAS = 0x80D7 COLOR_TABLE_FORMAT = 0x80D8 COLOR_TABLE_WIDTH = 0x80D9 COLOR_TABLE_RED_SIZE = 0x80DA COLOR_TABLE_GREEN_SIZE = 0x80DB COLOR_TABLE_BLUE_SIZE = 0x80DC COLOR_TABLE_ALPHA_SIZE = 0x80DD COLOR_TABLE_LUMINANCE_SIZE = 0x80DE COLOR_TABLE_INTENSITY_SIZE = 0x80DF CONSTANT_BORDER = 0x8151 REPLICATE_BORDER = 0x8153 CONVOLUTION_BORDER_COLOR = 0x8154 ############################################################################### # # OpenGL 1.3 enums # ############################################################################### VERSION_1_3 enum: TEXTURE0 = 0x84C0 # Promoted from ARB_multitexture TEXTURE1 = 0x84C1 TEXTURE2 = 0x84C2 TEXTURE3 = 0x84C3 TEXTURE4 = 0x84C4 TEXTURE5 = 0x84C5 TEXTURE6 = 0x84C6 TEXTURE7 = 0x84C7 TEXTURE8 = 0x84C8 TEXTURE9 = 0x84C9 TEXTURE10 = 0x84CA TEXTURE11 = 0x84CB TEXTURE12 = 0x84CC TEXTURE13 = 0x84CD TEXTURE14 = 0x84CE TEXTURE15 = 0x84CF TEXTURE16 = 0x84D0 TEXTURE17 = 0x84D1 TEXTURE18 = 0x84D2 TEXTURE19 = 0x84D3 TEXTURE20 = 0x84D4 TEXTURE21 = 0x84D5 TEXTURE22 = 0x84D6 TEXTURE23 = 0x84D7 TEXTURE24 = 0x84D8 TEXTURE25 = 0x84D9 TEXTURE26 = 0x84DA TEXTURE27 = 0x84DB TEXTURE28 = 0x84DC TEXTURE29 = 0x84DD TEXTURE30 = 0x84DE TEXTURE31 = 0x84DF ACTIVE_TEXTURE = 0x84E0 # 1 I MULTISAMPLE = 0x809D # Promoted from ARB_multisample SAMPLE_ALPHA_TO_COVERAGE = 0x809E SAMPLE_ALPHA_TO_ONE = 0x809F SAMPLE_COVERAGE = 0x80A0 SAMPLE_BUFFERS = 0x80A8 SAMPLES = 0x80A9 SAMPLE_COVERAGE_VALUE = 0x80AA SAMPLE_COVERAGE_INVERT = 0x80AB TEXTURE_CUBE_MAP = 0x8513 TEXTURE_BINDING_CUBE_MAP = 0x8514 TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A PROXY_TEXTURE_CUBE_MAP = 0x851B MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C COMPRESSED_RGB = 0x84ED COMPRESSED_RGBA = 0x84EE TEXTURE_COMPRESSION_HINT = 0x84EF TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 TEXTURE_COMPRESSED = 0x86A1 NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 COMPRESSED_TEXTURE_FORMATS = 0x86A3 CLAMP_TO_BORDER = 0x812D # Promoted from ARB_texture_border_clamp VERSION_1_3_DEPRECATED enum: CLIENT_ACTIVE_TEXTURE = 0x84E1 # 1 I MAX_TEXTURE_UNITS = 0x84E2 # 1 I TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 # 16 F # Promoted from ARB_transpose_matrix TRANSPOSE_PROJECTION_MATRIX = 0x84E4 # 16 F TRANSPOSE_TEXTURE_MATRIX = 0x84E5 # 16 F TRANSPOSE_COLOR_MATRIX = 0x84E6 # 16 F MULTISAMPLE_BIT = 0x20000000 NORMAL_MAP = 0x8511 # Promoted from ARB_texture_cube_map REFLECTION_MAP = 0x8512 COMPRESSED_ALPHA = 0x84E9 # Promoted from ARB_texture_compression COMPRESSED_LUMINANCE = 0x84EA COMPRESSED_LUMINANCE_ALPHA = 0x84EB COMPRESSED_INTENSITY = 0x84EC COMBINE = 0x8570 # Promoted from ARB_texture_env_combine COMBINE_RGB = 0x8571 COMBINE_ALPHA = 0x8572 SOURCE0_RGB = 0x8580 SOURCE1_RGB = 0x8581 SOURCE2_RGB = 0x8582 SOURCE0_ALPHA = 0x8588 SOURCE1_ALPHA = 0x8589 SOURCE2_ALPHA = 0x858A OPERAND0_RGB = 0x8590 OPERAND1_RGB = 0x8591 OPERAND2_RGB = 0x8592 OPERAND0_ALPHA = 0x8598 OPERAND1_ALPHA = 0x8599 OPERAND2_ALPHA = 0x859A RGB_SCALE = 0x8573 ADD_SIGNED = 0x8574 INTERPOLATE = 0x8575 SUBTRACT = 0x84E7 CONSTANT = 0x8576 PRIMARY_COLOR = 0x8577 PREVIOUS = 0x8578 DOT3_RGB = 0x86AE # Promoted from ARB_texture_env_dot3 DOT3_RGBA = 0x86AF ############################################################################### # # OpenGL 1.4 enums # ############################################################################### VERSION_1_4 enum: BLEND_DST_RGB = 0x80C8 BLEND_SRC_RGB = 0x80C9 BLEND_DST_ALPHA = 0x80CA BLEND_SRC_ALPHA = 0x80CB POINT_FADE_THRESHOLD_SIZE = 0x8128 # 1 F DEPTH_COMPONENT16 = 0x81A5 DEPTH_COMPONENT24 = 0x81A6 DEPTH_COMPONENT32 = 0x81A7 MIRRORED_REPEAT = 0x8370 MAX_TEXTURE_LOD_BIAS = 0x84FD TEXTURE_LOD_BIAS = 0x8501 INCR_WRAP = 0x8507 DECR_WRAP = 0x8508 TEXTURE_DEPTH_SIZE = 0x884A TEXTURE_COMPARE_MODE = 0x884C TEXTURE_COMPARE_FUNC = 0x884D VERSION_1_4_DEPRECATED enum: POINT_SIZE_MIN = 0x8126 # 1 F POINT_SIZE_MAX = 0x8127 # 1 F POINT_DISTANCE_ATTENUATION = 0x8129 # 3 F GENERATE_MIPMAP = 0x8191 GENERATE_MIPMAP_HINT = 0x8192 # 1 I FOG_COORDINATE_SOURCE = 0x8450 # 1 I FOG_COORDINATE = 0x8451 FRAGMENT_DEPTH = 0x8452 CURRENT_FOG_COORDINATE = 0x8453 # 1 F FOG_COORDINATE_ARRAY_TYPE = 0x8454 # 1 I FOG_COORDINATE_ARRAY_STRIDE = 0x8455 # 1 I FOG_COORDINATE_ARRAY_POINTER = 0x8456 FOG_COORDINATE_ARRAY = 0x8457 # 1 I COLOR_SUM = 0x8458 # 1 I CURRENT_SECONDARY_COLOR = 0x8459 # 3 F SECONDARY_COLOR_ARRAY_SIZE = 0x845A # 1 I SECONDARY_COLOR_ARRAY_TYPE = 0x845B # 1 I SECONDARY_COLOR_ARRAY_STRIDE = 0x845C # 1 I SECONDARY_COLOR_ARRAY_POINTER = 0x845D SECONDARY_COLOR_ARRAY = 0x845E # 1 I TEXTURE_FILTER_CONTROL = 0x8500 DEPTH_TEXTURE_MODE = 0x884B COMPARE_R_TO_TEXTURE = 0x884E ############################################################################### # # OpenGL 1.5 enums # ############################################################################### VERSION_1_5 enum: BUFFER_SIZE = 0x8764 # ARB_vertex_buffer_object BUFFER_USAGE = 0x8765 # ARB_vertex_buffer_object QUERY_COUNTER_BITS = 0x8864 # ARB_occlusion_query CURRENT_QUERY = 0x8865 # ARB_occlusion_query QUERY_RESULT = 0x8866 # ARB_occlusion_query QUERY_RESULT_AVAILABLE = 0x8867 # ARB_occlusion_query ARRAY_BUFFER = 0x8892 # ARB_vertex_buffer_object ELEMENT_ARRAY_BUFFER = 0x8893 # ARB_vertex_buffer_object ARRAY_BUFFER_BINDING = 0x8894 # ARB_vertex_buffer_object ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 # ARB_vertex_buffer_object VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F # ARB_vertex_buffer_object READ_ONLY = 0x88B8 # ARB_vertex_buffer_object WRITE_ONLY = 0x88B9 # ARB_vertex_buffer_object READ_WRITE = 0x88BA # ARB_vertex_buffer_object BUFFER_ACCESS = 0x88BB # ARB_vertex_buffer_object BUFFER_MAPPED = 0x88BC # ARB_vertex_buffer_object BUFFER_MAP_POINTER = 0x88BD # ARB_vertex_buffer_object STREAM_DRAW = 0x88E0 # ARB_vertex_buffer_object STREAM_READ = 0x88E1 # ARB_vertex_buffer_object STREAM_COPY = 0x88E2 # ARB_vertex_buffer_object STATIC_DRAW = 0x88E4 # ARB_vertex_buffer_object STATIC_READ = 0x88E5 # ARB_vertex_buffer_object STATIC_COPY = 0x88E6 # ARB_vertex_buffer_object DYNAMIC_DRAW = 0x88E8 # ARB_vertex_buffer_object DYNAMIC_READ = 0x88E9 # ARB_vertex_buffer_object DYNAMIC_COPY = 0x88EA # ARB_vertex_buffer_object SAMPLES_PASSED = 0x8914 # ARB_occlusion_query VERSION_1_5_DEPRECATED enum: VERTEX_ARRAY_BUFFER_BINDING = 0x8896 # ARB_vertex_buffer_object NORMAL_ARRAY_BUFFER_BINDING = 0x8897 # ARB_vertex_buffer_object COLOR_ARRAY_BUFFER_BINDING = 0x8898 # ARB_vertex_buffer_object INDEX_ARRAY_BUFFER_BINDING = 0x8899 # ARB_vertex_buffer_object TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A # ARB_vertex_buffer_object EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B # ARB_vertex_buffer_object SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C # ARB_vertex_buffer_object FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D # ARB_vertex_buffer_object WEIGHT_ARRAY_BUFFER_BINDING = 0x889E # ARB_vertex_buffer_object FOG_COORD_SRC = 0x8450 # alias GL_FOG_COORDINATE_SOURCE FOG_COORD = 0x8451 # alias GL_FOG_COORDINATE CURRENT_FOG_COORD = 0x8453 # alias GL_CURRENT_FOG_COORDINATE FOG_COORD_ARRAY_TYPE = 0x8454 # alias GL_FOG_COORDINATE_ARRAY_TYPE FOG_COORD_ARRAY_STRIDE = 0x8455 # alias GL_FOG_COORDINATE_ARRAY_STRIDE FOG_COORD_ARRAY_POINTER = 0x8456 # alias GL_FOG_COORDINATE_ARRAY_POINTER FOG_COORD_ARRAY = 0x8457 # alias GL_FOG_COORDINATE_ARRAY FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D # alias GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING # New naming scheme SRC0_RGB = 0x8580 # alias GL_SOURCE0_RGB SRC1_RGB = 0x8581 # alias GL_SOURCE1_RGB SRC2_RGB = 0x8582 # alias GL_SOURCE2_RGB SRC0_ALPHA = 0x8588 # alias GL_SOURCE0_ALPHA SRC1_ALPHA = 0x8589 # alias GL_SOURCE1_ALPHA SRC2_ALPHA = 0x858A # alias GL_SOURCE2_ALPHA ############################################################################### # # OpenGL 2.0 enums # ############################################################################### VERSION_2_0 enum: BLEND_EQUATION_RGB = 0x8009 # EXT_blend_equation_separate # alias GL_BLEND_EQUATION VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 # ARB_vertex_shader VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 # ARB_vertex_shader VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 # ARB_vertex_shader VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 # ARB_vertex_shader CURRENT_VERTEX_ATTRIB = 0x8626 # ARB_vertex_shader VERTEX_PROGRAM_POINT_SIZE = 0x8642 # ARB_vertex_shader VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 # ARB_vertex_shader STENCIL_BACK_FUNC = 0x8800 # ARB_stencil_two_side STENCIL_BACK_FAIL = 0x8801 # ARB_stencil_two_side STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 # ARB_stencil_two_side STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 # ARB_stencil_two_side MAX_DRAW_BUFFERS = 0x8824 # ARB_draw_buffers DRAW_BUFFER0 = 0x8825 # ARB_draw_buffers DRAW_BUFFER1 = 0x8826 # ARB_draw_buffers DRAW_BUFFER2 = 0x8827 # ARB_draw_buffers DRAW_BUFFER3 = 0x8828 # ARB_draw_buffers DRAW_BUFFER4 = 0x8829 # ARB_draw_buffers DRAW_BUFFER5 = 0x882A # ARB_draw_buffers DRAW_BUFFER6 = 0x882B # ARB_draw_buffers DRAW_BUFFER7 = 0x882C # ARB_draw_buffers DRAW_BUFFER8 = 0x882D # ARB_draw_buffers DRAW_BUFFER9 = 0x882E # ARB_draw_buffers DRAW_BUFFER10 = 0x882F # ARB_draw_buffers DRAW_BUFFER11 = 0x8830 # ARB_draw_buffers DRAW_BUFFER12 = 0x8831 # ARB_draw_buffers DRAW_BUFFER13 = 0x8832 # ARB_draw_buffers DRAW_BUFFER14 = 0x8833 # ARB_draw_buffers DRAW_BUFFER15 = 0x8834 # ARB_draw_buffers BLEND_EQUATION_ALPHA = 0x883D # EXT_blend_equation_separate MAX_VERTEX_ATTRIBS = 0x8869 # ARB_vertex_shader VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A # ARB_vertex_shader MAX_TEXTURE_IMAGE_UNITS = 0x8872 # ARB_vertex_shader, ARB_fragment_shader FRAGMENT_SHADER = 0x8B30 # ARB_fragment_shader VERTEX_SHADER = 0x8B31 # ARB_vertex_shader MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 # ARB_fragment_shader MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A # ARB_vertex_shader MAX_VARYING_FLOATS = 0x8B4B # ARB_vertex_shader MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C # ARB_vertex_shader MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D # ARB_vertex_shader SHADER_TYPE = 0x8B4F # ARB_shader_objects FLOAT_VEC2 = 0x8B50 # ARB_shader_objects FLOAT_VEC3 = 0x8B51 # ARB_shader_objects FLOAT_VEC4 = 0x8B52 # ARB_shader_objects INT_VEC2 = 0x8B53 # ARB_shader_objects INT_VEC3 = 0x8B54 # ARB_shader_objects INT_VEC4 = 0x8B55 # ARB_shader_objects BOOL = 0x8B56 # ARB_shader_objects BOOL_VEC2 = 0x8B57 # ARB_shader_objects BOOL_VEC3 = 0x8B58 # ARB_shader_objects BOOL_VEC4 = 0x8B59 # ARB_shader_objects FLOAT_MAT2 = 0x8B5A # ARB_shader_objects FLOAT_MAT3 = 0x8B5B # ARB_shader_objects FLOAT_MAT4 = 0x8B5C # ARB_shader_objects SAMPLER_1D = 0x8B5D # ARB_shader_objects SAMPLER_2D = 0x8B5E # ARB_shader_objects SAMPLER_3D = 0x8B5F # ARB_shader_objects SAMPLER_CUBE = 0x8B60 # ARB_shader_objects SAMPLER_1D_SHADOW = 0x8B61 # ARB_shader_objects SAMPLER_2D_SHADOW = 0x8B62 # ARB_shader_objects DELETE_STATUS = 0x8B80 # ARB_shader_objects COMPILE_STATUS = 0x8B81 # ARB_shader_objects LINK_STATUS = 0x8B82 # ARB_shader_objects VALIDATE_STATUS = 0x8B83 # ARB_shader_objects INFO_LOG_LENGTH = 0x8B84 # ARB_shader_objects ATTACHED_SHADERS = 0x8B85 # ARB_shader_objects ACTIVE_UNIFORMS = 0x8B86 # ARB_shader_objects ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 # ARB_shader_objects SHADER_SOURCE_LENGTH = 0x8B88 # ARB_shader_objects ACTIVE_ATTRIBUTES = 0x8B89 # ARB_vertex_shader ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A # ARB_vertex_shader FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B # ARB_fragment_shader SHADING_LANGUAGE_VERSION = 0x8B8C # ARB_shading_language_100 CURRENT_PROGRAM = 0x8B8D # ARB_shader_objects (added for 2.0) POINT_SPRITE_COORD_ORIGIN = 0x8CA0 # ARB_point_sprite (added for 2.0) LOWER_LEFT = 0x8CA1 # ARB_point_sprite (added for 2.0) UPPER_LEFT = 0x8CA2 # ARB_point_sprite (added for 2.0) STENCIL_BACK_REF = 0x8CA3 # ARB_stencil_two_side STENCIL_BACK_VALUE_MASK = 0x8CA4 # ARB_stencil_two_side STENCIL_BACK_WRITEMASK = 0x8CA5 # ARB_stencil_two_side VERSION_2_0_DEPRECATED enum: VERTEX_PROGRAM_TWO_SIDE = 0x8643 # ARB_vertex_shader POINT_SPRITE = 0x8861 # ARB_point_sprite COORD_REPLACE = 0x8862 # ARB_point_sprite MAX_TEXTURE_COORDS = 0x8871 # ARB_vertex_shader, ARB_fragment_shader ############################################################################### # # OpenGL 2.1 enums # ############################################################################### VERSION_2_1 enum: PIXEL_PACK_BUFFER = 0x88EB # ARB_pixel_buffer_object PIXEL_UNPACK_BUFFER = 0x88EC # ARB_pixel_buffer_object PIXEL_PACK_BUFFER_BINDING = 0x88ED # ARB_pixel_buffer_object PIXEL_UNPACK_BUFFER_BINDING = 0x88EF # ARB_pixel_buffer_object FLOAT_MAT2x3 = 0x8B65 # New for 2.1 FLOAT_MAT2x4 = 0x8B66 # New for 2.1 FLOAT_MAT3x2 = 0x8B67 # New for 2.1 FLOAT_MAT3x4 = 0x8B68 # New for 2.1 FLOAT_MAT4x2 = 0x8B69 # New for 2.1 FLOAT_MAT4x3 = 0x8B6A # New for 2.1 SRGB = 0x8C40 # EXT_texture_sRGB SRGB8 = 0x8C41 # EXT_texture_sRGB SRGB_ALPHA = 0x8C42 # EXT_texture_sRGB SRGB8_ALPHA8 = 0x8C43 # EXT_texture_sRGB COMPRESSED_SRGB = 0x8C48 # EXT_texture_sRGB COMPRESSED_SRGB_ALPHA = 0x8C49 # EXT_texture_sRGB VERSION_2_1_DEPRECATED enum: CURRENT_RASTER_SECONDARY_COLOR = 0x845F # New for 2.1 SLUMINANCE_ALPHA = 0x8C44 # EXT_texture_sRGB SLUMINANCE8_ALPHA8 = 0x8C45 # EXT_texture_sRGB SLUMINANCE = 0x8C46 # EXT_texture_sRGB SLUMINANCE8 = 0x8C47 # EXT_texture_sRGB COMPRESSED_SLUMINANCE = 0x8C4A # EXT_texture_sRGB COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B # EXT_texture_sRGB ############################################################################### # # OpenGL 3.0 enums # ############################################################################### VERSION_3_0 enum: COMPARE_REF_TO_TEXTURE = 0x884E # alias GL_COMPARE_R_TO_TEXTURE_ARB CLIP_DISTANCE0 = 0x3000 # alias GL_CLIP_PLANE0 CLIP_DISTANCE1 = 0x3001 # alias GL_CLIP_PLANE1 CLIP_DISTANCE2 = 0x3002 # alias GL_CLIP_PLANE2 CLIP_DISTANCE3 = 0x3003 # alias GL_CLIP_PLANE3 CLIP_DISTANCE4 = 0x3004 # alias GL_CLIP_PLANE4 CLIP_DISTANCE5 = 0x3005 # alias GL_CLIP_PLANE5 CLIP_DISTANCE6 = 0x3006 CLIP_DISTANCE7 = 0x3007 MAX_CLIP_DISTANCES = 0x0D32 # alias GL_MAX_CLIP_PLANES MAJOR_VERSION = 0x821B MINOR_VERSION = 0x821C NUM_EXTENSIONS = 0x821D CONTEXT_FLAGS = 0x821E DEPTH_BUFFER = 0x8223 STENCIL_BUFFER = 0x8224 COMPRESSED_RED = 0x8225 COMPRESSED_RG = 0x8226 CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001 RGBA32F = 0x8814 RGB32F = 0x8815 RGBA16F = 0x881A RGB16F = 0x881B VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD MAX_ARRAY_TEXTURE_LAYERS = 0x88FF MIN_PROGRAM_TEXEL_OFFSET = 0x8904 MAX_PROGRAM_TEXEL_OFFSET = 0x8905 CLAMP_READ_COLOR = 0x891C FIXED_ONLY = 0x891D MAX_VARYING_COMPONENTS = 0x8B4B # alias GL_MAX_VARYING_FLOATS TEXTURE_1D_ARRAY = 0x8C18 PROXY_TEXTURE_1D_ARRAY = 0x8C19 TEXTURE_2D_ARRAY = 0x8C1A PROXY_TEXTURE_2D_ARRAY = 0x8C1B TEXTURE_BINDING_1D_ARRAY = 0x8C1C TEXTURE_BINDING_2D_ARRAY = 0x8C1D R11F_G11F_B10F = 0x8C3A UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B RGB9_E5 = 0x8C3D UNSIGNED_INT_5_9_9_9_REV = 0x8C3E TEXTURE_SHARED_SIZE = 0x8C3F TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 PRIMITIVES_GENERATED = 0x8C87 TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 RASTERIZER_DISCARD = 0x8C89 MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B INTERLEAVED_ATTRIBS = 0x8C8C SEPARATE_ATTRIBS = 0x8C8D TRANSFORM_FEEDBACK_BUFFER = 0x8C8E TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F RGBA32UI = 0x8D70 RGB32UI = 0x8D71 RGBA16UI = 0x8D76 RGB16UI = 0x8D77 RGBA8UI = 0x8D7C RGB8UI = 0x8D7D RGBA32I = 0x8D82 RGB32I = 0x8D83 RGBA16I = 0x8D88 RGB16I = 0x8D89 RGBA8I = 0x8D8E RGB8I = 0x8D8F RED_INTEGER = 0x8D94 GREEN_INTEGER = 0x8D95 BLUE_INTEGER = 0x8D96 RGB_INTEGER = 0x8D98 RGBA_INTEGER = 0x8D99 BGR_INTEGER = 0x8D9A BGRA_INTEGER = 0x8D9B SAMPLER_1D_ARRAY = 0x8DC0 SAMPLER_2D_ARRAY = 0x8DC1 SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 SAMPLER_CUBE_SHADOW = 0x8DC5 UNSIGNED_INT_VEC2 = 0x8DC6 UNSIGNED_INT_VEC3 = 0x8DC7 UNSIGNED_INT_VEC4 = 0x8DC8 INT_SAMPLER_1D = 0x8DC9 INT_SAMPLER_2D = 0x8DCA INT_SAMPLER_3D = 0x8DCB INT_SAMPLER_CUBE = 0x8DCC INT_SAMPLER_1D_ARRAY = 0x8DCE INT_SAMPLER_2D_ARRAY = 0x8DCF UNSIGNED_INT_SAMPLER_1D = 0x8DD1 UNSIGNED_INT_SAMPLER_2D = 0x8DD2 UNSIGNED_INT_SAMPLER_3D = 0x8DD3 UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 QUERY_WAIT = 0x8E13 QUERY_NO_WAIT = 0x8E14 QUERY_BY_REGION_WAIT = 0x8E15 QUERY_BY_REGION_NO_WAIT = 0x8E16 BUFFER_ACCESS_FLAGS = 0x911F BUFFER_MAP_LENGTH = 0x9120 BUFFER_MAP_OFFSET = 0x9121 passthru: /* Reuse tokens from ARB_depth_buffer_float */ use ARB_depth_buffer_float DEPTH_COMPONENT32F use ARB_depth_buffer_float DEPTH32F_STENCIL8 use ARB_depth_buffer_float FLOAT_32_UNSIGNED_INT_24_8_REV passthru: /* Reuse tokens from ARB_framebuffer_object */ use ARB_framebuffer_object INVALID_FRAMEBUFFER_OPERATION use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_RED_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_GREEN_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_BLUE_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE use ARB_framebuffer_object FRAMEBUFFER_DEFAULT use ARB_framebuffer_object FRAMEBUFFER_UNDEFINED use ARB_framebuffer_object DEPTH_STENCIL_ATTACHMENT use ARB_framebuffer_object INDEX use ARB_framebuffer_object MAX_RENDERBUFFER_SIZE use ARB_framebuffer_object DEPTH_STENCIL use ARB_framebuffer_object UNSIGNED_INT_24_8 use ARB_framebuffer_object DEPTH24_STENCIL8 use ARB_framebuffer_object TEXTURE_STENCIL_SIZE use ARB_framebuffer_object TEXTURE_RED_TYPE use ARB_framebuffer_object TEXTURE_GREEN_TYPE use ARB_framebuffer_object TEXTURE_BLUE_TYPE use ARB_framebuffer_object TEXTURE_ALPHA_TYPE use ARB_framebuffer_object TEXTURE_DEPTH_TYPE use ARB_framebuffer_object UNSIGNED_NORMALIZED use ARB_framebuffer_object FRAMEBUFFER_BINDING use ARB_framebuffer_object DRAW_FRAMEBUFFER_BINDING use ARB_framebuffer_object RENDERBUFFER_BINDING use ARB_framebuffer_object READ_FRAMEBUFFER use ARB_framebuffer_object DRAW_FRAMEBUFFER use ARB_framebuffer_object READ_FRAMEBUFFER_BINDING use ARB_framebuffer_object RENDERBUFFER_SAMPLES use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_OBJECT_NAME use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER use ARB_framebuffer_object FRAMEBUFFER_COMPLETE use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_ATTACHMENT use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_READ_BUFFER use ARB_framebuffer_object FRAMEBUFFER_UNSUPPORTED use ARB_framebuffer_object MAX_COLOR_ATTACHMENTS use ARB_framebuffer_object COLOR_ATTACHMENT0 use ARB_framebuffer_object COLOR_ATTACHMENT1 use ARB_framebuffer_object COLOR_ATTACHMENT2 use ARB_framebuffer_object COLOR_ATTACHMENT3 use ARB_framebuffer_object COLOR_ATTACHMENT4 use ARB_framebuffer_object COLOR_ATTACHMENT5 use ARB_framebuffer_object COLOR_ATTACHMENT6 use ARB_framebuffer_object COLOR_ATTACHMENT7 use ARB_framebuffer_object COLOR_ATTACHMENT8 use ARB_framebuffer_object COLOR_ATTACHMENT9 use ARB_framebuffer_object COLOR_ATTACHMENT10 use ARB_framebuffer_object COLOR_ATTACHMENT11 use ARB_framebuffer_object COLOR_ATTACHMENT12 use ARB_framebuffer_object COLOR_ATTACHMENT13 use ARB_framebuffer_object COLOR_ATTACHMENT14 use ARB_framebuffer_object COLOR_ATTACHMENT15 use ARB_framebuffer_object DEPTH_ATTACHMENT use ARB_framebuffer_object STENCIL_ATTACHMENT use ARB_framebuffer_object FRAMEBUFFER use ARB_framebuffer_object RENDERBUFFER use ARB_framebuffer_object RENDERBUFFER_WIDTH use ARB_framebuffer_object RENDERBUFFER_HEIGHT use ARB_framebuffer_object RENDERBUFFER_INTERNAL_FORMAT use ARB_framebuffer_object STENCIL_INDEX1 use ARB_framebuffer_object STENCIL_INDEX4 use ARB_framebuffer_object STENCIL_INDEX8 use ARB_framebuffer_object STENCIL_INDEX16 use ARB_framebuffer_object RENDERBUFFER_RED_SIZE use ARB_framebuffer_object RENDERBUFFER_GREEN_SIZE use ARB_framebuffer_object RENDERBUFFER_BLUE_SIZE use ARB_framebuffer_object RENDERBUFFER_ALPHA_SIZE use ARB_framebuffer_object RENDERBUFFER_DEPTH_SIZE use ARB_framebuffer_object RENDERBUFFER_STENCIL_SIZE use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_MULTISAMPLE use ARB_framebuffer_object MAX_SAMPLES passthru: /* Reuse tokens from ARB_framebuffer_sRGB */ use ARB_framebuffer_sRGB FRAMEBUFFER_SRGB passthru: /* Reuse tokens from ARB_half_float_vertex */ use ARB_half_float_vertex HALF_FLOAT passthru: /* Reuse tokens from ARB_map_buffer_range */ use ARB_map_buffer_range MAP_READ_BIT use ARB_map_buffer_range MAP_WRITE_BIT use ARB_map_buffer_range MAP_INVALIDATE_RANGE_BIT use ARB_map_buffer_range MAP_INVALIDATE_BUFFER_BIT use ARB_map_buffer_range MAP_FLUSH_EXPLICIT_BIT use ARB_map_buffer_range MAP_UNSYNCHRONIZED_BIT passthru: /* Reuse tokens from ARB_texture_compression_rgtc */ use ARB_texture_compression_rgtc COMPRESSED_RED_RGTC1 use ARB_texture_compression_rgtc COMPRESSED_SIGNED_RED_RGTC1 use ARB_texture_compression_rgtc COMPRESSED_RG_RGTC2 use ARB_texture_compression_rgtc COMPRESSED_SIGNED_RG_RGTC2 passthru: /* Reuse tokens from ARB_texture_rg */ use ARB_texture_rg RG use ARB_texture_rg RG_INTEGER use ARB_texture_rg R8 use ARB_texture_rg R16 use ARB_texture_rg RG8 use ARB_texture_rg RG16 use ARB_texture_rg R16F use ARB_texture_rg R32F use ARB_texture_rg RG16F use ARB_texture_rg RG32F use ARB_texture_rg R8I use ARB_texture_rg R8UI use ARB_texture_rg R16I use ARB_texture_rg R16UI use ARB_texture_rg R32I use ARB_texture_rg R32UI use ARB_texture_rg RG8I use ARB_texture_rg RG8UI use ARB_texture_rg RG16I use ARB_texture_rg RG16UI use ARB_texture_rg RG32I use ARB_texture_rg RG32UI passthru: /* Reuse tokens from ARB_vertex_array_object */ use ARB_vertex_array_object VERTEX_ARRAY_BINDING VERSION_3_0_DEPRECATED enum: CLAMP_VERTEX_COLOR = 0x891A CLAMP_FRAGMENT_COLOR = 0x891B ALPHA_INTEGER = 0x8D97 passthru: /* Reuse tokens from ARB_framebuffer_object */ use ARB_framebuffer_object TEXTURE_LUMINANCE_TYPE use ARB_framebuffer_object TEXTURE_INTENSITY_TYPE ############################################################################### # # OpenGL 3.1 enums # ############################################################################### VERSION_3_1 enum: SAMPLER_2D_RECT = 0x8B63 # ARB_shader_objects + ARB_texture_rectangle SAMPLER_2D_RECT_SHADOW = 0x8B64 # ARB_shader_objects + ARB_texture_rectangle SAMPLER_BUFFER = 0x8DC2 # EXT_gpu_shader4 + ARB_texture_buffer_object INT_SAMPLER_2D_RECT = 0x8DCD # EXT_gpu_shader4 + ARB_texture_rectangle INT_SAMPLER_BUFFER = 0x8DD0 # EXT_gpu_shader4 + ARB_texture_buffer_object UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 # EXT_gpu_shader4 + ARB_texture_rectangle UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 # EXT_gpu_shader4 + ARB_texture_buffer_object TEXTURE_BUFFER = 0x8C2A # ARB_texture_buffer_object MAX_TEXTURE_BUFFER_SIZE = 0x8C2B # ARB_texture_buffer_object TEXTURE_BINDING_BUFFER = 0x8C2C # ARB_texture_buffer_object TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D # ARB_texture_buffer_object TEXTURE_BUFFER_FORMAT = 0x8C2E # ARB_texture_buffer_object TEXTURE_RECTANGLE = 0x84F5 # ARB_texture_rectangle TEXTURE_BINDING_RECTANGLE = 0x84F6 # ARB_texture_rectangle PROXY_TEXTURE_RECTANGLE = 0x84F7 # ARB_texture_rectangle MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 # ARB_texture_rectangle RED_SNORM = 0x8F90 # 3.1 RG_SNORM = 0x8F91 # 3.1 RGB_SNORM = 0x8F92 # 3.1 RGBA_SNORM = 0x8F93 # 3.1 R8_SNORM = 0x8F94 # 3.1 RG8_SNORM = 0x8F95 # 3.1 RGB8_SNORM = 0x8F96 # 3.1 RGBA8_SNORM = 0x8F97 # 3.1 R16_SNORM = 0x8F98 # 3.1 RG16_SNORM = 0x8F99 # 3.1 RGB16_SNORM = 0x8F9A # 3.1 RGBA16_SNORM = 0x8F9B # 3.1 SIGNED_NORMALIZED = 0x8F9C # 3.1 PRIMITIVE_RESTART = 0x8F9D # 3.1 (different from NV_primitive_restart) PRIMITIVE_RESTART_INDEX = 0x8F9E # 3.1 (different from NV_primitive_restart) passthru: /* Reuse tokens from ARB_copy_buffer */ use ARB_copy_buffer COPY_READ_BUFFER use ARB_copy_buffer COPY_WRITE_BUFFER passthru: /* Would reuse tokens from ARB_draw_instanced, but it has none */ passthru: /* Reuse tokens from ARB_uniform_buffer_object */ use ARB_uniform_buffer_object UNIFORM_BUFFER use ARB_uniform_buffer_object UNIFORM_BUFFER_BINDING use ARB_uniform_buffer_object UNIFORM_BUFFER_START use ARB_uniform_buffer_object UNIFORM_BUFFER_SIZE use ARB_uniform_buffer_object MAX_VERTEX_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_FRAGMENT_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_COMBINED_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_UNIFORM_BUFFER_BINDINGS use ARB_uniform_buffer_object MAX_UNIFORM_BLOCK_SIZE use ARB_uniform_buffer_object MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS use ARB_uniform_buffer_object MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS use ARB_uniform_buffer_object UNIFORM_BUFFER_OFFSET_ALIGNMENT use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCKS use ARB_uniform_buffer_object UNIFORM_TYPE use ARB_uniform_buffer_object UNIFORM_SIZE use ARB_uniform_buffer_object UNIFORM_NAME_LENGTH use ARB_uniform_buffer_object UNIFORM_BLOCK_INDEX use ARB_uniform_buffer_object UNIFORM_OFFSET use ARB_uniform_buffer_object UNIFORM_ARRAY_STRIDE use ARB_uniform_buffer_object UNIFORM_MATRIX_STRIDE use ARB_uniform_buffer_object UNIFORM_IS_ROW_MAJOR use ARB_uniform_buffer_object UNIFORM_BLOCK_BINDING use ARB_uniform_buffer_object UNIFORM_BLOCK_DATA_SIZE use ARB_uniform_buffer_object UNIFORM_BLOCK_NAME_LENGTH use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORMS use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER use ARB_uniform_buffer_object INVALID_INDEX ############################################################################### # # OpenGL 3.2 enums # ############################################################################### VERSION_3_2 enum: CONTEXT_CORE_PROFILE_BIT = 0x00000001 CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002 LINES_ADJACENCY = 0x000A LINE_STRIP_ADJACENCY = 0x000B TRIANGLES_ADJACENCY = 0x000C TRIANGLE_STRIP_ADJACENCY = 0x000D PROGRAM_POINT_SIZE = 0x8642 MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29 FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7 FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8 GEOMETRY_SHADER = 0x8DD9 GEOMETRY_VERTICES_OUT = 0x8916 GEOMETRY_INPUT_TYPE = 0x8917 GEOMETRY_OUTPUT_TYPE = 0x8918 MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0 MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1 MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122 MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123 MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124 MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125 CONTEXT_PROFILE_MASK = 0x9126 use VERSION_3_0 MAX_VARYING_COMPONENTS use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER passthru: /* Reuse tokens from ARB_depth_clamp */ use ARB_depth_clamp DEPTH_CLAMP passthru: /* Would reuse tokens from ARB_draw_elements_base_vertex, but it has none */ passthru: /* Would reuse tokens from ARB_fragment_coord_conventions, but it has none */ passthru: /* Reuse tokens from ARB_provoking_vertex */ use ARB_provoking_vertex QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION use ARB_provoking_vertex FIRST_VERTEX_CONVENTION use ARB_provoking_vertex LAST_VERTEX_CONVENTION use ARB_provoking_vertex PROVOKING_VERTEX passthru: /* Reuse tokens from ARB_seamless_cube_map */ use ARB_seamless_cube_map TEXTURE_CUBE_MAP_SEAMLESS passthru: /* Reuse tokens from ARB_sync */ use ARB_sync MAX_SERVER_WAIT_TIMEOUT use ARB_sync OBJECT_TYPE use ARB_sync SYNC_CONDITION use ARB_sync SYNC_STATUS use ARB_sync SYNC_FLAGS use ARB_sync SYNC_FENCE use ARB_sync SYNC_GPU_COMMANDS_COMPLETE use ARB_sync UNSIGNALED use ARB_sync SIGNALED use ARB_sync ALREADY_SIGNALED use ARB_sync TIMEOUT_EXPIRED use ARB_sync CONDITION_SATISFIED use ARB_sync WAIT_FAILED use ARB_sync TIMEOUT_IGNORED use ARB_sync SYNC_FLUSH_COMMANDS_BIT use ARB_sync TIMEOUT_IGNORED passthru: /* Reuse tokens from ARB_texture_multisample */ use ARB_texture_multisample SAMPLE_POSITION use ARB_texture_multisample SAMPLE_MASK use ARB_texture_multisample SAMPLE_MASK_VALUE use ARB_texture_multisample MAX_SAMPLE_MASK_WORDS use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE use ARB_texture_multisample PROXY_TEXTURE_2D_MULTISAMPLE use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample TEXTURE_BINDING_2D_MULTISAMPLE use ARB_texture_multisample TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample TEXTURE_SAMPLES use ARB_texture_multisample TEXTURE_FIXED_SAMPLE_LOCATIONS use ARB_texture_multisample SAMPLER_2D_MULTISAMPLE use ARB_texture_multisample INT_SAMPLER_2D_MULTISAMPLE use ARB_texture_multisample UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE use ARB_texture_multisample SAMPLER_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample INT_SAMPLER_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY use ARB_texture_multisample MAX_COLOR_TEXTURE_SAMPLES use ARB_texture_multisample MAX_DEPTH_TEXTURE_SAMPLES use ARB_texture_multisample MAX_INTEGER_SAMPLES passthru: /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ ############################################################################### # # ARB extensions, in ARB extension order # ############################################################################### ############################################################################### # ARB Extension #1 ARB_multitexture enum: TEXTURE0_ARB = 0x84C0 TEXTURE1_ARB = 0x84C1 TEXTURE2_ARB = 0x84C2 TEXTURE3_ARB = 0x84C3 TEXTURE4_ARB = 0x84C4 TEXTURE5_ARB = 0x84C5 TEXTURE6_ARB = 0x84C6 TEXTURE7_ARB = 0x84C7 TEXTURE8_ARB = 0x84C8 TEXTURE9_ARB = 0x84C9 TEXTURE10_ARB = 0x84CA TEXTURE11_ARB = 0x84CB TEXTURE12_ARB = 0x84CC TEXTURE13_ARB = 0x84CD TEXTURE14_ARB = 0x84CE TEXTURE15_ARB = 0x84CF TEXTURE16_ARB = 0x84D0 TEXTURE17_ARB = 0x84D1 TEXTURE18_ARB = 0x84D2 TEXTURE19_ARB = 0x84D3 TEXTURE20_ARB = 0x84D4 TEXTURE21_ARB = 0x84D5 TEXTURE22_ARB = 0x84D6 TEXTURE23_ARB = 0x84D7 TEXTURE24_ARB = 0x84D8 TEXTURE25_ARB = 0x84D9 TEXTURE26_ARB = 0x84DA TEXTURE27_ARB = 0x84DB TEXTURE28_ARB = 0x84DC TEXTURE29_ARB = 0x84DD TEXTURE30_ARB = 0x84DE TEXTURE31_ARB = 0x84DF ACTIVE_TEXTURE_ARB = 0x84E0 # 1 I CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1 # 1 I MAX_TEXTURE_UNITS_ARB = 0x84E2 # 1 I ############################################################################### # No new tokens # ARB Extension #2 - GLX_ARB_get_proc_address ############################################################################### # ARB Extension #3 ARB_transpose_matrix enum: TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3 # 16 F TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4 # 16 F TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5 # 16 F TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 # 16 F ############################################################################### # No new tokens # ARB Extension #4 - WGL_ARB_buffer_region ############################################################################### # ARB Extension #5 ARB_multisample enum: MULTISAMPLE_ARB = 0x809D SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E SAMPLE_ALPHA_TO_ONE_ARB = 0x809F SAMPLE_COVERAGE_ARB = 0x80A0 SAMPLE_BUFFERS_ARB = 0x80A8 SAMPLES_ARB = 0x80A9 SAMPLE_COVERAGE_VALUE_ARB = 0x80AA SAMPLE_COVERAGE_INVERT_ARB = 0x80AB MULTISAMPLE_BIT_ARB = 0x20000000 ############################################################################### # No new tokens # ARB Extension #6 ARB_texture_env_add enum: ############################################################################### # ARB Extension #7 ARB_texture_cube_map enum: NORMAL_MAP_ARB = 0x8511 REFLECTION_MAP_ARB = 0x8512 TEXTURE_CUBE_MAP_ARB = 0x8513 TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514 TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515 TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516 TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517 TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518 TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519 TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C ############################################################################### # No new tokens # ARB Extension #8 - WGL_ARB_extensions_string # ARB Extension #9 - WGL_ARB_pixel_format # ARB Extension #10 - WGL_ARB_make_current_read # ARB Extension #11 - WGL_ARB_pbuffer ############################################################################### # ARB Extension #12 ARB_texture_compression enum: COMPRESSED_ALPHA_ARB = 0x84E9 COMPRESSED_LUMINANCE_ARB = 0x84EA COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB COMPRESSED_INTENSITY_ARB = 0x84EC COMPRESSED_RGB_ARB = 0x84ED COMPRESSED_RGBA_ARB = 0x84EE TEXTURE_COMPRESSION_HINT_ARB = 0x84EF TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0 TEXTURE_COMPRESSED_ARB = 0x86A1 NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2 COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3 ############################################################################### # ARB Extension #13 # Promoted from #36 SGIS_texture_border_clamp ARB_texture_border_clamp enum: CLAMP_TO_BORDER_ARB = 0x812D ############################################################################### # ARB Extension #14 - promoted from #54 EXT_point_parameters # Promoted from #54 {SGIS,EXT}_point_parameters ARB_point_parameters enum: POINT_SIZE_MIN_ARB = 0x8126 # 1 F POINT_SIZE_MAX_ARB = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128 # 1 F POINT_DISTANCE_ATTENUATION_ARB = 0x8129 # 3 F ############################################################################### # ARB Extension #15 ARB_vertex_blend enum: MAX_VERTEX_UNITS_ARB = 0x86A4 ACTIVE_VERTEX_UNITS_ARB = 0x86A5 WEIGHT_SUM_UNITY_ARB = 0x86A6 VERTEX_BLEND_ARB = 0x86A7 CURRENT_WEIGHT_ARB = 0x86A8 WEIGHT_ARRAY_TYPE_ARB = 0x86A9 WEIGHT_ARRAY_STRIDE_ARB = 0x86AA WEIGHT_ARRAY_SIZE_ARB = 0x86AB WEIGHT_ARRAY_POINTER_ARB = 0x86AC WEIGHT_ARRAY_ARB = 0x86AD MODELVIEW0_ARB = 0x1700 MODELVIEW1_ARB = 0x850A MODELVIEW2_ARB = 0x8722 MODELVIEW3_ARB = 0x8723 MODELVIEW4_ARB = 0x8724 MODELVIEW5_ARB = 0x8725 MODELVIEW6_ARB = 0x8726 MODELVIEW7_ARB = 0x8727 MODELVIEW8_ARB = 0x8728 MODELVIEW9_ARB = 0x8729 MODELVIEW10_ARB = 0x872A MODELVIEW11_ARB = 0x872B MODELVIEW12_ARB = 0x872C MODELVIEW13_ARB = 0x872D MODELVIEW14_ARB = 0x872E MODELVIEW15_ARB = 0x872F MODELVIEW16_ARB = 0x8730 MODELVIEW17_ARB = 0x8731 MODELVIEW18_ARB = 0x8732 MODELVIEW19_ARB = 0x8733 MODELVIEW20_ARB = 0x8734 MODELVIEW21_ARB = 0x8735 MODELVIEW22_ARB = 0x8736 MODELVIEW23_ARB = 0x8737 MODELVIEW24_ARB = 0x8738 MODELVIEW25_ARB = 0x8739 MODELVIEW26_ARB = 0x873A MODELVIEW27_ARB = 0x873B MODELVIEW28_ARB = 0x873C MODELVIEW29_ARB = 0x873D MODELVIEW30_ARB = 0x873E MODELVIEW31_ARB = 0x873F ############################################################################### # ARB Extension #16 ARB_matrix_palette enum: MATRIX_PALETTE_ARB = 0x8840 MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841 MAX_PALETTE_MATRICES_ARB = 0x8842 CURRENT_PALETTE_MATRIX_ARB = 0x8843 MATRIX_INDEX_ARRAY_ARB = 0x8844 CURRENT_MATRIX_INDEX_ARB = 0x8845 MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846 MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847 MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848 MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849 ############################################################################### # ARB Extension #17 # Shares enum values with EXT_texture_env_combine ARB_texture_env_combine enum: COMBINE_ARB = 0x8570 COMBINE_RGB_ARB = 0x8571 COMBINE_ALPHA_ARB = 0x8572 SOURCE0_RGB_ARB = 0x8580 SOURCE1_RGB_ARB = 0x8581 SOURCE2_RGB_ARB = 0x8582 SOURCE0_ALPHA_ARB = 0x8588 SOURCE1_ALPHA_ARB = 0x8589 SOURCE2_ALPHA_ARB = 0x858A OPERAND0_RGB_ARB = 0x8590 OPERAND1_RGB_ARB = 0x8591 OPERAND2_RGB_ARB = 0x8592 OPERAND0_ALPHA_ARB = 0x8598 OPERAND1_ALPHA_ARB = 0x8599 OPERAND2_ALPHA_ARB = 0x859A RGB_SCALE_ARB = 0x8573 ADD_SIGNED_ARB = 0x8574 INTERPOLATE_ARB = 0x8575 SUBTRACT_ARB = 0x84E7 CONSTANT_ARB = 0x8576 PRIMARY_COLOR_ARB = 0x8577 PREVIOUS_ARB = 0x8578 ############################################################################### # No new tokens # ARB Extension #18 ARB_texture_env_crossbar enum: ############################################################################### # ARB Extension #19 # Promoted from #220 EXT_texture_env_dot3; enum values changed ARB_texture_env_dot3 enum: DOT3_RGB_ARB = 0x86AE DOT3_RGBA_ARB = 0x86AF ############################################################################### # No new tokens # ARB Extension #20 - WGL_ARB_render_texture ############################################################################### # ARB Extension #21 ARB_texture_mirrored_repeat enum: MIRRORED_REPEAT_ARB = 0x8370 ############################################################################### # ARB Extension #22 ARB_depth_texture enum: DEPTH_COMPONENT16_ARB = 0x81A5 DEPTH_COMPONENT24_ARB = 0x81A6 DEPTH_COMPONENT32_ARB = 0x81A7 TEXTURE_DEPTH_SIZE_ARB = 0x884A DEPTH_TEXTURE_MODE_ARB = 0x884B ############################################################################### # ARB Extension #23 ARB_shadow enum: TEXTURE_COMPARE_MODE_ARB = 0x884C TEXTURE_COMPARE_FUNC_ARB = 0x884D COMPARE_R_TO_TEXTURE_ARB = 0x884E ############################################################################### # ARB Extension #24 ARB_shadow_ambient enum: TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF ############################################################################### # No new tokens # ARB Extension #25 ARB_window_pos enum: ############################################################################### # ARB Extension #26 # ARB_vertex_program enums are shared by ARB_fragment_program are so marked. # Unfortunately, PROGRAM_BINDING_ARB does accidentally reuse 0x8677 - # this was a spec editing typo that's now uncorrectable. ARB_vertex_program enum: COLOR_SUM_ARB = 0x8458 VERTEX_PROGRAM_ARB = 0x8620 VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622 VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623 VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624 VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625 CURRENT_VERTEX_ATTRIB_ARB = 0x8626 PROGRAM_LENGTH_ARB = 0x8627 # shared PROGRAM_STRING_ARB = 0x8628 # shared MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E # shared MAX_PROGRAM_MATRICES_ARB = 0x862F # shared CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 # shared CURRENT_MATRIX_ARB = 0x8641 # shared VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642 VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643 VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645 PROGRAM_ERROR_POSITION_ARB = 0x864B # shared PROGRAM_BINDING_ARB = 0x8677 # shared MAX_VERTEX_ATTRIBS_ARB = 0x8869 VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A PROGRAM_ERROR_STRING_ARB = 0x8874 # shared PROGRAM_FORMAT_ASCII_ARB = 0x8875 # shared PROGRAM_FORMAT_ARB = 0x8876 # shared PROGRAM_INSTRUCTIONS_ARB = 0x88A0 # shared MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1 # shared PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2 # shared MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3 # shared PROGRAM_TEMPORARIES_ARB = 0x88A4 # shared MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5 # shared PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6 # shared MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7 # shared PROGRAM_PARAMETERS_ARB = 0x88A8 # shared MAX_PROGRAM_PARAMETERS_ARB = 0x88A9 # shared PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA # shared MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB # shared PROGRAM_ATTRIBS_ARB = 0x88AC # shared MAX_PROGRAM_ATTRIBS_ARB = 0x88AD # shared PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE # shared MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF # shared PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0 # shared MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1 # shared PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2 # shared MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3 # shared MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4 # shared MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5 # shared PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6 # shared TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7 # shared MATRIX0_ARB = 0x88C0 # shared MATRIX1_ARB = 0x88C1 # shared MATRIX2_ARB = 0x88C2 # shared MATRIX3_ARB = 0x88C3 # shared MATRIX4_ARB = 0x88C4 # shared MATRIX5_ARB = 0x88C5 # shared MATRIX6_ARB = 0x88C6 # shared MATRIX7_ARB = 0x88C7 # shared MATRIX8_ARB = 0x88C8 # shared MATRIX9_ARB = 0x88C9 # shared MATRIX10_ARB = 0x88CA # shared MATRIX11_ARB = 0x88CB # shared MATRIX12_ARB = 0x88CC # shared MATRIX13_ARB = 0x88CD # shared MATRIX14_ARB = 0x88CE # shared MATRIX15_ARB = 0x88CF # shared MATRIX16_ARB = 0x88D0 # shared MATRIX17_ARB = 0x88D1 # shared MATRIX18_ARB = 0x88D2 # shared MATRIX19_ARB = 0x88D3 # shared MATRIX20_ARB = 0x88D4 # shared MATRIX21_ARB = 0x88D5 # shared MATRIX22_ARB = 0x88D6 # shared MATRIX23_ARB = 0x88D7 # shared MATRIX24_ARB = 0x88D8 # shared MATRIX25_ARB = 0x88D9 # shared MATRIX26_ARB = 0x88DA # shared MATRIX27_ARB = 0x88DB # shared MATRIX28_ARB = 0x88DC # shared MATRIX29_ARB = 0x88DD # shared MATRIX30_ARB = 0x88DE # shared MATRIX31_ARB = 0x88DF # shared ############################################################################### # ARB Extension #27 # Some ARB_fragment_program enums are shared with ARB_vertex_program, # and are only included in that #define block, for now. ARB_fragment_program enum: # PROGRAM_LENGTH_ARB = 0x8627 # shared # PROGRAM_STRING_ARB = 0x8628 # shared # MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E # shared # MAX_PROGRAM_MATRICES_ARB = 0x862F # shared # CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 # shared # CURRENT_MATRIX_ARB = 0x8641 # shared # PROGRAM_ERROR_POSITION_ARB = 0x864B # shared # PROGRAM_BINDING_ARB = 0x8677 # shared FRAGMENT_PROGRAM_ARB = 0x8804 PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805 PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806 PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807 PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808 PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809 PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810 MAX_TEXTURE_COORDS_ARB = 0x8871 MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872 # PROGRAM_ERROR_STRING_ARB = 0x8874 # shared # PROGRAM_FORMAT_ASCII_ARB = 0x8875 # shared # PROGRAM_FORMAT_ARB = 0x8876 # shared # PROGRAM_INSTRUCTIONS_ARB = 0x88A0 # shared # MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1 # shared # PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2 # shared # MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3 # shared # PROGRAM_TEMPORARIES_ARB = 0x88A4 # shared # MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5 # shared # PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6 # shared # MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7 # shared # PROGRAM_PARAMETERS_ARB = 0x88A8 # shared # MAX_PROGRAM_PARAMETERS_ARB = 0x88A9 # shared # PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA # shared # MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB # shared # PROGRAM_ATTRIBS_ARB = 0x88AC # shared # MAX_PROGRAM_ATTRIBS_ARB = 0x88AD # shared # PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE # shared # MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF # shared # PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0 # shared # MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1 # shared # PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2 # shared # MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3 # shared # MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4 # shared # MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5 # shared # PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6 # shared # TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7 # shared # MATRIX0_ARB = 0x88C0 # shared # MATRIX1_ARB = 0x88C1 # shared # MATRIX2_ARB = 0x88C2 # shared # MATRIX3_ARB = 0x88C3 # shared # MATRIX4_ARB = 0x88C4 # shared # MATRIX5_ARB = 0x88C5 # shared # MATRIX6_ARB = 0x88C6 # shared # MATRIX7_ARB = 0x88C7 # shared # MATRIX8_ARB = 0x88C8 # shared # MATRIX9_ARB = 0x88C9 # shared # MATRIX10_ARB = 0x88CA # shared # MATRIX11_ARB = 0x88CB # shared # MATRIX12_ARB = 0x88CC # shared # MATRIX13_ARB = 0x88CD # shared # MATRIX14_ARB = 0x88CE # shared # MATRIX15_ARB = 0x88CF # shared # MATRIX16_ARB = 0x88D0 # shared # MATRIX17_ARB = 0x88D1 # shared # MATRIX18_ARB = 0x88D2 # shared # MATRIX19_ARB = 0x88D3 # shared # MATRIX20_ARB = 0x88D4 # shared # MATRIX21_ARB = 0x88D5 # shared # MATRIX22_ARB = 0x88D6 # shared # MATRIX23_ARB = 0x88D7 # shared # MATRIX24_ARB = 0x88D8 # shared # MATRIX25_ARB = 0x88D9 # shared # MATRIX26_ARB = 0x88DA # shared # MATRIX27_ARB = 0x88DB # shared # MATRIX28_ARB = 0x88DC # shared # MATRIX29_ARB = 0x88DD # shared # MATRIX30_ARB = 0x88DE # shared # MATRIX31_ARB = 0x88DF # shared ############################################################################### # ARB Extension #28 ARB_vertex_buffer_object enum: BUFFER_SIZE_ARB = 0x8764 BUFFER_USAGE_ARB = 0x8765 ARRAY_BUFFER_ARB = 0x8892 ELEMENT_ARRAY_BUFFER_ARB = 0x8893 ARRAY_BUFFER_BINDING_ARB = 0x8894 ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895 VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896 NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897 COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898 INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899 TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F READ_ONLY_ARB = 0x88B8 WRITE_ONLY_ARB = 0x88B9 READ_WRITE_ARB = 0x88BA BUFFER_ACCESS_ARB = 0x88BB BUFFER_MAPPED_ARB = 0x88BC BUFFER_MAP_POINTER_ARB = 0x88BD STREAM_DRAW_ARB = 0x88E0 STREAM_READ_ARB = 0x88E1 STREAM_COPY_ARB = 0x88E2 STATIC_DRAW_ARB = 0x88E4 STATIC_READ_ARB = 0x88E5 STATIC_COPY_ARB = 0x88E6 DYNAMIC_DRAW_ARB = 0x88E8 DYNAMIC_READ_ARB = 0x88E9 DYNAMIC_COPY_ARB = 0x88EA ############################################################################### # ARB Extension #29 ARB_occlusion_query enum: QUERY_COUNTER_BITS_ARB = 0x8864 CURRENT_QUERY_ARB = 0x8865 QUERY_RESULT_ARB = 0x8866 QUERY_RESULT_AVAILABLE_ARB = 0x8867 SAMPLES_PASSED_ARB = 0x8914 ############################################################################### # ARB Extension #30 ARB_shader_objects enum: PROGRAM_OBJECT_ARB = 0x8B40 SHADER_OBJECT_ARB = 0x8B48 OBJECT_TYPE_ARB = 0x8B4E OBJECT_SUBTYPE_ARB = 0x8B4F FLOAT_VEC2_ARB = 0x8B50 FLOAT_VEC3_ARB = 0x8B51 FLOAT_VEC4_ARB = 0x8B52 INT_VEC2_ARB = 0x8B53 INT_VEC3_ARB = 0x8B54 INT_VEC4_ARB = 0x8B55 BOOL_ARB = 0x8B56 BOOL_VEC2_ARB = 0x8B57 BOOL_VEC3_ARB = 0x8B58 BOOL_VEC4_ARB = 0x8B59 FLOAT_MAT2_ARB = 0x8B5A FLOAT_MAT3_ARB = 0x8B5B FLOAT_MAT4_ARB = 0x8B5C SAMPLER_1D_ARB = 0x8B5D SAMPLER_2D_ARB = 0x8B5E SAMPLER_3D_ARB = 0x8B5F SAMPLER_CUBE_ARB = 0x8B60 SAMPLER_1D_SHADOW_ARB = 0x8B61 SAMPLER_2D_SHADOW_ARB = 0x8B62 SAMPLER_2D_RECT_ARB = 0x8B63 SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 OBJECT_DELETE_STATUS_ARB = 0x8B80 OBJECT_COMPILE_STATUS_ARB = 0x8B81 OBJECT_LINK_STATUS_ARB = 0x8B82 OBJECT_VALIDATE_STATUS_ARB = 0x8B83 OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 ############################################################################### # ARB Extension #31 # Additional enums are reused from ARB_vertex/fragment_program and ARB_shader_objects ARB_vertex_shader enum: VERTEX_SHADER_ARB = 0x8B31 MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A MAX_VARYING_FLOATS_ARB = 0x8B4B MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89 OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A ############################################################################### # ARB Extension #32 # Additional enums are reused from ARB_fragment_program and ARB_shader_objects ARB_fragment_shader enum: FRAGMENT_SHADER_ARB = 0x8B30 MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49 FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B ############################################################################### # ARB Extension #33 ARB_shading_language_100 enum: SHADING_LANGUAGE_VERSION_ARB = 0x8B8C ############################################################################### # ARB Extension #34 # No new tokens ARB_texture_non_power_of_two enum: ############################################################################### # ARB Extension #35 ARB_point_sprite enum: POINT_SPRITE_ARB = 0x8861 COORD_REPLACE_ARB = 0x8862 ############################################################################### # ARB Extension #36 # No new tokens ARB_fragment_program_shadow enum: ############################################################################### # ARB Extension #37 ARB_draw_buffers enum: MAX_DRAW_BUFFERS_ARB = 0x8824 DRAW_BUFFER0_ARB = 0x8825 DRAW_BUFFER1_ARB = 0x8826 DRAW_BUFFER2_ARB = 0x8827 DRAW_BUFFER3_ARB = 0x8828 DRAW_BUFFER4_ARB = 0x8829 DRAW_BUFFER5_ARB = 0x882A DRAW_BUFFER6_ARB = 0x882B DRAW_BUFFER7_ARB = 0x882C DRAW_BUFFER8_ARB = 0x882D DRAW_BUFFER9_ARB = 0x882E DRAW_BUFFER10_ARB = 0x882F DRAW_BUFFER11_ARB = 0x8830 DRAW_BUFFER12_ARB = 0x8831 DRAW_BUFFER13_ARB = 0x8832 DRAW_BUFFER14_ARB = 0x8833 DRAW_BUFFER15_ARB = 0x8834 ############################################################################### # ARB Extension #38 ARB_texture_rectangle enum: TEXTURE_RECTANGLE_ARB = 0x84F5 TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6 PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7 MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8 ############################################################################### # ARB Extension #39 ARB_color_buffer_float enum: RGBA_FLOAT_MODE_ARB = 0x8820 CLAMP_VERTEX_COLOR_ARB = 0x891A CLAMP_FRAGMENT_COLOR_ARB = 0x891B CLAMP_READ_COLOR_ARB = 0x891C FIXED_ONLY_ARB = 0x891D ############################################################################### # ARB Extension #40 ARB_half_float_pixel enum: HALF_FLOAT_ARB = 0x140B ############################################################################### # ARB Extension #41 ARB_texture_float enum: TEXTURE_RED_TYPE_ARB = 0x8C10 TEXTURE_GREEN_TYPE_ARB = 0x8C11 TEXTURE_BLUE_TYPE_ARB = 0x8C12 TEXTURE_ALPHA_TYPE_ARB = 0x8C13 TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14 TEXTURE_INTENSITY_TYPE_ARB = 0x8C15 TEXTURE_DEPTH_TYPE_ARB = 0x8C16 UNSIGNED_NORMALIZED_ARB = 0x8C17 RGBA32F_ARB = 0x8814 RGB32F_ARB = 0x8815 ALPHA32F_ARB = 0x8816 INTENSITY32F_ARB = 0x8817 LUMINANCE32F_ARB = 0x8818 LUMINANCE_ALPHA32F_ARB = 0x8819 RGBA16F_ARB = 0x881A RGB16F_ARB = 0x881B ALPHA16F_ARB = 0x881C INTENSITY16F_ARB = 0x881D LUMINANCE16F_ARB = 0x881E LUMINANCE_ALPHA16F_ARB = 0x881F ############################################################################### # ARB Extension #42 ARB_pixel_buffer_object enum: PIXEL_PACK_BUFFER_ARB = 0x88EB PIXEL_UNPACK_BUFFER_ARB = 0x88EC PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF ############################################################################### # ARB Extension #43 ARB_depth_buffer_float enum: DEPTH_COMPONENT32F = 0x8CAC DEPTH32F_STENCIL8 = 0x8CAD FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD ############################################################################### # ARB Extension #44 # No new tokens ARB_draw_instanced enum: ############################################################################### # ARB Extension #45 ARB_framebuffer_object enum: INVALID_FRAMEBUFFER_OPERATION = 0x0506 FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 FRAMEBUFFER_DEFAULT = 0x8218 FRAMEBUFFER_UNDEFINED = 0x8219 DEPTH_STENCIL_ATTACHMENT = 0x821A MAX_RENDERBUFFER_SIZE = 0x84E8 DEPTH_STENCIL = 0x84F9 UNSIGNED_INT_24_8 = 0x84FA DEPTH24_STENCIL8 = 0x88F0 TEXTURE_STENCIL_SIZE = 0x88F1 TEXTURE_RED_TYPE = 0x8C10 TEXTURE_GREEN_TYPE = 0x8C11 TEXTURE_BLUE_TYPE = 0x8C12 TEXTURE_ALPHA_TYPE = 0x8C13 TEXTURE_DEPTH_TYPE = 0x8C16 UNSIGNED_NORMALIZED = 0x8C17 FRAMEBUFFER_BINDING = 0x8CA6 DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING RENDERBUFFER_BINDING = 0x8CA7 READ_FRAMEBUFFER = 0x8CA8 DRAW_FRAMEBUFFER = 0x8CA9 READ_FRAMEBUFFER_BINDING = 0x8CAA RENDERBUFFER_SAMPLES = 0x8CAB FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 FRAMEBUFFER_COMPLETE = 0x8CD5 FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC FRAMEBUFFER_UNSUPPORTED = 0x8CDD MAX_COLOR_ATTACHMENTS = 0x8CDF COLOR_ATTACHMENT0 = 0x8CE0 COLOR_ATTACHMENT1 = 0x8CE1 COLOR_ATTACHMENT2 = 0x8CE2 COLOR_ATTACHMENT3 = 0x8CE3 COLOR_ATTACHMENT4 = 0x8CE4 COLOR_ATTACHMENT5 = 0x8CE5 COLOR_ATTACHMENT6 = 0x8CE6 COLOR_ATTACHMENT7 = 0x8CE7 COLOR_ATTACHMENT8 = 0x8CE8 COLOR_ATTACHMENT9 = 0x8CE9 COLOR_ATTACHMENT10 = 0x8CEA COLOR_ATTACHMENT11 = 0x8CEB COLOR_ATTACHMENT12 = 0x8CEC COLOR_ATTACHMENT13 = 0x8CED COLOR_ATTACHMENT14 = 0x8CEE COLOR_ATTACHMENT15 = 0x8CEF DEPTH_ATTACHMENT = 0x8D00 STENCIL_ATTACHMENT = 0x8D20 FRAMEBUFFER = 0x8D40 RENDERBUFFER = 0x8D41 RENDERBUFFER_WIDTH = 0x8D42 RENDERBUFFER_HEIGHT = 0x8D43 RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 STENCIL_INDEX1 = 0x8D46 STENCIL_INDEX4 = 0x8D47 STENCIL_INDEX8 = 0x8D48 STENCIL_INDEX16 = 0x8D49 RENDERBUFFER_RED_SIZE = 0x8D50 RENDERBUFFER_GREEN_SIZE = 0x8D51 RENDERBUFFER_BLUE_SIZE = 0x8D52 RENDERBUFFER_ALPHA_SIZE = 0x8D53 RENDERBUFFER_DEPTH_SIZE = 0x8D54 RENDERBUFFER_STENCIL_SIZE = 0x8D55 FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 MAX_SAMPLES = 0x8D57 ARB_framebuffer_object_DEPRECATED enum: INDEX = 0x8222 TEXTURE_LUMINANCE_TYPE = 0x8C14 TEXTURE_INTENSITY_TYPE = 0x8C15 ############################################################################### # ARB Extension #46 ARB_framebuffer_sRGB enum: FRAMEBUFFER_SRGB = 0x8DB9 ############################################################################### # ARB Extension #47 ARB_geometry_shader4 enum: LINES_ADJACENCY_ARB = 0x000A LINE_STRIP_ADJACENCY_ARB = 0x000B TRIANGLES_ADJACENCY_ARB = 0x000C TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D PROGRAM_POINT_SIZE_ARB = 0x8642 MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29 FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7 FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8 FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9 GEOMETRY_SHADER_ARB = 0x8DD9 GEOMETRY_VERTICES_OUT_ARB = 0x8DDA GEOMETRY_INPUT_TYPE_ARB = 0x8DDB GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0 MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1 use VERSION_3_0 MAX_VARYING_COMPONENTS use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER ############################################################################### # ARB Extension #48 ARB_half_float_vertex enum: HALF_FLOAT = 0x140B ############################################################################### # ARB Extension #49 ARB_instanced_arrays enum: VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE ############################################################################### # ARB Extension #50 ARB_map_buffer_range enum: MAP_READ_BIT = 0x0001 MAP_WRITE_BIT = 0x0002 MAP_INVALIDATE_RANGE_BIT = 0x0004 MAP_INVALIDATE_BUFFER_BIT = 0x0008 MAP_FLUSH_EXPLICIT_BIT = 0x0010 MAP_UNSYNCHRONIZED_BIT = 0x0020 ############################################################################### # ARB Extension #51 ARB_texture_buffer_object enum: TEXTURE_BUFFER_ARB = 0x8C2A MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B TEXTURE_BINDING_BUFFER_ARB = 0x8C2C TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E ############################################################################### # ARB Extension #52 ARB_texture_compression_rgtc enum: COMPRESSED_RED_RGTC1 = 0x8DBB COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC COMPRESSED_RG_RGTC2 = 0x8DBD COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE ############################################################################### # ARB Extension #53 ARB_texture_rg enum: RG = 0x8227 RG_INTEGER = 0x8228 R8 = 0x8229 R16 = 0x822A RG8 = 0x822B RG16 = 0x822C R16F = 0x822D R32F = 0x822E RG16F = 0x822F RG32F = 0x8230 R8I = 0x8231 R8UI = 0x8232 R16I = 0x8233 R16UI = 0x8234 R32I = 0x8235 R32UI = 0x8236 RG8I = 0x8237 RG8UI = 0x8238 RG16I = 0x8239 RG16UI = 0x823A RG32I = 0x823B RG32UI = 0x823C ############################################################################### # ARB Extension #54 ARB_vertex_array_object enum: VERTEX_ARRAY_BINDING = 0x85B5 ############################################################################### # No new tokens # ARB Extension #55 - WGL_ARB_create_context # ARB Extension #56 - GLX_ARB_create_context ############################################################################### # ARB Extension #57 ARB_uniform_buffer_object enum: UNIFORM_BUFFER = 0x8A11 UNIFORM_BUFFER_BINDING = 0x8A28 UNIFORM_BUFFER_START = 0x8A29 UNIFORM_BUFFER_SIZE = 0x8A2A MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F MAX_UNIFORM_BLOCK_SIZE = 0x8A30 MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31 MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32 MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33 UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34 ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35 ACTIVE_UNIFORM_BLOCKS = 0x8A36 UNIFORM_TYPE = 0x8A37 UNIFORM_SIZE = 0x8A38 UNIFORM_NAME_LENGTH = 0x8A39 UNIFORM_BLOCK_INDEX = 0x8A3A UNIFORM_OFFSET = 0x8A3B UNIFORM_ARRAY_STRIDE = 0x8A3C UNIFORM_MATRIX_STRIDE = 0x8A3D UNIFORM_IS_ROW_MAJOR = 0x8A3E UNIFORM_BLOCK_BINDING = 0x8A3F UNIFORM_BLOCK_DATA_SIZE = 0x8A40 UNIFORM_BLOCK_NAME_LENGTH = 0x8A41 UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42 UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43 UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44 UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45 UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46 INVALID_INDEX = 0xFFFFFFFFu ############################################################################### # ARB Extension #58 # No new tokens ARB_compatibility enum: passthru: /* ARB_compatibility just defines tokens from core 3.0 */ ############################################################################### # ARB Extension #59 ARB_copy_buffer enum: COPY_READ_BUFFER = 0x8F36 COPY_WRITE_BUFFER = 0x8F37 ############################################################################### # ARB Extension #60 # No new tokens ARB_shader_texture_lod enum: ############################################################################### # ARB Extension #61 ARB_depth_clamp enum: DEPTH_CLAMP = 0x864F ############################################################################### # No new tokens # ARB Extension #62 ARB_draw_elements_base_vertex enum: ############################################################################### # No new tokens # ARB Extension #63 ARB_fragment_coord_conventions enum: ############################################################################### # ARB Extension #64 ARB_provoking_vertex enum: QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C FIRST_VERTEX_CONVENTION = 0x8E4D LAST_VERTEX_CONVENTION = 0x8E4E PROVOKING_VERTEX = 0x8E4F ############################################################################### # ARB Extension #65 ARB_seamless_cube_map enum: TEXTURE_CUBE_MAP_SEAMLESS = 0x884F ############################################################################### # ARB Extension #66 ARB_sync enum: MAX_SERVER_WAIT_TIMEOUT = 0x9111 OBJECT_TYPE = 0x9112 SYNC_CONDITION = 0x9113 SYNC_STATUS = 0x9114 SYNC_FLAGS = 0x9115 SYNC_FENCE = 0x9116 SYNC_GPU_COMMANDS_COMPLETE = 0x9117 UNSIGNALED = 0x9118 SIGNALED = 0x9119 ALREADY_SIGNALED = 0x911A TIMEOUT_EXPIRED = 0x911B CONDITION_SATISFIED = 0x911C WAIT_FAILED = 0x911D SYNC_FLUSH_COMMANDS_BIT = 0x00000001 TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFull ############################################################################### # ARB Extension #67 ARB_texture_multisample enum: SAMPLE_POSITION = 0x8E50 SAMPLE_MASK = 0x8E51 SAMPLE_MASK_VALUE = 0x8E52 MAX_SAMPLE_MASK_WORDS = 0x8E59 TEXTURE_2D_MULTISAMPLE = 0x9100 PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 TEXTURE_SAMPLES = 0x9106 TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 SAMPLER_2D_MULTISAMPLE = 0x9108 INT_SAMPLER_2D_MULTISAMPLE = 0x9109 UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D MAX_COLOR_TEXTURE_SAMPLES = 0x910E MAX_DEPTH_TEXTURE_SAMPLES = 0x910F MAX_INTEGER_SAMPLES = 0x9110 ############################################################################### # ARB Extension #68 ARB_vertex_array_bgra enum: use VERSION_1_2 BGRA ############################################################################### # No new tokens # ARB Extension #69 ARB_draw_buffers_blend enum: ############################################################################### # ARB Extension #70 ARB_sample_shading enum: SAMPLE_SHADING = 0x8C36 MIN_SAMPLE_SHADING_VALUE = 0x8C37 ############################################################################### # ARB Extension #71 ARB_texture_cube_map_array enum: TEXTURE_CUBE_MAP_ARRAY = 0x9009 TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B SAMPLER_CUBE_MAP_ARRAY = 0x900C SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F ############################################################################### # ARB Extension #72 ARB_texture_gather enum: MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F ############################################################################### # No new tokens # ARB Extension #73 ARB_texture_query_lod enum: ############################################################################### # No new tokens # ARB Extension #74 - WGL_ARB_create_context_profile # ARB Extension #75 - GLX_ARB_create_context_profile ############################################################################### # # non-ARB extensions follow, in registry order # ############################################################################### ############################################################################### # Extension #1 EXT_abgr enum: ABGR_EXT = 0x8000 ############################################################################### # Extension #2 EXT_blend_color enum: CONSTANT_COLOR_EXT = 0x8001 ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002 CONSTANT_ALPHA_EXT = 0x8003 ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004 BLEND_COLOR_EXT = 0x8005 # 4 F ############################################################################### # Extension #3 EXT_polygon_offset enum: POLYGON_OFFSET_EXT = 0x8037 POLYGON_OFFSET_FACTOR_EXT = 0x8038 POLYGON_OFFSET_BIAS_EXT = 0x8039 # 1 F ############################################################################### # Extension #4 EXT_texture enum: ALPHA4_EXT = 0x803B ALPHA8_EXT = 0x803C ALPHA12_EXT = 0x803D ALPHA16_EXT = 0x803E LUMINANCE4_EXT = 0x803F LUMINANCE8_EXT = 0x8040 LUMINANCE12_EXT = 0x8041 LUMINANCE16_EXT = 0x8042 LUMINANCE4_ALPHA4_EXT = 0x8043 LUMINANCE6_ALPHA2_EXT = 0x8044 LUMINANCE8_ALPHA8_EXT = 0x8045 LUMINANCE12_ALPHA4_EXT = 0x8046 LUMINANCE12_ALPHA12_EXT = 0x8047 LUMINANCE16_ALPHA16_EXT = 0x8048 INTENSITY_EXT = 0x8049 INTENSITY4_EXT = 0x804A INTENSITY8_EXT = 0x804B INTENSITY12_EXT = 0x804C INTENSITY16_EXT = 0x804D RGB2_EXT = 0x804E RGB4_EXT = 0x804F RGB5_EXT = 0x8050 RGB8_EXT = 0x8051 RGB10_EXT = 0x8052 RGB12_EXT = 0x8053 RGB16_EXT = 0x8054 RGBA2_EXT = 0x8055 RGBA4_EXT = 0x8056 RGB5_A1_EXT = 0x8057 RGBA8_EXT = 0x8058 RGB10_A2_EXT = 0x8059 RGBA12_EXT = 0x805A RGBA16_EXT = 0x805B TEXTURE_RED_SIZE_EXT = 0x805C TEXTURE_GREEN_SIZE_EXT = 0x805D TEXTURE_BLUE_SIZE_EXT = 0x805E TEXTURE_ALPHA_SIZE_EXT = 0x805F TEXTURE_LUMINANCE_SIZE_EXT = 0x8060 TEXTURE_INTENSITY_SIZE_EXT = 0x8061 REPLACE_EXT = 0x8062 PROXY_TEXTURE_1D_EXT = 0x8063 PROXY_TEXTURE_2D_EXT = 0x8064 TEXTURE_TOO_LARGE_EXT = 0x8065 ############################################################################### # Extension #5 - skipped ############################################################################### # Extension #6 EXT_texture3D enum: PACK_SKIP_IMAGES_EXT = 0x806B # 1 I PACK_IMAGE_HEIGHT_EXT = 0x806C # 1 F UNPACK_SKIP_IMAGES_EXT = 0x806D # 1 I UNPACK_IMAGE_HEIGHT_EXT = 0x806E # 1 F TEXTURE_3D_EXT = 0x806F # 1 I PROXY_TEXTURE_3D_EXT = 0x8070 TEXTURE_DEPTH_EXT = 0x8071 TEXTURE_WRAP_R_EXT = 0x8072 MAX_3D_TEXTURE_SIZE_EXT = 0x8073 # 1 I ############################################################################### # Extension #7 SGIS_texture_filter4 enum: FILTER4_SGIS = 0x8146 TEXTURE_FILTER4_SIZE_SGIS = 0x8147 ############################################################################### # Extension #8 - skipped ############################################################################### # No new tokens # Extension #9 EXT_subtexture enum: ############################################################################### # No new tokens # Extension #10 EXT_copy_texture enum: ############################################################################### # Extension #11 EXT_histogram enum: HISTOGRAM_EXT = 0x8024 # 1 I PROXY_HISTOGRAM_EXT = 0x8025 HISTOGRAM_WIDTH_EXT = 0x8026 HISTOGRAM_FORMAT_EXT = 0x8027 HISTOGRAM_RED_SIZE_EXT = 0x8028 HISTOGRAM_GREEN_SIZE_EXT = 0x8029 HISTOGRAM_BLUE_SIZE_EXT = 0x802A HISTOGRAM_ALPHA_SIZE_EXT = 0x802B HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C HISTOGRAM_SINK_EXT = 0x802D MINMAX_EXT = 0x802E # 1 I MINMAX_FORMAT_EXT = 0x802F MINMAX_SINK_EXT = 0x8030 TABLE_TOO_LARGE_EXT = 0x8031 ############################################################################### # Extension #12 EXT_convolution enum: CONVOLUTION_1D_EXT = 0x8010 # 1 I CONVOLUTION_2D_EXT = 0x8011 # 1 I SEPARABLE_2D_EXT = 0x8012 # 1 I CONVOLUTION_BORDER_MODE_EXT = 0x8013 CONVOLUTION_FILTER_SCALE_EXT = 0x8014 CONVOLUTION_FILTER_BIAS_EXT = 0x8015 REDUCE_EXT = 0x8016 CONVOLUTION_FORMAT_EXT = 0x8017 CONVOLUTION_WIDTH_EXT = 0x8018 CONVOLUTION_HEIGHT_EXT = 0x8019 MAX_CONVOLUTION_WIDTH_EXT = 0x801A MAX_CONVOLUTION_HEIGHT_EXT = 0x801B POST_CONVOLUTION_RED_SCALE_EXT = 0x801C # 1 F POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D # 1 F POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E # 1 F POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F # 1 F POST_CONVOLUTION_RED_BIAS_EXT = 0x8020 # 1 F POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021 # 1 F POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022 # 1 F POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 # 1 F ############################################################################### # Extension #13 SGI_color_matrix enum: COLOR_MATRIX_SGI = 0x80B1 # 16 F COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2 # 1 I MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3 # 1 I POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4 # 1 F POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5 # 1 F POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6 # 1 F POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7 # 1 F POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8 # 1 F POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9 # 1 F POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA # 1 F POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB # 1 F ############################################################################### # Extension #14 SGI_color_table enum: COLOR_TABLE_SGI = 0x80D0 # 1 I POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 # 1 I POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 # 1 I PROXY_COLOR_TABLE_SGI = 0x80D3 PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4 PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5 COLOR_TABLE_SCALE_SGI = 0x80D6 COLOR_TABLE_BIAS_SGI = 0x80D7 COLOR_TABLE_FORMAT_SGI = 0x80D8 COLOR_TABLE_WIDTH_SGI = 0x80D9 COLOR_TABLE_RED_SIZE_SGI = 0x80DA COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF ############################################################################### # Extension #15 SGIS_pixel_texture enum: PIXEL_TEXTURE_SGIS = 0x8353 # 1 I PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 # 1 I PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 # 1 I PIXEL_GROUP_COLOR_SGIS = 0x8356 # 1 I ############################################################################### # Extension #15a SGIX_pixel_texture enum: PIXEL_TEX_GEN_SGIX = 0x8139 # 1 I PIXEL_TEX_GEN_MODE_SGIX = 0x832B # 1 I ############################################################################### # Extension #16 SGIS_texture4D enum: PACK_SKIP_VOLUMES_SGIS = 0x8130 # 1 I PACK_IMAGE_DEPTH_SGIS = 0x8131 # 1 I UNPACK_SKIP_VOLUMES_SGIS = 0x8132 # 1 I UNPACK_IMAGE_DEPTH_SGIS = 0x8133 # 1 I TEXTURE_4D_SGIS = 0x8134 # 1 I PROXY_TEXTURE_4D_SGIS = 0x8135 TEXTURE_4DSIZE_SGIS = 0x8136 TEXTURE_WRAP_Q_SGIS = 0x8137 MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 # 1 I TEXTURE_4D_BINDING_SGIS = 0x814F # 1 I ############################################################################### # Extension #17 SGI_texture_color_table enum: TEXTURE_COLOR_TABLE_SGI = 0x80BC # 1 I PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD ############################################################################### # Extension #18 EXT_cmyka enum: CMYK_EXT = 0x800C CMYKA_EXT = 0x800D PACK_CMYK_HINT_EXT = 0x800E # 1 I UNPACK_CMYK_HINT_EXT = 0x800F # 1 I ############################################################################### # Extension #19 - skipped ############################################################################### # Extension #20 EXT_texture_object enum: TEXTURE_PRIORITY_EXT = 0x8066 TEXTURE_RESIDENT_EXT = 0x8067 TEXTURE_1D_BINDING_EXT = 0x8068 TEXTURE_2D_BINDING_EXT = 0x8069 TEXTURE_3D_BINDING_EXT = 0x806A # 1 I ############################################################################### # Extension #21 SGIS_detail_texture enum: DETAIL_TEXTURE_2D_SGIS = 0x8095 DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096 # 1 I LINEAR_DETAIL_SGIS = 0x8097 LINEAR_DETAIL_ALPHA_SGIS = 0x8098 LINEAR_DETAIL_COLOR_SGIS = 0x8099 DETAIL_TEXTURE_LEVEL_SGIS = 0x809A DETAIL_TEXTURE_MODE_SGIS = 0x809B DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C ############################################################################### # Extension #22 SGIS_sharpen_texture enum: LINEAR_SHARPEN_SGIS = 0x80AD LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE LINEAR_SHARPEN_COLOR_SGIS = 0x80AF SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0 ############################################################################### # Extension #23 EXT_packed_pixels enum: UNSIGNED_BYTE_3_3_2_EXT = 0x8032 UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033 UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034 UNSIGNED_INT_8_8_8_8_EXT = 0x8035 UNSIGNED_INT_10_10_10_2_EXT = 0x8036 ############################################################################### # Extension #24 SGIS_texture_lod enum: TEXTURE_MIN_LOD_SGIS = 0x813A TEXTURE_MAX_LOD_SGIS = 0x813B TEXTURE_BASE_LEVEL_SGIS = 0x813C TEXTURE_MAX_LEVEL_SGIS = 0x813D ############################################################################### # Extension #25 SGIS_multisample enum: MULTISAMPLE_SGIS = 0x809D # 1 I SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E # 1 I SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F # 1 I SAMPLE_MASK_SGIS = 0x80A0 # 1 I 1PASS_SGIS = 0x80A1 2PASS_0_SGIS = 0x80A2 2PASS_1_SGIS = 0x80A3 4PASS_0_SGIS = 0x80A4 4PASS_1_SGIS = 0x80A5 4PASS_2_SGIS = 0x80A6 4PASS_3_SGIS = 0x80A7 SAMPLE_BUFFERS_SGIS = 0x80A8 # 1 I SAMPLES_SGIS = 0x80A9 # 1 I SAMPLE_MASK_VALUE_SGIS = 0x80AA # 1 F SAMPLE_MASK_INVERT_SGIS = 0x80AB # 1 I SAMPLE_PATTERN_SGIS = 0x80AC # 1 I ############################################################################### # Extension #26 - no specification? # SGIS_premultiply_blend enum: ############################################################################## # Extension #27 # Diamond ships an otherwise identical IBM_rescale_normal extension; # Dan Brokenshire says this is deprecated and should not be advertised. EXT_rescale_normal enum: RESCALE_NORMAL_EXT = 0x803A # 1 I ############################################################################### # Extension #28 - GLX_EXT_visual_info ############################################################################### # Extension #29 - skipped ############################################################################### # Extension #30 EXT_vertex_array enum: VERTEX_ARRAY_EXT = 0x8074 NORMAL_ARRAY_EXT = 0x8075 COLOR_ARRAY_EXT = 0x8076 INDEX_ARRAY_EXT = 0x8077 TEXTURE_COORD_ARRAY_EXT = 0x8078 EDGE_FLAG_ARRAY_EXT = 0x8079 VERTEX_ARRAY_SIZE_EXT = 0x807A VERTEX_ARRAY_TYPE_EXT = 0x807B VERTEX_ARRAY_STRIDE_EXT = 0x807C VERTEX_ARRAY_COUNT_EXT = 0x807D # 1 I NORMAL_ARRAY_TYPE_EXT = 0x807E NORMAL_ARRAY_STRIDE_EXT = 0x807F NORMAL_ARRAY_COUNT_EXT = 0x8080 # 1 I COLOR_ARRAY_SIZE_EXT = 0x8081 COLOR_ARRAY_TYPE_EXT = 0x8082 COLOR_ARRAY_STRIDE_EXT = 0x8083 COLOR_ARRAY_COUNT_EXT = 0x8084 # 1 I INDEX_ARRAY_TYPE_EXT = 0x8085 INDEX_ARRAY_STRIDE_EXT = 0x8086 INDEX_ARRAY_COUNT_EXT = 0x8087 # 1 I TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088 TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089 TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B # 1 I EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D # 1 I VERTEX_ARRAY_POINTER_EXT = 0x808E NORMAL_ARRAY_POINTER_EXT = 0x808F COLOR_ARRAY_POINTER_EXT = 0x8090 INDEX_ARRAY_POINTER_EXT = 0x8091 TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092 EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 ############################################################################### # Extension #31 EXT_misc_attribute enum: # MISC_BIT = 0x???? ############################################################################### # Extension #32 SGIS_generate_mipmap enum: GENERATE_MIPMAP_SGIS = 0x8191 GENERATE_MIPMAP_HINT_SGIS = 0x8192 # 1 I ############################################################################### # Extension #33 SGIX_clipmap enum: LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170 TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171 TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172 TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173 TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174 TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175 TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176 MAX_CLIPMAP_DEPTH_SGIX = 0x8177 # 1 I MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178 # 1 I NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F ############################################################################### # Extension #34 SGIX_shadow enum: TEXTURE_COMPARE_SGIX = 0x819A TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B TEXTURE_LEQUAL_R_SGIX = 0x819C TEXTURE_GEQUAL_R_SGIX = 0x819D ############################################################################### # Extension #35 SGIS_texture_edge_clamp enum: CLAMP_TO_EDGE_SGIS = 0x812F ############################################################################### # Extension #36 # Promoted to ARB_texture_border_clamp SGIS_texture_border_clamp enum: CLAMP_TO_BORDER_SGIS = 0x812D ############################################################################### # Extension #37 EXT_blend_minmax enum: FUNC_ADD_EXT = 0x8006 MIN_EXT = 0x8007 MAX_EXT = 0x8008 BLEND_EQUATION_EXT = 0x8009 # 1 I ############################################################################### # Extension #38 EXT_blend_subtract enum: FUNC_SUBTRACT_EXT = 0x800A FUNC_REVERSE_SUBTRACT_EXT = 0x800B ############################################################################### # No new tokens # Extension #39 EXT_blend_logic_op enum: ############################################################################### # Extension #40 - GLX_SGI_swap_control # Extension #41 - GLX_SGI_video_sync # Extension #42 - GLX_SGI_make_current_read # Extension #43 - GLX_SGIX_video_source # Extension #44 - GLX_EXT_visual_rating ############################################################################### # Extension #45 SGIX_interlace enum: INTERLACE_SGIX = 0x8094 # 1 I ############################################################################### # Extension #46 SGIX_pixel_tiles enum: PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E # 1 I PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F # 1 I PIXEL_TILE_WIDTH_SGIX = 0x8140 # 1 I PIXEL_TILE_HEIGHT_SGIX = 0x8141 # 1 I PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142 # 1 I PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143 # 1 I PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144 # 1 I PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145 # 1 I ############################################################################### # Extension #47 - GLX_EXT_import_context ############################################################################### # Extension #48 - skipped ############################################################################### # Extension #49 - GLX_SGIX_fbconfig # Extension #50 - GLX_SGIX_pbuffer ############################################################################### # Extension #51 SGIS_texture_select enum: DUAL_ALPHA4_SGIS = 0x8110 DUAL_ALPHA8_SGIS = 0x8111 DUAL_ALPHA12_SGIS = 0x8112 DUAL_ALPHA16_SGIS = 0x8113 DUAL_LUMINANCE4_SGIS = 0x8114 DUAL_LUMINANCE8_SGIS = 0x8115 DUAL_LUMINANCE12_SGIS = 0x8116 DUAL_LUMINANCE16_SGIS = 0x8117 DUAL_INTENSITY4_SGIS = 0x8118 DUAL_INTENSITY8_SGIS = 0x8119 DUAL_INTENSITY12_SGIS = 0x811A DUAL_INTENSITY16_SGIS = 0x811B DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D QUAD_ALPHA4_SGIS = 0x811E QUAD_ALPHA8_SGIS = 0x811F QUAD_LUMINANCE4_SGIS = 0x8120 QUAD_LUMINANCE8_SGIS = 0x8121 QUAD_INTENSITY4_SGIS = 0x8122 QUAD_INTENSITY8_SGIS = 0x8123 DUAL_TEXTURE_SELECT_SGIS = 0x8124 QUAD_TEXTURE_SELECT_SGIS = 0x8125 ############################################################################### # Extension #52 SGIX_sprite enum: SPRITE_SGIX = 0x8148 # 1 I SPRITE_MODE_SGIX = 0x8149 # 1 I SPRITE_AXIS_SGIX = 0x814A # 3 F SPRITE_TRANSLATION_SGIX = 0x814B # 3 F SPRITE_AXIAL_SGIX = 0x814C SPRITE_OBJECT_ALIGNED_SGIX = 0x814D SPRITE_EYE_ALIGNED_SGIX = 0x814E ############################################################################### # Extension #53 SGIX_texture_multi_buffer enum: TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E ############################################################################### # Extension #54 # EXT form promoted from SGIS form; both are included EXT_point_parameters enum: POINT_SIZE_MIN_EXT = 0x8126 # 1 F POINT_SIZE_MAX_EXT = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128 # 1 F DISTANCE_ATTENUATION_EXT = 0x8129 # 3 F SGIS_point_parameters enum: POINT_SIZE_MIN_SGIS = 0x8126 # 1 F POINT_SIZE_MAX_SGIS = 0x8127 # 1 F POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128 # 1 F DISTANCE_ATTENUATION_SGIS = 0x8129 # 3 F ############################################################################### # Extension #55 SGIX_instruments enum: INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180 INSTRUMENT_MEASUREMENTS_SGIX = 0x8181 # 1 I ############################################################################### # Extension #56 SGIX_texture_scale_bias enum: POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179 POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B # 2 F POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C # 2 F ############################################################################### # Extension #57 SGIX_framezoom enum: FRAMEZOOM_SGIX = 0x818B # 1 I FRAMEZOOM_FACTOR_SGIX = 0x818C # 1 I MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D # 1 I ############################################################################### # No new tokens # Extension #58 SGIX_tag_sample_buffer enum: ############################################################################### # Extension #59 FfdMaskSGIX enum: TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001 GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002 SGIX_polynomial_ffd enum: GEOMETRY_DEFORMATION_SGIX = 0x8194 TEXTURE_DEFORMATION_SGIX = 0x8195 DEFORMATIONS_MASK_SGIX = 0x8196 # 1 I MAX_DEFORMATION_ORDER_SGIX = 0x8197 ############################################################################### # Extension #60 SGIX_reference_plane enum: REFERENCE_PLANE_SGIX = 0x817D # 1 I REFERENCE_PLANE_EQUATION_SGIX = 0x817E # 4 F ############################################################################### # No new tokens # Extension #61 SGIX_flush_raster enum: ############################################################################### # Extension #62 - GLX_SGIX_cushion ############################################################################### # Extension #63 SGIX_depth_texture enum: DEPTH_COMPONENT16_SGIX = 0x81A5 DEPTH_COMPONENT24_SGIX = 0x81A6 DEPTH_COMPONENT32_SGIX = 0x81A7 ############################################################################### # Extension #64 SGIS_fog_function enum: FOG_FUNC_SGIS = 0x812A FOG_FUNC_POINTS_SGIS = 0x812B # 1 I MAX_FOG_FUNC_POINTS_SGIS = 0x812C # 1 I ############################################################################### # Extension #65 SGIX_fog_offset enum: FOG_OFFSET_SGIX = 0x8198 # 1 I FOG_OFFSET_VALUE_SGIX = 0x8199 # 4 F ############################################################################### # Extension #66 HP_image_transform enum: IMAGE_SCALE_X_HP = 0x8155 IMAGE_SCALE_Y_HP = 0x8156 IMAGE_TRANSLATE_X_HP = 0x8157 IMAGE_TRANSLATE_Y_HP = 0x8158 IMAGE_ROTATE_ANGLE_HP = 0x8159 IMAGE_ROTATE_ORIGIN_X_HP = 0x815A IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B IMAGE_MAG_FILTER_HP = 0x815C IMAGE_MIN_FILTER_HP = 0x815D IMAGE_CUBIC_WEIGHT_HP = 0x815E CUBIC_HP = 0x815F AVERAGE_HP = 0x8160 IMAGE_TRANSFORM_2D_HP = 0x8161 POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162 PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163 ############################################################################### # Extension #67 HP_convolution_border_modes enum: IGNORE_BORDER_HP = 0x8150 CONSTANT_BORDER_HP = 0x8151 REPLICATE_BORDER_HP = 0x8153 CONVOLUTION_BORDER_COLOR_HP = 0x8154 ############################################################################### # Extension #68 # (Unknown token values???) INGR_palette_buffer enum: ############################################################################### # Extension #69 SGIX_texture_add_env enum: TEXTURE_ENV_BIAS_SGIX = 0x80BE ############################################################################### # Extension #70 - skipped # Extension #71 - skipped # Extension #72 - skipped # Extension #73 - skipped ############################################################################### # No new tokens # Extension #74 EXT_color_subtable enum: ############################################################################### # Extension #75 - GLU_EXT_object_space_tess ############################################################################### # Extension #76 PGI_vertex_hints enum: VERTEX_DATA_HINT_PGI = 0x1A22A VERTEX_CONSISTENT_HINT_PGI = 0x1A22B MATERIAL_SIDE_HINT_PGI = 0x1A22C MAX_VERTEX_HINT_PGI = 0x1A22D COLOR3_BIT_PGI = 0x00010000 COLOR4_BIT_PGI = 0x00020000 EDGEFLAG_BIT_PGI = 0x00040000 INDEX_BIT_PGI = 0x00080000 MAT_AMBIENT_BIT_PGI = 0x00100000 MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000 MAT_DIFFUSE_BIT_PGI = 0x00400000 MAT_EMISSION_BIT_PGI = 0x00800000 MAT_COLOR_INDEXES_BIT_PGI = 0x01000000 MAT_SHININESS_BIT_PGI = 0x02000000 MAT_SPECULAR_BIT_PGI = 0x04000000 NORMAL_BIT_PGI = 0x08000000 TEXCOORD1_BIT_PGI = 0x10000000 TEXCOORD2_BIT_PGI = 0x20000000 TEXCOORD3_BIT_PGI = 0x40000000 TEXCOORD4_BIT_PGI = 0x80000000 VERTEX23_BIT_PGI = 0x00000004 VERTEX4_BIT_PGI = 0x00000008 ############################################################################### # Extension #77 PGI_misc_hints enum: PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8 CONSERVE_MEMORY_HINT_PGI = 0x1A1FD RECLAIM_MEMORY_HINT_PGI = 0x1A1FE NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202 NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203 NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204 ALWAYS_FAST_HINT_PGI = 0x1A20C ALWAYS_SOFT_HINT_PGI = 0x1A20D ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F ALLOW_DRAW_FRG_HINT_PGI = 0x1A210 ALLOW_DRAW_MEM_HINT_PGI = 0x1A211 STRICT_DEPTHFUNC_HINT_PGI = 0x1A216 STRICT_LIGHTING_HINT_PGI = 0x1A217 STRICT_SCISSOR_HINT_PGI = 0x1A218 FULL_STIPPLE_HINT_PGI = 0x1A219 CLIP_NEAR_HINT_PGI = 0x1A220 CLIP_FAR_HINT_PGI = 0x1A221 WIDE_LINE_HINT_PGI = 0x1A222 BACK_NORMALS_HINT_PGI = 0x1A223 ############################################################################### # Extension #78 EXT_paletted_texture enum: COLOR_INDEX1_EXT = 0x80E2 COLOR_INDEX2_EXT = 0x80E3 COLOR_INDEX4_EXT = 0x80E4 COLOR_INDEX8_EXT = 0x80E5 COLOR_INDEX12_EXT = 0x80E6 COLOR_INDEX16_EXT = 0x80E7 TEXTURE_INDEX_SIZE_EXT = 0x80ED ############################################################################### # Extension #79 EXT_clip_volume_hint enum: CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0 ############################################################################### # Extension #80 SGIX_list_priority enum: LIST_PRIORITY_SGIX = 0x8182 ############################################################################### # Extension #81 SGIX_ir_instrument1 enum: IR_INSTRUMENT1_SGIX = 0x817F # 1 I ############################################################################### # Extension #82 SGIX_calligraphic_fragment enum: CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183 # 1 I ############################################################################### # Extension #83 - GLX_SGIX_video_resize ############################################################################### # Extension #84 SGIX_texture_lod_bias enum: TEXTURE_LOD_BIAS_S_SGIX = 0x818E TEXTURE_LOD_BIAS_T_SGIX = 0x818F TEXTURE_LOD_BIAS_R_SGIX = 0x8190 ############################################################################### # Extension #85 - skipped ############################################################################### # Extension #86 - GLX_SGIX_dmbuffer ############################################################################### # Extension #87 - skipped # Extension #88 - skipped # Extension #89 - skipped ############################################################################### # Extension #90 SGIX_shadow_ambient enum: SHADOW_AMBIENT_SGIX = 0x80BF ############################################################################### # Extension #91 - GLX_SGIX_swap_group # Extension #92 - GLX_SGIX_swap_barrier ############################################################################### # No new tokens # Extension #93 EXT_index_texture enum: ############################################################################### # Extension #94 # Promoted from SGI? EXT_index_material enum: INDEX_MATERIAL_EXT = 0x81B8 INDEX_MATERIAL_PARAMETER_EXT = 0x81B9 INDEX_MATERIAL_FACE_EXT = 0x81BA ############################################################################### # Extension #95 # Promoted from SGI? EXT_index_func enum: INDEX_TEST_EXT = 0x81B5 INDEX_TEST_FUNC_EXT = 0x81B6 INDEX_TEST_REF_EXT = 0x81B7 ############################################################################### # Extension #96 # Promoted from SGI? EXT_index_array_formats enum: IUI_V2F_EXT = 0x81AD IUI_V3F_EXT = 0x81AE IUI_N3F_V2F_EXT = 0x81AF IUI_N3F_V3F_EXT = 0x81B0 T2F_IUI_V2F_EXT = 0x81B1 T2F_IUI_V3F_EXT = 0x81B2 T2F_IUI_N3F_V2F_EXT = 0x81B3 T2F_IUI_N3F_V3F_EXT = 0x81B4 ############################################################################### # Extension #97 # Promoted from SGI? EXT_compiled_vertex_array enum: ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8 ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9 ############################################################################### # Extension #98 # Promoted from SGI? EXT_cull_vertex enum: CULL_VERTEX_EXT = 0x81AA CULL_VERTEX_EYE_POSITION_EXT = 0x81AB CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC ############################################################################### # Extension #99 - skipped ############################################################################### # Extension #100 - GLU_EXT_nurbs_tessellator ############################################################################### # Extension #101 SGIX_ycrcb enum: YCRCB_422_SGIX = 0x81BB YCRCB_444_SGIX = 0x81BC ############################################################################### # Extension #102 SGIX_fragment_lighting enum: FRAGMENT_LIGHTING_SGIX = 0x8400 # 1 I FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 # 1 I FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402 # 1 I FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403 # 1 I MAX_FRAGMENT_LIGHTS_SGIX = 0x8404 # 1 I MAX_ACTIVE_LIGHTS_SGIX = 0x8405 # 1 I CURRENT_RASTER_NORMAL_SGIX = 0x8406 # 1 I LIGHT_ENV_MODE_SGIX = 0x8407 # 1 I FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408 # 1 I FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409 # 1 I FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A # 4 F FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B # 1 I FRAGMENT_LIGHT0_SGIX = 0x840C # 1 I FRAGMENT_LIGHT1_SGIX = 0x840D FRAGMENT_LIGHT2_SGIX = 0x840E FRAGMENT_LIGHT3_SGIX = 0x840F FRAGMENT_LIGHT4_SGIX = 0x8410 FRAGMENT_LIGHT5_SGIX = 0x8411 FRAGMENT_LIGHT6_SGIX = 0x8412 FRAGMENT_LIGHT7_SGIX = 0x8413 ############################################################################### # Extension #103 - skipped # Extension #104 - skipped # Extension #105 - skipped # Extension #106 - skipped # Extension #107 - skipped # Extension #108 - skipped # Extension #109 - skipped ############################################################################### # Extension #110 IBM_rasterpos_clip enum: RASTER_POSITION_UNCLIPPED_IBM = 0x19262 ############################################################################### # Extension #111 HP_texture_lighting enum: TEXTURE_LIGHTING_MODE_HP = 0x8167 TEXTURE_POST_SPECULAR_HP = 0x8168 TEXTURE_PRE_SPECULAR_HP = 0x8169 ############################################################################### # Extension #112 EXT_draw_range_elements enum: MAX_ELEMENTS_VERTICES_EXT = 0x80E8 MAX_ELEMENTS_INDICES_EXT = 0x80E9 ############################################################################### # Extension #113 WIN_phong_shading enum: PHONG_WIN = 0x80EA PHONG_HINT_WIN = 0x80EB ############################################################################### # Extension #114 WIN_specular_fog enum: FOG_SPECULAR_TEXTURE_WIN = 0x80EC ############################################################################### # Extension #115 - skipped # Extension #116 - skipped ############################################################################### # Extension #117 EXT_light_texture enum: FRAGMENT_MATERIAL_EXT = 0x8349 FRAGMENT_NORMAL_EXT = 0x834A FRAGMENT_COLOR_EXT = 0x834C ATTENUATION_EXT = 0x834D SHADOW_ATTENUATION_EXT = 0x834E TEXTURE_APPLICATION_MODE_EXT = 0x834F # 1 I TEXTURE_LIGHT_EXT = 0x8350 # 1 I TEXTURE_MATERIAL_FACE_EXT = 0x8351 # 1 I TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352 # 1 I use EXT_fog_coord FRAGMENT_DEPTH_EXT ############################################################################### # Extension #118 - skipped ############################################################################### # Extension #119 SGIX_blend_alpha_minmax enum: ALPHA_MIN_SGIX = 0x8320 ALPHA_MAX_SGIX = 0x8321 ############################################################################### # Extension #120 - skipped # Extension #121 - skipped # Extension #122 - skipped # Extension #123 - skipped # Extension #124 - skipped # Extension #125 - skipped ############################################################################### # Extension #126 SGIX_impact_pixel_texture enum: PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184 PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185 PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186 PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187 PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188 PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189 PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A ############################################################################### # Extension #127 - skipped # Extension #128 - skipped ############################################################################### # Extension #129 EXT_bgra enum: BGR_EXT = 0x80E0 BGRA_EXT = 0x80E1 ############################################################################### # Extension #130 - skipped # Extension #131 - skipped ############################################################################### # Extension #132 SGIX_async enum: ASYNC_MARKER_SGIX = 0x8329 ############################################################################### # Extension #133 SGIX_async_pixel enum: ASYNC_TEX_IMAGE_SGIX = 0x835C ASYNC_DRAW_PIXELS_SGIX = 0x835D ASYNC_READ_PIXELS_SGIX = 0x835E MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360 MAX_ASYNC_READ_PIXELS_SGIX = 0x8361 ############################################################################### # Extension #134 SGIX_async_histogram enum: ASYNC_HISTOGRAM_SGIX = 0x832C MAX_ASYNC_HISTOGRAM_SGIX = 0x832D ############################################################################### # Intel has not implemented this; enums never assigned # Extension #135 INTEL_texture_scissor enum: # TEXTURE_SCISSOR_INTEL = 0x???? # TEXTURE_SCISSOR_INTEL = 0x???? # TEXTURE_SCISSOR_FUNC_INTEL = 0x???? # TEXTURE_SCISSOR_S_INTEL = 0x???? # TEXTURE_SCISSOR_T_INTEL = 0x???? # TEXTURE_SCISSOR_R_INTEL = 0x???? ############################################################################### # Extension #136 INTEL_parallel_arrays enum: PARALLEL_ARRAYS_INTEL = 0x83F4 VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5 NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6 COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7 TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8 ############################################################################### # Extension #137 HP_occlusion_test enum: OCCLUSION_TEST_HP = 0x8165 OCCLUSION_TEST_RESULT_HP = 0x8166 ############################################################################### # Extension #138 EXT_pixel_transform enum: PIXEL_TRANSFORM_2D_EXT = 0x8330 PIXEL_MAG_FILTER_EXT = 0x8331 PIXEL_MIN_FILTER_EXT = 0x8332 PIXEL_CUBIC_WEIGHT_EXT = 0x8333 CUBIC_EXT = 0x8334 AVERAGE_EXT = 0x8335 PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336 MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337 PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338 ############################################################################### # Unknown enum values # Extension #139 EXT_pixel_transform_color_table enum: # PIXEL_TRANSFORM_COLOR_TABLE_EXT # PROXY_PIXEL_TRANSFORM_COLOR_TABLE_EXT ############################################################################### # Extension #140 - skipped ############################################################################### # Extension #141 EXT_shared_texture_palette enum: SHARED_TEXTURE_PALETTE_EXT = 0x81FB ############################################################################### # Extension #142 - GLX_SGIS_blended_overlay ############################################################################### # Extension #143 - SGIS_shared_multisample # MULTISAMPLE_SUB_RECT_POSITION_SGIS = # MULTISAMPLE_SUB_RECT_DIMS_SGIS = ############################################################################### # Extension #144 EXT_separate_specular_color enum: LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8 SINGLE_COLOR_EXT = 0x81F9 SEPARATE_SPECULAR_COLOR_EXT = 0x81FA ############################################################################### # Extension #145 EXT_secondary_color enum: COLOR_SUM_EXT = 0x8458 # 1 I CURRENT_SECONDARY_COLOR_EXT = 0x8459 # 3 F SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A # 1 I SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B # 1 I SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C # 1 I SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D SECONDARY_COLOR_ARRAY_EXT = 0x845E # 1 I ############################################################################### # Dead extension - EXT_texture_env_combine was finished instead # Extension #146 #EXT_texture_env enum: ############################################################################### # Extension #147 EXT_texture_perturb_normal enum: PERTURB_EXT = 0x85AE TEXTURE_NORMAL_EXT = 0x85AF ############################################################################### # No new tokens # Extension #148 # Diamond ships an otherwise identical IBM_multi_draw_arrays extension; # Dan Brokenshire says this is deprecated and should not be advertised. EXT_multi_draw_arrays enum: ############################################################################### # Extension #149 EXT_fog_coord enum: FOG_COORDINATE_SOURCE_EXT = 0x8450 # 1 I FOG_COORDINATE_EXT = 0x8451 FRAGMENT_DEPTH_EXT = 0x8452 CURRENT_FOG_COORDINATE_EXT = 0x8453 # 1 F FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454 # 1 I FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455 # 1 I FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456 FOG_COORDINATE_ARRAY_EXT = 0x8457 # 1 I ############################################################################### # Extension #150 - skipped # Extension #151 - skipped # Extension #152 - skipped # Extension #153 - skipped # Extension #154 - skipped ############################################################################### # Extension #155 REND_screen_coordinates enum: SCREEN_COORDINATES_REND = 0x8490 INVERTED_SCREEN_W_REND = 0x8491 ############################################################################### # Extension #156 EXT_coordinate_frame enum: TANGENT_ARRAY_EXT = 0x8439 BINORMAL_ARRAY_EXT = 0x843A CURRENT_TANGENT_EXT = 0x843B CURRENT_BINORMAL_EXT = 0x843C TANGENT_ARRAY_TYPE_EXT = 0x843E TANGENT_ARRAY_STRIDE_EXT = 0x843F BINORMAL_ARRAY_TYPE_EXT = 0x8440 BINORMAL_ARRAY_STRIDE_EXT = 0x8441 TANGENT_ARRAY_POINTER_EXT = 0x8442 BINORMAL_ARRAY_POINTER_EXT = 0x8443 MAP1_TANGENT_EXT = 0x8444 MAP2_TANGENT_EXT = 0x8445 MAP1_BINORMAL_EXT = 0x8446 MAP2_BINORMAL_EXT = 0x8447 ############################################################################### # Extension #157 - skipped ############################################################################### # Extension #158 EXT_texture_env_combine enum: COMBINE_EXT = 0x8570 COMBINE_RGB_EXT = 0x8571 COMBINE_ALPHA_EXT = 0x8572 RGB_SCALE_EXT = 0x8573 ADD_SIGNED_EXT = 0x8574 INTERPOLATE_EXT = 0x8575 CONSTANT_EXT = 0x8576 PRIMARY_COLOR_EXT = 0x8577 PREVIOUS_EXT = 0x8578 SOURCE0_RGB_EXT = 0x8580 SOURCE1_RGB_EXT = 0x8581 SOURCE2_RGB_EXT = 0x8582 SOURCE0_ALPHA_EXT = 0x8588 SOURCE1_ALPHA_EXT = 0x8589 SOURCE2_ALPHA_EXT = 0x858A OPERAND0_RGB_EXT = 0x8590 OPERAND1_RGB_EXT = 0x8591 OPERAND2_RGB_EXT = 0x8592 OPERAND0_ALPHA_EXT = 0x8598 OPERAND1_ALPHA_EXT = 0x8599 OPERAND2_ALPHA_EXT = 0x859A ############################################################################### # Extension #159 APPLE_specular_vector enum: LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0 ############################################################################### # Extension #160 APPLE_transform_hint enum: TRANSFORM_HINT_APPLE = 0x85B1 ############################################################################### # Extension #161 SGIX_fog_scale enum: FOG_SCALE_SGIX = 0x81FC FOG_SCALE_VALUE_SGIX = 0x81FD ############################################################################### # Extension #162 - skipped ############################################################################### # Extension #163 SUNX_constant_data enum: UNPACK_CONSTANT_DATA_SUNX = 0x81D5 TEXTURE_CONSTANT_DATA_SUNX = 0x81D6 ############################################################################### # Extension #164 SUN_global_alpha enum: GLOBAL_ALPHA_SUN = 0x81D9 GLOBAL_ALPHA_FACTOR_SUN = 0x81DA ############################################################################### # Extension #165 SUN_triangle_list enum: RESTART_SUN = 0x0001 REPLACE_MIDDLE_SUN = 0x0002 REPLACE_OLDEST_SUN = 0x0003 TRIANGLE_LIST_SUN = 0x81D7 REPLACEMENT_CODE_SUN = 0x81D8 REPLACEMENT_CODE_ARRAY_SUN = 0x85C0 REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1 REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2 REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3 R1UI_V3F_SUN = 0x85C4 R1UI_C4UB_V3F_SUN = 0x85C5 R1UI_C3F_V3F_SUN = 0x85C6 R1UI_N3F_V3F_SUN = 0x85C7 R1UI_C4F_N3F_V3F_SUN = 0x85C8 R1UI_T2F_V3F_SUN = 0x85C9 R1UI_T2F_N3F_V3F_SUN = 0x85CA R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB ############################################################################### # No new tokens # Extension #166 SUN_vertex enum: ############################################################################### # Extension #167 - WGL_EXT_display_color_table # Extension #168 - WGL_EXT_extensions_string # Extension #169 - WGL_EXT_make_current_read # Extension #170 - WGL_EXT_pixel_format # Extension #171 - WGL_EXT_pbuffer # Extension #172 - WGL_EXT_swap_control ############################################################################### # Extension #173 EXT_blend_func_separate enum: BLEND_DST_RGB_EXT = 0x80C8 BLEND_SRC_RGB_EXT = 0x80C9 BLEND_DST_ALPHA_EXT = 0x80CA BLEND_SRC_ALPHA_EXT = 0x80CB ############################################################################### # Extension #174 INGR_color_clamp enum: RED_MIN_CLAMP_INGR = 0x8560 GREEN_MIN_CLAMP_INGR = 0x8561 BLUE_MIN_CLAMP_INGR = 0x8562 ALPHA_MIN_CLAMP_INGR = 0x8563 RED_MAX_CLAMP_INGR = 0x8564 GREEN_MAX_CLAMP_INGR = 0x8565 BLUE_MAX_CLAMP_INGR = 0x8566 ALPHA_MAX_CLAMP_INGR = 0x8567 ############################################################################### # Extension #175 INGR_interlace_read enum: INTERLACE_READ_INGR = 0x8568 ############################################################################### # Extension #176 EXT_stencil_wrap enum: INCR_WRAP_EXT = 0x8507 DECR_WRAP_EXT = 0x8508 ############################################################################### # Extension #177 - skipped ############################################################################### # Extension #178 EXT_422_pixels enum: 422_EXT = 0x80CC 422_REV_EXT = 0x80CD 422_AVERAGE_EXT = 0x80CE 422_REV_AVERAGE_EXT = 0x80CF ############################################################################### # Extension #179 NV_texgen_reflection enum: NORMAL_MAP_NV = 0x8511 REFLECTION_MAP_NV = 0x8512 ############################################################################### # Extension #180 - skipped # Extension #181 - skipped ############################################################################### # Is this shipping? No extension number assigned. # Extension #? EXT_texture_cube_map enum: NORMAL_MAP_EXT = 0x8511 REFLECTION_MAP_EXT = 0x8512 TEXTURE_CUBE_MAP_EXT = 0x8513 TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514 TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515 TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516 TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517 TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518 TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519 TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C ############################################################################### # Extension #182 SUN_convolution_border_modes enum: WRAP_BORDER_SUN = 0x81D4 ############################################################################### # Extension #183 - GLX_SUN_transparent_index ############################################################################### # Extension #184 - skipped ############################################################################### # No new tokens # Extension #185 EXT_texture_env_add enum: ############################################################################### # Extension #186 EXT_texture_lod_bias enum: MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD TEXTURE_FILTER_CONTROL_EXT = 0x8500 TEXTURE_LOD_BIAS_EXT = 0x8501 ############################################################################### # Extension #187 EXT_texture_filter_anisotropic enum: TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF ############################################################################### # Extension #188 EXT_vertex_weighting enum: MODELVIEW0_STACK_DEPTH_EXT = GL_MODELVIEW_STACK_DEPTH MODELVIEW1_STACK_DEPTH_EXT = 0x8502 MODELVIEW0_MATRIX_EXT = GL_MODELVIEW_MATRIX MODELVIEW1_MATRIX_EXT = 0x8506 VERTEX_WEIGHTING_EXT = 0x8509 MODELVIEW0_EXT = GL_MODELVIEW MODELVIEW1_EXT = 0x850A CURRENT_VERTEX_WEIGHT_EXT = 0x850B VERTEX_WEIGHT_ARRAY_EXT = 0x850C VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510 ############################################################################### # Extension #189 NV_light_max_exponent enum: MAX_SHININESS_NV = 0x8504 MAX_SPOT_EXPONENT_NV = 0x8505 ############################################################################### # Extension #190 NV_vertex_array_range enum: VERTEX_ARRAY_RANGE_NV = 0x851D VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E VERTEX_ARRAY_RANGE_VALID_NV = 0x851F MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520 VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521 ############################################################################### # Extension #191 NV_register_combiners enum: REGISTER_COMBINERS_NV = 0x8522 VARIABLE_A_NV = 0x8523 VARIABLE_B_NV = 0x8524 VARIABLE_C_NV = 0x8525 VARIABLE_D_NV = 0x8526 VARIABLE_E_NV = 0x8527 VARIABLE_F_NV = 0x8528 VARIABLE_G_NV = 0x8529 CONSTANT_COLOR0_NV = 0x852A CONSTANT_COLOR1_NV = 0x852B PRIMARY_COLOR_NV = 0x852C SECONDARY_COLOR_NV = 0x852D SPARE0_NV = 0x852E SPARE1_NV = 0x852F DISCARD_NV = 0x8530 E_TIMES_F_NV = 0x8531 SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532 UNSIGNED_IDENTITY_NV = 0x8536 UNSIGNED_INVERT_NV = 0x8537 EXPAND_NORMAL_NV = 0x8538 EXPAND_NEGATE_NV = 0x8539 HALF_BIAS_NORMAL_NV = 0x853A HALF_BIAS_NEGATE_NV = 0x853B SIGNED_IDENTITY_NV = 0x853C SIGNED_NEGATE_NV = 0x853D SCALE_BY_TWO_NV = 0x853E SCALE_BY_FOUR_NV = 0x853F SCALE_BY_ONE_HALF_NV = 0x8540 BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541 COMBINER_INPUT_NV = 0x8542 COMBINER_MAPPING_NV = 0x8543 COMBINER_COMPONENT_USAGE_NV = 0x8544 COMBINER_AB_DOT_PRODUCT_NV = 0x8545 COMBINER_CD_DOT_PRODUCT_NV = 0x8546 COMBINER_MUX_SUM_NV = 0x8547 COMBINER_SCALE_NV = 0x8548 COMBINER_BIAS_NV = 0x8549 COMBINER_AB_OUTPUT_NV = 0x854A COMBINER_CD_OUTPUT_NV = 0x854B COMBINER_SUM_OUTPUT_NV = 0x854C MAX_GENERAL_COMBINERS_NV = 0x854D NUM_GENERAL_COMBINERS_NV = 0x854E COLOR_SUM_CLAMP_NV = 0x854F COMBINER0_NV = 0x8550 COMBINER1_NV = 0x8551 COMBINER2_NV = 0x8552 COMBINER3_NV = 0x8553 COMBINER4_NV = 0x8554 COMBINER5_NV = 0x8555 COMBINER6_NV = 0x8556 COMBINER7_NV = 0x8557 use ARB_multitexture TEXTURE0_ARB use ARB_multitexture TEXTURE1_ARB use BlendingFactorDest ZERO use DrawBufferMode NONE use GetPName FOG ############################################################################### # Extension #192 NV_fog_distance enum: FOG_DISTANCE_MODE_NV = 0x855A EYE_RADIAL_NV = 0x855B EYE_PLANE_ABSOLUTE_NV = 0x855C use TextureGenParameter EYE_PLANE ############################################################################### # Extension #193 NV_texgen_emboss enum: EMBOSS_LIGHT_NV = 0x855D EMBOSS_CONSTANT_NV = 0x855E EMBOSS_MAP_NV = 0x855F ############################################################################### # No new tokens # Extension #194 NV_blend_square enum: ############################################################################### # Extension #195 NV_texture_env_combine4 enum: COMBINE4_NV = 0x8503 SOURCE3_RGB_NV = 0x8583 SOURCE3_ALPHA_NV = 0x858B OPERAND3_RGB_NV = 0x8593 OPERAND3_ALPHA_NV = 0x859B ############################################################################### # No new tokens # Extension #196 MESA_resize_buffers enum: ############################################################################### # No new tokens # Extension #197 MESA_window_pos enum: ############################################################################### # Extension #198 EXT_texture_compression_s3tc enum: COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0 COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1 COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2 COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 ############################################################################### # Extension #199 IBM_cull_vertex enum: CULL_VERTEX_IBM = 103050 ############################################################################### # No new tokens # Extension #200 IBM_multimode_draw_arrays enum: ############################################################################### # Extension #201 IBM_vertex_array_lists enum: VERTEX_ARRAY_LIST_IBM = 103070 NORMAL_ARRAY_LIST_IBM = 103071 COLOR_ARRAY_LIST_IBM = 103072 INDEX_ARRAY_LIST_IBM = 103073 TEXTURE_COORD_ARRAY_LIST_IBM = 103074 EDGE_FLAG_ARRAY_LIST_IBM = 103075 FOG_COORDINATE_ARRAY_LIST_IBM = 103076 SECONDARY_COLOR_ARRAY_LIST_IBM = 103077 VERTEX_ARRAY_LIST_STRIDE_IBM = 103080 NORMAL_ARRAY_LIST_STRIDE_IBM = 103081 COLOR_ARRAY_LIST_STRIDE_IBM = 103082 INDEX_ARRAY_LIST_STRIDE_IBM = 103083 TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084 EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085 FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086 SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087 ############################################################################### # Extension #202 SGIX_subsample enum: PACK_SUBSAMPLE_RATE_SGIX = 0x85A0 UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1 PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2 PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 ############################################################################### # Extension #203 SGIX_ycrcb_subsample enum: PACK_SUBSAMPLE_RATE_SGIX = 0x85A0 UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1 PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2 PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 ############################################################################### # Extension #204 SGIX_ycrcba enum: YCRCB_SGIX = 0x8318 YCRCBA_SGIX = 0x8319 ############################################################################### # Extension #205 SGI_depth_pass_instrument enum: DEPTH_PASS_INSTRUMENT_SGIX = 0x8310 DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311 DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312 ############################################################################### # Extension #206 3DFX_texture_compression_FXT1 enum: COMPRESSED_RGB_FXT1_3DFX = 0x86B0 COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 ############################################################################### # Extension #207 3DFX_multisample enum: MULTISAMPLE_3DFX = 0x86B2 SAMPLE_BUFFERS_3DFX = 0x86B3 SAMPLES_3DFX = 0x86B4 MULTISAMPLE_BIT_3DFX = 0x20000000 ############################################################################### # No new tokens # Extension #208 3DFX_tbuffer enum: ############################################################################### # Extension #209 EXT_multisample enum: MULTISAMPLE_EXT = 0x809D SAMPLE_ALPHA_TO_MASK_EXT = 0x809E SAMPLE_ALPHA_TO_ONE_EXT = 0x809F SAMPLE_MASK_EXT = 0x80A0 1PASS_EXT = 0x80A1 2PASS_0_EXT = 0x80A2 2PASS_1_EXT = 0x80A3 4PASS_0_EXT = 0x80A4 4PASS_1_EXT = 0x80A5 4PASS_2_EXT = 0x80A6 4PASS_3_EXT = 0x80A7 SAMPLE_BUFFERS_EXT = 0x80A8 # 1 I SAMPLES_EXT = 0x80A9 # 1 I SAMPLE_MASK_VALUE_EXT = 0x80AA # 1 F SAMPLE_MASK_INVERT_EXT = 0x80AB # 1 I SAMPLE_PATTERN_EXT = 0x80AC # 1 I MULTISAMPLE_BIT_EXT = 0x20000000 ############################################################################### # Extension #210 SGIX_vertex_preclip enum: VERTEX_PRECLIP_SGIX = 0x83EE VERTEX_PRECLIP_HINT_SGIX = 0x83EF ############################################################################### # Extension #211 SGIX_convolution_accuracy enum: CONVOLUTION_HINT_SGIX = 0x8316 # 1 I ############################################################################### # Extension #212 SGIX_resample enum: PACK_RESAMPLE_SGIX = 0x842C UNPACK_RESAMPLE_SGIX = 0x842D RESAMPLE_REPLICATE_SGIX = 0x842E RESAMPLE_ZERO_FILL_SGIX = 0x842F RESAMPLE_DECIMATE_SGIX = 0x8430 ############################################################################### # Extension #213 SGIS_point_line_texgen enum: EYE_DISTANCE_TO_POINT_SGIS = 0x81F0 OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1 EYE_DISTANCE_TO_LINE_SGIS = 0x81F2 OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3 EYE_POINT_SGIS = 0x81F4 OBJECT_POINT_SGIS = 0x81F5 EYE_LINE_SGIS = 0x81F6 OBJECT_LINE_SGIS = 0x81F7 ############################################################################### # Extension #214 SGIS_texture_color_mask enum: TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF ############################################################################### # Extension #220 # Promoted to ARB_texture_env_dot3, enum values changed EXT_texture_env_dot3 enum: DOT3_RGB_EXT = 0x8740 DOT3_RGBA_EXT = 0x8741 ############################################################################### # Extension #221 ATI_texture_mirror_once enum: MIRROR_CLAMP_ATI = 0x8742 MIRROR_CLAMP_TO_EDGE_ATI = 0x8743 ############################################################################### # Extension #222 NV_fence enum: ALL_COMPLETED_NV = 0x84F2 FENCE_STATUS_NV = 0x84F3 FENCE_CONDITION_NV = 0x84F4 ############################################################################### # Extension #224 IBM_texture_mirrored_repeat enum: MIRRORED_REPEAT_IBM = 0x8370 ############################################################################### # Extension #225 NV_evaluators enum: EVAL_2D_NV = 0x86C0 EVAL_TRIANGULAR_2D_NV = 0x86C1 MAP_TESSELLATION_NV = 0x86C2 MAP_ATTRIB_U_ORDER_NV = 0x86C3 MAP_ATTRIB_V_ORDER_NV = 0x86C4 EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5 EVAL_VERTEX_ATTRIB0_NV = 0x86C6 EVAL_VERTEX_ATTRIB1_NV = 0x86C7 EVAL_VERTEX_ATTRIB2_NV = 0x86C8 EVAL_VERTEX_ATTRIB3_NV = 0x86C9 EVAL_VERTEX_ATTRIB4_NV = 0x86CA EVAL_VERTEX_ATTRIB5_NV = 0x86CB EVAL_VERTEX_ATTRIB6_NV = 0x86CC EVAL_VERTEX_ATTRIB7_NV = 0x86CD EVAL_VERTEX_ATTRIB8_NV = 0x86CE EVAL_VERTEX_ATTRIB9_NV = 0x86CF EVAL_VERTEX_ATTRIB10_NV = 0x86D0 EVAL_VERTEX_ATTRIB11_NV = 0x86D1 EVAL_VERTEX_ATTRIB12_NV = 0x86D2 EVAL_VERTEX_ATTRIB13_NV = 0x86D3 EVAL_VERTEX_ATTRIB14_NV = 0x86D4 EVAL_VERTEX_ATTRIB15_NV = 0x86D5 MAX_MAP_TESSELLATION_NV = 0x86D6 MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7 ############################################################################### # Extension #226 NV_packed_depth_stencil enum: DEPTH_STENCIL_NV = 0x84F9 UNSIGNED_INT_24_8_NV = 0x84FA ############################################################################### # Extension #227 NV_register_combiners2 enum: PER_STAGE_CONSTANTS_NV = 0x8535 ############################################################################### # No new tokens # Extension #228 NV_texture_compression_vtc enum: ############################################################################### # Extension #229 NV_texture_rectangle enum: TEXTURE_RECTANGLE_NV = 0x84F5 TEXTURE_BINDING_RECTANGLE_NV = 0x84F6 PROXY_TEXTURE_RECTANGLE_NV = 0x84F7 MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8 ############################################################################### # Extension #230 NV_texture_shader enum: OFFSET_TEXTURE_RECTANGLE_NV = 0x864C OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9 UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB DSDT_MAG_INTENSITY_NV = 0x86DC SHADER_CONSISTENT_NV = 0x86DD TEXTURE_SHADER_NV = 0x86DE SHADER_OPERATION_NV = 0x86DF CULL_MODES_NV = 0x86E0 OFFSET_TEXTURE_MATRIX_NV = 0x86E1 OFFSET_TEXTURE_SCALE_NV = 0x86E2 OFFSET_TEXTURE_BIAS_NV = 0x86E3 OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV PREVIOUS_TEXTURE_INPUT_NV = 0x86E4 CONST_EYE_NV = 0x86E5 PASS_THROUGH_NV = 0x86E6 CULL_FRAGMENT_NV = 0x86E7 OFFSET_TEXTURE_2D_NV = 0x86E8 DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9 DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA DOT_PRODUCT_NV = 0x86EC DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0 DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1 DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2 DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3 HILO_NV = 0x86F4 DSDT_NV = 0x86F5 DSDT_MAG_NV = 0x86F6 DSDT_MAG_VIB_NV = 0x86F7 HILO16_NV = 0x86F8 SIGNED_HILO_NV = 0x86F9 SIGNED_HILO16_NV = 0x86FA SIGNED_RGBA_NV = 0x86FB SIGNED_RGBA8_NV = 0x86FC SIGNED_RGB_NV = 0x86FE SIGNED_RGB8_NV = 0x86FF SIGNED_LUMINANCE_NV = 0x8701 SIGNED_LUMINANCE8_NV = 0x8702 SIGNED_LUMINANCE_ALPHA_NV = 0x8703 SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704 SIGNED_ALPHA_NV = 0x8705 SIGNED_ALPHA8_NV = 0x8706 SIGNED_INTENSITY_NV = 0x8707 SIGNED_INTENSITY8_NV = 0x8708 DSDT8_NV = 0x8709 DSDT8_MAG8_NV = 0x870A DSDT8_MAG8_INTENSITY8_NV = 0x870B SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D HI_SCALE_NV = 0x870E LO_SCALE_NV = 0x870F DS_SCALE_NV = 0x8710 DT_SCALE_NV = 0x8711 MAGNITUDE_SCALE_NV = 0x8712 VIBRANCE_SCALE_NV = 0x8713 HI_BIAS_NV = 0x8714 LO_BIAS_NV = 0x8715 DS_BIAS_NV = 0x8716 DT_BIAS_NV = 0x8717 MAGNITUDE_BIAS_NV = 0x8718 VIBRANCE_BIAS_NV = 0x8719 TEXTURE_BORDER_VALUES_NV = 0x871A TEXTURE_HI_SIZE_NV = 0x871B TEXTURE_LO_SIZE_NV = 0x871C TEXTURE_DS_SIZE_NV = 0x871D TEXTURE_DT_SIZE_NV = 0x871E TEXTURE_MAG_SIZE_NV = 0x871F ############################################################################### # Extension #231 NV_texture_shader2 enum: DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF ############################################################################### # Extension #232 NV_vertex_array_range2 enum: VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533 ############################################################################### # Extension #233 NV_vertex_program enum: VERTEX_PROGRAM_NV = 0x8620 VERTEX_STATE_PROGRAM_NV = 0x8621 ATTRIB_ARRAY_SIZE_NV = 0x8623 ATTRIB_ARRAY_STRIDE_NV = 0x8624 ATTRIB_ARRAY_TYPE_NV = 0x8625 CURRENT_ATTRIB_NV = 0x8626 PROGRAM_LENGTH_NV = 0x8627 PROGRAM_STRING_NV = 0x8628 MODELVIEW_PROJECTION_NV = 0x8629 IDENTITY_NV = 0x862A INVERSE_NV = 0x862B TRANSPOSE_NV = 0x862C INVERSE_TRANSPOSE_NV = 0x862D MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E MAX_TRACK_MATRICES_NV = 0x862F MATRIX0_NV = 0x8630 MATRIX1_NV = 0x8631 MATRIX2_NV = 0x8632 MATRIX3_NV = 0x8633 MATRIX4_NV = 0x8634 MATRIX5_NV = 0x8635 MATRIX6_NV = 0x8636 MATRIX7_NV = 0x8637 ################## # # Reserved: # # MATRIX8_NV = 0x8638 # MATRIX9_NV = 0x8639 # MATRIX10_NV = 0x863A # MATRIX11_NV = 0x863B # MATRIX12_NV = 0x863C # MATRIX13_NV = 0x863D # MATRIX14_NV = 0x863E # MATRIX15_NV = 0x863F # ################### CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640 CURRENT_MATRIX_NV = 0x8641 VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642 VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643 PROGRAM_PARAMETER_NV = 0x8644 ATTRIB_ARRAY_POINTER_NV = 0x8645 PROGRAM_TARGET_NV = 0x8646 PROGRAM_RESIDENT_NV = 0x8647 TRACK_MATRIX_NV = 0x8648 TRACK_MATRIX_TRANSFORM_NV = 0x8649 VERTEX_PROGRAM_BINDING_NV = 0x864A PROGRAM_ERROR_POSITION_NV = 0x864B VERTEX_ATTRIB_ARRAY0_NV = 0x8650 VERTEX_ATTRIB_ARRAY1_NV = 0x8651 VERTEX_ATTRIB_ARRAY2_NV = 0x8652 VERTEX_ATTRIB_ARRAY3_NV = 0x8653 VERTEX_ATTRIB_ARRAY4_NV = 0x8654 VERTEX_ATTRIB_ARRAY5_NV = 0x8655 VERTEX_ATTRIB_ARRAY6_NV = 0x8656 VERTEX_ATTRIB_ARRAY7_NV = 0x8657 VERTEX_ATTRIB_ARRAY8_NV = 0x8658 VERTEX_ATTRIB_ARRAY9_NV = 0x8659 VERTEX_ATTRIB_ARRAY10_NV = 0x865A VERTEX_ATTRIB_ARRAY11_NV = 0x865B VERTEX_ATTRIB_ARRAY12_NV = 0x865C VERTEX_ATTRIB_ARRAY13_NV = 0x865D VERTEX_ATTRIB_ARRAY14_NV = 0x865E VERTEX_ATTRIB_ARRAY15_NV = 0x865F MAP1_VERTEX_ATTRIB0_4_NV = 0x8660 MAP1_VERTEX_ATTRIB1_4_NV = 0x8661 MAP1_VERTEX_ATTRIB2_4_NV = 0x8662 MAP1_VERTEX_ATTRIB3_4_NV = 0x8663 MAP1_VERTEX_ATTRIB4_4_NV = 0x8664 MAP1_VERTEX_ATTRIB5_4_NV = 0x8665 MAP1_VERTEX_ATTRIB6_4_NV = 0x8666 MAP1_VERTEX_ATTRIB7_4_NV = 0x8667 MAP1_VERTEX_ATTRIB8_4_NV = 0x8668 MAP1_VERTEX_ATTRIB9_4_NV = 0x8669 MAP1_VERTEX_ATTRIB10_4_NV = 0x866A MAP1_VERTEX_ATTRIB11_4_NV = 0x866B MAP1_VERTEX_ATTRIB12_4_NV = 0x866C MAP1_VERTEX_ATTRIB13_4_NV = 0x866D MAP1_VERTEX_ATTRIB14_4_NV = 0x866E MAP1_VERTEX_ATTRIB15_4_NV = 0x866F MAP2_VERTEX_ATTRIB0_4_NV = 0x8670 MAP2_VERTEX_ATTRIB1_4_NV = 0x8671 MAP2_VERTEX_ATTRIB2_4_NV = 0x8672 MAP2_VERTEX_ATTRIB3_4_NV = 0x8673 MAP2_VERTEX_ATTRIB4_4_NV = 0x8674 MAP2_VERTEX_ATTRIB5_4_NV = 0x8675 MAP2_VERTEX_ATTRIB6_4_NV = 0x8676 MAP2_VERTEX_ATTRIB7_4_NV = 0x8677 MAP2_VERTEX_ATTRIB8_4_NV = 0x8678 MAP2_VERTEX_ATTRIB9_4_NV = 0x8679 MAP2_VERTEX_ATTRIB10_4_NV = 0x867A MAP2_VERTEX_ATTRIB11_4_NV = 0x867B MAP2_VERTEX_ATTRIB12_4_NV = 0x867C MAP2_VERTEX_ATTRIB13_4_NV = 0x867D MAP2_VERTEX_ATTRIB14_4_NV = 0x867E MAP2_VERTEX_ATTRIB15_4_NV = 0x867F ############################################################################### # Extension #235 SGIX_texture_coordinate_clamp enum: TEXTURE_MAX_CLAMP_S_SGIX = 0x8369 TEXTURE_MAX_CLAMP_T_SGIX = 0x836A TEXTURE_MAX_CLAMP_R_SGIX = 0x836B ############################################################################### # Extension #236 SGIX_scalebias_hint enum: SCALEBIAS_HINT_SGIX = 0x8322 ############################################################################### # Extension #237 - GLX_OML_swap_method # Extension #238 - GLX_OML_sync_control ############################################################################### # Extension #239 OML_interlace enum: INTERLACE_OML = 0x8980 INTERLACE_READ_OML = 0x8981 ############################################################################### # Extension #240 OML_subsample enum: FORMAT_SUBSAMPLE_24_24_OML = 0x8982 FORMAT_SUBSAMPLE_244_244_OML = 0x8983 ############################################################################### # Extension #241 OML_resample enum: PACK_RESAMPLE_OML = 0x8984 UNPACK_RESAMPLE_OML = 0x8985 RESAMPLE_REPLICATE_OML = 0x8986 RESAMPLE_ZERO_FILL_OML = 0x8987 RESAMPLE_AVERAGE_OML = 0x8988 RESAMPLE_DECIMATE_OML = 0x8989 ############################################################################### # Extension #242 - WGL_OML_sync_control ############################################################################### # Extension #243 NV_copy_depth_to_color enum: DEPTH_STENCIL_TO_RGBA_NV = 0x886E DEPTH_STENCIL_TO_BGRA_NV = 0x886F ############################################################################### # Extension #244 ATI_envmap_bumpmap enum: BUMP_ROT_MATRIX_ATI = 0x8775 BUMP_ROT_MATRIX_SIZE_ATI = 0x8776 BUMP_NUM_TEX_UNITS_ATI = 0x8777 BUMP_TEX_UNITS_ATI = 0x8778 DUDV_ATI = 0x8779 DU8DV8_ATI = 0x877A BUMP_ENVMAP_ATI = 0x877B BUMP_TARGET_ATI = 0x877C ############################################################################### # Extension #245 ATI_fragment_shader enum: FRAGMENT_SHADER_ATI = 0x8920 REG_0_ATI = 0x8921 REG_1_ATI = 0x8922 REG_2_ATI = 0x8923 REG_3_ATI = 0x8924 REG_4_ATI = 0x8925 REG_5_ATI = 0x8926 REG_6_ATI = 0x8927 REG_7_ATI = 0x8928 REG_8_ATI = 0x8929 REG_9_ATI = 0x892A REG_10_ATI = 0x892B REG_11_ATI = 0x892C REG_12_ATI = 0x892D REG_13_ATI = 0x892E REG_14_ATI = 0x892F REG_15_ATI = 0x8930 REG_16_ATI = 0x8931 REG_17_ATI = 0x8932 REG_18_ATI = 0x8933 REG_19_ATI = 0x8934 REG_20_ATI = 0x8935 REG_21_ATI = 0x8936 REG_22_ATI = 0x8937 REG_23_ATI = 0x8938 REG_24_ATI = 0x8939 REG_25_ATI = 0x893A REG_26_ATI = 0x893B REG_27_ATI = 0x893C REG_28_ATI = 0x893D REG_29_ATI = 0x893E REG_30_ATI = 0x893F REG_31_ATI = 0x8940 CON_0_ATI = 0x8941 CON_1_ATI = 0x8942 CON_2_ATI = 0x8943 CON_3_ATI = 0x8944 CON_4_ATI = 0x8945 CON_5_ATI = 0x8946 CON_6_ATI = 0x8947 CON_7_ATI = 0x8948 CON_8_ATI = 0x8949 CON_9_ATI = 0x894A CON_10_ATI = 0x894B CON_11_ATI = 0x894C CON_12_ATI = 0x894D CON_13_ATI = 0x894E CON_14_ATI = 0x894F CON_15_ATI = 0x8950 CON_16_ATI = 0x8951 CON_17_ATI = 0x8952 CON_18_ATI = 0x8953 CON_19_ATI = 0x8954 CON_20_ATI = 0x8955 CON_21_ATI = 0x8956 CON_22_ATI = 0x8957 CON_23_ATI = 0x8958 CON_24_ATI = 0x8959 CON_25_ATI = 0x895A CON_26_ATI = 0x895B CON_27_ATI = 0x895C CON_28_ATI = 0x895D CON_29_ATI = 0x895E CON_30_ATI = 0x895F CON_31_ATI = 0x8960 MOV_ATI = 0x8961 ADD_ATI = 0x8963 MUL_ATI = 0x8964 SUB_ATI = 0x8965 DOT3_ATI = 0x8966 DOT4_ATI = 0x8967 MAD_ATI = 0x8968 LERP_ATI = 0x8969 CND_ATI = 0x896A CND0_ATI = 0x896B DOT2_ADD_ATI = 0x896C SECONDARY_INTERPOLATOR_ATI = 0x896D NUM_FRAGMENT_REGISTERS_ATI = 0x896E NUM_FRAGMENT_CONSTANTS_ATI = 0x896F NUM_PASSES_ATI = 0x8970 NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971 NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972 NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973 NUM_LOOPBACK_COMPONENTS_ATI = 0x8974 COLOR_ALPHA_PAIRING_ATI = 0x8975 SWIZZLE_STR_ATI = 0x8976 SWIZZLE_STQ_ATI = 0x8977 SWIZZLE_STR_DR_ATI = 0x8978 SWIZZLE_STQ_DQ_ATI = 0x8979 SWIZZLE_STRQ_ATI = 0x897A SWIZZLE_STRQ_DQ_ATI = 0x897B RED_BIT_ATI = 0x00000001 GREEN_BIT_ATI = 0x00000002 BLUE_BIT_ATI = 0x00000004 2X_BIT_ATI = 0x00000001 4X_BIT_ATI = 0x00000002 8X_BIT_ATI = 0x00000004 HALF_BIT_ATI = 0x00000008 QUARTER_BIT_ATI = 0x00000010 EIGHTH_BIT_ATI = 0x00000020 SATURATE_BIT_ATI = 0x00000040 2X_BIT_ATI = 0x00000001 COMP_BIT_ATI = 0x00000002 NEGATE_BIT_ATI = 0x00000004 BIAS_BIT_ATI = 0x00000008 ############################################################################### # Extension #246 ATI_pn_triangles enum: PN_TRIANGLES_ATI = 0x87F0 MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1 PN_TRIANGLES_POINT_MODE_ATI = 0x87F2 PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3 PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4 PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5 PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6 PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7 PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8 ############################################################################### # Extension #247 ATI_vertex_array_object enum: STATIC_ATI = 0x8760 DYNAMIC_ATI = 0x8761 PRESERVE_ATI = 0x8762 DISCARD_ATI = 0x8763 OBJECT_BUFFER_SIZE_ATI = 0x8764 OBJECT_BUFFER_USAGE_ATI = 0x8765 ARRAY_OBJECT_BUFFER_ATI = 0x8766 ARRAY_OBJECT_OFFSET_ATI = 0x8767 ############################################################################### # Extension #248 EXT_vertex_shader enum: VERTEX_SHADER_EXT = 0x8780 VERTEX_SHADER_BINDING_EXT = 0x8781 OP_INDEX_EXT = 0x8782 OP_NEGATE_EXT = 0x8783 OP_DOT3_EXT = 0x8784 OP_DOT4_EXT = 0x8785 OP_MUL_EXT = 0x8786 OP_ADD_EXT = 0x8787 OP_MADD_EXT = 0x8788 OP_FRAC_EXT = 0x8789 OP_MAX_EXT = 0x878A OP_MIN_EXT = 0x878B OP_SET_GE_EXT = 0x878C OP_SET_LT_EXT = 0x878D OP_CLAMP_EXT = 0x878E OP_FLOOR_EXT = 0x878F OP_ROUND_EXT = 0x8790 OP_EXP_BASE_2_EXT = 0x8791 OP_LOG_BASE_2_EXT = 0x8792 OP_POWER_EXT = 0x8793 OP_RECIP_EXT = 0x8794 OP_RECIP_SQRT_EXT = 0x8795 OP_SUB_EXT = 0x8796 OP_CROSS_PRODUCT_EXT = 0x8797 OP_MULTIPLY_MATRIX_EXT = 0x8798 OP_MOV_EXT = 0x8799 OUTPUT_VERTEX_EXT = 0x879A OUTPUT_COLOR0_EXT = 0x879B OUTPUT_COLOR1_EXT = 0x879C OUTPUT_TEXTURE_COORD0_EXT = 0x879D OUTPUT_TEXTURE_COORD1_EXT = 0x879E OUTPUT_TEXTURE_COORD2_EXT = 0x879F OUTPUT_TEXTURE_COORD3_EXT = 0x87A0 OUTPUT_TEXTURE_COORD4_EXT = 0x87A1 OUTPUT_TEXTURE_COORD5_EXT = 0x87A2 OUTPUT_TEXTURE_COORD6_EXT = 0x87A3 OUTPUT_TEXTURE_COORD7_EXT = 0x87A4 OUTPUT_TEXTURE_COORD8_EXT = 0x87A5 OUTPUT_TEXTURE_COORD9_EXT = 0x87A6 OUTPUT_TEXTURE_COORD10_EXT = 0x87A7 OUTPUT_TEXTURE_COORD11_EXT = 0x87A8 OUTPUT_TEXTURE_COORD12_EXT = 0x87A9 OUTPUT_TEXTURE_COORD13_EXT = 0x87AA OUTPUT_TEXTURE_COORD14_EXT = 0x87AB OUTPUT_TEXTURE_COORD15_EXT = 0x87AC OUTPUT_TEXTURE_COORD16_EXT = 0x87AD OUTPUT_TEXTURE_COORD17_EXT = 0x87AE OUTPUT_TEXTURE_COORD18_EXT = 0x87AF OUTPUT_TEXTURE_COORD19_EXT = 0x87B0 OUTPUT_TEXTURE_COORD20_EXT = 0x87B1 OUTPUT_TEXTURE_COORD21_EXT = 0x87B2 OUTPUT_TEXTURE_COORD22_EXT = 0x87B3 OUTPUT_TEXTURE_COORD23_EXT = 0x87B4 OUTPUT_TEXTURE_COORD24_EXT = 0x87B5 OUTPUT_TEXTURE_COORD25_EXT = 0x87B6 OUTPUT_TEXTURE_COORD26_EXT = 0x87B7 OUTPUT_TEXTURE_COORD27_EXT = 0x87B8 OUTPUT_TEXTURE_COORD28_EXT = 0x87B9 OUTPUT_TEXTURE_COORD29_EXT = 0x87BA OUTPUT_TEXTURE_COORD30_EXT = 0x87BB OUTPUT_TEXTURE_COORD31_EXT = 0x87BC OUTPUT_FOG_EXT = 0x87BD SCALAR_EXT = 0x87BE VECTOR_EXT = 0x87BF MATRIX_EXT = 0x87C0 VARIANT_EXT = 0x87C1 INVARIANT_EXT = 0x87C2 LOCAL_CONSTANT_EXT = 0x87C3 LOCAL_EXT = 0x87C4 MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5 MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6 MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7 MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8 MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9 MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF VERTEX_SHADER_VARIANTS_EXT = 0x87D0 VERTEX_SHADER_INVARIANTS_EXT = 0x87D1 VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2 VERTEX_SHADER_LOCALS_EXT = 0x87D3 VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4 X_EXT = 0x87D5 Y_EXT = 0x87D6 Z_EXT = 0x87D7 W_EXT = 0x87D8 NEGATIVE_X_EXT = 0x87D9 NEGATIVE_Y_EXT = 0x87DA NEGATIVE_Z_EXT = 0x87DB NEGATIVE_W_EXT = 0x87DC ZERO_EXT = 0x87DD ONE_EXT = 0x87DE NEGATIVE_ONE_EXT = 0x87DF NORMALIZED_RANGE_EXT = 0x87E0 FULL_RANGE_EXT = 0x87E1 CURRENT_VERTEX_EXT = 0x87E2 MVP_MATRIX_EXT = 0x87E3 VARIANT_VALUE_EXT = 0x87E4 VARIANT_DATATYPE_EXT = 0x87E5 VARIANT_ARRAY_STRIDE_EXT = 0x87E6 VARIANT_ARRAY_TYPE_EXT = 0x87E7 VARIANT_ARRAY_EXT = 0x87E8 VARIANT_ARRAY_POINTER_EXT = 0x87E9 INVARIANT_VALUE_EXT = 0x87EA INVARIANT_DATATYPE_EXT = 0x87EB LOCAL_CONSTANT_VALUE_EXT = 0x87EC LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED ############################################################################### # Extension #249 ATI_vertex_streams enum: MAX_VERTEX_STREAMS_ATI = 0x876B VERTEX_STREAM0_ATI = 0x876C VERTEX_STREAM1_ATI = 0x876D VERTEX_STREAM2_ATI = 0x876E VERTEX_STREAM3_ATI = 0x876F VERTEX_STREAM4_ATI = 0x8770 VERTEX_STREAM5_ATI = 0x8771 VERTEX_STREAM6_ATI = 0x8772 VERTEX_STREAM7_ATI = 0x8773 VERTEX_SOURCE_ATI = 0x8774 ############################################################################### # Extension #250 - WGL_I3D_digital_video_control # Extension #251 - WGL_I3D_gamma # Extension #252 - WGL_I3D_genlock # Extension #253 - WGL_I3D_image_buffer # Extension #254 - WGL_I3D_swap_frame_lock # Extension #255 - WGL_I3D_swap_frame_usage ############################################################################### # Extension #256 ATI_element_array enum: ELEMENT_ARRAY_ATI = 0x8768 ELEMENT_ARRAY_TYPE_ATI = 0x8769 ELEMENT_ARRAY_POINTER_ATI = 0x876A ############################################################################### # Extension #257 SUN_mesh_array enum: QUAD_MESH_SUN = 0x8614 TRIANGLE_MESH_SUN = 0x8615 ############################################################################### # Extension #258 SUN_slice_accum enum: SLICE_ACCUM_SUN = 0x85CC ############################################################################### # Extension #259 NV_multisample_filter_hint enum: MULTISAMPLE_FILTER_HINT_NV = 0x8534 ############################################################################### # Extension #260 NV_depth_clamp enum: DEPTH_CLAMP_NV = 0x864F ############################################################################### # Extension #261 NV_occlusion_query enum: PIXEL_COUNTER_BITS_NV = 0x8864 CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865 PIXEL_COUNT_NV = 0x8866 PIXEL_COUNT_AVAILABLE_NV = 0x8867 ############################################################################### # Extension #262 NV_point_sprite enum: POINT_SPRITE_NV = 0x8861 COORD_REPLACE_NV = 0x8862 POINT_SPRITE_R_MODE_NV = 0x8863 ############################################################################### # Extension #263 - WGL_NV_render_depth_texture # Extension #264 - WGL_NV_render_texture_rectangle ############################################################################### # Extension #265 NV_texture_shader3 enum: OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850 OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851 OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852 OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853 OFFSET_HILO_TEXTURE_2D_NV = 0x8854 OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855 OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856 OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857 DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858 DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859 DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A DOT_PRODUCT_PASS_THROUGH_NV = 0x885B DOT_PRODUCT_TEXTURE_1D_NV = 0x885C DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D HILO8_NV = 0x885E SIGNED_HILO8_NV = 0x885F FORCE_BLUE_TO_ONE_NV = 0x8860 ############################################################################### # No new tokens # Extension #266 NV_vertex_program1_1 enum: ############################################################################### # No new tokens # Extension #267 EXT_shadow_funcs enum: ############################################################################### # Extension #268 EXT_stencil_two_side enum: STENCIL_TEST_TWO_SIDE_EXT = 0x8910 ACTIVE_STENCIL_FACE_EXT = 0x8911 ############################################################################### # Extension #269 ATI_text_fragment_shader enum: TEXT_FRAGMENT_SHADER_ATI = 0x8200 ############################################################################### # Extension #270 APPLE_client_storage enum: UNPACK_CLIENT_STORAGE_APPLE = 0x85B2 ############################################################################### # Extension #271 # (extends ATI_element_array???) APPLE_element_array enum: ELEMENT_ARRAY_APPLE = 0x8768 ELEMENT_ARRAY_TYPE_APPLE = 0x8769 ELEMENT_ARRAY_POINTER_APPLE = 0x876A ############################################################################### # Extension #272 # ??? BUFFER_OBJECT_APPLE appears to be part of the shipping extension, # but is not in the spec in the registry. Also appears in # APPLE_object_purgeable below. APPLE_fence enum: DRAW_PIXELS_APPLE = 0x8A0A FENCE_APPLE = 0x8A0B ############################################################################### # Extension #273 APPLE_vertex_array_object enum: VERTEX_ARRAY_BINDING_APPLE = 0x85B5 ############################################################################### # Extension #274 # (How does this interact with NV_vertex_array_range???) APPLE_vertex_array_range enum: VERTEX_ARRAY_RANGE_APPLE = 0x851D VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521 STORAGE_CACHED_APPLE = 0x85BE STORAGE_SHARED_APPLE = 0x85BF ############################################################################### # Extension #275 APPLE_ycbcr_422 enum: YCBCR_422_APPLE = 0x85B9 UNSIGNED_SHORT_8_8_APPLE = 0x85BA UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB ############################################################################### # Extension #276 S3_s3tc enum: RGB_S3TC = 0x83A0 RGB4_S3TC = 0x83A1 RGBA_S3TC = 0x83A2 RGBA4_S3TC = 0x83A3 ############################################################################### # Extension #277 ATI_draw_buffers enum: MAX_DRAW_BUFFERS_ATI = 0x8824 DRAW_BUFFER0_ATI = 0x8825 DRAW_BUFFER1_ATI = 0x8826 DRAW_BUFFER2_ATI = 0x8827 DRAW_BUFFER3_ATI = 0x8828 DRAW_BUFFER4_ATI = 0x8829 DRAW_BUFFER5_ATI = 0x882A DRAW_BUFFER6_ATI = 0x882B DRAW_BUFFER7_ATI = 0x882C DRAW_BUFFER8_ATI = 0x882D DRAW_BUFFER9_ATI = 0x882E DRAW_BUFFER10_ATI = 0x882F DRAW_BUFFER11_ATI = 0x8830 DRAW_BUFFER12_ATI = 0x8831 DRAW_BUFFER13_ATI = 0x8832 DRAW_BUFFER14_ATI = 0x8833 DRAW_BUFFER15_ATI = 0x8834 ############################################################################### # Extension #278 # This is really a WGL extension, but if defined there are # some associated GL enumerants. ATI_pixel_format_float enum: TYPE_RGBA_FLOAT_ATI = 0x8820 COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835 ############################################################################### # Extension #279 ATI_texture_env_combine3 enum: MODULATE_ADD_ATI = 0x8744 MODULATE_SIGNED_ADD_ATI = 0x8745 MODULATE_SUBTRACT_ATI = 0x8746 ############################################################################### # Extension #280 ATI_texture_float enum: RGBA_FLOAT32_ATI = 0x8814 RGB_FLOAT32_ATI = 0x8815 ALPHA_FLOAT32_ATI = 0x8816 INTENSITY_FLOAT32_ATI = 0x8817 LUMINANCE_FLOAT32_ATI = 0x8818 LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819 RGBA_FLOAT16_ATI = 0x881A RGB_FLOAT16_ATI = 0x881B ALPHA_FLOAT16_ATI = 0x881C INTENSITY_FLOAT16_ATI = 0x881D LUMINANCE_FLOAT16_ATI = 0x881E LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F ############################################################################### # Extension #281 (also WGL_NV_float_buffer) NV_float_buffer enum: FLOAT_R_NV = 0x8880 FLOAT_RG_NV = 0x8881 FLOAT_RGB_NV = 0x8882 FLOAT_RGBA_NV = 0x8883 FLOAT_R16_NV = 0x8884 FLOAT_R32_NV = 0x8885 FLOAT_RG16_NV = 0x8886 FLOAT_RG32_NV = 0x8887 FLOAT_RGB16_NV = 0x8888 FLOAT_RGB32_NV = 0x8889 FLOAT_RGBA16_NV = 0x888A FLOAT_RGBA32_NV = 0x888B TEXTURE_FLOAT_COMPONENTS_NV = 0x888C FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D FLOAT_RGBA_MODE_NV = 0x888E ############################################################################### # Extension #282 NV_fragment_program enum: MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868 FRAGMENT_PROGRAM_NV = 0x8870 MAX_TEXTURE_COORDS_NV = 0x8871 MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872 FRAGMENT_PROGRAM_BINDING_NV = 0x8873 PROGRAM_ERROR_STRING_NV = 0x8874 ############################################################################### # Extension #283 NV_half_float enum: HALF_FLOAT_NV = 0x140B ############################################################################### # Extension #284 NV_pixel_data_range enum: WRITE_PIXEL_DATA_RANGE_NV = 0x8878 READ_PIXEL_DATA_RANGE_NV = 0x8879 WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D ############################################################################### # Extension #285 NV_primitive_restart enum: PRIMITIVE_RESTART_NV = 0x8558 PRIMITIVE_RESTART_INDEX_NV = 0x8559 ############################################################################### # Extension #286 NV_texture_expand_normal enum: TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F ############################################################################### # No new tokens # Extension #287 NV_vertex_program2 enum: ############################################################################### # No new tokens # Extension #288 ATI_map_object_buffer enum: ############################################################################### # Extension #289 ATI_separate_stencil enum: STENCIL_BACK_FUNC_ATI = 0x8800 STENCIL_BACK_FAIL_ATI = 0x8801 STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802 STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803 ############################################################################### # No new tokens # Extension #290 ATI_vertex_attrib_array_object enum: ############################################################################### # No new tokens # Extension #291 - OpenGL ES only, not in glext.h # OES_byte_coordinates enum: ############################################################################### # Extension #292 - OpenGL ES only, not in glext.h # OES_fixed_point enum: # FIXED_OES = 0x140C ############################################################################### # No new tokens # Extension #293 - OpenGL ES only, not in glext.h # OES_single_precision enum: ############################################################################### # Extension #294 - OpenGL ES only, not in glext.h # OES_compressed_paletted_texture enum: # PALETTE4_RGB8_OES = 0x8B90 # PALETTE4_RGBA8_OES = 0x8B91 # PALETTE4_R5_G6_B5_OES = 0x8B92 # PALETTE4_RGBA4_OES = 0x8B93 # PALETTE4_RGB5_A1_OES = 0x8B94 # PALETTE8_RGB8_OES = 0x8B95 # PALETTE8_RGBA8_OES = 0x8B96 # PALETTE8_R5_G6_B5_OES = 0x8B97 # PALETTE8_RGBA4_OES = 0x8B98 # PALETTE8_RGB5_A1_OES = 0x8B99 ############################################################################### # Extension #295 - This is an OpenGL ES extension, but also implemented in Mesa OES_read_format enum: IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B ############################################################################### # No new tokens # Extension #296 - OpenGL ES only, not in glext.h # OES_query_matrix enum: ############################################################################### # Extension #297 EXT_depth_bounds_test enum: DEPTH_BOUNDS_TEST_EXT = 0x8890 DEPTH_BOUNDS_EXT = 0x8891 ############################################################################### # Extension #298 EXT_texture_mirror_clamp enum: MIRROR_CLAMP_EXT = 0x8742 MIRROR_CLAMP_TO_EDGE_EXT = 0x8743 MIRROR_CLAMP_TO_BORDER_EXT = 0x8912 ############################################################################### # Extension #299 EXT_blend_equation_separate enum: BLEND_EQUATION_RGB_EXT = 0x8009 # alias GL_BLEND_EQUATION_EXT BLEND_EQUATION_ALPHA_EXT = 0x883D ############################################################################### # Extension #300 MESA_pack_invert enum: PACK_INVERT_MESA = 0x8758 ############################################################################### # Extension #301 MESA_ycbcr_texture enum: UNSIGNED_SHORT_8_8_MESA = 0x85BA UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB YCBCR_MESA = 0x8757 ############################################################################### # Extension #302 EXT_pixel_buffer_object enum: PIXEL_PACK_BUFFER_EXT = 0x88EB PIXEL_UNPACK_BUFFER_EXT = 0x88EC PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF ############################################################################### # No new tokens # Extension #303 NV_fragment_program_option enum: ############################################################################### # Extension #304 NV_fragment_program2 enum: MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4 MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5 MAX_PROGRAM_IF_DEPTH_NV = 0x88F6 MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7 MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8 ############################################################################### # Extension #305 NV_vertex_program2_option enum: use NV_fragment_program2 MAX_PROGRAM_EXEC_INSTRUCTIONS_NV use NV_fragment_program2 MAX_PROGRAM_CALL_DEPTH_NV ############################################################################### # Extension #306 NV_vertex_program3 enum: use ARB_vertex_shader MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB ############################################################################### # Extension #307 - GLX_SGIX_hyperpipe # Extension #308 - GLX_MESA_agp_offset # Extension #309 - GL_EXT_texture_compression_dxt1 (OpenGL ES only, subset of _s3tc version) ############################################################################### # Extension #310 EXT_framebuffer_object enum: INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506 MAX_RENDERBUFFER_SIZE_EXT = 0x84E8 FRAMEBUFFER_BINDING_EXT = 0x8CA6 RENDERBUFFER_BINDING_EXT = 0x8CA7 FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0 FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1 FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2 FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4 FRAMEBUFFER_COMPLETE_EXT = 0x8CD5 FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6 FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7 ## Removed 2005/09/26 in revision #117 of the extension: ## FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8 FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9 FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD ## Removed 2005/05/31 in revision #113 of the extension: ## FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF COLOR_ATTACHMENT0_EXT = 0x8CE0 COLOR_ATTACHMENT1_EXT = 0x8CE1 COLOR_ATTACHMENT2_EXT = 0x8CE2 COLOR_ATTACHMENT3_EXT = 0x8CE3 COLOR_ATTACHMENT4_EXT = 0x8CE4 COLOR_ATTACHMENT5_EXT = 0x8CE5 COLOR_ATTACHMENT6_EXT = 0x8CE6 COLOR_ATTACHMENT7_EXT = 0x8CE7 COLOR_ATTACHMENT8_EXT = 0x8CE8 COLOR_ATTACHMENT9_EXT = 0x8CE9 COLOR_ATTACHMENT10_EXT = 0x8CEA COLOR_ATTACHMENT11_EXT = 0x8CEB COLOR_ATTACHMENT12_EXT = 0x8CEC COLOR_ATTACHMENT13_EXT = 0x8CED COLOR_ATTACHMENT14_EXT = 0x8CEE COLOR_ATTACHMENT15_EXT = 0x8CEF DEPTH_ATTACHMENT_EXT = 0x8D00 STENCIL_ATTACHMENT_EXT = 0x8D20 FRAMEBUFFER_EXT = 0x8D40 RENDERBUFFER_EXT = 0x8D41 RENDERBUFFER_WIDTH_EXT = 0x8D42 RENDERBUFFER_HEIGHT_EXT = 0x8D43 RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44 # removed STENCIL_INDEX_EXT = 0x8D45 in rev. #114 of the spec STENCIL_INDEX1_EXT = 0x8D46 STENCIL_INDEX4_EXT = 0x8D47 STENCIL_INDEX8_EXT = 0x8D48 STENCIL_INDEX16_EXT = 0x8D49 RENDERBUFFER_RED_SIZE_EXT = 0x8D50 RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51 RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52 RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53 RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54 RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55 ############################################################################### # No new tokens # Extension #311 GREMEDY_string_marker enum: ############################################################################### # Extension #312 EXT_packed_depth_stencil enum: DEPTH_STENCIL_EXT = 0x84F9 UNSIGNED_INT_24_8_EXT = 0x84FA DEPTH24_STENCIL8_EXT = 0x88F0 TEXTURE_STENCIL_SIZE_EXT = 0x88F1 ############################################################################### # Extension #313 - WGL_3DL_stereo_control ############################################################################### # Extension #314 EXT_stencil_clear_tag enum: STENCIL_TAG_BITS_EXT = 0x88F2 STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3 ############################################################################### # Extension #315 EXT_texture_sRGB enum: SRGB_EXT = 0x8C40 SRGB8_EXT = 0x8C41 SRGB_ALPHA_EXT = 0x8C42 SRGB8_ALPHA8_EXT = 0x8C43 SLUMINANCE_ALPHA_EXT = 0x8C44 SLUMINANCE8_ALPHA8_EXT = 0x8C45 SLUMINANCE_EXT = 0x8C46 SLUMINANCE8_EXT = 0x8C47 COMPRESSED_SRGB_EXT = 0x8C48 COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 COMPRESSED_SLUMINANCE_EXT = 0x8C4A COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F ############################################################################### # Extension #316 EXT_framebuffer_blit enum: READ_FRAMEBUFFER_EXT = 0x8CA8 DRAW_FRAMEBUFFER_EXT = 0x8CA9 DRAW_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA ############################################################################### # Extension #317 EXT_framebuffer_multisample enum: RENDERBUFFER_SAMPLES_EXT = 0x8CAB FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56 MAX_SAMPLES_EXT = 0x8D57 ############################################################################### # Extension #318 MESAX_texture_stack enum: TEXTURE_1D_STACK_MESAX = 0x8759 TEXTURE_2D_STACK_MESAX = 0x875A PROXY_TEXTURE_1D_STACK_MESAX = 0x875B PROXY_TEXTURE_2D_STACK_MESAX = 0x875C TEXTURE_1D_STACK_BINDING_MESAX = 0x875D TEXTURE_2D_STACK_BINDING_MESAX = 0x875E ############################################################################### # Extension #319 EXT_timer_query enum: TIME_ELAPSED_EXT = 0x88BF ############################################################################### # No new tokens # Extension #320 EXT_gpu_program_parameters enum: ############################################################################### # Extension #321 APPLE_flush_buffer_range enum: BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12 BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13 ############################################################################### # Extension #322 NV_gpu_program4 enum: MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904 MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905 PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906 PROGRAM_RESULT_COMPONENTS_NV = 0x8907 MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908 MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909 MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5 MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6 ############################################################################### # Extension #323 NV_geometry_program4 enum: LINES_ADJACENCY_EXT = 0x000A LINE_STRIP_ADJACENCY_EXT = 0x000B TRIANGLES_ADJACENCY_EXT = 0x000C TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D GEOMETRY_PROGRAM_NV = 0x8C26 MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27 MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28 GEOMETRY_VERTICES_OUT_EXT = 0x8DDA GEOMETRY_INPUT_TYPE_EXT = 0x8DDB GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29 FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7 FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8 FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9 FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4 PROGRAM_POINT_SIZE_EXT = 0x8642 ############################################################################### # Extension #324 EXT_geometry_shader4 enum: GEOMETRY_SHADER_EXT = 0x8DD9 use NV_geometry_program4 GEOMETRY_VERTICES_OUT_EXT use NV_geometry_program4 GEOMETRY_INPUT_TYPE_EXT use NV_geometry_program4 GEOMETRY_OUTPUT_TYPE_EXT use NV_geometry_program4 MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE MAX_VARYING_COMPONENTS_EXT = 0x8B4B MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0 MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1 use NV_geometry_program4 LINES_ADJACENCY_EXT use NV_geometry_program4 LINE_STRIP_ADJACENCY_EXT use NV_geometry_program4 TRIANGLES_ADJACENCY_EXT use NV_geometry_program4 TRIANGLE_STRIP_ADJACENCY_EXT use NV_geometry_program4 FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT use NV_geometry_program4 FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT use NV_geometry_program4 FRAMEBUFFER_ATTACHMENT_LAYERED_EXT use NV_geometry_program4 FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT use NV_geometry_program4 PROGRAM_POINT_SIZE_EXT ############################################################################### # Extension #325 NV_vertex_program4 enum: VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD ############################################################################### # Extension #326 EXT_gpu_shader4 enum: SAMPLER_1D_ARRAY_EXT = 0x8DC0 SAMPLER_2D_ARRAY_EXT = 0x8DC1 SAMPLER_BUFFER_EXT = 0x8DC2 SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3 SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4 SAMPLER_CUBE_SHADOW_EXT = 0x8DC5 UNSIGNED_INT_VEC2_EXT = 0x8DC6 UNSIGNED_INT_VEC3_EXT = 0x8DC7 UNSIGNED_INT_VEC4_EXT = 0x8DC8 INT_SAMPLER_1D_EXT = 0x8DC9 INT_SAMPLER_2D_EXT = 0x8DCA INT_SAMPLER_3D_EXT = 0x8DCB INT_SAMPLER_CUBE_EXT = 0x8DCC INT_SAMPLER_2D_RECT_EXT = 0x8DCD INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF INT_SAMPLER_BUFFER_EXT = 0x8DD0 UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1 UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2 UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3 UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4 UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5 UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6 UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7 UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8 ############################################################################### # No new tokens # Extension #327 EXT_draw_instanced enum: ############################################################################### # Extension #328 EXT_packed_float enum: R11F_G11F_B10F_EXT = 0x8C3A UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C ############################################################################### # Extension #329 EXT_texture_array enum: TEXTURE_1D_ARRAY_EXT = 0x8C18 PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19 TEXTURE_2D_ARRAY_EXT = 0x8C1A PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E use NV_geometry_program4 FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT ############################################################################### # Extension #330 EXT_texture_buffer_object enum: TEXTURE_BUFFER_EXT = 0x8C2A MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B TEXTURE_BINDING_BUFFER_EXT = 0x8C2C TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E ############################################################################### # Extension #331 EXT_texture_compression_latc enum: COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70 COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71 COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72 COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73 ############################################################################### # Extension #332 EXT_texture_compression_rgtc enum: COMPRESSED_RED_RGTC1_EXT = 0x8DBB COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE ############################################################################### # Extension #333 EXT_texture_shared_exponent enum: RGB9_E5_EXT = 0x8C3D UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E TEXTURE_SHARED_SIZE_EXT = 0x8C3F ############################################################################### # Extension #334 NV_depth_buffer_float enum: DEPTH_COMPONENT32F_NV = 0x8DAB DEPTH32F_STENCIL8_NV = 0x8DAC FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF ############################################################################### # No new tokens # Extension #335 NV_fragment_program4 enum: ############################################################################### # Extension #336 NV_framebuffer_multisample_coverage enum: RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10 MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11 MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12 ############################################################################### # Extension #337 # ??? Also WGL/GLX extensions ??? EXT_framebuffer_sRGB enum: FRAMEBUFFER_SRGB_EXT = 0x8DB9 FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA ############################################################################### # No new tokens # Extension #338 NV_geometry_shader4 enum: ############################################################################### # Extension #339 NV_parameter_buffer_object enum: MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0 MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1 VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2 GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3 FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4 ############################################################################### # No new tokens # Extension #340 EXT_draw_buffers2 enum: ############################################################################### # Extension #341 NV_transform_feedback enum: BACK_PRIMARY_COLOR_NV = 0x8C77 BACK_SECONDARY_COLOR_NV = 0x8C78 TEXTURE_COORD_NV = 0x8C79 CLIP_DISTANCE_NV = 0x8C7A VERTEX_ID_NV = 0x8C7B PRIMITIVE_ID_NV = 0x8C7C GENERIC_ATTRIB_NV = 0x8C7D TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80 ACTIVE_VARYINGS_NV = 0x8C81 ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82 TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83 TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84 TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85 TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86 PRIMITIVES_GENERATED_NV = 0x8C87 TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88 RASTERIZER_DISCARD_NV = 0x8C89 MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = 0x8C8A MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B INTERLEAVED_ATTRIBS_NV = 0x8C8C SEPARATE_ATTRIBS_NV = 0x8C8D TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F ############################################################################### # Extension #342 EXT_bindable_uniform enum: MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2 MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3 MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4 MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED UNIFORM_BUFFER_EXT = 0x8DEE UNIFORM_BUFFER_BINDING_EXT = 0x8DEF ############################################################################### # Extension #343 EXT_texture_integer enum: RGBA32UI_EXT = 0x8D70 RGB32UI_EXT = 0x8D71 ALPHA32UI_EXT = 0x8D72 INTENSITY32UI_EXT = 0x8D73 LUMINANCE32UI_EXT = 0x8D74 LUMINANCE_ALPHA32UI_EXT = 0x8D75 RGBA16UI_EXT = 0x8D76 RGB16UI_EXT = 0x8D77 ALPHA16UI_EXT = 0x8D78 INTENSITY16UI_EXT = 0x8D79 LUMINANCE16UI_EXT = 0x8D7A LUMINANCE_ALPHA16UI_EXT = 0x8D7B RGBA8UI_EXT = 0x8D7C RGB8UI_EXT = 0x8D7D ALPHA8UI_EXT = 0x8D7E INTENSITY8UI_EXT = 0x8D7F LUMINANCE8UI_EXT = 0x8D80 LUMINANCE_ALPHA8UI_EXT = 0x8D81 RGBA32I_EXT = 0x8D82 RGB32I_EXT = 0x8D83 ALPHA32I_EXT = 0x8D84 INTENSITY32I_EXT = 0x8D85 LUMINANCE32I_EXT = 0x8D86 LUMINANCE_ALPHA32I_EXT = 0x8D87 RGBA16I_EXT = 0x8D88 RGB16I_EXT = 0x8D89 ALPHA16I_EXT = 0x8D8A INTENSITY16I_EXT = 0x8D8B LUMINANCE16I_EXT = 0x8D8C LUMINANCE_ALPHA16I_EXT = 0x8D8D RGBA8I_EXT = 0x8D8E RGB8I_EXT = 0x8D8F ALPHA8I_EXT = 0x8D90 INTENSITY8I_EXT = 0x8D91 LUMINANCE8I_EXT = 0x8D92 LUMINANCE_ALPHA8I_EXT = 0x8D93 RED_INTEGER_EXT = 0x8D94 GREEN_INTEGER_EXT = 0x8D95 BLUE_INTEGER_EXT = 0x8D96 ALPHA_INTEGER_EXT = 0x8D97 RGB_INTEGER_EXT = 0x8D98 RGBA_INTEGER_EXT = 0x8D99 BGR_INTEGER_EXT = 0x8D9A BGRA_INTEGER_EXT = 0x8D9B LUMINANCE_INTEGER_EXT = 0x8D9C LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D RGBA_INTEGER_MODE_EXT = 0x8D9E ############################################################################### # Extension #344 - GLX_EXT_texture_from_pixmap ############################################################################### # No new tokens # Extension #345 GREMEDY_frame_terminator enum: ############################################################################### # Extension #346 NV_conditional_render enum: QUERY_WAIT_NV = 0x8E13 QUERY_NO_WAIT_NV = 0x8E14 QUERY_BY_REGION_WAIT_NV = 0x8E15 QUERY_BY_REGION_NO_WAIT_NV = 0x8E16 ############################################################################### # Extension #347 NV_present_video enum: FRAME_NV = 0x8E26 FIELDS_NV = 0x8E27 CURRENT_TIME_NV = 0x8E28 NUM_FILL_STREAMS_NV = 0x8E29 PRESENT_TIME_NV = 0x8E2A PRESENT_DURATION_NV = 0x8E2B ############################################################################### # Extension #348 - GLX_NV_video_out # Extension #349 - WGL_NV_video_out # Extension #350 - GLX_NV_swap_group # Extension #351 - WGL_NV_swap_group ############################################################################### # Extension #352 EXT_transform_feedback enum: TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84 TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85 TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F INTERLEAVED_ATTRIBS_EXT = 0x8C8C SEPARATE_ATTRIBS_EXT = 0x8C8D PRIMITIVES_GENERATED_EXT = 0x8C87 TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88 RASTERIZER_DISCARD_EXT = 0x8C89 MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80 TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83 TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76 ############################################################################### # Extension #353 EXT_direct_state_access enum: PROGRAM_MATRIX_EXT = 0x8E2D TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F ############################################################################### # Extension #354 EXT_vertex_array_bgra enum: use VERSION_1_2 BGRA ############################################################################### # Extension #355 - WGL_NV_gpu_affinity ############################################################################### # Extension #356 EXT_texture_swizzle enum: TEXTURE_SWIZZLE_R_EXT = 0x8E42 TEXTURE_SWIZZLE_G_EXT = 0x8E43 TEXTURE_SWIZZLE_B_EXT = 0x8E44 TEXTURE_SWIZZLE_A_EXT = 0x8E45 TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46 ############################################################################### # Extension #357 NV_explicit_multisample enum: SAMPLE_POSITION_NV = 0x8E50 SAMPLE_MASK_NV = 0x8E51 SAMPLE_MASK_VALUE_NV = 0x8E52 TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53 TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54 TEXTURE_RENDERBUFFER_NV = 0x8E55 SAMPLER_RENDERBUFFER_NV = 0x8E56 INT_SAMPLER_RENDERBUFFER_NV = 0x8E57 UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58 MAX_SAMPLE_MASK_WORDS_NV = 0x8E59 ############################################################################### # Extension #358 NV_transform_feedback2 enum: TRANSFORM_FEEDBACK_NV = 0x8E22 TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23 TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24 TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25 ############################################################################### # Extension #359 ATI_meminfo enum: VBO_FREE_MEMORY_ATI = 0x87FB TEXTURE_FREE_MEMORY_ATI = 0x87FC RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD ############################################################################### # Extension #360 AMD_performance_monitor enum: COUNTER_TYPE_AMD = 0x8BC0 COUNTER_RANGE_AMD = 0x8BC1 UNSIGNED_INT64_AMD = 0x8BC2 PERCENTAGE_AMD = 0x8BC3 PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4 PERFMON_RESULT_SIZE_AMD = 0x8BC5 PERFMON_RESULT_AMD = 0x8BC6 ############################################################################### # Extension #361 - WGL_AMD_gpu_association ############################################################################### # No new tokens # Extension #362 AMD_texture_texture4 enum: ############################################################################### # Extension #363 AMD_vertex_shader_tesselator enum: SAMPLER_BUFFER_AMD = 0x9001 INT_SAMPLER_BUFFER_AMD = 0x9002 UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003 TESSELLATION_MODE_AMD = 0x9004 TESSELLATION_FACTOR_AMD = 0x9005 DISCRETE_AMD = 0x9006 CONTINUOUS_AMD = 0x9007 ############################################################################### # Extension #364 EXT_provoking_vertex enum: QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C FIRST_VERTEX_CONVENTION_EXT = 0x8E4D LAST_VERTEX_CONVENTION_EXT = 0x8E4E PROVOKING_VERTEX_EXT = 0x8E4F ############################################################################### # Extension #365 EXT_texture_snorm enum: ALPHA_SNORM = 0x9010 LUMINANCE_SNORM = 0x9011 LUMINANCE_ALPHA_SNORM = 0x9012 INTENSITY_SNORM = 0x9013 ALPHA8_SNORM = 0x9014 LUMINANCE8_SNORM = 0x9015 LUMINANCE8_ALPHA8_SNORM = 0x9016 INTENSITY8_SNORM = 0x9017 ALPHA16_SNORM = 0x9018 LUMINANCE16_SNORM = 0x9019 LUMINANCE16_ALPHA16_SNORM = 0x901A INTENSITY16_SNORM = 0x901B use VERSION_3_1 R_SNORM use VERSION_3_1 RG_SNORM use VERSION_3_1 RGB_SNORM use VERSION_3_1 RGBA_SNORM use VERSION_3_1 R8_SNORM use VERSION_3_1 RG8_SNORM use VERSION_3_1 RGB8_SNORM use VERSION_3_1 RGBA8_SNORM use VERSION_3_1 R16_SNORM use VERSION_3_1 RG16_SNORM use VERSION_3_1 RGB16_SNORM use VERSION_3_1 RGBA16_SNORM use VERSION_3_1 SIGNED_NORMALIZED ############################################################################### # No new tokens # Extension #366 AMD_draw_buffers_blend enum: ############################################################################### # Extension #367 APPLE_texture_range enum: TEXTURE_RANGE_LENGTH_APPLE = 0x85B7 TEXTURE_RANGE_POINTER_APPLE = 0x85B8 TEXTURE_STORAGE_HINT_APPLE = 0x85BC STORAGE_PRIVATE_APPLE = 0x85BD use APPLE_vertex_array_range STORAGE_CACHED_APPLE use APPLE_vertex_array_range STORAGE_SHARED_APPLE ############################################################################### # Extension #368 APPLE_float_pixels enum: HALF_APPLE = 0x140B RGBA_FLOAT32_APPLE = 0x8814 RGB_FLOAT32_APPLE = 0x8815 ALPHA_FLOAT32_APPLE = 0x8816 INTENSITY_FLOAT32_APPLE = 0x8817 LUMINANCE_FLOAT32_APPLE = 0x8818 LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819 RGBA_FLOAT16_APPLE = 0x881A RGB_FLOAT16_APPLE = 0x881B ALPHA_FLOAT16_APPLE = 0x881C INTENSITY_FLOAT16_APPLE = 0x881D LUMINANCE_FLOAT16_APPLE = 0x881E LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F COLOR_FLOAT_APPLE = 0x8A0F ############################################################################### # Extension #369 APPLE_vertex_program_evaluators enum: VERTEX_ATTRIB_MAP1_APPLE = 0x8A00 VERTEX_ATTRIB_MAP2_APPLE = 0x8A01 VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02 VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03 VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04 VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05 VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06 VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07 VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08 VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09 ############################################################################### # Extension #370 APPLE_aux_depth_stencil enum: AUX_DEPTH_STENCIL_APPLE = 0x8A14 ############################################################################### # Extension #371 APPLE_object_purgeable enum: BUFFER_OBJECT_APPLE = 0x85B3 RELEASED_APPLE = 0x8A19 VOLATILE_APPLE = 0x8A1A RETAINED_APPLE = 0x8A1B UNDEFINED_APPLE = 0x8A1C PURGEABLE_APPLE = 0x8A1D ############################################################################### # Extension #372 APPLE_row_bytes enum: PACK_ROW_BYTES_APPLE = 0x8A15 UNPACK_ROW_BYTES_APPLE = 0x8A16 ############################################################################### #------------------------------------------------------------------------------ # # OpenTK edits for type safety # #------------------------------------------------------------------------------ # Version 1.1 ArrayCap enum: use GetPName VERTEX_ARRAY use GetPName NORMAL_ARRAY use GetPName COLOR_ARRAY SECONDARY_COLOR_ARRAY = 0x845E # 1 I use GetPName INDEX_ARRAY use GetPName EDGE_FLAG_ARRAY use GetPName TEXTURE_COORD_ARRAY FOG_COORD_ARRAY = 0x8457 # Version 1.2 # Light Model (http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml) LightModelParameter enum: LIGHT_MODEL_COLOR_CONTROL = 0x81F8 # 1 I LightModelColorControl enum: SINGLE_COLOR = 0x81F9 SEPARATE_SPECULAR_COLOR = 0x81FA GetPName enum: LIGHT_MODEL_COLOR_CONTROL = 0x81F8 # Rescale Normal (http://www.opengl.org/registry/specs/EXT/rescale_normal.txt) EnableCap enum: RESCALE_NORMAL = 0x803A # 1 I # Equivalent to EXT_rescale_normal # Draw Range Elements (http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml) GetPName enum: MAX_ELEMENTS_VERTICES = 0x80E8 MAX_ELEMENTS_INDICES = 0x80E9 # 3d textures (http://www.opengl.org/sdk/docs/man/xhtml/glTexImage3D.xml) # http://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml TextureTarget enum: TEXTURE_3D = 0x806F # 1 I PROXY_TEXTURE_3D = 0x8070 PixelType enum: UNSIGNED_BYTE_3_3_2 = 0x8032 # Equivalent to EXT_packed_pixels UNSIGNED_SHORT_4_4_4_4 = 0x8033 UNSIGNED_SHORT_5_5_5_1 = 0x8034 UNSIGNED_INT_8_8_8_8 = 0x8035 UNSIGNED_INT_10_10_10_2 = 0x8036 UNSIGNED_BYTE_2_3_3_REVERSED = 0x8362 # New for OpenGL 1.2 UNSIGNED_SHORT_5_6_5 = 0x8363 UNSIGNED_SHORT_5_6_5_REVERSED = 0x8364 UNSIGNED_SHORT_4_4_4_4_REVERSED = 0x8365 UNSIGNED_SHORT_1_5_5_5_REVERSED = 0x8366 UNSIGNED_INT_8_8_8_8_REVERSED = 0x8367 UNSIGNED_INT_2_10_10_10_REVERSED = 0x8368 PixelFormat enum: BGR = 0x80E0 BGRA = 0x80E1 GetPName enum: TEXTURE_BINDING_3D = 0x806A # 1 I SMOOTH_POINT_SIZE_RANGE = 0x0B12 # 2 F SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 # 1 F SMOOTH_LINE_WIDTH_RANGE = 0x0B22 # 2 F SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F ALIASED_POINT_SIZE_RANGE = 0x846D # 2 F ALIASED_LINE_WIDTH_RANGE = 0x846E # 2 F MAX_3D_TEXTURE_SIZE = 0x8073 # 1 I GetTextureParameter enum: TEXTURE_MIN_LOD = 0x813A # Equivalent to SGIS_texture_lod TEXTURE_MAX_LOD = 0x813B TEXTURE_BASE_LEVEL = 0x813C TEXTURE_MAX_LEVEL = 0x813D TEXTURE_DEPTH = 0x8071 TEXTURE_WRAP_R = 0x8072 TextureParameterName enum: CLAMP_TO_EDGE = 0x812F # Equivalent to SGIS_texture_edge_clamp use GetTextureParameter TEXTURE_MIN_LOD use GetTextureParameter TEXTURE_MAX_LOD use GetTextureParameter TEXTURE_BASE_LEVEL use GetTextureParameter TEXTURE_MAX_LEVEL use GetTextureParameter TEXTURE_DEPTH use GetTextureParameter TEXTURE_WRAP_R TextureWrapMode enum: CLAMP_TO_EDGE = 0x812F # Equivalent to SGIS_texture_edge_clamp PixelStoreParameter enum: PACK_SKIP_IMAGES = 0x806B # 1 I PACK_IMAGE_HEIGHT = 0x806C # 1 F UNPACK_SKIP_IMAGES = 0x806D # 1 I UNPACK_IMAGE_HEIGHT = 0x806E # 1 F MatrixMode enum: use PixelCopyType COLOR # Supported by the ARB_imaging extension BlendEquationMode enum: FUNC_ADD = 0x8006 # Equivalent to EXT_blend_minmax MIN = 0x8007 MAX = 0x8008 FUNC_SUBTRACT = 0x800A # Equivalent to EXT_blend_subtract FUNC_REVERSE_SUBTRACT = 0x800B # Promoted from EXT_blend_color (pg. 178 of GL3.1 spec). BlendingFactorDest enum: CONSTANT_COLOR = 0x8001 ONE_MINUS_CONSTANT_COLOR = 0x8002 CONSTANT_ALPHA = 0x8003 ONE_MINUS_CONSTANT_ALPHA = 0x8004 BlendingFactorSrc enum: CONSTANT_COLOR = 0x8001 ONE_MINUS_CONSTANT_COLOR = 0x8002 CONSTANT_ALPHA = 0x8003 ONE_MINUS_CONSTANT_ALPHA = 0x8004 # Promoted from SGI_color_table ColorTableTarget enum: COLOR_TABLE = 0x80D0 # 1 I # Equivalent to SGI_color_table POST_CONVOLUTION_COLOR_TABLE = 0x80D1 # 1 I POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 # 1 I PROXY_COLOR_TABLE = 0x80D3 PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4 PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5 ColorTableParameterPName enum: COLOR_TABLE_SCALE = 0x80D6 COLOR_TABLE_BIAS = 0x80D7 GetColorTableParameterPName enum: COLOR_TABLE_SCALE = 0x80D6 COLOR_TABLE_BIAS = 0x80D7 COLOR_TABLE_FORMAT = 0x80D8 COLOR_TABLE_WIDTH = 0x80D9 COLOR_TABLE_RED_SIZE = 0x80DA COLOR_TABLE_GREEN_SIZE = 0x80DB COLOR_TABLE_BLUE_SIZE = 0x80DC COLOR_TABLE_ALPHA_SIZE = 0x80DD COLOR_TABLE_LUMINANCE_SIZE = 0x80DE COLOR_TABLE_INTENSITY_SIZE = 0x80DF EnableCap enum: COLOR_TABLE = 0x80D0 POST_CONVOLUTION_COLOR_TABLE = 0x80D1 POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 # Promoted from EXT_convolution ConvolutionParameter enum: CONVOLUTION_BORDER_MODE = 0x8013 CONVOLUTION_FILTER_SCALE = 0x8014 CONVOLUTION_FILTER_BIAS = 0x8015 ConvolutionParameterValue enum: REDUCE = 0x8016 CONSTANT_BORDER = 0x8151 REPLICATE_BORDER = 0x8153 ConvolutionTarget enum: CONVOLUTION_1D = 0x8010 # 1 I # Equivalent to EXT_convolution CONVOLUTION_2D = 0x8011 # 1 I SEPARABLE_2D = 0x8012 GetConvolutionParameterPName enum: CONVOLUTION_BORDER_MODE = 0x8013 CONVOLUTION_BORDER_COLOR = 0x8154 CONVOLUTION_FILTER_SCALE = 0x8014 CONVOLUTION_FILTER_BIAS = 0x8015 CONVOLUTION_FORMAT = 0x8017 CONVOLUTION_WIDTH = 0x8018 CONVOLUTION_HEIGHT = 0x8019 MAX_CONVOLUTION_WIDTH = 0x801A MAX_CONVOLUTION_HEIGHT = 0x801B SeparableTarget enum: SEPARABLE_2D = 0x8012 # 1 I EnableCap enum: CONVOLUTION_1D = 0x8010 CONVOLUTION_2D = 0x8011 SEPARABLE_2D = 0x8012 # Promoted from EXT_histogram MinmaxTarget enum: MINMAX = 0x802E GetMinmaxParameterPName enum: MINMAX_FORMAT = 0x802F MINMAX_SINK = 0x8030 HistogramTarget enum: HISTOGRAM = 0x8024 # 1 I # Equivalent to EXT_histogram PROXY_HISTOGRAM = 0x8025 GetHistogramParameterPName enum: HISTOGRAM_WIDTH = 0x8026 HISTOGRAM_FORMAT = 0x8027 HISTOGRAM_RED_SIZE = 0x8028 HISTOGRAM_GREEN_SIZE = 0x8029 HISTOGRAM_BLUE_SIZE = 0x802A HISTOGRAM_ALPHA_SIZE = 0x802B HISTOGRAM_LUMINANCE_SIZE = 0x802C HISTOGRAM_SINK = 0x802D EnableCap enum: HISTOGRAM = 0x8024 # Version 1.3 # Texture Parameter (http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml) TextureParameterName enum: CLAMP_TO_BORDER = 0x812D # Promoted from ARB_texture_border_clamp TextureWrapMode enum: CLAMP_TO_BORDER = 0x812D # Promoted from ARB_texture_border_clamp # Multisample (http://www.opengl.org/registry/specs/ARB/multisample.txt) EnableCap enum: MULTISAMPLE = 0x809D # Promoted from ARB_multisample SAMPLE_ALPHA_TO_COVERAGE = 0x809E SAMPLE_ALPHA_TO_ONE = 0x809F SAMPLE_COVERAGE = 0x80A0 GetPName enum: MULTISAMPLE = 0x809D # Promoted from ARB_multisample SAMPLE_ALPHA_TO_COVERAGE = 0x809E SAMPLE_ALPHA_TO_ONE = 0x809F SAMPLE_COVERAGE = 0x80A0 SAMPLE_BUFFERS = 0x80A8 SAMPLES = 0x80A9 SAMPLE_COVERAGE_VALUE = 0x80AA SAMPLE_COVERAGE_INVERT = 0x80AB AttribMask enum: MULTISAMPLE_BIT = 0x20000000 # Texture Environment Combine, Crossbar and Dot3 # http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml # http://www.opengl.org/registry/specs/ARB/texture_env_combine.txt # http://www.opengl.org/registry/specs/ARB/texture_env_crossbar.txt # http://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt TextureEnvMode enum: COMBINE = 0x8570 # Promoted from ARB_texture_env_combine TextureEnvParameter enum: COMBINE_RGB = 0x8571 COMBINE_ALPHA = 0x8572 SOURCE0_RGB = 0x8580 SRC1_RGB = 0x8581 SRC2_RGB = 0x8582 SRC0_ALPHA = 0x8588 SRC1_ALPHA = 0x8589 SRC2_ALPHA = 0x858A OPERAND0_RGB = 0x8590 OPERAND1_RGB = 0x8591 OPERAND2_RGB = 0x8592 OPERAND0_ALPHA = 0x8598 OPERAND1_ALPHA = 0x8599 OPERAND2_ALPHA = 0x859A RGB_SCALE = 0x8573 use GetPName ALPHA_SCALE # Accepted by GL.TexGen when the pname parameter value is CombineRgb or CombineAlpha. TextureEnvModeCombine enum: use StencilOp REPLACE use TextureEnvMode MODULATE use AccumOp ADD ADD_SIGNED = 0x8574 INTERPOLATE = 0x8575 SUBTRACT = 0x84E7 DOT3_RGB = 0x86AE # Promoted from ARB_texture_env_dot3 DOT3_RGBA = 0x86AF # Accepted by GL.TexGen when the pname parameter value is Source0Rgb, Source1Rgb, Source2Rgb, Source0Alpha, Source1Alpha, or Source2Alpha. TextureEnvModeSource enum: use MatrixMode TEXTURE CONSTANT = 0x8576 PRIMARY_COLOR = 0x8577 PREVIOUS = 0x8578 TEXTURE0 = 0x84C0 # Promoted from ARB_multitexture TEXTURE1 = 0x84C1 TEXTURE2 = 0x84C2 TEXTURE3 = 0x84C3 TEXTURE4 = 0x84C4 TEXTURE5 = 0x84C5 TEXTURE6 = 0x84C6 TEXTURE7 = 0x84C7 TEXTURE8 = 0x84C8 TEXTURE9 = 0x84C9 TEXTURE10 = 0x84CA TEXTURE11 = 0x84CB TEXTURE12 = 0x84CC TEXTURE13 = 0x84CD TEXTURE14 = 0x84CE TEXTURE15 = 0x84CF TEXTURE16 = 0x84D0 TEXTURE17 = 0x84D1 TEXTURE18 = 0x84D2 TEXTURE19 = 0x84D3 TEXTURE20 = 0x84D4 TEXTURE21 = 0x84D5 TEXTURE22 = 0x84D6 TEXTURE23 = 0x84D7 TEXTURE24 = 0x84D8 TEXTURE25 = 0x84D9 TEXTURE26 = 0x84DA TEXTURE27 = 0x84DB TEXTURE28 = 0x84DC TEXTURE29 = 0x84DD TEXTURE30 = 0x84DE TEXTURE31 = 0x84DF # Accepted by GL.TexGen when the pname parameter value is Operand0Rgb, Operand1Rgb, or Operand2Rgb. TextureEnvModeOperandRgb enum: use BlendingFactorDest SRC_COLOR use BlendingFactorDest ONE_MINUS_SRC_COLOR use BlendingFactorDest SRC_ALPHA use BlendingFactorDest ONE_MINUS_SRC_ALPHA # Accepted by GL.TexGen when the pname parameter value is Operand0Alpha, Operand1Alpha, or Operand2Alpha. TextureEnvModeOperandAlpha enum: use BlendingFactorDest SRC_ALPHA use BlendingFactorDest ONE_MINUS_SRC_ALPHA # Accepted by GL.TexGen when the pname parameter value is RgbScale or AlphaScale. TextureEnvModeScale enum: ONE = 1 TWO = 2 FOUR = 4 # Transpose Matrix (http://www.opengl.org/registry/specs/ARB/transpose_matrix.txt) GetPName enum: TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 # 16 F # Promoted from ARB_transpose_matrix TRANSPOSE_PROJECTION_MATRIX = 0x84E4 # 16 F TRANSPOSE_TEXTURE_MATRIX = 0x84E5 # 16 F TRANSPOSE_COLOR_MATRIX = 0x84E6 # 16 F # Cube Maps (http://www.opengl.org/registry/specs/ARB/texture_cube_map.txt) TextureGenMode enum: NORMAL_MAP = 0x8511 # Promoted from ARB_texture_cube_map REFLECTION_MAP = 0x8512 EnableCap enum: TEXTURE_CUBE_MAP = 0x8513 TextureTarget enum: TEXTURE_CUBE_MAP = 0x8513 TEXTURE_BINDING_CUBE_MAP = 0x8514 TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A PROXY_TEXTURE_CUBE_MAP = 0x851B GetPName enum: TEXTURE_CUBE_MAP = 0x8513 TEXTURE_BINDING_CUBE_MAP = 0x8514 MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C # Multitexture (http://www.opengl.org/documentation/specs/version1.2/opengl1.2.1.pdf) GetPName enum: ACTIVE_TEXTURE = 0x84E0 # 1 I CLIENT_ACTIVE_TEXTURE = 0x84E1 # 1 I MAX_TEXTURE_UNITS = 0x84E2 # 1 I TextureUnit enum: TEXTURE0 = 0x84C0 # Promoted from ARB_multitexture TEXTURE1 = 0x84C1 TEXTURE2 = 0x84C2 TEXTURE3 = 0x84C3 TEXTURE4 = 0x84C4 TEXTURE5 = 0x84C5 TEXTURE6 = 0x84C6 TEXTURE7 = 0x84C7 TEXTURE8 = 0x84C8 TEXTURE9 = 0x84C9 TEXTURE10 = 0x84CA TEXTURE11 = 0x84CB TEXTURE12 = 0x84CC TEXTURE13 = 0x84CD TEXTURE14 = 0x84CE TEXTURE15 = 0x84CF TEXTURE16 = 0x84D0 TEXTURE17 = 0x84D1 TEXTURE18 = 0x84D2 TEXTURE19 = 0x84D3 TEXTURE20 = 0x84D4 TEXTURE21 = 0x84D5 TEXTURE22 = 0x84D6 TEXTURE23 = 0x84D7 TEXTURE24 = 0x84D8 TEXTURE25 = 0x84D9 TEXTURE26 = 0x84DA TEXTURE27 = 0x84DB TEXTURE28 = 0x84DC TEXTURE29 = 0x84DD TEXTURE30 = 0x84DE TEXTURE31 = 0x84DF # Compressed Textures (http://www.opengl.org/registry/specs/ARB/texture_compression.txt) PixelInternalFormat enum: COMPRESSED_ALPHA = 0x84E9 # Promoted from ARB_texture_compression COMPRESSED_LUMINANCE = 0x84EA COMPRESSED_LUMINANCE_ALPHA = 0x84EB COMPRESSED_INTENSITY = 0x84EC COMPRESSED_RGB = 0x84ED COMPRESSED_RGBA = 0x84EE # Tokens from EXT_texture_compression_s3tc enum: COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0 COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1 COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2 COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 HintTarget enum: TEXTURE_COMPRESSION_HINT = 0x84EF GetTextureParameter enum: TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 TEXTURE_COMPRESSED = 0x86A1 GetPName enum: TEXTURE_COMPRESSION_HINT = 0x84EF NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 COMPRESSED_TEXTURE_FORMATS = 0x86A3 # Version 1.4 # Generate Mipmap (http://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt) TextureParameterName enum: GENERATE_MIPMAP = 0x8191 GetPName enum: GENERATE_MIPMAP_HINT = 0x8192 # 1 I GetTextureParameter enum: GENERATE_MIPMAP = 0x8191 HintTarget enum: GENERATE_MIPMAP_HINT = 0x8192 # 1 I # Stencil Wrap (http://www.opengl.org/registry/specs/EXT/stencil_wrap.txt) StencilOp enum: INCR_WRAP = 0x8507 DECR_WRAP = 0x8508 # Texture LOD Bias (http://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt) TextureEnvTarget enum: TEXTURE_FILTER_CONTROL = 0x8500 TextureEnvParameter enum: TEXTURE_LOD_BIAS = 0x8501 GetPName enum: MAX_TEXTURE_LOD_BIAS = 0x84FD # Blendfunc Separate (http://www.opengl.org/registry/specs/EXT/blend_func_separate.txt) GetPName enum: BLEND_DST_RGB = 0x80C8 BLEND_SRC_RGB = 0x80C9 BLEND_DST_ALPHA = 0x80CA BLEND_SRC_ALPHA = 0x80CB # Texture Filter Control TextureEnvTarget enum: TEXTURE_FILTER_CONTROL = 0x8500 # Depth Texture PixelInternalFormat enum: use PixelFormat DEPTH_COMPONENT DEPTH_COMPONENT16 = 0x81a5 DEPTH_COMPONENT24 = 0x81a6 DEPTH_COMPONENT32 = 0x81a7 GetTextureParameter enum: TEXTURE_DEPTH_SIZE = 0x884A DEPTH_TEXTURE_MODE = 0x884B TextureParameterName enum: DEPTH_TEXTURE_MODE = 0x884B # Texture Wrap Mode TextureWrapMode enum: MIRRORED_REPEAT = 0x8370 # Shadow (http://opengl.org/registry/specs/ARB/shadow.txt) TextureParameterName enum: TEXTURE_COMPARE_MODE = 0x884C TEXTURE_COMPARE_FUNC = 0x884D GetTextureParameter enum: TEXTURE_COMPARE_MODE = 0x884C TEXTURE_COMPARE_FUNC = 0x884D TextureCompareMode enum: COMPARE_R_TO_TEXTURE = 0x884E # Shadow Ambient (http://opengl.org/registry/specs/ARB/shadow_ambient.txt) TextureParameterName enum: TEXTURE_COMPARE_FAIL_VALUE = 0x80BF # Fog (http://www.opengl.org/registry/specs/EXT/fog_coord.txt) FogPointerType enum: use DataType FLOAT use DataType DOUBLE FogParameter enum: FOG_COORD_SRC = 0x8450 FogMode enum: FOG_COORD = 0x8451 FRAGMENT_DEPTH = 0x8452 GetPName enum: CURRENT_FOG_COORD = 0x8453 FOG_COORD_ARRAY_TYPE = 0x8454 FOG_COORD_ARRAY_STRIDE = 0x8455 GetPointervPName enum: FOG_COORD_ARRAY_POINTER = 0x8456 EnableCap enum: FOG_COORD_ARRAY = 0x8457 # Secondary Color (http://www.opengl.org/registry/specs/EXT/secondary_color.txt) EnableCap enum: COLOR_SUM = 0x8458 SECONDARY_COLOR_ARRAY = 0x845E GetPName enum: COLOR_SUM = 0x8458 CURRENT_SECONDARY_COLOR = 0x8459 SECONDARY_COLOR_ARRAY_SIZE = 0x845A SECONDARY_COLOR_ARRAY_TYPE = 0x845B SECONDARY_COLOR_ARRAY_STRIDE = 0x845C GetPointervPName enum: SECONDARY_COLOR_ARRAY_POINTER = 0x845D # Point Parameters (http://www.opengl.org/registry/specs/ARB/point_parameters.txt) PointParameterName enum: POINT_SIZE_MIN = 0x8126 POINT_SIZE_MAX = 0x8127 POINT_FADE_THRESHOLD_SIZE = 0x8128 # this token is only accepted by GL.PointParameterv not GL.PointParameter POINT_DISTANCE_ATTENUATION = 0x8129 GetPName enum: POINT_SIZE_MIN = 0x8126 POINT_SIZE_MAX = 0x8127 POINT_FADE_THRESHOLD_SIZE = 0x8128 # this token is only accepted by GL.PointParameterv not GL.PointParameter POINT_DISTANCE_ATTENUATION = 0x8129 # Version 1.5 # Occlusion Query QueryTarget enum: SAMPLES_PASSED = 0x8914 GetQueryParam enum: QUERY_COUNTER_BITS = 0x8864 CURRENT_QUERY = 0x8865 GetQueryObjectParam enum: QUERY_RESULT = 0x8866 QUERY_RESULT_AVAILABLE = 0x8867 # Buffer Objects (http://www.opengl.org/sdk/docs/man/xhtml/glBindBuffer.xml) BufferTarget enum: ARRAY_BUFFER = 0x8892 # ARB_vertex_buffer_object ELEMENT_ARRAY_BUFFER = 0x8893 # ARB_vertex_buffer_object BufferUsageHint enum: STREAM_DRAW = 0x88E0 # ARB_vertex_buffer_object STREAM_READ = 0x88E1 # ARB_vertex_buffer_object STREAM_COPY = 0x88E2 # ARB_vertex_buffer_object STATIC_DRAW = 0x88E4 # ARB_vertex_buffer_object STATIC_READ = 0x88E5 # ARB_vertex_buffer_object STATIC_COPY = 0x88E6 # ARB_vertex_buffer_object DYNAMIC_DRAW = 0x88E8 # ARB_vertex_buffer_object DYNAMIC_READ = 0x88E9 # ARB_vertex_buffer_object DYNAMIC_COPY = 0x88EA # ARB_vertex_buffer_object BufferAccess enum: READ_ONLY = 0x88B8 # ARB_vertex_buffer_object WRITE_ONLY = 0x88B9 # ARB_vertex_buffer_object READ_WRITE = 0x88BA # ARB_vertex_buffer_object BufferParameterName enum: BUFFER_SIZE = 0x8764 # ARB_vertex_buffer_object BUFFER_USAGE = 0x8765 # ARB_vertex_buffer_object BUFFER_ACCESS = 0x88BB # ARB_vertex_buffer_object BUFFER_MAPPED = 0x88BC # ARB_vertex_buffer_object BufferPointer enum: BUFFER_MAP_POINTER = 0x88BD # ARB_vertex_buffer_object GetPName enum: ARRAY_BUFFER_BINDING = 0x8894 # ARB_vertex_buffer_object ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 # ARB_vertex_buffer_object VERTEX_ARRAY_BUFFER_BINDING = 0x8896 # ARB_vertex_buffer_object NORMAL_ARRAY_BUFFER_BINDING = 0x8897 # ARB_vertex_buffer_object COLOR_ARRAY_BUFFER_BINDING = 0x8898 # ARB_vertex_buffer_object INDEX_ARRAY_BUFFER_BINDING = 0x8899 # ARB_vertex_buffer_object TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A # ARB_vertex_buffer_object EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B # ARB_vertex_buffer_object SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C # ARB_vertex_buffer_object FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D # ARB_vertex_buffer_object WEIGHT_ARRAY_BUFFER_BINDING = 0x889E # ARB_vertex_buffer_object VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F # ARB_vertex_buffer_object # Version 2.0 # Two Side Stencil # http://www.opengl.org/sdk/docs/man/xhtml/glStencilFuncSeparate.xml # http://www.opengl.org/sdk/docs/man/xhtml/glStencilMaskSeparate.xml # http://www.opengl.org/sdk/docs/man/xhtml/glStencilOpSeparate.xml GetPName enum: STENCIL_BACK_FUNC = 0x8800 # ARB_stencil_two_side STENCIL_BACK_FAIL = 0x8801 # ARB_stencil_two_side STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 # ARB_stencil_two_side STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 # ARB_stencil_two_side STENCIL_BACK_REF = 0x8CA3 # ARB_stencil_two_side STENCIL_BACK_VALUE_MASK = 0x8CA4 # ARB_stencil_two_side STENCIL_BACK_WRITEMASK = 0x8CA5 # ARB_stencil_two_side # Blend equation separate (http://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt) GetPName enum: BLEND_EQUATION_RGB = 0x8009 # EXT_blend_equation_separate BLEND_EQUATION_ALPHA = 0x883D # EXT_blend_equation_separate # Shader Objects # http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml # http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml ShaderType enum: FRAGMENT_SHADER = 0x8B30 # ARB_fragment_shader VERTEX_SHADER = 0x8B31 # ARB_vertex_shader GEOMETRY_SHADER_EXT = 0x8DD9 # EXT_geometry_shader4 -- not core EnableCap enum: VERTEX_PROGRAM_POINT_SIZE = 0x8642 # ARB_vertex_shader VERTEX_PROGRAM_TWO_SIDE = 0x8643 # ARB_vertex_shader GetPName enum: FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B # ARB_fragment_shader MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 # ARB_fragment_shader MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A # ARB_vertex_shader MAX_VARYING_FLOATS = 0x8B4B # ARB_vertex_shader MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C # ARB_vertex_shader MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D # ARB_vertex_shader MAX_TEXTURE_COORDS = 0x8871 # ARB_vertex_shader, ARB_fragment_shader MAX_TEXTURE_IMAGE_UNITS = 0x8872 # ARB_vertex_shader, ARB_fragment_shader MAX_VERTEX_ATTRIBS = 0x8869 # ARB_vertex_shader CURRENT_PROGRAM = 0x8B8D # ARB_shader_objects (added for 2.0) HintTarget enum: FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B # ARB_fragment_shader ActiveUniformType enum: use DataType FLOAT FLOAT_VEC2 = 0x8B50 # ARB_shader_objects FLOAT_VEC3 = 0x8B51 # ARB_shader_objects FLOAT_VEC4 = 0x8B52 # ARB_shader_objects use DataType INT INT_VEC2 = 0x8B53 # ARB_shader_objects INT_VEC3 = 0x8B54 # ARB_shader_objects INT_VEC4 = 0x8B55 # ARB_shader_objects BOOL = 0x8B56 # ARB_shader_objects BOOL_VEC2 = 0x8B57 # ARB_shader_objects BOOL_VEC3 = 0x8B58 # ARB_shader_objects BOOL_VEC4 = 0x8B59 # ARB_shader_objects FLOAT_MAT2 = 0x8B5A # ARB_shader_objects FLOAT_MAT3 = 0x8B5B # ARB_shader_objects FLOAT_MAT4 = 0x8B5C # ARB_shader_objects SAMPLER_1D = 0x8B5D # ARB_shader_objects SAMPLER_2D = 0x8B5E # ARB_shader_objects SAMPLER_3D = 0x8B5F # ARB_shader_objects SAMPLER_CUBE = 0x8B60 # ARB_shader_objects SAMPLER_1D_SHADOW = 0x8B61 # ARB_shader_objects SAMPLER_2D_SHADOW = 0x8B62 # ARB_shader_objects ActiveAttribType enum: use DataType FLOAT FLOAT_VEC2 = 0x8B50 # ARB_shader_objects FLOAT_VEC3 = 0x8B51 # ARB_shader_objects FLOAT_VEC4 = 0x8B52 # ARB_shader_objects FLOAT_MAT2 = 0x8B5A # ARB_shader_objects FLOAT_MAT3 = 0x8B5B # ARB_shader_objects FLOAT_MAT4 = 0x8B5C # ARB_shader_objects VertexAttribPointerType enum: use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT use DataType FLOAT use DataType DOUBLE # Shading Language StringName enum: SHADING_LANGUAGE_VERSION = 0x8B8C # Used in GetShader (http://www.opengl.org/sdk/docs/man/xhtml/glGetShader.xml) ShaderParameter enum: DELETE_STATUS = 0x8B80 # ARB_shader_objects COMPILE_STATUS = 0x8B81 # ARB_shader_objects INFO_LOG_LENGTH = 0x8B84 # ARB_shader_objects SHADER_SOURCE_LENGTH = 0x8B88 # ARB_shader_objects SHADER_TYPE = 0x8B4F # ARB_shader_objects # Used in GetProgram (http://www.opengl.org/sdk/docs/man/xhtml/glGetProgram.xml) ProgramParameter enum: DELETE_STATUS = 0x8B80 # ARB_shader_objects LINK_STATUS = 0x8B82 # ARB_shader_objects VALIDATE_STATUS = 0x8B83 # ARB_shader_objects INFO_LOG_LENGTH = 0x8B84 # ARB_shader_objects ATTACHED_SHADERS = 0x8B85 # ARB_shader_objects ACTIVE_UNIFORMS = 0x8B86 # ARB_shader_objects ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 # ARB_shader_objects ACTIVE_ATTRIBUTES = 0x8B89 # ARB_vertex_shader ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A # ARB_vertex_shader VertexAttribParameter enum: # VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 # ARB_vertex_shader # VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 # ARB_vertex_shader # VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 # ARB_vertex_shader # VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 # ARB_vertex_shader # CURRENT_VERTEX_ATTRIB = 0x8626 # ARB_vertex_shader # VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A # ARB_vertex_shader ARRAY_ENABLED = 0x8622 # ARB_vertex_shader ARRAY_SIZE = 0x8623 # ARB_vertex_shader ARRAY_STRIDE = 0x8624 # ARB_vertex_shader ARRAY_TYPE = 0x8625 # ARB_vertex_shader CURRENT_VERTEX_ATTRIB = 0x8626 # ARB_vertex_shader ARRAY_NORMALIZED = 0x886A # ARB_vertex_shader VertexAttribPointerParameter enum: # VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 # ARB_vertex_shader ARRAY_POINTER = 0x8645 # ARB_vertex_shader # Half Float (http://www.opengl.org/registry/specs/ARB/half_float_pixel.txt) PixelType enum: HALF_FLOAT = 0x140B # Draw Buffers (http://www.opengl.org/registry/specs/ARB/draw_buffers.txt) # Monoscopic contexts include only left buffers, while stereoscopic contexts include both left and right buffers. Likewise, single buffered contexts include only front buffers, while double buffered contexts include both front and back buffers. DrawBuffersEnum enum: use DrawBufferMode NONE use DrawBufferMode FRONT_LEFT use DrawBufferMode FRONT_RIGHT use DrawBufferMode BACK_LEFT use DrawBufferMode BACK_RIGHT use DrawBufferMode AUX0 use DrawBufferMode AUX1 use DrawBufferMode AUX2 use DrawBufferMode AUX3 GetPName enum: MAX_DRAW_BUFFERS = 0x8824 DRAW_BUFFER0 = 0x8825 DRAW_BUFFER1 = 0x8826 DRAW_BUFFER2 = 0x8827 DRAW_BUFFER3 = 0x8828 DRAW_BUFFER4 = 0x8829 DRAW_BUFFER5 = 0x882A DRAW_BUFFER6 = 0x882B DRAW_BUFFER7 = 0x882C DRAW_BUFFER8 = 0x882D DRAW_BUFFER9 = 0x882E DRAW_BUFFER10 = 0x882F DRAW_BUFFER11 = 0x8830 DRAW_BUFFER12 = 0x8831 DRAW_BUFFER13 = 0x8832 DRAW_BUFFER14 = 0x8833 DRAW_BUFFER15 = 0x8834 # Point Sprites # http://opengl.org/registry/specs/ARB/point_sprite.txt # http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml PointParameterName enum: POINT_SPRITE_COORD_ORIGIN = 0x8CA0 # ARB_point_sprite (added for 2.0) # Specifies the coordinate origin of the Point Sprite. PointSpriteCoordOriginParameter enum: LOWER_LEFT = 0x8CA1 # ARB_point_sprite (added for 2.0) UPPER_LEFT = 0x8CA2 # ARB_point_sprite (added for 2.0) EnableCap enum: POINT_SPRITE = 0x8861 TextureEnvTarget enum: POINT_SPRITE = 0x8861 TextureEnvParameter enum: COORD_REPLACE = 0x8862 # This Enum may only be used with GL.TexEnv if target is PointSprite and pname is CoordReplace. TextureEnvModePointSprite enum: use Boolean TRUE use Boolean FALSE GetPName enum: POINT_SPRITE = 0x8861 # Version 2.1 # Raster Secondary Color (http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml) GetPName enum: CURRENT_RASTER_SECONDARY_COLOR = 0x845F # New for 2.1 # Shader Uniforms (http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml) ActiveUniformType enum: FLOAT_MAT2x3 = 0x8B65 # New for 2.1 FLOAT_MAT2x4 = 0x8B66 # New for 2.1 FLOAT_MAT3x2 = 0x8B67 # New for 2.1 FLOAT_MAT3x4 = 0x8B68 # New for 2.1 FLOAT_MAT4x2 = 0x8B69 # New for 2.1 FLOAT_MAT4x3 = 0x8B6A # New for 2.1 # Pixel Buffer Objects http://www.opengl.org/sdk/docs/man/xhtml/glBindBuffer.xml BufferTarget enum: PIXEL_PACK_BUFFER = 0x88EB # ARB_pixel_buffer_object PIXEL_UNPACK_BUFFER = 0x88EC # ARB_pixel_buffer_object GetPName enum: PIXEL_PACK_BUFFER_BINDING = 0x88ED # ARB_pixel_buffer_object PIXEL_UNPACK_BUFFER_BINDING = 0x88EF # ARB_pixel_buffer_object # sRGB textures (http://www.opengl.org/registry/specs/EXT/texture_sRGB.txt) PixelInternalFormat enum: SRGB = 0x8C40 # EXT_texture_sRGB SRGB8 = 0x8C41 # EXT_texture_sRGB SRGB_ALPHA = 0x8C42 # EXT_texture_sRGB SRGB8_ALPHA8 = 0x8C43 # EXT_texture_sRGB SLUMINANCE_ALPHA = 0x8C44 # EXT_texture_sRGB SLUMINANCE8_ALPHA8 = 0x8C45 # EXT_texture_sRGB SLUMINANCE = 0x8C46 # EXT_texture_sRGB SLUMINANCE8 = 0x8C47 # EXT_texture_sRGB COMPRESSED_SRGB = 0x8C48 # EXT_texture_sRGB COMPRESSED_SRGB_ALPHA = 0x8C49 # EXT_texture_sRGB COMPRESSED_SLUMINANCE = 0x8C4A # EXT_texture_sRGB COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B # EXT_texture_sRGB # Format only valid for 2D Textures COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C # Format only valid for 2D Textures COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D # Format only valid for 2D Textures COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E # Format only valid for 2D Textures COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F # Version 3.0 # Promoted from ARB_color_buffer_float ClampColorTarget enum: CLAMP_VERTEX_COLOR = 0x891A CLAMP_FRAGMENT_COLOR = 0x891B CLAMP_READ_COLOR = 0x891C ClampColorMode enum: FIXED_ONLY = 0x891D use Boolean TRUE use Boolean FALSE GetPName enum: RGBA_FLOAT_MODE = 0x8820 use ClampColorTarget CLAMP_VERTEX_COLOR use ClampColorTarget CLAMP_FRAGMENT_COLOR use ClampColorTarget CLAMP_READ_COLOR # Promoted from ARB_texture_float GetTextureParameter enum: TEXTURE_RED_TYPE = 0x8C10 TEXTURE_GREEN_TYPE = 0x8C11 TEXTURE_BLUE_TYPE = 0x8C12 TEXTURE_ALPHA_TYPE = 0x8C13 TEXTURE_LUMINANCE_TYPE = 0x8C14 TEXTURE_INTENSITY_TYPE = 0x8C15 TEXTURE_DEPTH_TYPE = 0x8C16 # Page 180 of glspec30.20080923.pdf PixelInternalFormat enum: RGBA32F = 0x8814 RGB32F = 0x8815 RGBA16F = 0x881A RGB16F = 0x881B use ARB_depth_buffer_float DEPTH_COMPONENT32F use ARB_depth_buffer_float DEPTH32F_STENCIL8 use ARB_depth_buffer_float FLOAT_32_UNSIGNED_INT_24_8_REV # Promoted from EXT_texture_integer PixelInternalFormat enum: RGBA32UI = 0x8D70 RGB32UI = 0x8D71 RGBA16UI = 0x8D76 RGB16UI = 0x8D77 RGBA8UI = 0x8D7C RGB8UI = 0x8D7D RGBA32I = 0x8D82 RGB32I = 0x8D83 RGBA16I = 0x8D88 RGB16I = 0x8D89 RGBA8I = 0x8D8E RGB8I = 0x8D8F PixelFormat enum: RED_INTEGER = 0x8D94 GREEN_INTEGER = 0x8D95 BLUE_INTEGER = 0x8D96 ALPHA_INTEGER = 0x8D97 RGB_INTEGER = 0x8D98 RGBA_INTEGER = 0x8D99 BGR_INTEGER = 0x8D9A BGRA_INTEGER = 0x8D9B # Promoted from ARB_texture_rg PixelInternalFormat enum: use ARB_texture_rg R8 use ARB_texture_rg R16 use ARB_texture_rg RG8 use ARB_texture_rg RG16 use ARB_texture_rg R16F use ARB_texture_rg R32F use ARB_texture_rg RG16F use ARB_texture_rg RG32F use ARB_texture_rg R8I use ARB_texture_rg R8UI use ARB_texture_rg R16I use ARB_texture_rg R16UI use ARB_texture_rg R32I use ARB_texture_rg R32UI use ARB_texture_rg RG8I use ARB_texture_rg RG8UI use ARB_texture_rg RG16I use ARB_texture_rg RG16UI use ARB_texture_rg RG32I use ARB_texture_rg RG32UI PixelFormat enum: use ARB_texture_rg RG use ARB_texture_rg RG_INTEGER TextureParameterName enum: RED = 0x1903 # Promoted from ARB_texture_compression_rgtc PixelInternalFormat enum: use ARB_texture_compression_rgtc COMPRESSED_RED_RGTC1 use ARB_texture_compression_rgtc COMPRESSED_SIGNED_RED_RGTC1 use ARB_texture_compression_rgtc COMPRESSED_RG_RGTC2 use ARB_texture_compression_rgtc COMPRESSED_SIGNED_RG_RGTC2 COMPRESSED_RED = 0x8225 COMPRESSED_RG = 0x8226 # Promoted from EXT_texture_array TextureTarget enum: TEXTURE_1D_ARRAY = 0x8C18 PROXY_TEXTURE_1D_ARRAY = 0x8C19 TEXTURE_2D_ARRAY = 0x8C1A PROXY_TEXTURE_2D_ARRAY = 0x8C1B GetPName enum: TEXTURE_BINDING_1D_ARRAY = 0x8C1C TEXTURE_BINDING_2D_ARRAY = 0x8C1D MAX_ARRAY_TEXTURE_LAYERS = 0x88FF TextureCompareMode enum: COMPARE_REF_TO_TEXTURE = GL_COMPARE_R_TO_TEXTURE_ARB ActiveUniformType enum: SAMPLER_1D_ARRAY = 0x8DC0 SAMPLER_2D_ARRAY = 0x8DC1 SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 # Promoted from ARB_framebuffer_object BlitFramebufferFilter enum: use TextureMagFilter LINEAR use TextureMagFilter NEAREST FramebufferTarget enum: use ARB_framebuffer_object READ_FRAMEBUFFER use ARB_framebuffer_object DRAW_FRAMEBUFFER use ARB_framebuffer_object FRAMEBUFFER FramebufferParameterName enum: use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_RED_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_GREEN_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_BLUE_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_OBJECT_NAME use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER FramebufferAttachment enum: use ARB_framebuffer_object COLOR_ATTACHMENT0 use ARB_framebuffer_object COLOR_ATTACHMENT1 use ARB_framebuffer_object COLOR_ATTACHMENT2 use ARB_framebuffer_object COLOR_ATTACHMENT3 use ARB_framebuffer_object COLOR_ATTACHMENT4 use ARB_framebuffer_object COLOR_ATTACHMENT5 use ARB_framebuffer_object COLOR_ATTACHMENT6 use ARB_framebuffer_object COLOR_ATTACHMENT7 use ARB_framebuffer_object COLOR_ATTACHMENT8 use ARB_framebuffer_object COLOR_ATTACHMENT9 use ARB_framebuffer_object COLOR_ATTACHMENT10 use ARB_framebuffer_object COLOR_ATTACHMENT11 use ARB_framebuffer_object COLOR_ATTACHMENT12 use ARB_framebuffer_object COLOR_ATTACHMENT13 use ARB_framebuffer_object COLOR_ATTACHMENT14 use ARB_framebuffer_object COLOR_ATTACHMENT15 use ARB_framebuffer_object DEPTH_ATTACHMENT use ARB_framebuffer_object STENCIL_ATTACHMENT use ARB_framebuffer_object DEPTH_STENCIL_ATTACHMENT # These tokens are only valid when the current FramebufferBinding is non-zero # See page 182 of the 3.1 specs. DrawBuffersEnum enum: use ARB_framebuffer_object COLOR_ATTACHMENT0 use ARB_framebuffer_object COLOR_ATTACHMENT1 use ARB_framebuffer_object COLOR_ATTACHMENT2 use ARB_framebuffer_object COLOR_ATTACHMENT3 use ARB_framebuffer_object COLOR_ATTACHMENT4 use ARB_framebuffer_object COLOR_ATTACHMENT5 use ARB_framebuffer_object COLOR_ATTACHMENT6 use ARB_framebuffer_object COLOR_ATTACHMENT7 use ARB_framebuffer_object COLOR_ATTACHMENT8 use ARB_framebuffer_object COLOR_ATTACHMENT9 use ARB_framebuffer_object COLOR_ATTACHMENT10 use ARB_framebuffer_object COLOR_ATTACHMENT11 use ARB_framebuffer_object COLOR_ATTACHMENT12 use ARB_framebuffer_object COLOR_ATTACHMENT13 use ARB_framebuffer_object COLOR_ATTACHMENT14 use ARB_framebuffer_object COLOR_ATTACHMENT15 # These tokens are only valid when the current FramebufferBinding is non-zero # See page 182 of the 3.1 specs. DrawBufferMode enum: use ARB_framebuffer_object COLOR_ATTACHMENT0 use ARB_framebuffer_object COLOR_ATTACHMENT1 use ARB_framebuffer_object COLOR_ATTACHMENT2 use ARB_framebuffer_object COLOR_ATTACHMENT3 use ARB_framebuffer_object COLOR_ATTACHMENT4 use ARB_framebuffer_object COLOR_ATTACHMENT5 use ARB_framebuffer_object COLOR_ATTACHMENT6 use ARB_framebuffer_object COLOR_ATTACHMENT7 use ARB_framebuffer_object COLOR_ATTACHMENT8 use ARB_framebuffer_object COLOR_ATTACHMENT9 use ARB_framebuffer_object COLOR_ATTACHMENT10 use ARB_framebuffer_object COLOR_ATTACHMENT11 use ARB_framebuffer_object COLOR_ATTACHMENT12 use ARB_framebuffer_object COLOR_ATTACHMENT13 use ARB_framebuffer_object COLOR_ATTACHMENT14 use ARB_framebuffer_object COLOR_ATTACHMENT15 # These tokens are only valid when the current FramebufferBinding is non-zero # See page 182 of the 3.1 specs. ReadBufferMode enum: use ARB_framebuffer_object COLOR_ATTACHMENT0 use ARB_framebuffer_object COLOR_ATTACHMENT1 use ARB_framebuffer_object COLOR_ATTACHMENT2 use ARB_framebuffer_object COLOR_ATTACHMENT3 use ARB_framebuffer_object COLOR_ATTACHMENT4 use ARB_framebuffer_object COLOR_ATTACHMENT5 use ARB_framebuffer_object COLOR_ATTACHMENT6 use ARB_framebuffer_object COLOR_ATTACHMENT7 use ARB_framebuffer_object COLOR_ATTACHMENT8 use ARB_framebuffer_object COLOR_ATTACHMENT9 use ARB_framebuffer_object COLOR_ATTACHMENT10 use ARB_framebuffer_object COLOR_ATTACHMENT11 use ARB_framebuffer_object COLOR_ATTACHMENT12 use ARB_framebuffer_object COLOR_ATTACHMENT13 use ARB_framebuffer_object COLOR_ATTACHMENT14 use ARB_framebuffer_object COLOR_ATTACHMENT15 FramebufferAttachmentObjectType enum: NONE = 0 use ARB_framebuffer_object FRAMEBUFFER_DEFAULT use MatrixMode TEXTURE use ARB_framebuffer_object RENDERBUFFER FramebufferAttachmentComponentType enum: use DataType FLOAT use DataType INT use ARB_framebuffer_object UNSIGNED_NORMALIZED use ARB_framebuffer_object INDEX FramebufferErrorCode enum: use ARB_framebuffer_object FRAMEBUFFER_COMPLETE use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_ATTACHMENT use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_READ_BUFFER use ARB_framebuffer_object FRAMEBUFFER_UNSUPPORTED use ARB_framebuffer_object FRAMEBUFFER_INCOMPLETE_MULTISAMPLE use ARB_framebuffer_object FRAMEBUFFER_UNDEFINED RenderbufferTarget enum: use ARB_framebuffer_object RENDERBUFFER RenderbufferParameterName enum: use ARB_framebuffer_object RENDERBUFFER_SAMPLES use ARB_framebuffer_object RENDERBUFFER_WIDTH use ARB_framebuffer_object RENDERBUFFER_HEIGHT use ARB_framebuffer_object RENDERBUFFER_INTERNAL_FORMAT use ARB_framebuffer_object RENDERBUFFER_RED_SIZE use ARB_framebuffer_object RENDERBUFFER_GREEN_SIZE use ARB_framebuffer_object RENDERBUFFER_BLUE_SIZE use ARB_framebuffer_object RENDERBUFFER_ALPHA_SIZE use ARB_framebuffer_object RENDERBUFFER_DEPTH_SIZE use ARB_framebuffer_object RENDERBUFFER_STENCIL_SIZE RenderbufferStorage enum: use PixelInternalFormat ALPHA4 use PixelInternalFormat ALPHA8 use PixelInternalFormat ALPHA12 use PixelInternalFormat ALPHA16 use PixelInternalFormat R8 use PixelInternalFormat R16 use PixelInternalFormat RG8 use PixelInternalFormat RG16 use PixelInternalFormat R3_G3_B2 use PixelInternalFormat RGB4 use PixelInternalFormat RGB5 use PixelInternalFormat RGB8 use PixelInternalFormat RGB10 use PixelInternalFormat RGB12 use PixelInternalFormat RGB16 use PixelInternalFormat RGBA2 use PixelInternalFormat RGBA4 use PixelInternalFormat RGB5 A1 use PixelInternalFormat RGBA8 use PixelInternalFormat RGB10_A2 use PixelInternalFormat RGBA12 use PixelInternalFormat RGBA16 use PixelInternalFormat SRGB8 use PixelInternalFormat SRGB8_ALPHA8 use PixelInternalFormat R16F use PixelInternalFormat RG16F use PixelInternalFormat RGB16F use PixelInternalFormat RGBA16F use PixelInternalFormat R32F use PixelInternalFormat RG32F use PixelInternalFormat RGB32F use PixelInternalFormat RGBA32F use PixelInternalFormat R11F_G11F_B10F use PixelInternalFormat RGB9_E5 use PixelInternalFormat R8I use PixelInternalFormat R8UI use PixelInternalFormat R16I use PixelInternalFormat R16UI use PixelInternalFormat R32I use PixelInternalFormat R32UI use PixelInternalFormat RG8I use PixelInternalFormat RG8UI use PixelInternalFormat RG16I use PixelInternalFormat RG16UI use PixelInternalFormat RG32I use PixelInternalFormat RG32UI use PixelInternalFormat RGB8I use PixelInternalFormat RGB8UI use PixelInternalFormat RGB16I use PixelInternalFormat RGB16UI use PixelInternalFormat RGB32I use PixelInternalFormat RGB32UI use PixelInternalFormat RGBA8I use PixelInternalFormat RGBA8UI use PixelInternalFormat RGBA16I use PixelInternalFormat RGBA16UI use PixelInternalFormat RGBA32I use PixelInternalFormat RGBA32UI use PixelInternalFormat DEPTH_COMPONENT16 use PixelInternalFormat DEPTH_COMPONENT24 use PixelInternalFormat DEPTH_COMPONENT32 use PixelInternalFormat DEPTH_COMPONENT32F use PixelInternalFormat DEPTH24_STENCIL8 use PixelInternalFormat DEPTH32F_STENCIL8 use ARB_framebuffer_object STENCIL_INDEX1 use ARB_framebuffer_object STENCIL_INDEX4 use ARB_framebuffer_object STENCIL_INDEX8 use ARB_framebuffer_object STENCIL_INDEX16 GetPName enum: use ARB_framebuffer_object MAX_SAMPLES use ARB_framebuffer_object MAX_COLOR_ATTACHMENTS use ARB_framebuffer_object FRAMEBUFFER_BINDING use ARB_framebuffer_object DRAW_FRAMEBUFFER_BINDING use ARB_framebuffer_object READ_FRAMEBUFFER_BINDING use ARB_framebuffer_object RENDERBUFFER_BINDING use ARB_framebuffer_object MAX_RENDERBUFFER_SIZE ErrorCode enum: use ARB_framebuffer_object INVALID_FRAMEBUFFER_OPERATION PixelFormat enum: use ARB_framebuffer_object DEPTH_STENCIL PixelInternalFormat enum: use ARB_framebuffer_object DEPTH_STENCIL use ARB_framebuffer_object DEPTH24_STENCIL8 PixelType enum: use ARB_framebuffer_object UNSIGNED_INT_24_8 GetTextureParameter enum: use ARB_framebuffer_object TEXTURE_STENCIL_SIZE use ARB_framebuffer_object TEXTURE_RED_TYPE use ARB_framebuffer_object TEXTURE_GREEN_TYPE use ARB_framebuffer_object TEXTURE_BLUE_TYPE use ARB_framebuffer_object TEXTURE_ALPHA_TYPE use ARB_framebuffer_object TEXTURE_LUMINANCE_TYPE use ARB_framebuffer_object TEXTURE_INTENSITY_TYPE use ARB_framebuffer_object TEXTURE_DEPTH_TYPE # Promoted from ARB_depth_buffer_float PixelType enum: use ARB_depth_buffer_float FLOAT_32_UNSIGNED_INT_24_8_REV # Promoted from ARB_framebuffer_sRGB EnableCap enum: use ARB_framebuffer_sRGB FRAMEBUFFER_SRGB GetPName enum: use ARB_framebuffer_sRGB FRAMEBUFFER_SRGB # Promoted from ARB_half_float_vertex VertexAttribPointerType enum: use ARB_half_float_vertex HALF_FLOAT VertexPointerType enum: use ARB_half_float_vertex HALF_FLOAT NormalPointerType enum: use ARB_half_float_vertex HALF_FLOAT ColorPointerType enum: use ARB_half_float_vertex HALF_FLOAT FogPointerType enum: use ARB_half_float_vertex HALF_FLOAT TexCoordPointerType enum: use ARB_half_float_vertex HALF_FLOAT # Promoted from ARB_vertex_array_objects GetPName enum: use ARB_vertex_array_object VERTEX_ARRAY_BINDING # Promoted from EXT_gpu_shader4 VertexAttribParameter enum: VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD ActiveUniformType enum: SAMPLER_CUBE_SHADOW = 0x8DC5 UNSIGNED_INT_VEC2 = 0x8DC6 UNSIGNED_INT_VEC3 = 0x8DC7 UNSIGNED_INT_VEC4 = 0x8DC8 INT_SAMPLER_1D = 0x8DC9 INT_SAMPLER_2D = 0x8DCA INT_SAMPLER_3D = 0x8DCB INT_SAMPLER_CUBE = 0x8DCC INT_SAMPLER_1D_ARRAY = 0x8DCE INT_SAMPLER_2D_ARRAY = 0x8DCF UNSIGNED_INT_SAMPLER_1D = 0x8DD1 UNSIGNED_INT_SAMPLER_2D = 0x8DD2 UNSIGNED_INT_SAMPLER_3D = 0x8DD3 UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 GetPName enum: MIN_PROGRAM_TEXEL_OFFSET = 0x8904 MAX_PROGRAM_TEXEL_OFFSET = 0x8905 # Promoted from EXT_packed_float PixelType enum: UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B PixelInternalFormat enum: R11F_G11F_B10F = 0x8C3A RenderbufferStorage enum: use PixelInternalFormat R11F_G11F_B10F # Promoted from EXT_texture_ shared_exponent PixelType enum: UNSIGNED_INT_5_9_9_9_REV = 0x8C3E PixelInternalFormat enum: RGB9_E5 = 0x8C3D RenderbufferStorage enum: use PixelInternalFormat RGB9_E5 GetTextureParameter enum: TEXTURE_SHARED_SIZE = 0x8C3F # Promoted from ARB_map_buffer_range BufferAccessMask enum: use ARB_map_buffer_range MAP_READ_BIT use ARB_map_buffer_range MAP_WRITE_BIT use ARB_map_buffer_range MAP_INVALIDATE_RANGE_BIT use ARB_map_buffer_range MAP_INVALIDATE_BUFFER_BIT use ARB_map_buffer_range MAP_FLUSH_EXPLICIT_BIT use ARB_map_buffer_range MAP_UNSYNCHRONIZED_BIT # Promoted from NV_conditional_render: ConditionalRenderType enum: QUERY_WAIT = 0x8E13 QUERY_NO_WAIT = 0x8E14 QUERY_BY_REGION_WAIT = 0x8E15 QUERY_BY_REGION_NO_WAIT = 0x8E16 # Promoted from EXT_draw_buffers2 # Promoted from EXT_transform_feedback GetIndexedPName enum: TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F GetPName enum: MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B ProgramParameter enum: TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 QueryTarget enum: PRIMITIVES_GENERATED = 0x8C87 TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 EnableCap enum: RASTERIZER_DISCARD = 0x8C89 TransformFeedbackMode enum: INTERLEAVED_ATTRIBS = 0x8C8C SEPARATE_ATTRIBS = 0x8C8D BufferTarget enum: TRANSFORM_FEEDBACK_BUFFER = 0x8C8E BeginFeedbackMode enum: use BeginMode Points use BeginMode Lines use BeginMode Triangles # Other OpenGL 3.0 changes: GetPName enum: MAJOR_VERSION = 0x821B MINOR_VERSION = 0x821C NUM_EXTENSIONS = 0x821D CONTEXT_FLAGS = 0x821E StringName enum: use StringName EXTENSIONS # Used in GetStringi IndexedEnableCap enum: use GetPName BLEND # For ClearBuffer function, see specs pg. 189. ClearBuffer enum: use VERSION_1_1 COLOR use VERSION_1_1 DEPTH use VERSION_1_1 STENCIL use VERSION_3_0 DEPTH_STENCIL # Version 3.1 # Promoted from ARB_copy_buffer BufferTarget enum: use ARB_copy_buffer COPY_READ_BUFFER use ARB_copy_buffer COPY_WRITE_BUFFER # Promoted from ARB_uniform_buffer_object BufferTarget enum: use ARB_uniform_buffer_object UNIFORM_BUFFER GetPName enum: use ARB_uniform_buffer_object MAX_VERTEX_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_GEOMETRY_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_FRAGMENT_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_COMBINED_UNIFORM_BLOCKS use ARB_uniform_buffer_object MAX_UNIFORM_BUFFER_BINDINGS use ARB_uniform_buffer_object MAX_UNIFORM_BLOCK_SIZE use ARB_uniform_buffer_object MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS use ARB_uniform_buffer_object MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS use ARB_uniform_buffer_object MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS use ARB_uniform_buffer_object UNIFORM_BUFFER_OFFSET_ALIGNMENT GetIndexedPName enum: use ARB_uniform_buffer_object UNIFORM_BUFFER_BINDING use ARB_uniform_buffer_object UNIFORM_BUFFER_START use ARB_uniform_buffer_object UNIFORM_BUFFER_SIZE ProgramParameter enum: use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCKS # Used in TexBuffer TextureBufferTarget enum: use VERSION_3_1 TEXTURE_BUFFER SizedInternalFormat enum: use PixelInternalFormat R8 use PixelInternalFormat R16 use PixelInternalFormat R16F use PixelInternalFormat R32F use PixelInternalFormat R8I use PixelInternalFormat R16I use PixelInternalFormat R32I use PixelInternalFormat R8UI use PixelInternalFormat R16UI use PixelInternalFormat R32UI use PixelInternalFormat RG8 use PixelInternalFormat RG16 use PixelInternalFormat RG16F use PixelInternalFormat RG32F use PixelInternalFormat RG8I use PixelInternalFormat RG16I use PixelInternalFormat RG32I use PixelInternalFormat RG8UI use PixelInternalFormat RG16UI use PixelInternalFormat RG32UI use PixelInternalFormat RGBA8 use PixelInternalFormat RGBA16 use PixelInternalFormat RGBA16F use PixelInternalFormat RGBA32F use PixelInternalFormat RGBA8I use PixelInternalFormat RGBA16I use PixelInternalFormat RGBA32I use PixelInternalFormat RGBA8UI use PixelInternalFormat RGBA16UI use PixelInternalFormat RGBA32UI TextureTarget enum: TEXTURE_RECTANGLE = 0x84F5 # ARB_texture_rectangle PROXY_TEXTURE_RECTANGLE = 0x84F7 # ARB_texture_rectangle GetPName enum: TEXTURE_BINDING_RECTANGLE = 0x84F6 # ARB_texture_rectangle MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 # ARB_texture_rectangle ActiveUniformType enum: SAMPLER_2D_RECT = 0x8B63 # ARB_shader_objects + ARB_texture_rectangle SAMPLER_2D_RECT_SHADOW = 0x8B64 # ARB_shader_objects + ARB_texture_rectangle SAMPLER_BUFFER = 0x8DC2 # EXT_gpu_shader4 + ARB_texture_buffer_object INT_SAMPLER_2D_RECT = 0x8DCD # EXT_gpu_shader4 + ARB_texture_rectangle INT_SAMPLER_BUFFER = 0x8DD0 # EXT_gpu_shader4 + ARB_texture_buffer_object UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 # EXT_gpu_shader4 + ARB_texture_rectangle UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 # EXT_gpu_shader4 + ARB_texture_buffer_object ActiveUniformBlockParameter enum: use ARB_uniform_buffer_object UNIFORM_BLOCK_BINDING use ARB_uniform_buffer_object UNIFORM_BLOCK_DATA_SIZE use ARB_uniform_buffer_object UNIFORM_BLOCK_NAME_LENGTH use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORMS use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER # Used in primitive restart EnableCap enum: PRIMITIVE_RESTART = 0x8F9D # 3.1 (different from NV_primitive_restart) # Non-core # APPLE_flush_buffer_range Buffer_Parameter_Apple enum: use APPLE_flush_buffer_range BUFFER_SERIALIZED_MODIFY_APPLE use APPLE_flush_buffer_range BUFFER_FLUSHING_UNMAP_APPLE # ARB_instanced_arrays VertexAttribParameterARB enum: ARRAY_DIVISOR = 0x88FE # Version ARB # ARB_vertex_program AssemblyProgramTargetARB enum: FRAGMENT_PROGRAM = 0x8804 VERTEX_PROGRAM = 0x8620 use NV_geometry_program4 GEOMETRY_PROGRAM_NV AssemblyProgramFormatARB enum: PROGRAM_FORMAT_ASCII_ARB = 0x8875 # shared AssemblyProgramParameterARB enum: PROGRAM_LENGTH = 0x8627 PROGRAM_FORMAT = 0x8876 PROGRAM_BINDING = 0x8677 PROGRAM_INSTRUCTION = 0x88A0 MAX_PROGRAM_INSTRUCTIONS = 0x88A1 PROGRAM_NATIVE_INSTRUCTIONS = 0x88A2 MAX_PROGRAM_NATIVE_INSTRUCTIONS = 0x88A3 PROGRAM_TEMPORARIES = 0x88A4 MAX_PROGRAM_TEMPORARIES = 0x88A5 PROGRAM_NATIVE_TEMPORARIES = 0x88A6 MAX_PROGRAM_NATIVE_TEMPORARIES = 0x88A7 PROGRAM_PARAMETERS = 0x88A8 MAX_PROGRAM_PARAMETERS = 0x88A9 PROGRAM_NATIVE_PARAMETERS = 0x88AA MAX_PROGRAM_NATIVE_PARAMETERS = 0x88AB PROGRAM_ATTRIBS = 0x88AC MAX_PROGRAM_ATTRIBS = 0x88AD PROGRAM_NATIVE_ATTRIBS = 0x88AE MAX_PROGRAM_NATIVE_ATTRIBS = 0x88AF PROGRAM_ADDRESS_REGISTERS = 0x88B0 MAX_PROGRAM_ADDRESS_REGISTERS = 0x88B1 PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B2 MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS = 0x88B3 MAX_PROGRAM_LOCAL_PARAMETERS = 0x88B4 MAX_PROGRAM_ENV_PARAMETERS = 0x88B5 PROGRAM_UNDER_NATIVE_LIMITS = 0x88B6 PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805 PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806 PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807 PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808 PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809 PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810 AssemblyProgramStringParameterARB enum: PROGRAM_STRING = 0x8628 MatrixModeARB enum: use MatrixMode MODELVIEW use MatrixMode PROJECTION use MatrixMode TEXTURE use MatrixMode COLOR MATRIX0 = 0x88C0 MATRIX1 = 0x88C1 MATRIX2 = 0x88C2 MATRIX3 = 0x88C3 MATRIX4 = 0x88C4 MATRIX5 = 0x88C5 MATRIX6 = 0x88C6 MATRIX7 = 0x88C7 MATRIX8 = 0x88C8 MATRIX9 = 0x88C9 MATRIX10 = 0x88CA MATRIX11 = 0x88CB MATRIX12 = 0x88CC MATRIX13 = 0x88CD MATRIX14 = 0x88CE MATRIX15 = 0x88CF MATRIX16 = 0x88D0 MATRIX17 = 0x88D1 MATRIX18 = 0x88D2 MATRIX19 = 0x88D3 MATRIX20 = 0x88D4 MATRIX21 = 0x88D5 MATRIX22 = 0x88D6 MATRIX23 = 0x88D7 MATRIX24 = 0x88D8 MATRIX25 = 0x88D9 MATRIX26 = 0x88DA MATRIX27 = 0x88DB MATRIX28 = 0x88DC MATRIX29 = 0x88DD MATRIX30 = 0x88DE MATRIX31 = 0x88DF VertexAttribParameterARB enum: ARRAY_ENABLED = 0x8622 ARRAY_SIZE = 0x8623 ARRAY_STRIDE = 0x8624 ARRAY_TYPE = 0x8625 CURRENT_VERTEX_ATTRIB = 0x8626 ARRAY_NORMALIZED = 0x886A VertexAttribPointerParameterARB enum: ARRAY_POINTER = 0x8645 VertexAttribPointerTypeARB enum: use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT use DataType FLOAT use DataType DOUBLE # ARB_fragment_program: BufferTargetARB enum: ARRAY_BUFFER = 0x8892 ELEMENT_ARRAY_BUFFER = 0x8893 BufferUsageARB enum: STREAM_DRAW = 0x88E0 STREAM_READ = 0x88E1 STREAM_COPY = 0x88E2 STATIC_DRAW = 0x88E4 STATIC_READ = 0x88E5 STATIC_COPY = 0x88E6 DYNAMIC_DRAW = 0x88E8 DYNAMIC_READ = 0x88E9 DYNAMIC_COPY = 0x88EA BufferAccessARB enum: READ_ONLY = 0x88B8 WRITE_ONLY = 0x88B9 READ_WRITE = 0x88BA BufferParameterNameARB enum: BUFFER_SIZE = 0x8764 BUFFER_USAGE = 0x8765 BUFFER_ACCESS = 0x88BB BUFFER_MAPPED = 0x88BC BufferPointerNameARB enum: BUFFER_MAP_POINTER = 0x88BD # Version EXT # EXT_framebuffer: GenerateMipmapTarget enum: use TextureTarget TEXTURE_1D use TextureTarget TEXTURE_1D_ARRAY use TextureTarget TEXTURE_2D use TextureTarget TEXTURE_2D_ARRAY use TextureTarget TEXTURE_2D_MULTISAMPLE use TextureTarget TEXTURE_2D_MULTISAMPLE_ARRAY use TextureTarget TEXTURE_3D use TextureTarget TEXTURE_CUBE_MAP FramebufferTarget enum: FRAMEBUFFER_EXT = 0x8D40 RenderbufferTarget enum: RENDERBUFFER_EXT = 0x8D41 RenderbufferStorage enum: STENCIL_INDEX1_EXT = 0x8D46 STENCIL_INDEX4_EXT = 0x8D47 STENCIL_INDEX8_EXT = 0x8D48 STENCIL_INDEX16_EXT = 0x8D49 FramebufferErrorCode enum: FRAMEBUFFER_COMPLETE_EXT = 0x8CD5 FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6 FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7 FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9 FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD FramebufferAttachment enum: COLOR_ATTACHMENT0_EXT = 0x8CE0 COLOR_ATTACHMENT1_EXT = 0x8CE1 COLOR_ATTACHMENT2_EXT = 0x8CE2 COLOR_ATTACHMENT3_EXT = 0x8CE3 COLOR_ATTACHMENT4_EXT = 0x8CE4 COLOR_ATTACHMENT5_EXT = 0x8CE5 COLOR_ATTACHMENT6_EXT = 0x8CE6 COLOR_ATTACHMENT7_EXT = 0x8CE7 COLOR_ATTACHMENT8_EXT = 0x8CE8 COLOR_ATTACHMENT9_EXT = 0x8CE9 COLOR_ATTACHMENT10_EXT = 0x8CEA COLOR_ATTACHMENT11_EXT = 0x8CEB COLOR_ATTACHMENT12_EXT = 0x8CEC COLOR_ATTACHMENT13_EXT = 0x8CED COLOR_ATTACHMENT14_EXT = 0x8CEE COLOR_ATTACHMENT15_EXT = 0x8CEF DEPTH_ATTACHMENT_EXT = 0x8D00 STENCIL_ATTACHMENT_EXT = 0x8D20 FramebufferParameterName enum: FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0 FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1 FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2 FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4 RenderbufferParameterName enum: RENDERBUFFER_WIDTH_EXT = 0x8D42 RENDERBUFFER_HEIGHT_EXT = 0x8D43 RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44 RENDERBUFFER_RED_SIZE_EXT = 0x8D50 RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51 RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52 RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53 RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54 RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55 GetPName enum: FRAMEBUFFER_BINDING_EXT = 0x8CA6 RENDERBUFFER_BINDING_EXT = 0x8CA7 MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF MAX_RENDERBUFFER_SIZE_EXT = 0x84E8 ErrorCode enum: INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506 # ARB_texture_buffer_object tokens # Sections 2.9, 3.8.5 and 3.8.14 of the 3.2 specs. # See also http://www.opentk.com/node/1313 BufferTarget enum: TEXTURE_BUFFER = 0x8C2A TextureTarget enum: TEXTURE_BUFFER = 0x8C2A # Version 3.2 # ARB_texture_multisample tokens # http://www.opengl.org/registry/specs/ARB/texture_multisample.txt TextureTargetMultisample enum: TEXTURE_2D_MULTISAMPLE = 0x9100 PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 EnableCap enum: SAMPLE_MASK = 0x8E51 GetMultisamplePName enum: SAMPLE_POSITION = 0x8E50 GetPName enum: SAMPLE_MASK = 0x8E51 MAX_SAMPLE_MASK_WORDS = 0x8E59 MAX_COLOR_TEXTURE_SAMPLES = 0x910E MAX_DEPTH_TEXTURE_SAMPLES = 0x910F MAX_INTEGER_SAMPLES = 0x9110 TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 GetIndexedPName enum: SAMPLE_MASK_VALUE = 0x8E52 GetTextureParameter enum: TEXTURE_SAMPLES = 0x9106 TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 TextureTarget enum: TEXTURE_2D_MULTISAMPLE = 0x9100 PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 ActiveUniformType enum: SAMPLER_2D_MULTISAMPLE = 0x9108 INT_SAMPLER_2D_MULTISAMPLE = 0x9109 UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D # ARB_geometry_shader4 tokens # http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt ShaderType enum: GEOMETRY_SHADER = 0x8DD9 ProgramParameter enum: GEOMETRY_VERTICES_OUT = 0x8DDA GEOMETRY_INPUT_TYPE = 0x8DDB GEOMETRY_OUTPUT_TYPE = 0x8DDC GetPName enum: MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29 MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE MAX_VARYING_COMPONENTS = 0x8B4B MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0 MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1 BeginMode enum: LINES_ADJACENCY = 0xA LINE_STRIP_ADJACENCY = 0xB TRIANGLES_ADJACENCY = 0xC TRIANGLE_STRIP_ADJACENCY = 0xD FramebufferErrorCode enum: FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8 FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9 FramebufferParameterName enum: FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7 FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 EnableCap enum: PROGRAM_POINT_SIZE = 0x8642 GetPName enum: PROGRAM_POINT_SIZE = 0x8642 # ARB_depth_clamp tokens # http://www.opengl.org/registry/specs/ARB/depth_clamp.txt EnableCap enum: DEPTH_CLAMP = 0x864F GetPName enum: DEPTH_CLAMP = 0x864F # ARB_vertex_array_bgra tokens # http://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt # The following tokens are incorrect. They are valid for the # parameteter, not the parameter - but is not an enum! # (Maybe something changed between the ARB spec and its core version?) #ColorPointerType enum: # BGRA = 0x80E1 #VertexAttribPointerType enum: # BGRA = 0x80E1 # ARB_seamless_cube_map tokens # http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt EnableCap enum: TEXTURE_CUBE_MAP_SEAMLESS = 0x884F GetPName enum: TEXTURE_CUBE_MAP_SEAMLESS = 0x884F # ARB_provoking_vertex tokens # http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt ProvokingVertexMode enum: FIRST_VERTEX_CONVENTION = 0x8E4D LAST_VERTEX_CONVENTION = 0x8E4E GetPName enum: PROVOKING_VERTEX = 0x8E4F QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C # ARB_draw_elements_base_vertex tokens # http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt # VertexAttribIPointerType (see OpenGL 3.2 reference card) # Note: the underscore is there to avoid changing IPointer to Ipointer. VertexAttribI_PointerType enum: use DataType BYTE use DataType UNSIGNED_BYTE use DataType SHORT use DataType UNSIGNED_SHORT use DataType INT use DataType UNSIGNED_INT # See OpenGL 3.2 reference card TextureParameterName enum: TEXTURE_LOD_BIAS = 0x8501 # See OpenGL 3.2 reference card ActiveUniformParameter enum: use ARB_uniform_buffer_object UNIFORM_TYPE use ARB_uniform_buffer_object UNIFORM_SIZE use ARB_uniform_buffer_object UNIFORM_NAME_LENGTH use ARB_uniform_buffer_object UNIFORM_BLOCK_INDEX use ARB_uniform_buffer_object UNIFORM_OFFSET use ARB_uniform_buffer_object UNIFORM_ARRAY_STRIDE use ARB_uniform_buffer_object UNIFORM_MATRIX_STRIDE use ARB_uniform_buffer_object UNIFORM_IS_ROW_MAJOR # End (don't remove, or the last token may be removed!) opentk-1.0.20101006/Source/Bind/Specifications/GL2/gloverrides.xml0000664000175000017500000004617711453131430023272 0ustar laneylaney ArrayCap ArrayCap PixelInternalFormat PixelInternalFormat PixelInternalFormat BlendingFactorSrc BlendingFactorDest BlendingFactorSrc BlendingFactorDest FogPointerType PointParameterName QueryTarget QueryTarget QueryTarget GetQueryParam GetQueryObjectParam BufferTarget BufferTarget BufferUsageHint BufferTarget BufferTarget BufferTarget BufferAccess BufferTarget BufferTarget BufferParameterName BufferTarget BufferPointer BlendEquationMode BlendEquationMode DrawBuffersEnum faceStencilFace func StencilFace StencilFace ShaderType ShaderParameter ActiveAttribType ActiveUniformType ProgramParameter VertexAttribParameter VertexAttribParameter VertexAttribPointerType VertexAttribPointerParameter GetIndexedPName GetIndexedPName IndexedEnableCap IndexedEnableCap IndexedEnableCap BeginFeedbackMode BufferTarget BufferTarget TransformFeedbackMode ActiveAttribType ClampColorTarget ClampColorMode RenderbufferStorage RenderbufferParameterName TextureTarget TextureTarget TextureTarget FramebufferParameterName FramebufferErrorCode GenerateMipmapTarget BlitFramebufferFilter RenderbufferTarget RenderbufferStorage BufferTarget BufferTarget BufferTarget BufferTarget VertexAttribIPointerType ConditionalRenderType ClearBuffer StringName TextureBufferTarget SizedInternalFormat ActiveUniformBlockParameter TextureTargetMultisample PixelInternalFormat TextureTargetMultisample PixelInternalFormat GetMultisamplePName ProvokingVertexMode BeginMode BeginMode BeginMode BeginMode FramebufferTarget FramebufferAttachment ActiveUniformParameter VertexAttribPointerTypeArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramParameterArb AssemblyProgramTargetArb AssemblyProgramParameterArb VertexAttribParameterArb VertexAttribPointerParameterArb BufferTargetArb BufferTargetArb BufferUsageArb BufferTargetArb BufferTargetArb BufferTargetArb BufferTargetArb BufferParameterNameArb BufferPointerNameArb NormalPointerType NormalPointerType RenderbufferStorage RenderbufferParameterName FramebufferErrorCode TextureTarget TextureTarget TextureTarget FramebufferParameterName GenerateMipmapTarget BlitFramebufferFilter RenderbufferTarget RenderbufferStorage BufferTarget BufferParameterApple BufferTarget FogPointerType AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramParameterArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramParameterArb VertexAttribParameterArb VertexAttribParameterPointerArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb AssemblyProgramTargetArb VertexAttribParameterArb opentk-1.0.20101006/Source/Bind/Specifications/GL2/gl.spec0000664000175000017500000311462311453131430021474 0ustar laneylaney# gl.spec file # DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! # # Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. # Copyright (c) 2006-2009 The Khronos Group Inc. # # This document is licensed under the SGI Free Software B License Version # 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . required-props: # Description of a parameter param: retval retained # Display list flags dlflags: notlistable handcode # GLX implementation flags glxflags: client-intercept client-handcode server-handcode EXT SGI ignore ARB # Vector ('v') equivalent form of a command taking 1-4 explicit xyzw/rgba arguments vectorequiv: * # Category this function falls in. While there are many categories for # early GL 1.0 functions, later functions just have a core version # (e.g. VERSION_major_minor) or extension name for the category. category: display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform VERSION_1_0 VERSION_1_0_DEPRECATED VERSION_1_1 VERSION_1_1_DEPRECATED VERSION_1_2 VERSION_1_2_DEPRECATED VERSION_1_3 VERSION_1_3_DEPRECATED VERSION_1_4 VERSION_1_4_DEPRECATED VERSION_1_5 VERSION_2_0 VERSION_2_1 VERSION_3_0 VERSION_3_0_DEPRECATED VERSION_3_1 VERSION_3_2 ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_pn_triangles ATI_vertex_array_object ATI_vertex_streams EXT_blend_color EXT_blend_minmax EXT_convolution EXT_copy_texture EXT_histogram EXT_polygon_offset EXT_subtexture EXT_texture3D EXT_texture_object EXT_vertex_array EXT_vertex_shader SGIS_detail_texture SGIS_multisample SGIS_pixel_texture ARB_point_parameters EXT_point_parameters SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table ARB_multitexture ARB_multisample ARB_texture_compression ARB_transpose_matrix ARB_vertex_blend ARB_matrix_palette EXT_compiled_vertex_array EXT_cull_vertex EXT_index_func EXT_index_material EXT_draw_range_elements EXT_vertex_weighting INGR_blend_func_separate NV_evaluators NV_fence NV_occlusion_query NV_point_sprite NV_register_combiners NV_register_combiners2 NV_vertex_array_range NV_vertex_program NV_vertex_program1_1_dcc MESA_resize_buffers MESA_window_pos PGI_misc_hints EXT_fog_coord EXT_blend_func_separate EXT_color_subtable EXT_coordinate_frame EXT_light_texture EXT_multi_draw_arrays EXT_paletted_texture EXT_pixel_transform EXT_secondary_color EXT_texture_perturb_normal HP_image_transform IBM_multimode_draw_arrays IBM_vertex_array_lists INTEL_parallel_arrays SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex 3DFX_tbuffer EXT_multisample SGIS_fog_function SGIS_texture_color_mask ARB_window_pos EXT_stencil_two_side EXT_depth_bounds_test EXT_blend_equation_separate ARB_vertex_program ARB_fragment_program ARB_vertex_buffer_object ARB_occlusion_query ARB_shader_objects ARB_vertex_shader ARB_fragment_shader S3_s3tc ATI_draw_buffers ATI_texture_env_combine3 ATI_texture_float NV_float_buffer NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart NV_texture_expand_normal NV_texture_expand_normal NV_vertex_program2 APPLE_element_array APPLE_fence APPLE_vertex_array_object APPLE_vertex_array_range ATI_draw_buffers NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart ATI_map_object_buffer ATI_separate_stencil ATI_vertex_attrib_array_object ARB_draw_buffers ARB_texture_rectangle ARB_color_buffer_float EXT_framebuffer_object GREMEDY_string_marker EXT_stencil_clear_tag EXT_framebuffer_blit EXT_framebuffer_multisample MESAX_texture_stack EXT_timer_query EXT_gpu_program_parameters APPLE_flush_buffer_range NV_gpu_program4 NV_geometry_program4 EXT_geometry_shader4 NV_vertex_program4 EXT_gpu_shader4 EXT_draw_instanced EXT_texture_buffer_object NV_depth_buffer_float NV_framebuffer_multisample_coverage NV_parameter_buffer_object EXT_draw_buffers2 NV_transform_feedback EXT_bindable_uniform EXT_texture_integer GREMEDY_frame_terminator NV_conditional_render NV_present_video EXT_transform_feedback ARB_depth_buffer_float ARB_draw_instanced ARB_framebuffer_object ARB_framebuffer_sRGB ARB_geometry_shader4 ARB_half_float_vertex ARB_instanced_arrays ARB_map_buffer_range ARB_texture_buffer_object ARB_texture_compression_rgtc ARB_texture_rg ARB_vertex_array_object EXT_direct_state_access EXT_vertex_array_bgra EXT_texture_swizzle NV_explicit_multisample NV_transform_feedback2 ATI_meminfo AMD_performance_monitor AMD_vertex_shader_tesselator EXT_provoking_vertex ARB_uniform_buffer_object ARB_copy_buffer EXT_texture_snorm AMD_draw_buffers_blend APPLE_texture_range APPLE_float_pixels APPLE_vertex_program_evaluators APPLE_aux_depth_stencil APPLE_object_purgeable APPLE_row_bytes ARB_draw_elements_base_vertex ARB_provoking_vertex ARB_sync ARB_texture_multisample ARB_draw_buffers_blend ARB_sample_shading # Categories for extensions with no functions - need not be included now # ARB_texture_env_add ARB_texture_cube_map ARB_texture_border_clamp # ARB_shading_language_100 ARB_texture_non_power_of_two ARB_point_sprite # ARB_half_float_pixel ARB_texture_float ARB_pixel_buffer_object EXT_abgr # EXT_texture SGI_color_matrix SGI_texture_color_table EXT_cmyka # EXT_packed_pixels SGIS_texture_lod EXT_rescale_normal EXT_misc_attribute # SGIS_generate_mipmap SGIX_clipmap SGIX_shadow SGIS_texture_edge_clamp # SGIS_texture_border_clamp EXT_blend_subtract EXT_blend_logic_op # SGIX_async_histogram SGIX_async_pixel SGIX_interlace SGIX_pixel_tiles # SGIX_texture_select SGIX_texture_multi_buffer SGIX_texture_scale_bias # SGIX_depth_texture SGIX_fog_offset HP_convolution_border_modes # SGIX_texture_add_env PGI_vertex_hints EXT_clip_volume_hint # SGIX_ir_instrument1 SGIX_calligraphic_fragment SGIX_texture_lod_bias # SGIX_shadow_ambient EXT_index_texture EXT_index_array_formats SGIX_ycrcb # IBM_rasterpos_clip HP_texture_lighting WIN_phong_shading # WIN_specular_fog SGIX_blend_alpha_minmax EXT_bgra HP_occlusion_test # EXT_pixel_transform_color_table EXT_shared_texture_palette # EXT_separate_specular_color EXT_texture_env REND_screen_coordinates # EXT_texture_env_combine APPLE_specular_vector APPLE_transform_hint # SGIX_fog_scale INGR_color_clamp INGR_interlace_read EXT_stencil_wrap # EXT_422_pixels NV_texgen_reflection SUN_convolution_border_modes # SUN_slice_accum EXT_texture_env_add EXT_texture_lod_bias # EXT_texture_filter_anisotropic NV_light_max_exponent NV_fog_distance # NV_texgen_emboss NV_blend_square NV_texture_env_combine4 # NV_packed_depth_stencil NV_texture_compression_vtc NV_texture_rectangle # NV_texture_shader NV_texture_shader2 NV_vertex_array_range2 # IBM_cull_vertex SGIX_subsample SGIX_ycrcba SGIX_ycrcb_subsample # SGIX_depth_pass_instrument 3DFX_texture_compression_FXT1 # 3DFX_multisample SGIX_vertex_preclip SGIX_convolution_accuracy # SGIX_resample SGIX_scalebias_hint SGIX_texture_coordinate_clamp # EXT_shadow_funcs MESA_pack_invert MESA_ycbcr_texture EXT_packed_float # EXT_texture_array EXT_texture_compression_latc # EXT_texture_compression_rgtc EXT_texture_shared_exponent # NV_fragment_program4 EXT_framebuffer_sRGB NV_geometry_shader4 # EXT_vertex_array_bgra ARB_depth_clamp ARB_fragment_coord_conventions # ARB_seamless_cube_map ARB_vertex_array_bgra ARB_texture_cube_map_array # ARB_texture_gather ARB_texture_query_lod # Core version in which a function was introduced, or against # which an extension can be implemented version: 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.1 3.0 3.1 3.2 # Core version in which a function was removed deprecated: 3.1 # GLX Single, Rendering, or Vendor Private opcode glxsingle: * glxropcode: * glxvendorpriv: * # WGL implementation flags (incomplete) wglflags: client-handcode server-handcode small-data batchable # Drivers in which this is implemented (very incomplete) extension: future not_implemented soft WINSOFT NV10 NV20 NV50 # Function this aliases (indistinguishable to the GL) alias: * # Mesa dispatch table offset (incomplete) offset: * # These properties are picked up from NVIDIA .spec files, we don't use them glfflags: * beginend: * glxvectorequiv: * subcategory: * glextmask: * ############################################################################### # # glxsingle, glxropcode, and other GLX allocations to vendors # are used here, but the master registry for GLX is in # /ogl/trunk/doc/registry/extensions.reserved # # XFree86 dispatch offsets: 0-645 # 578-641 NV_vertex_program # GLS opcodes: 0x0030-0x0269 # ############################################################################### ############################################################################### # # things to remember when adding an extension command # # - append new ARB and non-ARB extensions to the appropriate portion of # the spec file, in extension number order. # - use tabs, not spaces # - set glxflags to "ignore" until GLX is updated to support the new command # - add new data types to typemaps/spec2wire.map # - add extension name in alphabetical order to category list # - add commands within an extension in spec order # - use existing command entries as a model (where possible) # - when reserving new glxropcodes, update # gfx/lib/opengl/doc/glspec/extensions.reserved to indicate this # ############################################################################### # New type declarations passthru: #include passthru: #ifndef GL_VERSION_2_0 passthru: /* GL type for program/shader text */ passthru: typedef char GLchar; passthru: #endif passthru: passthru: #ifndef GL_VERSION_1_5 passthru: /* GL types for handling large vertex buffer objects */ passthru: typedef ptrdiff_t GLintptr; passthru: typedef ptrdiff_t GLsizeiptr; passthru: #endif passthru: passthru: #ifndef GL_ARB_vertex_buffer_object passthru: /* GL types for handling large vertex buffer objects */ passthru: typedef ptrdiff_t GLintptrARB; passthru: typedef ptrdiff_t GLsizeiptrARB; passthru: #endif passthru: passthru: #ifndef GL_ARB_shader_objects passthru: /* GL types for program/shader text and shader object handles */ passthru: typedef char GLcharARB; passthru: typedef unsigned int GLhandleARB; passthru: #endif passthru: passthru: /* GL type for "half" precision (s10e5) float data in host memory */ passthru: #ifndef GL_ARB_half_float_pixel passthru: typedef unsigned short GLhalfARB; passthru: #endif passthru: passthru: #ifndef GL_NV_half_float passthru: typedef unsigned short GLhalfNV; passthru: #endif passthru: passthru: #ifndef GLEXT_64_TYPES_DEFINED passthru: /* This code block is duplicated in glxext.h, so must be protected */ passthru: #define GLEXT_64_TYPES_DEFINED passthru: /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ passthru: /* (as used in the GL_EXT_timer_query extension). */ passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L passthru: #include passthru: #elif defined(__sun__) || defined(__digital__) passthru: #include passthru: #if defined(__STDC__) passthru: #if defined(__arch64__) || defined(_LP64) passthru: typedef long int int64_t; passthru: typedef unsigned long int uint64_t; passthru: #else passthru: typedef long long int int64_t; passthru: typedef unsigned long long int uint64_t; passthru: #endif /* __arch64__ */ passthru: #endif /* __STDC__ */ passthru: #elif defined( __VMS ) || defined(__sgi) passthru: #include passthru: #elif defined(__SCO__) || defined(__USLC__) passthru: #include passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__) passthru: typedef long int int32_t; passthru: typedef long long int int64_t; passthru: typedef unsigned long long int uint64_t; passthru: #elif defined(_WIN32) && defined(__GNUC__) passthru: #include passthru: #elif defined(_WIN32) passthru: typedef __int32 int32_t; passthru: typedef __int64 int64_t; passthru: typedef unsigned __int64 uint64_t; passthru: #else passthru: /* Fallback if nothing above works */ passthru: #include passthru: #endif passthru: #endif passthru: passthru: #ifndef GL_EXT_timer_query passthru: typedef int64_t GLint64EXT; passthru: typedef uint64_t GLuint64EXT; passthru: #endif passthru: passthru: #ifndef ARB_sync passthru: typedef int64_t GLint64; passthru: typedef uint64_t GLuint64; passthru: typedef struct __GLsync *GLsync; passthru: #endif passthru: ############################################################################### ############################################################################### # # OpenGL 1.0 commands # ############################################################################### ############################################################################### ############################################################################### # # drawing-control commands # ############################################################################### CullFace(mode) return void param mode CullFaceMode in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 79 offset 152 FrontFace(mode) return void param mode FrontFaceDirection in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 84 offset 157 Hint(target, mode) return void param target HintTarget in value param mode HintMode in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 85 offset 158 LineWidth(width) return void param width CheckedFloat32 in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 95 offset 168 PointSize(size) return void param size CheckedFloat32 in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 100 offset 173 PolygonMode(face, mode) return void param face MaterialFace in value param mode PolygonMode in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 101 offset 174 Scissor(x, y, width, height) return void param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 103 offset 176 TexParameterf(target, pname, param) return void param target TextureTarget in value param pname TextureParameterName in value param param CheckedFloat32 in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 105 wglflags small-data offset 178 TexParameterfv(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 106 wglflags small-data offset 179 TexParameteri(target, pname, param) return void param target TextureTarget in value param pname TextureParameterName in value param param CheckedInt32 in value category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 107 wglflags small-data offset 180 TexParameteriv(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0 # old: drawing-control version 1.0 glxropcode 108 wglflags small-data offset 181 TexImage1D(target, level, internalformat, width, border, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureComponentCount in value param width SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category VERSION_1_0 # old: drawing-control dlflags handcode glxflags client-handcode server-handcode version 1.0 glxropcode 109 wglflags client-handcode server-handcode offset 182 TexImage2D(target, level, internalformat, width, height, border, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureComponentCount in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category VERSION_1_0 # old: drawing-control dlflags handcode glxflags client-handcode server-handcode version 1.0 glxropcode 110 wglflags client-handcode server-handcode offset 183 ############################################################################### # # framebuf commands # ############################################################################### DrawBuffer(mode) return void param mode DrawBufferMode in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 126 offset 202 Clear(mask) return void param mask ClearBufferMask in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 127 offset 203 ClearColor(red, green, blue, alpha) return void param red ClampedColorF in value param green ClampedColorF in value param blue ClampedColorF in value param alpha ClampedColorF in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 130 offset 206 ClearStencil(s) return void param s StencilValue in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 131 offset 207 ClearDepth(depth) return void param depth ClampedFloat64 in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 132 offset 208 StencilMask(mask) return void param mask MaskedStencilValue in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 133 offset 209 ColorMask(red, green, blue, alpha) return void param red Boolean in value param green Boolean in value param blue Boolean in value param alpha Boolean in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 134 offset 210 DepthMask(flag) return void param flag Boolean in value category VERSION_1_0 # old: framebuf version 1.0 glxropcode 135 offset 211 ############################################################################### # # misc commands # ############################################################################### Disable(cap) return void param cap EnableCap in value category VERSION_1_0 # old: misc version 1.0 dlflags handcode glxflags client-handcode client-intercept glxropcode 138 offset 214 Enable(cap) return void param cap EnableCap in value category VERSION_1_0 # old: misc version 1.0 dlflags handcode glxflags client-handcode client-intercept glxropcode 139 offset 215 Finish() return void dlflags notlistable glxflags client-handcode server-handcode category VERSION_1_0 # old: misc version 1.0 glxsingle 108 offset 216 Flush() return void dlflags notlistable glxflags client-handcode client-intercept server-handcode category VERSION_1_0 # old: misc version 1.0 glxsingle 142 offset 217 ############################################################################### # # pixel-op commands # ############################################################################### BlendFunc(sfactor, dfactor) return void param sfactor BlendingFactorSrc in value param dfactor BlendingFactorDest in value category VERSION_1_0 # old: pixel-op version 1.0 glxropcode 160 offset 241 LogicOp(opcode) return void param opcode LogicOp in value category VERSION_1_0 # old: pixel-op version 1.0 glxropcode 161 offset 242 StencilFunc(func, ref, mask) return void param func StencilFunction in value param ref ClampedStencilValue in value param mask MaskedStencilValue in value category VERSION_1_0 # old: pixel-op version 1.0 glxropcode 162 offset 243 StencilOp(fail, zfail, zpass) return void param fail StencilOp in value param zfail StencilOp in value param zpass StencilOp in value category VERSION_1_0 # old: pixel-op version 1.0 glxropcode 163 offset 244 DepthFunc(func) return void param func DepthFunction in value category VERSION_1_0 # old: pixel-op version 1.0 glxropcode 164 offset 245 ############################################################################### # # pixel-rw commands # ############################################################################### PixelStoref(pname, param) return void param pname PixelStoreParameter in value param param CheckedFloat32 in value dlflags notlistable glxflags client-handcode category VERSION_1_0 # old: pixel-rw version 1.0 glxsingle 109 wglflags batchable offset 249 PixelStorei(pname, param) return void param pname PixelStoreParameter in value param param CheckedInt32 in value dlflags notlistable glxflags client-handcode category VERSION_1_0 # old: pixel-rw version 1.0 glxsingle 110 wglflags batchable offset 250 ReadBuffer(mode) return void param mode ReadBufferMode in value category VERSION_1_0 # old: pixel-rw version 1.0 glxropcode 171 offset 254 ReadPixels(x, y, width, height, format, type, pixels) return void param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void out array [COMPSIZE(format/type/width/height)] category VERSION_1_0 # old: pixel-rw dlflags notlistable glxflags client-handcode server-handcode version 1.0 glxsingle 111 wglflags client-handcode server-handcode offset 256 ############################################################################### # # state-req commands # ############################################################################### GetBooleanv(pname, params) return void param pname GetPName in value param params Boolean out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode version 1.0 glxsingle 112 wglflags small-data offset 258 GetDoublev(pname, params) return void param pname GetPName in value param params Float64 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode version 1.0 glxsingle 114 wglflags small-data offset 260 GetError() return ErrorCode category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode version 1.0 glxsingle 115 offset 261 GetFloatv(pname, params) return void param pname GetPName in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode version 1.0 glxsingle 116 wglflags small-data offset 262 GetIntegerv(pname, params) return void param pname GetPName in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode version 1.0 glxsingle 117 wglflags small-data offset 263 GetString(name) return String param name StringName in value category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode server-handcode version 1.0 glxsingle 129 wglflags client-handcode server-handcode offset 275 GetTexImage(target, level, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void out array [COMPSIZE(target/level/format/type)] category VERSION_1_0 # old: state-req dlflags notlistable glxflags client-handcode server-handcode version 1.0 glxsingle 135 wglflags client-handcode server-handcode offset 281 GetTexParameterfv(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable version 1.0 glxsingle 136 wglflags small-data offset 282 GetTexParameteriv(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable version 1.0 glxsingle 137 wglflags small-data offset 283 GetTexLevelParameterfv(target, level, pname, params) return void param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable version 1.0 glxsingle 138 wglflags small-data offset 284 GetTexLevelParameteriv(target, level, pname, params) return void param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0 # old: state-req dlflags notlistable version 1.0 glxsingle 139 wglflags small-data offset 285 IsEnabled(cap) return Boolean param cap EnableCap in value category VERSION_1_0 # old: state-req dlflags notlistable version 1.0 glxflags client-handcode client-intercept glxsingle 140 offset 286 ############################################################################### # # xform commands # ############################################################################### DepthRange(near, far) return void param near ClampedFloat64 in value param far ClampedFloat64 in value category VERSION_1_0 # old: xform version 1.0 glxropcode 174 offset 288 Viewport(x, y, width, height) return void param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category VERSION_1_0 # old: xform version 1.0 glxropcode 191 offset 305 ############################################################################### ############################################################################### # # OpenGL 1.0 deprecated commands # ############################################################################### ############################################################################### # display-list commands NewList(list, mode) return void param list List in value param mode ListMode in value dlflags notlistable category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxsingle 101 wglflags batchable offset 0 EndList() return void dlflags notlistable category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxsingle 102 wglflags batchable offset 1 CallList(list) return void param list List in value category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxropcode 1 offset 2 CallLists(n, type, lists) return void param n SizeI in value param type ListNameType in value param lists Void in array [COMPSIZE(n/type)] category VERSION_1_0_DEPRECATED # old: display-list glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 2 offset 3 DeleteLists(list, range) return void param list List in value param range SizeI in value dlflags notlistable category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxsingle 103 wglflags batchable offset 4 GenLists(range) return List param range SizeI in value dlflags notlistable category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxsingle 104 offset 5 ListBase(base) return void param base List in value category VERSION_1_0_DEPRECATED # old: display-list version 1.0 deprecated 3.1 glxropcode 3 offset 6 # drawing commands Begin(mode) return void param mode BeginMode in value category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 4 offset 7 Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap) return void param width SizeI in value param height SizeI in value param xorig CoordF in value param yorig CoordF in value param xmove CoordF in value param ymove CoordF in value param bitmap UInt8 in array [COMPSIZE(width/height)] category VERSION_1_0_DEPRECATED # old: drawing dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 5 wglflags client-handcode server-handcode offset 8 Color3b(red, green, blue) return void param red ColorB in value param green ColorB in value param blue ColorB in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3bv version 1.0 deprecated 3.1 offset 9 Color3bv(v) return void param v ColorB in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 6 offset 10 Color3d(red, green, blue) return void param red ColorD in value param green ColorD in value param blue ColorD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3dv version 1.0 deprecated 3.1 offset 11 Color3dv(v) return void param v ColorD in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 7 offset 12 Color3f(red, green, blue) return void param red ColorF in value param green ColorF in value param blue ColorF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3fv version 1.0 deprecated 3.1 offset 13 Color3fv(v) return void param v ColorF in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 8 offset 14 Color3i(red, green, blue) return void param red ColorI in value param green ColorI in value param blue ColorI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3iv version 1.0 deprecated 3.1 offset 15 Color3iv(v) return void param v ColorI in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 9 offset 16 Color3s(red, green, blue) return void param red ColorS in value param green ColorS in value param blue ColorS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3sv version 1.0 deprecated 3.1 offset 17 Color3sv(v) return void param v ColorS in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 10 offset 18 Color3ub(red, green, blue) return void param red ColorUB in value param green ColorUB in value param blue ColorUB in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3ubv version 1.0 deprecated 3.1 offset 19 Color3ubv(v) return void param v ColorUB in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 11 offset 20 Color3ui(red, green, blue) return void param red ColorUI in value param green ColorUI in value param blue ColorUI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3uiv version 1.0 deprecated 3.1 offset 21 Color3uiv(v) return void param v ColorUI in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 12 offset 22 Color3us(red, green, blue) return void param red ColorUS in value param green ColorUS in value param blue ColorUS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color3usv version 1.0 deprecated 3.1 offset 23 Color3usv(v) return void param v ColorUS in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 13 offset 24 Color4b(red, green, blue, alpha) return void param red ColorB in value param green ColorB in value param blue ColorB in value param alpha ColorB in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4bv version 1.0 deprecated 3.1 offset 25 Color4bv(v) return void param v ColorB in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 14 offset 26 Color4d(red, green, blue, alpha) return void param red ColorD in value param green ColorD in value param blue ColorD in value param alpha ColorD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4dv version 1.0 deprecated 3.1 offset 27 Color4dv(v) return void param v ColorD in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 15 offset 28 Color4f(red, green, blue, alpha) return void param red ColorF in value param green ColorF in value param blue ColorF in value param alpha ColorF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4fv version 1.0 deprecated 3.1 offset 29 Color4fv(v) return void param v ColorF in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 16 offset 30 Color4i(red, green, blue, alpha) return void param red ColorI in value param green ColorI in value param blue ColorI in value param alpha ColorI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4iv version 1.0 deprecated 3.1 offset 31 Color4iv(v) return void param v ColorI in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 17 offset 32 Color4s(red, green, blue, alpha) return void param red ColorS in value param green ColorS in value param blue ColorS in value param alpha ColorS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4sv version 1.0 deprecated 3.1 offset 33 Color4sv(v) return void param v ColorS in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 18 offset 34 Color4ub(red, green, blue, alpha) return void param red ColorUB in value param green ColorUB in value param blue ColorUB in value param alpha ColorUB in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4ubv version 1.0 deprecated 3.1 offset 35 Color4ubv(v) return void param v ColorUB in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 19 offset 36 Color4ui(red, green, blue, alpha) return void param red ColorUI in value param green ColorUI in value param blue ColorUI in value param alpha ColorUI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4uiv version 1.0 deprecated 3.1 offset 37 Color4uiv(v) return void param v ColorUI in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 20 offset 38 Color4us(red, green, blue, alpha) return void param red ColorUS in value param green ColorUS in value param blue ColorUS in value param alpha ColorUS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Color4usv version 1.0 deprecated 3.1 offset 39 Color4usv(v) return void param v ColorUS in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 21 offset 40 EdgeFlag(flag) return void param flag Boolean in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv EdgeFlagv version 1.0 deprecated 3.1 offset 41 EdgeFlagv(flag) return void param flag Boolean in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 22 offset 42 End() return void category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 23 offset 43 Indexd(c) return void param c ColorIndexValueD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Indexdv version 1.0 deprecated 3.1 offset 44 Indexdv(c) return void param c ColorIndexValueD in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 24 offset 45 Indexf(c) return void param c ColorIndexValueF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Indexfv version 1.0 deprecated 3.1 offset 46 Indexfv(c) return void param c ColorIndexValueF in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 25 offset 47 Indexi(c) return void param c ColorIndexValueI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Indexiv version 1.0 deprecated 3.1 offset 48 Indexiv(c) return void param c ColorIndexValueI in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 26 offset 49 Indexs(c) return void param c ColorIndexValueS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Indexsv version 1.0 deprecated 3.1 offset 50 Indexsv(c) return void param c ColorIndexValueS in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 27 offset 51 Normal3b(nx, ny, nz) return void param nx Int8 in value param ny Int8 in value param nz Int8 in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Normal3bv version 1.0 deprecated 3.1 offset 52 Normal3bv(v) return void param v Int8 in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 28 offset 53 Normal3d(nx, ny, nz) return void param nx CoordD in value param ny CoordD in value param nz CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Normal3dv version 1.0 deprecated 3.1 offset 54 Normal3dv(v) return void param v CoordD in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 29 offset 55 Normal3f(nx, ny, nz) return void param nx CoordF in value param ny CoordF in value param nz CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Normal3fv version 1.0 deprecated 3.1 offset 56 Normal3fv(v) return void param v CoordF in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 30 offset 57 Normal3i(nx, ny, nz) return void param nx Int32 in value param ny Int32 in value param nz Int32 in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Normal3iv version 1.0 deprecated 3.1 offset 58 Normal3iv(v) return void param v Int32 in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 31 offset 59 Normal3s(nx, ny, nz) return void param nx Int16 in value param ny Int16 in value param nz Int16 in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Normal3sv version 1.0 deprecated 3.1 offset 60 Normal3sv(v) return void param v Int16 in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 32 offset 61 RasterPos2d(x, y) return void param x CoordD in value param y CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos2dv version 1.0 deprecated 3.1 offset 62 RasterPos2dv(v) return void param v CoordD in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 33 offset 63 RasterPos2f(x, y) return void param x CoordF in value param y CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos2fv version 1.0 deprecated 3.1 offset 64 RasterPos2fv(v) return void param v CoordF in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 34 offset 65 RasterPos2i(x, y) return void param x CoordI in value param y CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos2iv version 1.0 deprecated 3.1 offset 66 RasterPos2iv(v) return void param v CoordI in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 35 offset 67 RasterPos2s(x, y) return void param x CoordS in value param y CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos2sv version 1.0 deprecated 3.1 offset 68 RasterPos2sv(v) return void param v CoordS in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 36 offset 69 RasterPos3d(x, y, z) return void param x CoordD in value param y CoordD in value param z CoordD in value vectorequiv RasterPos3dv category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 offset 70 RasterPos3dv(v) return void param v CoordD in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 37 offset 71 RasterPos3f(x, y, z) return void param x CoordF in value param y CoordF in value param z CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos3fv version 1.0 deprecated 3.1 offset 72 RasterPos3fv(v) return void param v CoordF in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 38 offset 73 RasterPos3i(x, y, z) return void param x CoordI in value param y CoordI in value param z CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos3iv version 1.0 deprecated 3.1 offset 74 RasterPos3iv(v) return void param v CoordI in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 39 offset 75 RasterPos3s(x, y, z) return void param x CoordS in value param y CoordS in value param z CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos3sv version 1.0 deprecated 3.1 offset 76 RasterPos3sv(v) return void param v CoordS in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 40 offset 77 RasterPos4d(x, y, z, w) return void param x CoordD in value param y CoordD in value param z CoordD in value param w CoordD in value vectorequiv RasterPos4dv category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 offset 78 RasterPos4dv(v) return void param v CoordD in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 41 offset 79 RasterPos4f(x, y, z, w) return void param x CoordF in value param y CoordF in value param z CoordF in value param w CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos4fv version 1.0 deprecated 3.1 offset 80 RasterPos4fv(v) return void param v CoordF in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 42 offset 81 RasterPos4i(x, y, z, w) return void param x CoordI in value param y CoordI in value param z CoordI in value param w CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos4iv version 1.0 deprecated 3.1 offset 82 RasterPos4iv(v) return void param v CoordI in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 43 offset 83 RasterPos4s(x, y, z, w) return void param x CoordS in value param y CoordS in value param z CoordS in value param w CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv RasterPos4sv version 1.0 deprecated 3.1 offset 84 RasterPos4sv(v) return void param v CoordS in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 44 offset 85 Rectd(x1, y1, x2, y2) return void param x1 CoordD in value param y1 CoordD in value param x2 CoordD in value param y2 CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Rectdv version 1.0 deprecated 3.1 offset 86 Rectdv(v1, v2) return void param v1 CoordD in array [2] param v2 CoordD in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 45 offset 87 Rectf(x1, y1, x2, y2) return void param x1 CoordF in value param y1 CoordF in value param x2 CoordF in value param y2 CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Rectfv version 1.0 deprecated 3.1 offset 88 Rectfv(v1, v2) return void param v1 CoordF in array [2] param v2 CoordF in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 46 offset 89 Recti(x1, y1, x2, y2) return void param x1 CoordI in value param y1 CoordI in value param x2 CoordI in value param y2 CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Rectiv version 1.0 deprecated 3.1 offset 90 Rectiv(v1, v2) return void param v1 CoordI in array [2] param v2 CoordI in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 47 offset 91 Rects(x1, y1, x2, y2) return void param x1 CoordS in value param y1 CoordS in value param x2 CoordS in value param y2 CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Rectsv version 1.0 deprecated 3.1 offset 92 Rectsv(v1, v2) return void param v1 CoordS in array [2] param v2 CoordS in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 48 offset 93 TexCoord1d(s) return void param s CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord1dv version 1.0 deprecated 3.1 offset 94 TexCoord1dv(v) return void param v CoordD in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 49 offset 95 TexCoord1f(s) return void param s CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord1fv version 1.0 deprecated 3.1 offset 96 TexCoord1fv(v) return void param v CoordF in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 50 offset 97 TexCoord1i(s) return void param s CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord1iv version 1.0 deprecated 3.1 offset 98 TexCoord1iv(v) return void param v CoordI in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 51 offset 99 TexCoord1s(s) return void param s CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord1sv version 1.0 deprecated 3.1 offset 100 TexCoord1sv(v) return void param v CoordS in array [1] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 52 offset 101 TexCoord2d(s, t) return void param s CoordD in value param t CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord2dv version 1.0 deprecated 3.1 offset 102 TexCoord2dv(v) return void param v CoordD in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 53 offset 103 TexCoord2f(s, t) return void param s CoordF in value param t CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord2fv version 1.0 deprecated 3.1 offset 104 TexCoord2fv(v) return void param v CoordF in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 54 offset 105 TexCoord2i(s, t) return void param s CoordI in value param t CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord2iv version 1.0 deprecated 3.1 offset 106 TexCoord2iv(v) return void param v CoordI in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 55 offset 107 TexCoord2s(s, t) return void param s CoordS in value param t CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord2sv version 1.0 deprecated 3.1 offset 108 TexCoord2sv(v) return void param v CoordS in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 56 offset 109 TexCoord3d(s, t, r) return void param s CoordD in value param t CoordD in value param r CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord3dv version 1.0 deprecated 3.1 offset 110 TexCoord3dv(v) return void param v CoordD in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 57 offset 111 TexCoord3f(s, t, r) return void param s CoordF in value param t CoordF in value param r CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord3fv version 1.0 deprecated 3.1 offset 112 TexCoord3fv(v) return void param v CoordF in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 58 offset 113 TexCoord3i(s, t, r) return void param s CoordI in value param t CoordI in value param r CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord3iv version 1.0 deprecated 3.1 offset 114 TexCoord3iv(v) return void param v CoordI in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 59 offset 115 TexCoord3s(s, t, r) return void param s CoordS in value param t CoordS in value param r CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord3sv version 1.0 deprecated 3.1 offset 116 TexCoord3sv(v) return void param v CoordS in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 60 offset 117 TexCoord4d(s, t, r, q) return void param s CoordD in value param t CoordD in value param r CoordD in value param q CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord4dv version 1.0 deprecated 3.1 offset 118 TexCoord4dv(v) return void param v CoordD in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 61 offset 119 TexCoord4f(s, t, r, q) return void param s CoordF in value param t CoordF in value param r CoordF in value param q CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord4fv version 1.0 deprecated 3.1 offset 120 TexCoord4fv(v) return void param v CoordF in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 62 offset 121 TexCoord4i(s, t, r, q) return void param s CoordI in value param t CoordI in value param r CoordI in value param q CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord4iv version 1.0 deprecated 3.1 offset 122 TexCoord4iv(v) return void param v CoordI in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 63 offset 123 TexCoord4s(s, t, r, q) return void param s CoordS in value param t CoordS in value param r CoordS in value param q CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv TexCoord4sv version 1.0 deprecated 3.1 offset 124 TexCoord4sv(v) return void param v CoordS in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 64 offset 125 Vertex2d(x, y) return void param x CoordD in value param y CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex2dv version 1.0 deprecated 3.1 offset 126 Vertex2dv(v) return void param v CoordD in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 65 offset 127 Vertex2f(x, y) return void param x CoordF in value param y CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex2fv version 1.0 deprecated 3.1 offset 128 Vertex2fv(v) return void param v CoordF in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 66 offset 129 Vertex2i(x, y) return void param x CoordI in value param y CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex2iv version 1.0 deprecated 3.1 offset 130 Vertex2iv(v) return void param v CoordI in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 67 offset 131 Vertex2s(x, y) return void param x CoordS in value param y CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex2sv version 1.0 deprecated 3.1 offset 132 Vertex2sv(v) return void param v CoordS in array [2] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 68 offset 133 Vertex3d(x, y, z) return void param x CoordD in value param y CoordD in value param z CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex3dv version 1.0 deprecated 3.1 offset 134 Vertex3dv(v) return void param v CoordD in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 69 offset 135 Vertex3f(x, y, z) return void param x CoordF in value param y CoordF in value param z CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex3fv version 1.0 deprecated 3.1 offset 136 Vertex3fv(v) return void param v CoordF in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 70 offset 137 Vertex3i(x, y, z) return void param x CoordI in value param y CoordI in value param z CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex3iv version 1.0 deprecated 3.1 offset 138 Vertex3iv(v) return void param v CoordI in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 71 offset 139 Vertex3s(x, y, z) return void param x CoordS in value param y CoordS in value param z CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex3sv version 1.0 deprecated 3.1 offset 140 Vertex3sv(v) return void param v CoordS in array [3] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 72 offset 141 Vertex4d(x, y, z, w) return void param x CoordD in value param y CoordD in value param z CoordD in value param w CoordD in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex4dv version 1.0 deprecated 3.1 offset 142 Vertex4dv(v) return void param v CoordD in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 73 offset 143 Vertex4f(x, y, z, w) return void param x CoordF in value param y CoordF in value param z CoordF in value param w CoordF in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex4fv version 1.0 deprecated 3.1 offset 144 Vertex4fv(v) return void param v CoordF in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 74 offset 145 Vertex4i(x, y, z, w) return void param x CoordI in value param y CoordI in value param z CoordI in value param w CoordI in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex4iv version 1.0 deprecated 3.1 offset 146 Vertex4iv(v) return void param v CoordI in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 75 offset 147 Vertex4s(x, y, z, w) return void param x CoordS in value param y CoordS in value param z CoordS in value param w CoordS in value category VERSION_1_0_DEPRECATED # old: drawing vectorequiv Vertex4sv version 1.0 deprecated 3.1 offset 148 Vertex4sv(v) return void param v CoordS in array [4] category VERSION_1_0_DEPRECATED # old: drawing version 1.0 deprecated 3.1 glxropcode 76 offset 149 ClipPlane(plane, equation) return void param plane ClipPlaneName in value param equation Float64 in array [4] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 77 offset 150 ColorMaterial(face, mode) return void param face MaterialFace in value param mode ColorMaterialParameter in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 78 offset 151 Fogf(pname, param) return void param pname FogParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 80 wglflags small-data offset 153 Fogfv(pname, params) return void param pname FogParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 81 wglflags small-data offset 154 Fogi(pname, param) return void param pname FogParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 82 wglflags small-data offset 155 Fogiv(pname, params) return void param pname FogParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 83 wglflags small-data offset 156 Lightf(light, pname, param) return void param light LightName in value param pname LightParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 86 wglflags small-data offset 159 Lightfv(light, pname, params) return void param light LightName in value param pname LightParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 87 wglflags small-data offset 160 Lighti(light, pname, param) return void param light LightName in value param pname LightParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 88 wglflags small-data offset 161 Lightiv(light, pname, params) return void param light LightName in value param pname LightParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 89 wglflags small-data offset 162 LightModelf(pname, param) return void param pname LightModelParameter in value param param Float32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 90 wglflags small-data offset 163 LightModelfv(pname, params) return void param pname LightModelParameter in value param params Float32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 91 wglflags small-data offset 164 LightModeli(pname, param) return void param pname LightModelParameter in value param param Int32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 92 wglflags small-data offset 165 LightModeliv(pname, params) return void param pname LightModelParameter in value param params Int32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 93 wglflags small-data offset 166 LineStipple(factor, pattern) return void param factor CheckedInt32 in value param pattern LineStipple in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 94 offset 167 Materialf(face, pname, param) return void param face MaterialFace in value param pname MaterialParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 96 wglflags small-data offset 169 Materialfv(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 97 wglflags small-data offset 170 Materiali(face, pname, param) return void param face MaterialFace in value param pname MaterialParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 98 wglflags small-data offset 171 Materialiv(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 99 wglflags small-data offset 172 PolygonStipple(mask) return void param mask UInt8 in array [COMPSIZE()] category VERSION_1_0_DEPRECATED # old: drawing-control dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 102 wglflags client-handcode server-handcode offset 175 ShadeModel(mode) return void param mode ShadingModel in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 104 offset 177 TexEnvf(target, pname, param) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 111 wglflags small-data offset 184 TexEnvfv(target, pname, params) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 112 wglflags small-data offset 185 TexEnvi(target, pname, param) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 113 wglflags small-data offset 186 TexEnviv(target, pname, params) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 114 wglflags small-data offset 187 TexGend(coord, pname, param) return void param coord TextureCoordName in value param pname TextureGenParameter in value param param Float64 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 115 wglflags small-data offset 188 TexGendv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params Float64 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 116 wglflags small-data offset 189 TexGenf(coord, pname, param) return void param coord TextureCoordName in value param pname TextureGenParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 117 wglflags small-data offset 190 TexGenfv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 118 wglflags small-data offset 191 TexGeni(coord, pname, param) return void param coord TextureCoordName in value param pname TextureGenParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 119 wglflags small-data offset 192 TexGeniv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: drawing-control version 1.0 deprecated 3.1 glxropcode 120 wglflags small-data offset 193 # feedback commands FeedbackBuffer(size, type, buffer) return void param size SizeI in value param type FeedbackType in value param buffer FeedbackElement out array [size] retained dlflags notlistable glxflags client-handcode server-handcode category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxsingle 105 wglflags client-handcode server-handcode batchable offset 194 SelectBuffer(size, buffer) return void param size SizeI in value param buffer SelectName out array [size] retained dlflags notlistable glxflags client-handcode server-handcode category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxsingle 106 wglflags client-handcode server-handcode batchable offset 195 RenderMode(mode) return Int32 param mode RenderingMode in value category VERSION_1_0_DEPRECATED # old: feedback dlflags notlistable glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxsingle 107 wglflags client-handcode server-handcode offset 196 InitNames() return void category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxropcode 121 offset 197 LoadName(name) return void param name SelectName in value category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxropcode 122 offset 198 PassThrough(token) return void param token FeedbackElement in value category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxropcode 123 offset 199 PopName() return void category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxropcode 124 offset 200 PushName(name) return void param name SelectName in value category VERSION_1_0_DEPRECATED # old: feedback version 1.0 deprecated 3.1 glxropcode 125 offset 201 ClearAccum(red, green, blue, alpha) return void param red Float32 in value param green Float32 in value param blue Float32 in value param alpha Float32 in value category VERSION_1_0_DEPRECATED # old: framebuf version 1.0 deprecated 3.1 glxropcode 128 offset 204 ClearIndex(c) return void param c MaskedColorIndexValueF in value category VERSION_1_0_DEPRECATED # old: framebuf version 1.0 deprecated 3.1 glxropcode 129 offset 205 IndexMask(mask) return void param mask MaskedColorIndexValueI in value category VERSION_1_0_DEPRECATED # old: framebuf version 1.0 deprecated 3.1 glxropcode 136 offset 212 Accum(op, value) return void param op AccumOp in value param value CoordF in value category VERSION_1_0_DEPRECATED # old: misc version 1.0 deprecated 3.1 glxropcode 137 offset 213 PopAttrib() return void category VERSION_1_0_DEPRECATED # old: misc version 1.0 deprecated 3.1 glxropcode 141 offset 218 PushAttrib(mask) return void param mask AttribMask in value category VERSION_1_0_DEPRECATED # old: misc version 1.0 deprecated 3.1 glxropcode 142 offset 219 # modeling commands Map1d(target, u1, u2, stride, order, points) return void param target MapTarget in value param u1 CoordD in value param u2 CoordD in value param stride Int32 in value param order CheckedInt32 in value param points CoordD in array [COMPSIZE(target/stride/order)] category VERSION_1_0_DEPRECATED # old: modeling dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 143 wglflags client-handcode server-handcode offset 220 Map1f(target, u1, u2, stride, order, points) return void param target MapTarget in value param u1 CoordF in value param u2 CoordF in value param stride Int32 in value param order CheckedInt32 in value param points CoordF in array [COMPSIZE(target/stride/order)] category VERSION_1_0_DEPRECATED # old: modeling dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 144 wglflags client-handcode server-handcode offset 221 Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) return void param target MapTarget in value param u1 CoordD in value param u2 CoordD in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordD in value param v2 CoordD in value param vstride Int32 in value param vorder CheckedInt32 in value param points CoordD in array [COMPSIZE(target/ustride/uorder/vstride/vorder)] category VERSION_1_0_DEPRECATED # old: modeling dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 145 wglflags client-handcode server-handcode offset 222 Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) return void param target MapTarget in value param u1 CoordF in value param u2 CoordF in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordF in value param v2 CoordF in value param vstride Int32 in value param vorder CheckedInt32 in value param points CoordF in array [COMPSIZE(target/ustride/uorder/vstride/vorder)] category VERSION_1_0_DEPRECATED # old: modeling dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 146 wglflags client-handcode server-handcode offset 223 MapGrid1d(un, u1, u2) return void param un Int32 in value param u1 CoordD in value param u2 CoordD in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 147 offset 224 MapGrid1f(un, u1, u2) return void param un Int32 in value param u1 CoordF in value param u2 CoordF in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 148 offset 225 MapGrid2d(un, u1, u2, vn, v1, v2) return void param un Int32 in value param u1 CoordD in value param u2 CoordD in value param vn Int32 in value param v1 CoordD in value param v2 CoordD in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 149 offset 226 MapGrid2f(un, u1, u2, vn, v1, v2) return void param un Int32 in value param u1 CoordF in value param u2 CoordF in value param vn Int32 in value param v1 CoordF in value param v2 CoordF in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 150 offset 227 EvalCoord1d(u) return void param u CoordD in value category VERSION_1_0_DEPRECATED # old: modeling vectorequiv EvalCoord1dv version 1.0 deprecated 3.1 offset 228 EvalCoord1dv(u) return void param u CoordD in array [1] category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 151 offset 229 EvalCoord1f(u) return void param u CoordF in value category VERSION_1_0_DEPRECATED # old: modeling vectorequiv EvalCoord1fv version 1.0 deprecated 3.1 offset 230 EvalCoord1fv(u) return void param u CoordF in array [1] category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 152 offset 231 EvalCoord2d(u, v) return void param u CoordD in value param v CoordD in value category VERSION_1_0_DEPRECATED # old: modeling vectorequiv EvalCoord2dv version 1.0 deprecated 3.1 offset 232 EvalCoord2dv(u) return void param u CoordD in array [2] category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 153 offset 233 EvalCoord2f(u, v) return void param u CoordF in value param v CoordF in value category VERSION_1_0_DEPRECATED # old: modeling vectorequiv EvalCoord2fv version 1.0 deprecated 3.1 offset 234 EvalCoord2fv(u) return void param u CoordF in array [2] category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 154 offset 235 EvalMesh1(mode, i1, i2) return void param mode MeshMode1 in value param i1 CheckedInt32 in value param i2 CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 155 offset 236 EvalPoint1(i) return void param i Int32 in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 156 offset 237 EvalMesh2(mode, i1, i2, j1, j2) return void param mode MeshMode2 in value param i1 CheckedInt32 in value param i2 CheckedInt32 in value param j1 CheckedInt32 in value param j2 CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 157 offset 238 EvalPoint2(i, j) return void param i CheckedInt32 in value param j CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: modeling version 1.0 deprecated 3.1 glxropcode 158 offset 239 AlphaFunc(func, ref) return void param func AlphaFunction in value param ref ClampedFloat32 in value category VERSION_1_0_DEPRECATED # old: pixel-op version 1.0 deprecated 3.1 glxropcode 159 offset 240 PixelZoom(xfactor, yfactor) return void param xfactor Float32 in value param yfactor Float32 in value category VERSION_1_0_DEPRECATED # old: pixel-rw version 1.0 deprecated 3.1 glxropcode 165 offset 246 PixelTransferf(pname, param) return void param pname PixelTransferParameter in value param param CheckedFloat32 in value category VERSION_1_0_DEPRECATED # old: pixel-rw version 1.0 deprecated 3.1 glxropcode 166 offset 247 PixelTransferi(pname, param) return void param pname PixelTransferParameter in value param param CheckedInt32 in value category VERSION_1_0_DEPRECATED # old: pixel-rw version 1.0 deprecated 3.1 glxropcode 167 offset 248 PixelMapfv(map, mapsize, values) return void param map PixelMap in value param mapsize CheckedInt32 in value param values Float32 in array [mapsize] category VERSION_1_0_DEPRECATED # old: pixel-rw glxflags client-handcode version 1.0 deprecated 3.1 glxropcode 168 offset 251 PixelMapuiv(map, mapsize, values) return void param map PixelMap in value param mapsize CheckedInt32 in value param values UInt32 in array [mapsize] category VERSION_1_0_DEPRECATED # old: pixel-rw glxflags client-handcode version 1.0 deprecated 3.1 glxropcode 169 offset 252 PixelMapusv(map, mapsize, values) return void param map PixelMap in value param mapsize CheckedInt32 in value param values UInt16 in array [mapsize] category VERSION_1_0_DEPRECATED # old: pixel-rw glxflags client-handcode version 1.0 deprecated 3.1 glxropcode 170 offset 253 CopyPixels(x, y, width, height, type) return void param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param type PixelCopyType in value category VERSION_1_0_DEPRECATED # old: pixel-rw version 1.0 deprecated 3.1 glxropcode 172 offset 255 DrawPixels(width, height, format, type, pixels) return void param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category VERSION_1_0_DEPRECATED # old: pixel-rw dlflags handcode glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxropcode 173 wglflags client-handcode server-handcode offset 257 GetClipPlane(plane, equation) return void param plane ClipPlaneName in value param equation Float64 out array [4] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 113 glxflags client-handcode server-handcode offset 259 GetLightfv(light, pname, params) return void param light LightName in value param pname LightParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 118 wglflags small-data offset 264 GetLightiv(light, pname, params) return void param light LightName in value param pname LightParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 119 wglflags small-data offset 265 GetMapdv(target, query, v) return void param target MapTarget in value param query GetMapQuery in value param v Float64 out array [COMPSIZE(target/query)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 120 offset 266 GetMapfv(target, query, v) return void param target MapTarget in value param query GetMapQuery in value param v Float32 out array [COMPSIZE(target/query)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 121 offset 267 GetMapiv(target, query, v) return void param target MapTarget in value param query GetMapQuery in value param v Int32 out array [COMPSIZE(target/query)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 122 offset 268 GetMaterialfv(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 123 wglflags small-data offset 269 GetMaterialiv(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 124 wglflags small-data offset 270 GetPixelMapfv(map, values) return void param map PixelMap in value param values Float32 out array [COMPSIZE(map)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 125 offset 271 GetPixelMapuiv(map, values) return void param map PixelMap in value param values UInt32 out array [COMPSIZE(map)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 126 offset 272 GetPixelMapusv(map, values) return void param map PixelMap in value param values UInt16 out array [COMPSIZE(map)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 127 offset 273 GetPolygonStipple(mask) return void param mask UInt8 out array [COMPSIZE()] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable glxflags client-handcode server-handcode version 1.0 deprecated 3.1 glxsingle 128 wglflags client-handcode server-handcode offset 274 GetTexEnvfv(target, pname, params) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 130 wglflags small-data offset 276 GetTexEnviv(target, pname, params) return void param target TextureEnvTarget in value param pname TextureEnvParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 131 wglflags small-data offset 277 GetTexGendv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params Float64 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 132 wglflags small-data offset 278 GetTexGenfv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 133 wglflags small-data offset 279 GetTexGeniv(coord, pname, params) return void param coord TextureCoordName in value param pname TextureGenParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 134 wglflags small-data offset 280 IsList(list) return Boolean param list List in value category VERSION_1_0_DEPRECATED # old: state-req dlflags notlistable version 1.0 deprecated 3.1 glxsingle 141 offset 287 Frustum(left, right, bottom, top, zNear, zFar) return void param left Float64 in value param right Float64 in value param bottom Float64 in value param top Float64 in value param zNear Float64 in value param zFar Float64 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 175 offset 289 LoadIdentity() return void category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 176 offset 290 LoadMatrixf(m) return void param m Float32 in array [16] category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 177 offset 291 LoadMatrixd(m) return void param m Float64 in array [16] category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 178 offset 292 MatrixMode(mode) return void param mode MatrixMode in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 179 offset 293 MultMatrixf(m) return void param m Float32 in array [16] category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 180 offset 294 MultMatrixd(m) return void param m Float64 in array [16] category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 181 offset 295 Ortho(left, right, bottom, top, zNear, zFar) return void param left Float64 in value param right Float64 in value param bottom Float64 in value param top Float64 in value param zNear Float64 in value param zFar Float64 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 182 offset 296 PopMatrix() return void category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 183 offset 297 PushMatrix() return void category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 184 offset 298 Rotated(angle, x, y, z) return void param angle Float64 in value param x Float64 in value param y Float64 in value param z Float64 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 185 offset 299 Rotatef(angle, x, y, z) return void param angle Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 186 offset 300 Scaled(x, y, z) return void param x Float64 in value param y Float64 in value param z Float64 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 187 offset 301 Scalef(x, y, z) return void param x Float32 in value param y Float32 in value param z Float32 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 188 offset 302 Translated(x, y, z) return void param x Float64 in value param y Float64 in value param z Float64 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 189 offset 303 Translatef(x, y, z) return void param x Float32 in value param y Float32 in value param z Float32 in value category VERSION_1_0_DEPRECATED # old: xform version 1.0 deprecated 3.1 glxropcode 190 offset 304 ############################################################################### ############################################################################### # # OpenGL 1.1 commands # ############################################################################### ############################################################################### DrawArrays(mode, first, count) return void param mode BeginMode in value param first Int32 in value param count SizeI in value category VERSION_1_1 dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.1 glxropcode 193 offset 310 DrawElements(mode, count, type, indices) return void param mode BeginMode in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] category VERSION_1_1 dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.1 offset 311 GetPointerv(pname, params) return void param pname GetPointervPName in value param params VoidPointer out array [1] category VERSION_1_1 dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 offset 329 PolygonOffset(factor, units) return void param factor Float32 in value param units Float32 in value category VERSION_1_1 version 1.1 glxropcode 192 offset 319 # Arguably TexelInternalFormat, not PixelInternalFormat CopyTexImage1D(target, level, internalformat, x, y, width, border) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param border CheckedInt32 in value category VERSION_1_1 version 1.1 glxropcode 4119 glxflags EXT offset 323 # Arguably TexelInternalFormat, not PixelInternalFormat CopyTexImage2D(target, level, internalformat, x, y, width, height, border) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value category VERSION_1_1 version 1.1 glxropcode 4120 glxflags EXT offset 324 CopyTexSubImage1D(target, level, xoffset, x, y, width) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value category VERSION_1_1 version 1.1 glxropcode 4121 glxflags EXT offset 325 CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category VERSION_1_1 version 1.1 glxropcode 4122 glxflags EXT offset 326 TexSubImage1D(target, level, xoffset, width, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category VERSION_1_1 dlflags handcode glxflags EXT client-handcode server-handcode version 1.1 glxropcode 4099 offset 332 TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category VERSION_1_1 dlflags handcode glxflags EXT client-handcode server-handcode version 1.1 glxropcode 4100 offset 333 BindTexture(target, texture) return void param target TextureTarget in value param texture Texture in value category VERSION_1_1 version 1.1 glxropcode 4117 glxflags EXT offset 307 DeleteTextures(n, textures) return void param n SizeI in value param textures Texture in array [n] category VERSION_1_1 dlflags notlistable version 1.1 glxsingle 144 offset 327 GenTextures(n, textures) return void param n SizeI in value param textures Texture out array [n] category VERSION_1_1 dlflags notlistable version 1.1 glxsingle 145 offset 328 IsTexture(texture) return Boolean param texture Texture in value category VERSION_1_1 dlflags notlistable version 1.1 glxsingle 146 offset 330 ############################################################################### ############################################################################### # # OpenGL 1.1 deprecated commands # ############################################################################### ############################################################################### ArrayElement(i) return void param i Int32 in value category VERSION_1_1_DEPRECATED dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 306 ColorPointer(size, type, stride, pointer) return void param size Int32 in value param type ColorPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 308 DisableClientState(array) return void param array EnableCap in value category VERSION_1_1_DEPRECATED version 1.1 deprecated 3.1 dlflags notlistable glxflags client-handcode client-intercept server-handcode offset 309 EdgeFlagPointer(stride, pointer) return void param stride SizeI in value param pointer Void in array [COMPSIZE(stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 312 EnableClientState(array) return void param array EnableCap in value category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 313 IndexPointer(type, stride, pointer) return void param type IndexPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 314 InterleavedArrays(format, stride, pointer) return void param format InterleavedArrayFormat in value param stride SizeI in value param pointer Void in array [COMPSIZE(format/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 317 NormalPointer(type, stride, pointer) return void param type NormalPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 318 TexCoordPointer(size, type, stride, pointer) return void param size Int32 in value param type TexCoordPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 320 VertexPointer(size, type, stride, pointer) return void param size Int32 in value param type VertexPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category VERSION_1_1_DEPRECATED dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 deprecated 3.1 offset 321 AreTexturesResident(n, textures, residences) return Boolean param n SizeI in value param textures Texture in array [n] param residences Boolean out array [n] category VERSION_1_1_DEPRECATED glxsingle 143 dlflags notlistable version 1.1 deprecated 3.1 offset 322 PrioritizeTextures(n, textures, priorities) return void param n SizeI in value param textures Texture in array [n] param priorities ClampedFloat32 in array [n] category VERSION_1_1_DEPRECATED version 1.1 deprecated 3.1 glxropcode 4118 glxflags EXT offset 331 Indexub(c) return void param c ColorIndexValueUB in value category VERSION_1_1_DEPRECATED vectorequiv Indexubv version 1.1 offset 315 Indexubv(c) return void param c ColorIndexValueUB in array [1] category VERSION_1_1_DEPRECATED version 1.1 glxropcode 194 offset 316 PopClientAttrib() return void category VERSION_1_1_DEPRECATED version 1.1 deprecated 3.1 dlflags notlistable glxflags client-handcode client-intercept server-handcode offset 334 PushClientAttrib(mask) return void param mask ClientAttribMask in value category VERSION_1_1_DEPRECATED version 1.1 deprecated 3.1 dlflags notlistable glxflags client-handcode client-intercept server-handcode offset 335 ############################################################################### ############################################################################### # # OpenGL 1.2 commands # ############################################################################### ############################################################################### BlendColor(red, green, blue, alpha) return void param red ClampedColorF in value param green ClampedColorF in value param blue ClampedColorF in value param alpha ClampedColorF in value category VERSION_1_2 glxflags EXT version 1.2 glxropcode 4096 offset 336 BlendEquation(mode) return void param mode BlendEquationMode in value category VERSION_1_2 glxflags EXT version 1.2 glxropcode 4097 offset 337 DrawRangeElements(mode, start, end, count, type, indices) return void param mode BeginMode in value param start UInt32 in value param end UInt32 in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] category VERSION_1_2 dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.2 offset 338 # OpenGL 1.2 (EXT_texture3D) commands # Arguably TexelInternalFormat, not PixelInternalFormat TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureComponentCount in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category VERSION_1_2 dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 deprecated 3.1 glxropcode 4114 offset 371 TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category VERSION_1_2 dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 glxropcode 4115 offset 372 # OpenGL 1.2 (EXT_copy_texture) commands (specific to texture3D) CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category VERSION_1_2 glxflags EXT version 1.2 glxropcode 4123 offset 373 ############################################################################### ############################################################################### # # OpenGL 1.2 deprecated commands # ############################################################################### ############################################################################### # OpenGL 1.2 (SGI_color_table) commands ColorTable(target, internalformat, width, format, type, table) return void param target ColorTableTarget in value param internalformat PixelInternalFormat in value param width SizeI in value param format PixelFormat in value param type PixelType in value param table Void in array [COMPSIZE(format/type/width)] category VERSION_1_2_DEPRECATED dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 deprecated 3.1 glxropcode 2053 offset 339 ColorTableParameterfv(target, pname, params) return void param target ColorTableTarget in value param pname ColorTableParameterPName in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 2054 offset 340 ColorTableParameteriv(target, pname, params) return void param target ColorTableTarget in value param pname ColorTableParameterPName in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 2055 offset 341 CopyColorTable(target, internalformat, x, y, width) return void param target ColorTableTarget in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 2056 offset 342 GetColorTable(target, format, type, table) return void param target ColorTableTarget in value param format PixelFormat in value param type PixelType in value param table Void out array [COMPSIZE(target/format/type)] category VERSION_1_2_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxsingle 147 offset 343 GetColorTableParameterfv(target, pname, params) return void param target ColorTableTarget in value param pname GetColorTableParameterPName in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 148 offset 344 GetColorTableParameteriv(target, pname, params) return void param target ColorTableTarget in value param pname GetColorTableParameterPName in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 149 offset 345 # OpenGL 1.2 (EXT_color_subtable) commands ColorSubTable(target, start, count, format, type, data) return void param target ColorTableTarget in value param start SizeI in value param count SizeI in value param format PixelFormat in value param type PixelType in value param data Void in array [COMPSIZE(format/type/count)] category VERSION_1_2_DEPRECATED dlflags handcode glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxropcode 195 offset 346 CopyColorSubTable(target, start, x, y, width) return void param target ColorTableTarget in value param start SizeI in value param x WinCoord in value param y WinCoord in value param width SizeI in value category VERSION_1_2_DEPRECATED version 1.2 deprecated 3.1 glxropcode 196 offset 347 # OpenGL 1.2 (EXT_convolution) commands ConvolutionFilter1D(target, internalformat, width, format, type, image) return void param target ConvolutionTarget in value param internalformat PixelInternalFormat in value param width SizeI in value param format PixelFormat in value param type PixelType in value param image Void in array [COMPSIZE(format/type/width)] category VERSION_1_2_DEPRECATED dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 deprecated 3.1 glxropcode 4101 offset 348 ConvolutionFilter2D(target, internalformat, width, height, format, type, image) return void param target ConvolutionTarget in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param image Void in array [COMPSIZE(format/type/width/height)] category VERSION_1_2_DEPRECATED dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 deprecated 3.1 glxropcode 4102 offset 349 ConvolutionParameterf(target, pname, params) return void param target ConvolutionTarget in value param pname ConvolutionParameter in value param params CheckedFloat32 in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4103 offset 350 ConvolutionParameterfv(target, pname, params) return void param target ConvolutionTarget in value param pname ConvolutionParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4104 offset 351 ConvolutionParameteri(target, pname, params) return void param target ConvolutionTarget in value param pname ConvolutionParameter in value param params CheckedInt32 in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4105 offset 352 ConvolutionParameteriv(target, pname, params) return void param target ConvolutionTarget in value param pname ConvolutionParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4106 offset 353 CopyConvolutionFilter1D(target, internalformat, x, y, width) return void param target ConvolutionTarget in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4107 offset 354 CopyConvolutionFilter2D(target, internalformat, x, y, width, height) return void param target ConvolutionTarget in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4108 offset 355 GetConvolutionFilter(target, format, type, image) return void param target ConvolutionTarget in value param format PixelFormat in value param type PixelType in value param image Void out array [COMPSIZE(target/format/type)] category VERSION_1_2_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxsingle 150 offset 356 GetConvolutionParameterfv(target, pname, params) return void param target ConvolutionTarget in value param pname GetConvolutionParameterPName in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 151 offset 357 GetConvolutionParameteriv(target, pname, params) return void param target ConvolutionTarget in value param pname GetConvolutionParameterPName in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 152 offset 358 GetSeparableFilter(target, format, type, row, column, span) return void param target SeparableTarget in value param format PixelFormat in value param type PixelType in value param row Void out array [COMPSIZE(target/format/type)] param column Void out array [COMPSIZE(target/format/type)] param span Void out array [COMPSIZE(target/format/type)] category VERSION_1_2_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxsingle 153 offset 359 SeparableFilter2D(target, internalformat, width, height, format, type, row, column) return void param target SeparableTarget in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param row Void in array [COMPSIZE(target/format/type/width)] param column Void in array [COMPSIZE(target/format/type/height)] category VERSION_1_2_DEPRECATED dlflags handcode glxflags client-handcode server-handcode EXT version 1.2 deprecated 3.1 glxropcode 4109 offset 360 # OpenGL 1.2 (EXT_histogram) commands GetHistogram(target, reset, format, type, values) return void param target HistogramTarget in value param reset Boolean in value param format PixelFormat in value param type PixelType in value param values Void out array [COMPSIZE(target/format/type)] category VERSION_1_2_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxsingle 154 offset 361 GetHistogramParameterfv(target, pname, params) return void param target HistogramTarget in value param pname GetHistogramParameterPName in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 155 offset 362 GetHistogramParameteriv(target, pname, params) return void param target HistogramTarget in value param pname GetHistogramParameterPName in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 156 offset 363 GetMinmax(target, reset, format, type, values) return void param target MinmaxTarget in value param reset Boolean in value param format PixelFormat in value param type PixelType in value param values Void out array [COMPSIZE(target/format/type)] category VERSION_1_2_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.2 deprecated 3.1 glxsingle 157 offset 364 GetMinmaxParameterfv(target, pname, params) return void param target MinmaxTarget in value param pname GetMinmaxParameterPName in value param params Float32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 158 offset 365 GetMinmaxParameteriv(target, pname, params) return void param target MinmaxTarget in value param pname GetMinmaxParameterPName in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_2_DEPRECATED dlflags notlistable version 1.2 deprecated 3.1 glxsingle 159 offset 366 Histogram(target, width, internalformat, sink) return void param target HistogramTarget in value param width SizeI in value param internalformat PixelInternalFormat in value param sink Boolean in value category VERSION_1_2_DEPRECATED dlflags handcode glxflags EXT version 1.2 deprecated 3.1 glxropcode 4110 offset 367 Minmax(target, internalformat, sink) return void param target MinmaxTarget in value param internalformat PixelInternalFormat in value param sink Boolean in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4111 offset 368 ResetHistogram(target) return void param target HistogramTarget in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4112 offset 369 ResetMinmax(target) return void param target MinmaxTarget in value category VERSION_1_2_DEPRECATED glxflags EXT version 1.2 deprecated 3.1 glxropcode 4113 offset 370 ############################################################################### ############################################################################### # # OpenGL 1.3 commands # ############################################################################### ############################################################################### # OpenGL 1.3 (ARB_multitexture) commands ActiveTexture(texture) return void param texture TextureUnit in value category VERSION_1_3 glxflags ARB version 1.3 glxropcode 197 offset 374 # OpenGL 1.3 (ARB_multisample) commands SampleCoverage(value, invert) return void param value ClampedFloat32 in value param invert Boolean in value category VERSION_1_3 glxflags ARB version 1.3 glxropcode 229 offset 412 # OpenGL 1.3 (ARB_texture_compression) commands # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 216 wglflags client-handcode server-handcode offset 554 # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 215 wglflags client-handcode server-handcode offset 555 # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 214 wglflags client-handcode server-handcode offset 556 CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 219 wglflags client-handcode server-handcode offset 557 CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 218 wglflags client-handcode server-handcode offset 558 CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category VERSION_1_3 dlflags handcode glxflags ARB client-handcode server-handcode version 1.3 glxropcode 217 wglflags client-handcode server-handcode offset 559 GetCompressedTexImage(target, level, img) return void param target TextureTarget in value param level CheckedInt32 in value param img CompressedTextureARB out array [COMPSIZE(target/level)] category VERSION_1_3 dlflags notlistable glxflags ARB client-handcode server-handcode version 1.3 glxsingle 160 wglflags client-handcode server-handcode offset 560 ############################################################################### ############################################################################### # # OpenGL 1.3 deprecated commands # ############################################################################### ############################################################################### ClientActiveTexture(texture) return void param texture TextureUnit in value category VERSION_1_3_DEPRECATED dlflags notlistable glxflags ARB client-handcode client-intercept server-handcode version 1.3 deprecated 3.1 offset 375 MultiTexCoord1d(target, s) return void param target TextureUnit in value param s CoordD in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord1dv offset 376 MultiTexCoord1dv(target, v) return void param target TextureUnit in value param v CoordD in array [1] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 198 offset 377 MultiTexCoord1f(target, s) return void param target TextureUnit in value param s CoordF in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord1fv offset 378 MultiTexCoord1fv(target, v) return void param target TextureUnit in value param v CoordF in array [1] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 199 offset 379 MultiTexCoord1i(target, s) return void param target TextureUnit in value param s CoordI in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord1iv offset 380 MultiTexCoord1iv(target, v) return void param target TextureUnit in value param v CoordI in array [1] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 200 offset 381 MultiTexCoord1s(target, s) return void param target TextureUnit in value param s CoordS in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord1sv offset 382 MultiTexCoord1sv(target, v) return void param target TextureUnit in value param v CoordS in array [1] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 201 offset 383 MultiTexCoord2d(target, s, t) return void param target TextureUnit in value param s CoordD in value param t CoordD in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord2dv offset 384 MultiTexCoord2dv(target, v) return void param target TextureUnit in value param v CoordD in array [2] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 202 offset 385 MultiTexCoord2f(target, s, t) return void param target TextureUnit in value param s CoordF in value param t CoordF in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord2fv offset 386 MultiTexCoord2fv(target, v) return void param target TextureUnit in value param v CoordF in array [2] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 203 offset 387 MultiTexCoord2i(target, s, t) return void param target TextureUnit in value param s CoordI in value param t CoordI in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord2iv offset 388 MultiTexCoord2iv(target, v) return void param target TextureUnit in value param v CoordI in array [2] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 204 offset 389 MultiTexCoord2s(target, s, t) return void param target TextureUnit in value param s CoordS in value param t CoordS in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord2sv offset 390 MultiTexCoord2sv(target, v) return void param target TextureUnit in value param v CoordS in array [2] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 205 offset 391 MultiTexCoord3d(target, s, t, r) return void param target TextureUnit in value param s CoordD in value param t CoordD in value param r CoordD in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord3dv offset 392 MultiTexCoord3dv(target, v) return void param target TextureUnit in value param v CoordD in array [3] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 206 offset 393 MultiTexCoord3f(target, s, t, r) return void param target TextureUnit in value param s CoordF in value param t CoordF in value param r CoordF in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord3fv offset 394 MultiTexCoord3fv(target, v) return void param target TextureUnit in value param v CoordF in array [3] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 207 offset 395 MultiTexCoord3i(target, s, t, r) return void param target TextureUnit in value param s CoordI in value param t CoordI in value param r CoordI in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord3iv offset 396 MultiTexCoord3iv(target, v) return void param target TextureUnit in value param v CoordI in array [3] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 208 offset 397 MultiTexCoord3s(target, s, t, r) return void param target TextureUnit in value param s CoordS in value param t CoordS in value param r CoordS in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord3sv offset 398 MultiTexCoord3sv(target, v) return void param target TextureUnit in value param v CoordS in array [3] category VERSION_1_3_DEPRECATED version 1.3 deprecated 3.1 glxflags ARB glxropcode 209 offset 399 MultiTexCoord4d(target, s, t, r, q) return void param target TextureUnit in value param s CoordD in value param t CoordD in value param r CoordD in value param q CoordD in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord4dv offset 400 MultiTexCoord4dv(target, v) return void param target TextureUnit in value param v CoordD in array [4] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 210 offset 401 MultiTexCoord4f(target, s, t, r, q) return void param target TextureUnit in value param s CoordF in value param t CoordF in value param r CoordF in value param q CoordF in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord4fv offset 402 MultiTexCoord4fv(target, v) return void param target TextureUnit in value param v CoordF in array [4] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 211 offset 403 MultiTexCoord4i(target, s, t, r, q) return void param target TextureUnit in value param s CoordI in value param t CoordI in value param r CoordI in value param q CoordI in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord4iv offset 404 MultiTexCoord4iv(target, v) return void param target TextureUnit in value param v CoordI in array [4] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 212 offset 405 MultiTexCoord4s(target, s, t, r, q) return void param target TextureUnit in value param s CoordS in value param t CoordS in value param r CoordS in value param q CoordS in value category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 vectorequiv MultiTexCoord4sv offset 406 MultiTexCoord4sv(target, v) return void param target TextureUnit in value param v CoordS in array [4] category VERSION_1_3_DEPRECATED glxflags ARB version 1.3 deprecated 3.1 glxropcode 213 offset 407 # OpenGL 1.3 (ARB_transpose_matrix) commands LoadTransposeMatrixf(m) return void param m Float32 in array [16] category VERSION_1_3_DEPRECATED glxflags ARB client-handcode client-intercept server-handcode version 1.3 deprecated 3.1 offset 408 LoadTransposeMatrixd(m) return void param m Float64 in array [16] category VERSION_1_3_DEPRECATED glxflags ARB client-handcode client-intercept server-handcode version 1.3 deprecated 3.1 offset 409 MultTransposeMatrixf(m) return void param m Float32 in array [16] category VERSION_1_3_DEPRECATED glxflags ARB client-handcode client-intercept server-handcode version 1.3 deprecated 3.1 offset 410 MultTransposeMatrixd(m) return void param m Float64 in array [16] category VERSION_1_3_DEPRECATED glxflags ARB client-handcode client-intercept server-handcode version 1.3 deprecated 3.1 offset 411 ############################################################################### ############################################################################### # # OpenGL 1.4 commands # ############################################################################### ############################################################################### # OpenGL 1.4 (EXT_blend_func_separate) commands BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) return void param sfactorRGB BlendFuncSeparateParameterEXT in value param dfactorRGB BlendFuncSeparateParameterEXT in value param sfactorAlpha BlendFuncSeparateParameterEXT in value param dfactorAlpha BlendFuncSeparateParameterEXT in value category VERSION_1_4 glxropcode 4134 version 1.4 extension offset 537 # OpenGL 1.4 (EXT_multi_draw_arrays) commands # first and count are really 'in' MultiDrawArrays(mode, first, count, primcount) return void param mode BeginMode in value param first Int32 out array [COMPSIZE(count)] param count SizeI out array [COMPSIZE(primcount)] param primcount SizeI in value category VERSION_1_4 version 1.4 glxropcode ? offset 644 MultiDrawElements(mode, count, type, indices, primcount) return void param mode BeginMode in value param count SizeI in array [COMPSIZE(primcount)] param type DrawElementsType in value param indices VoidPointer in array [COMPSIZE(primcount)] param primcount SizeI in value category VERSION_1_4 version 1.4 glxropcode ? offset 645 # OpenGL 1.4 (ARB_point_parameters, NV_point_sprite) commands PointParameterf(pname, param) return void param pname PointParameterNameARB in value param param CheckedFloat32 in value category VERSION_1_4 version 1.4 glxropcode 2065 extension offset 458 PointParameterfv(pname, params) return void param pname PointParameterNameARB in value param params CheckedFloat32 in array [COMPSIZE(pname)] category VERSION_1_4 version 1.4 glxropcode 2066 extension offset 459 PointParameteri(pname, param) return void param pname PointParameterNameARB in value param param Int32 in value category VERSION_1_4 version 1.4 extension soft WINSOFT NV20 glxropcode 4221 offset 642 PointParameteriv(pname, params) return void param pname PointParameterNameARB in value param params Int32 in array [COMPSIZE(pname)] category VERSION_1_4 version 1.4 extension soft WINSOFT NV20 glxropcode 4222re offset 643 ############################################################################### ############################################################################### # # OpenGL 1.4 deprecated commands # ############################################################################### ############################################################################### # OpenGL 1.4 (EXT_fog_coord) commands FogCoordf(coord) return void param coord CoordF in value category VERSION_1_4_DEPRECATED vectorequiv FogCoordfv version 1.4 deprecated 3.1 offset 545 FogCoordfv(coord) return void param coord CoordF in array [1] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4124 offset 546 FogCoordd(coord) return void param coord CoordD in value category VERSION_1_4_DEPRECATED vectorequiv FogCoorddv version 1.4 deprecated 3.1 offset 547 FogCoorddv(coord) return void param coord CoordD in array [1] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4125 offset 548 FogCoordPointer(type, stride, pointer) return void param type FogPointerTypeEXT in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category VERSION_1_4_DEPRECATED dlflags notlistable version 1.4 deprecated 3.1 glxflags client-handcode server-handcode offset 549 # OpenGL 1.4 (EXT_secondary_color) commands SecondaryColor3b(red, green, blue) return void param red ColorB in value param green ColorB in value param blue ColorB in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3bv version 1.4 deprecated 3.1 offset 561 SecondaryColor3bv(v) return void param v ColorB in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4126 offset 562 SecondaryColor3d(red, green, blue) return void param red ColorD in value param green ColorD in value param blue ColorD in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3dv version 1.4 deprecated 3.1 offset 563 SecondaryColor3dv(v) return void param v ColorD in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4130 offset 564 SecondaryColor3f(red, green, blue) return void param red ColorF in value param green ColorF in value param blue ColorF in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3fv version 1.4 deprecated 3.1 offset 565 SecondaryColor3fv(v) return void param v ColorF in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4129 offset 566 SecondaryColor3i(red, green, blue) return void param red ColorI in value param green ColorI in value param blue ColorI in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3iv version 1.4 deprecated 3.1 offset 567 SecondaryColor3iv(v) return void param v ColorI in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4128 offset 568 SecondaryColor3s(red, green, blue) return void param red ColorS in value param green ColorS in value param blue ColorS in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3sv version 1.4 deprecated 3.1 offset 569 SecondaryColor3sv(v) return void param v ColorS in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4127 offset 570 SecondaryColor3ub(red, green, blue) return void param red ColorUB in value param green ColorUB in value param blue ColorUB in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3ubv version 1.4 deprecated 3.1 offset 571 SecondaryColor3ubv(v) return void param v ColorUB in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4131 offset 572 SecondaryColor3ui(red, green, blue) return void param red ColorUI in value param green ColorUI in value param blue ColorUI in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3uiv version 1.4 deprecated 3.1 offset 573 SecondaryColor3uiv(v) return void param v ColorUI in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4133 offset 574 SecondaryColor3us(red, green, blue) return void param red ColorUS in value param green ColorUS in value param blue ColorUS in value category VERSION_1_4_DEPRECATED vectorequiv SecondaryColor3usv version 1.4 deprecated 3.1 offset 575 SecondaryColor3usv(v) return void param v ColorUS in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 4132 offset 576 SecondaryColorPointer(size, type, stride, pointer) return void param size Int32 in value param type ColorPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category VERSION_1_4_DEPRECATED dlflags notlistable glxflags client-handcode server-handcode version 1.4 deprecated 3.1 extension offset 577 # OpenGL 1.4 (ARB_window_pos) commands # Note: all WindowPos* entry points use glxropcode ropcode 230, with 3 float parameters WindowPos2d(x, y) return void param x CoordD in value param y CoordD in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos2dv version 1.4 deprecated 3.1 offset 513 WindowPos2dv(v) return void param v CoordD in array [2] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 514 WindowPos2f(x, y) return void param x CoordF in value param y CoordF in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos2fv version 1.4 deprecated 3.1 offset 515 WindowPos2fv(v) return void param v CoordF in array [2] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 516 WindowPos2i(x, y) return void param x CoordI in value param y CoordI in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos2iv version 1.4 deprecated 3.1 offset 517 WindowPos2iv(v) return void param v CoordI in array [2] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 518 WindowPos2s(x, y) return void param x CoordS in value param y CoordS in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos2sv version 1.4 deprecated 3.1 offset 519 WindowPos2sv(v) return void param v CoordS in array [2] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 520 WindowPos3d(x, y, z) return void param x CoordD in value param y CoordD in value param z CoordD in value vectorequiv WindowPos3dv category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 offset 521 WindowPos3dv(v) return void param v CoordD in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 522 WindowPos3f(x, y, z) return void param x CoordF in value param y CoordF in value param z CoordF in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos3fv version 1.4 deprecated 3.1 offset 523 WindowPos3fv(v) return void param v CoordF in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 524 WindowPos3i(x, y, z) return void param x CoordI in value param y CoordI in value param z CoordI in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos3iv version 1.4 deprecated 3.1 offset 525 WindowPos3iv(v) return void param v CoordI in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 526 WindowPos3s(x, y, z) return void param x CoordS in value param y CoordS in value param z CoordS in value category VERSION_1_4_DEPRECATED vectorequiv WindowPos3sv version 1.4 deprecated 3.1 offset 527 WindowPos3sv(v) return void param v CoordS in array [3] category VERSION_1_4_DEPRECATED version 1.4 deprecated 3.1 glxropcode 230 glxflags client-handcode server-handcode offset 528 ############################################################################### ############################################################################### # # OpenGL 1.5 commands # ############################################################################### ############################################################################### # OpenGL 1.5 (ARB_occlusion_query) commands GenQueries(n, ids) return void param n SizeI in value param ids UInt32 out array [n] category VERSION_1_5 version 1.5 extension glxsingle 162 glxflags ignore offset 700 DeleteQueries(n, ids) return void param n SizeI in value param ids UInt32 in array [n] category VERSION_1_5 version 1.5 extension glxsingle 161 glxflags ignore offset 701 IsQuery(id) return Boolean param id UInt32 in value category VERSION_1_5 version 1.5 extension glxsingle 163 glxflags ignore offset 702 BeginQuery(target, id) return void param target GLenum in value param id UInt32 in value category VERSION_1_5 version 1.5 extension glxropcode 231 glxflags ignore offset 703 EndQuery(target) return void param target GLenum in value category VERSION_1_5 version 1.5 extension glxropcode 232 glxflags ignore offset 704 GetQueryiv(target, pname, params) return void param target GLenum in value param pname GLenum in value param params Int32 out array [pname] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle 164 glxflags ignore offset 705 GetQueryObjectiv(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params Int32 out array [pname] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle 165 glxflags ignore offset 706 GetQueryObjectuiv(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params UInt32 out array [pname] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle 166 glxflags ignore offset 707 # OpenGL 1.5 (ARB_vertex_buffer_object) commands BindBuffer(target, buffer) return void param target BufferTargetARB in value param buffer UInt32 in value category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 688 DeleteBuffers(n, buffers) return void param n SizeI in value param buffers ConstUInt32 in array [n] category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 691 GenBuffers(n, buffers) return void param n SizeI in value param buffers UInt32 out array [n] category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 692 IsBuffer(buffer) return Boolean param buffer UInt32 in value category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 696 BufferData(target, size, data, usage) return void param target BufferTargetARB in value param size BufferSize in value param data ConstVoid in array [size] param usage BufferUsageARB in value category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 689 BufferSubData(target, offset, size, data) return void param target BufferTargetARB in value param offset BufferOffset in value param size BufferSize in value param data ConstVoid in array [size] category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 690 GetBufferSubData(target, offset, size, data) return void param target BufferTargetARB in value param offset BufferOffset in value param size BufferSize in value param data Void out array [size] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle ? glxflags ignore offset 695 MapBuffer(target, access) return VoidPointer param target BufferTargetARB in value param access BufferAccessARB in value category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 697 UnmapBuffer(target) return Boolean param target BufferTargetARB in value category VERSION_1_5 version 1.5 extension glxropcode ? glxflags ignore offset 698 GetBufferParameteriv(target, pname, params) return void param target BufferTargetARB in value param pname BufferPNameARB in value param params Int32 out array [COMPSIZE(pname)] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle ? glxflags ignore offset 693 GetBufferPointerv(target, pname, params) return void param target BufferTargetARB in value param pname BufferPointerNameARB in value param params VoidPointer out array [1] category VERSION_1_5 dlflags notlistable version 1.5 extension glxsingle ? glxflags ignore offset 694 # OpenGL 1.5 (EXT_shadow_funcs) commands - none ############################################################################### ############################################################################### # # OpenGL 2.0 commands # ############################################################################### ############################################################################### # OpenGL 2.0 (EXT_blend_equation_separate) commands BlendEquationSeparate(modeRGB, modeAlpha) return void param modeRGB BlendEquationModeEXT in value param modeAlpha BlendEquationModeEXT in value category VERSION_2_0 version 2.0 extension glxropcode 4228 # OpenGL 2.0 (ARB_draw_buffers) commands DrawBuffers(n, bufs) return void param n SizeI in value param bufs DrawBufferModeATI in array [n] category VERSION_2_0 version 2.0 extension glxropcode 233 glxflags ignore offset ? # OpenGL 2.0 (ARB_stencil_two_side) commands StencilOpSeparate(face, sfail, dpfail, dppass) return void param face StencilFaceDirection in value param sfail StencilOp in value param dpfail StencilOp in value param dppass StencilOp in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? StencilFuncSeparate(frontfunc, backfunc, ref, mask) return void param frontfunc StencilFunction in value param backfunc StencilFunction in value param ref ClampedStencilValue in value param mask MaskedStencilValue in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? StencilMaskSeparate(face, mask) return void param face StencilFaceDirection in value param mask MaskedStencilValue in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? # OpenGL 2.0 (ARB_shader_objects / ARB_vertex_shader / ARB_fragment_shader) commands AttachShader(program, shader) return void param program UInt32 in value param shader UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? BindAttribLocation(program, index, name) return void param program UInt32 in value param index UInt32 in value param name Char in array [] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? CompileShader(shader) return void param shader UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? CreateProgram() return UInt32 category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? CreateShader(type) return UInt32 param type GLenum in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? DeleteProgram(program) return void param program UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? DeleteShader(shader) return void param shader UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? DetachShader(program, shader) return void param program UInt32 in value param shader UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? DisableVertexAttribArray(index) return void param index UInt32 in value dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxflags ignore offset 666 EnableVertexAttribArray(index) return void param index UInt32 in value dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxflags ignore offset 665 GetActiveAttrib(program, index, bufSize, length, size, type, name) return void param program UInt32 in value param index UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param size Int32 out array [1] param type GLenum out array [1] param name Char out array [] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetActiveUniform(program, index, bufSize, length, size, type, name) return void param program UInt32 in value param index UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param size Int32 out array [1] param type GLenum out array [1] param name Char out array [] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetAttachedShaders(program, maxCount, count, obj) return void param program UInt32 in value param maxCount SizeI in value param count SizeI out array [1] param obj UInt32 out array [count] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetAttribLocation(program, name) return Int32 param program UInt32 in value param name Char in array [] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetProgramiv(program, pname, params) return void param program UInt32 in value param pname GLenum in value param params Int32 out array [pname] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetProgramInfoLog(program, bufSize, length, infoLog) return void param program UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param infoLog Char out array [length] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetShaderiv(shader, pname, params) return void param shader UInt32 in value param pname GLenum in value param params Int32 out array [pname] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetShaderInfoLog(shader, bufSize, length, infoLog) return void param shader UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param infoLog Char out array [length] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetShaderSource(shader, bufSize, length, source) return void param shader UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param source Char out array [length] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetUniformLocation(program, name) return Int32 param program UInt32 in value param name Char in array [] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetUniformfv(program, location, params) return void param program UInt32 in value param location Int32 in value param params Float32 out array [location] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetUniformiv(program, location, params) return void param program UInt32 in value param location Int32 in value param params Int32 out array [location] category VERSION_2_0 dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetVertexAttribdv(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Float64 out array [4] dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxvendorpriv 1301 offset 588 GetVertexAttribfv(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Float32 out array [4] dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxvendorpriv 1302 offset 589 GetVertexAttribiv(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Int32 out array [4] dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxvendorpriv 1303 offset 590 GetVertexAttribPointerv(index, pname, pointer) return void param index UInt32 in value param pname VertexAttribPointerPropertyARB in value param pointer VoidPointer out array [1] dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxflags ignore offset 591 IsProgram(program) return Boolean param program UInt32 in value dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxvendorpriv 1304 offset 592 IsShader(shader) return Boolean param shader UInt32 in value dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxvendorpriv ? offset ? LinkProgram(program) return void param program UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? ShaderSource(shader, count, string, length) return void param shader UInt32 in value param count SizeI in value param string CharPointer in array [count] param length Int32 in array [1] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? UseProgram(program) return void param program UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform1f(location, v0) return void param location Int32 in value param v0 Float32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform2f(location, v0, v1) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform3f(location, v0, v1, v2) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform4f(location, v0, v1, v2, v3) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value param v3 Float32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform1i(location, v0) return void param location Int32 in value param v0 Int32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform2i(location, v0, v1) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform3i(location, v0, v1, v2) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform4i(location, v0, v1, v2, v3) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value param v3 Int32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform1fv(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform2fv(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform3fv(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform4fv(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform1iv(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform2iv(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform3iv(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? Uniform4iv(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? UniformMatrix2fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? UniformMatrix3fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? UniformMatrix4fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? ValidateProgram(program) return void param program UInt32 in value category VERSION_2_0 version 2.0 extension glxropcode ? glxflags ignore offset ? VertexAttrib1d(index, x) return void param index UInt32 in value param x Float64 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib1dv extension soft WINSOFT NV10 glxflags ignore offset 603 VertexAttrib1dv(index, v) return void param index UInt32 in value param v Float64 in array [1] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4197 offset 604 VertexAttrib1f(index, x) return void param index UInt32 in value param x Float32 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib1fv extension soft WINSOFT NV10 glxflags ignore offset 605 VertexAttrib1fv(index, v) return void param index UInt32 in value param v Float32 in array [1] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4193 offset 606 VertexAttrib1s(index, x) return void param index UInt32 in value param x Int16 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib1sv extension soft WINSOFT NV10 glxflags ignore offset 607 VertexAttrib1sv(index, v) return void param index UInt32 in value param v Int16 in array [1] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4189 offset 608 VertexAttrib2d(index, x, y) return void param index UInt32 in value param x Float64 in value param y Float64 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib2dv extension soft WINSOFT NV10 glxflags ignore offset 609 VertexAttrib2dv(index, v) return void param index UInt32 in value param v Float64 in array [2] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4198 offset 610 VertexAttrib2f(index, x, y) return void param index UInt32 in value param x Float32 in value param y Float32 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib2fv extension soft WINSOFT NV10 glxflags ignore offset 611 VertexAttrib2fv(index, v) return void param index UInt32 in value param v Float32 in array [2] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4194 offset 612 VertexAttrib2s(index, x, y) return void param index UInt32 in value param x Int16 in value param y Int16 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib2sv extension soft WINSOFT NV10 glxflags ignore offset 613 VertexAttrib2sv(index, v) return void param index UInt32 in value param v Int16 in array [2] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4190 offset 614 VertexAttrib3d(index, x, y, z) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib3dv extension soft WINSOFT NV10 glxflags ignore offset 615 VertexAttrib3dv(index, v) return void param index UInt32 in value param v Float64 in array [3] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4199 offset 616 VertexAttrib3f(index, x, y, z) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib3fv extension soft WINSOFT NV10 glxflags ignore offset 617 VertexAttrib3fv(index, v) return void param index UInt32 in value param v Float32 in array [3] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4195 offset 618 VertexAttrib3s(index, x, y, z) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib3sv extension soft WINSOFT NV10 glxflags ignore offset 619 VertexAttrib3sv(index, v) return void param index UInt32 in value param v Int16 in array [3] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4191 offset 620 VertexAttrib4Nbv(index, v) return void param index UInt32 in value param v Int8 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 659 VertexAttrib4Niv(index, v) return void param index UInt32 in value param v Int32 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 661 VertexAttrib4Nsv(index, v) return void param index UInt32 in value param v Int16 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 660 VertexAttrib4Nub(index, x, y, z, w) return void param index UInt32 in value param x UInt8 in value param y UInt8 in value param z UInt8 in value param w UInt8 in value category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 627 VertexAttrib4Nubv(index, v) return void param index UInt32 in value param v UInt8 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore glxropcode 4201 offset 628 VertexAttrib4Nuiv(index, v) return void param index UInt32 in value param v UInt32 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 663 VertexAttrib4Nusv(index, v) return void param index UInt32 in value param v UInt16 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 662 VertexAttrib4bv(index, v) return void param index UInt32 in value param v Int8 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 654 VertexAttrib4d(index, x, y, z, w) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib4dv extension soft WINSOFT NV10 glxflags ignore offset 621 VertexAttrib4dv(index, v) return void param index UInt32 in value param v Float64 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4200 offset 622 VertexAttrib4f(index, x, y, z, w) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib4fv extension soft WINSOFT NV10 glxflags ignore offset 623 VertexAttrib4fv(index, v) return void param index UInt32 in value param v Float32 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxropcode 4196 offset 624 VertexAttrib4iv(index, v) return void param index UInt32 in value param v Int32 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 655 VertexAttrib4s(index, x, y, z, w) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value param w Int16 in value category VERSION_2_0 version 2.0 deprecated 3.1 vectorequiv VertexAttrib4sv extension soft WINSOFT NV10 glxflags ignore offset 625 VertexAttrib4sv(index, v) return void param index UInt32 in value param v Int16 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore glxropcode 4192 offset 626 VertexAttrib4ubv(index, v) return void param index UInt32 in value param v UInt8 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 656 VertexAttrib4uiv(index, v) return void param index UInt32 in value param v UInt32 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 658 VertexAttrib4usv(index, v) return void param index UInt32 in value param v UInt16 in array [4] category VERSION_2_0 version 2.0 deprecated 3.1 extension soft WINSOFT NV10 glxflags ignore offset 657 VertexAttribPointer(index, size, type, normalized, stride, pointer) return void param index UInt32 in value param size Int32 in value param type VertexAttribPointerTypeARB in value param normalized Boolean in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained dlflags notlistable category VERSION_2_0 version 2.0 extension soft WINSOFT NV10 glxflags ignore offset 664 ############################################################################### ############################################################################### # # OpenGL 2.1 commands # ############################################################################### ############################################################################### # OpenGL 2.1 (ARB_pixel_buffer_object) commands - none # OpenGL 2.1 (EXT_texture_sRGB) commands - none # New commands in OpenGL 2.1 UniformMatrix2x3fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [6] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? UniformMatrix3x2fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [6] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? UniformMatrix2x4fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [8] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? UniformMatrix4x2fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [8] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? UniformMatrix3x4fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [12] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? UniformMatrix4x3fv(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [12] category VERSION_2_1 version 2.1 extension glxropcode ? glxflags ignore offset ? ############################################################################### ############################################################################### # # OpenGL 3.0 commands # ############################################################################### ############################################################################### # OpenGL 3.0 (EXT_draw_buffers2) commands ColorMaski(index, r, g, b, a) return void param index UInt32 in value param r Boolean in value param g Boolean in value param b Boolean in value param a Boolean in value category VERSION_3_0 version 3.0 extension glxflags ignore glfflags ignore GetBooleani_v(target, index, data) return void param target GLenum in value param index UInt32 in value param data Boolean out array [COMPSIZE(target)] category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore GetIntegeri_v(target, index, data) return void param target GLenum in value param index UInt32 in value param data Int32 out array [COMPSIZE(target)] category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore Enablei(target, index) return void param target GLenum in value param index UInt32 in value category VERSION_3_0 version 3.0 extension glxflags ignore glfflags ignore Disablei(target, index) return void param target GLenum in value param index UInt32 in value category VERSION_3_0 version 3.0 extension glxflags ignore glfflags ignore IsEnabledi(target, index) return Boolean param target GLenum in value param index UInt32 in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore # OpenGL 3.0 (EXT_transform_feedback) commands BeginTransformFeedback(primitiveMode) return void param primitiveMode GLenum in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore EndTransformFeedback() return void category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore BindBufferRange(target, index, buffer, offset, size) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value param offset BufferOffset in value param size BufferSize in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore BindBufferBase(target, index, buffer) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore TransformFeedbackVaryings(program, count, varyings, bufferMode) return void param program UInt32 in value param count SizeI in value param varyings CharPointer in array [count] param bufferMode GLenum in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags ignore glfflags ignore GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name) return void param program UInt32 in value param index UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param size SizeI out array [1] param type GLenum out array [1] param name Char out array [COMPSIZE(length)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore ClampColor(target, clamp) return void param target ClampColorTargetARB in value param clamp ClampColorModeARB in value category VERSION_3_0 version 3.0 extension glxropcode 234 glxflags ignore offset ? BeginConditionalRender(id, mode) return void param id UInt32 in value param mode TypeEnum in value category VERSION_3_0 version 3.0 glfflags ignore glxflags ignore EndConditionalRender() return void category VERSION_3_0 version 3.0 glfflags ignore glxflags ignore VertexAttribIPointer(index, size, type, stride, pointer) return void param index UInt32 in value param size Int32 in value param type VertexAttribEnum in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category VERSION_3_0 version 3.0 dlflags notlistable extension glfflags ignore glxflags ignore GetVertexAttribIiv(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnum in value param params Int32 out array [1] category VERSION_3_0 version 3.0 dlflags notlistable extension glfflags ignore glxflags ignore GetVertexAttribIuiv(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnum in value param params UInt32 out array [1] category VERSION_3_0 version 3.0 dlflags notlistable extension glfflags ignore glxflags ignore # OpenGL 3.0 (NV_vertex_program4) commands VertexAttribI1i(index, x) return void param index UInt32 in value param x Int32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI1iv glxvectorequiv VertexAttribI1iv extension glfflags ignore glxflags ignore VertexAttribI2i(index, x, y) return void param index UInt32 in value param x Int32 in value param y Int32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI2iv glxvectorequiv VertexAttribI2iv extension glfflags ignore glxflags ignore VertexAttribI3i(index, x, y, z) return void param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI3iv glxvectorequiv VertexAttribI3iv extension glfflags ignore glxflags ignore VertexAttribI4i(index, x, y, z, w) return void param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI4iv glxvectorequiv VertexAttribI4iv extension glfflags ignore glxflags ignore VertexAttribI1ui(index, x) return void param index UInt32 in value param x UInt32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI1uiv glxvectorequiv VertexAttribI1uiv extension glfflags ignore glxflags ignore VertexAttribI2ui(index, x, y) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI2uiv glxvectorequiv VertexAttribI2uiv extension glfflags ignore glxflags ignore VertexAttribI3ui(index, x, y, z) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI3uiv glxvectorequiv VertexAttribI3uiv extension glfflags ignore glxflags ignore VertexAttribI4ui(index, x, y, z, w) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value param w UInt32 in value category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside vectorequiv VertexAttribI4uiv glxvectorequiv VertexAttribI4uiv extension glfflags ignore glxflags ignore VertexAttribI1iv(index, v) return void param index UInt32 in value param v Int32 in array [1] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI2iv(index, v) return void param index UInt32 in value param v Int32 in array [2] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI3iv(index, v) return void param index UInt32 in value param v Int32 in array [3] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4iv(index, v) return void param index UInt32 in value param v Int32 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI1uiv(index, v) return void param index UInt32 in value param v UInt32 in array [1] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI2uiv(index, v) return void param index UInt32 in value param v UInt32 in array [2] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI3uiv(index, v) return void param index UInt32 in value param v UInt32 in array [3] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4uiv(index, v) return void param index UInt32 in value param v UInt32 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4bv(index, v) return void param index UInt32 in value param v Int8 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4sv(index, v) return void param index UInt32 in value param v Int16 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4ubv(index, v) return void param index UInt32 in value param v UInt8 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore VertexAttribI4usv(index, v) return void param index UInt32 in value param v UInt16 in array [4] category VERSION_3_0 version 3.0 deprecated 3.1 beginend allow-inside extension glfflags ignore glxflags ignore # OpenGL 3.0 (EXT_gpu_shader4) commands GetUniformuiv(program, location, params) return void param program UInt32 in value param location Int32 in value param params UInt32 out array [COMPSIZE(program/location)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore BindFragDataLocation(program, color, name) return void param program UInt32 in value param color UInt32 in value param name Char in array [COMPSIZE(name)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore GetFragDataLocation(program, name) return Int32 param program UInt32 in value param name Char in array [COMPSIZE(name)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore Uniform1ui(location, v0) return void param location Int32 in value param v0 UInt32 in value category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform2ui(location, v0, v1) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform3ui(location, v0, v1, v2) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform4ui(location, v0, v1, v2, v3) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value param v3 UInt32 in value category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform1uiv(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform2uiv(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*2] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform3uiv(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*3] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore Uniform4uiv(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*4] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore # OpenGL 3.0 (EXT_texture_integer) commands TexParameterIiv(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params Int32 in array [COMPSIZE(pname)] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore TexParameterIuiv(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params UInt32 in array [COMPSIZE(pname)] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore GetTexParameterIiv(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore GetTexParameterIuiv(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params UInt32 out array [COMPSIZE(pname)] category VERSION_3_0 dlflags notlistable version 3.0 extension glfflags ignore glxflags ignore # New commands in OpenGL 3.0 ClearBufferiv(buffer, drawbuffer, value) return void param buffer GLenum in value param drawbuffer DrawBufferName in value param value Int32 in array [COMPSIZE(buffer)] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore ClearBufferuiv(buffer, drawbuffer, value) return void param buffer GLenum in value param drawbuffer DrawBufferName in value param value UInt32 in array [COMPSIZE(buffer)] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore ClearBufferfv(buffer, drawbuffer, value) return void param buffer GLenum in value param drawbuffer DrawBufferName in value param value Float32 in array [COMPSIZE(buffer)] category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore ClearBufferfi(buffer, drawbuffer, depth, stencil) return void param buffer GLenum in value param drawbuffer DrawBufferName in value param depth Float32 in value param stencil Int32 in value category VERSION_3_0 version 3.0 extension glfflags ignore glxflags ignore GetStringi(name, index) return String param name GLenum in value param index UInt32 in value category VERSION_3_0 version 3.0 extension dlflags notlistable glxflags client-handcode server-handcode glfflags ignore glxsingle ? passthru: /* OpenGL 3.0 also reuses entry points from these extensions: */ passthru: /* ARB_framebuffer_object */ passthru: /* ARB_map_buffer_range */ passthru: /* ARB_vertex_array_object */ ############################################################################### ############################################################################### # # OpenGL 3.0 deprecated commands # ############################################################################### ############################################################################### # (none - VertexAttribI* were moved back into non-deprecated) ############################################################################### ############################################################################### # # OpenGL 3.1 commands # ############################################################################### ############################################################################### # New commands in OpenGL 3.1 - none # OpenGL 3.1 (ARB_draw_instanced) commands DrawArraysInstanced(mode, first, count, primcount) return void param mode BeginMode in value param first Int32 in value param count SizeI in value param primcount SizeI in value category VERSION_3_1 version 3.1 extension dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore DrawElementsInstanced(mode, count, type, indices, primcount) return void param mode BeginMode in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param primcount SizeI in value category VERSION_3_1 version 3.1 extension dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore # OpenGL 3.1 (ARB_texture_buffer_object) commands TexBuffer(target, internalformat, buffer) return void param target TextureTarget in value param internalformat GLenum in value param buffer UInt32 in value category VERSION_3_1 version 3.1 extension glfflags ignore glxflags ignore # OpenGL 3.1 (ARB_texture_rectangle) commands - none # OpenGL 3.1 (SNORM texture) commands - none # OpenGL 3.1 (NV_primitive_restart) commands # This is *not* an alias of PrimitiveRestartIndexNV, since it sets # server instead of client state. PrimitiveRestartIndex(index) return void param index UInt32 in value category VERSION_3_1 version 3.1 extension glxropcode ? glxflags ignore offset ? passthru: /* OpenGL 3.1 also reuses entry points from these extensions: */ passthru: /* ARB_copy_buffer */ passthru: /* ARB_uniform_buffer_object */ ############################################################################### ############################################################################### # # OpenGL 3.2 commands # ############################################################################### ############################################################################### # New commands in OpenGL 3.2 GetInteger64i_v(target, index, data) return void param target GLenum in value param index UInt32 in value param data Int64 out array [COMPSIZE(target)] category VERSION_3_2 version 3.2 extension dlflags notlistable glxflags ignore glfflags ignore GetBufferParameteri64v(target, pname, params) return void param target BufferTargetARB in value param pname BufferPNameARB in value param params Int64 out array [COMPSIZE(pname)] category VERSION_3_2 dlflags notlistable version 3.2 extension glxsingle ? glxflags ignore # OpenGL 3.2 (ARB_depth_clamp) commands - none # OpenGL 3.2 (ARB_fragment_coord_conventions) commands - none # OpenGL 3.2 (ARB_geometry_shader4) commands ProgramParameteri(program, pname, value) return void param program UInt32 in value param pname GLenum in value param value Int32 in value category VERSION_3_2 version 1.2 extension glxropcode ? glxflags ignore offset ? FramebufferTexture(target, attachment, texture, level) return void param target GLenum in value param attachment GLenum in value param texture UInt32 in value param level Int32 in value category VERSION_3_2 version 1.2 extension glxropcode ? glxflags ignore offset ? # FramebufferTextureLayer redeclared in ARB_framebuffer_object # FramebufferTextureLayer(target, attachment, texture, level, layer) # return void # param target GLenum in value # param attachment GLenum in value # param texture UInt32 in value # param level Int32 in value # param layer Int32 in value # category VERSION_3_2 # version 1.2 # extension # glxropcode ? # glxflags ignore # offset ? FramebufferTextureFace(target, attachment, texture, level, face) return void param target GLenum in value param attachment GLenum in value param texture UInt32 in value param level Int32 in value param face GLenum in value category VERSION_3_2 version 1.2 extension glxropcode ? glxflags ignore offset ? # OpenGL 3.2 (ARB_seamless_cube_map) commands - none # OpenGL 3.2 (ARB_vertex_array_bgra) commands - none passthru: /* OpenGL 3.2 also reuses entry points from these extensions: */ passthru: /* ARB_draw_elements_base_vertex */ passthru: /* ARB_provoking_vertex */ passthru: /* ARB_sync */ passthru: /* ARB_texture_multisample */ ############################################################################### ############################################################################### # # ARB extensions, in order by ARB extension number # ############################################################################### ############################################################################### ############################################################################### # # ARB Extension #1 # ARB_multitexture commands # ############################################################################### ActiveTextureARB(texture) return void param texture TextureUnit in value category ARB_multitexture glxflags ARB version 1.2 glxropcode 197 alias ActiveTexture ClientActiveTextureARB(texture) return void param texture TextureUnit in value category ARB_multitexture dlflags notlistable glxflags ARB client-handcode client-intercept server-handcode version 1.2 alias ClientActiveTexture MultiTexCoord1dARB(target, s) return void param target TextureUnit in value param s CoordD in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord1dv MultiTexCoord1dvARB(target, v) return void param target TextureUnit in value param v CoordD in array [1] category ARB_multitexture glxflags ARB version 1.2 glxropcode 198 alias MultiTexCoord1dv MultiTexCoord1fARB(target, s) return void param target TextureUnit in value param s CoordF in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord1fv MultiTexCoord1fvARB(target, v) return void param target TextureUnit in value param v CoordF in array [1] category ARB_multitexture glxflags ARB version 1.2 glxropcode 199 alias MultiTexCoord1fv MultiTexCoord1iARB(target, s) return void param target TextureUnit in value param s CoordI in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord1iv MultiTexCoord1ivARB(target, v) return void param target TextureUnit in value param v CoordI in array [1] category ARB_multitexture glxflags ARB version 1.2 glxropcode 200 alias MultiTexCoord1iv MultiTexCoord1sARB(target, s) return void param target TextureUnit in value param s CoordS in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord1sv MultiTexCoord1svARB(target, v) return void param target TextureUnit in value param v CoordS in array [1] category ARB_multitexture glxflags ARB version 1.2 glxropcode 201 alias MultiTexCoord1sv MultiTexCoord2dARB(target, s, t) return void param target TextureUnit in value param s CoordD in value param t CoordD in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord2dv MultiTexCoord2dvARB(target, v) return void param target TextureUnit in value param v CoordD in array [2] category ARB_multitexture glxflags ARB version 1.2 glxropcode 202 alias MultiTexCoord2dv MultiTexCoord2fARB(target, s, t) return void param target TextureUnit in value param s CoordF in value param t CoordF in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord2fv MultiTexCoord2fvARB(target, v) return void param target TextureUnit in value param v CoordF in array [2] category ARB_multitexture glxflags ARB version 1.2 glxropcode 203 alias MultiTexCoord2fv MultiTexCoord2iARB(target, s, t) return void param target TextureUnit in value param s CoordI in value param t CoordI in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord2iv MultiTexCoord2ivARB(target, v) return void param target TextureUnit in value param v CoordI in array [2] category ARB_multitexture glxflags ARB version 1.2 glxropcode 204 alias MultiTexCoord2iv MultiTexCoord2sARB(target, s, t) return void param target TextureUnit in value param s CoordS in value param t CoordS in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord2sv MultiTexCoord2svARB(target, v) return void param target TextureUnit in value param v CoordS in array [2] category ARB_multitexture glxflags ARB version 1.2 glxropcode 205 alias MultiTexCoord2sv MultiTexCoord3dARB(target, s, t, r) return void param target TextureUnit in value param s CoordD in value param t CoordD in value param r CoordD in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord3dv MultiTexCoord3dvARB(target, v) return void param target TextureUnit in value param v CoordD in array [3] category ARB_multitexture glxflags ARB version 1.2 glxropcode 206 alias MultiTexCoord3dv MultiTexCoord3fARB(target, s, t, r) return void param target TextureUnit in value param s CoordF in value param t CoordF in value param r CoordF in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord3fv MultiTexCoord3fvARB(target, v) return void param target TextureUnit in value param v CoordF in array [3] category ARB_multitexture glxflags ARB version 1.2 glxropcode 207 alias MultiTexCoord3fv MultiTexCoord3iARB(target, s, t, r) return void param target TextureUnit in value param s CoordI in value param t CoordI in value param r CoordI in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord3iv MultiTexCoord3ivARB(target, v) return void param target TextureUnit in value param v CoordI in array [3] category ARB_multitexture glxflags ARB version 1.2 glxropcode 208 alias MultiTexCoord3iv MultiTexCoord3sARB(target, s, t, r) return void param target TextureUnit in value param s CoordS in value param t CoordS in value param r CoordS in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord3sv MultiTexCoord3svARB(target, v) return void param target TextureUnit in value param v CoordS in array [3] category ARB_multitexture version 1.2 glxflags ARB glxropcode 209 alias MultiTexCoord3sv MultiTexCoord4dARB(target, s, t, r, q) return void param target TextureUnit in value param s CoordD in value param t CoordD in value param r CoordD in value param q CoordD in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord4dv MultiTexCoord4dvARB(target, v) return void param target TextureUnit in value param v CoordD in array [4] category ARB_multitexture glxflags ARB version 1.2 glxropcode 210 alias MultiTexCoord4dv MultiTexCoord4fARB(target, s, t, r, q) return void param target TextureUnit in value param s CoordF in value param t CoordF in value param r CoordF in value param q CoordF in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord4fv MultiTexCoord4fvARB(target, v) return void param target TextureUnit in value param v CoordF in array [4] category ARB_multitexture glxflags ARB version 1.2 glxropcode 211 alias MultiTexCoord4fv MultiTexCoord4iARB(target, s, t, r, q) return void param target TextureUnit in value param s CoordI in value param t CoordI in value param r CoordI in value param q CoordI in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord4iv MultiTexCoord4ivARB(target, v) return void param target TextureUnit in value param v CoordI in array [4] category ARB_multitexture glxflags ARB version 1.2 glxropcode 212 alias MultiTexCoord4iv MultiTexCoord4sARB(target, s, t, r, q) return void param target TextureUnit in value param s CoordS in value param t CoordS in value param r CoordS in value param q CoordS in value category ARB_multitexture glxflags ARB version 1.2 vectorequiv MultiTexCoord4sv MultiTexCoord4svARB(target, v) return void param target TextureUnit in value param v CoordS in array [4] category ARB_multitexture glxflags ARB version 1.2 glxropcode 213 alias MultiTexCoord4sv ################################################################################ # # ARB Extension #2 - GLX_ARB_get_proc_address # ############################################################################### ################################################################################ # # ARB Extension #3 # ARB_transpose_matrix commands # ############################################################################### LoadTransposeMatrixfARB(m) return void param m Float32 in array [16] category ARB_transpose_matrix glxflags ARB client-handcode client-intercept server-handcode version 1.2 alias LoadTransposeMatrixf LoadTransposeMatrixdARB(m) return void param m Float64 in array [16] category ARB_transpose_matrix glxflags ARB client-handcode client-intercept server-handcode version 1.2 alias LoadTransposeMatrixd MultTransposeMatrixfARB(m) return void param m Float32 in array [16] category ARB_transpose_matrix glxflags ARB client-handcode client-intercept server-handcode version 1.2 alias MultTransposeMatrixf MultTransposeMatrixdARB(m) return void param m Float64 in array [16] category ARB_transpose_matrix glxflags ARB client-handcode client-intercept server-handcode version 1.2 alias MultTransposeMatrixd ################################################################################ # # ARB Extension #4 - WGL_ARB_buffer_region # ############################################################################### ################################################################################ # # ARB Extension #5 # ARB_multisample commands # ############################################################################### SampleCoverageARB(value, invert) return void param value ClampedFloat32 in value param invert Boolean in value category ARB_multisample glxflags ARB version 1.2 alias SampleCoverage ################################################################################ # # ARB Extension #6 # ARB_texture_env_add commands # ############################################################################### # (none) newcategory: ARB_texture_env_add ################################################################################ # # ARB Extension #7 # ARB_texture_cube_map commands # ############################################################################### # (none) newcategory: ARB_texture_cube_map ################################################################################ # # ARB Extension #8 - WGL_ARB_extensions_string # ARB Extension #9 - WGL_ARB_pixel_format commands # ARB Extension #10 - WGL_ARB_make_current_read commands # ARB Extension #11 - WGL_ARB_pbuffer # ############################################################################### ################################################################################ # # ARB Extension #12 # ARB_texture_compression commands # ############################################################################### # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 216 alias CompressedTexImage3D wglflags client-handcode server-handcode # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 215 alias CompressedTexImage2D wglflags client-handcode server-handcode # Arguably TexelInternalFormat, not PixelInternalFormat CompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 214 alias CompressedTexImage1D wglflags client-handcode server-handcode CompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 219 alias CompressedTexSubImage3D wglflags client-handcode server-handcode CompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 218 alias CompressedTexSubImage2D wglflags client-handcode server-handcode CompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param imageSize SizeI in value param data CompressedTextureARB in array [imageSize] category ARB_texture_compression dlflags handcode glxflags ARB client-handcode server-handcode version 1.2 glxropcode 217 alias CompressedTexSubImage1D wglflags client-handcode server-handcode GetCompressedTexImageARB(target, level, img) return void param target TextureTarget in value param level CheckedInt32 in value param img CompressedTextureARB out array [COMPSIZE(target/level)] category ARB_texture_compression dlflags notlistable glxflags ARB client-handcode server-handcode version 1.2 glxsingle 160 alias GetCompressedTexImage wglflags client-handcode server-handcode ################################################################################ # # ARB Extension #13 # ARB_texture_border_clamp commands # ############################################################################### # (none) newcategory: ARB_texture_border_clamp ############################################################################### # # ARB Extension #14 # ARB_point_parameters commands # ############################################################################### PointParameterfARB(pname, param) return void param pname PointParameterNameARB in value param param CheckedFloat32 in value category ARB_point_parameters version 1.0 glxflags ARB glxropcode 2065 extension alias PointParameterf PointParameterfvARB(pname, params) return void param pname PointParameterNameARB in value param params CheckedFloat32 in array [COMPSIZE(pname)] category ARB_point_parameters version 1.0 glxflags ARB glxropcode 2066 extension alias PointParameterfv ################################################################################ # # ARB Extension #15 # ARB_vertex_blend commands # ############################################################################### WeightbvARB(size, weights) return void param size Int32 in value param weights Int8 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 220 glxflags ignore offset ? WeightsvARB(size, weights) return void param size Int32 in value param weights Int16 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 222 glxflags ignore offset ? WeightivARB(size, weights) return void param size Int32 in value param weights Int32 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 224 glxflags ignore offset ? WeightfvARB(size, weights) return void param size Int32 in value param weights Float32 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 227 glxflags ignore offset ? WeightdvARB(size, weights) return void param size Int32 in value param weights Float64 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 228 glxflags ignore offset ? WeightubvARB(size, weights) return void param size Int32 in value param weights UInt8 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 221 glxflags ignore offset ? WeightusvARB(size, weights) return void param size Int32 in value param weights UInt16 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 223 glxflags ignore offset ? WeightuivARB(size, weights) return void param size Int32 in value param weights UInt32 in array [size] category ARB_vertex_blend version 1.1 extension glxropcode 225 glxflags ignore offset ? WeightPointerARB(size, type, stride, pointer) return void param size Int32 in value param type WeightPointerTypeARB in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category ARB_vertex_blend version 1.1 extension dlflags notlistable glxflags ignore offset ? VertexBlendARB(count) return void param count Int32 in value category ARB_vertex_blend version 1.1 extension glxropcode 226 glxflags ignore offset ? ################################################################################ # # ARB Extension #16 # ARB_matrix_palette commands # ############################################################################### CurrentPaletteMatrixARB(index) return void param index Int32 in value category ARB_matrix_palette version 1.1 extension glxropcode 4329 glxflags ignore offset ? MatrixIndexubvARB(size, indices) return void param size Int32 in value param indices UInt8 in array [size] category ARB_matrix_palette version 1.1 extension glxropcode 4326 glxflags ignore offset ? MatrixIndexusvARB(size, indices) return void param size Int32 in value param indices UInt16 in array [size] category ARB_matrix_palette version 1.1 extension glxropcode 4327 glxflags ignore offset ? MatrixIndexuivARB(size, indices) return void param size Int32 in value param indices UInt32 in array [size] category ARB_matrix_palette version 1.1 extension glxropcode 4328 glxflags ignore offset ? MatrixIndexPointerARB(size, type, stride, pointer) return void param size Int32 in value param type MatrixIndexPointerTypeARB in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category ARB_matrix_palette version 1.1 extension dlflags notlistable glxflags ignore offset ? ################################################################################ # # ARB Extension #17 # ARB_texture_env_combine commands # ############################################################################### # (none) newcategory: ARB_texture_env_combine ################################################################################ # # ARB Extension #18 # ARB_texture_env_crossbar commands # ############################################################################### # (none) newcategory: ARB_texture_env_crossbar ################################################################################ # # ARB Extension #19 # ARB_texture_env_dot3 commands # ############################################################################### # (none) newcategory: ARB_texture_env_dot3 ############################################################################### # # ARB Extension #20 - WGL_ARB_render_texture # ############################################################################### ############################################################################### # # ARB Extension #21 # ARB_texture_mirrored_repeat commands # ############################################################################### # (none) newcategory: ARB_texture_mirrored_repeat ############################################################################### # # ARB Extension #22 # ARB_depth_texture commands # ############################################################################### # (none) newcategory: ARB_depth_texture ############################################################################### # # ARB Extension #23 # ARB_shadow commands # ############################################################################### # (none) newcategory: ARB_shadow ############################################################################### # # ARB Extension #24 # ARB_shadow_ambient commands # ############################################################################### # (none) newcategory: ARB_shadow_ambient ############################################################################### # # ARB Extension #25 # ARB_window_pos commands # Note: all entry points use glxropcode ropcode 230, with 3 float parameters # ############################################################################### WindowPos2dARB(x, y) return void param x CoordD in value param y CoordD in value category ARB_window_pos vectorequiv WindowPos2dvARB version 1.0 alias WindowPos2d WindowPos2dvARB(v) return void param v CoordD in array [2] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos2dv WindowPos2fARB(x, y) return void param x CoordF in value param y CoordF in value category ARB_window_pos vectorequiv WindowPos2fvARB version 1.0 alias WindowPos2f WindowPos2fvARB(v) return void param v CoordF in array [2] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos2fv WindowPos2iARB(x, y) return void param x CoordI in value param y CoordI in value category ARB_window_pos vectorequiv WindowPos2ivARB version 1.0 alias WindowPos2i WindowPos2ivARB(v) return void param v CoordI in array [2] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos2iv WindowPos2sARB(x, y) return void param x CoordS in value param y CoordS in value category ARB_window_pos vectorequiv WindowPos2svARB version 1.0 alias WindowPos2s WindowPos2svARB(v) return void param v CoordS in array [2] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos2sv WindowPos3dARB(x, y, z) return void param x CoordD in value param y CoordD in value param z CoordD in value vectorequiv WindowPos3dvARB category ARB_window_pos version 1.0 alias WindowPos3d WindowPos3dvARB(v) return void param v CoordD in array [3] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos3dv WindowPos3fARB(x, y, z) return void param x CoordF in value param y CoordF in value param z CoordF in value category ARB_window_pos vectorequiv WindowPos3fvARB version 1.0 alias WindowPos3f WindowPos3fvARB(v) return void param v CoordF in array [3] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos3fv WindowPos3iARB(x, y, z) return void param x CoordI in value param y CoordI in value param z CoordI in value category ARB_window_pos vectorequiv WindowPos3ivARB version 1.0 alias WindowPos3i WindowPos3ivARB(v) return void param v CoordI in array [3] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos3iv WindowPos3sARB(x, y, z) return void param x CoordS in value param y CoordS in value param z CoordS in value category ARB_window_pos vectorequiv WindowPos3svARB version 1.0 alias WindowPos3s WindowPos3svARB(v) return void param v CoordS in array [3] category ARB_window_pos version 1.0 glxropcode 230 glxflags client-handcode server-handcode alias WindowPos3sv ############################################################################### # # ARB Extension #26 # ARB_vertex_program commands # ############################################################################### VertexAttrib1dARB(index, x) return void param index UInt32 in value param x Float64 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib1dvARB extension soft WINSOFT NV10 alias VertexAttrib1d VertexAttrib1dvARB(index, v) return void param index UInt32 in value param v Float64 in array [1] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4197 alias VertexAttrib1dv VertexAttrib1fARB(index, x) return void param index UInt32 in value param x Float32 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib1fvARB extension soft WINSOFT NV10 alias VertexAttrib1f VertexAttrib1fvARB(index, v) return void param index UInt32 in value param v Float32 in array [1] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4193 alias VertexAttrib1fv VertexAttrib1sARB(index, x) return void param index UInt32 in value param x Int16 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib1svARB extension soft WINSOFT NV10 alias VertexAttrib1s VertexAttrib1svARB(index, v) return void param index UInt32 in value param v Int16 in array [1] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4189 alias VertexAttrib1sv VertexAttrib2dARB(index, x, y) return void param index UInt32 in value param x Float64 in value param y Float64 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib2dvARB extension soft WINSOFT NV10 alias VertexAttrib2d VertexAttrib2dvARB(index, v) return void param index UInt32 in value param v Float64 in array [2] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4198 alias VertexAttrib2dv VertexAttrib2fARB(index, x, y) return void param index UInt32 in value param x Float32 in value param y Float32 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib2fvARB extension soft WINSOFT NV10 alias VertexAttrib2f VertexAttrib2fvARB(index, v) return void param index UInt32 in value param v Float32 in array [2] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4194 alias VertexAttrib2fv VertexAttrib2sARB(index, x, y) return void param index UInt32 in value param x Int16 in value param y Int16 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib2svARB extension soft WINSOFT NV10 alias VertexAttrib2s VertexAttrib2svARB(index, v) return void param index UInt32 in value param v Int16 in array [2] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4190 alias VertexAttrib2sv VertexAttrib3dARB(index, x, y, z) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib3dvARB extension soft WINSOFT NV10 alias VertexAttrib3d VertexAttrib3dvARB(index, v) return void param index UInt32 in value param v Float64 in array [3] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4199 alias VertexAttrib3dv VertexAttrib3fARB(index, x, y, z) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib3fvARB extension soft WINSOFT NV10 alias VertexAttrib3f VertexAttrib3fvARB(index, v) return void param index UInt32 in value param v Float32 in array [3] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4195 alias VertexAttrib3fv VertexAttrib3sARB(index, x, y, z) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib3svARB extension soft WINSOFT NV10 alias VertexAttrib3s VertexAttrib3svARB(index, v) return void param index UInt32 in value param v Int16 in array [3] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4191 alias VertexAttrib3sv VertexAttrib4NbvARB(index, v) return void param index UInt32 in value param v Int8 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Nbv VertexAttrib4NivARB(index, v) return void param index UInt32 in value param v Int32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Niv VertexAttrib4NsvARB(index, v) return void param index UInt32 in value param v Int16 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Nsv VertexAttrib4NubARB(index, x, y, z, w) return void param index UInt32 in value param x UInt8 in value param y UInt8 in value param z UInt8 in value param w UInt8 in value category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Nub VertexAttrib4NubvARB(index, v) return void param index UInt32 in value param v UInt8 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4201 alias VertexAttrib4Nubv VertexAttrib4NuivARB(index, v) return void param index UInt32 in value param v UInt32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Nuiv VertexAttrib4NusvARB(index, v) return void param index UInt32 in value param v UInt16 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4Nusv VertexAttrib4bvARB(index, v) return void param index UInt32 in value param v Int8 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4bv VertexAttrib4dARB(index, x, y, z, w) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib4dvARB extension soft WINSOFT NV10 alias VertexAttrib4d VertexAttrib4dvARB(index, v) return void param index UInt32 in value param v Float64 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4200 alias VertexAttrib4dv VertexAttrib4fARB(index, x, y, z, w) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib4fvARB extension soft WINSOFT NV10 alias VertexAttrib4f VertexAttrib4fvARB(index, v) return void param index UInt32 in value param v Float32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4196 alias VertexAttrib4fv VertexAttrib4ivARB(index, v) return void param index UInt32 in value param v Int32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4iv VertexAttrib4sARB(index, x, y, z, w) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value param w Int16 in value category ARB_vertex_program version 1.3 vectorequiv VertexAttrib4svARB extension soft WINSOFT NV10 alias VertexAttrib4s VertexAttrib4svARB(index, v) return void param index UInt32 in value param v Int16 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4192 alias VertexAttrib4sv VertexAttrib4ubvARB(index, v) return void param index UInt32 in value param v UInt8 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4ubv VertexAttrib4uivARB(index, v) return void param index UInt32 in value param v UInt32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4uiv VertexAttrib4usvARB(index, v) return void param index UInt32 in value param v UInt16 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttrib4usv VertexAttribPointerARB(index, size, type, normalized, stride, pointer) return void param index UInt32 in value param size Int32 in value param type VertexAttribPointerTypeARB in value param normalized Boolean in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias VertexAttribPointer EnableVertexAttribArrayARB(index) return void param index UInt32 in value dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias EnableVertexAttribArray DisableVertexAttribArrayARB(index) return void param index UInt32 in value dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 alias DisableVertexAttribArray ProgramStringARB(target, format, len, string) return void param target ProgramTargetARB in value param format ProgramFormatARB in value param len SizeI in value param string Void in array [len] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 667 BindProgramARB(target, program) return void param target ProgramTargetARB in value param program UInt32 in value category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxropcode 4180 offset 579 DeleteProgramsARB(n, programs) return void param n SizeI in value param programs UInt32 in array [n] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1294 offset 580 GenProgramsARB(n, programs) return void param n SizeI in value param programs UInt32 out array [n] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1295 offset 582 ProgramEnvParameter4dARB(target, index, x, y, z, w) return void param target ProgramTargetARB in value param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category ARB_vertex_program version 1.3 vectorequiv ProgramEnvParameter4dvARB extension soft WINSOFT NV10 glxflags ignore offset 668 ProgramEnvParameter4dvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float64 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 669 ProgramEnvParameter4fARB(target, index, x, y, z, w) return void param target ProgramTargetARB in value param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category ARB_vertex_program version 1.3 vectorequiv ProgramEnvParameter4fvARB extension soft WINSOFT NV10 glxflags ignore offset 670 ProgramEnvParameter4fvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 671 ProgramLocalParameter4dARB(target, index, x, y, z, w) return void param target ProgramTargetARB in value param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category ARB_vertex_program version 1.3 vectorequiv ProgramLocalParameter4dvARB extension soft WINSOFT NV10 glxflags ignore offset 672 ProgramLocalParameter4dvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float64 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 673 ProgramLocalParameter4fARB(target, index, x, y, z, w) return void param target ProgramTargetARB in value param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category ARB_vertex_program version 1.3 vectorequiv ProgramLocalParameter4fvARB extension soft WINSOFT NV10 glxflags ignore offset 674 ProgramLocalParameter4fvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float32 in array [4] category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 675 GetProgramEnvParameterdvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float64 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 676 GetProgramEnvParameterfvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float32 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 677 GetProgramLocalParameterdvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float64 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 678 GetProgramLocalParameterfvARB(target, index, params) return void param target ProgramTargetARB in value param index UInt32 in value param params Float32 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 679 GetProgramivARB(target, pname, params) return void param target ProgramTargetARB in value param pname ProgramPropertyARB in value param params Int32 out array [1] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 680 GetProgramStringARB(target, pname, string) return void param target ProgramTargetARB in value param pname ProgramStringPropertyARB in value param string Void out array [COMPSIZE(target,pname)] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore offset 681 GetVertexAttribdvARB(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Float64 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1301 alias GetVertexAttribdv GetVertexAttribfvARB(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Float32 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1302 alias GetVertexAttribfv GetVertexAttribivARB(index, pname, params) return void param index UInt32 in value param pname VertexAttribPropertyARB in value param params Int32 out array [4] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1303 alias GetVertexAttribiv GetVertexAttribPointervARB(index, pname, pointer) return void param index UInt32 in value param pname VertexAttribPointerPropertyARB in value param pointer VoidPointer out array [1] dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxflags ignore alias GetVertexAttribPointerv IsProgramARB(program) return Boolean param program UInt32 in value dlflags notlistable category ARB_vertex_program version 1.3 extension soft WINSOFT NV10 glxvendorpriv 1304 alias IsProgram ############################################################################### # # ARB Extension #27 # ARB_fragment_program commands # ############################################################################### # All ARB_fragment_program entry points are shared with ARB_vertex_program, # and are only included in that #define block, for now. newcategory: ARB_fragment_program passthru: /* All ARB_fragment_program entry points are shared with ARB_vertex_program. */ ############################################################################### # # ARB Extension #28 # ARB_vertex_buffer_object commands # ############################################################################### BindBufferARB(target, buffer) return void param target BufferTargetARB in value param buffer UInt32 in value category ARB_vertex_buffer_object version 1.2 extension alias BindBuffer DeleteBuffersARB(n, buffers) return void param n SizeI in value param buffers ConstUInt32 in array [n] category ARB_vertex_buffer_object version 1.2 extension alias DeleteBuffers GenBuffersARB(n, buffers) return void param n SizeI in value param buffers UInt32 out array [n] category ARB_vertex_buffer_object version 1.2 extension alias GenBuffers IsBufferARB(buffer) return Boolean param buffer UInt32 in value category ARB_vertex_buffer_object version 1.2 extension alias IsBuffer BufferDataARB(target, size, data, usage) return void param target BufferTargetARB in value param size BufferSizeARB in value param data ConstVoid in array [size] param usage BufferUsageARB in value category ARB_vertex_buffer_object version 1.2 extension alias BufferData BufferSubDataARB(target, offset, size, data) return void param target BufferTargetARB in value param offset BufferOffsetARB in value param size BufferSizeARB in value param data ConstVoid in array [size] category ARB_vertex_buffer_object version 1.2 extension alias BufferSubData GetBufferSubDataARB(target, offset, size, data) return void param target BufferTargetARB in value param offset BufferOffsetARB in value param size BufferSizeARB in value param data Void out array [size] category ARB_vertex_buffer_object dlflags notlistable version 1.2 extension alias GetBufferSubData MapBufferARB(target, access) return VoidPointer param target BufferTargetARB in value param access BufferAccessARB in value category ARB_vertex_buffer_object version 1.2 extension alias MapBuffer UnmapBufferARB(target) return Boolean param target BufferTargetARB in value category ARB_vertex_buffer_object version 1.2 extension alias UnmapBuffer GetBufferParameterivARB(target, pname, params) return void param target BufferTargetARB in value param pname BufferPNameARB in value param params Int32 out array [COMPSIZE(pname)] category ARB_vertex_buffer_object dlflags notlistable version 1.2 extension alias GetBufferParameteriv GetBufferPointervARB(target, pname, params) return void param target BufferTargetARB in value param pname BufferPointerNameARB in value param params VoidPointer out array [1] category ARB_vertex_buffer_object dlflags notlistable version 1.2 extension alias GetBufferPointerv ############################################################################### # # ARB Extension #29 # ARB_occlusion_query commands # ############################################################################### GenQueriesARB(n, ids) return void param n SizeI in value param ids UInt32 out array [n] category ARB_occlusion_query version 1.5 extension alias GenQueries DeleteQueriesARB(n, ids) return void param n SizeI in value param ids UInt32 in array [n] category ARB_occlusion_query version 1.5 extension alias DeleteQueries IsQueryARB(id) return Boolean param id UInt32 in value category ARB_occlusion_query version 1.5 extension alias IsQuery BeginQueryARB(target, id) return void param target GLenum in value param id UInt32 in value category ARB_occlusion_query version 1.5 extension alias BeginQuery EndQueryARB(target) return void param target GLenum in value category ARB_occlusion_query version 1.5 extension alias EndQuery GetQueryivARB(target, pname, params) return void param target GLenum in value param pname GLenum in value param params Int32 out array [pname] category ARB_occlusion_query dlflags notlistable version 1.5 extension alias GetQueryiv GetQueryObjectivARB(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params Int32 out array [pname] category ARB_occlusion_query dlflags notlistable version 1.5 extension alias GetQueryObjectiv GetQueryObjectuivARB(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params UInt32 out array [pname] category ARB_occlusion_query dlflags notlistable version 1.5 extension alias GetQueryObjectuiv ############################################################################### # # ARB Extension #30 # ARB_shader_objects commands # ############################################################################### DeleteObjectARB(obj) return void param obj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore offset ? GetHandleARB(pname) return handleARB param pname GLenum in value category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? DetachObjectARB(containerObj, attachedObj) return void param containerObj handleARB in value param attachedObj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias DetachShader CreateShaderObjectARB(shaderType) return handleARB param shaderType GLenum in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias CreateShader ShaderSourceARB(shaderObj, count, string, length) return void param shaderObj handleARB in value param count SizeI in value param string charPointerARB in array [count] param length Int32 in array [1] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias ShaderSource CompileShaderARB(shaderObj) return void param shaderObj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias CompileShader CreateProgramObjectARB() return handleARB category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias CreateProgram AttachObjectARB(containerObj, obj) return void param containerObj handleARB in value param obj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias AttachShader LinkProgramARB(programObj) return void param programObj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias LinkProgram UseProgramObjectARB(programObj) return void param programObj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias UseProgram ValidateProgramARB(programObj) return void param programObj handleARB in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias ValidateProgram Uniform1fARB(location, v0) return void param location Int32 in value param v0 Float32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform1f Uniform2fARB(location, v0, v1) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform2f Uniform3fARB(location, v0, v1, v2) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform3f Uniform4fARB(location, v0, v1, v2, v3) return void param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value param v3 Float32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform4f Uniform1iARB(location, v0) return void param location Int32 in value param v0 Int32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform1i Uniform2iARB(location, v0, v1) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform2i Uniform3iARB(location, v0, v1, v2) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform3i Uniform4iARB(location, v0, v1, v2, v3) return void param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value param v3 Int32 in value category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform4i Uniform1fvARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform1fv Uniform2fvARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform2fv Uniform3fvARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform3fv Uniform4fvARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform4fv Uniform1ivARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform1iv Uniform2ivARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform2iv Uniform3ivARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform3iv Uniform4ivARB(location, count, value) return void param location Int32 in value param count SizeI in value param value Int32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias Uniform4iv UniformMatrix2fvARB(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias UniformMatrix2fv UniformMatrix3fvARB(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias UniformMatrix3fv UniformMatrix4fvARB(location, count, transpose, value) return void param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count] category ARB_shader_objects version 1.2 extension glxropcode ? glxflags ignore alias UniformMatrix4fv GetObjectParameterfvARB(obj, pname, params) return void param obj handleARB in value param pname GLenum in value param params Float32 out array [pname] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetObjectParameterivARB(obj, pname, params) return void param obj handleARB in value param pname GLenum in value param params Int32 out array [pname] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetInfoLogARB(obj, maxLength, length, infoLog) return void param obj handleARB in value param maxLength SizeI in value param length SizeI out array [1] param infoLog charARB out array [length] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetAttachedObjectsARB(containerObj, maxCount, count, obj) return void param containerObj handleARB in value param maxCount SizeI in value param count SizeI out array [1] param obj handleARB out array [count] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetAttachedShaders GetUniformLocationARB(programObj, name) return Int32 param programObj handleARB in value param name charARB in array [] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetUniformLocation GetActiveUniformARB(programObj, index, maxLength, length, size, type, name) return void param programObj handleARB in value param index UInt32 in value param maxLength SizeI in value param length SizeI out array [1] param size Int32 out array [1] param type GLenum out array [1] param name charARB out array [] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetActiveUniform GetUniformfvARB(programObj, location, params) return void param programObj handleARB in value param location Int32 in value param params Float32 out array [location] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetUniformfv GetUniformivARB(programObj, location, params) return void param programObj handleARB in value param location Int32 in value param params Int32 out array [location] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetUniformiv GetShaderSourceARB(obj, maxLength, length, source) return void param obj handleARB in value param maxLength SizeI in value param length SizeI out array [1] param source charARB out array [length] category ARB_shader_objects dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetShaderSource ############################################################################### # # ARB Extension #31 # ARB_vertex_shader commands # ############################################################################### BindAttribLocationARB(programObj, index, name) return void param programObj handleARB in value param index UInt32 in value param name charARB in array [] category ARB_vertex_shader version 1.2 extension glxropcode ? glxflags ignore alias BindAttribLocation GetActiveAttribARB(programObj, index, maxLength, length, size, type, name) return void param programObj handleARB in value param index UInt32 in value param maxLength SizeI in value param length SizeI out array [1] param size Int32 out array [1] param type GLenum out array [1] param name charARB out array [] category ARB_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetActiveAttrib GetAttribLocationARB(programObj, name) return Int32 param programObj handleARB in value param name charARB in array [] category ARB_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore alias GetAttribLocation ############################################################################### # # ARB Extension #32 # ARB_fragment_shader commands # ############################################################################### # (none) newcategory: ARB_fragment_shader ############################################################################### # # ARB Extension #33 # ARB_shading_language_100 commands # ############################################################################### # (none) newcategory: ARB_shading_language_100 ############################################################################### # # ARB Extension #34 # ARB_texture_non_power_of_two commands # ############################################################################### # (none) newcategory: ARB_texture_non_power_of_two ############################################################################### # # ARB Extension #35 # ARB_point_sprite commands # ############################################################################### # (none) newcategory: ARB_point_sprite ############################################################################### # # ARB Extension #36 # ARB_fragment_program_shadow commands # ############################################################################### # (none) newcategory: ARB_fragment_program_shadow ############################################################################### # # ARB Extension #37 # ARB_draw_buffers commands # ############################################################################### DrawBuffersARB(n, bufs) return void param n SizeI in value param bufs DrawBufferModeATI in array [n] category ARB_draw_buffers version 1.5 extension alias DrawBuffers ############################################################################### # # ARB Extension #38 # ARB_texture_rectangle commands # ############################################################################### # (none) newcategory: ARB_texture_rectangle ############################################################################### # # ARB Extension #39 # ARB_color_buffer_float commands # ############################################################################### ClampColorARB(target, clamp) return void param target ClampColorTargetARB in value param clamp ClampColorModeARB in value category ARB_color_buffer_float version 1.5 extension glxropcode 234 glxflags ignore alias ClampColor ############################################################################### # # ARB Extension #40 # ARB_half_float_pixel commands # ############################################################################### # (none) newcategory: ARB_half_float_pixel ############################################################################### # # ARB Extension #41 # ARB_texture_float commands # ############################################################################### # (none) newcategory: ARB_texture_float ############################################################################### # # ARB Extension #42 # ARB_pixel_buffer_object commands # ############################################################################### # (none) newcategory: ARB_pixel_buffer_object ############################################################################### # # ARB Extension #43 # ARB_depth_buffer_float commands (also OpenGL 3.0) # ############################################################################### # (none) newcategory: ARB_depth_buffer_float ############################################################################### # # ARB Extension #44 # ARB_draw_instanced commands # ############################################################################### DrawArraysInstancedARB(mode, first, count, primcount) return void param mode BeginMode in value param first Int32 in value param count SizeI in value param primcount SizeI in value category ARB_draw_instanced version 2.0 extension soft WINSOFT dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore alias DrawArraysInstanced DrawElementsInstancedARB(mode, count, type, indices, primcount) return void param mode BeginMode in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param primcount SizeI in value category ARB_draw_instanced version 2.0 extension soft WINSOFT dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore alias DrawElementsInstanced ############################################################################### # # ARB Extension #45 # ARB_framebuffer_object commands (also OpenGL 3.0) # ############################################################################### # Promoted from EXT_framebuffer_object IsRenderbuffer(renderbuffer) return Boolean param renderbuffer UInt32 in value category ARB_framebuffer_object version 3.0 extension glxvendorpriv 1422 glxflags ignore offset ? BindRenderbuffer(target, renderbuffer) return void param target RenderbufferTarget in value param renderbuffer UInt32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4316 glxflags ignore offset ? DeleteRenderbuffers(n, renderbuffers) return void param n SizeI in value param renderbuffers UInt32 in array [n] category ARB_framebuffer_object version 3.0 extension glxropcode 4317 glxflags ignore offset ? GenRenderbuffers(n, renderbuffers) return void param n SizeI in value param renderbuffers UInt32 out array [n] category ARB_framebuffer_object version 3.0 extension glxvendorpriv 1423 glxflags ignore offset ? RenderbufferStorage(target, internalformat, width, height) return void param target RenderbufferTarget in value param internalformat GLenum in value param width SizeI in value param height SizeI in value category ARB_framebuffer_object version 3.0 extension glxropcode 4318 glxflags ignore offset ? GetRenderbufferParameteriv(target, pname, params) return void param target RenderbufferTarget in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category ARB_framebuffer_object dlflags notlistable version 3.0 extension glxvendorpriv 1424 glxflags ignore offset ? IsFramebuffer(framebuffer) return Boolean param framebuffer UInt32 in value category ARB_framebuffer_object version 3.0 extension glxvendorpriv 1425 glxflags ignore offset ? BindFramebuffer(target, framebuffer) return void param target FramebufferTarget in value param framebuffer UInt32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4319 glxflags ignore offset ? DeleteFramebuffers(n, framebuffers) return void param n SizeI in value param framebuffers UInt32 in array [n] category ARB_framebuffer_object version 3.0 extension glxropcode 4320 glxflags ignore offset ? GenFramebuffers(n, framebuffers) return void param n SizeI in value param framebuffers UInt32 out array [n] category ARB_framebuffer_object version 3.0 extension glxvendorpriv 1426 glxflags ignore offset ? CheckFramebufferStatus(target) return GLenum param target FramebufferTarget in value category ARB_framebuffer_object version 3.0 extension glxvendorpriv 1427 glxflags ignore offset ? FramebufferTexture1D(target, attachment, textarget, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4321 glxflags ignore offset ? FramebufferTexture2D(target, attachment, textarget, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4322 glxflags ignore offset ? FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value param zoffset Int32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4323 glxflags ignore offset ? FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param renderbuffertarget RenderbufferTarget in value param renderbuffer UInt32 in value category ARB_framebuffer_object version 3.0 extension glxropcode 4324 glxflags ignore offset ? GetFramebufferAttachmentParameteriv(target, attachment, pname, params) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category ARB_framebuffer_object dlflags notlistable version 3.0 extension glxvendorpriv 1428 glxflags ignore offset ? GenerateMipmap(target) return void param target GLenum in value category ARB_framebuffer_object version 3.0 extension glxropcode 4325 glxflags ignore offset ? # Promoted from EXT_framebuffer_blit BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) return void param srcX0 Int32 in value param srcY0 Int32 in value param srcX1 Int32 in value param srcY1 Int32 in value param dstX0 Int32 in value param dstY0 Int32 in value param dstX1 Int32 in value param dstY1 Int32 in value param mask ClearBufferMask in value param filter GLenum in value category ARB_framebuffer_object version 3.0 glxropcode 4330 offset ? # Promoted from EXT_framebuffer_multisample RenderbufferStorageMultisample(target, samples, internalformat, width, height) return void param target GLenum in value param samples SizeI in value param internalformat GLenum in value param width SizeI in value param height SizeI in value category ARB_framebuffer_object version 3.0 glxropcode 4331 offset ? # Promoted from ARB_geometry_shader4 FramebufferTextureLayer(target, attachment, texture, level, layer) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param layer CheckedInt32 in value category ARB_framebuffer_object version 3.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore ############################################################################### # # ARB Extension #46 # ARB_framebuffer_sRGB commands (also OpenGL 3.0) # ############################################################################### # (none) newcategory: ARB_framebuffer_sRGB ############################################################################### # # ARB Extension #47 # ARB_geometry_shader4 commands # ############################################################################### ProgramParameteriARB(program, pname, value) return void param program UInt32 in value param pname ProgramParameterPName in value param value Int32 in value category ARB_geometry_shader4 version 3.0 extension soft WINSOFT glfflags ignore glxflags ignore FramebufferTextureARB(target, attachment, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value category ARB_geometry_shader4 version 3.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore FramebufferTextureLayerARB(target, attachment, texture, level, layer) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param layer CheckedInt32 in value category ARB_geometry_shader4 version 3.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore alias FramebufferTextureLayer FramebufferTextureFaceARB(target, attachment, texture, level, face) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param face TextureTarget in value category ARB_geometry_shader4 version 3.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore ############################################################################### # # ARB Extension #48 # ARB_half_float_vertex commands (also OpenGL 3.0) # ############################################################################### # (none) newcategory: ARB_half_float_vertex ############################################################################### # # ARB Extension #49 # ARB_instanced_arrays commands # ############################################################################### VertexAttribDivisorARB(index, divisor) return void param index UInt32 in value param divisor UInt32 in value category ARB_instanced_arrays version 2.0 extension glfflags ignore glxflags ignore ############################################################################### # # ARB Extension #50 # ARB_map_buffer_range commands (also OpenGL 3.0) # ############################################################################### MapBufferRange(target, offset, length, access) return VoidPointer param target BufferTargetARB in value param offset BufferOffset in value param length BufferSize in value param access BufferAccessMask in value category ARB_map_buffer_range version 3.0 extension glxropcode ? glxflags ignore offset ? # Promoted from APPLE_flush_buffer_range FlushMappedBufferRange(target, offset, length) return void param target BufferTargetARB in value param offset BufferOffset in value param length BufferSize in value category ARB_map_buffer_range version 3.0 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #51 # ARB_texture_buffer_object commands # ############################################################################### TexBufferARB(target, internalformat, buffer) return void param target TextureTarget in value param internalformat GLenum in value param buffer UInt32 in value category ARB_texture_buffer_object version 3.0 extension soft WINSOFT NV50 glfflags ignore alias TexBuffer ############################################################################### # # ARB Extension #52 # ARB_texture_compression_rgtc commands (also OpenGL 3.0) # ############################################################################### # (none) newcategory: ARB_texture_compression_rgtc ############################################################################### # # ARB Extension #53 # ARB_texture_rg commands (also OpenGL 3.0) # ############################################################################### # (none) newcategory: ARB_texture_rg ############################################################################### # # ARB Extension #54 # ARB_vertex_array_object commands (also OpenGL 3.0) # ############################################################################### # Promoted from APPLE_vertex_array_object BindVertexArray(array) return void param array UInt32 in value category ARB_vertex_array_object version 3.0 extension glxropcode ? glxflags ignore offset ? DeleteVertexArrays(n, arrays) return void param n SizeI in value param arrays UInt32 in array [n] category ARB_vertex_array_object version 3.0 extension glxropcode ? glxflags ignore offset ? GenVertexArrays(n, arrays) return void param n SizeI in value param arrays UInt32 out array [n] category ARB_vertex_array_object version 3.0 extension glxropcode ? glxflags ignore offset ? IsVertexArray(array) return Boolean param array UInt32 in value category ARB_vertex_array_object version 3.0 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #55 - WGL_ARB_create_context # ARB Extension #56 - GLX_ARB_create_context # ############################################################################### ############################################################################### # # ARB Extension #57 # ARB_uniform_buffer_object commands # ############################################################################### GetUniformIndices(program, uniformCount, uniformNames, uniformIndices) return void param program UInt32 in value param uniformCount SizeI in value param uniformNames CharPointer in array [COMPSIZE(uniformCount)] param uniformIndices UInt32 out array [COMPSIZE(uniformCount)] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) return void param program UInt32 in value param uniformCount SizeI in value param uniformIndices UInt32 in array [COMPSIZE(uniformCount)] param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName) return void param program UInt32 in value param uniformIndex UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param uniformName Char out array [bufSize] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetUniformBlockIndex(program, uniformBlockName) return UInt32 param program UInt32 in value param uniformBlockName Char in array [COMPSIZE()] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) return void param program UInt32 in value param uniformBlockIndex UInt32 in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) return void param program UInt32 in value param uniformBlockIndex UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param uniformBlockName Char out array [bufSize] category ARB_uniform_buffer_object dlflags notlistable version 2.0 extension glxsingle ? glxflags ignore offset ? UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) return void param program UInt32 in value param uniformBlockIndex UInt32 in value param uniformBlockBinding UInt32 in value category ARB_uniform_buffer_object version 2.0 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #58 # ARB_compatibility commands # ############################################################################### # (none) newcategory: ARB_compatibility ############################################################################### # # ARB Extension #59 # ARB_copy_buffer commands # ############################################################################### CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) return void param readTarget GLenum in value param writeTarget GLenum in value param readOffset BufferOffset in value param writeOffset BufferOffset in value param size BufferSize in value category ARB_copy_buffer version 3.0 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #60 # ARB_shader_texture_lod commands # ############################################################################### # (none) newcategory: ARB_shader_texture_lod ############################################################################### # # ARB Extension #61 # ARB_depth_clamp commands # ############################################################################### # (none) newcategory: ARB_depth_clamp ############################################################################### # # ARB Extension #62 # ARB_draw_elements_base_vertex commands # ############################################################################### DrawElementsBaseVertex(mode, count, type, indices, basevertex) return void param mode GLenum in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param basevertex Int32 in value category ARB_draw_elements_base_vertex version 1.2 extension glxropcode ? glxflags ignore offset ? DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex) return void param mode GLenum in value param start UInt32 in value param end UInt32 in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param basevertex Int32 in value category ARB_draw_elements_base_vertex version 1.2 extension glxropcode ? glxflags ignore offset ? DrawElementsInstancedBaseVertex(mode, count, type, indices, primcount, basevertex) return void param mode GLenum in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param primcount SizeI in value param basevertex Int32 in value category ARB_draw_elements_base_vertex version 1.2 extension glxropcode ? glxflags ignore offset ? MultiDrawElementsBaseVertex(mode, count, type, indices, primcount, basevertex) return void param mode GLenum in value param count SizeI in array [COMPSIZE(primcount)] param type DrawElementsType in value param indices VoidPointer in array [COMPSIZE(primcount)] param primcount SizeI in value param basevertex Int32 in array [COMPSIZE(primcount)] category ARB_draw_elements_base_vertex version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #63 # ARB_fragment_coord_conventions commands # ############################################################################### # (none) newcategory: ARB_fragment_coord_conventions ############################################################################### # # ARB Extension #64 # ARB_provoking_vertex commands # ############################################################################### ProvokingVertex(mode) return void param mode GLenum in value category ARB_provoking_vertex version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #65 # ARB_seamless_cube_map commands # ############################################################################### # (none) newcategory: ARB_seamless_cube_map ############################################################################### # # ARB Extension #66 # ARB_sync commands # ############################################################################### FenceSync(condition, flags) return sync param condition GLenum in value param flags GLbitfield in value category ARB_sync version 1.2 extension glxropcode ? glxflags ignore offset ? IsSync(sync) return Boolean param sync sync in value category ARB_sync version 1.2 extension glxropcode ? glxflags ignore offset ? DeleteSync(sync) return void param sync sync in value category ARB_sync version 1.2 extension glxropcode ? glxflags ignore offset ? ClientWaitSync(sync, flags, timeout) return GLenum param sync sync in value param flags GLbitfield in value param timeout UInt64 in value category ARB_sync version 1.2 extension glxropcode ? glxflags ignore offset ? WaitSync(sync, flags, timeout) return void param sync sync in value param flags GLbitfield in value param timeout UInt64 in value category ARB_sync version 1.2 extension glxropcode ? glxflags ignore offset ? GetInteger64v(pname, params) return void param pname GLenum in value param params Int64 out array [COMPSIZE(pname)] category ARB_sync dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetSynciv(sync, pname, bufSize, length, values) return void param sync sync in value param pname GLenum in value param bufSize SizeI in value param length SizeI out array [1] param values Int32 out array [length] category ARB_sync dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # ARB Extension #67 # ARB_texture_multisample commands # ############################################################################### TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) return void param target GLenum in value param samples SizeI in value param internalformat Int32 in value param width SizeI in value param height SizeI in value param fixedsamplelocations Boolean in value category ARB_texture_multisample version 1.2 extension glxropcode ? glxflags ignore offset ? TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) return void param target GLenum in value param samples SizeI in value param internalformat Int32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param fixedsamplelocations Boolean in value category ARB_texture_multisample version 1.2 extension glxropcode ? glxflags ignore offset ? GetMultisamplefv(pname, index, val) return void param pname GLenum in value param index UInt32 in value param val Float32 out array [COMPSIZE(pname)] category ARB_texture_multisample dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? SampleMaski(index, mask) return void param index UInt32 in value param mask GLbitfield in value category ARB_texture_multisample version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #68 # ARB_vertex_array_bgra commands # ############################################################################### # (none) newcategory: ARB_vertex_array_bgra ############################################################################### # # ARB Extension #69 # ARB_draw_buffers_blend commands # ############################################################################### BlendEquationi(buf, mode) return void param buf UInt32 in value param mode GLenum in value category ARB_draw_buffers_blend version 1.2 extension glxropcode ? glxflags ignore offset ? BlendEquationSeparatei(buf, modeRGB, modeAlpha) return void param buf UInt32 in value param modeRGB GLenum in value param modeAlpha GLenum in value category ARB_draw_buffers_blend version 1.2 extension glxropcode ? glxflags ignore offset ? BlendFunci(buf, src, dst) return void param buf UInt32 in value param src GLenum in value param dst GLenum in value category ARB_draw_buffers_blend version 1.2 extension glxropcode ? glxflags ignore offset ? BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) return void param buf UInt32 in value param srcRGB GLenum in value param dstRGB GLenum in value param srcAlpha GLenum in value param dstAlpha GLenum in value category ARB_draw_buffers_blend version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #70 # ARB_sample_shading commands # ############################################################################### MinSampleShading(value) return void param value ClampedColorF in value category ARB_sample_shading version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # ARB Extension #71 # ARB_texture_cube_map_array commands # ############################################################################### # (none) newcategory: ARB_texture_cube_map_array ############################################################################### # # ARB Extension #72 # ARB_texture_gather commands # ############################################################################### # (none) newcategory: ARB_texture_gather ############################################################################### # # ARB Extension #73 # ARB_texture_query_lod commands # ############################################################################### # (none) newcategory: ARB_texture_query_lod ############################################################################### ############################################################################### # # Non-ARB extensions, in order by registry extension number # ############################################################################### ############################################################################### ############################################################################### # # Extension #1 # EXT_abgr commands # ############################################################################### # (none) newcategory: EXT_abgr ############################################################################### # # Extension #2 # EXT_blend_color commands # ############################################################################### BlendColorEXT(red, green, blue, alpha) return void param red ClampedColorF in value param green ClampedColorF in value param blue ClampedColorF in value param alpha ClampedColorF in value category EXT_blend_color version 1.0 glxropcode 4096 glxflags EXT extension soft alias BlendColor ############################################################################### # # Extension #3 # EXT_polygon_offset commands # ############################################################################### PolygonOffsetEXT(factor, bias) return void param factor Float32 in value param bias Float32 in value category EXT_polygon_offset version 1.0 glxropcode 4098 glxflags EXT extension soft offset 414 ############################################################################### # # Extension #4 # EXT_texture commands # ############################################################################### # (none) newcategory: EXT_texture ############################################################################### # # Extension #5 - skipped # ############################################################################### ############################################################################### # # Extension #6 # EXT_texture3D commands # ############################################################################### # Arguably TexelInternalFormat, not PixelInternalFormat TexImage3DEXT(target, level, internalformat, width, height, depth, border, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_texture3D dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4114 extension alias TexImage3D TexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_texture3D dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4115 extension alias TexSubImage3D ############################################################################### # # Extension #7 # SGIS_texture_filter4 commands # ############################################################################### GetTexFilterFuncSGIS(target, filter, weights) return void param target TextureTarget in value param filter TextureFilterSGIS in value param weights Float32 out array [COMPSIZE(target/filter)] category SGIS_texture_filter4 dlflags notlistable version 1.0 glxflags SGI glxvendorpriv 4101 extension offset 415 TexFilterFuncSGIS(target, filter, n, weights) return void param target TextureTarget in value param filter TextureFilterSGIS in value param n SizeI in value param weights Float32 in array [n] category SGIS_texture_filter4 glxflags SGI version 1.0 glxropcode 2064 extension offset 416 ############################################################################### # # Extension #8 - skipped # ############################################################################### ############################################################################### # # Extension #9 # EXT_subtexture commands # ############################################################################### TexSubImage1DEXT(target, level, xoffset, width, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category EXT_subtexture dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4099 extension alias TexSubImage1D TexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category EXT_subtexture dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4100 extension alias TexSubImage2D ############################################################################### # # Extension #10 # EXT_copy_texture commands # ############################################################################### # Arguably TexelInternalFormat, not PixelInternalFormat CopyTexImage1DEXT(target, level, internalformat, x, y, width, border) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param border CheckedInt32 in value category EXT_copy_texture version 1.0 glxflags EXT glxropcode 4119 extension alias CopyTexImage1D # Arguably TexelInternalFormat, not PixelInternalFormat CopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value category EXT_copy_texture version 1.0 glxflags EXT glxropcode 4120 extension alias CopyTexImage2D CopyTexSubImage1DEXT(target, level, xoffset, x, y, width) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value category EXT_copy_texture version 1.0 glxflags EXT glxropcode 4121 extension alias CopyTexSubImage1D CopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_copy_texture version 1.0 glxflags EXT glxropcode 4122 extension alias CopyTexSubImage2D CopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_copy_texture version 1.0 glxflags EXT glxropcode 4123 extension alias CopyTexSubImage3D ############################################################################### # # Extension #11 # EXT_histogram commands # ############################################################################### GetHistogramEXT(target, reset, format, type, values) return void param target HistogramTargetEXT in value param reset Boolean in value param format PixelFormat in value param type PixelType in value param values Void out array [COMPSIZE(target/format/type)] category EXT_histogram dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 glxvendorpriv 5 extension offset 417 GetHistogramParameterfvEXT(target, pname, params) return void param target HistogramTargetEXT in value param pname GetHistogramParameterPNameEXT in value param params Float32 out array [COMPSIZE(pname)] category EXT_histogram dlflags notlistable version 1.0 glxvendorpriv 6 glxflags EXT extension offset 418 GetHistogramParameterivEXT(target, pname, params) return void param target HistogramTargetEXT in value param pname GetHistogramParameterPNameEXT in value param params Int32 out array [COMPSIZE(pname)] category EXT_histogram dlflags notlistable version 1.0 glxvendorpriv 7 glxflags EXT extension offset 419 GetMinmaxEXT(target, reset, format, type, values) return void param target MinmaxTargetEXT in value param reset Boolean in value param format PixelFormat in value param type PixelType in value param values Void out array [COMPSIZE(target/format/type)] category EXT_histogram dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 glxvendorpriv 8 extension offset 420 GetMinmaxParameterfvEXT(target, pname, params) return void param target MinmaxTargetEXT in value param pname GetMinmaxParameterPNameEXT in value param params Float32 out array [COMPSIZE(pname)] category EXT_histogram dlflags notlistable version 1.0 glxvendorpriv 9 glxflags EXT extension offset 421 GetMinmaxParameterivEXT(target, pname, params) return void param target MinmaxTargetEXT in value param pname GetMinmaxParameterPNameEXT in value param params Int32 out array [COMPSIZE(pname)] category EXT_histogram dlflags notlistable version 1.0 glxvendorpriv 10 glxflags EXT extension offset 422 HistogramEXT(target, width, internalformat, sink) return void param target HistogramTargetEXT in value param width SizeI in value param internalformat PixelInternalFormat in value param sink Boolean in value category EXT_histogram version 1.0 glxropcode 4110 glxflags EXT extension alias Histogram MinmaxEXT(target, internalformat, sink) return void param target MinmaxTargetEXT in value param internalformat PixelInternalFormat in value param sink Boolean in value category EXT_histogram version 1.0 glxropcode 4111 glxflags EXT extension alias Minmax ResetHistogramEXT(target) return void param target HistogramTargetEXT in value category EXT_histogram version 1.0 glxropcode 4112 glxflags EXT extension alias ResetHistogram ResetMinmaxEXT(target) return void param target MinmaxTargetEXT in value category EXT_histogram version 1.0 glxropcode 4113 glxflags EXT extension alias ResetMinmax ############################################################################### # # Extension #12 # EXT_convolution commands # ############################################################################### ConvolutionFilter1DEXT(target, internalformat, width, format, type, image) return void param target ConvolutionTargetEXT in value param internalformat PixelInternalFormat in value param width SizeI in value param format PixelFormat in value param type PixelType in value param image Void in array [COMPSIZE(format/type/width)] category EXT_convolution dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4101 extension alias ConvolutionFilter1D ConvolutionFilter2DEXT(target, internalformat, width, height, format, type, image) return void param target ConvolutionTargetEXT in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param image Void in array [COMPSIZE(format/type/width/height)] category EXT_convolution dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4102 extension alias ConvolutionFilter2D ConvolutionParameterfEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params CheckedFloat32 in value category EXT_convolution version 1.0 glxropcode 4103 glxflags EXT extension alias ConvolutionParameterf ConvolutionParameterfvEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_convolution version 1.0 glxropcode 4104 glxflags EXT extension alias ConvolutionParameterfv ConvolutionParameteriEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params CheckedInt32 in value category EXT_convolution version 1.0 glxropcode 4105 glxflags EXT extension alias ConvolutionParameteri ConvolutionParameterivEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_convolution version 1.0 glxropcode 4106 glxflags EXT extension alias ConvolutionParameteriv CopyConvolutionFilter1DEXT(target, internalformat, x, y, width) return void param target ConvolutionTargetEXT in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value category EXT_convolution version 1.0 glxropcode 4107 glxflags EXT extension alias CopyConvolutionFilter1D CopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height) return void param target ConvolutionTargetEXT in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_convolution version 1.0 glxropcode 4108 glxflags EXT extension alias CopyConvolutionFilter2D GetConvolutionFilterEXT(target, format, type, image) return void param target ConvolutionTargetEXT in value param format PixelFormat in value param type PixelType in value param image Void out array [COMPSIZE(target/format/type)] category EXT_convolution dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 glxvendorpriv 1 extension offset 423 GetConvolutionParameterfvEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params Float32 out array [COMPSIZE(pname)] category EXT_convolution dlflags notlistable version 1.0 glxvendorpriv 2 glxflags EXT extension offset 424 GetConvolutionParameterivEXT(target, pname, params) return void param target ConvolutionTargetEXT in value param pname ConvolutionParameterEXT in value param params Int32 out array [COMPSIZE(pname)] category EXT_convolution dlflags notlistable version 1.0 glxvendorpriv 3 glxflags EXT extension offset 425 GetSeparableFilterEXT(target, format, type, row, column, span) return void param target SeparableTargetEXT in value param format PixelFormat in value param type PixelType in value param row Void out array [COMPSIZE(target/format/type)] param column Void out array [COMPSIZE(target/format/type)] param span Void out array [COMPSIZE(target/format/type)] category EXT_convolution dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 glxvendorpriv 4 extension offset 426 SeparableFilter2DEXT(target, internalformat, width, height, format, type, row, column) return void param target SeparableTargetEXT in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param row Void in array [COMPSIZE(target/format/type/width)] param column Void in array [COMPSIZE(target/format/type/height)] category EXT_convolution dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4109 extension alias SeparableFilter2D ############################################################################### # # Extension #13 # SGI_color_matrix commands # ############################################################################### # (none) newcategory: SGI_color_matrix ############################################################################### # # Extension #14 # SGI_color_table commands # ############################################################################### ColorTableSGI(target, internalformat, width, format, type, table) return void param target ColorTableTargetSGI in value param internalformat PixelInternalFormat in value param width SizeI in value param format PixelFormat in value param type PixelType in value param table Void in array [COMPSIZE(format/type/width)] category SGI_color_table dlflags handcode glxflags client-handcode server-handcode SGI version 1.0 glxropcode 2053 extension alias ColorTable ColorTableParameterfvSGI(target, pname, params) return void param target ColorTableTargetSGI in value param pname ColorTableParameterPNameSGI in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGI_color_table version 1.0 glxropcode 2054 glxflags SGI extension alias ColorTableParameterfv ColorTableParameterivSGI(target, pname, params) return void param target ColorTableTargetSGI in value param pname ColorTableParameterPNameSGI in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGI_color_table version 1.0 glxropcode 2055 glxflags SGI extension alias ColorTableParameteriv CopyColorTableSGI(target, internalformat, x, y, width) return void param target ColorTableTargetSGI in value param internalformat PixelInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value category SGI_color_table version 1.0 glxropcode 2056 glxflags SGI extension alias CopyColorTable GetColorTableSGI(target, format, type, table) return void param target ColorTableTargetSGI in value param format PixelFormat in value param type PixelType in value param table Void out array [COMPSIZE(target/format/type)] category SGI_color_table dlflags notlistable glxflags client-handcode server-handcode SGI version 1.0 glxvendorpriv 4098 extension offset 427 GetColorTableParameterfvSGI(target, pname, params) return void param target ColorTableTargetSGI in value param pname GetColorTableParameterPNameSGI in value param params Float32 out array [COMPSIZE(pname)] category SGI_color_table dlflags notlistable version 1.0 glxflags SGI glxvendorpriv 4099 extension offset 428 GetColorTableParameterivSGI(target, pname, params) return void param target ColorTableTargetSGI in value param pname GetColorTableParameterPNameSGI in value param params Int32 out array [COMPSIZE(pname)] category SGI_color_table dlflags notlistable version 1.0 glxflags SGI glxvendorpriv 4100 extension offset 429 ############################################################################### # # Extension #15 # SGIX_pixel_texture commands # ############################################################################### PixelTexGenSGIX(mode) return void param mode PixelTexGenModeSGIX in value category SGIX_pixel_texture version 1.0 glxflags SGI glxropcode 2059 extension offset 430 ############################################################################### # # Extension #15 (variant) # SGIS_pixel_texture commands # Both SGIS and SGIX forms have extension #15! # ############################################################################### PixelTexGenParameteriSGIS(pname, param) return void param pname PixelTexGenParameterNameSGIS in value param param CheckedInt32 in value category SGIS_pixel_texture version 1.0 extension glxropcode ? glxflags ignore offset 431 PixelTexGenParameterivSGIS(pname, params) return void param pname PixelTexGenParameterNameSGIS in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGIS_pixel_texture version 1.0 extension glxropcode ? glxflags ignore offset 432 PixelTexGenParameterfSGIS(pname, param) return void param pname PixelTexGenParameterNameSGIS in value param param CheckedFloat32 in value category SGIS_pixel_texture version 1.0 extension glxropcode ? glxflags ignore offset 433 PixelTexGenParameterfvSGIS(pname, params) return void param pname PixelTexGenParameterNameSGIS in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIS_pixel_texture version 1.0 extension glxropcode ? glxflags ignore offset 434 GetPixelTexGenParameterivSGIS(pname, params) return void param pname PixelTexGenParameterNameSGIS in value param params CheckedInt32 out array [COMPSIZE(pname)] dlflags notlistable category SGIS_pixel_texture version 1.0 extension glxvendorpriv ? glxflags ignore offset 435 GetPixelTexGenParameterfvSGIS(pname, params) return void param pname PixelTexGenParameterNameSGIS in value param params CheckedFloat32 out array [COMPSIZE(pname)] dlflags notlistable category SGIS_pixel_texture version 1.0 extension glxvendorpriv ? glxflags ignore offset 436 ############################################################################### # # Extension #16 # SGIS_texture4D commands # ############################################################################### TexImage4DSGIS(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param size4d SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth/size4d)] category SGIS_texture4D dlflags handcode glxflags client-handcode server-handcode SGI version 1.0 glxropcode 2057 extension offset 437 TexSubImage4DSGIS(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels) return void param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param woffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param size4d SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth/size4d)] category SGIS_texture4D dlflags handcode glxflags client-handcode server-handcode SGI version 1.0 glxropcode 2058 extension offset 438 ############################################################################### # # Extension #17 # SGI_texture_color_table commands # ############################################################################### # (none) newcategory: SGI_texture_color_table ############################################################################### # # Extension #18 # EXT_cmyka commands # ############################################################################### # (none) newcategory: EXT_cmyka ############################################################################### # # Extension #19 - skipped # ############################################################################### ############################################################################### # # Extension #20 # EXT_texture_object commands # ############################################################################### AreTexturesResidentEXT(n, textures, residences) return Boolean param n SizeI in value param textures Texture in array [n] param residences Boolean out array [n] category EXT_texture_object glxflags EXT glxvendorpriv 11 dlflags notlistable version 1.0 extension offset 439 BindTextureEXT(target, texture) return void param target TextureTarget in value param texture Texture in value category EXT_texture_object version 1.0 glxflags EXT glxropcode 4117 extension alias BindTexture DeleteTexturesEXT(n, textures) return void param n SizeI in value param textures Texture in array [n] category EXT_texture_object dlflags notlistable version 1.0 glxflags EXT glxvendorpriv 12 extension offset 561 GenTexturesEXT(n, textures) return void param n SizeI in value param textures Texture out array [n] category EXT_texture_object dlflags notlistable version 1.0 glxflags EXT glxvendorpriv 13 extension offset 440 IsTextureEXT(texture) return Boolean param texture Texture in value category EXT_texture_object dlflags notlistable version 1.0 glxflags EXT glxvendorpriv 14 extension offset 441 PrioritizeTexturesEXT(n, textures, priorities) return void param n SizeI in value param textures Texture in array [n] param priorities ClampedFloat32 in array [n] category EXT_texture_object glxflags EXT version 1.0 glxropcode 4118 extension alias PrioritizeTextures ############################################################################### # # Extension #21 # SGIS_detail_texture commands # ############################################################################### DetailTexFuncSGIS(target, n, points) return void param target TextureTarget in value param n SizeI in value param points Float32 in array [n*2] category SGIS_detail_texture glxflags SGI version 1.0 glxropcode 2051 extension offset 442 GetDetailTexFuncSGIS(target, points) return void param target TextureTarget in value param points Float32 out array [COMPSIZE(target)] category SGIS_detail_texture dlflags notlistable version 1.0 glxflags SGI glxvendorpriv 4096 extension offset 443 ############################################################################### # # Extension #22 # SGIS_sharpen_texture commands # ############################################################################### SharpenTexFuncSGIS(target, n, points) return void param target TextureTarget in value param n SizeI in value param points Float32 in array [n*2] category SGIS_sharpen_texture glxflags SGI version 1.0 glxropcode 2052 extension offset 444 GetSharpenTexFuncSGIS(target, points) return void param target TextureTarget in value param points Float32 out array [COMPSIZE(target)] category SGIS_sharpen_texture dlflags notlistable version 1.0 glxflags SGI glxvendorpriv 4097 extension offset 445 ############################################################################### # # EXT_packed_pixels commands # Extension #23 # ############################################################################### # (none) newcategory: EXT_packed_pixels ############################################################################### # # Extension #24 # SGIS_texture_lod commands # ############################################################################### # (none) newcategory: SGIS_texture_lod ############################################################################### # # Extension #25 # SGIS_multisample commands # ############################################################################### SampleMaskSGIS(value, invert) return void param value ClampedFloat32 in value param invert Boolean in value category SGIS_multisample version 1.1 glxropcode 2048 glxflags SGI extension alias SampleMaskEXT SamplePatternSGIS(pattern) return void param pattern SamplePatternSGIS in value category SGIS_multisample version 1.0 glxropcode 2049 glxflags SGI extension alias SamplePatternEXT ############################################################################### # # Extension #26 - no specification? # ############################################################################### ############################################################################### # # Extension #27 # EXT_rescale_normal commands # ############################################################################### # (none) newcategory: EXT_rescale_normal ############################################################################### # # Extension #28 - GLX_EXT_visual_info # Extension #29 - skipped # ############################################################################### ############################################################################### # # Extension #30 # EXT_vertex_array commands # ############################################################################### ArrayElementEXT(i) return void param i Int32 in value category EXT_vertex_array dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 extension alias ArrayElement ColorPointerEXT(size, type, stride, count, pointer) return void param size Int32 in value param type ColorPointerType in value param stride SizeI in value param count SizeI in value param pointer Void in array [COMPSIZE(size/type/stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 448 DrawArraysEXT(mode, first, count) return void param mode BeginMode in value param first Int32 in value param count SizeI in value category EXT_vertex_array dlflags handcode glxflags client-handcode server-handcode EXT version 1.0 glxropcode 4116 extension alias DrawArrays EdgeFlagPointerEXT(stride, count, pointer) return void param stride SizeI in value param count SizeI in value param pointer Boolean in array [COMPSIZE(stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 449 GetPointervEXT(pname, params) return void param pname GetPointervPName in value param params VoidPointer out array [1] category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension alias GetPointerv IndexPointerEXT(type, stride, count, pointer) return void param type IndexPointerType in value param stride SizeI in value param count SizeI in value param pointer Void in array [COMPSIZE(type/stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 450 NormalPointerEXT(type, stride, count, pointer) return void param type NormalPointerType in value param stride SizeI in value param count SizeI in value param pointer Void in array [COMPSIZE(type/stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 451 TexCoordPointerEXT(size, type, stride, count, pointer) return void param size Int32 in value param type TexCoordPointerType in value param stride SizeI in value param count SizeI in value param pointer Void in array [COMPSIZE(size/type/stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 452 VertexPointerEXT(size, type, stride, count, pointer) return void param size Int32 in value param type VertexPointerType in value param stride SizeI in value param count SizeI in value param pointer Void in array [COMPSIZE(size/type/stride/count)] retained category EXT_vertex_array dlflags notlistable glxflags client-handcode server-handcode EXT version 1.0 extension offset 453 ############################################################################### # # Extension #31 # EXT_misc_attribute commands # ############################################################################### # (none) newcategory: EXT_misc_attribute ############################################################################### # # Extension #32 # SGIS_generate_mipmap commands # ############################################################################### # (none) newcategory: SGIS_generate_mipmap ############################################################################### # # Extension #33 # SGIX_clipmap commands # ############################################################################### # (none) newcategory: SGIX_clipmap ############################################################################### # # Extension #34 # SGIX_shadow commands # ############################################################################### # (none) newcategory: SGIX_shadow ############################################################################### # # Extension #35 # SGIS_texture_edge_clamp commands # ############################################################################### # (none) newcategory: SGIS_texture_edge_clamp ############################################################################### # # Extension #36 # SGIS_texture_border_clamp commands # ############################################################################### # (none) newcategory: SGIS_texture_border_clamp ############################################################################### # # Extension #37 # EXT_blend_minmax commands # ############################################################################### BlendEquationEXT(mode) return void param mode BlendEquationModeEXT in value category EXT_blend_minmax version 1.0 glxropcode 4097 glxflags EXT extension soft alias BlendEquation ############################################################################### # # Extension #38 # EXT_blend_subtract commands # ############################################################################### # (none) newcategory: EXT_blend_subtract ############################################################################### # # Extension #39 # EXT_blend_logic_op commands # ############################################################################### # (none) newcategory: EXT_blend_logic_op ############################################################################### # # Extension #40 - GLX_SGI_swap_control # Extension #41 - GLX_SGI_video_sync # Extension #42 - GLX_SGI_make_current_read # Extension #43 - GLX_SGIX_video_source # Extension #44 - GLX_EXT_visual_rating # ############################################################################### ############################################################################### # # Extension #45 # SGIX_interlace commands # ############################################################################### # (none) newcategory: SGIX_interlace ############################################################################### # # Extension #46 # SGIX_pixel_tiles commands # ############################################################################### # (none) newcategory: SGIX_pixel_tiles ############################################################################### # # Extension #47 - GLX_EXT_import_context # Extension #48 - skipped # Extension #49 - GLX_SGIX_fbconfig # Extension #50 - GLX_SGIX_pbuffer # ############################################################################### ############################################################################### # # Extension #51 # SGIX_texture_select commands # ############################################################################### # (none) newcategory: SGIX_texture_select ############################################################################### # # Extension #52 # SGIX_sprite commands # ############################################################################### SpriteParameterfSGIX(pname, param) return void param pname SpriteParameterNameSGIX in value param param CheckedFloat32 in value category SGIX_sprite version 1.0 glxflags SGI glxropcode 2060 extension offset 454 SpriteParameterfvSGIX(pname, params) return void param pname SpriteParameterNameSGIX in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIX_sprite version 1.0 glxflags SGI glxropcode 2061 extension offset 455 SpriteParameteriSGIX(pname, param) return void param pname SpriteParameterNameSGIX in value param param CheckedInt32 in value category SGIX_sprite version 1.0 glxflags SGI glxropcode 2062 extension offset 456 SpriteParameterivSGIX(pname, params) return void param pname SpriteParameterNameSGIX in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGIX_sprite version 1.0 glxflags SGI glxropcode 2063 extension offset 457 ############################################################################### # # Extension #53 # SGIX_texture_multi_buffer commands # ############################################################################### # (none) newcategory: SGIX_texture_multi_buffer ############################################################################### # # Extension #54 # EXT_point_parameters / SGIS_point_parameters commands # ############################################################################### PointParameterfEXT(pname, param) return void param pname PointParameterNameARB in value param param CheckedFloat32 in value category EXT_point_parameters version 1.0 glxflags SGI extension alias PointParameterfARB PointParameterfvEXT(pname, params) return void param pname PointParameterNameARB in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_point_parameters version 1.0 glxflags SGI extension alias PointParameterfvARB PointParameterfSGIS(pname, param) return void param pname PointParameterNameARB in value param param CheckedFloat32 in value category SGIS_point_parameters version 1.0 glxflags SGI extension alias PointParameterfARB PointParameterfvSGIS(pname, params) return void param pname PointParameterNameARB in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIS_point_parameters version 1.0 glxflags SGI extension alias PointParameterfvARB ############################################################################### # # Extension #55 # SGIX_instruments commands # ############################################################################### GetInstrumentsSGIX() return Int32 dlflags notlistable category SGIX_instruments version 1.0 glxflags SGI glxvendorpriv 4102 extension offset 460 InstrumentsBufferSGIX(size, buffer) return void param size SizeI in value param buffer Int32 out array [size] retained dlflags notlistable category SGIX_instruments version 1.0 glxflags SGI glxvendorpriv 4103 extension offset 461 PollInstrumentsSGIX(marker_p) return Int32 param marker_p Int32 out array [1] dlflags notlistable category SGIX_instruments version 1.0 glxflags SGI glxvendorpriv 4104 extension offset 462 ReadInstrumentsSGIX(marker) return void param marker Int32 in value category SGIX_instruments version 1.0 glxflags SGI glxropcode 2077 extension offset 463 StartInstrumentsSGIX() return void category SGIX_instruments version 1.0 glxflags SGI glxropcode 2069 extension offset 464 StopInstrumentsSGIX(marker) return void param marker Int32 in value category SGIX_instruments version 1.0 glxflags SGI glxropcode 2070 extension offset 465 ############################################################################### # # Extension #56 # SGIX_texture_scale_bias commands # ############################################################################### # (none) newcategory: SGIX_texture_scale_bias ############################################################################### # # Extension #57 # SGIX_framezoom commands # ############################################################################### FrameZoomSGIX(factor) return void param factor CheckedInt32 in value category SGIX_framezoom version 1.0 glxflags SGI glxropcode 2072 extension offset 466 ############################################################################### # # Extension #58 # SGIX_tag_sample_buffer commands # ############################################################################### TagSampleBufferSGIX() return void category SGIX_tag_sample_buffer version 1.0 glxropcode 2050 glxflags SGI extension offset 467 ############################################################################### # # Extension #59 # SGIX_polynomial_ffd commands # ############################################################################### DeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points) return void param target FfdTargetSGIX in value param u1 CoordD in value param u2 CoordD in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordD in value param v2 CoordD in value param vstride Int32 in value param vorder CheckedInt32 in value param w1 CoordD in value param w2 CoordD in value param wstride Int32 in value param worder CheckedInt32 in value param points CoordD in array [COMPSIZE(target/ustride/uorder/vstride/vorder/wstride/worder)] dlflags handcode category SGIX_polynomial_ffd version 1.0 glxflags SGI ignore glxropcode 2073 extension offset ? DeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points) return void param target FfdTargetSGIX in value param u1 CoordF in value param u2 CoordF in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordF in value param v2 CoordF in value param vstride Int32 in value param vorder CheckedInt32 in value param w1 CoordF in value param w2 CoordF in value param wstride Int32 in value param worder CheckedInt32 in value param points CoordF in array [COMPSIZE(target/ustride/uorder/vstride/vorder/wstride/worder)] category SGIX_polynomial_ffd dlflags handcode version 1.0 glxflags SGI ignore glxropcode 2074 extension offset ? DeformSGIX(mask) return void param mask FfdMaskSGIX in value category SGIX_polynomial_ffd version 1.0 glxflags SGI ignore glxropcode 2075 extension offset ? LoadIdentityDeformationMapSGIX(mask) return void param mask FfdMaskSGIX in value category SGIX_polynomial_ffd version 1.0 glxflags SGI ignore glxropcode 2076 extension offset ? ############################################################################### # # Extension #60 # SGIX_reference_plane commands # ############################################################################### ReferencePlaneSGIX(equation) return void param equation Float64 in array [4] category SGIX_reference_plane version 1.0 glxflags SGI glxropcode 2071 extension offset 468 ############################################################################### # # Extension #61 # SGIX_flush_raster commands # ############################################################################### FlushRasterSGIX() return void category SGIX_flush_raster version 1.0 dlflags notlistable glxflags SGI glxvendorpriv 4105 extension offset 469 ############################################################################### # # Extension #62 - GLX_SGIX_cushion # ############################################################################### ############################################################################### # # Extension #63 # SGIX_depth_texture commands # ############################################################################### # (none) newcategory: SGIX_depth_texture ############################################################################### # # Extension #64 # SGIS_fog_function commands # ############################################################################### FogFuncSGIS(n, points) return void param n SizeI in value param points Float32 in array [n*2] category SGIS_fog_function version 1.1 glxflags SGI glxropcode 2067 extension offset # Need to insert GLX information GetFogFuncSGIS(points) return void param points Float32 out array [COMPSIZE()] category SGIS_fog_function version 1.1 dlflags notlistable glxflags ignore extension offset ############################################################################### # # Extension #65 # SGIX_fog_offset commands # ############################################################################### # (none) newcategory: SGIX_fog_offset ############################################################################### # # Extension #66 # HP_image_transform commands # ############################################################################### ImageTransformParameteriHP(target, pname, param) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param param Int32 in value category HP_image_transform version 1.1 glxropcode ? offset ? ImageTransformParameterfHP(target, pname, param) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param param Float32 in value category HP_image_transform version 1.1 glxropcode ? offset ? ImageTransformParameterivHP(target, pname, params) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param params Int32 in array [COMPSIZE(pname)] category HP_image_transform version 1.1 glxropcode ? offset ? ImageTransformParameterfvHP(target, pname, params) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param params Float32 in array [COMPSIZE(pname)] category HP_image_transform version 1.1 glxropcode ? offset ? GetImageTransformParameterivHP(target, pname, params) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param params Int32 out array [COMPSIZE(pname)] dlflags notlistable category HP_image_transform version 1.1 glxropcode ? offset ? GetImageTransformParameterfvHP(target, pname, params) return void param target ImageTransformTargetHP in value param pname ImageTransformPNameHP in value param params Float32 out array [COMPSIZE(pname)] category HP_image_transform version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #67 # HP_convolution_border_modes commands # ############################################################################### # (none) newcategory: HP_convolution_border_modes ############################################################################### # # Extension #68 # INGR_palette_buffer commands # ############################################################################### #@ (Intergraph hasn't provided a spec) ############################################################################### # # Extension #69 # SGIX_texture_add_env commands # ############################################################################### # (none) newcategory: SGIX_texture_add_env ############################################################################### # # Extension #70 - skipped # Extension #71 - skipped # Extension #72 - skipped # Extension #73 - skipped # ############################################################################### ############################################################################### # # Extension #74 # EXT_color_subtable commands # # This was probably never actually shipped as an EXT - just written up as a # reference for OpenGL 1.2 ARB_imaging. # ############################################################################### ColorSubTableEXT(target, start, count, format, type, data) return void param target ColorTableTarget in value param start SizeI in value param count SizeI in value param format PixelFormat in value param type PixelType in value param data Void in array [COMPSIZE(format/type/count)] category EXT_color_subtable version 1.2 alias ColorSubTable CopyColorSubTableEXT(target, start, x, y, width) return void param target ColorTableTarget in value param start SizeI in value param x WinCoord in value param y WinCoord in value param width SizeI in value category EXT_color_subtable version 1.2 alias CopyColorSubTable ############################################################################### # # Extension #75 - GLU_EXT_object_space_tess # ############################################################################### ############################################################################### # # Extension #76 # PGI_vertex_hints commands # ############################################################################### # (none) newcategory: PGI_vertex_hints ############################################################################### # # Extension #77 # PGI_misc_hints commands # ############################################################################### HintPGI(target, mode) return void param target HintTargetPGI in value param mode Int32 in value category PGI_misc_hints version 1.1 offset 544 ############################################################################### # # Extension #78 # EXT_paletted_texture commands # ############################################################################### ColorTableEXT(target, internalFormat, width, format, type, table) return void param target ColorTableTarget in value param internalFormat PixelInternalFormat in value param width SizeI in value param format PixelFormat in value param type PixelType in value param table Void in array [COMPSIZE(format/type/width)] category EXT_paletted_texture version 1.1 alias ColorTable GetColorTableEXT(target, format, type, data) return void param target ColorTableTarget in value param format PixelFormat in value param type PixelType in value param data Void out array [COMPSIZE(target/format/type)] category EXT_paletted_texture version 1.1 offset 550 GetColorTableParameterivEXT(target, pname, params) return void param target ColorTableTarget in value param pname GetColorTableParameterPName in value param params Int32 out array [COMPSIZE(pname)] category EXT_paletted_texture version 1.1 offset 551 GetColorTableParameterfvEXT(target, pname, params) return void param target ColorTableTarget in value param pname GetColorTableParameterPName in value param params Float32 out array [COMPSIZE(pname)] category EXT_paletted_texture version 1.1 offset 552 ############################################################################### # # Extension #79 # EXT_clip_volume_hint commands # ############################################################################### # (none) newcategory: EXT_clip_volume_hint ############################################################################### # # Extension #80 # SGIX_list_priority commands # ############################################################################### # @@@ Needs vendorpriv opcodes assigned GetListParameterfvSGIX(list, pname, params) return void param list List in value param pname ListParameterName in value param params CheckedFloat32 out array [COMPSIZE(pname)] dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxvendorpriv ? extension offset 470 # @@@ Needs vendorpriv opcodes assigned GetListParameterivSGIX(list, pname, params) return void param list List in value param pname ListParameterName in value param params CheckedInt32 out array [COMPSIZE(pname)] dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxvendorpriv ? extension offset 471 ListParameterfSGIX(list, pname, param) return void param list List in value param pname ListParameterName in value param param CheckedFloat32 in value dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxropcode 2078 extension offset 472 ListParameterfvSGIX(list, pname, params) return void param list List in value param pname ListParameterName in value param params CheckedFloat32 in array [COMPSIZE(pname)] dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxropcode 2079 extension offset 473 ListParameteriSGIX(list, pname, param) return void param list List in value param pname ListParameterName in value param param CheckedInt32 in value dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxropcode 2080 extension offset 474 ListParameterivSGIX(list, pname, params) return void param list List in value param pname ListParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] dlflags notlistable glxflags ignore category SGIX_list_priority version 1.0 glxropcode 2081 extension offset 475 ############################################################################### # # Extension #81 # SGIX_ir_instrument1 commands # ############################################################################### # (none) newcategory: SGIX_ir_instrument1 ############################################################################### # # Extension #82 # SGIX_calligraphic_fragment commands # ############################################################################### # (none) newcategory: SGIX_calligraphic_fragment ############################################################################### # # Extension #83 - GLX_SGIX_video_resize # ############################################################################### ############################################################################### # # Extension #84 # SGIX_texture_lod_bias commands # ############################################################################### # (none) newcategory: SGIX_texture_lod_bias ############################################################################### # # Extension #85 - skipped # Extension #86 - GLX_SGIX_dmbuffer # Extension #87 - skipped # Extension #88 - skipped # Extension #89 - skipped # ############################################################################### ############################################################################### # # Extension #90 # SGIX_shadow_ambient commands # ############################################################################### # (none) newcategory: SGIX_shadow_ambient ############################################################################### # # Extension #91 - GLX_SGIX_swap_group # Extension #92 - GLX_SGIX_swap_barrier # ############################################################################### ############################################################################### # # Extension #93 # EXT_index_texture commands # ############################################################################### # (none) newcategory: EXT_index_texture ############################################################################### # # Extension #94 # EXT_index_material commands # ############################################################################### IndexMaterialEXT(face, mode) return void param face MaterialFace in value param mode IndexMaterialParameterEXT in value category EXT_index_material version 1.1 extension soft glxflags ignore offset 538 ############################################################################### # # Extension #95 # EXT_index_func commands # ############################################################################### IndexFuncEXT(func, ref) return void param func IndexFunctionEXT in value param ref ClampedFloat32 in value category EXT_index_func version 1.1 extension soft glxflags ignore offset 539 ############################################################################### # # Extension #96 # EXT_index_array_formats commands # ############################################################################### # (none) newcategory: EXT_index_array_formats ############################################################################### # # Extension #97 # EXT_compiled_vertex_array commands # ############################################################################### LockArraysEXT(first, count) return void param first Int32 in value param count SizeI in value category EXT_compiled_vertex_array version 1.1 dlflags notlistable extension soft glxflags ignore offset 540 UnlockArraysEXT() return void category EXT_compiled_vertex_array version 1.1 dlflags notlistable extension soft glxflags ignore offset 541 ############################################################################### # # Extension #98 # EXT_cull_vertex commands # ############################################################################### CullParameterdvEXT(pname, params) return void param pname CullParameterEXT in value param params Float64 out array [4] category EXT_cull_vertex version 1.1 dlflags notlistable extension soft glxflags ignore offset 542 CullParameterfvEXT(pname, params) return void param pname CullParameterEXT in value param params Float32 out array [4] category EXT_cull_vertex version 1.1 dlflags notlistable extension soft glxflags ignore offset 543 ############################################################################### # # Extension #99 - skipped # Extension #100 - GLU_EXT_nurbs_tessellator # ############################################################################### ############################################################################### # # Extension #101 # SGIX_ycrcb commands # ############################################################################### # (none) newcategory: SGIX_ycrcb ############################################################################### # # Extension #102 # SGIX_fragment_lighting commands # ############################################################################### FragmentColorMaterialSGIX(face, mode) return void param face MaterialFace in value param mode MaterialParameter in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 476 FragmentLightfSGIX(light, pname, param) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param param CheckedFloat32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 477 FragmentLightfvSGIX(light, pname, params) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 478 FragmentLightiSGIX(light, pname, param) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param param CheckedInt32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 479 FragmentLightivSGIX(light, pname, params) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 480 FragmentLightModelfSGIX(pname, param) return void param pname FragmentLightModelParameterSGIX in value param param CheckedFloat32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 481 FragmentLightModelfvSGIX(pname, params) return void param pname FragmentLightModelParameterSGIX in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 482 FragmentLightModeliSGIX(pname, param) return void param pname FragmentLightModelParameterSGIX in value param param CheckedInt32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 483 FragmentLightModelivSGIX(pname, params) return void param pname FragmentLightModelParameterSGIX in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 484 FragmentMaterialfSGIX(face, pname, param) return void param face MaterialFace in value param pname MaterialParameter in value param param CheckedFloat32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 485 FragmentMaterialfvSGIX(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 486 FragmentMaterialiSGIX(face, pname, param) return void param face MaterialFace in value param pname MaterialParameter in value param param CheckedInt32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 487 FragmentMaterialivSGIX(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 488 GetFragmentLightfvSGIX(light, pname, params) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param params Float32 out array [COMPSIZE(pname)] category SGIX_fragment_lighting dlflags notlistable glxflags ignore version 1.0 extension offset 489 GetFragmentLightivSGIX(light, pname, params) return void param light FragmentLightNameSGIX in value param pname FragmentLightParameterSGIX in value param params Int32 out array [COMPSIZE(pname)] category SGIX_fragment_lighting dlflags notlistable glxflags ignore version 1.0 extension offset 490 GetFragmentMaterialfvSGIX(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params Float32 out array [COMPSIZE(pname)] category SGIX_fragment_lighting dlflags notlistable glxflags ignore version 1.0 extension offset 491 GetFragmentMaterialivSGIX(face, pname, params) return void param face MaterialFace in value param pname MaterialParameter in value param params Int32 out array [COMPSIZE(pname)] category SGIX_fragment_lighting dlflags notlistable glxflags ignore version 1.0 extension offset 492 LightEnviSGIX(pname, param) return void param pname LightEnvParameterSGIX in value param param CheckedInt32 in value category SGIX_fragment_lighting glxflags ignore version 1.0 extension offset 493 ############################################################################### # # Extension #103 - skipped # Extension #104 - skipped # Extension #105 - skipped # Extension #106 - skipped # Extension #107 - skipped # Extension #108 - skipped # Extension #109 - skipped # ############################################################################### ############################################################################### # # Extension #110 # IBM_rasterpos_clip commands # ############################################################################### # (none) newcategory: IBM_rasterpos_clip ############################################################################### # # Extension #111 # HP_texture_lighting commands # ############################################################################### # (none) newcategory: HP_texture_lighting ############################################################################### # # Extension #112 # EXT_draw_range_elements commands # ############################################################################### # Spec entries to be written DrawRangeElementsEXT(mode, start, end, count, type, indices) return void param mode BeginMode in value param start UInt32 in value param end UInt32 in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] category EXT_draw_range_elements dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.1 alias DrawRangeElements ############################################################################### # # Extension #113 # WIN_phong_shading commands # ############################################################################### # (none) newcategory: WIN_phong_shading ############################################################################### # # Extension #114 # WIN_specular_fog commands # ############################################################################### # (none) newcategory: WIN_specular_fog ############################################################################### # # Extension #115 - skipped # Extension #116 - skipped # ############################################################################### ############################################################################### # # Extension #117 # EXT_light_texture commands # ############################################################################### # Spec entries to be written ApplyTextureEXT(mode) return void param mode LightTextureModeEXT in value category EXT_light_texture version 1.1 glxropcode ? offset ? TextureLightEXT(pname) return void param pname LightTexturePNameEXT in value category EXT_light_texture version 1.1 glxropcode ? offset ? TextureMaterialEXT(face, mode) return void param face MaterialFace in value param mode MaterialParameter in value category EXT_light_texture version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #118 - skipped # ############################################################################### ############################################################################### # # Extension #119 # SGIX_blend_alpha_minmax commands # ############################################################################### # (none) newcategory: SGIX_blend_alpha_minmax ############################################################################### # # Extension #120 - skipped # Extension #121 - skipped # Extension #122 - skipped # Extension #123 - skipped # Extension #124 - skipped # Extension #125 - skipped # Extension #126 - skipped # Extension #127 - skipped # Extension #128 - skipped # ############################################################################### ############################################################################### # # Extension #129 # EXT_bgra commands # ############################################################################### # (none) newcategory: EXT_bgra ############################################################################### # # Extension #130 - skipped # Extension #131 - skipped # ############################################################################### ############################################################################### # # Extension #132 # SGIX_async commands # ############################################################################### AsyncMarkerSGIX(marker) return void param marker UInt32 in value category SGIX_async version 1.0 glxflags ignore extension offset ? FinishAsyncSGIX(markerp) return Int32 param markerp UInt32 out array [1] category SGIX_async version 1.0 dlflags notlistable glxflags ignore extension offset ? PollAsyncSGIX(markerp) return Int32 param markerp UInt32 out array [1] category SGIX_async version 1.0 dlflags notlistable glxflags ignore extension offset ? GenAsyncMarkersSGIX(range) return UInt32 param range SizeI in value category SGIX_async version 1.0 dlflags notlistable glxflags ignore extension offset ? DeleteAsyncMarkersSGIX(marker, range) return void param marker UInt32 in value param range SizeI in value category SGIX_async version 1.0 dlflags notlistable glxflags ignore extension offset ? IsAsyncMarkerSGIX(marker) return Boolean param marker UInt32 in value category SGIX_async version 1.0 dlflags notlistable glxflags ignore extension offset ? ############################################################################### # # Extension #133 # SGIX_async_pixel commands # ############################################################################### # (none) newcategory: SGIX_async_pixel ############################################################################### # # Extension #134 # SGIX_async_histogram commands # ############################################################################### # (none) newcategory: SGIX_async_histogram ############################################################################### # # Extension #135 - skipped (INTEL_texture_scissor was never implemented) # ############################################################################### ############################################################################### # # Extension #136 # INTEL_parallel_arrays commands # ############################################################################### VertexPointervINTEL(size, type, pointer) return void param size Int32 in value param type VertexPointerType in value param pointer VoidPointer in array [4] retained category INTEL_parallel_arrays dlflags notlistable glxflags client-handcode server-handcode EXT version 1.1 offset ? NormalPointervINTEL(type, pointer) return void param type NormalPointerType in value param pointer VoidPointer in array [4] retained category INTEL_parallel_arrays dlflags notlistable glxflags client-handcode server-handcode EXT version 1.1 offset ? ColorPointervINTEL(size, type, pointer) return void param size Int32 in value param type VertexPointerType in value param pointer VoidPointer in array [4] retained category INTEL_parallel_arrays dlflags notlistable glxflags client-handcode server-handcode EXT version 1.1 offset ? TexCoordPointervINTEL(size, type, pointer) return void param size Int32 in value param type VertexPointerType in value param pointer VoidPointer in array [4] retained category INTEL_parallel_arrays dlflags notlistable glxflags client-handcode server-handcode EXT version 1.1 offset ? ############################################################################### # # Extension #137 # HP_occlusion_test commands # ############################################################################### # (none) newcategory: HP_occlusion_test ############################################################################### # # Extension #138 # EXT_pixel_transform commands # ############################################################################### PixelTransformParameteriEXT(target, pname, param) return void param target PixelTransformTargetEXT in value param pname PixelTransformPNameEXT in value param param Int32 in value category EXT_pixel_transform version 1.1 glxropcode ? offset ? PixelTransformParameterfEXT(target, pname, param) return void param target PixelTransformTargetEXT in value param pname PixelTransformPNameEXT in value param param Float32 in value category EXT_pixel_transform version 1.1 glxropcode ? offset ? PixelTransformParameterivEXT(target, pname, params) return void param target PixelTransformTargetEXT in value param pname PixelTransformPNameEXT in value param params Int32 in array [1] category EXT_pixel_transform version 1.1 glxropcode ? offset ? PixelTransformParameterfvEXT(target, pname, params) return void param target PixelTransformTargetEXT in value param pname PixelTransformPNameEXT in value param params Float32 in array [1] category EXT_pixel_transform version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #139 # EXT_pixel_transform_color_table commands # ############################################################################### # (none) newcategory: EXT_pixel_transform_color_table ############################################################################### # # Extension #140 - skipped # ############################################################################### ############################################################################### # # Extension #141 # EXT_shared_texture_palette commands # ############################################################################### # (none) newcategory: EXT_shared_texture_palette ############################################################################### # # Extension #142 - GLX_SGIS_blended_overlay # Extension #143 - GLX_SGIS_shared_multisample # ############################################################################### ############################################################################### # # Extension #144 # EXT_separate_specular_color commands # ############################################################################### # (none) newcategory: EXT_separate_specular_color ############################################################################### # # Extension #145 # EXT_secondary_color commands # ############################################################################### SecondaryColor3bEXT(red, green, blue) return void param red ColorB in value param green ColorB in value param blue ColorB in value category EXT_secondary_color vectorequiv SecondaryColor3bvEXT version 1.1 alias SecondaryColor3b SecondaryColor3bvEXT(v) return void param v ColorB in array [3] category EXT_secondary_color version 1.1 glxropcode 4126 alias SecondaryColor3bv SecondaryColor3dEXT(red, green, blue) return void param red ColorD in value param green ColorD in value param blue ColorD in value category EXT_secondary_color vectorequiv SecondaryColor3dvEXT version 1.1 alias SecondaryColor3d SecondaryColor3dvEXT(v) return void param v ColorD in array [3] category EXT_secondary_color version 1.1 glxropcode 4130 alias SecondaryColor3dv SecondaryColor3fEXT(red, green, blue) return void param red ColorF in value param green ColorF in value param blue ColorF in value category EXT_secondary_color vectorequiv SecondaryColor3fvEXT version 1.1 alias SecondaryColor3f SecondaryColor3fvEXT(v) return void param v ColorF in array [3] category EXT_secondary_color version 1.1 glxropcode 4129 alias SecondaryColor3fv SecondaryColor3iEXT(red, green, blue) return void param red ColorI in value param green ColorI in value param blue ColorI in value category EXT_secondary_color vectorequiv SecondaryColor3ivEXT version 1.1 alias SecondaryColor3i SecondaryColor3ivEXT(v) return void param v ColorI in array [3] category EXT_secondary_color version 1.1 glxropcode 4128 offset 568 alias SecondaryColor3iv SecondaryColor3sEXT(red, green, blue) return void param red ColorS in value param green ColorS in value param blue ColorS in value category EXT_secondary_color vectorequiv SecondaryColor3svEXT version 1.1 alias SecondaryColor3s SecondaryColor3svEXT(v) return void param v ColorS in array [3] category EXT_secondary_color version 1.1 glxropcode 4127 alias SecondaryColor3sv SecondaryColor3ubEXT(red, green, blue) return void param red ColorUB in value param green ColorUB in value param blue ColorUB in value category EXT_secondary_color vectorequiv SecondaryColor3ubvEXT version 1.1 alias SecondaryColor3ub SecondaryColor3ubvEXT(v) return void param v ColorUB in array [3] category EXT_secondary_color version 1.1 glxropcode 4131 alias SecondaryColor3ubv SecondaryColor3uiEXT(red, green, blue) return void param red ColorUI in value param green ColorUI in value param blue ColorUI in value category EXT_secondary_color vectorequiv SecondaryColor3uivEXT version 1.1 alias SecondaryColor3ui SecondaryColor3uivEXT(v) return void param v ColorUI in array [3] category EXT_secondary_color version 1.1 glxropcode 4133 alias SecondaryColor3uiv SecondaryColor3usEXT(red, green, blue) return void param red ColorUS in value param green ColorUS in value param blue ColorUS in value category EXT_secondary_color vectorequiv SecondaryColor3usvEXT version 1.1 alias SecondaryColor3us SecondaryColor3usvEXT(v) return void param v ColorUS in array [3] category EXT_secondary_color version 1.1 glxropcode 4132 alias SecondaryColor3usv SecondaryColorPointerEXT(size, type, stride, pointer) return void param size Int32 in value param type ColorPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category EXT_secondary_color dlflags notlistable glxflags client-handcode server-handcode EXT version 1.1 extension alias SecondaryColorPointer ############################################################################### # # Extension #146 # EXT_texture_env commands # ############################################################################### # Dead extension - never implemented (removed from registry!) # (none) # newcategory: EXT_texture_env ############################################################################### # # Extension #147 # EXT_texture_perturb_normal commands # ############################################################################### TextureNormalEXT(mode) return void param mode TextureNormalModeEXT in value category EXT_texture_perturb_normal version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #148 # EXT_multi_draw_arrays commands # ############################################################################### # first and count are really 'in' MultiDrawArraysEXT(mode, first, count, primcount) return void param mode BeginMode in value param first Int32 out array [COMPSIZE(primcount)] param count SizeI out array [COMPSIZE(primcount)] param primcount SizeI in value category EXT_multi_draw_arrays version 1.1 glxropcode ? alias MultiDrawArrays MultiDrawElementsEXT(mode, count, type, indices, primcount) return void param mode BeginMode in value param count SizeI in array [COMPSIZE(primcount)] param type DrawElementsType in value param indices VoidPointer in array [COMPSIZE(primcount)] param primcount SizeI in value category EXT_multi_draw_arrays version 1.1 glxropcode ? alias MultiDrawElements ############################################################################### # # Extension #149 # EXT_fog_coord commands # ############################################################################### FogCoordfEXT(coord) return void param coord CoordF in value category EXT_fog_coord vectorequiv FogCoordfvEXT version 1.1 alias FogCoordf FogCoordfvEXT(coord) return void param coord CoordF in array [1] category EXT_fog_coord version 1.1 glxropcode 4124 alias FogCoordfv FogCoorddEXT(coord) return void param coord CoordD in value category EXT_fog_coord vectorequiv FogCoorddvEXT version 1.1 alias FogCoordd FogCoorddvEXT(coord) return void param coord CoordD in array [1] category EXT_fog_coord version 1.1 glxropcode 4125 alias FogCoorddv FogCoordPointerEXT(type, stride, pointer) return void param type FogPointerTypeEXT in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category EXT_fog_coord dlflags notlistable version 1.1 glxflags client-handcode server-handcode EXT alias FogCoordPointer ############################################################################### # # Extension #150 - skipped # Extension #151 - skipped # Extension #152 - skipped # Extension #153 - skipped # Extension #154 - skipped # ############################################################################### ############################################################################### # # Extension #155 # REND_screen_coordinates commands # ############################################################################### # (none) newcategory: REND_screen_coordinates ############################################################################### # # Extension #156 # EXT_coordinate_frame commands # ############################################################################### Tangent3bEXT(tx, ty, tz) return void param tx Int8 in value param ty Int8 in value param tz Int8 in value category EXT_coordinate_frame vectorequiv Tangent3bvEXT version 1.1 offset ? Tangent3bvEXT(v) return void param v Int8 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Tangent3dEXT(tx, ty, tz) return void param tx CoordD in value param ty CoordD in value param tz CoordD in value category EXT_coordinate_frame vectorequiv Tangent3dvEXT version 1.1 offset ? Tangent3dvEXT(v) return void param v CoordD in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Tangent3fEXT(tx, ty, tz) return void param tx CoordF in value param ty CoordF in value param tz CoordF in value category EXT_coordinate_frame vectorequiv Tangent3fvEXT version 1.1 offset ? Tangent3fvEXT(v) return void param v CoordF in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Tangent3iEXT(tx, ty, tz) return void param tx Int32 in value param ty Int32 in value param tz Int32 in value category EXT_coordinate_frame vectorequiv Tangent3ivEXT version 1.1 offset ? Tangent3ivEXT(v) return void param v Int32 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Tangent3sEXT(tx, ty, tz) return void param tx Int16 in value param ty Int16 in value param tz Int16 in value category EXT_coordinate_frame vectorequiv Tangent3svEXT version 1.1 offset ? Tangent3svEXT(v) return void param v Int16 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Binormal3bEXT(bx, by, bz) return void param bx Int8 in value param by Int8 in value param bz Int8 in value category EXT_coordinate_frame vectorequiv Binormal3bvEXT version 1.1 offset ? Binormal3bvEXT(v) return void param v Int8 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Binormal3dEXT(bx, by, bz) return void param bx CoordD in value param by CoordD in value param bz CoordD in value category EXT_coordinate_frame vectorequiv Binormal3dvEXT version 1.1 offset ? Binormal3dvEXT(v) return void param v CoordD in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Binormal3fEXT(bx, by, bz) return void param bx CoordF in value param by CoordF in value param bz CoordF in value category EXT_coordinate_frame vectorequiv Binormal3fvEXT version 1.1 offset ? Binormal3fvEXT(v) return void param v CoordF in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Binormal3iEXT(bx, by, bz) return void param bx Int32 in value param by Int32 in value param bz Int32 in value category EXT_coordinate_frame vectorequiv Binormal3ivEXT version 1.1 offset ? Binormal3ivEXT(v) return void param v Int32 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? Binormal3sEXT(bx, by, bz) return void param bx Int16 in value param by Int16 in value param bz Int16 in value category EXT_coordinate_frame vectorequiv Binormal3svEXT version 1.1 offset ? Binormal3svEXT(v) return void param v Int16 in array [3] category EXT_coordinate_frame version 1.1 glxropcode ? offset ? TangentPointerEXT(type, stride, pointer) return void param type TangentPointerTypeEXT in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category EXT_coordinate_frame dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 offset ? BinormalPointerEXT(type, stride, pointer) return void param type BinormalPointerTypeEXT in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category EXT_coordinate_frame dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.1 offset ? ############################################################################### # # Extension #157 - skipped # ############################################################################### ############################################################################### # # Extension #158 # EXT_texture_env_combine commands # ############################################################################### # (none) newcategory: EXT_texture_env_combine ############################################################################### # # Extension #159 # APPLE_specular_vector commands # ############################################################################### # (none) newcategory: APPLE_specular_vector ############################################################################### # # Extension #160 # APPLE_transform_hint commands # ############################################################################### # (none) newcategory: APPLE_transform_hint ############################################################################### # # Extension #161 # SGIX_fog_scale commands # ############################################################################### # (none) newcategory: SGIX_fog_scale ############################################################################### # # Extension #162 - skipped # ############################################################################### ############################################################################### # # Extension #163 # SUNX_constant_data commands # ############################################################################### FinishTextureSUNX() return void category SUNX_constant_data version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #164 # SUN_global_alpha commands # ############################################################################### GlobalAlphaFactorbSUN(factor) return void param factor Int8 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactorsSUN(factor) return void param factor Int16 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactoriSUN(factor) return void param factor Int32 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactorfSUN(factor) return void param factor Float32 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactordSUN(factor) return void param factor Float64 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactorubSUN(factor) return void param factor UInt8 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactorusSUN(factor) return void param factor UInt16 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? GlobalAlphaFactoruiSUN(factor) return void param factor UInt32 in value category SUN_global_alpha version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #165 # SUN_triangle_list commands # ############################################################################### ReplacementCodeuiSUN(code) return void param code UInt32 in value category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodeusSUN(code) return void param code UInt16 in value category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodeubSUN(code) return void param code UInt8 in value category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodeuivSUN(code) return void param code UInt32 in array [COMPSIZE()] category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodeusvSUN(code) return void param code UInt16 in array [COMPSIZE()] category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodeubvSUN(code) return void param code UInt8 in array [COMPSIZE()] category SUN_triangle_list version 1.1 glxropcode ? offset ? ReplacementCodePointerSUN(type, stride, pointer) return void param type ReplacementCodeTypeSUN in value param stride SizeI in value param pointer VoidPointer in array [COMPSIZE(type/stride)] retained category SUN_triangle_list version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #166 # SUN_vertex commands # ############################################################################### Color4ubVertex2fSUN(r, g, b, a, x, y) return void param r UInt8 in value param g UInt8 in value param b UInt8 in value param a UInt8 in value param x Float32 in value param y Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? Color4ubVertex2fvSUN(c, v) return void param c UInt8 in array [4] param v Float32 in array [2] category SUN_vertex version 1.1 glxropcode ? offset ? Color4ubVertex3fSUN(r, g, b, a, x, y, z) return void param r UInt8 in value param g UInt8 in value param b UInt8 in value param a UInt8 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? Color4ubVertex3fvSUN(c, v) return void param c UInt8 in array [4] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? Color3fVertex3fSUN(r, g, b, x, y, z) return void param r Float32 in value param g Float32 in value param b Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? Color3fVertex3fvSUN(c, v) return void param c Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? Normal3fVertex3fSUN(nx, ny, nz, x, y, z) return void param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? Normal3fVertex3fvSUN(n, v) return void param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? Color4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z) return void param r Float32 in value param g Float32 in value param b Float32 in value param a Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? Color4fNormal3fVertex3fvSUN(c, n, v) return void param c Float32 in array [4] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fVertex3fSUN(s, t, x, y, z) return void param s Float32 in value param t Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fVertex3fvSUN(tc, v) return void param tc Float32 in array [2] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w) return void param s Float32 in value param t Float32 in value param p Float32 in value param q Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord4fVertex4fvSUN(tc, v) return void param tc Float32 in array [4] param v Float32 in array [4] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z) return void param s Float32 in value param t Float32 in value param r UInt8 in value param g UInt8 in value param b UInt8 in value param a UInt8 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor4ubVertex3fvSUN(tc, c, v) return void param tc Float32 in array [2] param c UInt8 in array [4] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z) return void param s Float32 in value param t Float32 in value param r Float32 in value param g Float32 in value param b Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor3fVertex3fvSUN(tc, c, v) return void param tc Float32 in array [2] param c Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z) return void param s Float32 in value param t Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fNormal3fVertex3fvSUN(tc, n, v) return void param tc Float32 in array [2] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z) return void param s Float32 in value param t Float32 in value param r Float32 in value param g Float32 in value param b Float32 in value param a Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v) return void param tc Float32 in array [2] param c Float32 in array [4] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w) return void param s Float32 in value param t Float32 in value param p Float32 in value param q Float32 in value param r Float32 in value param g Float32 in value param b Float32 in value param a Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v) return void param tc Float32 in array [4] param c Float32 in array [4] param n Float32 in array [3] param v Float32 in array [4] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiVertex3fSUN(rc, x, y, z) return void param rc ReplacementCodeSUN in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiVertex3fvSUN(rc, v) return void param rc ReplacementCodeSUN in array [1] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z) return void param rc ReplacementCodeSUN in value param r UInt8 in value param g UInt8 in value param b UInt8 in value param a UInt8 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v) return void param rc ReplacementCodeSUN in array [1] param c UInt8 in array [4] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z) return void param rc ReplacementCodeSUN in value param r Float32 in value param g Float32 in value param b Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor3fVertex3fvSUN(rc, c, v) return void param rc ReplacementCodeSUN in array [1] param c Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z) return void param rc ReplacementCodeSUN in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v) return void param rc ReplacementCodeSUN in array [1] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z) return void param rc ReplacementCodeSUN in value param r Float32 in value param g Float32 in value param b Float32 in value param a Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v) return void param rc ReplacementCodeSUN in array [1] param c Float32 in array [4] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z) return void param rc ReplacementCodeSUN in value param s Float32 in value param t Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v) return void param rc ReplacementCodeSUN in array [1] param tc Float32 in array [2] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z) return void param rc ReplacementCodeSUN in value param s Float32 in value param t Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v) return void param rc ReplacementCodeSUN in array [1] param tc Float32 in array [2] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z) return void param rc ReplacementCodeSUN in value param s Float32 in value param t Float32 in value param r Float32 in value param g Float32 in value param b Float32 in value param a Float32 in value param nx Float32 in value param ny Float32 in value param nz Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category SUN_vertex version 1.1 glxropcode ? offset ? ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v) return void param rc ReplacementCodeSUN in array [1] param tc Float32 in array [2] param c Float32 in array [4] param n Float32 in array [3] param v Float32 in array [3] category SUN_vertex version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #167 - WGL_EXT_display_color_table # Extension #168 - WGL_EXT_extensions_string # Extension #169 - WGL_EXT_make_current_read # Extension #170 - WGL_EXT_pixel_format # Extension #171 - WGL_EXT_pbuffer # Extension #172 - WGL_EXT_swap_control # ############################################################################### ############################################################################### # # Extension #173 # EXT_blend_func_separate commands (also INGR_blend_func_separate) # ############################################################################### BlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) return void param sfactorRGB BlendFuncSeparateParameterEXT in value param dfactorRGB BlendFuncSeparateParameterEXT in value param sfactorAlpha BlendFuncSeparateParameterEXT in value param dfactorAlpha BlendFuncSeparateParameterEXT in value category EXT_blend_func_separate glxropcode 4134 version 1.0 extension alias BlendFuncSeparate BlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) return void param sfactorRGB BlendFuncSeparateParameterEXT in value param dfactorRGB BlendFuncSeparateParameterEXT in value param sfactorAlpha BlendFuncSeparateParameterEXT in value param dfactorAlpha BlendFuncSeparateParameterEXT in value category INGR_blend_func_separate glxropcode 4134 version 1.0 extension alias BlendFuncSeparateEXT ############################################################################### # # Extension #174 # INGR_color_clamp commands # ############################################################################### # (none) newcategory: INGR_color_clamp ############################################################################### # # Extension #175 # INGR_interlace_read commands # ############################################################################### # (none) newcategory: INGR_interlace_read ############################################################################### # # Extension #176 # EXT_stencil_wrap commands # ############################################################################### # (none) newcategory: EXT_stencil_wrap ############################################################################### # # Extension #177 - skipped # ############################################################################### ############################################################################### # # Extension #178 # EXT_422_pixels commands # ############################################################################### # (none) newcategory: EXT_422_pixels ############################################################################### # # Extension #179 # NV_texgen_reflection commands # ############################################################################### # (none) newcategory: NV_texgen_reflection ############################################################################### # # Extension #??? # @ EXT_texture_cube_map commands # ############################################################################### # (none) ############################################################################### # # Extension #180 - skipped # Extension #181 - skipped # ############################################################################### ############################################################################### # # Extension #182 # SUN_convolution_border_modes commands # ############################################################################### # (none) newcategory: SUN_convolution_border_modes ############################################################################### # # Extension #183 - GLX_SUN_get_transparent_index # Extension #184 - skipped # ############################################################################### ############################################################################### # # Extension #185 # EXT_texture_env_add commands # ############################################################################### # (none) newcategory: EXT_texture_env_add ############################################################################### # # Extension #186 # EXT_texture_lod_bias commands # ############################################################################### # (none) newcategory: EXT_texture_lod_bias ############################################################################### # # Extension #187 # EXT_texture_filter_anisotropic commands # ############################################################################### # (none) newcategory: EXT_texture_filter_anisotropic ############################################################################### # # Extension #188 # EXT_vertex_weighting commands # ############################################################################### # GLX stuff to be written VertexWeightfEXT(weight) return void param weight Float32 in value category EXT_vertex_weighting vectorequiv VertexWeightfvEXT version 1.1 extension soft WINSOFT NV10 glxflags ignore offset 494 VertexWeightfvEXT(weight) return void param weight Float32 in array [1] category EXT_vertex_weighting version 1.1 extension soft WINSOFT NV10 glxropcode 4135 glxflags ignore offset 495 VertexWeightPointerEXT(size, type, stride, pointer) return void param size SizeI in value param type VertexWeightPointerTypeEXT in value param stride SizeI in value param pointer Void in array [COMPSIZE(type/stride)] retained category EXT_vertex_weighting version 1.1 extension soft WINSOFT NV10 dlflags notlistable glxflags ignore offset 496 ############################################################################### # # Extension #189 # NV_light_max_exponent commands # ############################################################################### # (none) newcategory: NV_light_max_exponent ############################################################################### # # Extension #190 # NV_vertex_array_range commands # ############################################################################### FlushVertexArrayRangeNV() return void category NV_vertex_array_range version 1.1 extension soft WINSOFT NV10 dlflags notlistable glxflags client-handcode server-handcode ignore offset 497 VertexArrayRangeNV(length, pointer) return void param length SizeI in value param pointer Void in array [COMPSIZE(length)] retained category NV_vertex_array_range version 1.1 extension soft WINSOFT NV10 dlflags notlistable glxflags client-handcode server-handcode ignore offset 498 ############################################################################### # # Extension #191 # NV_register_combiners commands # ############################################################################### CombinerParameterfvNV(pname, params) return void param pname CombinerParameterNV in value param params CheckedFloat32 in array [COMPSIZE(pname)] category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4137 glxflags ignore offset 499 CombinerParameterfNV(pname, param) return void param pname CombinerParameterNV in value param param Float32 in value category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4136 glxflags ignore offset 500 CombinerParameterivNV(pname, params) return void param pname CombinerParameterNV in value param params CheckedInt32 in array [COMPSIZE(pname)] category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4139 glxflags ignore offset 501 CombinerParameteriNV(pname, param) return void param pname CombinerParameterNV in value param param Int32 in value category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4138 glxflags ignore offset 502 CombinerInputNV(stage, portion, variable, input, mapping, componentUsage) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param variable CombinerVariableNV in value param input CombinerRegisterNV in value param mapping CombinerMappingNV in value param componentUsage CombinerComponentUsageNV in value category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4140 glxflags ignore offset 503 CombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param abOutput CombinerRegisterNV in value param cdOutput CombinerRegisterNV in value param sumOutput CombinerRegisterNV in value param scale CombinerScaleNV in value param bias CombinerBiasNV in value param abDotProduct Boolean in value param cdDotProduct Boolean in value param muxSum Boolean in value category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4141 glxflags ignore offset 504 FinalCombinerInputNV(variable, input, mapping, componentUsage) return void param variable CombinerVariableNV in value param input CombinerRegisterNV in value param mapping CombinerMappingNV in value param componentUsage CombinerComponentUsageNV in value category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxropcode 4142 glxflags ignore offset 505 GetCombinerInputParameterfvNV(stage, portion, variable, pname, params) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param variable CombinerVariableNV in value param pname CombinerParameterNV in value param params Float32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1270 glxflags ignore offset 506 GetCombinerInputParameterivNV(stage, portion, variable, pname, params) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param variable CombinerVariableNV in value param pname CombinerParameterNV in value param params Int32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1271 glxflags ignore offset 507 GetCombinerOutputParameterfvNV(stage, portion, pname, params) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param pname CombinerParameterNV in value param params Float32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1272 glxflags ignore offset 508 GetCombinerOutputParameterivNV(stage, portion, pname, params) return void param stage CombinerStageNV in value param portion CombinerPortionNV in value param pname CombinerParameterNV in value param params Int32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1273 glxflags ignore offset 509 GetFinalCombinerInputParameterfvNV(variable, pname, params) return void param variable CombinerVariableNV in value param pname CombinerParameterNV in value param params Float32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1274 glxflags ignore offset 510 GetFinalCombinerInputParameterivNV(variable, pname, params) return void param variable CombinerVariableNV in value param pname CombinerParameterNV in value param params Int32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners version 1.1 extension soft WINSOFT NV10 glxvendorpriv 1275 glxflags ignore offset 511 ############################################################################### # # Extension #192 # NV_fog_distance commands # ############################################################################### # (none) newcategory: NV_fog_distance ############################################################################### # # Extension #193 # NV_texgen_emboss commands # ############################################################################### # (none) newcategory: NV_texgen_emboss ############################################################################### # # Extension #194 # NV_blend_square commands # ############################################################################### # (none) newcategory: NV_blend_square ############################################################################### # # Extension #195 # NV_texture_env_combine4 commands # ############################################################################### # (none) newcategory: NV_texture_env_combine4 ############################################################################### # # Extension #196 # MESA_resize_buffers commands # ############################################################################### ResizeBuffersMESA() return void category MESA_resize_buffers version 1.0 glxropcode ? offset 512 ############################################################################### # # Extension #197 # MESA_window_pos commands # # Note that the 2- and 3-component versions are now aliases of ARB # entry points. # ############################################################################### WindowPos2dMESA(x, y) return void param x CoordD in value param y CoordD in value category MESA_window_pos vectorequiv WindowPos2dvMESA version 1.0 alias WindowPos2dARB WindowPos2dvMESA(v) return void param v CoordD in array [2] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos2dvARB WindowPos2fMESA(x, y) return void param x CoordF in value param y CoordF in value category MESA_window_pos vectorequiv WindowPos2fvMESA version 1.0 alias WindowPos2fARB WindowPos2fvMESA(v) return void param v CoordF in array [2] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos2fvARB WindowPos2iMESA(x, y) return void param x CoordI in value param y CoordI in value category MESA_window_pos vectorequiv WindowPos2ivMESA version 1.0 alias WindowPos2iARB WindowPos2ivMESA(v) return void param v CoordI in array [2] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos2ivARB WindowPos2sMESA(x, y) return void param x CoordS in value param y CoordS in value category MESA_window_pos vectorequiv WindowPos2svMESA version 1.0 alias WindowPos2sARB WindowPos2svMESA(v) return void param v CoordS in array [2] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos2svARB WindowPos3dMESA(x, y, z) return void param x CoordD in value param y CoordD in value param z CoordD in value vectorequiv WindowPos3dvMESA category MESA_window_pos version 1.0 alias WindowPos3dARB WindowPos3dvMESA(v) return void param v CoordD in array [3] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos3dvARB WindowPos3fMESA(x, y, z) return void param x CoordF in value param y CoordF in value param z CoordF in value category MESA_window_pos vectorequiv WindowPos3fvMESA version 1.0 alias WindowPos3fARB WindowPos3fvMESA(v) return void param v CoordF in array [3] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos3fvARB WindowPos3iMESA(x, y, z) return void param x CoordI in value param y CoordI in value param z CoordI in value category MESA_window_pos vectorequiv WindowPos3ivMESA version 1.0 alias WindowPos3iARB WindowPos3ivMESA(v) return void param v CoordI in array [3] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos3ivARB WindowPos3sMESA(x, y, z) return void param x CoordS in value param y CoordS in value param z CoordS in value category MESA_window_pos vectorequiv WindowPos3svMESA version 1.0 alias WindowPos3sARB WindowPos3svMESA(v) return void param v CoordS in array [3] category MESA_window_pos version 1.0 glxropcode ? alias WindowPos3svARB WindowPos4dMESA(x, y, z, w) return void param x CoordD in value param y CoordD in value param z CoordD in value param w CoordD in value vectorequiv WindowPos4dvMESA category MESA_window_pos version 1.0 offset 529 WindowPos4dvMESA(v) return void param v CoordD in array [4] category MESA_window_pos version 1.0 glxropcode ? offset 530 WindowPos4fMESA(x, y, z, w) return void param x CoordF in value param y CoordF in value param z CoordF in value param w CoordF in value category MESA_window_pos vectorequiv WindowPos4fvMESA version 1.0 offset 531 WindowPos4fvMESA(v) return void param v CoordF in array [4] category MESA_window_pos version 1.0 glxropcode ? offset 532 WindowPos4iMESA(x, y, z, w) return void param x CoordI in value param y CoordI in value param z CoordI in value param w CoordI in value category MESA_window_pos vectorequiv WindowPos4ivMESA version 1.0 offset 533 WindowPos4ivMESA(v) return void param v CoordI in array [4] category MESA_window_pos version 1.0 glxropcode ? offset 534 WindowPos4sMESA(x, y, z, w) return void param x CoordS in value param y CoordS in value param z CoordS in value param w CoordS in value category MESA_window_pos vectorequiv WindowPos4svMESA version 1.0 offset 535 WindowPos4svMESA(v) return void param v CoordS in array [4] category MESA_window_pos version 1.0 glxropcode ? offset 536 ############################################################################### # # Extension #198 # EXT_texture_compression_s3tc commands # ############################################################################### #@@ (none yet) ############################################################################### # # Extension #199 # IBM_cull_vertex commands # ############################################################################### # (none) newcategory: IBM_cull_vertex ############################################################################### # # Extension #200 # IBM_multimode_draw_arrays commands # ############################################################################### MultiModeDrawArraysIBM(mode, first, count, primcount, modestride) return void param mode BeginMode in array [COMPSIZE(primcount)] param first Int32 in array [COMPSIZE(primcount)] param count SizeI in array [COMPSIZE(primcount)] param primcount SizeI in value param modestride Int32 in value category IBM_multimode_draw_arrays version 1.1 glxropcode ? offset 708 MultiModeDrawElementsIBM(mode, count, type, indices, primcount, modestride) return void param mode BeginMode in array [COMPSIZE(primcount)] param count SizeI in array [COMPSIZE(primcount)] param type DrawElementsType in value param indices ConstVoidPointer in array [COMPSIZE(primcount)] param primcount SizeI in value param modestride Int32 in value category IBM_multimode_draw_arrays version 1.1 glxropcode ? offset 709 ############################################################################### # # Extension #201 # IBM_vertex_array_lists commands # ############################################################################### ColorPointerListIBM(size, type, stride, pointer, ptrstride) return void param size Int32 in value param type ColorPointerType in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(size/type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? SecondaryColorPointerListIBM(size, type, stride, pointer, ptrstride) return void param size Int32 in value param type SecondaryColorPointerTypeIBM in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(size/type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? EdgeFlagPointerListIBM(stride, pointer, ptrstride) return void param stride Int32 in value param pointer BooleanPointer in array [COMPSIZE(stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? FogCoordPointerListIBM(type, stride, pointer, ptrstride) return void param type FogPointerTypeIBM in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? IndexPointerListIBM(type, stride, pointer, ptrstride) return void param type IndexPointerType in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? NormalPointerListIBM(type, stride, pointer, ptrstride) return void param type NormalPointerType in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? TexCoordPointerListIBM(size, type, stride, pointer, ptrstride) return void param size Int32 in value param type TexCoordPointerType in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(size/type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? VertexPointerListIBM(size, type, stride, pointer, ptrstride) return void param size Int32 in value param type VertexPointerType in value param stride Int32 in value param pointer VoidPointer in array [COMPSIZE(size/type/stride)] retained param ptrstride Int32 in value category IBM_vertex_array_lists version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #202 # SGIX_subsample commands # ############################################################################### # (none) newcategory: SGIX_subsample ############################################################################### # # Extension #203 # SGIX_ycrcba commands # ############################################################################### # (none) newcategory: SGIX_ycrcba ############################################################################### # # Extension #204 # SGIX_ycrcb_subsample commands # ############################################################################### # (none) newcategory: SGIX_ycrcb_subsample ############################################################################### # # Extension #205 # SGIX_depth_pass_instrument commands # ############################################################################### # (none) newcategory: SGIX_depth_pass_instrument ############################################################################### # # Extension #206 # 3DFX_texture_compression_FXT1 commands # ############################################################################### # (none) newcategory: 3DFX_texture_compression_FXT1 ############################################################################### # # Extension #207 # 3DFX_multisample commands # ############################################################################### # (none) newcategory: 3DFX_multisample ############################################################################### # # Extension #208 # 3DFX_tbuffer commands # ############################################################################### TbufferMask3DFX(mask) return void param mask UInt32 in value category 3DFX_tbuffer version 1.2 glxropcode ? offset 553 ############################################################################### # # Extension #209 # EXT_multisample commands # ############################################################################### SampleMaskEXT(value, invert) return void param value ClampedFloat32 in value param invert Boolean in value category EXT_multisample version 1.0 glxropcode ? extension offset 446 SamplePatternEXT(pattern) return void param pattern SamplePatternEXT in value category EXT_multisample version 1.0 glxropcode ? glxflags extension offset 447 ############################################################################### # # Extension #210 # SGIX_vertex_preclip commands # ############################################################################### # (none) newcategory: SGIX_vertex_preclip ############################################################################### # # Extension #211 # SGIX_convolution_accuracy commands # ############################################################################### # (none) newcategory: SGIX_convolution_accuracy ############################################################################### # # Extension #212 # SGIX_resample commands # ############################################################################### # (none) newcategory: SGIX_resample ############################################################################### # # Extension #213 # SGIS_point_line_texgen commands # ############################################################################### # (none) newcategory: SGIS_point_line_texgen ############################################################################### # # Extension #214 # SGIS_texture_color_mask commands # ############################################################################### TextureColorMaskSGIS(red, green, blue, alpha) return void param red Boolean in value param green Boolean in value param blue Boolean in value param alpha Boolean in value category SGIS_texture_color_mask version 1.1 glxropcode 2082 extension offset ? ############################################################################### # # Extension #215 - GLX_MESA_copy_sub_buffer # Extension #216 - GLX_MESA_pixmap_colormap # Extension #217 - GLX_MESA_release_buffers # Extension #218 - GLX_MESA_set_3dfx_mode # ############################################################################### ############################################################################### # # Extension #219 # SGIX_igloo_interface commands # ############################################################################### IglooInterfaceSGIX(pname, params) return void dlflags notlistable param pname IglooFunctionSelectSGIX in value param params IglooParameterSGIX in array [COMPSIZE(pname)] category SGIX_igloo_interface version 1.0 glxflags SGI ignore extension glxropcode 200 offset ? ############################################################################### # # Extension #220 # EXT_texture_env_dot3 commands # ############################################################################### # (none) newcategory: EXT_texture_env_dot3 ############################################################################### # # Extension #221 # ATI_texture_mirror_once commands # ############################################################################### # (none) newcategory: ATI_texture_mirror_once ############################################################################### # # Extension #222 # NV_fence commands # ############################################################################### DeleteFencesNV(n, fences) return void param n SizeI in value param fences FenceNV in array [n] category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1276 glxflags ignore offset 647 GenFencesNV(n, fences) return void param n SizeI in value param fences FenceNV out array [n] category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1277 glxflags ignore offset 648 IsFenceNV(fence) return Boolean param fence FenceNV in value category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1278 glxflags ignore offset 649 TestFenceNV(fence) return Boolean param fence FenceNV in value category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1279 glxflags ignore offset 650 GetFenceivNV(fence, pname, params) return void param fence FenceNV in value param pname FenceParameterNameNV in value param params Int32 out array [COMPSIZE(pname)] category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1280 glxflags ignore offset 651 FinishFenceNV(fence) return void param fence FenceNV in value category NV_fence dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1312 glxflags ignore offset 652 SetFenceNV(fence, condition) return void param fence FenceNV in value param condition FenceConditionNV in value category NV_fence version 1.2 extension soft WINSOFT NV10 glxflags ignore offset 653 ############################################################################### # # Extension #225 # NV_evaluators commands # ############################################################################### MapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, points) return void param target EvalTargetNV in value param index UInt32 in value param type MapTypeNV in value param ustride SizeI in value param vstride SizeI in value param uorder CheckedInt32 in value param vorder CheckedInt32 in value param packed Boolean in value param points Void in array [COMPSIZE(target/uorder/vorder)] category NV_evaluators dlflags handcode version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? MapParameterivNV(target, pname, params) return void param target EvalTargetNV in value param pname MapParameterNV in value param params CheckedInt32 in array [COMPSIZE(target/pname)] category NV_evaluators version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? MapParameterfvNV(target, pname, params) return void param target EvalTargetNV in value param pname MapParameterNV in value param params CheckedFloat32 in array [COMPSIZE(target/pname)] category NV_evaluators version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? GetMapControlPointsNV(target, index, type, ustride, vstride, packed, points) return void param target EvalTargetNV in value param index UInt32 in value param type MapTypeNV in value param ustride SizeI in value param vstride SizeI in value param packed Boolean in value param points Void out array [COMPSIZE(target)] category NV_evaluators dlflags notlistable version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? GetMapParameterivNV(target, pname, params) return void param target EvalTargetNV in value param pname MapParameterNV in value param params Int32 out array [COMPSIZE(target/pname)] category NV_evaluators dlflags notlistable version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? GetMapParameterfvNV(target, pname, params) return void param target EvalTargetNV in value param pname MapParameterNV in value param params Float32 out array [COMPSIZE(target/pname)] category NV_evaluators dlflags notlistable version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? GetMapAttribParameterivNV(target, index, pname, params) return void param target EvalTargetNV in value param index UInt32 in value param pname MapAttribParameterNV in value param params Int32 out array [COMPSIZE(pname)] category NV_evaluators dlflags notlistable version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? GetMapAttribParameterfvNV(target, index, pname, params) return void param target EvalTargetNV in value param index UInt32 in value param pname MapAttribParameterNV in value param params Float32 out array [COMPSIZE(pname)] category NV_evaluators dlflags notlistable version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? EvalMapsNV(target, mode) return void param target EvalTargetNV in value param mode EvalMapsModeNV in value category NV_evaluators version 1.1 extension soft WINSOFT NV10 glxflags ignore offset ? ############################################################################### # # Extension #226 # NV_packed_depth_stencil commands # ############################################################################### # (none) newcategory: NV_packed_depth_stencil ############################################################################### # # Extension #227 # NV_register_combiners2 commands # ############################################################################### CombinerStageParameterfvNV(stage, pname, params) return void param stage CombinerStageNV in value param pname CombinerParameterNV in value param params CheckedFloat32 in array [COMPSIZE(pname)] category NV_register_combiners2 version 1.1 extension glxflags ignore offset ? GetCombinerStageParameterfvNV(stage, pname, params) return void param stage CombinerStageNV in value param pname CombinerParameterNV in value param params Float32 out array [COMPSIZE(pname)] dlflags notlistable category NV_register_combiners2 version 1.1 extension glxflags ignore offset ? ############################################################################### # # Extension #228 # NV_texture_compression_vtc commands # ############################################################################### # (none) newcategory: NV_texture_compression_vtc ############################################################################### # # Extension #229 # NV_texture_rectangle commands # ############################################################################### # (none) newcategory: NV_texture_rectangle ############################################################################### # # Extension #230 # NV_texture_shader commands # ############################################################################### # (none) newcategory: NV_texture_shader ############################################################################### # # Extension #231 # NV_texture_shader2 commands # ############################################################################### # (none) newcategory: NV_texture_shader2 ############################################################################### # # Extension #232 # NV_vertex_array_range2 commands # ############################################################################### # (none) newcategory: NV_vertex_array_range2 ############################################################################### # # Extension #233 # NV_vertex_program commands # ############################################################################### AreProgramsResidentNV(n, programs, residences) return Boolean param n SizeI in value param programs UInt32 in array [n] param residences Boolean out array [n] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1293 offset 578 BindProgramNV(target, id) return void param target VertexAttribEnumNV in value param id UInt32 in value category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4180 alias BindProgramARB DeleteProgramsNV(n, programs) return void param n SizeI in value param programs UInt32 in array [n] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1294 alias DeleteProgramsARB ExecuteProgramNV(target, id, params) return void param target VertexAttribEnumNV in value param id UInt32 in value param params Float32 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxflags ignore glxropcode 4181 offset 581 GenProgramsNV(n, programs) return void param n SizeI in value param programs UInt32 out array [n] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1295 alias GenProgramsARB GetProgramParameterdvNV(target, index, pname, params) return void param target VertexAttribEnumNV in value param index UInt32 in value param pname VertexAttribEnumNV in value param params Float64 out array [4] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1297 offset 583 GetProgramParameterfvNV(target, index, pname, params) return void param target VertexAttribEnumNV in value param index UInt32 in value param pname VertexAttribEnumNV in value param params Float32 out array [4] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1296 offset 584 # GetProgramParameterSigneddvNV(target, index, pname, params) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param pname VertexAttribEnumNV in value # param params Float64 out array [4] # category NV_vertex_program1_1_dcc # dlflags notlistable # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? # # GetProgramParameterSignedfvNV(target, index, pname, params) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param pname VertexAttribEnumNV in value # param params Float32 out array [4] # category NV_vertex_program1_1_dcc # dlflags notlistable # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? GetProgramivNV(id, pname, params) return void param id UInt32 in value param pname VertexAttribEnumNV in value param params Int32 out array [4] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1298 offset 585 GetProgramStringNV(id, pname, program) return void param id UInt32 in value param pname VertexAttribEnumNV in value param program ProgramCharacterNV out array [COMPSIZE(id/pname)] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1299 offset 586 GetTrackMatrixivNV(target, address, pname, params) return void param target VertexAttribEnumNV in value param address UInt32 in value param pname VertexAttribEnumNV in value param params Int32 out array [1] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore glxvendorpriv 1300 offset 587 GetVertexAttribdvNV(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnumNV in value param params Float64 out array [1] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1301 alias GetVertexAttribdv GetVertexAttribfvNV(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnumNV in value param params Float32 out array [1] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1302 alias GetVertexAttribfv GetVertexAttribivNV(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnumNV in value param params Int32 out array [1] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1303 alias GetVertexAttribiv GetVertexAttribPointervNV(index, pname, pointer) return void param index UInt32 in value param pname VertexAttribEnumNV in value param pointer VoidPointer out array [1] category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore alias GetVertexAttribPointerv IsProgramNV(id) return Boolean param id UInt32 in value category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxvendorpriv 1304 alias IsProgram LoadProgramNV(target, id, len, program) return void param target VertexAttribEnumNV in value param id UInt32 in value param len SizeI in value param program UInt8 in array [len] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4183 offset 593 ProgramParameter4dNV(target, index, x, y, z, w) return void param target VertexAttribEnumNV in value param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category NV_vertex_program version 1.2 vectorequiv ProgramParameter4dvNV extension soft WINSOFT NV10 offset 594 ProgramParameter4dvNV(target, index, v) return void param target VertexAttribEnumNV in value param index UInt32 in value param v Float64 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4185 offset 595 ProgramParameter4fNV(target, index, x, y, z, w) return void param target VertexAttribEnumNV in value param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category NV_vertex_program version 1.2 vectorequiv ProgramParameter4fvNV extension soft WINSOFT NV10 offset 596 ProgramParameter4fvNV(target, index, v) return void param target VertexAttribEnumNV in value param index UInt32 in value param v Float32 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4184 offset 597 #??? 'count' was SizeI in the latest NVIDIA gl.spec, but UInt32 in the #??? extension specification in the registry. ProgramParameters4dvNV(target, index, count, v) return void param target VertexAttribEnumNV in value param index UInt32 in value param count UInt32 in value param v Float64 in array [count*4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4187 offset 598 #??? 'count' was SizeI in the latest NVIDIA gl.spec, but UInt32 in the #??? extension specification in the registry. ProgramParameters4fvNV(target, index, count, v) return void param target VertexAttribEnumNV in value param index UInt32 in value param count UInt32 in value param v Float32 in array [count*4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4186 offset 599 # ProgramParameterSigned4dNV(target, index, x, y, z, w) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param x Float64 in value # param y Float64 in value # param z Float64 in value # param w Float64 in value # category NV_vertex_program1_1_dcc # version 1.2 # vectorequiv ProgramParameterSigned4dvNV # extension soft WINSOFT NV20 # offset ? # # ProgramParameterSigned4dvNV(target, index, v) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param v Float64 in array [4] # category NV_vertex_program1_1_dcc # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? # # ProgramParameterSigned4fNV(target, index, x, y, z, w) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param x Float32 in value # param y Float32 in value # param z Float32 in value # param w Float32 in value # category NV_vertex_program1_1_dcc # version 1.2 # vectorequiv ProgramParameterSigned4fvNV # extension soft WINSOFT NV20 # offset ? # # ProgramParameterSigned4fvNV(target, index, v) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param v Float32 in array [4] # category NV_vertex_program1_1_dcc # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? # # ProgramParametersSigned4dvNV(target, index, count, v) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param count SizeI in value # param v Float64 in array [count*4] # category NV_vertex_program1_1_dcc # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? # # ProgramParametersSigned4fvNV(target, index, count, v) # return void # param target VertexAttribEnumNV in value # param index Int32 in value # param count SizeI in value # param v Float32 in array [count*4] # category NV_vertex_program1_1_dcc # version 1.2 # extension soft WINSOFT NV20 # glxflags ignore # offset ? RequestResidentProgramsNV(n, programs) return void param n SizeI in value param programs UInt32 in array [n] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4182 offset 600 TrackMatrixNV(target, address, matrix, transform) return void param target VertexAttribEnumNV in value param address UInt32 in value param matrix VertexAttribEnumNV in value param transform VertexAttribEnumNV in value category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4188 offset 601 VertexAttribPointerNV(index, fsize, type, stride, pointer) return void param index UInt32 in value param fsize Int32 in value param type VertexAttribEnumNV in value param stride SizeI in value param pointer Void in array [COMPSIZE(fsize/type/stride)] retained category NV_vertex_program dlflags notlistable version 1.2 extension soft WINSOFT NV10 glxflags ignore offset 602 VertexAttrib1dNV(index, x) return void param index UInt32 in value param x Float64 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib1dvNV extension soft WINSOFT NV10 alias VertexAttrib1d VertexAttrib1dvNV(index, v) return void param index UInt32 in value param v Float64 in array [1] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4197 alias VertexAttrib1dv VertexAttrib1fNV(index, x) return void param index UInt32 in value param x Float32 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib1fvNV extension soft WINSOFT NV10 alias VertexAttrib1f VertexAttrib1fvNV(index, v) return void param index UInt32 in value param v Float32 in array [1] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4193 alias VertexAttrib1fv VertexAttrib1sNV(index, x) return void param index UInt32 in value param x Int16 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib1svNV extension soft WINSOFT NV10 alias VertexAttrib1s VertexAttrib1svNV(index, v) return void param index UInt32 in value param v Int16 in array [1] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4189 alias VertexAttrib1sv VertexAttrib2dNV(index, x, y) return void param index UInt32 in value param x Float64 in value param y Float64 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib2dvNV extension soft WINSOFT NV10 alias VertexAttrib2d VertexAttrib2dvNV(index, v) return void param index UInt32 in value param v Float64 in array [2] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4198 alias VertexAttrib2dv VertexAttrib2fNV(index, x, y) return void param index UInt32 in value param x Float32 in value param y Float32 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib2fvNV extension soft WINSOFT NV10 alias VertexAttrib2f VertexAttrib2fvNV(index, v) return void param index UInt32 in value param v Float32 in array [2] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4194 alias VertexAttrib2fv VertexAttrib2sNV(index, x, y) return void param index UInt32 in value param x Int16 in value param y Int16 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib2svNV extension soft WINSOFT NV10 alias VertexAttrib2s VertexAttrib2svNV(index, v) return void param index UInt32 in value param v Int16 in array [2] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4190 alias VertexAttrib2sv VertexAttrib3dNV(index, x, y, z) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib3dvNV extension soft WINSOFT NV10 alias VertexAttrib3d VertexAttrib3dvNV(index, v) return void param index UInt32 in value param v Float64 in array [3] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4199 alias VertexAttrib3dv VertexAttrib3fNV(index, x, y, z) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib3fvNV extension soft WINSOFT NV10 alias VertexAttrib3f VertexAttrib3fvNV(index, v) return void param index UInt32 in value param v Float32 in array [3] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4195 alias VertexAttrib3fv VertexAttrib3sNV(index, x, y, z) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib3svNV extension soft WINSOFT NV10 alias VertexAttrib3s VertexAttrib3svNV(index, v) return void param index UInt32 in value param v Int16 in array [3] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4191 alias VertexAttrib3sv VertexAttrib4dNV(index, x, y, z, w) return void param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib4dvNV extension soft WINSOFT NV10 alias VertexAttrib4d VertexAttrib4dvNV(index, v) return void param index UInt32 in value param v Float64 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4200 alias VertexAttrib4dv VertexAttrib4fNV(index, x, y, z, w) return void param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib4fvNV extension soft WINSOFT NV10 alias VertexAttrib4f VertexAttrib4fvNV(index, v) return void param index UInt32 in value param v Float32 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4196 alias VertexAttrib4fv VertexAttrib4sNV(index, x, y, z, w) return void param index UInt32 in value param x Int16 in value param y Int16 in value param z Int16 in value param w Int16 in value category NV_vertex_program version 1.2 vectorequiv VertexAttrib4svNV extension soft WINSOFT NV10 alias VertexAttrib4s VertexAttrib4svNV(index, v) return void param index UInt32 in value param v Int16 in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4192 alias VertexAttrib4sv VertexAttrib4ubNV(index, x, y, z, w) return void param index UInt32 in value param x ColorUB in value param y ColorUB in value param z ColorUB in value param w ColorUB in value category NV_vertex_program version 1.2 extension soft WINSOFT NV10 vectorequiv VertexAttrib4ubvNV alias VertexAttrib4Nub VertexAttrib4ubvNV(index, v) return void param index UInt32 in value param v ColorUB in array [4] category NV_vertex_program version 1.2 extension soft WINSOFT NV10 glxropcode 4201 alias VertexAttrib4Nubv VertexAttribs1dvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float64 in array [count] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4210 offset 629 VertexAttribs1fvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float32 in array [count] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4206 offset 630 VertexAttribs1svNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Int16 in array [count] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4202 offset 631 VertexAttribs2dvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float64 in array [count*2] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4211 offset 632 VertexAttribs2fvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float32 in array [count*2] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4207 offset 633 VertexAttribs2svNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Int16 in array [count*2] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4203 offset 634 VertexAttribs3dvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float64 in array [count*3] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4212 offset 635 VertexAttribs3fvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float32 in array [count*3] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4208 offset 636 VertexAttribs3svNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Int16 in array [count*3] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4204 offset 637 VertexAttribs4dvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float64 in array [count*4] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4213 offset 638 VertexAttribs4fvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Float32 in array [count*4] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4209 offset 639 VertexAttribs4svNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v Int16 in array [count*4] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4205 offset 640 VertexAttribs4ubvNV(index, count, v) return void param index UInt32 in value param count SizeI in value param v ColorUB in array [count*4] category NV_vertex_program dlflags handcode version 1.2 extension soft WINSOFT NV10 glxropcode 4214 offset 641 ############################################################################### # # Extension #234 - GLX_SGIX_visual_select_group # ############################################################################### ############################################################################### # # Extension #235 # SGIX_texture_coordinate_clamp commands # ############################################################################### # (none) newcategory: SGIX_texture_coordinate_clamp ############################################################################### # # Extension #236 # SGIX_scalebias_hint commands # ############################################################################### # (none) newcategory: SGIX_scalebias_hint ############################################################################### # # Extension #237 - GLX_OML_swap_method commands # Extension #238 - GLX_OML_sync_control commands # ############################################################################### ############################################################################### # # Extension #239 # OML_interlace commands # ############################################################################### # (none) newcategory: OML_interlace ############################################################################### # # Extension #240 # OML_subsample commands # ############################################################################### # (none) newcategory: OML_subsample ############################################################################### # # Extension #241 # OML_resample commands # ############################################################################### # (none) newcategory: OML_resample ############################################################################### # # Extension #242 - WGL_OML_sync_control commands # ############################################################################### ############################################################################### # # Extension #243 # NV_copy_depth_to_color commands # ############################################################################### # (none) newcategory: NV_copy_depth_to_color ############################################################################### # # Extension #244 # ATI_envmap_bumpmap commands # ############################################################################### TexBumpParameterivATI(pname, param) return void param pname TexBumpParameterATI in value param param Int32 in array [COMPSIZE(pname)] category ATI_envmap_bumpmap version 1.2 extension glxropcode ? glxflags ignore offset ? TexBumpParameterfvATI(pname, param) return void param pname TexBumpParameterATI in value param param Float32 in array [COMPSIZE(pname)] category ATI_envmap_bumpmap version 1.2 extension glxropcode ? glxflags ignore offset ? GetTexBumpParameterivATI(pname, param) return void param pname GetTexBumpParameterATI in value param param Int32 out array [COMPSIZE(pname)] category ATI_envmap_bumpmap dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetTexBumpParameterfvATI(pname, param) return void param pname GetTexBumpParameterATI in value param param Float32 out array [COMPSIZE(pname)] category ATI_envmap_bumpmap dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #245 # ATI_fragment_shader commands # ############################################################################### GenFragmentShadersATI(range) return UInt32 param range UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindFragmentShaderATI(id) return void param id UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? DeleteFragmentShaderATI(id) return void param id UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BeginFragmentShaderATI() return void category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? EndFragmentShaderATI() return void category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? PassTexCoordATI(dst, coord, swizzle) return void param dst UInt32 in value param coord UInt32 in value param swizzle SwizzleOpATI in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? SampleMapATI(dst, interp, swizzle) return void param dst UInt32 in value param interp UInt32 in value param swizzle SwizzleOpATI in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMask UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMask UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value param arg2 UInt32 in value param arg2Rep UInt32 in value param arg2Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMask UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value param arg2 UInt32 in value param arg2Rep UInt32 in value param arg2Mod UInt32 in value param arg3 UInt32 in value param arg3Rep UInt32 in value param arg3Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? AlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? AlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value param arg2 UInt32 in value param arg2Rep UInt32 in value param arg2Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? AlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod) return void param op FragmentOpATI in value param dst UInt32 in value param dstMod UInt32 in value param arg1 UInt32 in value param arg1Rep UInt32 in value param arg1Mod UInt32 in value param arg2 UInt32 in value param arg2Rep UInt32 in value param arg2Mod UInt32 in value param arg3 UInt32 in value param arg3Rep UInt32 in value param arg3Mod UInt32 in value category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? SetFragmentShaderConstantATI(dst, value) return void param dst UInt32 in value param value ConstFloat32 in array [4] category ATI_fragment_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #246 # ATI_pn_triangles commands # ############################################################################### PNTrianglesiATI(pname, param) return void param pname PNTrianglesPNameATI in value param param Int32 in value category ATI_pn_triangles version 1.2 extension glxropcode ? glxflags ignore offset ? PNTrianglesfATI(pname, param) return void param pname PNTrianglesPNameATI in value param param Float32 in value category ATI_pn_triangles version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #247 # ATI_vertex_array_object commands # ############################################################################### NewObjectBufferATI(size, pointer, usage) return UInt32 param size SizeI in value param pointer ConstVoid in array [size] param usage ArrayObjectUsageATI in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? IsObjectBufferATI(buffer) return Boolean param buffer UInt32 in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? UpdateObjectBufferATI(buffer, offset, size, pointer, preserve) return void param buffer UInt32 in value param offset UInt32 in value param size SizeI in value param pointer ConstVoid in array [size] param preserve PreserveModeATI in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? GetObjectBufferfvATI(buffer, pname, params) return void param buffer UInt32 in value param pname ArrayObjectPNameATI in value param params Float32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetObjectBufferivATI(buffer, pname, params) return void param buffer UInt32 in value param pname ArrayObjectPNameATI in value param params Int32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? FreeObjectBufferATI(buffer) return void param buffer UInt32 in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? ArrayObjectATI(array, size, type, stride, buffer, offset) return void param array EnableCap in value param size Int32 in value param type ScalarType in value param stride SizeI in value param buffer UInt32 in value param offset UInt32 in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? GetArrayObjectfvATI(array, pname, params) return void param array EnableCap in value param pname ArrayObjectPNameATI in value param params Float32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetArrayObjectivATI(array, pname, params) return void param array EnableCap in value param pname ArrayObjectPNameATI in value param params Int32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? VariantArrayObjectATI(id, type, stride, buffer, offset) return void param id UInt32 in value param type ScalarType in value param stride SizeI in value param buffer UInt32 in value param offset UInt32 in value category ATI_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? GetVariantArrayObjectfvATI(id, pname, params) return void param id UInt32 in value param pname ArrayObjectPNameATI in value param params Float32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVariantArrayObjectivATI(id, pname, params) return void param id UInt32 in value param pname ArrayObjectPNameATI in value param params Int32 out array [1] category ATI_vertex_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #248 # EXT_vertex_shader commands # ############################################################################### BeginVertexShaderEXT() return void category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? EndVertexShaderEXT() return void category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindVertexShaderEXT(id) return void param id UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? GenVertexShadersEXT(range) return UInt32 param range UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? DeleteVertexShaderEXT(id) return void param id UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ShaderOp1EXT(op, res, arg1) return void param op VertexShaderOpEXT in value param res UInt32 in value param arg1 UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ShaderOp2EXT(op, res, arg1, arg2) return void param op VertexShaderOpEXT in value param res UInt32 in value param arg1 UInt32 in value param arg2 UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ShaderOp3EXT(op, res, arg1, arg2, arg3) return void param op VertexShaderOpEXT in value param res UInt32 in value param arg1 UInt32 in value param arg2 UInt32 in value param arg3 UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? SwizzleEXT(res, in, outX, outY, outZ, outW) return void param res UInt32 in value param in UInt32 in value param outX VertexShaderCoordOutEXT in value param outY VertexShaderCoordOutEXT in value param outZ VertexShaderCoordOutEXT in value param outW VertexShaderCoordOutEXT in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? WriteMaskEXT(res, in, outX, outY, outZ, outW) return void param res UInt32 in value param in UInt32 in value param outX VertexShaderWriteMaskEXT in value param outY VertexShaderWriteMaskEXT in value param outZ VertexShaderWriteMaskEXT in value param outW VertexShaderWriteMaskEXT in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? InsertComponentEXT(res, src, num) return void param res UInt32 in value param src UInt32 in value param num UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? ExtractComponentEXT(res, src, num) return void param res UInt32 in value param src UInt32 in value param num UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? GenSymbolsEXT(datatype, storagetype, range, components) return UInt32 param datatype DataTypeEXT in value param storagetype VertexShaderStorageTypeEXT in value param range ParameterRangeEXT in value param components UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? SetInvariantEXT(id, type, addr) return void param id UInt32 in value param type ScalarType in value param addr Void in array [COMPSIZE(id/type)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? SetLocalConstantEXT(id, type, addr) return void param id UInt32 in value param type ScalarType in value param addr Void in array [COMPSIZE(id/type)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantbvEXT(id, addr) return void param id UInt32 in value param addr Int8 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantsvEXT(id, addr) return void param id UInt32 in value param addr Int16 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantivEXT(id, addr) return void param id UInt32 in value param addr Int32 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantfvEXT(id, addr) return void param id UInt32 in value param addr Float32 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantdvEXT(id, addr) return void param id UInt32 in value param addr Float64 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantubvEXT(id, addr) return void param id UInt32 in value param addr UInt8 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantusvEXT(id, addr) return void param id UInt32 in value param addr UInt16 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantuivEXT(id, addr) return void param id UInt32 in value param addr UInt32 in array [COMPSIZE(id)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? VariantPointerEXT(id, type, stride, addr) return void param id UInt32 in value param type ScalarType in value param stride UInt32 in value param addr Void in array [COMPSIZE(id/type/stride)] category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? EnableVariantClientStateEXT(id) return void param id UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? DisableVariantClientStateEXT(id) return void param id UInt32 in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindLightParameterEXT(light, value) return UInt32 param light LightName in value param value LightParameter in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindMaterialParameterEXT(face, value) return UInt32 param face MaterialFace in value param value MaterialParameter in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindTexGenParameterEXT(unit, coord, value) return UInt32 param unit TextureUnit in value param coord TextureCoordName in value param value TextureGenParameter in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindTextureUnitParameterEXT(unit, value) return UInt32 param unit TextureUnit in value param value VertexShaderTextureUnitParameter in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? BindParameterEXT(value) return UInt32 param value VertexShaderParameterEXT in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? IsVariantEnabledEXT(id, cap) return Boolean param id UInt32 in value param cap VariantCapEXT in value category EXT_vertex_shader version 1.2 extension glxropcode ? glxflags ignore offset ? GetVariantBooleanvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Boolean out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVariantIntegervEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Int32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVariantFloatvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Float32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVariantPointervEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data VoidPointer out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetInvariantBooleanvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Boolean out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetInvariantIntegervEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Int32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetInvariantFloatvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Float32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetLocalConstantBooleanvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Boolean out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetLocalConstantIntegervEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Int32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetLocalConstantFloatvEXT(id, value, data) return void param id UInt32 in value param value GetVariantValueEXT in value param data Float32 out array [COMPSIZE(id)] category EXT_vertex_shader dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #249 # ATI_vertex_streams commands # ############################################################################### VertexStream1sATI(stream, x) return void param stream VertexStreamATI in value param x Int16 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1svATI(stream, coords) return void param stream VertexStreamATI in value param coords Int16 in array [1] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1iATI(stream, x) return void param stream VertexStreamATI in value param x Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1ivATI(stream, coords) return void param stream VertexStreamATI in value param coords Int32 in array [1] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1fATI(stream, x) return void param stream VertexStreamATI in value param x Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1fvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float32 in array [1] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1dATI(stream, x) return void param stream VertexStreamATI in value param x Float64 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream1dvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float64 in array [1] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2sATI(stream, x, y) return void param stream VertexStreamATI in value param x Int16 in value param y Int16 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2svATI(stream, coords) return void param stream VertexStreamATI in value param coords Int16 in array [2] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2iATI(stream, x, y) return void param stream VertexStreamATI in value param x Int32 in value param y Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2ivATI(stream, coords) return void param stream VertexStreamATI in value param coords Int32 in array [2] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2fATI(stream, x, y) return void param stream VertexStreamATI in value param x Float32 in value param y Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2fvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float32 in array [2] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2dATI(stream, x, y) return void param stream VertexStreamATI in value param x Float64 in value param y Float64 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream2dvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float64 in array [2] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3sATI(stream, x, y, z) return void param stream VertexStreamATI in value param x Int16 in value param y Int16 in value param z Int16 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3svATI(stream, coords) return void param stream VertexStreamATI in value param coords Int16 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3iATI(stream, x, y, z) return void param stream VertexStreamATI in value param x Int32 in value param y Int32 in value param z Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3ivATI(stream, coords) return void param stream VertexStreamATI in value param coords Int32 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3fATI(stream, x, y, z) return void param stream VertexStreamATI in value param x Float32 in value param y Float32 in value param z Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3fvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float32 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3dATI(stream, x, y, z) return void param stream VertexStreamATI in value param x Float64 in value param y Float64 in value param z Float64 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream3dvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float64 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4sATI(stream, x, y, z, w) return void param stream VertexStreamATI in value param x Int16 in value param y Int16 in value param z Int16 in value param w Int16 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4svATI(stream, coords) return void param stream VertexStreamATI in value param coords Int16 in array [4] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4iATI(stream, x, y, z, w) return void param stream VertexStreamATI in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4ivATI(stream, coords) return void param stream VertexStreamATI in value param coords Int32 in array [4] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4fATI(stream, x, y, z, w) return void param stream VertexStreamATI in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4fvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float32 in array [4] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4dATI(stream, x, y, z, w) return void param stream VertexStreamATI in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexStream4dvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float64 in array [4] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3bATI(stream, nx, ny, nz) return void param stream VertexStreamATI in value param nx Int8 in value param ny Int8 in value param nz Int8 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3bvATI(stream, coords) return void param stream VertexStreamATI in value param coords Int8 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3sATI(stream, nx, ny, nz) return void param stream VertexStreamATI in value param nx Int16 in value param ny Int16 in value param nz Int16 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3svATI(stream, coords) return void param stream VertexStreamATI in value param coords Int16 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3iATI(stream, nx, ny, nz) return void param stream VertexStreamATI in value param nx Int32 in value param ny Int32 in value param nz Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3ivATI(stream, coords) return void param stream VertexStreamATI in value param coords Int32 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3fATI(stream, nx, ny, nz) return void param stream VertexStreamATI in value param nx Float32 in value param ny Float32 in value param nz Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3fvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float32 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3dATI(stream, nx, ny, nz) return void param stream VertexStreamATI in value param nx Float64 in value param ny Float64 in value param nz Float64 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? NormalStream3dvATI(stream, coords) return void param stream VertexStreamATI in value param coords Float64 in array [3] category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? ClientActiveVertexStreamATI(stream) return void param stream VertexStreamATI in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexBlendEnviATI(pname, param) return void param pname VertexStreamATI in value param param Int32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? VertexBlendEnvfATI(pname, param) return void param pname VertexStreamATI in value param param Float32 in value category ATI_vertex_streams version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #250 - WGL_I3D_digital_video_control # Extension #251 - WGL_I3D_gamma # Extension #252 - WGL_I3D_genlock # Extension #253 - WGL_I3D_image_buffer # Extension #254 - WGL_I3D_swap_frame_lock # Extension #255 - WGL_I3D_swap_frame_usage # ############################################################################### ############################################################################### # # Extension #256 # ATI_element_array commands # ############################################################################### ElementPointerATI(type, pointer) return void param type ElementPointerTypeATI in value param pointer Void in array [COMPSIZE(type)] retained category ATI_element_array dlflags notlistable glxflags client-handcode client-intercept server-handcode version 1.2 offset ? DrawElementArrayATI(mode, count) return void param mode BeginMode in value param count SizeI in value category ATI_element_array dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.2 offset ? DrawRangeElementArrayATI(mode, start, end, count) return void param mode BeginMode in value param start UInt32 in value param end UInt32 in value param count SizeI in value category ATI_element_array dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.2 offset ? ############################################################################### # # Extension #257 # SUN_mesh_array commands # ############################################################################### DrawMeshArraysSUN(mode, first, count, width) return void param mode BeginMode in value param first Int32 in value param count SizeI in value param width SizeI in value category SUN_mesh_array dlflags handcode glxflags client-handcode client-intercept server-handcode version 1.1 glxropcode ? offset ? ############################################################################### # # Extension #258 # SUN_slice_accum commands # ############################################################################### # (none) newcategory: SUN_slice_accum ############################################################################### # # Extension #259 # NV_multisample_filter_hint commands # ############################################################################### # (none) newcategory: NV_multisample_filter_hint ############################################################################### # # Extension #260 # NV_depth_clamp commands # ############################################################################### # (none) newcategory: NV_depth_clamp ############################################################################### # # Extension #261 # NV_occlusion_query commands # ############################################################################### GenOcclusionQueriesNV(n, ids) return void param n SizeI in value param ids UInt32 out array [n] dlflags notlistable category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore DeleteOcclusionQueriesNV(n, ids) return void param n SizeI in value param ids UInt32 in array [n] dlflags notlistable category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore IsOcclusionQueryNV(id) return Boolean param id UInt32 in value dlflags notlistable category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore BeginOcclusionQueryNV(id) return void param id UInt32 in value category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore EndOcclusionQueryNV() return void category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore GetOcclusionQueryivNV(id, pname, params) return void param id UInt32 in value param pname OcclusionQueryParameterNameNV in value param params Int32 out array [COMPSIZE(pname)] dlflags notlistable category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore GetOcclusionQueryuivNV(id, pname, params) return void param id UInt32 in value param pname OcclusionQueryParameterNameNV in value param params UInt32 out array [COMPSIZE(pname)] dlflags notlistable category NV_occlusion_query version 1.2 extension soft WINSOFT NV20 glxflags ignore ############################################################################### # # Extension #262 # NV_point_sprite commands # ############################################################################### PointParameteriNV(pname, param) return void param pname PointParameterNameARB in value param param Int32 in value category NV_point_sprite version 1.2 extension soft WINSOFT NV20 glxropcode 4221 alias PointParameteri PointParameterivNV(pname, params) return void param pname PointParameterNameARB in value param params Int32 in array [COMPSIZE(pname)] category NV_point_sprite version 1.2 extension soft WINSOFT NV20 glxropcode 4222 alias PointParameteriv ############################################################################### # # Extension #263 - WGL_NV_render_depth_texture # Extension #264 - WGL_NV_render_texture_rectangle # ############################################################################### ############################################################################### # # Extension #265 # NV_texture_shader3 commands # ############################################################################### # (none) newcategory: NV_texture_shader3 ############################################################################### # # Extension #266 # NV_vertex_program1_1 commands # ############################################################################### # (none) newcategory: NV_vertex_program1_1 ############################################################################### # # Extension #267 # EXT_shadow_funcs commands # ############################################################################### # (none) newcategory: EXT_shadow_funcs ############################################################################### # # Extension #268 # EXT_stencil_two_side commands # ############################################################################### ActiveStencilFaceEXT(face) return void param face StencilFaceDirection in value category EXT_stencil_two_side version 1.3 glxropcode 4220 offset 646 ############################################################################### # # Extension #269 # ATI_text_fragment_shader commands # ############################################################################### # Uses ARB_vertex_program entry points newcategory: ATI_text_fragment_shader ############################################################################### # # Extension #270 # APPLE_client_storage commands # ############################################################################### # (none) newcategory: APPLE_client_storage ############################################################################### # # Extension #271 # APPLE_element_array commands # ############################################################################### # @@ Need to verify/add GLX protocol # @@@ like #256 ATI_element_array ElementPointerAPPLE(type, pointer) return void param type ElementPointerTypeATI in value param pointer Void in array [type] category APPLE_element_array version 1.2 extension glxropcode ? glxflags ignore offset ? DrawElementArrayAPPLE(mode, first, count) return void param mode BeginMode in value param first Int32 in value param count SizeI in value category APPLE_element_array version 1.2 extension glxropcode ? glxflags ignore offset ? DrawRangeElementArrayAPPLE(mode, start, end, first, count) return void param mode BeginMode in value param start UInt32 in value param end UInt32 in value param first Int32 in value param count SizeI in value category APPLE_element_array version 1.2 extension glxropcode ? glxflags ignore offset ? MultiDrawElementArrayAPPLE(mode, first, count, primcount) return void param mode BeginMode in value param first Int32 in array [primcount] param count SizeI in array [primcount] param primcount SizeI in value category APPLE_element_array version 1.2 extension glxropcode ? glxflags ignore offset ? MultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount) return void param mode BeginMode in value param start UInt32 in value param end UInt32 in value param first Int32 in array [primcount] param count SizeI in array [primcount] param primcount SizeI in value category APPLE_element_array version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #272 # APPLE_fence commands # ############################################################################### # @@ Need to verify/add GLX protocol # @@@ like #222 NV_fence GenFencesAPPLE(n, fences) return void param n SizeI in value param fences FenceNV out array [n] category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? DeleteFencesAPPLE(n, fences) return void param n SizeI in value param fences FenceNV in array [n] category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? SetFenceAPPLE(fence) return void param fence FenceNV in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? IsFenceAPPLE(fence) return Boolean param fence FenceNV in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? TestFenceAPPLE(fence) return Boolean param fence FenceNV in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? FinishFenceAPPLE(fence) return void param fence FenceNV in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? TestObjectAPPLE(object, name) return Boolean param object ObjectTypeAPPLE in value param name UInt32 in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? FinishObjectAPPLE(object, name) return void param object ObjectTypeAPPLE in value param name Int32 in value category APPLE_fence version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #273 # APPLE_vertex_array_object commands # ############################################################################### BindVertexArrayAPPLE(array) return void param array UInt32 in value category APPLE_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore alias BindVertexArray DeleteVertexArraysAPPLE(n, arrays) return void param n SizeI in value param arrays UInt32 in array [n] category APPLE_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore alias DeleteVertexArrays GenVertexArraysAPPLE(n, arrays) return void param n SizeI in value param arrays UInt32 out array [n] category APPLE_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore alias GenVertexArray IsVertexArrayAPPLE(array) return Boolean param array UInt32 in value category APPLE_vertex_array_object version 1.2 extension glxropcode ? glxflags ignore alias IsVertexArray ############################################################################### # # Extension #274 # APPLE_vertex_array_range commands # ############################################################################### # @@ Need to verify/add GLX protocol # @@@ like #190 NV_vertex_array_range, VertexArrayRangeAPPLE(length, pointer) return void param length SizeI in value param pointer Void out array [length] category APPLE_vertex_array_range version 1.2 extension glxropcode ? glxflags ignore offset ? FlushVertexArrayRangeAPPLE(length, pointer) return void param length SizeI in value param pointer Void out array [length] category APPLE_vertex_array_range version 1.2 extension glxropcode ? glxflags ignore offset ? VertexArrayParameteriAPPLE(pname, param) return void param pname VertexArrayPNameAPPLE in value param param Int32 in value category APPLE_vertex_array_range version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #275 # APPLE_ycbcr_422 commands # ############################################################################### # (none) newcategory: APPLE_ycbcr_422 ############################################################################### # # Extension #276 # S3_s3tc commands # ############################################################################### # (none) newcategory: S3_s3tc ############################################################################### # # Extension #277 # ATI_draw_buffers commands # ############################################################################### DrawBuffersATI(n, bufs) return void param n SizeI in value param bufs DrawBufferModeATI in array [n] category ATI_draw_buffers version 1.2 extension glxropcode 233 alias DrawBuffers ############################################################################### # # Extension #278 - WGL_ATI_pixel_format_float # ############################################################################### newcategory: ATI_pixel_format_float passthru: /* This is really a WGL extension, but defines some associated GL enums. passthru: * ATI does not export "GL_ATI_pixel_format_float" in the GL_EXTENSIONS string. passthru: */ ############################################################################### # # Extension #279 # ATI_texture_env_combine3 commands # ############################################################################### # (none) newcategory: ATI_texture_env_combine3 ############################################################################### # # Extension #280 # ATI_texture_float commands # ############################################################################### # (none) newcategory: ATI_texture_float ############################################################################### # # Extension #281 (also WGL_NV_float_buffer) # NV_float_buffer commands # ############################################################################### # (none) newcategory: NV_float_buffer ############################################################################### # # Extension #282 # NV_fragment_program commands # ############################################################################### # @@ Need to verify/add GLX protocol # Some NV_fragment_program entry points are shared with ARB_vertex_program, # and are only included in that #define block, for now. newcategory: NV_fragment_program passthru: /* Some NV_fragment_program entry points are shared with ARB_vertex_program. */ ProgramNamedParameter4fNV(id, len, name, x, y, z, w) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category NV_fragment_program version 1.2 extension glxropcode ? glxflags ignore offset 682 ProgramNamedParameter4dNV(id, len, name, x, y, z, w) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category NV_fragment_program version 1.2 extension glxropcode ? glxflags ignore offset 683 ProgramNamedParameter4fvNV(id, len, name, v) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param v Float32 in array [4] category NV_fragment_program version 1.2 extension glxropcode ? glxflags ignore offset 684 ProgramNamedParameter4dvNV(id, len, name, v) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param v Float64 in array [4] category NV_fragment_program version 1.2 extension glxropcode ? glxflags ignore offset 685 GetProgramNamedParameterfvNV(id, len, name, params) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param params Float32 out array [4] category NV_fragment_program dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset 686 GetProgramNamedParameterdvNV(id, len, name, params) return void param id UInt32 in value param len SizeI in value param name UInt8 in array [1] param params Float64 out array [4] category NV_fragment_program dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset 687 ############################################################################### # # Extension #283 # NV_half_float commands # ############################################################################### # @@ Need to verify/add GLX protocol Vertex2hNV(x, y) return void param x Half16NV in value param y Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Vertex2hvNV(v) return void param v Half16NV in array [2] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Vertex3hNV(x, y, z) return void param x Half16NV in value param y Half16NV in value param z Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Vertex3hvNV(v) return void param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Vertex4hNV(x, y, z, w) return void param x Half16NV in value param y Half16NV in value param z Half16NV in value param w Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Vertex4hvNV(v) return void param v Half16NV in array [4] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Normal3hNV(nx, ny, nz) return void param nx Half16NV in value param ny Half16NV in value param nz Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Normal3hvNV(v) return void param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Color3hNV(red, green, blue) return void param red Half16NV in value param green Half16NV in value param blue Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Color3hvNV(v) return void param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Color4hNV(red, green, blue, alpha) return void param red Half16NV in value param green Half16NV in value param blue Half16NV in value param alpha Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? Color4hvNV(v) return void param v Half16NV in array [4] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord1hNV(s) return void param s Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord1hvNV(v) return void param v Half16NV in array [1] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord2hNV(s, t) return void param s Half16NV in value param t Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord2hvNV(v) return void param v Half16NV in array [2] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord3hNV(s, t, r) return void param s Half16NV in value param t Half16NV in value param r Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord3hvNV(v) return void param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord4hNV(s, t, r, q) return void param s Half16NV in value param t Half16NV in value param r Half16NV in value param q Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? TexCoord4hvNV(v) return void param v Half16NV in array [4] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord1hNV(target, s) return void param target TextureUnit in value param s Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord1hvNV(target, v) return void param target TextureUnit in value param v Half16NV in array [1] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord2hNV(target, s, t) return void param target TextureUnit in value param s Half16NV in value param t Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord2hvNV(target, v) return void param target TextureUnit in value param v Half16NV in array [2] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord3hNV(target, s, t, r) return void param target TextureUnit in value param s Half16NV in value param t Half16NV in value param r Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord3hvNV(target, v) return void param target TextureUnit in value param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord4hNV(target, s, t, r, q) return void param target TextureUnit in value param s Half16NV in value param t Half16NV in value param r Half16NV in value param q Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? MultiTexCoord4hvNV(target, v) return void param target TextureUnit in value param v Half16NV in array [4] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? FogCoordhNV(fog) return void param fog Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? FogCoordhvNV(fog) return void param fog Half16NV in array [1] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? SecondaryColor3hNV(red, green, blue) return void param red Half16NV in value param green Half16NV in value param blue Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? SecondaryColor3hvNV(v) return void param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexWeighthNV(weight) return void param weight Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexWeighthvNV(weight) return void param weight Half16NV in array [1] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib1hNV(index, x) return void param index UInt32 in value param x Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib1hvNV(index, v) return void param index UInt32 in value param v Half16NV in array [1] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib2hNV(index, x, y) return void param index UInt32 in value param x Half16NV in value param y Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib2hvNV(index, v) return void param index UInt32 in value param v Half16NV in array [2] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib3hNV(index, x, y, z) return void param index UInt32 in value param x Half16NV in value param y Half16NV in value param z Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib3hvNV(index, v) return void param index UInt32 in value param v Half16NV in array [3] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib4hNV(index, x, y, z, w) return void param index UInt32 in value param x Half16NV in value param y Half16NV in value param z Half16NV in value param w Half16NV in value category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttrib4hvNV(index, v) return void param index UInt32 in value param v Half16NV in array [4] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttribs1hvNV(index, n, v) return void param index UInt32 in value param n SizeI in value param v Half16NV in array [n] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttribs2hvNV(index, n, v) return void param index UInt32 in value param n SizeI in value param v Half16NV in array [n] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttribs3hvNV(index, n, v) return void param index UInt32 in value param n SizeI in value param v Half16NV in array [n] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? VertexAttribs4hvNV(index, n, v) return void param index UInt32 in value param n SizeI in value param v Half16NV in array [n] category NV_half_float version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #284 # NV_pixel_data_range commands # ############################################################################### # @@ Need to verify/add GLX protocol PixelDataRangeNV(target, length, pointer) return void param target PixelDataRangeTargetNV in value param length SizeI in value param pointer Void out array [length] category NV_pixel_data_range version 1.2 extension glxropcode ? glxflags ignore offset ? FlushPixelDataRangeNV(target) return void param target PixelDataRangeTargetNV in value category NV_pixel_data_range version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #285 # NV_primitive_restart commands # ############################################################################### # @@ Need to verify/add GLX protocol PrimitiveRestartNV() return void category NV_primitive_restart version 1.2 extension glxropcode ? glxflags ignore offset ? PrimitiveRestartIndexNV(index) return void param index UInt32 in value category NV_primitive_restart version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #286 # NV_texture_expand_normal commands # ############################################################################### # (none) newcategory: NV_texture_expand_normal ############################################################################### # # Extension #287 # NV_vertex_program2 commands # ############################################################################### # (none) newcategory: NV_vertex_program2 ############################################################################### # # Extension #288 # ATI_map_object_buffer commands # ############################################################################### # @@ Need to verify/add GLX protocol MapObjectBufferATI(buffer) return VoidPointer param buffer UInt32 in value category ATI_map_object_buffer version 1.2 extension glxropcode ? glxflags ignore offset ? UnmapObjectBufferATI(buffer) return void param buffer UInt32 in value category ATI_map_object_buffer version 1.2 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #289 # ATI_separate_stencil commands # ############################################################################### # @@ Need to verify/add GLX protocol StencilOpSeparateATI(face, sfail, dpfail, dppass) return void param face StencilFaceDirection in value param sfail StencilOp in value param dpfail StencilOp in value param dppass StencilOp in value category ATI_separate_stencil version 1.2 extension glxropcode ? glxflags ignore alias StencilOpSeparate StencilFuncSeparateATI(frontfunc, backfunc, ref, mask) return void param frontfunc StencilFunction in value param backfunc StencilFunction in value param ref ClampedStencilValue in value param mask MaskedStencilValue in value category ATI_separate_stencil version 1.2 extension glxropcode ? glxflags ignore alias StencilFuncSeparate ############################################################################### # # Extension #290 # ATI_vertex_attrib_array_object commands # ############################################################################### # @@ Need to verify/add GLX protocol VertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset) return void param index UInt32 in value param size Int32 in value param type VertexAttribPointerTypeARB in value param normalized Boolean in value param stride SizeI in value param buffer UInt32 in value param offset UInt32 in value category ATI_vertex_attrib_array_object version 1.2 extension glxropcode ? glxflags ignore offset ? GetVertexAttribArrayObjectfvATI(index, pname, params) return void param index UInt32 in value param pname ArrayObjectPNameATI in value param params Float32 out array [pname] category ATI_vertex_attrib_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVertexAttribArrayObjectivATI(index, pname, params) return void param index UInt32 in value param pname ArrayObjectPNameATI in value param params Int32 out array [pname] category ATI_vertex_attrib_array_object dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #291 - OpenGL ES only, not in glext.h # OES_byte_coordinates commands # ############################################################################### # void Vertex{234}bOES(T coords) # void Vertex{234}bvOES(T *coords) # void TexCoord{1234}bOES(T coords) # void TexCoord{1234}bvOES(T *coords) # void MultiTexCoord{1234}bOES(enum texture, T coords) # void MultiTexCoord{1234}bvOES(enum texture, T *coords) # All are handcode - mapped to non-byte GLX protocol on client side # newcategory: OES_byte_coordinates ############################################################################### # # Extension #292 - OpenGL ES only, not in glext.h # OES_fixed_point commands # ############################################################################### # Too many to list in just a comment - see spec in the extension registry # All are handcode - mapped to non-byte GLX protocol on client side # newcategory: OES_fixed_point ############################################################################### # # Extension #293 - OpenGL ES only, not in glext.h # OES_single_precision commands # ############################################################################### # void DepthRangefOES(clampf n, clampf f) # void FrustumfOES(float l, float r, float b, float t, float n, float f) # void OrthofOES(float l, float r, float b, float t, float n, float f) # void ClipPlanefOES(enum plane, const float* equation) # void glClearDepthfOES(clampd depth) # GLX ropcodes 4308-4312 (not respectively, see extension spec) # void GetClipPlanefOES(enum plane, float* equation) # GLX vendor private 1421 # newcategory: OES_single_precision ############################################################################### # # Extension #294 - OpenGL ES only, not in glext.h # OES_compressed_paletted_texture commands # ############################################################################### # (none) # newcategory: OES_compressed_paletted_texture ############################################################################### # # Extension #295 - This is an OpenGL ES extension, but also implemented in Mesa # OES_read_format commands # ############################################################################### # (none) newcategory: OES_read_format ############################################################################### # # Extension #296 - OpenGL ES only, not in glext.h # OES_query_matrix commands # ############################################################################### # bitfield queryMatrixxOES(fixed mantissa[16], int exponent[16]) # All are handcode - mapped to non-byte GLX protocol on client side # newcategory: OES_query_matrix ############################################################################### # # Extension #297 # EXT_depth_bounds_test commands # ############################################################################### DepthBoundsEXT(zmin, zmax) return void param zmin ClampedFloat64 in value param zmax ClampedFloat64 in value category EXT_depth_bounds_test version 1.2 extension glxropcode 4229 offset 699 ############################################################################### # # Extension #298 # EXT_texture_mirror_clamp commands # ############################################################################### # (none) newcategory: EXT_texture_mirror_clamp ############################################################################### # # Extension #299 # EXT_blend_equation_separate commands # ############################################################################### BlendEquationSeparateEXT(modeRGB, modeAlpha) return void param modeRGB BlendEquationModeEXT in value param modeAlpha BlendEquationModeEXT in value category EXT_blend_equation_separate version 1.2 extension glxropcode 4228 alias BlendEquationSeparate ############################################################################### # # Extension #300 # MESA_pack_invert commands # ############################################################################### # (none) newcategory: MESA_pack_invert ############################################################################### # # Extension #301 # MESA_ycbcr_texture commands # ############################################################################### # (none) newcategory: MESA_ycbcr_texture ############################################################################### # # Extension #301 # MESA_ycbcr_texture commands # ############################################################################### # (none) newcategory: MESA_ycbcr_texture ############################################################################### # # Extension #302 # EXT_pixel_buffer_object commands # ############################################################################### # (none) newcategory: EXT_pixel_buffer_object ############################################################################### # # Extension #303 # NV_fragment_program_option commands # ############################################################################### # (none) newcategory: NV_fragment_program_option ############################################################################### # # Extension #304 # NV_fragment_program2 commands # ############################################################################### # (none) newcategory: NV_fragment_program2 ############################################################################### # # Extension #305 # NV_vertex_program2_option commands # ############################################################################### # (none) newcategory: NV_vertex_program2_option ############################################################################### # # Extension #306 # NV_vertex_program3 commands # ############################################################################### # (none) newcategory: NV_vertex_program3 ############################################################################### # # Extension #307 - GLX_SGIX_hyperpipe commands # Extension #308 - GLX_MESA_agp_offset commands # Extension #309 - GL_EXT_texture_compression_dxt1 (OpenGL ES only, subset of _st3c version) # ############################################################################### ############################################################################### # # Extension #310 # EXT_framebuffer_object commands # ############################################################################### IsRenderbufferEXT(renderbuffer) return Boolean param renderbuffer UInt32 in value category EXT_framebuffer_object version 1.2 extension glxvendorpriv 1422 glxflags ignore alias IsRenderbuffer BindRenderbufferEXT(target, renderbuffer) return void param target RenderbufferTarget in value param renderbuffer UInt32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4316 glxflags ignore alias BindRenderbuffer DeleteRenderbuffersEXT(n, renderbuffers) return void param n SizeI in value param renderbuffers UInt32 in array [n] category EXT_framebuffer_object version 1.2 extension glxropcode 4317 glxflags ignore alias DeleteRenderbuffers GenRenderbuffersEXT(n, renderbuffers) return void param n SizeI in value param renderbuffers UInt32 out array [n] category EXT_framebuffer_object version 1.2 extension glxvendorpriv 1423 glxflags ignore alias GenRenderbuffers RenderbufferStorageEXT(target, internalformat, width, height) return void param target RenderbufferTarget in value param internalformat GLenum in value param width SizeI in value param height SizeI in value category EXT_framebuffer_object version 1.2 extension glxropcode 4318 glxflags ignore alias RenderbufferStorage GetRenderbufferParameterivEXT(target, pname, params) return void param target RenderbufferTarget in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category EXT_framebuffer_object dlflags notlistable version 1.2 extension glxvendorpriv 1424 glxflags ignore alias GetRenderbufferParameteriv IsFramebufferEXT(framebuffer) return Boolean param framebuffer UInt32 in value category EXT_framebuffer_object version 1.2 extension glxvendorpriv 1425 glxflags ignore alias IsFramebuffer BindFramebufferEXT(target, framebuffer) return void param target FramebufferTarget in value param framebuffer UInt32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4319 glxflags ignore alias BindFramebuffer DeleteFramebuffersEXT(n, framebuffers) return void param n SizeI in value param framebuffers UInt32 in array [n] category EXT_framebuffer_object version 1.2 extension glxropcode 4320 glxflags ignore alias DeleteFramebuffers GenFramebuffersEXT(n, framebuffers) return void param n SizeI in value param framebuffers UInt32 out array [n] category EXT_framebuffer_object version 1.2 extension glxvendorpriv 1426 glxflags ignore alias GenFramebuffers CheckFramebufferStatusEXT(target) return GLenum param target FramebufferTarget in value category EXT_framebuffer_object version 1.2 extension glxvendorpriv 1427 glxflags ignore alias CheckFramebufferStatus FramebufferTexture1DEXT(target, attachment, textarget, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4321 glxflags ignore alias FramebufferTexture1D FramebufferTexture2DEXT(target, attachment, textarget, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4322 glxflags ignore alias FramebufferTexture2D FramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param textarget GLenum in value param texture UInt32 in value param level Int32 in value param zoffset Int32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4323 glxflags ignore alias FramebufferTexture3D FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param renderbuffertarget RenderbufferTarget in value param renderbuffer UInt32 in value category EXT_framebuffer_object version 1.2 extension glxropcode 4324 glxflags ignore alias FramebufferRenderbuffer GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category EXT_framebuffer_object dlflags notlistable version 1.2 extension glxvendorpriv 1428 glxflags ignore alias GetFramebufferAttachmentParameteriv GenerateMipmapEXT(target) return void param target GLenum in value category EXT_framebuffer_object version 1.2 extension glxropcode 4325 glxflags ignore alias GenerateMipmap ############################################################################### # # Extension #311 # GREMEDY_string_marker commands # ############################################################################### StringMarkerGREMEDY(len, string) return void param len SizeI in value param string Void in array [len] category GREMEDY_string_marker version 1.0 extension glxflags ignore offset ? ############################################################################### # # Extension #312 # EXT_packed_depth_stencil commands # ############################################################################### # (none) newcategory: EXT_packed_depth_stencil ############################################################################### # # Extension #313 - WGL_3DL_stereo_control # ############################################################################### ############################################################################### # # Extension #314 # EXT_stencil_clear_tag commands # ############################################################################### StencilClearTagEXT(stencilTagBits, stencilClearTag) return void param stencilTagBits SizeI in value param stencilClearTag UInt32 in value category EXT_stencil_clear_tag version 1.5 extension glxropcode 4223 glxflags ignore offset ? ############################################################################### # # Extension #315 # EXT_texture_sRGB commands # ############################################################################### # (none) newcategory: EXT_texture_sRGB ############################################################################### # # Extension #316 # EXT_framebuffer_blit commands # ############################################################################### BlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) return void param srcX0 Int32 in value param srcY0 Int32 in value param srcX1 Int32 in value param srcY1 Int32 in value param dstX0 Int32 in value param dstY0 Int32 in value param dstX1 Int32 in value param dstY1 Int32 in value param mask ClearBufferMask in value param filter GLenum in value category EXT_framebuffer_blit version 1.5 glxropcode 4330 alias BlitFramebuffer ############################################################################### # # Extension #317 # EXT_framebuffer_multisample commands # ############################################################################### RenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height) return void param target GLenum in value param samples SizeI in value param internalformat GLenum in value param width SizeI in value param height SizeI in value category EXT_framebuffer_multisample version 1.5 glxropcode 4331 alias RenderbufferStorageMultisample ############################################################################### # # Extension #318 # MESAX_texture_stack commands # ############################################################################### # (none) newcategory: MESAX_texture_stack ############################################################################### # # Extension #319 # EXT_timer_query commands # ############################################################################### GetQueryObjecti64vEXT(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params Int64EXT out array [pname] category EXT_timer_query dlflags notlistable version 1.5 glxvendorpriv 1328 glxflags ignore offset ? GetQueryObjectui64vEXT(id, pname, params) return void param id UInt32 in value param pname GLenum in value param params UInt64EXT out array [pname] category EXT_timer_query dlflags notlistable version 1.5 glxvendorpriv 1329 glxflags ignore offset ? ############################################################################### # # Extension #320 # EXT_gpu_program_parameters commands # ############################################################################### ProgramEnvParameters4fvEXT(target, index, count, params) return void param target ProgramTargetARB in value param index UInt32 in value param count SizeI in value param params Float32 in array [count*4] category EXT_gpu_program_parameters version 1.2 glxropcode 4281 offset ? ProgramLocalParameters4fvEXT(target, index, count, params) return void param target ProgramTargetARB in value param index UInt32 in value param count SizeI in value param params Float32 in array [count*4] category EXT_gpu_program_parameters version 1.2 glxropcode 4282 offset ? ############################################################################### # # Extension #321 # APPLE_flush_buffer_range commands # ############################################################################### BufferParameteriAPPLE(target, pname, param) return void param target GLenum in value param pname GLenum in value param param Int32 in value category APPLE_flush_buffer_range version 1.5 extension glxropcode ? glxflags ignore offset ? FlushMappedBufferRangeAPPLE(target, offset, size) return void param target GLenum in value param offset BufferOffset in value param size BufferSize in value category APPLE_flush_buffer_range version 1.5 extension glxropcode ? glxflags ignore alias FlushMappedBufferRange ############################################################################### # # Extension #322 # NV_gpu_program4 commands # ############################################################################### ProgramLocalParameterI4iNV(target, index, x, y, z, w) return void param target ProgramTarget in value param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category NV_gpu_program4 version 1.3 vectorequiv ProgramLocalParameterI4ivNV glxvectorequiv ProgramLocalParameterI4ivNV extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramLocalParameterI4ivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params Int32 in array [4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramLocalParametersI4ivNV(target, index, count, params) return void param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params Int32 in array [count*4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramLocalParameterI4uiNV(target, index, x, y, z, w) return void param target ProgramTarget in value param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value param w UInt32 in value category NV_gpu_program4 version 1.3 vectorequiv ProgramLocalParameterI4uivNV glxvectorequiv ProgramLocalParameterI4uivNV extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramLocalParameterI4uivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params UInt32 in array [4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramLocalParametersI4uivNV(target, index, count, params) return void param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params UInt32 in array [count*4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParameterI4iNV(target, index, x, y, z, w) return void param target ProgramTarget in value param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category NV_gpu_program4 version 1.3 vectorequiv ProgramEnvParameterI4ivNV glxvectorequiv ProgramEnvParameterI4ivNV extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParameterI4ivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params Int32 in array [4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParametersI4ivNV(target, index, count, params) return void param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params Int32 in array [count*4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParameterI4uiNV(target, index, x, y, z, w) return void param target ProgramTarget in value param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value param w UInt32 in value category NV_gpu_program4 version 1.3 vectorequiv ProgramEnvParameterI4uivNV glxvectorequiv ProgramEnvParameterI4uivNV extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParameterI4uivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params UInt32 in array [4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramEnvParametersI4uivNV(target, index, count, params) return void param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params UInt32 in array [count*4] category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore GetProgramLocalParameterIivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params Int32 out array [4] dlflags notlistable category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore GetProgramLocalParameterIuivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params UInt32 out array [4] dlflags notlistable category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore GetProgramEnvParameterIivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params Int32 out array [4] dlflags notlistable category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore GetProgramEnvParameterIuivNV(target, index, params) return void param target ProgramTarget in value param index UInt32 in value param params UInt32 out array [4] dlflags notlistable category NV_gpu_program4 version 1.3 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ############################################################################### # # Extension #323 # NV_geometry_program4 commands # ############################################################################### ProgramVertexLimitNV(target, limit) return void param target ProgramTarget in value param limit Int32 in value category NV_geometry_program4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore FramebufferTextureEXT(target, attachment, texture, level) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value category NV_geometry_program4 version 2.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore alias FramebufferTextureARB FramebufferTextureLayerEXT(target, attachment, texture, level, layer) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param layer CheckedInt32 in value category NV_geometry_program4 version 2.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore alias FramebufferTextureLayer FramebufferTextureFaceEXT(target, attachment, texture, level, face) return void param target FramebufferTarget in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param face TextureTarget in value category NV_geometry_program4 version 2.0 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore alias FramebufferTextureFaceARB ############################################################################### # # Extension #324 # EXT_geometry_shader4 commands # ############################################################################### ProgramParameteriEXT(program, pname, value) return void param program UInt32 in value param pname ProgramParameterPName in value param value Int32 in value category EXT_geometry_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias ProgramParameteriARB ############################################################################### # # Extension #325 # NV_vertex_program4 commands # ############################################################################### VertexAttribI1iEXT(index, x) return void param index UInt32 in value param x Int32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI1ivEXT glxvectorequiv VertexAttribI1ivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI1i VertexAttribI2iEXT(index, x, y) return void param index UInt32 in value param x Int32 in value param y Int32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI2ivEXT glxvectorequiv VertexAttribI2ivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI2i VertexAttribI3iEXT(index, x, y, z) return void param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI3ivEXT glxvectorequiv VertexAttribI3ivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI3i VertexAttribI4iEXT(index, x, y, z, w) return void param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI4ivEXT glxvectorequiv VertexAttribI4ivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4i VertexAttribI1uiEXT(index, x) return void param index UInt32 in value param x UInt32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI1uivEXT glxvectorequiv VertexAttribI1uivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI1ui VertexAttribI2uiEXT(index, x, y) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI2uivEXT glxvectorequiv VertexAttribI2uivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI2ui VertexAttribI3uiEXT(index, x, y, z) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI3uivEXT glxvectorequiv VertexAttribI3uivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI3ui VertexAttribI4uiEXT(index, x, y, z, w) return void param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value param w UInt32 in value category NV_vertex_program4 beginend allow-inside vectorequiv VertexAttribI4uivEXT glxvectorequiv VertexAttribI4uivEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4ui VertexAttribI1ivEXT(index, v) return void param index UInt32 in value param v Int32 in array [1] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI1iv VertexAttribI2ivEXT(index, v) return void param index UInt32 in value param v Int32 in array [2] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI2iv VertexAttribI3ivEXT(index, v) return void param index UInt32 in value param v Int32 in array [3] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI3iv VertexAttribI4ivEXT(index, v) return void param index UInt32 in value param v Int32 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4iv VertexAttribI1uivEXT(index, v) return void param index UInt32 in value param v UInt32 in array [1] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI1uiv VertexAttribI2uivEXT(index, v) return void param index UInt32 in value param v UInt32 in array [2] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI2uiv VertexAttribI3uivEXT(index, v) return void param index UInt32 in value param v UInt32 in array [3] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI3uiv VertexAttribI4uivEXT(index, v) return void param index UInt32 in value param v UInt32 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4uiv VertexAttribI4bvEXT(index, v) return void param index UInt32 in value param v Int8 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4bv VertexAttribI4svEXT(index, v) return void param index UInt32 in value param v Int16 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4sv VertexAttribI4ubvEXT(index, v) return void param index UInt32 in value param v UInt8 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4ubv VertexAttribI4usvEXT(index, v) return void param index UInt32 in value param v UInt16 in array [4] category NV_vertex_program4 beginend allow-inside extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribI4usv VertexAttribIPointerEXT(index, size, type, stride, pointer) return void param index UInt32 in value param size Int32 in value param type VertexAttribEnum in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category NV_vertex_program4 dlflags notlistable extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias VertexAttribIPointer GetVertexAttribIivEXT(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnum in value param params Int32 out array [1] category NV_vertex_program4 dlflags notlistable extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias GetVertexAttribIiv GetVertexAttribIuivEXT(index, pname, params) return void param index UInt32 in value param pname VertexAttribEnum in value param params UInt32 out array [1] category NV_vertex_program4 dlflags notlistable extension soft WINSOFT NV10 glfflags ignore glxflags ignore alias GetVertexAttribIuiv ############################################################################### # # Extension #326 # EXT_gpu_shader4 commands # ############################################################################### GetUniformuivEXT(program, location, params) return void param program UInt32 in value param location Int32 in value param params UInt32 out array [COMPSIZE(program/location)] category EXT_gpu_shader4 dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias GetUniformuiv BindFragDataLocationEXT(program, color, name) return void param program UInt32 in value param color UInt32 in value param name Char in array [COMPSIZE(name)] category EXT_gpu_shader4 dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias BindFragDataLocation GetFragDataLocationEXT(program, name) return Int32 param program UInt32 in value param name Char in array [COMPSIZE(name)] category EXT_gpu_shader4 dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias GetFragDataLocation Uniform1uiEXT(location, v0) return void param location Int32 in value param v0 UInt32 in value category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform1ui Uniform2uiEXT(location, v0, v1) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform2ui Uniform3uiEXT(location, v0, v1, v2) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform3ui Uniform4uiEXT(location, v0, v1, v2, v3) return void param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value param v3 UInt32 in value category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform4ui Uniform1uivEXT(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count] category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform1uiv Uniform2uivEXT(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*2] category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform2uiv Uniform3uivEXT(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*3] category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform3uiv Uniform4uivEXT(location, count, value) return void param location Int32 in value param count SizeI in value param value UInt32 in array [count*4] category EXT_gpu_shader4 version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias Uniform4uiv ############################################################################### # # Extension #327 # EXT_draw_instanced commands # ############################################################################### DrawArraysInstancedEXT(mode, start, count, primcount) return void param mode BeginMode in value param start Int32 in value param count SizeI in value param primcount SizeI in value category EXT_draw_instanced version 2.0 extension soft WINSOFT dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore alias DrawArraysInstancedARB DrawElementsInstancedEXT(mode, count, type, indices, primcount) return void param mode BeginMode in value param count SizeI in value param type DrawElementsType in value param indices Void in array [COMPSIZE(count/type)] param primcount SizeI in value category EXT_draw_instanced version 2.0 extension soft WINSOFT dlflags notlistable vectorequiv ArrayElement glfflags ignore glxflags ignore alias DrawElementsInstancedARB ############################################################################### # # Extension #328 # EXT_packed_float commands # ############################################################################### # (none) newcategory: EXT_packed_float ############################################################################### # # Extension #329 # EXT_texture_array commands # ############################################################################### # (none) newcategory: EXT_texture_array ############################################################################### # # Extension #330 # EXT_texture_buffer_object commands # ############################################################################### TexBufferEXT(target, internalformat, buffer) return void param target TextureTarget in value param internalformat GLenum in value param buffer UInt32 in value category EXT_texture_buffer_object version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore alias TexBufferARB ############################################################################### # # Extension #331 # EXT_texture_compression_latc commands # ############################################################################### # (none) newcategory: EXT_texture_compression_latc ############################################################################### # # Extension #332 # EXT_texture_compression_rgtc commands # ############################################################################### # (none) newcategory: EXT_texture_compression_rgtc ############################################################################### # # Extension #333 # EXT_texture_shared_exponent commands # ############################################################################### # (none) newcategory: EXT_texture_shared_exponent ############################################################################### # # Extension #334 # NV_depth_buffer_float commands # ############################################################################### DepthRangedNV(zNear, zFar) return void param zNear Float64 in value param zFar Float64 in value category NV_depth_buffer_float extension soft WINSOFT NV50 version 2.0 glfflags ignore glxflags ignore ClearDepthdNV(depth) return void param depth Float64 in value category NV_depth_buffer_float extension soft WINSOFT NV50 version 2.0 glfflags ignore glxflags ignore DepthBoundsdNV(zmin, zmax) return void param zmin Float64 in value param zmax Float64 in value category NV_depth_buffer_float extension soft WINSOFT NV50 version 2.0 glfflags ignore glxflags ignore ############################################################################### # # Extension #335 # NV_fragment_program4 commands # ############################################################################### # (none) newcategory: NV_fragment_program4 ############################################################################### # # Extension #336 # NV_framebuffer_multisample_coverage commands # ############################################################################### RenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height) return void param target RenderbufferTarget in value param coverageSamples SizeI in value param colorSamples SizeI in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value category NV_framebuffer_multisample_coverage version 1.5 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore ############################################################################### # # Extension #337 # EXT_framebuffer_sRGB commands # ############################################################################### # (none) newcategory: EXT_framebuffer_sRGB ############################################################################### # # Extension #338 # NV_geometry_shader4 commands # ############################################################################### # (none) newcategory: NV_geometry_shader4 ############################################################################### # # Extension #339 # NV_parameter_buffer_object commands # ############################################################################### ProgramBufferParametersfvNV(target, buffer, index, count, params) return void param target ProgramTarget in value param buffer UInt32 in value param index UInt32 in value param count SizeI in value param params Float32 in array [count] category NV_parameter_buffer_object version 1.2 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramBufferParametersIivNV(target, buffer, index, count, params) return void param target ProgramTarget in value param buffer UInt32 in value param index UInt32 in value param count SizeI in value param params Int32 in array [count] category NV_parameter_buffer_object version 1.2 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ProgramBufferParametersIuivNV(target, buffer, index, count, params) return void param target ProgramTarget in value param buffer UInt32 in value param index UInt32 in value param count SizeI in value param params UInt32 in array [count] category NV_parameter_buffer_object version 1.2 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ############################################################################### # # Extension #340 # EXT_draw_buffers2 commands # ############################################################################### ColorMaskIndexedEXT(index, r, g, b, a) return void param index UInt32 in value param r Boolean in value param g Boolean in value param b Boolean in value param a Boolean in value category EXT_draw_buffers2 version 2.0 glxflags ignore glfflags ignore extension soft WINSOFT alias ColorMaski GetBooleanIndexedvEXT(target, index, data) return void param target GLenum in value param index UInt32 in value param data Boolean out array [COMPSIZE(target)] category EXT_draw_buffers2 version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias GetBooleani_v GetIntegerIndexedvEXT(target, index, data) return void param target GLenum in value param index UInt32 in value param data Int32 out array [COMPSIZE(target)] category EXT_draw_buffers2 version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias GetIntegeri_v EnableIndexedEXT(target, index) return void param target GLenum in value param index UInt32 in value category EXT_draw_buffers2 version 2.0 glxflags ignore glfflags ignore extension soft WINSOFT alias Enablei DisableIndexedEXT(target, index) return void param target GLenum in value param index UInt32 in value category EXT_draw_buffers2 version 2.0 glxflags ignore glfflags ignore extension soft WINSOFT alias Disablei IsEnabledIndexedEXT(target, index) return Boolean param target GLenum in value param index UInt32 in value category EXT_draw_buffers2 version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias IsEnabledi ############################################################################### # # Extension #341 # NV_transform_feedback commands # ############################################################################### BeginTransformFeedbackNV(primitiveMode) return void param primitiveMode GLenum in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BeginTransformFeedback EndTransformFeedbackNV() return void category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias EndTransformFeedback TransformFeedbackAttribsNV(count, attribs, bufferMode) return void param count UInt32 in value param attribs Int32 in array [COMPSIZE(count)] param bufferMode GLenum in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT BindBufferRangeNV(target, index, buffer, offset, size) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value param offset BufferOffset in value param size BufferSize in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BindBufferRange BindBufferOffsetNV(target, index, buffer, offset) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value param offset BufferOffset in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BindBufferOffsetEXT BindBufferBaseNV(target, index, buffer) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BindBufferBase TransformFeedbackVaryingsNV(program, count, varyings, bufferMode) return void param program UInt32 in value param count SizeI in value param varyings CharPointer in array [count] param bufferMode GLenum in value category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias TransformFeedbackVaryings ActiveVaryingNV(program, name) return void param program UInt32 in value param name Char in array [COMPSIZE(name)] category NV_transform_feedback version 1.5 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT GetVaryingLocationNV(program, name) return Int32 param program UInt32 in value param name Char in array [COMPSIZE(name)] category NV_transform_feedback dlflags notlistable version 1.5 glfflags ignore glxflags ignore extension soft WINSOFT GetActiveVaryingNV(program, index, bufSize, length, size, type, name) return void param program UInt32 in value param index UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param size SizeI out array [1] param type GLenum out array [1] param name Char out array [COMPSIZE(program/index/bufSize)] category NV_transform_feedback dlflags notlistable version 1.5 extension soft WINSOFT glfflags ignore glxflags ignore GetTransformFeedbackVaryingNV(program, index, location) return void param program UInt32 in value param index UInt32 in value param location Int32 out array [1] category NV_transform_feedback dlflags notlistable version 1.5 extension soft WINSOFT glfflags ignore glxflags ignore alias GetTransformFeedbackVarying ############################################################################### # # Extension #342 # EXT_bindable_uniform commands # ############################################################################### UniformBufferEXT(program, location, buffer) return void param program UInt32 in value param location Int32 in value param buffer UInt32 in value category EXT_bindable_uniform version 2.0 extension soft WINSOFT glxflags ignore glfflags ignore GetUniformBufferSizeEXT(program, location) return Int32 param program UInt32 in value param location Int32 in value category EXT_bindable_uniform dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore GetUniformOffsetEXT(program, location) return BufferOffset param program UInt32 in value param location Int32 in value category EXT_bindable_uniform dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore ############################################################################### # # Extension #343 # EXT_texture_integer extension commands # ############################################################################### TexParameterIivEXT(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params Int32 in array [COMPSIZE(pname)] category EXT_texture_integer version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore alias TexParameterIiv TexParameterIuivEXT(target, pname, params) return void param target TextureTarget in value param pname TextureParameterName in value param params UInt32 in array [COMPSIZE(pname)] category EXT_texture_integer version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore alias TexParameterIuiv GetTexParameterIivEXT(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_texture_integer dlflags notlistable version 1.0 version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore alias GetTexParameterIiv GetTexParameterIuivEXT(target, pname, params) return void param target TextureTarget in value param pname GetTextureParameter in value param params UInt32 out array [COMPSIZE(pname)] category EXT_texture_integer dlflags notlistable version 1.0 version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore alias GetTexParameterIuiv ClearColorIiEXT(red, green, blue, alpha) return void param red Int32 in value param green Int32 in value param blue Int32 in value param alpha Int32 in value category EXT_texture_integer version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ClearColorIuiEXT(red, green, blue, alpha) return void param red UInt32 in value param green UInt32 in value param blue UInt32 in value param alpha UInt32 in value category EXT_texture_integer version 2.0 extension soft WINSOFT NV50 glfflags ignore glxflags ignore ############################################################################### # # Extension #344 - GLX_EXT_texture_from_pixmap # ############################################################################### ############################################################################### # # Extension #345 # GREMEDY_frame_terminator commands # ############################################################################### FrameTerminatorGREMEDY() return void category GREMEDY_frame_terminator version 1.0 extension glxflags ignore offset ? ############################################################################### # # Extension #346 # NV_conditional_render commands # ############################################################################### BeginConditionalRenderNV(id, mode) return void param id UInt32 in value param mode TypeEnum in value category NV_conditional_render glfflags ignore glxflags ignore alias BeginConditionalRender EndConditionalRenderNV() return void category NV_conditional_render glfflags ignore glxflags ignore alias EndConditionalRender ############################################################################### # # Extension #347 # NV_present_video commands # ############################################################################### # TBD # void PresentFrameKeyedNV(uint video_slot, uint64EXT minPresentTime, # uint beginPresentTimeId, uint # presentDurationId, enum type, enum target0, # uint fill0, uint key0, enum target1, uint # fill1, uint key1); # # void PresentFrameDualFillNV(uint video_slot, uint64EXT # minPresentTime, uint beginPresentTimeId, # uint presentDurationId, enum type, enum # target0, uint fill0, enum target1, uint # fill1, enum target2, uint fill2, enum # target3, uint fill3); # # void GetVideoivNV(uint video_slot, enum pname, int *params); # void GetVideouivNV(uint video_slot, enum pname, uint *params); # void GetVideoi64vNV(uint video_slot, enum pname, int64EXT *params); # void GetVideoui64vNV(uint video_slot, enum pname, uint64EXT *params); # void VideoParameterivNV(uint video_slot, enum pname, const int *params); PresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1) return void param video_slot UInt32 in value param minPresentTime UInt64EXT in value param beginPresentTimeId UInt32 in value param presentDurationId UInt32 in value param type GLenum in value param target0 GLenum in value param fill0 UInt32 in value param key0 UInt32 in value param target1 GLenum in value param fill1 UInt32 in value param key1 UInt32 in value category NV_present_video version 1.2 extension glxropcode ? glxflags ignore offset ? PresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3) return void param video_slot UInt32 in value param minPresentTime UInt64EXT in value param beginPresentTimeId UInt32 in value param presentDurationId UInt32 in value param type GLenum in value param target0 GLenum in value param fill0 UInt32 in value param target1 GLenum in value param fill1 UInt32 in value param target2 GLenum in value param fill2 UInt32 in value param target3 GLenum in value param fill3 UInt32 in value category NV_present_video version 1.2 extension glxropcode ? glxflags ignore offset ? GetVideoivNV(video_slot, pname, params) return void param video_slot UInt32 in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category NV_present_video dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVideouivNV(video_slot, pname, params) return void param video_slot UInt32 in value param pname GLenum in value param params UInt32 out array [COMPSIZE(pname)] category NV_present_video dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVideoi64vNV(video_slot, pname, params) return void param video_slot UInt32 in value param pname GLenum in value param params Int64EXT out array [COMPSIZE(pname)] category NV_present_video dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetVideoui64vNV(video_slot, pname, params) return void param video_slot UInt32 in value param pname GLenum in value param params UInt64EXT out array [COMPSIZE(pname)] category NV_present_video dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #348 - GLX_NV_video_out # Extension #349 - WGL_NV_video_out # Extension #350 - GLX_NV_swap_group # Extension #351 - WGL_NV_swap_group # ############################################################################### ############################################################################### # # Extension #352 # EXT_transform_feedback commands # ############################################################################### # From EXT_draw_buffers2: GetBooleanIndexedvEXT / GetIntegerIndexedvEXT BeginTransformFeedbackEXT(primitiveMode) return void param primitiveMode GLenum in value category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BeginTransformFeedback EndTransformFeedbackEXT() return void category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias EndTransformFeedback BindBufferRangeEXT(target, index, buffer, offset, size) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value param offset BufferOffset in value param size BufferSize in value category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BindBufferRange # Not promoted to the OpenGL 3.0 core BindBufferOffsetEXT(target, index, buffer, offset) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value param offset BufferOffset in value category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT BindBufferBaseEXT(target, index, buffer) return void param target GLenum in value param index UInt32 in value param buffer UInt32 in value category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias BindBufferBase TransformFeedbackVaryingsEXT(program, count, varyings, bufferMode) return void param program UInt32 in value param count SizeI in value param varyings CharPointer in array [count] param bufferMode GLenum in value category EXT_transform_feedback version 2.0 dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT alias TransformFeedbackVaryings GetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name) return void param program UInt32 in value param index UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param size SizeI out array [1] param type GLenum out array [1] param name Char out array [COMPSIZE(length)] category EXT_transform_feedback dlflags notlistable version 2.0 extension soft WINSOFT glfflags ignore glxflags ignore alias GetTransformFeedbackVarying ############################################################################### # # Extension #353 # EXT_direct_state_access commands # ############################################################################### # New 1.1 client commands ClientAttribDefaultEXT(mask) return void param mask ClientAttribMask in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore ### client-handcode client-intercept server-handcode PushClientAttribDefaultEXT(mask) return void param mask ClientAttribMask in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore ### client-handcode client-intercept server-handcode # New 1.0 matrix commands MatrixLoadfEXT(mode, m) return void param mode MatrixMode in value param m Float32 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixLoaddEXT(mode, m) return void param mode MatrixMode in value param m Float64 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixMultfEXT(mode, m) return void param mode MatrixMode in value param m Float32 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixMultdEXT(mode, m) return void param mode MatrixMode in value param m Float64 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixLoadIdentityEXT(mode) return void param mode MatrixMode in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixRotatefEXT(mode, angle, x, y, z) return void param mode MatrixMode in value param angle Float32 in value param x Float32 in value param y Float32 in value param z Float32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixRotatedEXT(mode, angle, x, y, z) return void param mode MatrixMode in value param angle Float64 in value param x Float64 in value param y Float64 in value param z Float64 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixScalefEXT(mode, x, y, z) return void param mode MatrixMode in value param x Float32 in value param y Float32 in value param z Float32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixScaledEXT(mode, x, y, z) return void param mode MatrixMode in value param x Float64 in value param y Float64 in value param z Float64 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixTranslatefEXT(mode, x, y, z) return void param mode MatrixMode in value param x Float32 in value param y Float32 in value param z Float32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixTranslatedEXT(mode, x, y, z) return void param mode MatrixMode in value param x Float64 in value param y Float64 in value param z Float64 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar) return void param mode MatrixMode in value param left Float64 in value param right Float64 in value param bottom Float64 in value param top Float64 in value param zNear Float64 in value param zFar Float64 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar) return void param mode MatrixMode in value param left Float64 in value param right Float64 in value param bottom Float64 in value param top Float64 in value param zNear Float64 in value param zFar Float64 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixPopEXT(mode) return void param mode MatrixMode in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixPushEXT(mode) return void param mode MatrixMode in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore # New 1.3 matrix transpose commands MatrixLoadTransposefEXT(mode, m) return void param mode MatrixMode in value param m Float32 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixLoadTransposedEXT(mode, m) return void param mode MatrixMode in value param m Float64 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixMultTransposefEXT(mode, m) return void param mode MatrixMode in value param m Float32 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MatrixMultTransposedEXT(mode, m) return void param mode MatrixMode in value param m Float64 in array [16] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore # New 1.1 texture object commands TextureParameterfEXT(texture, target, pname, param) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param param CheckedFloat32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore vectorequiv TextureParameterfvEXT TextureParameterfvEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore TextureParameteriEXT(texture, target, pname, param) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param param CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore vectorequiv TextureParameterivEXT TextureParameterivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore TextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-handcode decode-handcode pixel-unpack TextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-handcode decode-handcode pixel-unpack TextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category EXT_direct_state_access dlflags handcode glxflags ignore ### EXT client-handcode server-handcode glxflags ignore extension soft WINSOFT glfflags ignore TextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category EXT_direct_state_access dlflags handcode glxflags ignore ### EXT client-handcode server-handcode extension soft WINSOFT glfflags ignore CopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param border CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT # New 1.1 texture object queries GetTextureImageEXT(texture, target, level, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void out array [COMPSIZE(target/level/format/type)] category EXT_direct_state_access dlflags notlistable glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-execute capture-handcode decode-handcode pixel-pack GetTextureParameterfvEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetTextureParameterivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetTextureLevelParameterfvEXT(texture, target, level, pname, params) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetTextureLevelParameterivEXT(texture, target, level, pname, params) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum # New 1.2 3D texture object commands TextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode EXT extension soft WINSOFT glfflags ignore TextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode EXT extension soft WINSOFT glfflags ignore CopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_direct_state_access glxflags ignore ### EXT extension soft WINSOFT glfflags ignore # New 1.1 multitexture commands MultiTexParameterfEXT(texunit, target, pname, param) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param param CheckedFloat32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore vectorequiv MultiTexParameterfvEXT MultiTexParameterfvEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MultiTexParameteriEXT(texunit, target, pname, param) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param param CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore vectorequiv MultiTexParameterivEXT MultiTexParameterivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags ignore MultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-handcode decode-handcode pixel-unpack MultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-handcode decode-handcode pixel-unpack MultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width)] category EXT_direct_state_access dlflags handcode glxflags ignore ### EXT client-handcode server-handcode extension soft WINSOFT glfflags ignore MultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height)] category EXT_direct_state_access dlflags handcode glxflags ignore ### EXT client-handcode server-handcode extension soft WINSOFT glfflags ignore CopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param border CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT CopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT # New 1.1 multitexture queries GetMultiTexImageEXT(texunit, target, level, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void out array [COMPSIZE(target/level/format/type)] category EXT_direct_state_access dlflags notlistable glxflags ignore ### client-handcode server-handcode extension soft WINSOFT glfflags capture-execute capture-handcode decode-handcode pixel-pack GetMultiTexParameterfvEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexParameterivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexLevelParameterivEXT(texunit, target, level, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum # New 1.2 3D multitexture commands MultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode EXT extension soft WINSOFT glfflags ignore MultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param pixels Void in array [COMPSIZE(format/type/width/height/depth)] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode EXT extension soft WINSOFT glfflags ignore CopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param x WinCoord in value param y WinCoord in value param width SizeI in value param height SizeI in value category EXT_direct_state_access glxflags ignore ### EXT extension soft WINSOFT glfflags ignore # New 1.2.1 multitexture texture commands BindMultiTextureEXT(texunit, target, texture) return void param texunit TextureUnit in value param target TextureTarget in value param texture Texture in value category EXT_direct_state_access extension soft WINSOFT glxflags ignore ### EXT EnableClientStateIndexedEXT(array, index) return void param array EnableCap in value param index UInt32 in value category EXT_direct_state_access dlflags notlistable glxflags ignore ### client-handcode client-intercept server-handcode extension soft WINSOFT DisableClientStateIndexedEXT(array, index) return void param array EnableCap in value param index UInt32 in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore ### client-handcode client-intercept server-handcode MultiTexCoordPointerEXT(texunit, size, type, stride, pointer) return void param texunit TextureUnit in value param size Int32 in value param type TexCoordPointerType in value param stride SizeI in value param pointer Void in array [COMPSIZE(size/type/stride)] retained category EXT_direct_state_access dlflags notlistable glxflags ignore ### client-handcode client-intercept server-handcode extension soft WINSOFT glfflags ignore MultiTexEnvfEXT(texunit, target, pname, param) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param param CheckedFloat32 in value category EXT_direct_state_access extension soft WINSOFT vectorequiv MultiTexEnvfvEXT glxflags ignore glfflags gl-enum MultiTexEnvfvEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags gl-enum MultiTexEnviEXT(texunit, target, pname, param) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param param CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT vectorequiv MultiTexEnvivEXT glxflags ignore glfflags gl-enum MultiTexEnvivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags gl-enum MultiTexGendEXT(texunit, coord, pname, param) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param param Float64 in value category EXT_direct_state_access extension soft WINSOFT vectorequiv MultiTexGendvEXT glxflags ignore glfflags gl-enum MultiTexGendvEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params Float64 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags gl-enum MultiTexGenfEXT(texunit, coord, pname, param) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param param CheckedFloat32 in value category EXT_direct_state_access extension soft WINSOFT vectorequiv MultiTexGenfvEXT glxflags ignore glfflags gl-enum MultiTexGenfvEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params CheckedFloat32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags gl-enum MultiTexGeniEXT(texunit, coord, pname, param) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param param CheckedInt32 in value category EXT_direct_state_access extension soft WINSOFT vectorequiv MultiTexGenivEXT glxflags ignore glfflags gl-enum MultiTexGenivEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT glxflags ignore glfflags gl-enum # New 1.2.1 multitexture texture queries GetMultiTexEnvfvEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexEnvivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureEnvTarget in value param pname TextureEnvParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexGendvEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params Float64 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexGenfvEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params Float32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum GetMultiTexGenivEXT(texunit, coord, pname, params) return void param texunit TextureUnit in value param coord TextureCoordName in value param pname TextureGenParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum # From EXT_draw_buffers2 # EnableIndexedEXT # DisableIndexedEXT # IsEnabledIndexedEXT GetFloatIndexedvEXT(target, index, data) return void param target TypeEnum in value param index UInt32 in value param data Float32 out array [COMPSIZE(target)] category EXT_direct_state_access dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT GetDoubleIndexedvEXT(target, index, data) return void param target TypeEnum in value param index UInt32 in value param data Float64 out array [COMPSIZE(target)] category EXT_direct_state_access dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT GetPointerIndexedvEXT(target, index, data) return void param target TypeEnum in value param index UInt32 in value param data VoidPointer out array [COMPSIZE(target)] category EXT_direct_state_access dlflags notlistable glxflags ignore glfflags ignore extension soft WINSOFT # New compressed texture commands CompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits) return void param texture Texture in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT # New compressed texture query GetCompressedTextureImageEXT(texture, target, lod, img) return void param texture Texture in value param target TextureTarget in value param lod CheckedInt32 in value param img Void out array [COMPSIZE(target/lod)] category EXT_direct_state_access dlflags notlistable glxflags ignore ### server-handcode extension soft WINSOFT # New compressed multitexture commands CompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param depth SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param height SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param internalformat TextureInternalFormat in value param width SizeI in value param border CheckedInt32 in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param zoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param yoffset CheckedInt32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT CompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits) return void param texunit TextureUnit in value param target TextureTarget in value param level CheckedInt32 in value param xoffset CheckedInt32 in value param width SizeI in value param format PixelFormat in value param imageSize SizeI in value param bits Void in array [imageSize] category EXT_direct_state_access dlflags handcode glxflags ignore ### client-handcode server-handcode glfflags ignore extension soft WINSOFT # New compressed multitexture query GetCompressedMultiTexImageEXT(texunit, target, lod, img) return void param texunit TextureUnit in value param target TextureTarget in value param lod CheckedInt32 in value param img Void out array [COMPSIZE(target/lod)] category EXT_direct_state_access dlflags notlistable glxflags ignore ### server-handcode extension soft WINSOFT # New ARB assembly program named commands NamedProgramStringEXT(program, target, format, len, string) return void param program UInt32 in value param target ProgramTarget in value param format ProgramFormat in value param len SizeI in value param string Void in array [len] category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT glfflags ignore glxflags ignore ### client-handcode server-handcode EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program NamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param x Float64 in value param y Float64 in value param z Float64 in value param w Float64 in value category EXT_direct_state_access subcategory ARB_vertex_program vectorequiv NamedProgramLocalParameter4dvEXT glxvectorequiv NamedProgramLocalParameter4dvEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program NamedProgramLocalParameter4dvEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Float64 in array [4] category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program NamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param x Float32 in value param y Float32 in value param z Float32 in value param w Float32 in value category EXT_direct_state_access subcategory ARB_vertex_program vectorequiv NamedProgramLocalParameter4fvEXT glxvectorequiv NamedProgramLocalParameter4fvEXT extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program NamedProgramLocalParameter4fvEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Float32 in array [4] category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program # New ARB assembly program named queries GetNamedProgramLocalParameterdvEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Float64 out array [4] dlflags notlistable category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### client-handcode server-handcode EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program GetNamedProgramLocalParameterfvEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Float32 out array [4] dlflags notlistable category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### client-handcode server-handcode EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program GetNamedProgramivEXT(program, target, pname, params) return void param program UInt32 in value param target ProgramTarget in value param pname ProgramProperty in value param params Int32 out array [1] dlflags notlistable category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### client-handcode server-handcode EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program GetNamedProgramStringEXT(program, target, pname, string) return void param program UInt32 in value param target ProgramTarget in value param pname ProgramStringProperty in value param string Void out array [COMPSIZE(program,pname)] dlflags notlistable category EXT_direct_state_access subcategory ARB_vertex_program extension soft WINSOFT NV10 glfflags ignore glxflags ignore ### client-handcode server-handcode EXT glextmask GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program # New EXT_gpu_program_parameters command NamedProgramLocalParameters4fvEXT(program, target, index, count, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params Float32 in array [count*4] category EXT_direct_state_access subcategory EXT_gpu_program_parameters extension soft WINSOFT NV10 glfflags ignore glxflags ignore glextmask GL_MASK_EXT_gpu_program_parameters # New NV_gpu_program4 commands NamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param x Int32 in value param y Int32 in value param z Int32 in value param w Int32 in value category EXT_direct_state_access subcategory NV_gpu_program4 vectorequiv NamedProgramLocalParameterI4ivEXT glxvectorequiv NamedProgramLocalParameterI4ivEXT extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedProgramLocalParameterI4ivEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Int32 in array [4] category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedProgramLocalParametersI4ivEXT(program, target, index, count, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params Int32 in array [count*4] category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param x UInt32 in value param y UInt32 in value param z UInt32 in value param w UInt32 in value category EXT_direct_state_access subcategory NV_gpu_program4 vectorequiv NamedProgramLocalParameterI4uivEXT glxvectorequiv NamedProgramLocalParameterI4uivEXT extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedProgramLocalParameterI4uivEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params UInt32 in array [4] category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedProgramLocalParametersI4uivEXT(program, target, index, count, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param count SizeI in value param params UInt32 in array [count*4] category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 GetNamedProgramLocalParameterIivEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params Int32 out array [4] dlflags notlistable category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 GetNamedProgramLocalParameterIuivEXT(program, target, index, params) return void param program UInt32 in value param target ProgramTarget in value param index UInt32 in value param params UInt32 out array [4] dlflags notlistable category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 # New EXT_texture_integer texture object commands TextureParameterIivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer extension soft WINSOFT glxflags ignore glfflags ignore glextmask GL_MASK_EXT_texture_integer TextureParameterIuivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname TextureParameterName in value param params UInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer extension soft WINSOFT glxflags ignore glfflags ignore glextmask GL_MASK_EXT_texture_integer # New EXT_texture_integer texture object queries GetTextureParameterIivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum glextmask GL_MASK_EXT_texture_integer GetTextureParameterIuivEXT(texture, target, pname, params) return void param texture Texture in value param target TextureTarget in value param pname GetTextureParameter in value param params UInt32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum glextmask GL_MASK_EXT_texture_integer # New EXT_texture_integer multitexture commands MultiTexParameterIivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param params CheckedInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer extension soft WINSOFT glxflags ignore glfflags ignore glextmask GL_MASK_EXT_texture_integer MultiTexParameterIuivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname TextureParameterName in value param params UInt32 in array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer extension soft WINSOFT glxflags ignore glfflags ignore glextmask GL_MASK_EXT_texture_integer # New EXT_texture_integer multitexture queries GetMultiTexParameterIivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname GetTextureParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer dlflags notlistable extension soft WINSOFT glfflags capture-execute gl-enum glxflags ignore glextmask GL_MASK_EXT_texture_integer GetMultiTexParameterIuivEXT(texunit, target, pname, params) return void param texunit TextureUnit in value param target TextureTarget in value param pname GetTextureParameter in value param params UInt32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_texture_integer dlflags notlistable extension soft WINSOFT glfflags capture-execute gl-enum glxflags ignore glextmask GL_MASK_EXT_texture_integer # New GLSL 2.0 uniform commands ProgramUniform1fEXT(program, location, v0) return void param program UInt32 in value param location Int32 in value param v0 Float32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2fEXT(program, location, v0, v1) return void param program UInt32 in value param location Int32 in value param v0 Float32 in value param v1 Float32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3fEXT(program, location, v0, v1, v2) return void param program UInt32 in value param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4fEXT(program, location, v0, v1, v2, v3) return void param program UInt32 in value param location Int32 in value param v0 Float32 in value param v1 Float32 in value param v2 Float32 in value param v3 Float32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform1iEXT(program, location, v0) return void param program UInt32 in value param location Int32 in value param v0 Int32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2iEXT(program, location, v0, v1) return void param program UInt32 in value param location Int32 in value param v0 Int32 in value param v1 Int32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3iEXT(program, location, v0, v1, v2) return void param program UInt32 in value param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4iEXT(program, location, v0, v1, v2, v3) return void param program UInt32 in value param location Int32 in value param v0 Int32 in value param v1 Int32 in value param v2 Int32 in value param v3 Int32 in value category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform1fvEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Float32 in array [count] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2fvEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Float32 in array [count*2] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3fvEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Float32 in array [count*3] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4fvEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Float32 in array [count*4] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform1ivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Int32 in array [count] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2ivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Int32 in array [count*2] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3ivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Int32 in array [count*3] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4ivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value Int32 in array [count*4] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix2fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*4] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix3fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*9] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix4fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*16] category EXT_direct_state_access subcategory VERSION_2_0 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 # New GLSL 2.1 uniform commands ProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*6] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*6] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*8] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*8] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*12] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param transpose Boolean in value param value Float32 in array [count*12] category EXT_direct_state_access subcategory VERSION_2_1 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 # New EXT_gpu_shader4 commands ProgramUniform1uiEXT(program, location, v0) return void param program UInt32 in value param location Int32 in value param v0 UInt32 in value category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2uiEXT(program, location, v0, v1) return void param program UInt32 in value param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3uiEXT(program, location, v0, v1, v2) return void param program UInt32 in value param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4uiEXT(program, location, v0, v1, v2, v3) return void param program UInt32 in value param location Int32 in value param v0 UInt32 in value param v1 UInt32 in value param v2 UInt32 in value param v3 UInt32 in value category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform1uivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value UInt32 in array [count] category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform2uivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value UInt32 in array [count*2] category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform3uivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value UInt32 in array [count*3] category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 ProgramUniform4uivEXT(program, location, count, value) return void param program UInt32 in value param location Int32 in value param count SizeI in value param value UInt32 in array [count*4] category EXT_direct_state_access subcategory EXT_gpu_shader4 glfflags ignore glxflags ignore extension soft WINSOFT glextmask GL_MASK_OpenGL_2_0 # New named buffer commands NamedBufferDataEXT(buffer, size, data, usage) return void param buffer UInt32 in value param size Sizeiptr in value param data Void in array [COMPSIZE(size)] param usage VertexBufferObjectUsage in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore NamedBufferSubDataEXT(buffer, offset, size, data) return void param buffer UInt32 in value param offset Intptr in value param size Sizeiptr in value param data Void in array [COMPSIZE(size)] category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore MapNamedBufferEXT(buffer, access) return VoidPointer param buffer UInt32 in value param access VertexBufferObjectAccess in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore UnmapNamedBufferEXT(buffer) return Boolean param buffer UInt32 in value category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore # New named buffer queries GetNamedBufferParameterivEXT(buffer, pname, params) return void param buffer UInt32 in value param pname VertexBufferObjectParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore GetNamedBufferPointervEXT(buffer, pname, params) return void param buffer UInt32 in value param pname VertexBufferObjectParameter in value param params VoidPointer out array [COMPSIZE(pname)] category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore GetNamedBufferSubDataEXT(buffer, offset, size, data) return void param buffer UInt32 in value param offset Intptr in value param size Sizeiptr in value param data Void out array [COMPSIZE(size)] category EXT_direct_state_access extension soft WINSOFT dlflags notlistable glxflags ignore glfflags ignore # New named texture buffer texture object command TextureBufferEXT(texture, target, internalformat, buffer) return void param texture Texture in value param target TextureTarget in value param internalformat TypeEnum in value param buffer UInt32 in value category EXT_direct_state_access subcategory EXT_texture_buffer_object extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_EXT_texture_buffer_object dlflags notlistable # New named texture buffer multitexture command MultiTexBufferEXT(texunit, target, internalformat, buffer) return void param texunit TextureUnit in value param target TextureTarget in value param internalformat TypeEnum in value param buffer UInt32 in value category EXT_direct_state_access subcategory EXT_texture_buffer_object extension soft WINSOFT NV50 glfflags ignore glxflags ignore glextmask GL_MASK_EXT_texture_buffer_object dlflags notlistable # New named frame buffer object commands NamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height) return void param renderbuffer Renderbuffer in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object GetNamedRenderbufferParameterivEXT(renderbuffer, pname, params) return void param renderbuffer Renderbuffer in value param pname RenderbufferParameterName in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object CheckNamedFramebufferStatusEXT(framebuffer, target) return FramebufferStatus param framebuffer Framebuffer in value param target FramebufferTarget in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object NamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param textarget TextureTarget in value param texture Texture in value param level CheckedInt32 in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object NamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param textarget TextureTarget in value param texture Texture in value param level CheckedInt32 in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object NamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param textarget TextureTarget in value param texture Texture in value param level CheckedInt32 in value param zoffset CheckedInt32 in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object NamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param renderbuffertarget RenderbufferTarget in value param renderbuffer Renderbuffer in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object GetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param pname FramebufferAttachmentParameterName in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object GenerateTextureMipmapEXT(texture, target) return void param texture Texture in value param target TextureTarget in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object GenerateMultiTexMipmapEXT(texunit, target) return void param texunit TextureUnit in value param target TextureTarget in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object FramebufferDrawBufferEXT(framebuffer, mode) return void param framebuffer Framebuffer in value param mode DrawBufferMode in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object FramebufferDrawBuffersEXT(framebuffer, n, bufs) return void param framebuffer Framebuffer in value param n SizeI in value param bufs DrawBufferMode in array [n] category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object FramebufferReadBufferEXT(framebuffer, mode) return void param framebuffer Framebuffer in value param mode ReadBufferMode in value category EXT_direct_state_access subcategory EXT_framebuffer_object extension soft WINSOFT glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_object GetFramebufferParameterivEXT(framebuffer, pname, params) return void param framebuffer Framebuffer in value param pname GetFramebufferParameter in value param params Int32 out array [COMPSIZE(pname)] category EXT_direct_state_access subcategory EXT_framebuffer_object dlflags notlistable extension soft WINSOFT glxflags ignore glfflags capture-execute gl-enum # New named framebuffer multisample object commands NamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height) return void param renderbuffer Renderbuffer in value param samples SizeI in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value category EXT_direct_state_access subcategory EXT_framebuffer_multisample extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_EXT_framebuffer_multisample # New named framebuffer multisample coverage object commands NamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height) return void param renderbuffer Renderbuffer in value param coverageSamples SizeI in value param colorSamples SizeI in value param internalformat PixelInternalFormat in value param width SizeI in value param height SizeI in value category EXT_direct_state_access subcategory NV_framebuffer_multisample_coverage extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_framebuffer_multisample_coverage # New named geometry program/shader frame buffer object commands NamedFramebufferTextureEXT(framebuffer, attachment, texture, level) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param layer CheckedInt32 in value category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 NamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face) return void param framebuffer Framebuffer in value param attachment FramebufferAttachment in value param texture Texture in value param level CheckedInt32 in value param face TextureTarget in value category EXT_direct_state_access subcategory NV_gpu_program4 extension soft WINSOFT dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_gpu_program4 # New explicit multisample query and commands TextureRenderbufferEXT(texture, target, renderbuffer) return void param texture Texture in value param target TextureTarget in value param renderbuffer UInt32 in value category EXT_direct_state_access subcategory NV_explicit_multisample extension soft WINSOFT NV50 dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_explicit_multisample MultiTexRenderbufferEXT(texunit, target, renderbuffer) return void param texunit TextureUnit in value param target TextureTarget in value param renderbuffer UInt32 in value category EXT_direct_state_access subcategory NV_explicit_multisample extension soft WINSOFT NV50 dlflags notlistable glfflags ignore glxflags ignore glextmask GL_MASK_NV_explicit_multisample ############################################################################### # # Extension #354 # EXT_vertex_array_bgra commands # ############################################################################### # (none) newcategory: EXT_vertex_array_bgra ############################################################################### # # Extension #355 - WGL_NV_gpu_affinity # ############################################################################### ############################################################################### # # Extension #356 # EXT_texture_swizzle commands # ############################################################################### # (none) newcategory: EXT_texture_swizzle ############################################################################### # # Extension #357 # NV_explicit_multisample commands # ############################################################################### # From EXT_draw_buffers2: GetBooleanIndexedvEXT / GetIntegerIndexedvEXT GetMultisamplefvNV(pname, index, val) return void param pname GetMultisamplePNameNV in value param index UInt32 in value param val Float32 out array [2] category NV_explicit_multisample dlflags notlistable glfflags ignore glxflags ignore SampleMaskIndexedNV(index, mask) return void param index UInt32 in value param mask SampleMaskNV in value category NV_explicit_multisample glfflags ignore glxflags ignore TexRenderbufferNV(target, renderbuffer) return void param target TextureTarget in value param renderbuffer UInt32 in value category NV_explicit_multisample dlflags notlistable glfflags ignore glxflags ignore ############################################################################### # # Extension #358 # NV_transform_feedback2 commands # ############################################################################### BindTransformFeedbackNV(target, id) return void param target BufferTargetARB in value param id UInt32 in value category NV_transform_feedback2 glfflags ignore glxflags ignore DeleteTransformFeedbacksNV(n, ids) return void param n SizeI in value param ids UInt32 in array [n] category NV_transform_feedback2 dlflags notlistable glfflags ignore glxflags ignore GenTransformFeedbacksNV(n, ids) return void param n SizeI in value param ids UInt32 out array [n] category NV_transform_feedback2 dlflags notlistable glfflags ignore glxflags ignore IsTransformFeedbackNV(id) return Boolean param id UInt32 in value category NV_transform_feedback2 dlflags notlistable glfflags ignore glxflags ignore PauseTransformFeedbackNV() return void category NV_transform_feedback2 glfflags ignore glxflags ignore ResumeTransformFeedbackNV() return void category NV_transform_feedback2 glfflags ignore glxflags ignore DrawTransformFeedbackNV(mode, id) return void param mode GLenum in value param id UInt32 in value category NV_transform_feedback2 glfflags ignore glxflags ignore ############################################################################### # # Extension #359 # ATI_meminfo commands # ############################################################################### # (none) newcategory: ATI_meminfo ############################################################################### # # Extension #360 # AMD_performance_monitor commands # ############################################################################### GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups) return void param numGroups Int32 out array [1] param groupsSize SizeI in value param groups UInt32 out array [groupsSize] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters) return void param group UInt32 in value param numCounters Int32 out array [1] param maxActiveCounters Int32 out array [1] param counterSize SizeI in value param counters UInt32 out array [counterSize] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetPerfMonitorGroupStringAMD(group, bufSize, length, groupString) return void param group UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param groupString Char out array [bufSize] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString) return void param group UInt32 in value param counter UInt32 in value param bufSize SizeI in value param length SizeI out array [1] param counterString Char out array [bufSize] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GetPerfMonitorCounterInfoAMD(group, counter, pname, data) return void param group UInt32 in value param counter UInt32 in value param pname GLenum in value param data void out array [COMPSIZE(pname)] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? GenPerfMonitorsAMD(n, monitors) return void param n SizeI in value param monitors UInt32 out array [n] category AMD_performance_monitor version 1.2 extension glxropcode ? glxflags ignore offset ? # 'monitors' is actually in, not out, but extension spec doesn't use const DeletePerfMonitorsAMD(n, monitors) return void param n SizeI in value param monitors UInt32 out array [n] category AMD_performance_monitor version 1.2 extension glxropcode ? glxflags ignore offset ? # 'counterList' is actually in, not out, but extension spec doesn't use const SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList) return void param monitor UInt32 in value param enable Boolean in value param group UInt32 in value param numCounters Int32 in value param counterList UInt32 out array [numCounters] category AMD_performance_monitor version 1.2 extension glxropcode ? glxflags ignore offset ? BeginPerfMonitorAMD(monitor) return void param monitor UInt32 in value category AMD_performance_monitor version 1.2 extension glxropcode ? glxflags ignore offset ? EndPerfMonitorAMD(monitor) return void param monitor UInt32 in value category AMD_performance_monitor version 1.2 extension glxropcode ? glxflags ignore offset ? GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten) return void param monitor UInt32 in value param pname GLenum in value param dataSize SizeI in value param data UInt32 out array [dataSize] param bytesWritten Int32 out array [1] category AMD_performance_monitor dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #361 - WGL_AMD_gpu_association # ############################################################################### ############################################################################### # # Extension #362 # AMD_texture_texture4 commands # ############################################################################### # (none) newcategory: AMD_texture_texture4 ############################################################################### # # Extension #363 # AMD_vertex_shader_tesselator commands # ############################################################################### TessellationFactorAMD(factor) return void param factor Float32 in value category AMD_vertex_shader_tesselator version 2.0 glxsingle ? glxflags ignore offset ? TessellationModeAMD(mode) return void param mode GLenum in value category AMD_vertex_shader_tesselator version 2.0 glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #364 # EXT_provoking_vertex commands # ############################################################################### ProvokingVertexEXT(mode) return void param mode GLenum in value category EXT_provoking_vertex version 2.1 glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #365 # EXT_texture_snorm commands # ############################################################################### # (none) newcategory: EXT_texture_snorm ############################################################################### # # Extension #366 # AMD_draw_buffers_blend commands # ############################################################################### # void BlendFuncIndexedAMD(uint buf, enum src, enum dst) # void BlendFuncSeparateIndexedAMD(uint buf, enum srcRGB, enum dstRGB, enum srcAlpha, enum dstAlpha) # void BlendEquationIndexedAMD(uint buf, enum mode) # void BlendEquationSeparateIndexedAMD(uint buf, enum modeRGB, enum modeAlpha) BlendFuncIndexedAMD(buf, src, dst) return void param buf UInt32 in value param src GLenum in value param dst GLenum in value category AMD_draw_buffers_blend version 2.0 extension glxropcode ? glxflags ignore offset ? BlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) return void param buf UInt32 in value param srcRGB GLenum in value param dstRGB GLenum in value param srcAlpha GLenum in value param dstAlpha GLenum in value category AMD_draw_buffers_blend version 2.0 extension glxropcode ? glxflags ignore offset ? BlendEquationIndexedAMD(buf, mode) return void param buf UInt32 in value param mode GLenum in value category AMD_draw_buffers_blend version 2.0 extension glxropcode ? glxflags ignore offset ? BlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha) return void param buf UInt32 in value param modeRGB GLenum in value param modeAlpha GLenum in value category AMD_draw_buffers_blend version 2.0 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #367 # APPLE_texture_range commands # ############################################################################### TextureRangeAPPLE(target, length, pointer) return void param target GLenum in value param length SizeI in value param pointer Void in array [length] category APPLE_texture_range version 1.2 extension glxropcode ? glxflags ignore offset ? GetTexParameterPointervAPPLE(target, pname, params) return void param target GLenum in value param pname GLenum in value param params VoidPointer out array [1] category APPLE_texture_range dlflags notlistable version 1.2 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #368 # APPLE_float_pixels commands # ############################################################################### # (none) newcategory: APPLE_float_pixels ############################################################################### # # Extension #369 # APPLE_vertex_program_evaluators commands # ############################################################################### EnableVertexAttribAPPLE(index, pname) return void param index UInt32 in value param pname GLenum in value category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? DisableVertexAttribAPPLE(index, pname) return void param index UInt32 in value param pname GLenum in value category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? IsVertexAttribEnabledAPPLE(index, pname) return Boolean param index UInt32 in value param pname GLenum in value category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points) return void param index UInt32 in value param size UInt32 in value param u1 CoordD in value param u2 CoordD in value param stride Int32 in value param order CheckedInt32 in value param points CoordD in array [COMPSIZE(size/stride/order)] category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points) return void param index UInt32 in value param size UInt32 in value param u1 CoordF in value param u2 CoordF in value param stride Int32 in value param order CheckedInt32 in value param points CoordF in array [COMPSIZE(size/stride/order)] category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) return void param index UInt32 in value param size UInt32 in value param u1 CoordD in value param u2 CoordD in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordD in value param v2 CoordD in value param vstride Int32 in value param vorder CheckedInt32 in value param points CoordD in array [COMPSIZE(size/ustride/uorder/vstride/vorder)] category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) return void param index UInt32 in value param size UInt32 in value param u1 CoordF in value param u2 CoordF in value param ustride Int32 in value param uorder CheckedInt32 in value param v1 CoordF in value param v2 CoordF in value param vstride Int32 in value param vorder CheckedInt32 in value param points CoordF in array [COMPSIZE(size/ustride/uorder/vstride/vorder)] category APPLE_vertex_program_evaluators version 1.5 extension glxropcode ? glxflags ignore offset ? ############################################################################### # # Extension #370 # APPLE_aux_depth_stencil commands # ############################################################################### # (none) newcategory: APPLE_aux_depth_stencil ############################################################################### # # Extension #371 # APPLE_object_purgeable commands # ############################################################################### ObjectPurgeableAPPLE(objectType, name, option) return GLenum param objectType GLenum in value param name UInt32 in value param option GLenum in value category APPLE_object_purgeable version 1.5 extension glxropcode ? glxflags ignore offset ? ObjectUnpurgeableAPPLE(objectType, name, option) return GLenum param objectType GLenum in value param name UInt32 in value param option GLenum in value category APPLE_object_purgeable version 1.5 extension glxropcode ? glxflags ignore offset ? GetObjectParameterivAPPLE(objectType, name, pname, params) return void param objectType GLenum in value param name UInt32 in value param pname GLenum in value param params Int32 out array [COMPSIZE(pname)] category APPLE_object_purgeable dlflags notlistable version 1.5 extension glxsingle ? glxflags ignore offset ? ############################################################################### # # Extension #372 # APPLE_row_bytes commands # ############################################################################### # (none) newcategory: APPLE_row_bytes opentk-1.0.20101006/Source/Bind/Specifications/CL10/0000775000175000017500000000000011453142152020262 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/CL10/overrides.xml0000664000175000017500000000333311453131430023005 0ustar laneylaney 127 -128 ErrorCode DeviceTypeFlags ErrorCode CommandQueueFlags CommandQueueFlags ErrorCode ErrorCode ErrorCode ErrorCode ErrorCode ErrorCode string[] ErrorCode opentk-1.0.20101006/Source/Bind/Specifications/CL10/signatures.xml0000664000175000017500000012531411453131430023173 0ustar laneylaney opentk-1.0.20101006/Source/Bind/Specifications/License.txt0000664000175000017500000000231611453131434021751 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregionopentk-1.0.20101006/Source/Bind/Specifications/Glx/0000775000175000017500000000000011453142152020355 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/Glx/glxext.spec0000664000175000017500000007645711453131434022570 0ustar laneylaney# glxext.spec file # DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! # # License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. required-props: param: retval retained glxflags: client-handcode client-intercept server-handcode glxvendorglx: * vectorequiv: * category: VERSION_1_3 VERSION_1_4 ARB_get_proc_address ARB_multisample ARB_fbconfig_float EXT_import_context SGIX_dmbuffer SGIX_fbconfig SGIX_pbuffer SGIX_swap_barrier SGIX_swap_group SGIX_video_resize SGIX_video_source SGI_cushion SGI_make_current_read SGI_swap_control SGI_video_sync SUN_get_transparent_index MESA_agp_offset MESA_copy_sub_buffer MESA_pixmap_colormap MESA_release_buffers MESA_set_3dfx_mode SGIX_visual_select_group OML_sync_control SGIX_hyperpipe glxopcode: * # # Boilerplate to define types used by some extensions. This is done # up front, since it involves some complexities in protecting # the declarations whether or not the -protect flag is given to # the generator scripts. # passthru: #ifndef GLX_ARB_get_proc_address passthru: typedef void (*__GLXextFuncPtr)(void); passthru: #endif passthru: passthru: #ifndef GLX_SGIX_video_source passthru: typedef XID GLXVideoSourceSGIX; passthru: #endif passthru: passthru: #ifndef GLX_SGIX_fbconfig passthru: typedef XID GLXFBConfigIDSGIX; passthru: typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; passthru: #endif passthru: passthru: #ifndef GLX_SGIX_pbuffer passthru: typedef XID GLXPbufferSGIX; passthru: typedef struct { passthru: int type; passthru: unsigned long serial; /* # of last request processed by server */ passthru: Bool send_event; /* true if this came for SendEvent request */ passthru: Display *display; /* display the event was read from */ passthru: GLXDrawable drawable; /* i.d. of Drawable */ passthru: int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ passthru: int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ passthru: unsigned int mask; /* mask indicating which buffers are affected*/ passthru: int x, y; passthru: int width, height; passthru: int count; /* if nonzero, at least this many more */ passthru: } GLXBufferClobberEventSGIX; passthru: #endif passthru: passthru: /* Define int32_t and int64_t types for UST/MSC */ passthru: /* (as used in the GLX_OML_sync_control extension). */ passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L passthru: #include passthru: #elif defined( __VMS ) passthru: #include passthru: #elif defined(__SCO__) || defined(__USLC__) passthru: #include passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__) passthru: typedef long int int32_t; passthru: typedef long long int int64_t; passthru: #else passthru: #warn "int32_t and int64_t are undefined!" passthru: #endif passthru: ############################################################################### # # GLX 1.3 commands # ############################################################################### GetFBConfigs(dpy, screen, nelements) return GLXFBConfigPointer param dpy Display out reference param screen int in value param nelements int out reference category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 21 ChooseFBConfig(dpy, screen, attrib_list, nelements) return GLXFBConfigPointer param dpy Display out reference param screen int in value param attrib_list int in reference param nelements int out reference category VERSION_1_3 glxflags client-handcode client-intercept server-handcode GetFBConfigAttrib(dpy, config, attribute, value) return int param dpy Display out reference param config GLXFBConfig in value param attribute int in value param value int out reference category VERSION_1_3 glxflags client-handcode client-intercept server-handcode GetVisualFromFBConfig(dpy, config) return XVisualInfoPointer param dpy Display out reference param config GLXFBConfig in value category VERSION_1_3 glxflags client-handcode client-intercept server-handcode CreateWindow(dpy, config, win, attrib_list) return GLXWindow param dpy Display out reference param config GLXFBConfig in value param win Window in value param attrib_list int in reference category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 31 DestroyWindow(dpy, win) return void param dpy Display out reference param win GLXWindow in value category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 32 CreatePixmap(dpy, config, pixmap, attrib_list) return GLXPixmap param dpy Display out reference param config GLXFBConfig in value param pixmap Pixmap in value param attrib_list int in reference category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 22 DestroyPixmap(dpy, pixmap) return void param dpy Display out reference param pixmap GLXPixmap in value category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 23 CreatePbuffer(dpy, config, attrib_list) return GLXPbuffer param dpy Display out reference param config GLXFBConfig in value param attrib_list int in reference category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 27 DestroyPbuffer(dpy, pbuf) return void param dpy Display out reference param pbuf GLXPbuffer in value category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 28 # glXGetDrawableAttributes -> GLX opcode 29 # glXChangeDrawableAttributes -> GLX opcode 30 # Uses glXGetDrawableAttributes protocol QueryDrawable(dpy, draw, attribute, value) return void param dpy Display out reference param draw GLXDrawable in value param attribute int in value param value Uint out reference category VERSION_1_3 glxflags client-handcode client-intercept server-handcode CreateNewContext(dpy, config, render_type, share_list, direct) return GLXContext param dpy Display out reference param config GLXFBConfig in value param render_type int in value param share_list GLXContext in value param direct Bool in value category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 24 MakeContextCurrent(dpy, draw, read, ctx) return Bool param dpy Display out reference param draw GLXDrawable in value param read GLXDrawable in value param ctx GLXContext in value category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 26 GetCurrentReadDrawable() return GLXDrawable category VERSION_1_3 glxflags client-handcode client-intercept server-handcode GetCurrentDisplay() return DisplayPointer category VERSION_1_3 glxflags client-handcode client-intercept server-handcode QueryContext(dpy, ctx, attribute, value) return int param dpy Display out reference param ctx GLXContext in value param attribute int in value param value int out reference category VERSION_1_3 glxflags client-handcode server-handcode glxopcode 25 # Uses glXChangeDrawableAttributes protocol SelectEvent(dpy, draw, event_mask) return void param dpy Display out reference param draw GLXDrawable in value param event_mask ulong in value category VERSION_1_3 glxflags client-handcode server-handcode # Uses glXGetDrawableAttributes protocol GetSelectedEvent(dpy, draw, event_mask) return void param dpy Display out reference param draw GLXDrawable in value param event_mask ulong out reference category VERSION_1_3 glxflags client-handcode client-intercept server-handcode ############################################################################### # # GLX 1.4 commands # ############################################################################### GetProcAddress(procName) return FunctionPointer param procName GLubyte in reference category VERSION_1_4 glxflags client-handcode client-intercept server-handcode ############################################################################### # # ARB Extension #2 # ARB_get_proc_address commands # @promoted to core in GLX 1.4, but there's no provision for aliasing # @in GLX spec files, yet # ############################################################################### GetProcAddressARB(procName) return FunctionPointer param procName GLubyte in reference category ARB_get_proc_address glxflags client-handcode client-intercept server-handcode ############################################################################### # # ARB Extension #5 # ARB_multisample commands # ############################################################################### # (none) newcategory: ARB_multisample ############################################################################### # # ARB Extension #39 # ARB_fbconfig_float commands # ############################################################################### # (none) newcategory: ARB_fbconfig_float ############################################################################### # # Extension #25 # SGIS_multisample commands # ############################################################################### # (none) newcategory: SGIS_multisample ############################################################################### # # Extension #28 # EXT_visual_info commands # ############################################################################### # (none) newcategory: EXT_visual_info ############################################################################### # # Extension #40 # SGI_swap_control commands # ############################################################################### SwapIntervalSGI(interval) return int param interval int in value category SGI_swap_control glxflags client-handcode server-handcode glxvendorglx 65536 ############################################################################### # # Extension #41 # SGI_video_sync commands # ############################################################################### GetVideoSyncSGI(count) return int param count Uint out reference category SGI_video_sync glxflags client-handcode client-intercept server-handcode WaitVideoSyncSGI(divisor, remainder, count) return int param divisor int in value param remainder int in value param count Uint out reference category SGI_video_sync glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #42 # SGI_make_current_read commands # ############################################################################### MakeCurrentReadSGI(dpy, draw, read, ctx) return Bool param dpy Display out reference param draw GLXDrawable in value param read GLXDrawable in value param ctx GLXContext in value category SGI_make_current_read glxflags client-handcode server-handcode glxvendorglx 65537 GetCurrentReadDrawableSGI() return GLXDrawable category SGI_make_current_read glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #43 # SGIX_video_source commands # ############################################################################### newcategory: SGIX_video_source passthru: #ifdef _VL_H CreateGLXVideoSourceSGIX(display, screen, server, path, nodeClass, drainNode) return GLXVideoSourceSGIX param display Display out reference param screen int in value param server VLServer in value param path VLPath in value param nodeClass int in value param drainNode VLNode in value category SGIX_video_source glxflags client-handcode server-handcode glxvendorglx 65538 DestroyGLXVideoSourceSGIX(dpy, glxvideosource) return void param dpy Display out reference param glxvideosource GLXVideoSourceSGIX in value category SGIX_video_source glxflags client-handcode server-handcode glxvendorglx 65539 passend: #endif /* _VL_H */ endcategory: ############################################################################### # # Extension #44 # EXT_visual_rating commands # ############################################################################### # (none) newcategory: EXT_visual_rating ############################################################################### # # Extension #47 # EXT_import_context commands # ############################################################################### GetCurrentDisplayEXT() return DisplayPointer category EXT_import_context glxflags client-handcode client-intercept server-handcode QueryContextInfoEXT(dpy, context, attribute, value) return int param dpy Display out reference param context GLXContext in value param attribute int in value param value int out reference category EXT_import_context glxflags client-handcode server-handcode glxvendorglx 1024 # 'constGLXContext' is a hack; the extension specification and glx.h # should be fixed instead. GetContextIDEXT(context) return GLXContextID param context constGLXContext in value category EXT_import_context glxflags client-handcode client-intercept server-handcode ImportContextEXT(dpy, contextID) return GLXContext param dpy Display out reference param contextID GLXContextID in value category EXT_import_context glxflags client-handcode client-intercept server-handcode FreeContextEXT(dpy, context) return void param dpy Display out reference param context GLXContext in value category EXT_import_context glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #49 # SGIX_fbconfig commands # ############################################################################### # GetFBConfigsSGIX protocol -> VendorPrivate opcode 65540 GetFBConfigAttribSGIX(dpy, config, attribute, value) return int param dpy Display out reference param config GLXFBConfigSGIX in value param attribute int in value param value int out reference category SGIX_fbconfig glxflags client-handcode client-intercept server-handcode ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements) return GLXFBConfigSGIXPointer param dpy Display out reference param screen int in value param attrib_list int out reference param nelements int out reference category SGIX_fbconfig glxflags client-handcode client-intercept server-handcode CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap) return GLXPixmap param dpy Display out reference param config GLXFBConfigSGIX in value param pixmap Pixmap in value category SGIX_fbconfig glxflags client-handcode server-handcode glxvendorglx 65542 CreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct) return GLXContext param dpy Display out reference param config GLXFBConfigSGIX in value param render_type int in value param share_list GLXContext in value param direct Bool in value category SGIX_fbconfig glxflags client-handcode server-handcode glxvendorglx 65541 GetVisualFromFBConfigSGIX(dpy, config) return XVisualInfoPointer param dpy Display out reference param config GLXFBConfigSGIX in value category SGIX_fbconfig glxflags client-handcode client-intercept server-handcode GetFBConfigFromVisualSGIX(dpy, vis) return GLXFBConfigSGIX param dpy Display out reference param vis XVisualInfo out reference category SGIX_fbconfig glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #50 # SGIX_pbuffer commands # ############################################################################### # ChangeDrawableAttributesSGIX protocol -> VendorPrivate opcode 65545 # GetDrawableAttributesSGIX protocol -> VendorPrivate opcode 65546 CreateGLXPbufferSGIX(dpy, config, width, height, attrib_list) return GLXPbufferSGIX param dpy Display out reference param config GLXFBConfigSGIX in value param width Uint in value param height Uint in value param attrib_list int out reference category SGIX_pbuffer glxflags client-handcode server-handcode glxvendorglx 65543 DestroyGLXPbufferSGIX(dpy, pbuf) return void param dpy Display out reference param pbuf GLXPbufferSGIX in value category SGIX_pbuffer glxflags client-handcode glxvendorglx 65544 QueryGLXPbufferSGIX(dpy, pbuf, attribute, value) return int param dpy Display out reference param pbuf GLXPbufferSGIX in value param attribute int in value param value Uint out reference category SGIX_pbuffer SelectEventSGIX(dpy, drawable, mask) return void param dpy Display out reference param drawable GLXDrawable in value param mask ulong in value category SGIX_pbuffer GetSelectedEventSGIX(dpy, drawable, mask) return void param dpy Display out reference param drawable GLXDrawable in value param mask ulong out reference category SGIX_pbuffer ############################################################################### # # Extension #62 # SGI_cushion commands # ############################################################################### CushionSGI(dpy, window, cushion) return void param dpy Display out reference param window Window in value param cushion float in value category SGI_cushion ############################################################################### # # Extension #83 # SGIX_video_resize commands # ############################################################################### BindChannelToWindowSGIX(display, screen, channel, window) return int param display Display out reference param screen int in value param channel int in value param window Window in value category SGIX_video_resize ChannelRectSGIX(display, screen, channel, x, y, w, h) return int param display Display out reference param screen int in value param channel int in value param x int in value param y int in value param w int in value param h int in value category SGIX_video_resize QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh) return int param display Display out reference param screen int in value param channel int in value param dx int out reference param dy int out reference param dw int out reference param dh int out reference category SGIX_video_resize QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h) return int param display Display out reference param screen int in value param channel int in value param x int out reference param y int out reference param w int out reference param h int out reference category SGIX_video_resize # @@@ Not in man page - this entry point may not be shipping? ChannelRectSyncSGIX(display, screen, channel, synctype) return int param display Display out reference param screen int in value param channel int in value param synctype GLenum in value category SGIX_video_resize ############################################################################### # # Extension #86 # SGIX_dmbuffer commands # ############################################################################### newcategory: SGIX_dmbuffer passthru: #ifdef _DM_BUFFER_H_ AssociateDMPbufferSGIX(dpy, pbuffer, params, dmbuffer) return Bool param dpy Display out reference param pbuffer GLXPbufferSGIX in value param params DMparams out reference param dmbuffer DMbuffer in value category SGIX_dmbuffer passend: #endif /* _DM_BUFFER_H_ */ endcategory: ############################################################################### # # Extension #91 # SGIX_swap_group commands # ############################################################################### JoinSwapGroupSGIX(dpy, drawable, member) return void param dpy Display out reference param drawable GLXDrawable in value param member GLXDrawable in value category SGIX_swap_group glxflags client-handcode server-handcode glxvendorglx 65547 ############################################################################### # # Extension #92 # SGIX_swap_barrier commands # ############################################################################### BindSwapBarrierSGIX(dpy, drawable, barrier) return void param dpy Display out reference param drawable GLXDrawable in value param barrier int in value category SGIX_swap_barrier glxflags client-handcode server-handcode glxvendorglx 65548 QueryMaxSwapBarriersSGIX(dpy, screen, max) return Bool param dpy Display out reference param screen int in value param max int out reference category SGIX_swap_barrier glxflags client-handcode server-handcode glxvendorglx 65549 ############################################################################### # # Extension #183 # SUN_get_transparent_index commands # ############################################################################### GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex) return Status param dpy Display out reference param overlay Window in value param underlay Window in value param pTransparentIndex long out reference category SUN_get_transparent_index ############################################################################### # # Extension #215 # MESA_copy_sub_buffer commands # ############################################################################### CopySubBufferMESA(dpy, drawable, x, y, width, height) return void param dpy Display out reference param drawable GLXDrawable in value param x int in value param y int in value param width int in value param height int in value category MESA_copy_sub_buffer glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #216 # MESA_pixmap_colormap commands # ############################################################################### CreateGLXPixmapMESA(dpy, visual, pixmap, cmap) return GLXPixmap param dpy Display out reference param visual XVisualInfo out reference param pixmap Pixmap in value param cmap Colormap in value category MESA_pixmap_colormap glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #217 # MESA_release_buffers commands # ############################################################################### ReleaseBuffersMESA(dpy, drawable) return Bool param dpy Display out reference param drawable GLXDrawable in value category MESA_release_buffers glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #218 # MESA_set_3dfx_mode commands # ############################################################################### # Brian's spec has this as returning 'GLboolean' and taking 'GLint mode' Set3DfxModeMESA(mode) return Bool param mode int in value category MESA_set_3dfx_mode glxflags client-handcode client-intercept server-handcode ############################################################################### # # Extension #234 # SGIX_visual_select_group commands # ############################################################################### # (none) newcategory: SGIX_visual_select_group ############################################################################### # # Extension #237 # OML_swap_method commands # ############################################################################### # (none) newcategory: OML_swap_method ############################################################################### # # Extension #238 # OML_sync_control commands # ############################################################################### GetSyncValuesOML(dpy, drawable, ust, msc, sbc) return Bool param dpy Display out reference param drawable GLXDrawable in value param ust int64_t out reference param msc int64_t out reference param sbc int64_t out reference category OML_sync_control glxflags client-handcode server-handcode GetMscRateOML(dpy, drawable, numerator, denominator) return Bool param dpy Display out reference param drawable GLXDrawable in value param numerator int32_t out reference param denominator int32_t out reference category OML_sync_control glxflags client-handcode server-handcode SwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder) return int64_t param dpy Display out reference param drawable GLXDrawable in value param target_msc int64_t in value param divisor int64_t in value param remainder int64_t in value category OML_sync_control glxflags client-handcode server-handcode WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc) return Bool param dpy Display out reference param drawable GLXDrawable in value param target_msc int64_t in value param divisor int64_t in value param remainder int64_t in value param ust int64_t out reference param msc int64_t out reference param sbc int64_t out reference category OML_sync_control glxflags client-handcode server-handcode WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc) return Bool param dpy Display out reference param drawable GLXDrawable in value param target_sbc int64_t in value param ust int64_t out reference param msc int64_t out reference param sbc int64_t out reference category OML_sync_control glxflags client-handcode server-handcode ############################################################################### # # Extension #281 # NV_float_buffer commands # ############################################################################### # (none) newcategory: NV_float_buffer ############################################################################### # # Extension #307 # SGIX_hyperpipe commands # ############################################################################### newcategory: SGIX_hyperpipe passthru: passthru: typedef struct { passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; passthru: int networkId; passthru: } GLXHyperpipeNetworkSGIX; passthru: passthru: typedef struct { passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; passthru: int channel; passthru: unsigned int passthru: participationType; passthru: int timeSlice; passthru: } GLXHyperpipeConfigSGIX; passthru: passthru: typedef struct { passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; passthru: int srcXOrigin, srcYOrigin, srcWidth, srcHeight; passthru: int destXOrigin, destYOrigin, destWidth, destHeight; passthru: } GLXPipeRect; passthru: passthru: typedef struct { passthru: char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; passthru: int XOrigin, YOrigin, maxHeight, maxWidth; passthru: } GLXPipeRectLimits; passthru: QueryHyperpipeNetworkSGIX(dpy, npipes) return GLXHyperpipeNetworkSGIXPointer param dpy Display out reference param npipes int out reference glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx 65550 HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) return int param dpy Display out reference param networkId int in value param npipes int in value param cfg GLXHyperpipeConfigSGIX out array [COMPSIZE(npipes)] param hpId int out reference glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx 65552 QueryHyperpipeConfigSGIX(dpy, hpId, npipes) return GLXHyperpipeConfigSGIXPointer param dpy Display out reference param hpId int in value param npipes int out reference glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx 65551 DestroyHyperpipeConfigSGIX(dpy, hpId) return int param dpy Display out reference param hpId int in value glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx 65553 BindHyperpipeSGIX(dpy, hpId) return int param dpy Display out reference param hpId int in value glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx ??? QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param attribList void in array [COMPSIZE(size)] # Changed out to in param returnAttribList void out array [COMPSIZE(size)] glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx ??? HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param attribList void in array [COMPSIZE(size)] # Changed out to in glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx ??? QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param returnAttribList void out array [COMPSIZE(size)] glxflags client-handcode server-handcode category SGIX_hyperpipe glxvendorglx ??? ############################################################################### # # Extension #308 # MESA_agp_offset commands # ############################################################################### GetAGPOffsetMESA(pointer) return uint param pointer void in reference glxflags client-handcode client-intercept server-handcode category MESA_agp_offset opentk-1.0.20101006/Source/Bind/Specifications/Glx/glxenum.spec0000664000175000017500000003046711453131434022723 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. # # $Date: 2005/01/20 08:44:12 $ $Revision: 1.6 $ # $Header: /oss/CVS/cvs/projects/ogl-sample/main/doc/registry/specs/glxenum.spec,v 1.6 2005/01/20 08:44:12 ljp Exp $ # This is the GLX enumerant registry. # # It is an extremely important file. Do not mess with it unless # you know what you're doing and have permission to do so. # # Rules for modification are the same as the rules for the OpenGL # enumerant registry (gl.spec). Basically, don't modify this # file unless you're SGI's ARB Representative. Extensions define: VERSION_1_1 = 1 VERSION_1_2 = 1 VERSION_1_3 = 1 VERSION_1_4 = 1 SGIS_multisample = 1 EXT_visual_info = 1 SGI_swap_control = 1 SGI_video_sync = 1 SGI_make_current_read = 1 SGIX_video_source = 1 EXT_visual_rating = 1 EXT_import_context = 1 SGIX_fbconfig = 1 SGIX_pbuffer = 1 SGI_cushion = 1 SGIX_video_resize = 1 SGIX_dmbuffer = 1 SGIX_swap_group = 1 SGIX_swap_barrier = 1 SGIS_blended_overlay = 1 SGIS_shared_multisample = 1 SUN_get_transparent_index = 1 3DFX_multisample = 1 MESA_copy_sub_buffer = 1 MESA_pixmap_colormap = 1 MESA_release_buffers = 1 MESA_set_3dfx_mode = 1 SGIX_visual_select_group = 1 SGIX_hyperpipe = 1 GLXStringName enum: VENDOR = 0x1 VERSION = 0x2 EXTENSIONS = 0x3 GLXErrorCode enum: BAD_SCREEN = 1 BAD_ATTRIBUTE = 2 NO_EXTENSION = 3 BAD_VISUAL = 4 BAD_CONTEXT = 5 BAD_VALUE = 6 BAD_ENUM = 7 BAD_HYPERPIPE_CONFIG_SGIX = 91 # SGIX_hyperpipe BAD_HYPERPIPE_SGIX = 92 # " GLXDrawableTypeMask enum: WINDOW_BIT = 0x00000001 # DRAWABLE_TYPE value PIXMAP_BIT = 0x00000002 # " PBUFFER_BIT = 0x00000004 # " WINDOW_BIT_SGIX = 0x00000001 # DRAWABLE_TYPE_SGIX value PIXMAP_BIT_SGIX = 0x00000002 # " PBUFFER_BIT_SGIX = 0x00000004 # " GLXRenderTypeMask enum: RGBA_BIT = 0x00000001 # RENDER_TYPE value COLOR_INDEX_BIT = 0x00000002 # " RGBA_BIT_SGIX = 0x00000001 # RENDER_TYPE_SGIX value COLOR_INDEX_BIT_SGIX = 0x00000002 # " RGBA_FLOAT_BIT_ARB = 0x00000004 # RENDER_TYPE value (from ARB_fbconfig_float) GLXSyncType enum: SYNC_FRAME_SGIX = 0x00000000 # ChannelRectSyncSGIX synctype SYNC_SWAP_SGIX = 0x00000001 # " GLXEventMask enum: PBUFFER_CLOBBER_MASK = 0x08000000 # SelectEvent mask BUFFER_CLOBBER_MASK_SGIX = 0x08000000 # SelectEventSGIX mask GLXPbufferClobberMask enum: FRONT_LEFT_BUFFER_BIT = 0x00000001 # PbufferClobberEvent mask FRONT_RIGHT_BUFFER_BIT = 0x00000002 # " BACK_LEFT_BUFFER_BIT = 0x00000004 # " BACK_RIGHT_BUFFER_BIT = 0x00000008 # " AUX_BUFFERS_BIT = 0x00000010 # " DEPTH_BUFFER_BIT = 0x00000020 # " STENCIL_BUFFER_BIT = 0x00000040 # " ACCUM_BUFFER_BIT = 0x00000080 # " FRONT_LEFT_BUFFER_BIT_SGIX = 0x00000001 # BufferClobberEventSGIX mask FRONT_RIGHT_BUFFER_BIT_SGIX = 0x00000002 # " BACK_LEFT_BUFFER_BIT_SGIX = 0x00000004 # " BACK_RIGHT_BUFFER_BIT_SGIX = 0x00000008 # " AUX_BUFFERS_BIT_SGIX = 0x00000010 # " DEPTH_BUFFER_BIT_SGIX = 0x00000020 # " STENCIL_BUFFER_BIT_SGIX = 0x00000040 # " ACCUM_BUFFER_BIT_SGIX = 0x00000080 # " SAMPLE_BUFFERS_BIT_SGIX = 0x00000100 # " GLXHyperpipeTypeMask enum: HYPERPIPE_DISPLAY_PIPE_SGIX = 0x00000001 # SGIX_hyperpipe HYPERPIPE_RENDER_PIPE_SGIX = 0x00000002 # " GLXHyperpipeAttrib enum: PIPE_RECT_SGIX = 0x00000001 # SGIX_hyperpipe PIPE_RECT_LIMITS_SGIX = 0x00000002 # " HYPERPIPE_STEREO_SGIX = 0x00000003 # " HYPERPIPE_PIXEL_AVERAGE_SGIX = 0x00000004 # " GLXHyperpipeMisc enum: HYPERPIPE_PIPE_NAME_LENGTH_SGIX = 80 # SGIX_hyperpipe GLXAttribute enum: USE_GL = 1 # Visual attributes BUFFER_SIZE = 2 # " LEVEL = 3 # " RGBA = 4 # " DOUBLEBUFFER = 5 # " STEREO = 6 # " AUX_BUFFERS = 7 # " RED_SIZE = 8 # " GREEN_SIZE = 9 # " BLUE_SIZE = 10 # " ALPHA_SIZE = 11 # " DEPTH_SIZE = 12 # " STENCIL_SIZE = 13 # " ACCUM_RED_SIZE = 14 # " ACCUM_GREEN_SIZE = 15 # " ACCUM_BLUE_SIZE = 16 # " ACCUM_ALPHA_SIZE = 17 # " CONFIG_CAVEAT = 0x20 # " X_VISUAL_TYPE = 0x22 # " TRANSPARENT_TYPE = 0x23 # " TRANSPARENT_INDEX_VALUE = 0x24 # " TRANSPARENT_RED_VALUE = 0x25 # " TRANSPARENT_GREEN_VALUE = 0x26 # " TRANSPARENT_BLUE_VALUE = 0x27 # " TRANSPARENT_ALPHA_VALUE = 0x28 # " DONT_CARE = 0xFFFFFFFF # may be specified for ChooseFBConfig attributes NONE = 0x8000 # several attribute values SLOW_CONFIG = 0x8001 # CONFIG_CAVEAT attribute value TRUE_COLOR = 0x8002 # X_VISUAL_TYPE attribute value DIRECT_COLOR = 0x8003 # " PSEUDO_COLOR = 0x8004 # " STATIC_COLOR = 0x8005 # " GRAY_SCALE = 0x8006 # " STATIC_GRAY = 0x8007 # " TRANSPARENT_RGB = 0x8008 # TRANSPARENT_TYPE attribute value TRANSPARENT_INDEX = 0x8009 # " VISUAL_ID = 0x800B # Context attribute SCREEN = 0x800C # " NON_CONFORMANT_CONFIG = 0x800D # CONFIG_CAVEAT attribute value DRAWABLE_TYPE = 0x8010 # FBConfig attribute RENDER_TYPE = 0x8011 # " X_RENDERABLE = 0x8012 # " FBCONFIG_ID = 0x8013 # " RGBA_TYPE = 0x8014 # CreateNewContext render_type value COLOR_INDEX_TYPE = 0x8015 # " MAX_PBUFFER_WIDTH = 0x8016 # FBConfig attribute MAX_PBUFFER_HEIGHT = 0x8017 # " MAX_PBUFFER_PIXELS = 0x8018 # " PRESERVED_CONTENTS = 0x801B # CreateGLXPbuffer attribute LARGEST_PBUFFER = 0x801C # " WIDTH = 0x801D # Drawable attribute HEIGHT = 0x801E # " EVENT_MASK = 0x801F # " DAMAGED = 0x8020 # PbufferClobber event_type value SAVED = 0x8021 # " WINDOW = 0x8022 # PbufferClobber draw_type value PBUFFER = 0x8023 # " PBUFFER_HEIGHT = 0x8040 # CreateGLXPbuffer attribute PBUFFER_WIDTH = 0x8041 # " VISUAL_CAVEAT_EXT = 0x20 # Visual attribute X_VISUAL_TYPE_EXT = 0x22 # " TRANSPARENT_TYPE_EXT = 0x23 # " TRANSPARENT_INDEX_VALUE_EXT = 0x24 # " TRANSPARENT_RED_VALUE_EXT = 0x25 # " TRANSPARENT_GREEN_VALUE_EXT = 0x26 # " TRANSPARENT_BLUE_VALUE_EXT = 0x27 # " TRANSPARENT_ALPHA_VALUE_EXT = 0x28 # " NONE_EXT = 0x8000 # several EXT attribute values SLOW_VISUAL_EXT = 0x8001 # VISUAL_CAVEAT_EXT attribute value TRUE_COLOR_EXT = 0x8002 # X_VISUAL_TYPE_EXT attribute value DIRECT_COLOR_EXT = 0x8003 # " PSEUDO_COLOR_EXT = 0x8004 # " STATIC_COLOR_EXT = 0x8005 # " GRAY_SCALE_EXT = 0x8006 # " STATIC_GRAY_EXT = 0x8007 # " TRANSPARENT_RGB_EXT = 0x8008 # TRANSPARENT_TYPE_EXT attribute value TRANSPARENT_INDEX_EXT = 0x8009 # " SHARE_CONTEXT_EXT = 0x800A # QueryContextInfoEXT attribute VISUAL_ID_EXT = 0x800B # " SCREEN_EXT = 0x800C # " NON_CONFORMANT_VISUAL_EXT = 0x800D # VISUAL_CAVEAT_EXT attribute value DRAWABLE_TYPE_SGIX = 0x8010 # FBConfigSGIX attribute RENDER_TYPE_SGIX = 0x8011 # " X_RENDERABLE_SGIX = 0x8012 # " FBCONFIG_ID_SGIX = 0x8013 # " RGBA_TYPE_SGIX = 0x8014 # CreateContextWithConfigSGIX render_type value COLOR_INDEX_TYPE_SGIX = 0x8015 # " MAX_PBUFFER_WIDTH_SGIX = 0x8016 # FBConfigSGIX attribute MAX_PBUFFER_HEIGHT_SGIX = 0x8017 # " MAX_PBUFFER_PIXELS_SGIX = 0x8018 # " OPTIMAL_PBUFFER_WIDTH_SGIX = 0x8019 # " OPTIMAL_PBUFFER_HEIGHT_SGIX = 0x801A # " PRESERVED_CONTENTS_SGIX = 0x801B # PbufferSGIX attribute LARGEST_PBUFFER_SGIX = 0x801C # " WIDTH_SGIX = 0x801D # " HEIGHT_SGIX = 0x801E # " EVENT_MASK_SGIX = 0x801F # " DAMAGED_SGIX = 0x8020 # BufferClobberSGIX event_type value SAVED_SGIX = 0x8021 # " WINDOW_SGIX = 0x8022 # BufferClobberSGIX draw_type value PBUFFER_SGIX = 0x8023 # " DIGITAL_MEDIA_PBUFFER_SGIX = 0x8024 # PbufferSGIX attribute BLENDED_RGBA_SGIS = 0x8025 # TRANSPARENT_TYPE_EXT attribute value MULTISAMPLE_SUB_RECT_WIDTH_SGIS = 0x8026 # Visual attribute (shared_multisample) MULTISAMPLE_SUB_RECT_HEIGHT_SGIS = 0x8027 # " VISUAL_SELECT_GROUP_SGIX = 0x8028 # Visual attribute (visual_select_group) HYPERPIPE_ID_SGIX = 0x8030 # Associated hyperpipe ID (SGIX_hyperpipe) SAMPLE_BUFFERS_SGIS = 100000 # Visual attribute (SGIS_multisample) SAMPLES_SGIS = 100001 # " SAMPLE_BUFFERS_ARB = 100000 # Visual attribute (ARB_multisample - alias of SGIS_multisample) SAMPLES_ARB = 100001 # " SAMPLE_BUFFERS = 100000 # Visual attribute (GLX 1.4 core - alias of SGIS_multisample) SAMPLES = 100001 # " ############################################################################### # NVIDIA: 0x20A0 - 0x219F # NV_float_buffer enum: FLOAT_COMPONENTS_NV = 0x20B0 # NV_future_use: 0x20B1-0x20B8 # ARB_fbconfig_float enum: RGBA_FLOAT_TYPE_ARB = 0x20B9 # NV_future_use: 0x20BA-0x219F ############################################################################### # MESA (not in a reserved block) # MESA_set_3dfx_mode enum: # 3DFX_WINDOW_MODE_MESA = 0x1 # 3DFX_FULLSCREEN_MODE_MESA = 0x2 ############################################################################### # SGI_future_use: 0x8029-0x802F # SGIX_hyperpipe adds attribute name HYPERPIPE_ID_SGIX = 0x8030 # SGI_future_use: 0x8031-0x803F ############################################################################### # ARB_future_use: 0x8042-0x804F ############################################################################### # 3DFX: 0x8050-0x805F # 3DFX_multisample enum: # SAMPLE_BUFFERS_3DFX = 0x8050 # SAMPLES_3DFX = 0x8051 ############################################################################### # OML: 0x8060-0x806F # OML_swap_method enum: # SWAP_METHOD_OML = 0x8060 # SWAP_EXCHANGE_OML = 0x8061 # SWAP_COPY_OML = 0x8062 # SWAP_UNDEFINED_OML = 0x8063 # OML_future_use: 0x8064-0x806F ############################################################################### # NVIDIA: 0x8070 - 0x816F ############################################################################### # SUN: 0x8170 - 0x817F ############################################################################### ### PLEASE REMEMBER THAT NEW ENUMERANT ALLOCATIONS MUST BE OBTAINED BY ### REQUEST TO SGI'S ARB REPRESENTATIVE (see comments at the top of this file) ############################################################################### # Any_vendor_future_use: 0x8180-0xFFFF # # This range must be the last range in the file. To generate a new # range, allocate multiples of 16 from the beginning of the # Any_vendor_future_use range and update glxenum.spec, glxenumext.spec, # and extensions.reserved. opentk-1.0.20101006/Source/Bind/Specifications/Glx/glx.spec0000664000175000017500000004056511453131434022036 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. required-props: param: retval retained dlflags: notlistable handcode nop glxflags: client-handcode server-handcode glxvendorglx: * vectorequiv: * category: pixel-rw bgn-end display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform glx glxopcode glxopcode: * ############################################################################### # # GLX1.0 commands # ############################################################################### Render() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 1 RenderLarge() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 2 CreateContext(gc_id, screen, visual, share_list) return void param gc_id Int32 in value param screen Int32 in value param visual Int32 in value param share_list Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 3 DestroyContext(context) return void param context Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 4 MakeCurrent(drawable, context) return void param drawable Int32 in value param context Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 5 IsDirect(dpy, context) return void param dpy Int32 in value param context Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 6 QueryVersion(major, minor) return void param major Int32 out reference param minor Int32 out reference category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 7 WaitGL(context) return void param context Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 8 WaitX() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 9 CopyContext(source, dest, mask) return void param source Int32 in value param dest Int32 in value param mask Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 10 SwapBuffers(drawable) return void param drawable Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 11 UseXFont(font, first, count, list_base) return void param font Int32 in value param first Int32 in value param count Int32 in value param list_base Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 12 CreateGLXPixmap(visual, pixmap, glxpixmap) return void param visual Int32 in value param pixmap Int32 in value param glxpixmap Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 13 GetVisualConfigs() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 14 DestroyGLXPixmap(pixmap) return void param pixmap Int32 in value glxflags client-handcode category glx dlflags notlistable glxopcode 15 VendorPrivate() return void glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 16 VendorPrivateWithReply() return void glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 17 ############################################################################### # # GLX1.1 commands # ############################################################################### QueryExtensionsString(screen) return void param screen Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 18 QueryServerString(screen, name) return void param screen Int32 in value param name Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 19 ClientInfo() return void glxflags client-handcode server-handcode category glx dlflags notlistable glxopcode 20 ############################################################################### # # GLX1.3 commands # ############################################################################### GetFBConfigs() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxopcode 21 CreatePixmap(config, pixmap, glxpixmap) return void param config Int32 in value param pixmap Int32 in value param glxpixmap Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 22 DestroyPixmap(glxpixmap) return void param glxpixmap Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 23 CreateNewContext(config, render_type, share_list, direct) return void param config Int32 in value param render_type Int32 in value param share_list Int32 in value param direct Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 24 QueryContext() return void dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 25 MakeContextCurrent(drawable, readdrawable, context) return void param drawable Int32 in value param readdrawable Int32 in value param context Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 26 CreatePbuffer(config, pbuffer) return void param config Int32 in value param pbuffer Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 27 DestroyPbuffer(pbuffer) return void param pbuffer Int32 in value dlflags notlistable glxflags client-handcode category glx glxopcode 28 GetDrawableAttributes(drawable) return void param drawable Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 29 ChangeDrawableAttributes(drawable) return void param drawable Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 30 CreateWindow(config, window, glxwindow) return void param config Int32 in value param window Int32 in value param glxwindow Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 31 DestroyWindow(glxwindow) return void param glxwindow Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxopcode 32 ############################################################################### # # IRIX5.3 extension commands # ############################################################################### ############################################################################### # # SGI_swap_control extension commands # ############################################################################### SwapIntervalSGI() return void glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65536 ############################################################################### # # IRIX5.3-PATCH154 extension commands # ############################################################################### ############################################################################### # # SGI_make_current_read extension commands # ############################################################################### MakeCurrentReadSGI(drawable, readdrawable, context) return void param drawable Int32 in value param readdrawable Int32 in value param context Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65537 ############################################################################### # # SGIX_video_source extension commands # ############################################################################### CreateGLXVideoSourceSGIX(dpy, screen, server, path, class, node) return void param dpy Int32 in value param screen Int32 in value param server Int32 in value param path Int32 in value param class Int32 in value param node Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65538 DestroyGLXVideoSourceSGIX(dpy, glxvideosource) return void param dpy Int32 in value param glxvideosource Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65539 ############################################################################### # # IRIX6.2 extension commands # ############################################################################### ############################################################################### # # EXT_import_context extension commands # ############################################################################### QueryContextInfoEXT() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxvendorglx 1024 ############################################################################### # # SGIX_fbconfig extension commands # ############################################################################### GetFBConfigsSGIX() return void category glx dlflags notlistable glxflags client-handcode server-handcode glxvendorglx 65540 CreateContextWithConfigSGIX(gc_id, screen, config, share_list) return void param gc_id Int32 in value param screen Int32 in value param config Int32 in value param share_list Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65541 CreateGLXPixmapWithConfigSGIX(config, pixmap, glxpixmap) return void param config Int32 in value param pixmap Int32 in value param glxpixmap Int32 in value category glx dlflags notlistable glxflags client-handcode server-handcode glxvendorglx 65542 ############################################################################### # # SGIX_pbuffer extension commands # ############################################################################### CreateGLXPbufferSGIX(config, pbuffer) return void param config Int32 in value param pbuffer Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxvendorglx 65543 DestroyGLXPbufferSGIX(pbuffer) return void param pbuffer Int32 in value dlflags notlistable glxflags client-handcode category glx glxvendorglx 65544 ChangeDrawableAttributesSGIX(drawable) return void param drawable Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxvendorglx 65545 GetDrawableAttributesSGIX(drawable) return void param drawable Int32 in value dlflags notlistable glxflags client-handcode server-handcode category glx glxvendorglx 65546 ############################################################################### # # SGIX_swap_group extension commands # ############################################################################### JoinSwapGroupSGIX(window,group) return void param window Int32 in value param group Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65547 ############################################################################### # # SGIX_swap_barrier extension commands # ############################################################################### BindSwapBarrierSGIX(window,barrier) return void param window Int32 in value param barrier Int32 in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65548 QueryMaxSwapBarriersSGIX() return void glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65549 ############################################################################### # # SGIX_hyperpipe extension commands # ############################################################################### QueryHyperpipeNetworkSGIX(dpy, npipes) return GLXHyperpipeNetworkPointer param dpy Display out reference param npipes int out reference glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65550 HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) return int param dpy Display out reference param networkId int in value param npipes int in value param cfg GLXHyperpipeConfig in array[npipes] param hpId int out reference glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65552 QueryHyperpipeConfigSGIX(dpy, hpId, npipes) return GLXHyperpipeConfigPointer param dpy Display out reference param hpId int in value param npipes int out reference glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65551 DestroyHyperpipeConfigSGIX(dpy, hpId) return int param dpy Display out reference param hpId int in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx 65553 BindHyperpipeSGIX(dpy, hpId) return int param dpy Display out reference param hpId int in value glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx ??? QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param attribList Void in array[size] param returnAttribList Void out array[size] glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx ??? HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param attribList void in array[size] glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx ??? QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) return int param dpy Display out reference param timeSlice int in value param attrib int in value param size int in value param returnAttribList void out array[size] # Changed in to out glxflags client-handcode server-handcode category glx dlflags notlistable glxvendorglx ??? opentk-1.0.20101006/Source/Bind/Specifications/Glx/glx.tm0000664000175000017500000000323511453131434021515 0ustar laneylaneyBool,*,*, Bool,*,* Colormap,*,*, Colormap,*,* DMbuffer,*,*, DMbuffer,*,* DMparams,*,*, DMparams,*,* Display,*,*, Display,*,* DisplayPointer,*,*, Display *,*,* FunctionPointer,*,*, __GLXextFuncPtr,*,* GLXContext,*,*, GLXContext,*,* #constGLXContext,*,*, const GLXContext,*,* constGLXContext,*,*, GLXContext,*,* GLXContextID,*,*, GLXContextID,*,* GLXDrawable,*,*, GLXDrawable,*,* GLXFBConfig,*,*, GLXFBConfig,*,* GLXFBConfigPointer,*,*, GLXFBConfig *,*,* GLXFBConfigSGIX,*,*, GLXFBConfigSGIX,*,* GLXFBConfigSGIXPointer,*,*, GLXFBConfigSGIX *,*,* GLXHyperpipeNetworkSGIXPointer,*,*, GLXHyperpipeNetworkSGIX *,*,* GLXHyperpipeConfigSGIX,*,*, GLXHyperpipeConfigSGIX,*,* GLXHyperpipeConfigSGIXPointer,*,*, GLXHyperpipeConfigSGIX *,*,* GLXPbuffer,*,*, GLXPbuffer,*,* GLXPbufferSGIX,*,*, GLXPbufferSGIX,*,* GLXPixmap,*,*, GLXPixmap,*,* GLXVideoSourceSGIX,*,*, GLXVideoSourceSGIX,*,* GLXWindow,*,*, GLXWindow,*,* GLenum,*,*, GLenum,*,* GLfunction,*,*, GLfunction,*,* GLubyte,*,*, GLubyte,*,* Pixmap,*,*, Pixmap,*,* Status,*,*, Status,*,* #Uint,*,*, unsigned int,*,* Uint uint VLNode,*,*, VLNode,*,* VLPath,*,*, VLPath,*,* VLServer,*,*, VLServer,*,* Window,*,*, Window,*,* XVisualInfo,*,*, XVisualInfo,*,* XVisualInfoPointer,*,*, XVisualInfo *,*,* float,*,*, float,*,* int,*,*, int,*,* #uint,*,*, unsigned int,*,* uint uint int32_t,*,*, int32_t,*,* int64_t,*,*, int64_t,*,* long,*,*, long,*,* #ulong,*,*, unsigned long,*,* ulong ulong void,*,*, void,*,* Void Voidopentk-1.0.20101006/Source/Bind/Specifications/Glx/glxenumext.spec0000664000175000017500000003307511453131434023442 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. # # $Date: 2005/01/20 08:44:12 $ $Revision: 1.6 $ # $Header: /oss/CVS/cvs/projects/ogl-sample/main/doc/registry/specs/glxenumext.spec,v 1.6 2005/01/20 08:44:12 ljp Exp $ # List of GLX enumerants for glxext.h header # # This is NOT the master GLX enumerant registry (glxenum.spec). # # Unlike glxenum.spec, glxenumext.spec is # (1) In order by extension number. # (2) Includes only GLX extensions and GLX 1.3/1.4 core enumerants, # since it's assumed all today support at least GLX 1.2. # (3) Has no 'Extensions' section, since enums are always # conditionally protected against multiple definition # by glextenum.pl. # (4) Is processed by glextenum.pl, which has evolved # from enum.pl - should merge back into one script. # glxext.h version number - this should be automatically updated, # when changing either enum or template spec files. passthru: passthru: /* Header file version number, required by OpenGL ABI for Linux */ passthru: /* glxext.h last updated 2005/01/20 */ passthru: /* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ passthru: #define GLX_GLXEXT_VERSION 10 ############################################################################### # # GLX 1.3 enums # ############################################################################### VERSION_1_3 enum: WINDOW_BIT = 0x00000001 # DRAWABLE_TYPE value PIXMAP_BIT = 0x00000002 # " PBUFFER_BIT = 0x00000004 # " RGBA_BIT = 0x00000001 # RENDER_TYPE value COLOR_INDEX_BIT = 0x00000002 # " PBUFFER_CLOBBER_MASK = 0x08000000 # SelectEvent mask FRONT_LEFT_BUFFER_BIT = 0x00000001 # PbufferClobberEvent mask FRONT_RIGHT_BUFFER_BIT = 0x00000002 # " BACK_LEFT_BUFFER_BIT = 0x00000004 # " BACK_RIGHT_BUFFER_BIT = 0x00000008 # " AUX_BUFFERS_BIT = 0x00000010 # " DEPTH_BUFFER_BIT = 0x00000020 # " STENCIL_BUFFER_BIT = 0x00000040 # " ACCUM_BUFFER_BIT = 0x00000080 # " CONFIG_CAVEAT = 0x20 # " X_VISUAL_TYPE = 0x22 # " TRANSPARENT_TYPE = 0x23 # " TRANSPARENT_INDEX_VALUE = 0x24 # " TRANSPARENT_RED_VALUE = 0x25 # " TRANSPARENT_GREEN_VALUE = 0x26 # " TRANSPARENT_BLUE_VALUE = 0x27 # " TRANSPARENT_ALPHA_VALUE = 0x28 # " DONT_CARE = 0xFFFFFFFF # may be specified for ChooseFBConfig attributes NONE = 0x8000 # several attribute values SLOW_CONFIG = 0x8001 # CONFIG_CAVEAT attribute value TRUE_COLOR = 0x8002 # X_VISUAL_TYPE attribute value DIRECT_COLOR = 0x8003 # " PSEUDO_COLOR = 0x8004 # " STATIC_COLOR = 0x8005 # " GRAY_SCALE = 0x8006 # " STATIC_GRAY = 0x8007 # " TRANSPARENT_RGB = 0x8008 # TRANSPARENT_TYPE attribute value TRANSPARENT_INDEX = 0x8009 # " VISUAL_ID = 0x800B # Context attribute SCREEN = 0x800C # " NON_CONFORMANT_CONFIG = 0x800D # CONFIG_CAVEAT attribute value DRAWABLE_TYPE = 0x8010 # FBConfig attribute RENDER_TYPE = 0x8011 # " X_RENDERABLE = 0x8012 # " FBCONFIG_ID = 0x8013 # " RGBA_TYPE = 0x8014 # CreateNewContext render_type value COLOR_INDEX_TYPE = 0x8015 # " MAX_PBUFFER_WIDTH = 0x8016 # FBConfig attribute MAX_PBUFFER_HEIGHT = 0x8017 # " MAX_PBUFFER_PIXELS = 0x8018 # " PRESERVED_CONTENTS = 0x801B # CreateGLXPbuffer attribute LARGEST_PBUFFER = 0x801C # " WIDTH = 0x801D # Drawable attribute HEIGHT = 0x801E # " EVENT_MASK = 0x801F # " DAMAGED = 0x8020 # PbufferClobber event_type value SAVED = 0x8021 # " WINDOW = 0x8022 # PbufferClobber draw_type value PBUFFER = 0x8023 # " PBUFFER_HEIGHT = 0x8040 # CreateGLXPbuffer attribute PBUFFER_WIDTH = 0x8041 # " ############################################################################### # # GLX 1.4 enums # ############################################################################### VERSION_1_4 enum: SAMPLE_BUFFERS = 100000 SAMPLES = 100001 ############################################################################### # # ARB GLX extensions, in ARB extension order # ############################################################################### ############################################################################### # No new tokens # ARB Extension #2 ARB_get_proc_address enum: ############################################################################### # ARB Extension #5 ARB_multisample enum: SAMPLE_BUFFERS_ARB = 100000 SAMPLES_ARB = 100001 ############################################################################### # ARB Extension #39 ARB_fbconfig_float enum: RGBA_FLOAT_TYPE_ARB = 0x20B9 RGBA_FLOAT_BIT_ARB = 0x00000004 ############################################################################### # # non-ARB GLX extensions, in registry order # ############################################################################### ############################################################################### # Unfortunately, the SGIS_multisample specification and the IRIX # implementation are inconsistent; the spec assigns enums as follows. # ARB_multisample reuses these enums with ARB suffixes, and it can't # be changed at this point. So in the interest of supporting both # extensions on non-IRIX platforms, the SGIS enums will be defined # here as originally specified. # Extension #25 SGIS_multisample enum: SAMPLE_BUFFERS_SGIS = 100000 SAMPLES_SGIS = 100001 ############################################################################### # Extension #28 EXT_visual_info enum: X_VISUAL_TYPE_EXT = 0x22 TRANSPARENT_TYPE_EXT = 0x23 TRANSPARENT_INDEX_VALUE_EXT = 0x24 TRANSPARENT_RED_VALUE_EXT = 0x25 TRANSPARENT_GREEN_VALUE_EXT = 0x26 TRANSPARENT_BLUE_VALUE_EXT = 0x27 TRANSPARENT_ALPHA_VALUE_EXT = 0x28 NONE_EXT = 0x8000 TRUE_COLOR_EXT = 0x8002 DIRECT_COLOR_EXT = 0x8003 PSEUDO_COLOR_EXT = 0x8004 STATIC_COLOR_EXT = 0x8005 GRAY_SCALE_EXT = 0x8006 STATIC_GRAY_EXT = 0x8007 TRANSPARENT_RGB_EXT = 0x8008 TRANSPARENT_INDEX_EXT = 0x8009 ############################################################################### # No new tokens # Extension #40 SGI_swap_control enum: ############################################################################### # No new tokens # Extension #41 SGI_video_sync enum: ############################################################################### # No new tokens # Extension #42 SGI_make_current_read enum: ############################################################################### # No new tokens # Extension #43 SGIX_video_source enum: ############################################################################### # Extension #44 EXT_visual_rating enum: VISUAL_CAVEAT_EXT = 0x20 SLOW_VISUAL_EXT = 0x8001 NON_CONFORMANT_VISUAL_EXT = 0x800D use EXT_visual_info NONE_EXT ############################################################################### # Extension #47 EXT_import_context enum: SHARE_CONTEXT_EXT = 0x800A VISUAL_ID_EXT = 0x800B SCREEN_EXT = 0x800C ############################################################################### # Extension #49 SGIX_fbconfig enum: WINDOW_BIT_SGIX = 0x00000001 PIXMAP_BIT_SGIX = 0x00000002 RGBA_BIT_SGIX = 0x00000001 COLOR_INDEX_BIT_SGIX = 0x00000002 DRAWABLE_TYPE_SGIX = 0x8010 RENDER_TYPE_SGIX = 0x8011 X_RENDERABLE_SGIX = 0x8012 FBCONFIG_ID_SGIX = 0x8013 RGBA_TYPE_SGIX = 0x8014 COLOR_INDEX_TYPE_SGIX = 0x8015 use EXT_import_context SCREEN_EXT ############################################################################### # Extension #50 SGIX_pbuffer enum: PBUFFER_BIT_SGIX = 0x00000004 BUFFER_CLOBBER_MASK_SGIX = 0x08000000 FRONT_LEFT_BUFFER_BIT_SGIX = 0x00000001 FRONT_RIGHT_BUFFER_BIT_SGIX = 0x00000002 BACK_LEFT_BUFFER_BIT_SGIX = 0x00000004 BACK_RIGHT_BUFFER_BIT_SGIX = 0x00000008 AUX_BUFFERS_BIT_SGIX = 0x00000010 DEPTH_BUFFER_BIT_SGIX = 0x00000020 STENCIL_BUFFER_BIT_SGIX = 0x00000040 ACCUM_BUFFER_BIT_SGIX = 0x00000080 SAMPLE_BUFFERS_BIT_SGIX = 0x00000100 MAX_PBUFFER_WIDTH_SGIX = 0x8016 MAX_PBUFFER_HEIGHT_SGIX = 0x8017 MAX_PBUFFER_PIXELS_SGIX = 0x8018 OPTIMAL_PBUFFER_WIDTH_SGIX = 0x8019 OPTIMAL_PBUFFER_HEIGHT_SGIX = 0x801A PRESERVED_CONTENTS_SGIX = 0x801B LARGEST_PBUFFER_SGIX = 0x801C WIDTH_SGIX = 0x801D HEIGHT_SGIX = 0x801E EVENT_MASK_SGIX = 0x801F DAMAGED_SGIX = 0x8020 SAVED_SGIX = 0x8021 WINDOW_SGIX = 0x8022 PBUFFER_SGIX = 0x8023 ############################################################################### # Extension #62 SGI_cushion enum: # CUSHION_BUFFERS_SGI ???? ############################################################################### # Extension #83 SGIX_video_resize enum: SYNC_FRAME_SGIX = 0x00000000 SYNC_SWAP_SGIX = 0x00000001 ############################################################################### # Extension #86 SGIX_dmbuffer enum: DIGITAL_MEDIA_PBUFFER_SGIX = 0x8024 ############################################################################### # No new tokens # Extension #91 SGIX_swap_group enum: ############################################################################### # No new tokens # Extension #92 SGIX_swap_barrier enum: ############################################################################### # Extension #142 SGIS_blended_overlay enum: BLENDED_RGBA_SGIS = 0x8025 ############################################################################### # Extension #143 SGIS_shared_multisample enum: MULTISAMPLE_SUB_RECT_WIDTH_SGIS = 0x8026 MULTISAMPLE_SUB_RECT_HEIGHT_SGIS = 0x8027 ############################################################################### # No new tokens # Extension #183 SUN_get_transparent_index enum: ############################################################################### # Extension #207 3DFX_multisample enum: SAMPLE_BUFFERS_3DFX = 0x8050 SAMPLES_3DFX = 0x8051 ############################################################################### # No new tokens # Extension #215 MESA_copy_sub_buffer enum: ############################################################################### # No new tokens # Extension #216 MESA_pixmap_colormap enum: ############################################################################### # No new tokens # Extension #217 MESA_release_buffers enum: ############################################################################### # Extension #218 MESA_set_3dfx_mode enum: 3DFX_WINDOW_MODE_MESA = 0x1 3DFX_FULLSCREEN_MODE_MESA = 0x2 ############################################################################### # Extension #234 SGIX_visual_select_group enum: VISUAL_SELECT_GROUP_SGIX = 0x8028 ############################################################################### # Extension #237 OML_swap_method enum: SWAP_METHOD_OML = 0x8060 SWAP_EXCHANGE_OML = 0x8061 SWAP_COPY_OML = 0x8062 SWAP_UNDEFINED_OML = 0x8063 ############################################################################### # No new tokens # Extension #238 OML_sync_control enum: ############################################################################### # Extension #281 NV_float_buffer enum: FLOAT_COMPONENTS_NV = 0x20B0 ############################################################################### # Extension #307 SGIX_hyperpipe enum: HYPERPIPE_PIPE_NAME_LENGTH_SGIX = 80 BAD_HYPERPIPE_CONFIG_SGIX = 91 BAD_HYPERPIPE_SGIX = 92 HYPERPIPE_DISPLAY_PIPE_SGIX = 0x00000001 HYPERPIPE_RENDER_PIPE_SGIX = 0x00000002 PIPE_RECT_SGIX = 0x00000001 PIPE_RECT_LIMITS_SGIX = 0x00000002 HYPERPIPE_STEREO_SGIX = 0x00000003 HYPERPIPE_PIXEL_AVERAGE_SGIX = 0x00000004 HYPERPIPE_ID_SGIX = 0x8030 ############################################################################### # No new tokens # Extension #308 MESA_agp_offset enum: opentk-1.0.20101006/Source/Bind/Specifications/Wgl/0000775000175000017500000000000011453142152020354 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/Wgl/wglenumext.spec0000664000175000017500000003271011453131434023433 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. # # $Date: 2005/01/20 08:44:12 $ $Revision: 1.8 $ # $Header: /oss/CVS/cvs/projects/ogl-sample/main/doc/registry/specs/wglenumext.spec,v 1.8 2005/01/20 08:44:12 ljp Exp $ # List of WGL enumerants for wglext.h header # # This is NOT the master WGL enumerant registry. Microsoft used # to maintain that, but given their limited interest in OpenGL, # SGI now maintains the registry in wglenum.spec. # # Unlike wglenum.spec, wglenumext.spec is # (1) In order by extension number # (2) Includes only WGL extensions. # (3) Has no 'Extensions' section, since enums are always # conditionally protected against multiple definition # by glextenum.pl. # (4) Is processed by glextenum.pl, which has evolved # from enum.pl - should merge back into one script. # wglext.h version number - this should be automatically updated, # when changing either enum or template spec files. passthru: passthru: /* Header file version number */ passthru: /* wglext.h last updated 2005/01/07 */ passthru: /* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ passthru: #define WGL_WGLEXT_VERSION 6 ############################################################################### # # ARB WGL extensions, in ARB extension order # ############################################################################### ############################################################################### # ARB Extension #4 WGL_ARB_buffer_region enum: WGL_FRONT_COLOR_BUFFER_BIT_ARB = 0x00000001 WGL_BACK_COLOR_BUFFER_BIT_ARB = 0x00000002 WGL_DEPTH_BUFFER_BIT_ARB = 0x00000004 WGL_STENCIL_BUFFER_BIT_ARB = 0x00000008 ############################################################################### # ARB Extension #5 WGL_ARB_multisample enum: WGL_SAMPLE_BUFFERS_ARB = 0x2041 WGL_SAMPLES_ARB = 0x2042 ############################################################################### # No new tokens # ARB Extension #8 WGL_ARB_extensions_string enum: ############################################################################### # ARB Extension #9 WGL_ARB_pixel_format enum: WGL_NUMBER_PIXEL_FORMATS_ARB = 0x2000 WGL_DRAW_TO_WINDOW_ARB = 0x2001 WGL_DRAW_TO_BITMAP_ARB = 0x2002 WGL_ACCELERATION_ARB = 0x2003 WGL_NEED_PALETTE_ARB = 0x2004 WGL_NEED_SYSTEM_PALETTE_ARB = 0x2005 WGL_SWAP_LAYER_BUFFERS_ARB = 0x2006 WGL_SWAP_METHOD_ARB = 0x2007 WGL_NUMBER_OVERLAYS_ARB = 0x2008 WGL_NUMBER_UNDERLAYS_ARB = 0x2009 WGL_TRANSPARENT_ARB = 0x200A WGL_TRANSPARENT_RED_VALUE_ARB = 0x2037 WGL_TRANSPARENT_GREEN_VALUE_ARB = 0x2038 WGL_TRANSPARENT_BLUE_VALUE_ARB = 0x2039 WGL_TRANSPARENT_ALPHA_VALUE_ARB = 0x203A WGL_TRANSPARENT_INDEX_VALUE_ARB = 0x203B WGL_SHARE_DEPTH_ARB = 0x200C WGL_SHARE_STENCIL_ARB = 0x200D WGL_SHARE_ACCUM_ARB = 0x200E WGL_SUPPORT_GDI_ARB = 0x200F WGL_SUPPORT_OPENGL_ARB = 0x2010 WGL_DOUBLE_BUFFER_ARB = 0x2011 WGL_STEREO_ARB = 0x2012 WGL_PIXEL_TYPE_ARB = 0x2013 WGL_COLOR_BITS_ARB = 0x2014 WGL_RED_BITS_ARB = 0x2015 WGL_RED_SHIFT_ARB = 0x2016 WGL_GREEN_BITS_ARB = 0x2017 WGL_GREEN_SHIFT_ARB = 0x2018 WGL_BLUE_BITS_ARB = 0x2019 WGL_BLUE_SHIFT_ARB = 0x201A WGL_ALPHA_BITS_ARB = 0x201B WGL_ALPHA_SHIFT_ARB = 0x201C WGL_ACCUM_BITS_ARB = 0x201D WGL_ACCUM_RED_BITS_ARB = 0x201E WGL_ACCUM_GREEN_BITS_ARB = 0x201F WGL_ACCUM_BLUE_BITS_ARB = 0x2020 WGL_ACCUM_ALPHA_BITS_ARB = 0x2021 WGL_DEPTH_BITS_ARB = 0x2022 WGL_STENCIL_BITS_ARB = 0x2023 WGL_AUX_BUFFERS_ARB = 0x2024 WGL_NO_ACCELERATION_ARB = 0x2025 WGL_GENERIC_ACCELERATION_ARB = 0x2026 WGL_FULL_ACCELERATION_ARB = 0x2027 WGL_SWAP_EXCHANGE_ARB = 0x2028 WGL_SWAP_COPY_ARB = 0x2029 WGL_SWAP_UNDEFINED_ARB = 0x202A WGL_TYPE_RGBA_ARB = 0x202B WGL_TYPE_COLORINDEX_ARB = 0x202C ############################################################################### # ARB Extension #10 WGL_ARB_make_current_read enum: ERROR_INVALID_PIXEL_TYPE_ARB = 0x2043 ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = 0x2054 ############################################################################### # ARB Extension #11 WGL_ARB_pbuffer enum: WGL_DRAW_TO_PBUFFER_ARB = 0x202D WGL_MAX_PBUFFER_PIXELS_ARB = 0x202E WGL_MAX_PBUFFER_WIDTH_ARB = 0x202F WGL_MAX_PBUFFER_HEIGHT_ARB = 0x2030 WGL_PBUFFER_LARGEST_ARB = 0x2033 WGL_PBUFFER_WIDTH_ARB = 0x2034 WGL_PBUFFER_HEIGHT_ARB = 0x2035 WGL_PBUFFER_LOST_ARB = 0x2036 WGL_TRANSPARENT_RED_VALUE_ARB = 0x2037 WGL_TRANSPARENT_GREEN_VALUE_ARB = 0x2038 WGL_TRANSPARENT_BLUE_VALUE_ARB = 0x2039 WGL_TRANSPARENT_ALPHA_VALUE_ARB = 0x203A WGL_TRANSPARENT_INDEX_VALUE_ARB = 0x203B ############################################################################### # ARB Extension #20 WGL_ARB_render_texture enum: WGL_BIND_TO_TEXTURE_RGB_ARB = 0x2070 WGL_BIND_TO_TEXTURE_RGBA_ARB = 0x2071 WGL_TEXTURE_FORMAT_ARB = 0x2072 WGL_TEXTURE_TARGET_ARB = 0x2073 WGL_MIPMAP_TEXTURE_ARB = 0x2074 WGL_TEXTURE_RGB_ARB = 0x2075 WGL_TEXTURE_RGBA_ARB = 0x2076 WGL_NO_TEXTURE_ARB = 0x2077 WGL_TEXTURE_CUBE_MAP_ARB = 0x2078 WGL_TEXTURE_1D_ARB = 0x2079 WGL_TEXTURE_2D_ARB = 0x207A WGL_MIPMAP_LEVEL_ARB = 0x207B WGL_CUBE_MAP_FACE_ARB = 0x207C WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x207D WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x207E WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x207F WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x2080 WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x2081 WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x2082 WGL_FRONT_LEFT_ARB = 0x2083 WGL_FRONT_RIGHT_ARB = 0x2084 WGL_BACK_LEFT_ARB = 0x2085 WGL_BACK_RIGHT_ARB = 0x2086 WGL_AUX0_ARB = 0x2087 WGL_AUX1_ARB = 0x2088 WGL_AUX2_ARB = 0x2089 WGL_AUX3_ARB = 0x208A WGL_AUX4_ARB = 0x208B WGL_AUX5_ARB = 0x208C WGL_AUX6_ARB = 0x208D WGL_AUX7_ARB = 0x208E WGL_AUX8_ARB = 0x208F WGL_AUX9_ARB = 0x2090 ############################################################################### # ARB Extension #39 WGL_ARB_pixel_format_float enum: WGL_TYPE_RGBA_FLOAT_ARB = 0x21A0 ############################################################################### # # non-ARB extensions follow, in registry order # ############################################################################### ############################################################################### # Extension #169 WGL_EXT_make_current_read enum: ERROR_INVALID_PIXEL_TYPE_EXT = 0x2043 ############################################################################### # Extension #170 WGL_EXT_pixel_format enum: WGL_NUMBER_PIXEL_FORMATS_EXT = 0x2000 WGL_DRAW_TO_WINDOW_EXT = 0x2001 WGL_DRAW_TO_BITMAP_EXT = 0x2002 WGL_ACCELERATION_EXT = 0x2003 WGL_NEED_PALETTE_EXT = 0x2004 WGL_NEED_SYSTEM_PALETTE_EXT = 0x2005 WGL_SWAP_LAYER_BUFFERS_EXT = 0x2006 WGL_SWAP_METHOD_EXT = 0x2007 WGL_NUMBER_OVERLAYS_EXT = 0x2008 WGL_NUMBER_UNDERLAYS_EXT = 0x2009 WGL_TRANSPARENT_EXT = 0x200A WGL_TRANSPARENT_VALUE_EXT = 0x200B WGL_SHARE_DEPTH_EXT = 0x200C WGL_SHARE_STENCIL_EXT = 0x200D WGL_SHARE_ACCUM_EXT = 0x200E WGL_SUPPORT_GDI_EXT = 0x200F WGL_SUPPORT_OPENGL_EXT = 0x2010 WGL_DOUBLE_BUFFER_EXT = 0x2011 WGL_STEREO_EXT = 0x2012 WGL_PIXEL_TYPE_EXT = 0x2013 WGL_COLOR_BITS_EXT = 0x2014 WGL_RED_BITS_EXT = 0x2015 WGL_RED_SHIFT_EXT = 0x2016 WGL_GREEN_BITS_EXT = 0x2017 WGL_GREEN_SHIFT_EXT = 0x2018 WGL_BLUE_BITS_EXT = 0x2019 WGL_BLUE_SHIFT_EXT = 0x201A WGL_ALPHA_BITS_EXT = 0x201B WGL_ALPHA_SHIFT_EXT = 0x201C WGL_ACCUM_BITS_EXT = 0x201D WGL_ACCUM_RED_BITS_EXT = 0x201E WGL_ACCUM_GREEN_BITS_EXT = 0x201F WGL_ACCUM_BLUE_BITS_EXT = 0x2020 WGL_ACCUM_ALPHA_BITS_EXT = 0x2021 WGL_DEPTH_BITS_EXT = 0x2022 WGL_STENCIL_BITS_EXT = 0x2023 WGL_AUX_BUFFERS_EXT = 0x2024 WGL_NO_ACCELERATION_EXT = 0x2025 WGL_GENERIC_ACCELERATION_EXT = 0x2026 WGL_FULL_ACCELERATION_EXT = 0x2027 WGL_SWAP_EXCHANGE_EXT = 0x2028 WGL_SWAP_COPY_EXT = 0x2029 WGL_SWAP_UNDEFINED_EXT = 0x202A WGL_TYPE_RGBA_EXT = 0x202B WGL_TYPE_COLORINDEX_EXT = 0x202C ############################################################################### # Extension #171 WGL_EXT_pbuffer enum: WGL_DRAW_TO_PBUFFER_EXT = 0x202D WGL_MAX_PBUFFER_PIXELS_EXT = 0x202E WGL_MAX_PBUFFER_WIDTH_EXT = 0x202F WGL_MAX_PBUFFER_HEIGHT_EXT = 0x2030 WGL_OPTIMAL_PBUFFER_WIDTH_EXT = 0x2031 WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = 0x2032 WGL_PBUFFER_LARGEST_EXT = 0x2033 WGL_PBUFFER_WIDTH_EXT = 0x2034 WGL_PBUFFER_HEIGHT_EXT = 0x2035 ############################################################################### # Extension #177 WGL_EXT_depth_float enum: WGL_DEPTH_FLOAT_EXT = 0x2040 ############################################################################### # Extension #207 WGL_3DFX_multisample enum: WGL_SAMPLE_BUFFERS_3DFX = 0x2060 WGL_SAMPLES_3DFX = 0x2061 ############################################################################### # Extension #209 WGL_EXT_multisample enum: WGL_SAMPLE_BUFFERS_EXT = 0x2041 WGL_SAMPLES_EXT = 0x2042 ############################################################################### # Extension #250 WGL_I3D_digital_video_control enum: WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = 0x2050 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = 0x2051 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = 0x2052 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = 0x2053 ############################################################################### # Extension #251 WGL_I3D_gamma enum: WGL_GAMMA_TABLE_SIZE_I3D = 0x204E WGL_GAMMA_EXCLUDE_DESKTOP_I3D = 0x204F ############################################################################### # Extension #252 WGL_I3D_genlock enum: WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = 0x2044 WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = 0x2045 WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = 0x2046 WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = 0x2047 WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = 0x2048 WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = 0x2049 WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = 0x204A WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = 0x204B WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = 0x204C ############################################################################### # Extension #253 WGL_I3D_image_buffer enum: WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = 0x00000001 WGL_IMAGE_BUFFER_LOCK_I3D = 0x00000002 ############################################################################### # No new tokens # Extension #254 WGL_I3D_swap_frame_lock enum: ############################################################################### # Extension #263 WGL_NV_render_depth_texture enum: WGL_BIND_TO_TEXTURE_DEPTH_NV = 0x20A3 WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = 0x20A4 WGL_DEPTH_TEXTURE_FORMAT_NV = 0x20A5 WGL_TEXTURE_DEPTH_COMPONENT_NV = 0x20A6 WGL_DEPTH_COMPONENT_NV = 0x20A7 ############################################################################### # Extension #264 WGL_NV_render_texture_rectangle enum: WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = 0x20A0 WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = 0x20A1 WGL_TEXTURE_RECTANGLE_NV = 0x20A2 ############################################################################### # Extension #278 WGL_ATI_pixel_format_float enum: WGL_TYPE_RGBA_FLOAT_ATI = 0x21A0 ############################################################################### # Extension #281 WGL_NV_float_buffer enum: WGL_FLOAT_COMPONENTS_NV = 0x20B0 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = 0x20B1 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = 0x20B2 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = 0x20B3 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = 0x20B4 WGL_TEXTURE_FLOAT_R_NV = 0x20B5 WGL_TEXTURE_FLOAT_RG_NV = 0x20B6 WGL_TEXTURE_FLOAT_RGB_NV = 0x20B7 WGL_TEXTURE_FLOAT_RGBA_NV = 0x20B8 opentk-1.0.20101006/Source/Bind/Specifications/Wgl/wglenum.spec0000664000175000017500000003147711453131434022723 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2005 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. # # $Date: 2005/01/20 08:44:12 $ $Revision: 1.6 $ # $Header: /oss/CVS/cvs/projects/ogl-sample/main/doc/registry/specs/wglenum.spec,v 1.6 2005/01/20 08:44:12 ljp Exp $ # This is the master WGL enumerant registry. # # It is an extremely important file. Do not mess with it unless # you know what you're doing and have permission to do so. # # Rules for modification are similar to the rules for the OpenGL # enumerant registry (gl.spec). Basically, don't modify this file # unless you're SGI's ARB Representative. In principle Microsoft # owns the WGL registry, but they have for practical purposes # ceded administration of it to SGI. # # Finally, note that this registry does not currently include # any core WGL enumerants - only enumerants defined by WGL # extensions. ############################################################################### # Bitmasks - not consumed by the registry WGL_ARB_buffer_region enum: WGL_FRONT_COLOR_BUFFER_BIT_ARB = 0x00000001 WGL_BACK_COLOR_BUFFER_BIT_ARB = 0x00000002 WGL_DEPTH_BUFFER_BIT_ARB = 0x00000004 WGL_STENCIL_BUFFER_BIT_ARB = 0x00000008 ############################################################################### # SGI: 0x2000-0x203F WGL_EXT_pixel_format enum: WGL_NUMBER_PIXEL_FORMATS_EXT = 0x2000 WGL_DRAW_TO_WINDOW_EXT = 0x2001 WGL_DRAW_TO_BITMAP_EXT = 0x2002 WGL_ACCELERATION_EXT = 0x2003 WGL_NEED_PALETTE_EXT = 0x2004 WGL_NEED_SYSTEM_PALETTE_EXT = 0x2005 WGL_SWAP_LAYER_BUFFERS_EXT = 0x2006 WGL_SWAP_METHOD_EXT = 0x2007 WGL_NUMBER_OVERLAYS_EXT = 0x2008 WGL_NUMBER_UNDERLAYS_EXT = 0x2009 WGL_TRANSPARENT_EXT = 0x200A WGL_TRANSPARENT_VALUE_EXT = 0x200B WGL_SHARE_DEPTH_EXT = 0x200C WGL_SHARE_STENCIL_EXT = 0x200D WGL_SHARE_ACCUM_EXT = 0x200E WGL_SUPPORT_GDI_EXT = 0x200F WGL_SUPPORT_OPENGL_EXT = 0x2010 WGL_DOUBLE_BUFFER_EXT = 0x2011 WGL_STEREO_EXT = 0x2012 WGL_PIXEL_TYPE_EXT = 0x2013 WGL_COLOR_BITS_EXT = 0x2014 WGL_RED_BITS_EXT = 0x2015 WGL_RED_SHIFT_EXT = 0x2016 WGL_GREEN_BITS_EXT = 0x2017 WGL_GREEN_SHIFT_EXT = 0x2018 WGL_BLUE_BITS_EXT = 0x2019 WGL_BLUE_SHIFT_EXT = 0x201A WGL_ALPHA_BITS_EXT = 0x201B WGL_ALPHA_SHIFT_EXT = 0x201C WGL_ACCUM_BITS_EXT = 0x201D WGL_ACCUM_RED_BITS_EXT = 0x201E WGL_ACCUM_GREEN_BITS_EXT = 0x201F WGL_ACCUM_BLUE_BITS_EXT = 0x2020 WGL_ACCUM_ALPHA_BITS_EXT = 0x2021 WGL_DEPTH_BITS_EXT = 0x2022 WGL_STENCIL_BITS_EXT = 0x2023 WGL_AUX_BUFFERS_EXT = 0x2024 WGL_NO_ACCELERATION_EXT = 0x2025 WGL_GENERIC_ACCELERATION_EXT = 0x2026 WGL_FULL_ACCELERATION_EXT = 0x2027 WGL_SWAP_EXCHANGE_EXT = 0x2028 WGL_SWAP_COPY_EXT = 0x2029 WGL_SWAP_UNDEFINED_EXT = 0x202A WGL_TYPE_RGBA_EXT = 0x202B WGL_TYPE_COLORINDEX_EXT = 0x202C WGL_ARB_pixel_format enum: WGL_NUMBER_PIXEL_FORMATS_ARB = 0x2000 WGL_DRAW_TO_WINDOW_ARB = 0x2001 WGL_DRAW_TO_BITMAP_ARB = 0x2002 WGL_ACCELERATION_ARB = 0x2003 WGL_NEED_PALETTE_ARB = 0x2004 WGL_NEED_SYSTEM_PALETTE_ARB = 0x2005 WGL_SWAP_LAYER_BUFFERS_ARB = 0x2006 WGL_SWAP_METHOD_ARB = 0x2007 WGL_NUMBER_OVERLAYS_ARB = 0x2008 WGL_NUMBER_UNDERLAYS_ARB = 0x2009 WGL_TRANSPARENT_ARB = 0x200A WGL_SHARE_DEPTH_ARB = 0x200C WGL_SHARE_STENCIL_ARB = 0x200D WGL_SHARE_ACCUM_ARB = 0x200E WGL_SUPPORT_GDI_ARB = 0x200F WGL_SUPPORT_OPENGL_ARB = 0x2010 WGL_DOUBLE_BUFFER_ARB = 0x2011 WGL_STEREO_ARB = 0x2012 WGL_PIXEL_TYPE_ARB = 0x2013 WGL_COLOR_BITS_ARB = 0x2014 WGL_RED_BITS_ARB = 0x2015 WGL_RED_SHIFT_ARB = 0x2016 WGL_GREEN_BITS_ARB = 0x2017 WGL_GREEN_SHIFT_ARB = 0x2018 WGL_BLUE_BITS_ARB = 0x2019 WGL_BLUE_SHIFT_ARB = 0x201A WGL_ALPHA_BITS_ARB = 0x201B WGL_ALPHA_SHIFT_ARB = 0x201C WGL_ACCUM_BITS_ARB = 0x201D WGL_ACCUM_RED_BITS_ARB = 0x201E WGL_ACCUM_GREEN_BITS_ARB = 0x201F WGL_ACCUM_BLUE_BITS_ARB = 0x2020 WGL_ACCUM_ALPHA_BITS_ARB = 0x2021 WGL_DEPTH_BITS_ARB = 0x2022 WGL_STENCIL_BITS_ARB = 0x2023 WGL_AUX_BUFFERS_ARB = 0x2024 WGL_NO_ACCELERATION_ARB = 0x2025 WGL_GENERIC_ACCELERATION_ARB = 0x2026 WGL_FULL_ACCELERATION_ARB = 0x2027 WGL_SWAP_EXCHANGE_ARB = 0x2028 WGL_SWAP_COPY_ARB = 0x2029 WGL_SWAP_UNDEFINED_ARB = 0x202A WGL_TYPE_RGBA_ARB = 0x202B WGL_TYPE_COLORINDEX_ARB = 0x202C WGL_DRAW_TO_PBUFFER_ARB = 0x202D WGL_MAX_PBUFFER_PIXELS_ARB = 0x202E WGL_MAX_PBUFFER_WIDTH_ARB = 0x202F WGL_MAX_PBUFFER_HEIGHT_ARB = 0x2030 WGL_PBUFFER_LARGEST_ARB = 0x2033 WGL_PBUFFER_WIDTH_ARB = 0x2034 WGL_PBUFFER_HEIGHT_ARB = 0x2035 WGL_TRANSPARENT_RED_VALUE_ARB = 0x2037 WGL_TRANSPARENT_GREEN_VALUE_ARB = 0x2038 WGL_TRANSPARENT_BLUE_VALUE_ARB = 0x2039 WGL_TRANSPARENT_ALPHA_VALUE_ARB = 0x203A WGL_TRANSPARENT_INDEX_VALUE_ARB = 0x203B ############################################################################### WGL_EXT_pbuffer enum: WGL_DRAW_TO_PBUFFER_EXT = 0x202D WGL_MAX_PBUFFER_PIXELS_EXT = 0x202E WGL_MAX_PBUFFER_WIDTH_EXT = 0x202F WGL_MAX_PBUFFER_HEIGHT_EXT = 0x2030 WGL_OPTIMAL_PBUFFER_WIDTH_EXT = 0x2031 WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = 0x2032 WGL_PBUFFER_LARGEST_EXT = 0x2033 WGL_PBUFFER_WIDTH_EXT = 0x2034 WGL_PBUFFER_HEIGHT_EXT = 0x2035 WGL_ARB_pbuffer enum: WGL_DRAW_TO_PBUFFER_ARB = 0x202D WGL_MAX_PBUFFER_PIXELS_ARB = 0x202E WGL_MAX_PBUFFER_WIDTH_ARB = 0x202F WGL_MAX_PBUFFER_HEIGHT_ARB = 0x2030 WGL_PBUFFER_LARGEST_ARB = 0x2033 WGL_PBUFFER_WIDTH_ARB = 0x2034 WGL_PBUFFER_HEIGHT_ARB = 0x2035 WGL_PBUFFER_LOST_ARB = 0x2036 use WGL_ARB_pixel_format WGL_TRANSPARENT_RED_VALUE_ARB use WGL_ARB_pixel_format WGL_TRANSPARENT_GREEN_VALUE_ARB use WGL_ARB_pixel_format WGL_TRANSPARENT_BLUE_VALUE_ARB use WGL_ARB_pixel_format WGL_TRANSPARENT_ALPHA_VALUE_ARB use WGL_ARB_pixel_format WGL_TRANSPARENT_INDEX_VALUE_ARB ############################################################################### # SGI_future_use: 0x203C-0x203F ############################################################################### # Intense3D: 0x2040-0x205F WGL_EXT_depth_float enum: WGL_DEPTH_FLOAT_EXT = 0x2040 ############################################################################### WGL_EXT_multisample enum: WGL_SAMPLE_BUFFERS_EXT = 0x2041 WGL_SAMPLES_EXT = 0x2042 WGL_ARB_multisample enum: WGL_SAMPLE_BUFFERS_ARB = 0x2041 WGL_SAMPLES_ARB = 0x2042 ############################################################################### WGL_EXT_make_current_read enum: ERROR_INVALID_PIXEL_TYPE_EXT = 0x2043 WGL_ARB_make_current_read enum: ERROR_INVALID_PIXEL_TYPE_ARB = 0x2043 ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = 0x2054 ############################################################################### WGL_I3D_genlock enum: WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = 0x2044 WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D = 0x2045 WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D = 0x2046 WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D = 0x2047 WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = 0x2048 WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = 0x2049 WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = 0x204A WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = 0x204B WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = 0x204C ############################################################################### # Intense3D_future_use: 0x204D ############################################################################### WGL_I3D_gamma enum: WGL_GAMMA_TABLE_SIZE_I3D = 0x204E WGL_GAMMA_EXCLUDE_DESKTOP_I3D = 0x204F ############################################################################### # Intense3D hasn't spec'ed this extension, but it's in the enum registry WGL_I3D_digital_video_control enum: WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = 0x2050 WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = 0x2051 WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = 0x2052 WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = 0x2053 ############################################################################### # WGL_ARB_make_current_read (additional; see above): 0x2054 ############################################################################### # Intense3D_future_use: 0x2055-0x205F ############################################################################### # 3DFX: 0x2060-0x206F WGL_3DFX_multisample enum: WGL_SAMPLE_BUFFERS_3DFX = 0x2060 WGL_SAMPLES_3DFX = 0x2061 ############################################################################### # ARB: 0x2070-0x209F WGL_ARB_render_texture enum: WGL_BIND_TO_TEXTURE_RGB_ARB = 0x2070 WGL_BIND_TO_TEXTURE_RGBA_ARB = 0x2071 WGL_TEXTURE_FORMAT_ARB = 0x2072 WGL_TEXTURE_TARGET_ARB = 0x2073 WGL_MIPMAP_TEXTURE_ARB = 0x2074 WGL_TEXTURE_RGB_ARB = 0x2075 WGL_TEXTURE_RGBA_ARB = 0x2076 WGL_NO_TEXTURE_ARB = 0x2077 WGL_TEXTURE_CUBE_MAP_ARB = 0x2078 WGL_TEXTURE_1D_ARB = 0x2079 WGL_TEXTURE_2D_ARB = 0x207A WGL_MIPMAP_LEVEL_ARB = 0x207B WGL_CUBE_MAP_FACE_ARB = 0x207C WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x207D WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x207E WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x207F WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x2080 WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x2081 WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x2082 WGL_FRONT_LEFT_ARB = 0x2083 WGL_FRONT_RIGHT_ARB = 0x2084 WGL_BACK_LEFT_ARB = 0x2085 WGL_BACK_RIGHT_ARB = 0x2086 WGL_AUX0_ARB = 0x2087 WGL_AUX1_ARB = 0x2088 WGL_AUX2_ARB = 0x2089 WGL_AUX3_ARB = 0x208A WGL_AUX4_ARB = 0x208B WGL_AUX5_ARB = 0x208C WGL_AUX6_ARB = 0x208D WGL_AUX7_ARB = 0x208E WGL_AUX8_ARB = 0x208F WGL_AUX9_ARB = 0x2090 # ARB_future_use: 0x2091-0x209F ############################################################################### # NVIDIA: 0x20A0-0x219F WGL_NV_render_texture_rectangle enum: WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = 0x20A0 WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = 0x20A1 WGL_TEXTURE_RECTANGLE_NV = 0x20A2 WGL_NV_render_depth_texture enum: WGL_BIND_TO_TEXTURE_DEPTH_NV = 0x20A3 WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV = 0x20A4 WGL_DEPTH_TEXTURE_FORMAT_NV = 0x20A5 WGL_TEXTURE_DEPTH_COMPONENT_NV = 0x20A6 WGL_DEPTH_COMPONENT_NV = 0x20A7 # NV_future_use: 0x20A8-0x20AF WGL_NV_float_buffer enum: WGL_FLOAT_COMPONENTS_NV = 0x20B0 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = 0x20B1 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = 0x20B2 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = 0x20B3 WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = 0x20B4 WGL_TEXTURE_FLOAT_R_NV = 0x20B5 WGL_TEXTURE_FLOAT_RG_NV = 0x20B6 WGL_TEXTURE_FLOAT_RGB_NV = 0x20B7 WGL_TEXTURE_FLOAT_RGBA_NV = 0x20B8 # NV_future_use: 0x20B9-0x219F ############################################################################### # ATI: 0x21A0-0x21AF WGL_ARB_pixel_format_float enum: WGL_TYPE_RGBA_FLOAT_ARB = 0x21A0 WGL_ATI_pixel_format_float enum: WGL_TYPE_RGBA_FLOAT_ATI = 0x21A0 # ATI_future_use: 0x21A1-0x21AF ############################################################################### # Matrox: 0x21B0-0x21BF (tentative, RFC sent to ARB 2002/10/3) ############################################################################### # Any_vendor_future_use: 0x21C0-0xFFFF # Added by hand: WGL_font_type enum: WGL_FONT_LINES = 0 WGL_FONT_POLYGONS = 1 opentk-1.0.20101006/Source/Bind/Specifications/Wgl/wglext.spec0000664000175000017500000005321711453131434022553 0ustar laneylaney# wglext.spec file # DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! # # License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. required-props: param: retval retained category: wgl ARB_buffer_region ARB_extensions_string ARB_pixel_format ARB_make_current_read ARB_pbuffer ARB_render_texture ARB_pixel_format_float EXT_display_color_table EXT_extensions_string EXT_make_current_read EXT_pbuffer EXT_pixel_format EXT_swap_control OML_sync_control I3D_digital_video_control I3D_gamma I3D_genlock I3D_image_buffer I3D_swap_frame_lock I3D_swap_frame_usage NV_vertex_array_range # required-props in wgl.spec (which is not used for anything): # dlflags: notlistable handcode # wglflags: client-handcode server-handcode non-dispatch # # Boilerplate to define types used by some extensions. This is done # up front, since it involves some complexities in protecting # the declarations whether or not the -protect flag is given to # the generator scripts. # passthru: #ifndef WGL_ARB_pbuffer passthru: DECLARE_HANDLE(HPBUFFERARB); passthru: #endif passthru: #ifndef WGL_EXT_pbuffer passthru: DECLARE_HANDLE(HPBUFFEREXT); passthru: #endif passthru: ############################################################################### # # ARB Extension #4 # ARB_buffer_region commands # ############################################################################### CreateBufferRegionARB(hDC, iLayerPlane, uType) return HANDLE param hDC HDC in value param iLayerPlane int in value param uType UINT in value category ARB_buffer_region DeleteBufferRegionARB(hRegion) return VOID param hRegion HANDLE in value category ARB_buffer_region SaveBufferRegionARB(hRegion, x, y, width, height) return BOOL param hRegion HANDLE in value param x int in value param y int in value param width int in value param height int in value category ARB_buffer_region RestoreBufferRegionARB(hRegion, x, y, width, height, xSrc, ySrc) return BOOL param hRegion HANDLE in value param x int in value param y int in value param width int in value param height int in value param xSrc int in value param ySrc int in value category ARB_buffer_region ############################################################################### # # ARB Extension #5 # ARB_multisample commands # ############################################################################### # (none) newcategory: ARB_multisample ############################################################################### # # ARB Extension #8 # ARB_extensions_string commands # ############################################################################### GetExtensionsStringARB(hdc) return String param hdc HDC in value category ARB_extensions_string ############################################################################### # # ARB Extension #9 # ARB_pixel_format commands # ############################################################################### GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) return BOOL param hdc HDC in value param iPixelFormat int in value param iLayerPlane int in value param nAttributes UINT in value param piAttributes int in array [nAttributes] param piValues int out array [nAttributes] category ARB_pixel_format GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) return BOOL param hdc HDC in value param iPixelFormat int in value param iLayerPlane int in value param nAttributes UINT in value param piAttributes int in array [nAttributes] param pfValues FLOAT out array [nAttributes] category ARB_pixel_format ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) return BOOL param hdc HDC in value param piAttribIList int in array [COMPSIZE()] param pfAttribFList FLOAT in array [COMPSIZE()] param nMaxFormats UINT in value param piFormats int out array [COMPSIZE(nNumFormats)] param nNumFormats UINT out reference category ARB_pixel_format ############################################################################### # # ARB Extension #10 # ARB_make_current_read commands # ############################################################################### MakeContextCurrentARB(hDrawDC, hReadDC, hglrc) return BOOL param hDrawDC HDC in value param hReadDC HDC in value param hglrc HGLRC in value category ARB_make_current_read GetCurrentReadDCARB() return HDC category ARB_make_current_read ############################################################################### # # ARB Extension #11 # ARB_pbuffer commands # ############################################################################### CreatePbufferARB(hDC, iPixelFormat, iWidth, iHeight, piAttribList) return HPBUFFERARB param hDC HDC in value param iPixelFormat int in value param iWidth int in value param iHeight int in value param piAttribList int in array [COMPSIZE()] category ARB_pbuffer GetPbufferDCARB(hPbuffer) return HDC param hPbuffer HPBUFFERARB in value category ARB_pbuffer ReleasePbufferDCARB(hPbuffer, hDC) return int param hPbuffer HPBUFFERARB in value param hDC HDC in value category ARB_pbuffer DestroyPbufferARB(hPbuffer) return BOOL param hPbuffer HPBUFFERARB in value category ARB_pbuffer QueryPbufferARB(hPbuffer, iAttribute, piValue) return BOOL param hPbuffer HPBUFFERARB in value param iAttribute int in value param piValue int out reference category ARB_pbuffer ############################################################################### # # ARB Extension #20 # ARB_render_texture commands # ############################################################################### BindTexImageARB(hPbuffer, iBuffer) return BOOL param hPbuffer HPBUFFERARB in value param iBuffer int in value category ARB_render_texture ReleaseTexImageARB(hPbuffer, iBuffer) return BOOL param hPbuffer HPBUFFERARB in value param iBuffer int in value category ARB_render_texture SetPbufferAttribARB(hPbuffer, piAttribList) return BOOL param hPbuffer HPBUFFERARB in value param piAttribList int in array [COMPSIZE()] category ARB_render_texture ############################################################################### # # ARB Extension #39 # ARB_pixel_format_float commands # ############################################################################### # (none) newcategory: ARB_pixel_format_float ############################################################################### # # Extension #167 # EXT_display_color_table commands # ############################################################################### CreateDisplayColorTableEXT(id) return GLboolean param id GLushort in value category EXT_display_color_table LoadDisplayColorTableEXT(table, length) return GLboolean param table GLushort in array [length] param length GLuint in value category EXT_display_color_table BindDisplayColorTableEXT(id) return GLboolean param id GLushort in value category EXT_display_color_table DestroyDisplayColorTableEXT(id) return VOID param id GLushort in value category EXT_display_color_table ############################################################################### # # Extension #168 # EXT_extensions_string commands # ############################################################################### GetExtensionsStringEXT() return String category EXT_extensions_string ############################################################################### # # Extension #169 # EXT_make_current_read commands # ############################################################################### MakeContextCurrentEXT(hDrawDC, hReadDC, hglrc) return BOOL param hDrawDC HDC in value param hReadDC HDC in value param hglrc HGLRC in value category EXT_make_current_read GetCurrentReadDCEXT() return HDC category EXT_make_current_read ############################################################################### # # Extension #171 # EXT_pbuffer commands # ############################################################################### CreatePbufferEXT(hDC, iPixelFormat, iWidth, iHeight, piAttribList) return HPBUFFEREXT param hDC HDC in value param iPixelFormat int in value param iWidth int in value param iHeight int in value param piAttribList int in array [COMPSIZE()] category EXT_pbuffer GetPbufferDCEXT(hPbuffer) return HDC param hPbuffer HPBUFFEREXT in value category EXT_pbuffer ReleasePbufferDCEXT(hPbuffer, hDC) return int param hPbuffer HPBUFFEREXT in value param hDC HDC in value category EXT_pbuffer DestroyPbufferEXT(hPbuffer) return BOOL param hPbuffer HPBUFFEREXT in value category EXT_pbuffer QueryPbufferEXT(hPbuffer, iAttribute, piValue) return BOOL param hPbuffer HPBUFFEREXT in value param iAttribute int in value param piValue int out reference category EXT_pbuffer ############################################################################### # # Extension #170 # EXT_pixel_format commands # ############################################################################### GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) return BOOL param hdc HDC in value param iPixelFormat int in value param iLayerPlane int in value param nAttributes UINT in value param piAttributes int out array [nAttributes] param piValues int out array [nAttributes] category EXT_pixel_format GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) return BOOL param hdc HDC in value param iPixelFormat int in value param iLayerPlane int in value param nAttributes UINT in value param piAttributes int out array [nAttributes] param pfValues FLOAT out array [nAttributes] category EXT_pixel_format ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) return BOOL param hdc HDC in value param piAttribIList int in array [COMPSIZE()] param pfAttribFList FLOAT in array [COMPSIZE()] param nMaxFormats UINT in value param piFormats int out array [COMPSIZE(nNumFormats)] param nNumFormats UINT out reference category EXT_pixel_format ############################################################################### # # Extension #172 # EXT_swap_control commands # ############################################################################### SwapIntervalEXT(interval) return BOOL param interval int in value category EXT_swap_control GetSwapIntervalEXT() return int category EXT_swap_control ############################################################################### # # Extension #177 # EXT_depth_float commands # ############################################################################### # (none) newcategory: EXT_depth_float ############################################################################### # # Extension #190 # NV_vertex_array_range commands # ############################################################################### AllocateMemoryNV(size, readfreq, writefreq, priority) return VoidPointer param size GLsizei in value param readfreq GLfloat in value param writefreq GLfloat in value param priority GLfloat in value category NV_vertex_array_range FreeMemoryNV(pointer) return void param pointer void out array [1] category NV_vertex_array_range ############################################################################### # # Extension #207 # 3DFX_multisample commands # ############################################################################### # (none) newcategory: 3DFX_multisample ############################################################################### # # Extension #209 # EXT_multisample commands # ############################################################################### # (none) newcategory: EXT_multisample ############################################################################### # # Extension #242 # OML_sync_control commands # ############################################################################### GetSyncValuesOML(hdc, ust, msc, sbc) return BOOL param hdc HDC in value param ust INT64 out array [1] param msc INT64 out array [1] param sbc INT64 out array [1] category OML_sync_control GetMscRateOML(hdc, numerator, denominator) return BOOL param hdc HDC in value param numerator INT32 out array [1] param denominator INT32 out array [1] category OML_sync_control SwapBuffersMscOML(hdc, target_msc, divisor, remainder) return INT64 param hdc HDC in value param target_msc INT64 in value param divisor INT64 in value param remainder INT64 in value category OML_sync_control SwapLayerBuffersMscOML(hdc, fuPlanes, target_msc, divisor, remainder) return INT64 param hdc HDC in value param fuPlanes int in value param target_msc INT64 in value param divisor INT64 in value param remainder INT64 in value category OML_sync_control WaitForMscOML(hdc, target_msc, divisor, remainder , ust, msc, sbc) return BOOL param hdc HDC in value param target_msc INT64 in value param divisor INT64 in value param remainder INT64 in value param ust INT64 out array [1] param msc INT64 out array [1] param sbc INT64 out array [1] category OML_sync_control WaitForSbcOML(hdc, target_sbc, ust, msc, sbc) return BOOL param hdc HDC in value param target_sbc INT64 in value param ust INT64 out array [1] param msc INT64 out array [1] param sbc INT64 out array [1] category OML_sync_control ############################################################################### # # Extension #250 # I3D_digital_video_control commands # ############################################################################### GetDigitalVideoParametersI3D(hDC, iAttribute, piValue) return BOOL param hDC HDC in value param iAttribute int in value param piValue int out array [COMPSIZE(iAttribute)] category I3D_digital_video_control SetDigitalVideoParametersI3D(hDC, iAttribute, piValue) return BOOL param hDC HDC in value param iAttribute int in value param piValue int in array [COMPSIZE(iAttribute)] category I3D_digital_video_control ############################################################################### # # Extension #251 # I3D_gamma commands # ############################################################################### GetGammaTableParametersI3D(hDC, iAttribute, piValue) return BOOL param hDC HDC in value param iAttribute int in value param piValue int out array [COMPSIZE(iAttribute)] category I3D_gamma SetGammaTableParametersI3D(hDC, iAttribute, piValue) return BOOL param hDC HDC in value param iAttribute int in value param piValue int in array [COMPSIZE(iAttribute)] category I3D_gamma GetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue) return BOOL param hDC HDC in value param iEntries int in value param puRed USHORT out array [iEntries] param puGreen USHORT out array [iEntries] param puBlue USHORT out array [iEntries] category I3D_gamma SetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue) return BOOL param hDC HDC in value param iEntries int in value param puRed USHORT in array [iEntries] param puGreen USHORT in array [iEntries] param puBlue USHORT in array [iEntries] category I3D_gamma ############################################################################### # # Extension #252 # I3D_genlock commands # ############################################################################### EnableGenlockI3D(hDC) return BOOL param hDC HDC in value category I3D_genlock DisableGenlockI3D(hDC) return BOOL param hDC HDC in value category I3D_genlock IsEnabledGenlockI3D(hDC, pFlag) return BOOL param hDC HDC in value param pFlag BOOL out reference category I3D_genlock GenlockSourceI3D(hDC, uSource) return BOOL param hDC HDC in value param uSource UINT in value category I3D_genlock GetGenlockSourceI3D(hDC, uSource) return BOOL param hDC HDC in value param uSource UINT out reference category I3D_genlock GenlockSourceEdgeI3D(hDC, uEdge) return BOOL param hDC HDC in value param uEdge UINT in value category I3D_genlock GetGenlockSourceEdgeI3D(hDC, uEdge) return BOOL param hDC HDC in value param uEdge UINT out reference category I3D_genlock GenlockSampleRateI3D(hDC, uRate) return BOOL param hDC HDC in value param uRate UINT in value category I3D_genlock GetGenlockSampleRateI3D(hDC, uRate) return BOOL param hDC HDC in value param uRate UINT out reference category I3D_genlock GenlockSourceDelayI3D(hDC, uDelay) return BOOL param hDC HDC in value param uDelay UINT in value category I3D_genlock GetGenlockSourceDelayI3D(hDC, uDelay) return BOOL param hDC HDC in value param uDelay UINT out reference category I3D_genlock QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay, uMaxPixelDelay) return BOOL param hDC HDC in value param uMaxLineDelay UINT out reference param uMaxPixelDelay UINT out reference category I3D_genlock ############################################################################### # # Extension #253 # I3D_image_buffer commands # ############################################################################### CreateImageBufferI3D(hDC, dwSize, uFlags) return LPVOID param hDC HDC in value param dwSize DWORD in value param uFlags UINT in value category I3D_image_buffer DestroyImageBufferI3D(hDC, pAddress) return BOOL param hDC HDC in value param pAddress LPVOID in value category I3D_image_buffer AssociateImageBufferEventsI3D(hDC, pEvent, pAddress, pSize, count) return BOOL param hDC HDC in value param pEvent HANDLE in array [count] param pAddress LPVOID in array [count] param pSize DWORD in array [count] param count UINT in value category I3D_image_buffer ReleaseImageBufferEventsI3D(hDC, pAddress, count) return BOOL param hDC HDC in value param pAddress LPVOID in array [count] param count UINT in value category I3D_image_buffer ############################################################################### # # Extension #254 # I3D_swap_frame_lock commands # ############################################################################### EnableFrameLockI3D() return BOOL category I3D_swap_frame_lock DisableFrameLockI3D() return BOOL category I3D_swap_frame_lock IsEnabledFrameLockI3D(pFlag) return BOOL param pFlag BOOL out reference category I3D_swap_frame_lock QueryFrameLockMasterI3D(pFlag) return BOOL param pFlag BOOL out reference category I3D_swap_frame_lock ############################################################################### # # Extension #255 # I3D_swap_frame_usage commands # ############################################################################### GetFrameUsageI3D(pUsage) return BOOL param pUsage float out reference category I3D_swap_frame_usage BeginFrameTrackingI3D() return BOOL category I3D_swap_frame_usage EndFrameTrackingI3D() return BOOL category I3D_swap_frame_usage QueryFrameTrackingI3D(pFrameCount, pMissedFrames, pLastMissedUsage) return BOOL param pFrameCount DWORD out reference param pMissedFrames DWORD out reference param pLastMissedUsage float out reference category I3D_swap_frame_usage ############################################################################### # # Extension #278 # ATI_pixel_format_float commands # ############################################################################### # (none) newcategory: ATI_pixel_format_float ############################################################################### # # Extension #281 # NV_float_buffer commands # ############################################################################### # (none) newcategory: NV_float_buffer opentk-1.0.20101006/Source/Bind/Specifications/Wgl/wgl.spec0000664000175000017500000001472611453131434022034 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. required-props: param: retval retained dlflags: notlistable handcode nop wglflags: client-handcode server-handcode non-dispatch vectorequiv: * category: wgl CreateContext( hDc ) return HGLRC param hDc HDC in value category wgl dlflags notlistable handcode wglflags non-dispatch DeleteContext( oldContext ) return BOOL param oldContext HGLRC in value category wgl dlflags notlistable handcode wglflags non-dispatch GetCurrentContext( ) return HGLRC category wgl dlflags notlistable handcode wglflags non-dispatch MakeCurrent( hDc, newContext ) return BOOL param hDc HDC in value param newContext HGLRC in value category wgl dlflags notlistable wglflags non-dispatch CopyContext( hglrcSrc, hglrcDst, mask ) return BOOL param hglrcSrc HGLRC in value param hglrcDst HGLRC in value param mask UINT in value category wgl dlflags notlistable wglflags non-dispatch ChoosePixelFormat( hDc, pPfd ) return int param hDc HDC in value param pPfd PIXELFORMATDESCRIPTOR in reference category wgl dlflags notlistable wglflags non-dispatch DescribePixelFormat( hdc, ipfd, cjpfd, ppfd ) return int param hdc HDC in value param ipfd int in value param cjpfd UINT in value param ppfd PIXELFORMATDESCRIPTOR in reference GetCurrentDC( ) return HDC category wgl GetDefaultProcAddress( lpszProc) return PROC param lpszProc LPCSTR in value category wgl GetProcAddress( lpszProc) return PROC param lpszProc LPCSTR in value category wgl GetPixelFormat( hdc ) return int param hdc HDC in value category wgl SetPixelFormat( hdc, ipfd, ppfd ) return BOOL param hdc HDC in value param ipfd int in value param ppfd PIXELFORMATDESCRIPTOR in reference category wgl SwapBuffers( hdc ) return BOOL param hdc HDC in value category wgl ShareLists( hrcSrvShare, hrcSrvSource) return BOOL param hrcSrvShare HGLRC in value param hrcSrvSource HGLRC in value category wgl CreateLayerContext( hDc, level ) return HGLRC param hDc HDC in value param level int in value category wgl DescribeLayerPlane( hDc, pixelFormat, layerPlane, nBytes, plpd ) return BOOL param hDc HDC in value param pixelFormat int in value param layerPlane int in value param nBytes UINT in value param plpd LAYERPLANEDESCRIPTOR in reference category wgl SetLayerPaletteEntries( hdc, iLayerPlane, iStart, cEntries, pcr ) return int param hdc HDC in value param iLayerPlane int in value param iStart int in value param cEntries int in value param pcr COLORREF in reference category wgl GetLayerPaletteEntries( hdc, iLayerPlane, iStart, cEntries, pcr ) return int param hdc HDC in value param iLayerPlane int in value param iStart int in value param cEntries int in value param pcr COLORREF in reference category wgl RealizeLayerPalette( hdc, iLayerPlane, bRealize ) return BOOL param hdc HDC in value param iLayerPlane int in value param bRealize BOOL in value category wgl SwapLayerBuffers( hdc, fuFlags ) return BOOL param hdc HDC in value param fuFlags UINT in value category wgl UseFontBitmapsA( hDC, first, count, listBase ) return BOOL param hDC HDC in value param first DWORD in value param count DWORD in value param listBase DWORD in value category wgl dlflags notlistable UseFontBitmapsW( hDC, first, count, listBase ) return BOOL param hDC HDC in value param first DWORD in value param count DWORD in value param listBase DWORD in value category wgl dlflags notlistable # Added by hand. Where can we find an updated spec? #UseFontBitmaps( hDC, first, count, listBase ) # return BOOL # param hDC HDC in value # param first DWORD in value # param count DWORD in value # param listBase DWORD in value # category wgl # dlflags notlistable UseFontOutlinesA( hDC, first, count, listBase ) return BOOL param hDC HDC in value param first DWORD in value param count DWORD in value param listBase DWORD in value param thickness float in value param deviation float in value param fontMode DWORD in value param glyphMetrics GLYPHMETRICSFLOAT in array category wgl dlflags notlistable UseFontOutlinesW( hDC, first, count, listBase ) return BOOL param hDC HDC in value param first DWORD in value param count DWORD in value param listBase DWORD in value param thickness float in value param deviation float in value param fontMode DWORD in value param glyphMetrics GLYPHMETRICSFLOAT in array category wgl dlflags notlistable #UseFontOutlines( hDC, first, count, listBase ) # return BOOL # param hDC HDC in value # param first DWORD in value # param count DWORD in value # param listBase DWORD in value # param thickness float in value # param deviation float in value # param fontMode DWORD in value # param glyphMetrics GLYPHMETRICSFLOAT in array # category wgl # dlflags notlistable opentk-1.0.20101006/Source/Bind/Specifications/Wgl/wgl.tm0000664000175000017500000000201111453131434021502 0ustar laneylaneyBOOL,*,*, BOOL,*,* DWORD,*,*, DWORD,*,* FLOAT,*,*, FLOAT,*,* GLboolean,*,*, GLboolean,*,* GLfloat,*,*, GLfloat,*,* GLsizei,*,*, GLsizei,*,* GLuint,*,*, GLuint,*,* GLushort,*,*, GLushort,*,* HANDLE,*,*, HANDLE,*,* HDC,*,*, HDC,*,* HGLRC,*,*, HGLRC,*,* HPBUFFERARB,*,*, HPBUFFERARB,*,* HPBUFFEREXT,*,*, HPBUFFEREXT,*,* INT32,*,*, INT32,*,* INT64,*,*, INT64,*,* LPVOID,*,*, LPVOID,*,* #String,*,*, const char *,*,* UINT,*,*, UINT,*,* USHORT,*,*, USHORT,*,* VOID,*,*, VOID,*,* VoidPointer,*,*, void*,*,* float,*,*, float,*,* int,*,*, int,*,* #void,*,*, *,*,* PIXELFORMATDESCRIPTOR,*,*, PIXELFORMATDESCRIPTOR,*,* LAYERPLANEDESCRIPTOR,*,*, LAYERPLANEDESCRIPTOR,*,* GLYPHMETRICSFLOAT,*,*, GLYPHMETRICSFLOAT,*,* COLORREF,*,*, Int32,*,* LPCSTR,*,*, String,*,* PROC,*,*, IntPtr,*,* opentk-1.0.20101006/Source/Bind/Specifications/csharp.tm0000664000175000017500000000641511453131434021454 0ustar laneylaney# Normal types. GLsizei, Int32 GLsizeiptr, IntPtr GLintptr, IntPtr # GLenum, Int32 GLboolean, bool # Boolean # Int32 GLbitfield, UInt32 # GLvoid*, IntPtr # GLvoid, Void #Object GLchar, Char GLbyte, SByte GLubyte, Byte GLshort, Int16 GLushort, UInt16 GLint, Int32 GLuint, UInt32 GLfloat, Single GLclampf, Single GLdouble, Double GLclampd, Double GLstring, String PixelInternalFormat, PixelInternalFormat # ARB and NV types. GLsizeiptrARB, IntPtr GLintptrARB, IntPtr GLhandleARB, UInt32 GLhalfARB, OpenTK.Half GLhalfNV, OpenTK.Half GLcharARB, Char # 64 bit types (introduced in 2.1) GLint64EXT, Int64 GLuint64EXT, UInt64 GLint64, Int64 GLuint64, UInt64 # ARB_sync (introduced in 3.2) sync, IntPtr GLsync, IntPtr # Wgl types. PROC, IntPtr LPCSTR, String COLORREF, Int32 BOOL, Boolean DWORD, Int32 FLOAT, Single HANDLE, IntPtr HDC, IntPtr HGLRC, IntPtr HPBUFFERARB, IntPtr #HPBUFFERARB HPBUFFEREXT, IntPtr #HPBUFFEREXT INT32, Int32 INT64, Int64 LPVOID, void* #String, const char * UINT, UInt32 USHORT, UInt16 VOID, void VoidPointer, void* float, float int, int #void, * # Glu types. Float64 double Float64Pointer double* Float32 float Float32Pointer float* # Glx types. Void void Bool bool int64_t long int32_t int Display IntPtr Window IntPtr Pixmap IntPtr Colormap IntPtr GLXWindow IntPtr GLXContext IntPtr GLXDrawable IntPtr GLXPixmap IntPtr __GLXextFuncPtr IntPtr VLServer IntPtr VLPath IntPtr VLNode IntPtr # OpenGL|ES types. GLclampx, int GLfixed, int GLeglImageOES, IntPtr # OpenCL types. cl_command_queue, IntPtr cl_context, IntPtr cl_device_id, IntPtr cl_event, IntPtr cl_kernel, IntPtr cl_mem, IntPtr cl_platform_id, IntPtr cl_program, IntPtr cl_sampler, IntPtr size_t, IntPtr cl_bool, bool cl_int, int cl_uint, uint uchar, byte cl_addressing_mode, AddressingMode cl_command_queue_info, CommandQueueInfo cl_command_queue_properties, CommandQueueProperties cl_context_info, ContextInfo cl_context_properties, IntPtr # ContextProperties cl_device_info, DeviceInfo cl_device_type, DeviceType cl_event_info, EventInfo cl_filter_mode, FilterMode cl_image_format, ImageFormat cl_image_info, ImageInfo cl_kernel_group_info, KernelGroupInfo cl_kernel_info, KernelInfo cl_kernel_work_group_info, KernelWorkGroupInfo cl_map_flags, MapFlags cl_mem_info, MemInfo cl_mem_flags, MemFlags cl_mem_object_type, MemObjectType cl_platform_info, PlatformInfo cl_profiling_info, ProfilingInfo cl_program_build_info, ProgramBuildInfo cl_program_info, ProgramInfo cl_sampler_info, SamplerInfo cl_work_group_info, WorkGroupInfo opentk-1.0.20101006/Source/Bind/Specifications/ES10/0000775000175000017500000000000011453142152020273 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/ES10/overrides.xml0000664000175000017500000000030211453131434023013 0ustar laneylaney String opentk-1.0.20101006/Source/Bind/Specifications/ES10/signatures.xml0000664000175000017500000012313111453131434023203 0ustar laneylaney opentk-1.0.20101006/Source/Bind/Specifications/Docs/0000775000175000017500000000000011453142152020513 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetClipPlane.xml0000664000175000017500000001066311453131434024076 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetClipPlane 3G glGetClipPlane return the coefficients of the specified clipping plane C Specification void glGetClipPlane GLenum plane GLdouble * equation Parameters plane Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE i where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. equation Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). Description glGetClipPlane returns in equation the four coefficients of the plane equation for plane. Notes It is always the case that GL_CLIP_PLANE i = GL_CLIP_PLANE0 + i. If an error is generated, no change is made to the contents of equation. Errors GL_INVALID_ENUM is generated if plane is not an accepted value. GL_INVALID_OPERATION is generated if glGetClipPlane is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glClipPlane Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreatePbuffer.xml0000664000175000017500000002053611453131434024434 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreatePbuffer 3G glXCreatePbuffer create an off-screen rendering area C Specification GLXPbuffer glXCreatePbuffer Display * dpy GLXFBConfig config const int * attrib_list Parameters dpy Specifies the connection to the X server. config Specifies a GLXFBConfig structure with the desired attributes for the window. attrib_list Specifies a list of attribute value pairs, which must be terminated with None or NULL. Accepted attributes are GLX_PBUFFER_WIDTH, GLX_PBUFFER_HEIGHT, GLX_PRESERVED_CONTENTS, and GLX_LARGEST_PBUFFER. Description glXCreatePbuffer creates an off-screen rendering area and returns its XID. Any GLX rendering context that was created with respect to config can be used to render into this window. Use glXMakeContextCurrent to associate the rendering area with a GLX rendering context. The accepted attributes for a GLXPbuffer are: GLX_PBUFFER_WIDTH Specify the pixel width of the requested GLXPbuffer. The default value is 0. GLX_PBUFFER_HEIGHT Specify the pixel height of the requested GLXPbuffer. The default value is 0. GLX_LARGEST_PBUFFER Specify to obtain the largest available pixel buffer, if the requested allocation would have failed. The width and height of the allocated pixel buffer will never exceed the specified GLX_PBUFFER_WIDTH or GLX_PBUFFER_HEIGHT, respectively. Use glXQueryDrawable to retrieve the dimensions of the allocated pixel buffer. The default value is False. GLX_PRESERVED_CONTENTS Specify if the contents of the pixel buffer should be preserved when a resource conflict occurs. If set to False, the contents of the pixel buffer may be lost at any time. If set to True, or not specified in attrib_list, then the contents of the pixel buffer will be preserved (most likely by copying the contents into main system memory from the frame buffer). In either case, the client can register (using glXSelectEvent, to receive pixel buffer clobber events that are generated when the pbuffer contents have been preserved or damaged. GLXPbuffers contain the color and ancillary buffers specified by config. It is possible to create a pixel buffer with back buffers and to swap those buffers using glXSwapBuffers. Notes glXCreatePbuffer is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. GLXPbuffers are allocated from frame buffer resources; applications should consider deallocating them when they are not in use. Errors BadAlloc is generated if there are insufficient resources to allocate the requested GLXPbuffer. GLXBadFBConfig is generated if config is not a valid GLXFBConfig. BadMatch is generated if config does not support rendering to pixel buffers (e.g., GLX_DRAWABLE_TYPE does not contain GLX_PBUFFER_BIT). See Also glXChooseFBConfig, glXCreatePbuffer, glXMakeContextCurrent, glXSelectEvent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glUseProgram.xml0000664000175000017500000002546411453131434023660 0ustar laneylaney glUseProgram 3G glUseProgram Installs a program object as part of current rendering state C Specification void glUseProgram GLuint program Parameters program Specifies the handle of the program object whose executables are to be used as part of current rendering state. Description glUseProgram installs the program object specified by program as part of current rendering state. One or more executables are created in a program object by successfully attaching shader objects to it with glAttachShader, successfully compiling the shader objects with glCompileShader, and successfully linking the program object with glLinkProgram. A program object will contain an executable that will run on the vertex processor if it contains one or more shader objects of type GL_VERTEX_SHADER that have been successfully compiled and linked. Similarly, a program object will contain an executable that will run on the fragment processor if it contains one or more shader objects of type GL_FRAGMENT_SHADER that have been successfully compiled and linked. Successfully installing an executable on a programmable processor will cause the corresponding fixed functionality of OpenGL to be disabled. Specifically, if an executable is installed on the vertex processor, the OpenGL fixed functionality will be disabled as follows. The modelview matrix is not applied to vertex coordinates. The projection matrix is not applied to vertex coordinates. The texture matrices are not applied to texture coordinates. Normals are not transformed to eye coordinates. Normals are not rescaled or normalized. Normalization of GL_AUTO_NORMAL evaluated normals is not performed. Texture coordinates are not generated automatically. Per-vertex lighting is not performed. Color material computations are not performed. Color index lighting is not performed. This list also applies when setting the current raster position. The executable that is installed on the vertex processor is expected to implement any or all of the desired functionality from the preceding list. Similarly, if an executable is installed on the fragment processor, the OpenGL fixed functionality will be disabled as follows. Texture environment and texture functions are not applied. Texture application is not applied. Color sum is not applied. Fog is not applied. Again, the fragment shader that is installed is expected to implement any or all of the desired functionality from the preceding list. While a program object is in use, applications are free to modify attached shader objects, compile attached shader objects, attach additional shader objects, and detach or delete shader objects. None of these operations will affect the executables that are part of the current state. However, relinking the program object that is currently in use will install the program object as part of the current rendering state if the link operation was successful (see glLinkProgram ). If the program object currently in use is relinked unsuccessfully, its link status will be set to GL_FALSE, but the executables and associated state will remain part of the current state until a subsequent call to glUseProgram removes it from use. After it is removed from use, it cannot be made part of current state until it has been successfully relinked. If program contains shader objects of type GL_VERTEX_SHADER but it does not contain shader objects of type GL_FRAGMENT_SHADER, an executable will be installed on the vertex processor, but fixed functionality will be used for fragment processing. Similarly, if program contains shader objects of type GL_FRAGMENT_SHADER but it does not contain shader objects of type GL_VERTEX_SHADER, an executable will be installed on the fragment processor, but fixed functionality will be used for vertex processing. If program is 0, the programmable processors will be disabled, and fixed functionality will be used for both vertex and fragment processing. Notes glUseProgram is available only if the GL version is 2.0 or greater. While a program object is in use, the state that controls the disabled fixed functionality may also be updated using the normal OpenGL calls. Like display lists and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads. Errors GL_INVALID_VALUE is generated if program is neither 0 nor a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if program could not be made part of current state. GL_INVALID_OPERATION is generated if glUseProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib with a valid program object and the index of an active attribute variable glGetActiveUniform with a valid program object and the index of an active uniform variable glGetAttachedShaders with a valid program object glGetAttribLocation with a valid program object and the name of an attribute variable glGetProgram with a valid program object and the parameter to be queried glGetProgramInfoLog with a valid program object glGetUniform with a valid program object and the location of a uniform variable glGetUniformLocation with a valid program object and the name of a uniform variable glIsProgram See Also gllAttachShader, glBindAttribLocation, glCompileShader, glCreateProgram, glDeleteProgram, glDetachShader, glLinkProgram, glUniform, glValidateProgram, glVertexAttrib Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetMinmaxParameter.xml0000664000175000017500000001420011453131434025310 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetMinmaxParameter 3G glGetMinmaxParameter get minmax parameters C Specification void glGetMinmaxParameterfv GLenum target GLenum pname GLfloat * params void glGetMinmaxParameteriv GLenum target GLenum pname GLint * params Parameters target Must be GL_MINMAX. pname The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. params A pointer to storage for the retrieved parameters. Description glGetMinmaxParameter retrieves parameters for the current minmax table by setting pname to one of the following values: Parameter Description GL_MINMAX_FORMAT Internal format of minmax table GL_MINMAX_SINK Value of the sink parameter Notes glGetMinmaxParameter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_MINMAX. GL_INVALID_ENUM is generated if pname is not one of the allowable values. GL_INVALID_OPERATION is generated if glGetMinmaxParameter is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glMinmax, glGetMinmax Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluGetString.xml0000664000175000017500000001061011453131434023652 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluGetString 3G gluGetString return a string describing the GLU version or GLU extensions C Specification const GLubyte * gluGetString GLenum name Parameters name Specifies a symbolic constant, one of GLU_VERSION, or GLU_EXTENSIONS. Description gluGetString returns a pointer to a static string describing the GLU version or the GLU extensions that are supported. The version number is one of the following forms: major_number.minor_number major_number.minor_number.release_number. The version string is of the following form: version number<space>vendor-specific information Vendor-specific information is optional. Its format and contents depend on the implementation. The standard GLU contains a basic set of features and capabilities. If a company or group of companies wish to support other features, these may be included as extensions to the GLU. If name is GLU_EXTENSIONS, then gluGetString returns a space-separated list of names of supported GLU extensions. (Extension names never contain spaces.) All strings are null-terminated. Notes gluGetString only returns information about GLU extensions. Call glGetString to get a list of GL extensions. gluGetString is an initialization routine. Calling it after a glNewList results in undefined behavior. Errors NULL is returned if name is not GLU_VERSION or GLU_EXTENSIONS. See Also glGetString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glRect.xml0000664000175000017500000002123311453131432022455 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glRect 3G glRect draw a rectangle C Specification void glRectd GLdouble x1 GLdouble y1 GLdouble x2 GLdouble y2 void glRectf GLfloat x1 GLfloat y1 GLfloat x2 GLfloat y2 void glRecti GLint x1 GLint y1 GLint x2 GLint y2 void glRects GLshort x1 GLshort y1 GLshort x2 GLshort y2 Parameters x1 y1 Specify one vertex of a rectangle. x2 y2 Specify the opposite vertex of the rectangle. C Specification void glRectdv const GLdouble * v1 const GLdouble * v2 void glRectfv const GLfloat * v1 const GLfloat * v2 void glRectiv const GLint * v1 const GLint * v2 void glRectsv const GLshort * v1 const GLshort * v2 Parameters v1 Specifies a pointer to one vertex of a rectangle. v2 Specifies a pointer to the opposite vertex of the rectangle. Description glRect supports efficient specification of rectangles as two corner points. Each rectangle command takes four arguments, organized either as two consecutive pairs of x y coordinates or as two pointers to arrays, each containing an x y pair. The resulting rectangle is defined in the z = 0 plane. glRect(x1, y1, x2, y2) is exactly equivalent to the following sequence: glBegin(GL_POLYGON); glVertex2(x1, y1); glVertex2(x2, y1); glVertex2(x2, y2); glVertex2(x1, y2); glEnd(); Note that if the second vertex is above and to the right of the first vertex, the rectangle is constructed with a counterclockwise winding. Errors GL_INVALID_OPERATION is generated if glRect is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBegin, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluProject.xml0000664000175000017500000003364211453131432023362 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluProject 3G gluProject map object coordinates to window coordinates C Specification GLint gluProject GLdouble objX GLdouble objY GLdouble objZ const GLdouble * model const GLdouble * proj const GLint * view GLdouble* winX GLdouble* winY GLdouble* winZ Parameters objX objY objZ Specify the object coordinates. model Specifies the current modelview matrix (as from a glGetDoublev call). proj Specifies the current projection matrix (as from a glGetDoublev call). view Specifies the current viewport (as from a glGetIntegerv call). winX winY winZ Return the computed window coordinates. Description gluProject transforms the specified object coordinates into window coordinates using model, proj, and view. The result is stored in winX, winY, and winZ. A return value of GLU_TRUE indicates success, a return value of GLU_FALSE indicates failure. To compute the coordinates, let v = objX objY objZ 1.0 represented as a matrix with 4 rows and 1 column. Then gluProject computes v as follows: v = P × M × v where P is the current projection matrix proj and M is the current modelview matrix model (both represented as 4 × 4 matrices in column-major order). The window coordinates are then computed as follows: winX = view 0 + view 2 × v 0 + 1 2 winY = view 1 + view 3 × v 1 + 1 2 winZ = v 2 + 1 2 See Also gluUnProject, glGet Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteShader.xml0000664000175000017500000001001211453131434024104 0ustar laneylaney glDeleteShader 3G glDeleteShader Deletes a shader object C Specification void glDeleteShader GLuint shader Parameters shader Specifies the shader object to be deleted. Description glDeleteShader frees the memory and invalidates the name associated with the shader object specified by shader. This command effectively undoes the effects of a call to glCreateShader. If a shader object to be deleted is attached to a program object, it will be flagged for deletion, but it will not be deleted until it is no longer attached to any program object, for any rendering context (i.e., it must be detached from wherever it was attached before it will be deleted). A value of 0 for shader will be silently ignored. To determine whether an object has been flagged for deletion, call glGetShader with arguments shader and GL_DELETE_STATUS. Notes glDeleteShader is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if glDeleteShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetAttachedShaders with the program object to be queried glGetShader with arguments shader and GL_DELETE_STATUS glIsShader See Also glCreateProgram, glCreateShader, glDetachShader, glUseProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetBufferPointerv.xml0000664000175000017500000001241511453131434025164 0ustar laneylaney 2005 Sams Publishing glGetBufferPointerv 3G glGetBufferPointerv return the pointer to a mapped buffer object's data store C Specification void glGetBufferPointerv GLenum target GLenum pname GLvoid ** params Parameters target Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. pname Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. params Returns the pointer value specified by pname. Description glGetBufferPointerv returns pointer information. pname is a symbolic constant indicating the pointer to be returned, which must be GL_BUFFER_MAP_POINTER, the pointer to which the buffer object's data store is mapped. If the data store is not currently mapped, NULL is returned. params is a pointer to a location in which to place the returned pointer value. Notes If an error is generated, no change is made to the contents of params. glGetBufferPointerv is available only if the GL version is 1.5 or greater. Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. The initial value for the pointer is NULL. Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_INVALID_OPERATION is generated if glGetBufferParameteriv is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBindBuffer, glMapBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetBufferParameteriv.xml0000664000175000017500000001573011453131434025640 0ustar laneylaney 2005 Sams Publishing glGetBufferParameteriv 3G glGetBufferParameteriv return parameters of a buffer object C Specification void glGetBufferParameteriv GLenum target GLenum value GLint * data Parameters target Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. value Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. data Returns the requested parameter. Description glGetBufferParameteriv returns in data a selected parameter of the buffer object specified by target. value names a specific buffer object parameter, as follows: GL_BUFFER_ACCESS params returns the access policy set while mapping the buffer object. The initial value is GL_READ_WRITE. GL_BUFFER_MAPPED params returns a flag indicating whether the buffer object is currently mapped. The initial value is GL_FALSE. GL_BUFFER_SIZE params returns the size of the buffer object, measured in bytes. The initial value is 0. GL_BUFFER_USAGE params returns the buffer object's usage pattern. The initial value is GL_STATIC_DRAW. Notes If an error is generated, no change is made to the contents of data. glGetBufferParameteriv is available only if the GL version is 1.5 or greater. Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target or value is not an accepted value. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_INVALID_OPERATION is generated if glGetBufferParameteriv is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBindBuffer, glBufferData, glMapBuffer, glUnmapBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glActiveTexture.xml0000664000175000017500000001125711453131434024363 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glActiveTexture 3G glActiveTexture select active texture unit C Specification void glActiveTexture GLenum texture Parameters texture Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTUREi, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0. Description glActiveTexture selects which texture unit subsequent texture state calls will affect. The number of texture units an implementation supports is implementation dependent, but must be at least 2. Vertex arrays are client-side GL resources, which are selected by the glClientActiveTexture routine. Notes glActiveTexture is only supported if the GL version is 1.3 or greater, or if ARB_multitexture is included in the string returned by glGetString when called with the argument GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if texture is not one of GL_TEXTUREi, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). Associated Gets glGet with argument GL_ACTIVE_TEXTURE, GL_MAX_TEXTURE_COORDS, or GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS See Also glClientActiveTexture, glMultiTexCoord, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glVertexAttribPointer.xml0000664000175000017500000003072011453131432025545 0ustar laneylaney glVertexAttribPointer 3G glVertexAttribPointer define an array of generic vertex attribute data C Specification void glVertexAttribPointer GLuint index GLint size GLenum type GLboolean normalized GLsizei stride const GLvoid * pointer Parameters index Specifies the index of the generic vertex attribute to be modified. size Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. type Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. normalized Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. stride Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. Description glVertexAttribPointer specifies the location and data format of the array of generic vertex attributes at index index to use when rendering. size specifies the number of components per attribute and must be 1, 2, 3, or 4. type specifies the data type of each component, and stride specifies the byte stride from one attribute to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. If set to GL_TRUE, normalized indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for unsigned values) when they are accessed and converted to floating point. Otherwise, values will be converted to floats directly without normalization. If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a generic vertex attribute array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as generic vertex attribute array client-side state (GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) for index index. When a generic vertex attribute array is specified, size, type, normalized, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable a generic vertex attribute array, call glEnableVertexAttribArray and glDisableVertexAttribArray with index. If enabled, the generic vertex attribute array is used when glArrayElement, glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, or glDrawRangeElements is called. Notes glVertexAttribPointer is available only if the GL version is 2.0 or greater. Each generic vertex attribute array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glVertexAttribPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glVertexAttribPointer is typically implemented on the client side. Generic vertex attribute array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_INVALID_VALUE is generated if size is not 1, 2, 3, or 4. GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_SIZE glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_TYPE glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_NORMALIZED glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_STRIDE glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetVertexAttribPointerv with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER See Also glArrayElement, glBindAttribLocation, glBindBuffer, glColorPointer, glDisableVertexAttribArray, glDrawArrays, glDrawElements, glDrawRangeElements, glEnableVertexAttribArray, glEdgeFlagPointer, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttrib, glVertexPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorMaterial.xml0000664000175000017500000001727311453131434024330 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorMaterial 3G glColorMaterial cause a material color to track the current color C Specification void glColorMaterial GLenum face GLenum mode Parameters face Specifies whether front, back, or both front and back material parameters should track the current color. Accepted values are GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. The initial value is GL_FRONT_AND_BACK. mode Specifies which of several material parameters track the current color. Accepted values are GL_EMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, and GL_AMBIENT_AND_DIFFUSE. The initial value is GL_AMBIENT_AND_DIFFUSE. Description glColorMaterial specifies which material parameters track the current color. When GL_COLOR_MATERIAL is enabled, the material parameter or parameters specified by mode, of the material or materials specified by face, track the current color at all times. To enable and disable GL_COLOR_MATERIAL, call glEnable and glDisable with argument GL_COLOR_MATERIAL. GL_COLOR_MATERIAL is initially disabled. Notes glColorMaterial makes it possible to change a subset of material parameters for each vertex using only the glColor command, without calling glMaterial. If only such a subset of parameters is to be specified for each vertex, calling glColorMaterial is preferable to calling glMaterial. Call glColorMaterial before enabling GL_COLOR_MATERIAL. Calling glDrawElements, glDrawArrays, or glDrawRangeElements may leave the current color indeterminate, if the color array is enabled. If glColorMaterial is enabled while the current color is indeterminate, the lighting material state specified by face and mode is also indeterminate. If the GL version is 1.1 or greater, and GL_COLOR_MATERIAL is enabled, evaluated color values affect the results of the lighting equation as if the current color were being modified, but no change is made to the tracking lighting parameter of the current color. Errors GL_INVALID_ENUM is generated if face or mode is not an accepted value. GL_INVALID_OPERATION is generated if glColorMaterial is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsEnabled with argument GL_COLOR_MATERIAL glGet with argument GL_COLOR_MATERIAL_PARAMETER glGet with argument GL_COLOR_MATERIAL_FACE See Also glColor, glColorPointer, glDrawArrays, glDrawElements, glDrawRangeElements, glEnable, glLight, glLightModel, glMaterial Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMaterial.xml0000664000175000017500000004172211453131434023325 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMaterial 3G glMaterial specify material parameters for the lighting model C Specification void glMaterialf GLenum face GLenum pname GLfloat param void glMateriali GLenum face GLenum pname GLint param Parameters face Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. pname Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. param Specifies the value that parameter GL_SHININESS will be set to. C Specification void glMaterialfv GLenum face GLenum pname const GLfloat * params void glMaterialiv GLenum face GLenum pname const GLint * params Parameters face Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. pname Specifies the material parameter of the face or faces that is being updated. Must be one of GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, GL_AMBIENT_AND_DIFFUSE, or GL_COLOR_INDEXES. params Specifies a pointer to the value or values that pname will be set to. Description glMaterial assigns values to material parameters. There are two matched sets of material parameters. One, the front-facing set, is used to shade points, lines, bitmaps, and all polygons (when two-sided lighting is disabled), or just front-facing polygons (when two-sided lighting is enabled). The other set, back-facing, is used to shade back-facing polygons only when two-sided lighting is enabled. Refer to the glLightModel reference page for details concerning one- and two-sided lighting calculations. glMaterial takes three arguments. The first, face, specifies whether the GL_FRONT materials, the GL_BACK materials, or both GL_FRONT_AND_BACK materials will be modified. The second, pname, specifies which of several parameters in one or both sets will be modified. The third, params, specifies what value or values will be assigned to the specified parameter. Material parameters are used in the lighting equation that is optionally applied to each vertex. The equation is discussed in the glLightModel reference page. The parameters that can be specified using glMaterial, and their interpretations by the lighting equation, are as follows: GL_AMBIENT params contains four integer or floating-point values that specify the ambient RGBA reflectance of the material. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial ambient reflectance for both front- and back-facing materials is (0.2, 0.2, 0.2, 1.0). GL_DIFFUSE params contains four integer or floating-point values that specify the diffuse RGBA reflectance of the material. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial diffuse reflectance for both front- and back-facing materials is (0.8, 0.8, 0.8, 1.0). GL_SPECULAR params contains four integer or floating-point values that specify the specular RGBA reflectance of the material. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial specular reflectance for both front- and back-facing materials is (0, 0, 0, 1). GL_EMISSION params contains four integer or floating-point values that specify the RGBA emitted light intensity of the material. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial emission intensity for both front- and back-facing materials is (0, 0, 0, 1). GL_SHININESS params is a single integer or floating-point value that specifies the RGBA specular exponent of the material. Integer and floating-point values are mapped directly. Only values in the range 0 128 are accepted. The initial specular exponent for both front- and back-facing materials is 0. GL_AMBIENT_AND_DIFFUSE Equivalent to calling glMaterial twice with the same parameter values, once with GL_AMBIENT and once with GL_DIFFUSE. GL_COLOR_INDEXES params contains three integer or floating-point values specifying the color indices for ambient, diffuse, and specular lighting. These three values, and GL_SHININESS, are the only material values used by the color index mode lighting equation. Refer to the glLightModel reference page for a discussion of color index lighting. Notes The material parameters can be updated at any time. In particular, glMaterial can be called between a call to glBegin and the corresponding call to glEnd. If only a single material parameter is to be changed per vertex, however, glColorMaterial is preferred over glMaterial (see glColorMaterial). While the ambient, diffuse, specular and emission material parameters all have alpha components, only the diffuse alpha component is used in the lighting computation. Errors GL_INVALID_ENUM is generated if either face or pname is not an accepted value. GL_INVALID_VALUE is generated if a specular exponent outside the range 0 128 is specified. Associated Gets glGetMaterial See Also glColorMaterial, glLight, glLightModel Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryExtension.xml0000664000175000017500000000735011453131434024720 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryExtension 3G glXQueryExtension indicate whether the GLX extension is supported C Specification Bool glXQueryExtension Display * dpy int * errorBase int * eventBase Parameters dpy Specifies the connection to the X server. errorBase Returns the base error code of the GLX server extension. eventBase Returns the base event code of the GLX server extension. Description glXQueryExtension returns True if the X server of connection dpy supports the GLX extension, False otherwise. If True is returned, then errorBase and eventBase return the error base and event base of the GLX extension. These values should be added to the constant error and event values to determine the actual event or error values. Otherwise, errorBase and eventBase are unchanged. errorBase and eventBase do not return values if they are specified as NULL. See Also glXQueryVersion Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEdgeFlagPointer.xml0000664000175000017500000002352411453131434024566 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEdgeFlagPointer 3G glEdgeFlagPointer define an array of edge flags C Specification void glEdgeFlagPointer GLsizei stride const GLvoid * pointer Parameters stride Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first edge flag in the array. The initial value is 0. Description glEdgeFlagPointer specifies the location and data format of an array of boolean edge flags to use when rendering. stride specifies the byte stride from one edge flag to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while an edge flag array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as edge flag vertex array client-side state (GL_EDGE_FLAG_ARRAY_BUFFER_BINDING). When an edge flag array is specified, stride and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the edge flag array, call glEnableClientState and glDisableClientState with the argument GL_EDGE_FLAG_ARRAY. If enabled, the edge flag array is used when glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, glDrawRangeElements, or glArrayElement is called. Notes glEdgeFlagPointer is available only if the GL version is 1.1 or greater. Edge flags are not supported for interleaved vertex array formats (see glInterleavedArrays). The edge flag array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glEdgeFlagPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glEdgeFlagPointer is typically implemented on the client side. Edge flag array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_ENUM is generated if stride is negative. Associated Gets glIsEnabled with argument GL_EDGE_FLAG_ARRAY glGet with argument GL_EDGE_FLAG_ARRAY_STRIDE glGet with argument GL_EDGE_FLAG_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_EDGE_FLAG_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlag, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetTexLevelParameter.xml0000664000175000017500000004506311453131434025622 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetTexLevelParameter 3G glGetTexLevelParameter return texture parameter values for a specific level of detail C Specification void glGetTexLevelParameterfv GLenum target GLint level GLenum pname GLfloat * params void glGetTexLevelParameteriv GLenum target GLint level GLenum pname GLint * params Parameters target Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. level Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the nth mipmap reduction image. pname Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. params Returns the requested data. Description glGetTexLevelParameter returns in params texture parameter values for a specific level-of-detail value, specified as level. target defines the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. GL_MAX_TEXTURE_SIZE, and GL_MAX_3D_TEXTURE_SIZE are not really descriptive enough. It has to report the largest square texture image that can be accommodated with mipmaps and borders, but a long skinny texture, or a texture without mipmaps and borders, may easily fit in texture memory. The proxy targets allow the user to more accurately query whether the GL can accommodate a texture of a given configuration. If the texture cannot be accommodated, the texture state variables, which may be queried with glGetTexLevelParameter, are set to 0. If the texture can be accommodated, the texture state values will be set as they would be set for a non-proxy target. pname specifies the texture parameter whose value or values will be returned. The accepted parameter names are as follows: GL_TEXTURE_WIDTH params returns a single value, the width of the texture image. This value includes the border of the texture image. The initial value is 0. GL_TEXTURE_HEIGHT params returns a single value, the height of the texture image. This value includes the border of the texture image. The initial value is 0. GL_TEXTURE_DEPTH params returns a single value, the depth of the texture image. This value includes the border of the texture image. The initial value is 0. GL_TEXTURE_INTERNAL_FORMAT params returns a single value, the internal format of the texture image. GL_TEXTURE_BORDER params returns a single value, the width in pixels of the border of the texture image. The initial value is 0. GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE The internal storage resolution of an individual component. The resolution chosen by the GL will be a close match for the resolution requested by the user with the component argument of glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, and glCopyTexImage2D. The initial value is 0. GL_TEXTURE_COMPRESSED params returns a single boolean value indicating if the texture image is stored in a compressed internal format. The initiali value is GL_FALSE. GL_TEXTURE_COMPRESSED_IMAGE_SIZE params returns a single integer value, the number of unsigned bytes of the compressed texture image that would be returned from glGetCompressedTexImage. Notes If an error is generated, no change is made to the contents of params. GL_TEXTURE_INTERNAL_FORMAT is available only if the GL version is 1.1 or greater. In version 1.0, use GL_TEXTURE_COMPONENTS instead. GL_PROXY_TEXTURE_1D and GL_PROXY_TEXTURE_2D are available only if the GL version is 1.1 or greater. GL_TEXTURE_3D, GL_PROXY_TEXTURE_3D, and GL_TEXTURE_DEPTH are available only if the GL version is 1.2 or greater. GL_TEXTURE_COMPRESSED, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, and GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexLevelParameter returns the texture level parameters for the active texture unit. Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max, where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_OPERATION is generated if glGetTexLevelParameter is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if GL_TEXTURE_COMPRESSED_IMAGE_SIZE is queried on texture images with an uncompressed internal format or on proxy targets. See Also glActiveTexture, glGetTexParameter, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilOpSeparate.xml0000664000175000017500000003461211453131434025154 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilOpSeparate 3G glStencilOpSeparate set front and/or back stencil test actions C Specification void glStencilOpSeparate GLenum face GLenum sfail GLenum dpfail GLenum dppass Parameters face Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. sfail Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. dpfail Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. dppass Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Description Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST; to control it, call glStencilFunc or glStencilFuncSeparate. There can be two separate sets of sfail, dpfail, and dppass parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilOp sets both front and back stencil state to the same values, as if glStencilOpSeparate were called with face set to GL_FRONT_AND_BACK. glStencilOpSeparate takes three arguments that indicate what happens to the stored stencil value while stenciling is enabled. If the stencil test fails, no change is made to the pixel's color or depth buffers, and sfail specifies what happens to the stencil buffer contents. The following eight actions are possible. GL_KEEP Keeps the current value. GL_ZERO Sets the stencil buffer value to 0. GL_REPLACE Sets the stencil buffer value to ref, as specified by glStencilFunc. GL_INCR Increments the current stencil buffer value. Clamps to the maximum representable unsigned value. GL_INCR_WRAP Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value. GL_DECR Decrements the current stencil buffer value. Clamps to 0. GL_DECR_WRAP Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero. GL_INVERT Bitwise inverts the current stencil buffer value. Stencil buffer values are treated as unsigned integers. When incremented and decremented, values are clamped to 0 and 2 n - 1 , where n is the value returned by querying GL_STENCIL_BITS. The other two arguments to glStencilOpSeparate specify stencil buffer actions that depend on whether subsequent depth buffer tests succeed (dppass) or fail (dpfail) (see glDepthFunc). The actions are specified using the same eight symbolic constants as sfail. Note that dpfail is ignored when there is no depth buffer, or when the depth buffer is not enabled. In these cases, sfail and dppass specify stencil action when the stencil test fails and passes, respectively. Notes glStencilOpSeparate is available only if the GL version is 2.0 or greater. Initially the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes. Errors GL_INVALID_ENUM is generated if face is any value other than GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. GL_INVALID_ENUM is generated if sfail, dpfail, or dppass is any value other than the eight defined constant values. GL_INVALID_OPERATION is generated if glStencilOpSeparate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, or GL_STENCIL_BITS glIsEnabled with argument GL_STENCIL_TEST See Also glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glLogicOp, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOp Copyright Copyright 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMinmax.xml0000664000175000017500000002066411453131434023022 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMinmax 3G glMinmax define minmax table C Specification void glMinmax GLenum target GLenum internalformat GLboolean sink Parameters target The minmax table whose parameters are to be set. Must be GL_MINMAX. internalformat The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. sink If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax. Description When GL_MINMAX is enabled, the RGBA components of incoming pixels are compared to the minimum and maximum values for each component, which are stored in the two-element minmax table. (The first element stores the minima, and the second element stores the maxima.) If a pixel component is greater than the corresponding component in the maximum element, then the maximum element is updated with the pixel component value. If a pixel component is less than the corresponding component in the minimum element, then the minimum element is updated with the pixel component value. (In both cases, if the internal format of the minmax table includes luminance, then the R color component of incoming pixels is used for comparison.) The contents of the minmax table may be retrieved at a later time by calling glGetMinmax. The minmax operation is enabled or disabled by calling glEnable or glDisable, respectively, with an argument of GL_MINMAX. glMinmax redefines the current minmax table to have entries of the format specified by internalformat. The maximum element is initialized with the smallest possible component values, and the minimum element is initialized with the largest possible component values. The values in the previous minmax table, if any, are lost. If sink is GL_TRUE, then pixels are discarded after minmax; no further processing of the pixels takes place, and no drawing, texture loading, or pixel readback will result. Notes glMinmax is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_OPERATION is generated if glMinmax is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetMinmaxParameter See Also glGetMinmax, glResetMinmax Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessNormal.xml0000664000175000017500000001143111453131434024035 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessNormal 3G gluTessNormal specify a normal for a polygon C Specification void gluTessNormal GLUtesselator* tess GLdouble valueX GLdouble valueY GLdouble valueZ Parameters tess Specifies the tessellation object (created with gluNewTess). valueX Specifies the first component of the normal. valueY Specifies the second component of the normal. valueZ Specifies the third component of the normal. Description gluTessNormal describes a normal for a polygon that the program is defining. All input data will be projected onto a plane perpendicular to one of the three coordinate axes before tessellation and all output triangles will be oriented CCW with respect to the normal (CW orientation can be obtained by reversing the sign of the supplied normal). For example, if you know that all polygons lie in the x-y plane, call gluTessNormal(tess, 0.0, 0.0, 1.0) before rendering any polygons. If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is determined as follows. The direction of the normal, up to its sign, is found by fitting a plane to the vertices, without regard to how the vertices are connected. It is expected that the input data lies approximately in the plane; otherwise, projection perpendicular to one of the three coordinate axes may substantially change the geometry. The sign of the normal is chosen so that the sum of the signed areas of all input contours is nonnegative (where a CCW contour has positive area). The supplied normal persists until it is changed by another call to gluTessNormal. See Also gluTessBeginPolygon, gluTessEndPolygon Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetQueryObject.xml0000664000175000017500000001555611453131434024471 0ustar laneylaney 2005 Sams Publishing glGetQueryObject 3G glGetQueryObject return parameters of a query object C Specification void glGetQueryObjectiv GLuint id GLenum pname GLint * params void glGetQueryObjectuiv GLuint id GLenum pname GLuint * params Parameters id Specifies the name of a query object. pname Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. params Returns the requested data. Description glGetQueryObject returns in params a selected parameter of the query object specified by id. pname names a specific query object parameter. pname can be as follows: GL_QUERY_RESULT params returns the value of the query object's passed samples counter. The initial value is 0. GL_QUERY_RESULT_AVAILABLE params returns whether the passed samples counter is immediately available. If a delay would occur waiting for the query result, GL_FALSE is returned. Otherwise, GL_TRUE is returned, which also indicates that the results of all previous queries are available as well. Notes If an error is generated, no change is made to the contents of params. glGetQueryObject implicitly flushes the GL pipeline so that any incomplete rendering delimited by the occlusion query completes in finite time. If multiple queries are issued using the same query object id before calling glGetQueryObject, the results of the most recent query will be returned. In this case, when issuing a new query, the results of the previous query are discarded. glGetQueryObject is available only if the GL version is 1.5 or greater. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if id is not the name of a query object. GL_INVALID_OPERATION is generated if id is the name of a currently active query object. GL_INVALID_OPERATION is generated if glGetQueryObject is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBeginQuery, glEndQuery, glGetQueryiv, glIsQuery Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsShader.xml0000664000175000017500000001050211453131434023261 0ustar laneylaney glIsShader 3G glIsShader Determines if a name corresponds to a shader object C Specification GLboolean glIsShader GLuint shader Parameters shader Specifies a potential shader object. Description glIsShader returns GL_TRUE if shader is the name of a shader object previously created with glCreateShader and not yet deleted with glDeleteShader. If shader is zero or a non-zero value that is not the name of a shader object, or if an error occurs, glIsShader returns GL_FALSE. Notes glIsShader is available only if the GL version is 2.0 or greater. No error is generated if shader is not a valid shader object name. A shader object marked for deletion with glDeleteShader but still attached to a program object is still considered a shader object and glIsShader will return GL_TRUE. Errors GL_INVALID_OPERATION is generated if glIsShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetAttachedShaders with a valid program object glGetShader with arguments shader and a parameter to be queried glGetShaderInfoLog with argument object glGetShaderSource with argument object See Also glAttachShader, glCompileShader, glCreateShader, glDeleteShader, glDetachShader, glLinkProgram, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXMakeCurrent.xml0000664000175000017500000002034311453131434024133 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXMakeCurrent 3G glXMakeCurrent attach a GLX context to a window or a GLX pixmap C Specification Bool glXMakeCurrent Display * dpy GLXDrawable drawable GLXContext ctx Parameters dpy Specifies the connection to the X server. drawable Specifies a GLX drawable. Must be either an X window ID or a GLX pixmap ID. ctx Specifies a GLX rendering context that is to be attached to drawable. Description glXMakeCurrent does two things: It makes ctx the current GLX rendering context of the calling thread, replacing the previously current context if there was one, and it attaches ctx to a GLX drawable, either a window or a GLX pixmap. As a result of these two actions, subsequent GL rendering calls use rendering context ctx to modify GLX drawable drawable (for reading and writing). Because glXMakeCurrent always replaces the current rendering context with ctx, there can be only one current context per thread. Pending commands to the previous context, if any, are flushed before it is released. The first time ctx is made current to any thread, its viewport is set to the full size of drawable. Subsequent calls by any thread to glXMakeCurrent with ctx have no effect on its viewport. To release the current context without assigning a new one, call glXMakeCurrent with drawable set to None and ctx set to NULL. glXMakeCurrent returns True if it is successful, False otherwise. If False is returned, the previously current rendering context and drawable (if any) remain unchanged. Notes A process is a single-execution environment, implemented in a single address space, consisting of one or more threads. A thread is one of a set of subprocesses that share a single address space, but maintain separate program counters, stack spaces, and other related global data. A thread that is the only member of its subprocess group is equivalent to a process. Errors BadMatch is generated if drawable was not created with the same X screen and visual as ctx. It is also generated if drawable is None and ctx is not NULL. BadAccess is generated if ctx was current to another thread at the time glXMakeCurrent was called. GLXBadDrawable is generated if drawable is not a valid GLX drawable. GLXBadContext is generated if ctx is not a valid GLX context. GLXBadContextState is generated if glXMakeCurrent is executed between the execution of glBegin and the corresponding execution of glEnd. GLXBadContextState is also generated if the rendering context current to the calling thread has GL renderer state GLX_FEEDBACK or GLX_SELECT. GLXBadCurrentWindow is generated if there are pending GL commands for the previous context and the current drawable is a window that is no longer valid. BadAlloc may be generated if the server has delayed allocation of ancillary buffers until glXMakeCurrent is called, only to find that it has insufficient resources to complete the allocation. See Also glXCreateContext, glXCreateGLXPixmap glXGetCurrentContext, glXGetCurrentDisplay, glXGetCurrentDrawable, glXGetCurrentReadDrawable, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsCallbackData.xml0000664000175000017500000000626511453131434025257 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsCallbackData 3G gluNurbsCallbackData set a user data pointer C Specification void gluNurbsCallbackData GLUnurbs* nurb GLvoid* userData Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). userData Specifies a pointer to the user's data. Description gluNurbsCallbackData is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by gluNurbsCallback). Notes gluNurbsCallbackData is available only if the GLU version is 1.3 or greater. See Also gluNewNurbsRenderer, gluNurbsCallback Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetCurrentContext.xml0000664000175000017500000000471311453131432025343 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetCurrentContext 3G glXGetCurrentContext return the current context C Specification GLXContext glXGetCurrentContext Description glXGetCurrentContext returns the current context, as specified by glXMakeCurrent. If there is no current context, NULL is returned. glXGetCurrentContext returns client-side information. It does not make a round trip to the server. See Also glXCreateContext, glXGetCurrentDisplay, glXGetCurrentDrawable, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetCurrentDisplay.xml0000664000175000017500000000513311453131434025323 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetCurrentDisplay 3G glXGetCurrentDisplay get display for current context C Specification Display * glXGetCurrentDisplay Description glXGetCurrentDisplay returns the display for the current context. If no context is current, NULL is returned. glXGetCurrentDisplay returns client-side information. It does not make a round-trip to the server, and therefore does not flush any pending events. Notes glXGetCurrentDisplay is only supported if the GLX version is 1.2 or greater. See Also glXGetCurrentContext, glXGetCurrentDrawable, glXQueryVersion, glXQueryExtensionsString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPolygonOffset.xml0000664000175000017500000001464711453131434024373 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPolygonOffset 3G glPolygonOffset set the scale and units used to calculate depth values C Specification void glPolygonOffset GLfloat factor GLfloat units Parameters factor Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0. units Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0. Description When GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT is enabled, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The value of the offset is factor × DZ + r × units , where DZ is a measurement of the change in depth relative to the screen area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer. glPolygonOffset is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges. Notes glPolygonOffset is available only if the GL version is 1.1 or greater. glPolygonOffset has no effect on depth coordinates placed in the feedback buffer. glPolygonOffset has no effect on selection. Errors GL_INVALID_OPERATION is generated if glPolygonOffset is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsEnabled with argument GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT. glGet with argument GL_POLYGON_OFFSET_FACTOR or GL_POLYGON_OFFSET_UNITS. See Also glDepthFunc, glEnable, glGet, glIsEnabled Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetProgramInfoLog.xml0000664000175000017500000001371011453131434025110 0ustar laneylaney glGetProgramInfoLog 3G glGetProgramInfoLog Returns the information log for a program object C Specification void glGetProgramInfoLog GLuint program GLsizei maxLength GLsizei *length GLchar *infoLog Parameters program Specifies the program object whose information log is to be queried. maxLength Specifies the size of the character buffer for storing the returned information log. length Returns the length of the string returned in infoLog (excluding the null terminator). infoLog Specifies an array of characters that is used to return the information log. Description glGetProgramInfoLog returns the information log for the specified program object. The information log for a program object is modified when the program object is linked or validated. The string that is returned will be null terminated. glGetProgramInfoLog returns in infoLog as much of the information log as it can, up to a maximum of maxLength characters. The number of characters actually returned, excluding the null termination character, is specified by length. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The size of the buffer required to store the returned information log can be obtained by calling glGetProgram with the value GL_INFO_LOG_LENGTH. The information log for a program object is either an empty string, or a string containing information about the last link operation, or a string containing information about the last validation operation. It may contain diagnostic messages, warning messages, and other information. When a program object is created, its information log will be a string of length 0. Notes glGetProgramInfoLog is available only if the GL version is 2.0 or greater. The information log for a program object is the OpenGL implementer's primary mechanism for conveying information about linking and validating. Therefore, the information log can be helpful to application developers during the development process, even when these operations are successful. Application developers should not expect different OpenGL implementations to produce identical information logs. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_VALUE is generated if maxLength is less than 0. GL_INVALID_OPERATION is generated if glGetProgramInfoLog is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetProgram with argument GL_INFO_LOG_LENGTH glIsProgram See Also glCompileShader, glGetShaderInfoLog, glLinkProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetQueryiv.xml0000664000175000017500000001313311453131434023666 0ustar laneylaney 2005 Sams Publishing glGetQueryiv 3G glGetQueryiv return parameters of a query object target C Specification void glGetQueryiv GLenum target GLenum pname GLint * params Parameters target Specifies a query object target. Must be GL_SAMPLES_PASSED. pname Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. params Returns the requested data. Description glGetQueryiv returns in params a selected parameter of the query object target specified by target. pname names a specific query object target parameter. When target is GL_SAMPLES_PASSED, pname can be as follows: GL_CURRENT_QUERY params returns the name of the currently active occlusion query object. If no occlusion query is active, 0 is returned. The initial value is 0. GL_QUERY_COUNTER_BITS params returns the number of bits in the query counter used to accumulate passing samples. If the number of bits returned is 0, the implementation does not support a query counter, and the results obtained from glGetQueryObject are useless. Notes If an error is generated, no change is made to the contents of params. glGetQueryiv is available only if the GL version is 1.5 or greater. Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetQueryiv is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glGetQueryObject, glIsQuery Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPolygonMode.xml0000664000175000017500000002001511453131432024011 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPolygonMode 3G glPolygonMode select a polygon rasterization mode C Specification void glPolygonMode GLenum face GLenum mode Parameters face Specifies the polygons that mode applies to. Must be GL_FRONT for front-facing polygons, GL_BACK for back-facing polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons. mode Specifies how polygons will be rasterized. Accepted values are GL_POINT, GL_LINE, and GL_FILL. The initial value is GL_FILL for both front- and back-facing polygons. Description glPolygonMode controls the interpretation of polygons for rasterization. face describes which polygons mode applies to: front-facing polygons (GL_FRONT), back-facing polygons (GL_BACK), or both (GL_FRONT_AND_BACK). The polygon mode affects only the final rasterization of polygons. In particular, a polygon's vertices are lit and the polygon is clipped and possibly culled before these modes are applied. Three modes are defined and can be specified in mode: GL_POINT Polygon vertices that are marked as the start of a boundary edge are drawn as points. Point attributes such as GL_POINT_SIZE and GL_POINT_SMOOTH control the rasterization of the points. Polygon rasterization attributes other than GL_POLYGON_MODE have no effect. GL_LINE Boundary edges of the polygon are drawn as line segments. They are treated as connected line segments for line stippling; the line stipple counter and pattern are not reset between segments (see glLineStipple). Line attributes such as GL_LINE_WIDTH and GL_LINE_SMOOTH control the rasterization of the lines. Polygon rasterization attributes other than GL_POLYGON_MODE have no effect. GL_FILL The interior of the polygon is filled. Polygon attributes such as GL_POLYGON_STIPPLE and GL_POLYGON_SMOOTH control the rasterization of the polygon. Examples To draw a surface with filled back-facing polygons and outlined front-facing polygons, call glPolygonMode(GL_FRONT, GL_LINE); Notes Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes polygons; they can be set explicitly using glEdgeFlag. Errors GL_INVALID_ENUM is generated if either face or mode is not an accepted value. GL_INVALID_OPERATION is generated if glPolygonMode is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_POLYGON_MODE See Also glBegin, glEdgeFlag, glLineStipple, glLineWidth, glPointSize, glPolygonStipple Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreateContext.xml0000664000175000017500000002053311453131434024464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreateContext 3G glXCreateContext create a new GLX rendering context C Specification GLXContext glXCreateContext Display * dpy XVisualInfo * vis GLXContext shareList Bool direct Parameters dpy Specifies the connection to the X server. vis Specifies the visual that defines the frame buffer resources available to the rendering context. It is a pointer to an XVisualInfo structure, not a visual ID or a pointer to a Visual. shareList Specifies the context with which to share display lists. NULL indicates that no sharing is to take place. direct Specifies whether rendering is to be done with a direct connection to the graphics system if possible (True) or through the X server (False). Description glXCreateContext creates a GLX rendering context and returns its handle. This context can be used to render into both windows and GLX pixmaps. If glXCreateContext fails to create a rendering context, NULL is returned. If direct is True, then a direct rendering context is created if the implementation supports direct rendering, if the connection is to an X server that is local, and if a direct rendering context is available. (An implementation may return an indirect context when direct is True.) If direct is False, then a rendering context that renders through the X server is always created. Direct rendering provides a performance advantage in some implementations. However, direct rendering contexts cannot be shared outside a single process, and they may be unable to render to GLX pixmaps. If shareList is not NULL, then all display-list indexes and definitions are shared by context shareList and by the newly created context. An arbitrary number of contexts can share a single display-list space. However, all rendering contexts that share a single display-list space must themselves exist in the same address space. Two rendering contexts share an address space if both are nondirect using the same server, or if both are direct and owned by a single process. Note that in the nondirect case, it is not necessary for the calling threads to share an address space, only for their related rendering contexts to share an address space. If the GL version is 1.1 or greater, then all texture objects except object 0 are shared by any contexts that share display lists. Notes XVisualInfo is defined in Xutil.h. It is a structure that includes visual, visualID, screen, and depth elements. A process is a single execution environment, implemented in a single address space, consisting of one or more threads. A thread is one of a set of subprocesses that share a single address space, but maintain separate program counters, stack spaces, and other related global data. A thread that is the only member of its subprocess group is equivalent to a process. It may not be possible to render to a GLX pixmap with a direct rendering context. Errors NULL is returned if execution fails on the client side. BadMatch is generated if the context to be created would not share the address space or the screen of the context specified by shareList. BadValue is generated if vis is not a valid visual (for example, if a particular GLX implementation does not support it). GLXBadContext is generated if shareList is not a GLX context and is not NULL. BadAlloc is generated if the server does not have enough resources to allocate the new context. See Also glXDestroyContext, glXGetConfig, glXIsDirect, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyColorSubTable.xml0000664000175000017500000001564511453131432025125 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyColorSubTable 3G glCopyColorSubTable respecify a portion of a color table C Specification void glCopyColorSubTable GLenum target GLsizei start GLint x GLint y GLsizei width Parameters target Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. start The starting index of the portion of the color table to be replaced. x y The window coordinates of the left corner of the row of pixels to be copied. width The number of table entries to replace. Description glCopyColorSubTable is used to respecify a contiguous portion of a color table previously defined using glColorTable. The pixels copied from the framebuffer replace the portion of the existing table from indices start to start + x - 1 , inclusive. This region may not include any entries outside the range of the color table, as was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. Notes glCopyColorSubTable is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_VALUE is generated if target is not a previously defined color table. GL_INVALID_VALUE is generated if target is not one of the allowable values. GL_INVALID_VALUE is generated if start + x > width . GL_INVALID_OPERATION is generated if glCopyColorSubTable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTable, glGetColorTableParameter See Also glColorSubTable, glColorTableParameter, glCopyColorTable, glCopyColorSubTable, glGetColorTable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexSubImage3D.xml0000664000175000017500000003615211453131434026161 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexSubImage3D 3G glCompressedTexSubImage3D specify a three-dimensional texture subimage in a compressed format C Specification void glCompressedTexSubImage3D GLenum target GLint level GLint xoffset GLint yoffset GLint zoffset GLsizei width GLsizei height GLsizei depth GLenum format GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_3D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. depth Specifies the depth of the texture subimage. format Specifies the format of the compressed image data stored at address data. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable three-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_3D. glCompressedTexSubImage3D redefines a contiguous subregion of an existing three-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , and the y indices yoffset and yoffset + height - 1 , and the z indices zoffset and zoffset + depth - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. format must be an extension-specified compressed-texture format. The format of the compressed texture image is selected by the GL implementation that compressed it (see glTexImage3D) and should be queried at the time the texture was compressed with glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexSubImage3D is available only if the GL version is 1.3 or greater. Errors GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_COMPRESSED_SLUMINANCE, GL_COMPRESSED_SLUMINANCE_ALPHA, GL_COMPRESSED_SRGB, GL_COMPRESSED_SRGBA, or GL_COMPRESSED_SRGB_ALPHA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexSubImage3D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_3D See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompileShader.xml0000664000175000017500000001020511453131432024274 0ustar laneylaney glCompileShader 3G glCompileShader Compiles a shader object C Specification void glCompileShader GLuint shader Parameters shader Specifies the shader object to be compiled. Description glCompileShader compiles the source code strings that have been stored in the shader object specified by shader. The compilation status will be stored as part of the shader object's state. This value will be set to GL_TRUE if the shader was compiled without errors and is ready for use, and GL_FALSE otherwise. It can be queried by calling glGetShader with arguments shader and GL_COMPILE_STATUS. Compilation of a shader can fail for a number of reasons as specified by the OpenGL Shading Language Specification. Whether or not the compilation was successful, information about the compilation can be obtained from the shader object's information log by calling glGetShaderInfoLog. Notes glCompileShader is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_OPERATION is generated if glCompileShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShaderInfoLog with argument shader glGetShader with arguments shader and GL_COMPILE_STATUS glIsShader See Also glCreateShader, glLinkProgram, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetAttachedShaders.xml0000664000175000017500000001234411453131434025254 0ustar laneylaney glGetAttachedShaders 3G glGetAttachedShaders Returns the handles of the shader objects attached to a program object C Specification void glGetAttachedShaders GLuint program GLsizei maxCount GLsizei *count GLuint *shaders Parameters program Specifies the program object to be queried. maxCount Specifies the size of the array for storing the returned object names. count Returns the number of names actually returned in objects. shaders Specifies an array that is used to return the names of attached shader objects. Description glGetAttachedShaders returns the names of the shader objects attached to program. The names of shader objects that are attached to program will be returned in shaders. The actual number of shader names written into shaders is returned in count. If no shader objects are attached to program, count is set to 0. The maximum number of shader names that may be returned in shaders is specified by maxCount. If the number of names actually returned is not required (for instance, if it has just been obtained by calling glGetProgram), a value of NULL may be passed for count. If no shader objects are attached to program, a value of 0 will be returned in count. The actual number of attached shaders can be obtained by calling glGetProgram with the value GL_ATTACHED_SHADERS. Notes glGetAttachedShaders is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_VALUE is generated if maxCount is less than 0. GL_INVALID_OPERATION is generated if glGetAttachedShaders is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetProgram with argument GL_ATTACHED_SHADERS glIsProgram See Also glAttachShader, glDetachShader. Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMultiDrawArrays.xml0000664000175000017500000002050711453131434024657 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMultiDrawArrays 3G glMultiDrawArrays render multiple sets of primitives from array data C Specification void glMultiDrawArrays GLenum mode GLint * first GLsizei * count GLsizei primcount Parameters mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. first Points to an array of starting indices in the enabled arrays. count Points to an array of the number of indices to be rendered. primcount Specifies the size of the first and count Description glMultiDrawArrays specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to glMultiDrawArrays. glMultiDrawArrays behaves identically to glDrawArrays except that primcount separate ranges of elements are specified instead. When glMultiDrawArrays is called, it uses count sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element first. mode specifies what kind of primitives are constructed, and how the array elements construct those primitives. If GL_VERTEX_ARRAY is not enabled, no geometric primitives are generated. Vertex attributes that are modified by glMultiDrawArrays have an unspecified value after glMultiDrawArrays returns. For example, if GL_COLOR_ARRAY is enabled, the value of the current color is undefined after glMultiDrawArrays executes. Attributes that aren't modified remain well defined. Notes glMultiDrawArrays is available only if the GL version is 1.4 or greater. glMultiDrawArrays is included in display lists. If glMultiDrawArrays is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if primcount is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if glMultiDrawArrays is executed between the execution of glBegin and the corresponding glEnd. See Also glArrayElement, glColorPointer, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glFogCoordPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPushName.xml0000664000175000017500000001275511453131434023313 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPushName 3G glPushName push and pop the name stack C Specification void glPushName GLuint name Parameters name Specifies a name that will be pushed onto the name stack. C Specification void glPopName void Description The name stack is used during selection mode to allow sets of rendering commands to be uniquely identified. It consists of an ordered set of unsigned integers and is initially empty. glPushName causes name to be pushed onto the name stack. glPopName pops one name off the top of the stack. The maximum name stack depth is implementation-dependent; call GL_MAX_NAME_STACK_DEPTH to find out the value for a particular implementation. It is an error to push a name onto a full stack or to pop a name off an empty stack. It is also an error to manipulate the name stack between the execution of glBegin and the corresponding execution of glEnd. In any of these cases, the error flag is set and no other change is made to GL state. The name stack is always empty while the render mode is not GL_SELECT. Calls to glPushName or glPopName while the render mode is not GL_SELECT are ignored. Errors GL_STACK_OVERFLOW is generated if glPushName is called while the name stack is full. GL_STACK_UNDERFLOW is generated if glPopName is called while the name stack is empty. GL_INVALID_OPERATION is generated if glPushName or glPopName is executed between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_NAME_STACK_DEPTH glGet with argument GL_MAX_NAME_STACK_DEPTH See Also glInitNames, glLoadName, glRenderMode, glSelectBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glUniform.xml0000664000175000017500000005506411453131432023210 0ustar laneylaney glUniform 3G glUniform glUniform1f glUniform2f glUniform3f glUniform4f glUniform1i glUniform2i glUniform3i glUniform4i glUniform1fv glUniform2fv glUniform3fv glUniform4fv glUniform1iv glUniform2iv glUniform3iv glUniform4iv glUniformMatrix2fv glUniformMatrix3fv glUniformMatrix4fv glUniformMatrix2x3fv glUniformMatrix3x2fv glUniformMatrix2x4fv glUniformMatrix4x2fv glUniformMatrix3x4fv glUniformMatrix4x3fv Specify the value of a uniform variable for the current program object C Specification void glUniform1f GLint location GLfloat v0 void glUniform2f GLint location GLfloat v0 GLfloat v1 void glUniform3f GLint location GLfloat v0 GLfloat v1 GLfloat v2 void glUniform4f GLint location GLfloat v0 GLfloat v1 GLfloat v2 GLfloat v3 void glUniform1i GLint location GLint v0 void glUniform2i GLint location GLint v0 GLint v1 void glUniform3i GLint location GLint v0 GLint v1 GLint v2 void glUniform4i GLint location GLint v0 GLint v1 GLint v2 GLint v3 Parameters location Specifies the location of the uniform variable to be modified. v0, v1, v2, v3 Specifies the new values to be used for the specified uniform variable. C Specification void glUniform1fv GLint location GLsizei count const GLfloat *value void glUniform2fv GLint location GLsizei count const GLfloat *value void glUniform3fv GLint location GLsizei count const GLfloat *value void glUniform4fv GLint location GLsizei count const GLfloat *value void glUniform1iv GLint location GLsizei count const GLint *value void glUniform2iv GLint location GLsizei count const GLint *value void glUniform3iv GLint location GLsizei count const GLint *value void glUniform4iv GLint location GLsizei count const GLint *value Parameters location Specifies the location of the uniform value to be modified. count Specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. value Specifies a pointer to an array of count values that will be used to update the specified uniform variable. C Specification void glUniformMatrix2fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix3fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix4fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix2x3fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix3x2fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix2x4fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix4x2fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix3x4fv GLint location GLsizei count GLboolean transpose const GLfloat *value void glUniformMatrix4x3fv GLint location GLsizei count GLboolean transpose const GLfloat *value Parameters location Specifies the location of the uniform value to be modified. count Specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices. transpose Specifies whether to transpose the matrix as the values are loaded into the uniform variable. value Specifies a pointer to an array of count values that will be used to update the specified uniform variable. Description glUniform modifies the value of a uniform variable or a uniform variable array. The location of the uniform variable to be modified is specified by location, which should be a value returned by glGetUniformLocation. glUniform operates on the program object that was made part of current state by calling glUseProgram. The commands glUniform{1|2|3|4}{f|i} are used to change the value of the uniform variable specified by location using the values passed as arguments. The number specified in the command should match the number of components in the data type of the specified uniform variable (e.g., 1 for float, int, bool; 2 for vec2, ivec2, bvec2, etc.). The suffix f indicates that floating-point values are being passed; the suffix i indicates that integer values are being passed, and this type should also match the data type of the specified uniform variable. The i variants of this function should be used to provide values for uniform variables defined as int, ivec2, ivec3, ivec4, or arrays of these. The f variants should be used to provide values for uniform variables of type float, vec2, vec3, vec4, or arrays of these. Either the i or the f variants may be used to provide values for uniform variables of type bool, bvec2, bvec3, bvec4, or arrays of these. The uniform variable will be set to false if the input value is 0 or 0.0f, and it will be set to true otherwise. All active uniform variables defined in a program object are initialized to 0 when the program object is linked successfully. They retain the values assigned to them by a call to glUniform until the next successful link operation occurs on the program object, when they are once again initialized to 0. The commands glUniform{1|2|3|4}{f|i}v can be used to modify a single uniform variable or a uniform variable array. These commands pass a count and a pointer to the values to be loaded into a uniform variable or a uniform variable array. A count of 1 should be used if modifying the value of a single uniform variable, and a count of 1 or greater can be used to modify an entire array or part of an array. When loading n elements starting at an arbitrary position m in a uniform variable array, elements m + n - 1 in the array will be replaced with the new values. If m + n - 1 is larger than the size of the uniform variable array, values for all array elements beyond the end of the array will be ignored. The number specified in the name of the command indicates the number of components for each element in value, and it should match the number of components in the data type of the specified uniform variable (e.g., 1 for float, int, bool; 2 for vec2, ivec2, bvec2, etc.). The data type specified in the name of the command must match the data type for the specified uniform variable as described previously for glUniform{1|2|3|4}{f|i}. For uniform variable arrays, each element of the array is considered to be of the type indicated in the name of the command (e.g., glUniform3f or glUniform3fv can be used to load a uniform variable array of type vec3). The number of elements of the uniform variable array to be modified is specified by count The commands glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv are used to modify a matrix or an array of matrices. The numbers in the command name are interpreted as the dimensionality of the matrix. The number 2 indicates a 2 × 2 matrix (i.e., 4 values), the number 3 indicates a 3 × 3 matrix (i.e., 9 values), and the number 4 indicates a 4 × 4 matrix (i.e., 16 values). Non-square matrix dimensionality is explicit, with the first number representing the number of columns and the second number representing the number of rows. For example, 2x4 indicates a 2 × 4 matrix with 2 columns and 4 rows (i.e., 8 values). If transpose is GL_FALSE, each matrix is assumed to be supplied in column major order. If transpose is GL_TRUE, each matrix is assumed to be supplied in row major order. The count argument indicates the number of matrices to be passed. A count of 1 should be used if modifying the value of a single matrix, and a count greater than 1 can be used to modify an array of matrices. Notes glUniform is available only if the GL version is 2.0 or greater. glUniformMatrix{2x3|3x2|2x4|4x2|3x4|4x3}fv is available only if the GL version is 2.1 or greater. glUniform1i and glUniform1iv are the only two functions that may be used to load uniform variables defined as sampler types. Loading samplers with any other function will result in a GL_INVALID_OPERATION error. If count is greater than 1 and the indicated uniform variable is not an array, a GL_INVALID_OPERATION error is generated and the specified uniform variable will remain unchanged. Other than the preceding exceptions, if the type and size of the uniform variable as defined in the shader do not match the type and size specified in the name of the command used to load its value, a GL_INVALID_OPERATION error will be generated and the specified uniform variable will remain unchanged. If location is a value other than -1 and it does not represent a valid uniform variable location in the current program object, an error will be generated, and no changes will be made to the uniform variable storage of the current program object. If location is equal to -1, the data passed in will be silently ignored and the specified uniform variable will not be changed. Errors GL_INVALID_OPERATION is generated if there is no current program object. GL_INVALID_OPERATION is generated if the size of the uniform variable declared in the shader does not match the size indicated by the glUniform command. GL_INVALID_OPERATION is generated if one of the integer variants of this function is used to load a uniform variable of type float, vec2, vec3, vec4, or an array of these, or if one of the floating-point variants of this function is used to load a uniform variable of type int, ivec2, ivec3, or ivec4, or an array of these. GL_INVALID_OPERATION is generated if location is an invalid uniform location for the current program object and location is not equal to -1. GL_INVALID_VALUE is generated if count is less than 0. GL_INVALID_OPERATION is generated if count is greater than 1 and the indicated uniform variable is not an array variable. GL_INVALID_OPERATION is generated if a sampler is loaded using a command other than glUniform1i and glUniform1iv. GL_INVALID_OPERATION is generated if glUniform is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveUniform with the handle of a program object and the index of an active uniform variable glGetUniform with the handle of a program object and the location of a uniform variable glGetUniformLocation with the handle of a program object and the name of a uniform variable See Also glLinkProgram, glUseProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glNewList.xml0000664000175000017500000003063511453131432023153 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glNewList 3G glNewList create or replace a display list C Specification void glNewList GLuint list GLenum mode Parameters list Specifies the display-list name. mode Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE. C Specification void glEndList void Description Display lists are groups of GL commands that have been stored for subsequent execution. Display lists are created with glNewList. All subsequent commands are placed in the display list, in the order issued, until glEndList is called. glNewList has two arguments. The first argument, list, is a positive integer that becomes the unique name for the display list. Names can be created and reserved with glGenLists and tested for uniqueness with glIsList. The second argument, mode, is a symbolic constant that can assume one of two values: GL_COMPILE Commands are merely compiled. GL_COMPILE_AND_EXECUTE Commands are executed as they are compiled into the display list. Certain commands are not compiled into the display list but are executed immediately, regardless of the display-list mode. These commands are glAreTexturesResident, glColorPointer, glDeleteLists, glDeleteTextures, glDisableClientState, glEdgeFlagPointer, glEnableClientState, glFeedbackBuffer, glFinish, glFlush, glGenLists, glGenTextures, glIndexPointer, glInterleavedArrays, glIsEnabled, glIsList, glIsTexture, glNormalPointer, glPopClientAttrib, glPixelStore, glPushClientAttrib, glReadPixels, glRenderMode, glSelectBuffer, glTexCoordPointer, glVertexPointer, and all of the glGet commands. Similarly, glTexImage1D, glTexImage2D, and glTexImage3D are executed immediately and not compiled into the display list when their first argument is GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_1D, or GL_PROXY_TEXTURE_3D, respectively. When the ARB_imaging extension is supported, glHistogram executes immediately when its argument is GL_PROXY_HISTOGRAM. Similarly, glColorTable executes immediately when its first argument is GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glClientActiveTexture is not compiled into display lists, but executed immediately. When glEndList is encountered, the display-list definition is completed by associating the list with the unique name list (specified in the glNewList command). If a display list with name list already exists, it is replaced only when glEndList is called. Notes glCallList and glCallLists can be entered into display lists. Commands in the display list or lists executed by glCallList or glCallLists are not included in the display list being created, even if the list creation mode is GL_COMPILE_AND_EXECUTE. A display list is just a group of commands and arguments, so errors generated by commands in a display list must be generated when the list is executed. If the list is created in GL_COMPILE mode, errors are not generated until the list is executed. Errors GL_INVALID_VALUE is generated if list is 0. GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if glEndList is called without a preceding glNewList, or if glNewList is called while a display list is being defined. GL_INVALID_OPERATION is generated if glNewList or glEndList is executed between the execution of glBegin and the corresponding execution of glEnd. GL_OUT_OF_MEMORY is generated if there is insufficient memory to compile the display list. If the GL version is 1.1 or greater, no change is made to the previous contents of the display list, if any, and no other change is made to the GL state. (It is as if no attempt had been made to create the new display list.) Associated Gets glIsList glGet with argument GL_LIST_INDEX glGet with argument GL_LIST_MODE See Also glCallList, glCallLists, glDeleteLists, glGenLists Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glScale.xml0000664000175000017500000002177011453131434022617 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glScale 3G glScale multiply the current matrix by a general scaling matrix C Specification void glScaled GLdouble x GLdouble y GLdouble z void glScalef GLfloat x GLfloat y GLfloat z Parameters x y z Specify scale factors along the x, y, and z axes, respectively. Description glScale produces a nonuniform scaling along the x, y, and z axes. The three parameters indicate the desired scale factor along each of the three axes. The current matrix (see glMatrixMode) is multiplied by this scale matrix, and the product replaces the current matrix as if glMultMatrix were called with the following matrix as its argument: x 0 0 0 0 y 0 0 0 0 z 0 0 0 0 1 If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after glScale is called are scaled. Use glPushMatrix and glPopMatrix to save and restore the unscaled coordinate system. Notes If scale factors other than 1 are applied to the modelview matrix and lighting is enabled, lighting often appears wrong. In that case, enable automatic normalization of normals by calling glEnable with the argument GL_NORMALIZE. Errors GL_INVALID_OPERATION is generated if glScale is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glTranslate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawPixels.xml0000664000175000017500000021357411453131434023657 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDrawPixels 3G glDrawPixels write a block of pixels to the frame buffer C Specification void glDrawPixels GLsizei width GLsizei height GLenum format GLenum type const GLvoid * data Parameters width height Specify the dimensions of the pixel rectangle to be written into the frame buffer. format Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. type Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. data Specifies a pointer to the pixel data. Description glDrawPixels reads pixel data from memory and writes it into the frame buffer relative to the current raster position, provided that the raster position is valid. Use glRasterPos or glWindowPos to set the current raster position; use glGet with argument GL_CURRENT_RASTER_POSITION_VALID to determine if the specified raster position is valid, and glGet with argument GL_CURRENT_RASTER_POSITION to query the raster position. Several parameters define the encoding of pixel data in memory and control the processing of the pixel data before it is placed in the frame buffer. These parameters are set with four commands: glPixelStore, glPixelTransfer, glPixelMap, and glPixelZoom. This reference page describes the effects on glDrawPixels of many, but not all, of the parameters specified by these four commands. Data is read from data as a sequence of signed or unsigned bytes, signed or unsigned shorts, signed or unsigned integers, or single-precision floating-point values, depending on type. When type is one of GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, or GL_FLOAT each of these bytes, shorts, integers, or floating-point values is interpreted as one color or depth component, or one index, depending on format. When type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_INT_8_8_8_8, or GL_UNSIGNED_INT_10_10_10_2, each unsigned value is interpreted as containing all the components for a single pixel, with the color components arranged according to format. When type is one of GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8_REV, or GL_UNSIGNED_INT_2_10_10_10_REV, each unsigned value is interpreted as containing all color components, specified by format, for a single pixel in a reversed order. Indices are always treated individually. Color components are treated as groups of one, two, three, or four values, again based on format. Both individual indices and groups of components are referred to as pixels. If type is GL_BITMAP, the data must be unsigned bytes, and format must be either GL_COLOR_INDEX or GL_STENCIL_INDEX. Each unsigned byte is treated as eight 1-bit pixels, with bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore). width × height pixels are read from memory, starting at location data. By default, these pixels are taken from adjacent memory locations, except that after all width pixels are read, the read pointer is advanced to the next four-byte boundary. The four-byte row alignment is specified by glPixelStore with argument GL_UNPACK_ALIGNMENT, and it can be set to one, two, four, or eight bytes. Other pixel store parameters specify different read pointer advancements, both before the first pixel is read and after all width pixels are read. See the glPixelStore reference page for details on these options. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a block of pixels is specified, data is treated as a byte offset into the buffer object's data store. The width × height pixels that are read from memory are each operated on in the same way, based on the values of several parameters specified by glPixelTransfer and glPixelMap. The details of these operations, as well as the target buffer into which the pixels are drawn, are specific to the format of the pixels, as specified by format. format can assume one of 13 symbolic values: GL_COLOR_INDEX Each pixel is a single value, a color index. It is converted to fixed-point format, with an unspecified number of bits to the right of the binary point, regardless of the memory data type. Floating-point values convert to true fixed-point values. Signed and unsigned integer data is converted with all fraction bits set to 0. Bitmap data convert to either 0 or 1. Each fixed-point index is then shifted left by GL_INDEX_SHIFT bits and added to GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In either case, zero bits fill otherwise unspecified bit locations in the result. If the GL is in RGBA mode, the resulting index is converted to an RGBA pixel with the help of the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables. If the GL is in color index mode, and if GL_MAP_COLOR is true, the index is replaced with the value that it references in lookup table GL_PIXEL_MAP_I_TO_I. Whether the lookup replacement of the index is done or not, the integer part of the index is then ANDed with 2 b - 1 , where b is the number of bits in a color index buffer. The GL then converts the resulting indices or RGBA colors to fragments by attaching the current raster position z coordinate and texture coordinates to each pixel, then assigning x and y window coordinates to the nth fragment such that x n = x r + n % width y n = y r + n width where x r y r is the current raster position. These pixel fragments are then treated just like the fragments generated by rasterizing points, lines, or polygons. Texture mapping, fog, and all the fragment operations are applied before the fragments are written to the frame buffer. GL_STENCIL_INDEX Each pixel is a single value, a stencil index. It is converted to fixed-point format, with an unspecified number of bits to the right of the binary point, regardless of the memory data type. Floating-point values convert to true fixed-point values. Signed and unsigned integer data is converted with all fraction bits set to 0. Bitmap data convert to either 0 or 1. Each fixed-point index is then shifted left by GL_INDEX_SHIFT bits, and added to GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In either case, zero bits fill otherwise unspecified bit locations in the result. If GL_MAP_STENCIL is true, the index is replaced with the value that it references in lookup table GL_PIXEL_MAP_S_TO_S. Whether the lookup replacement of the index is done or not, the integer part of the index is then ANDed with 2 b - 1 , where b is the number of bits in the stencil buffer. The resulting stencil indices are then written to the stencil buffer such that the nth index is written to location x n = x r + n % width y n = y r + n width where x r y r is the current raster position. Only the pixel ownership test, the scissor test, and the stencil writemask affect these write operations. GL_DEPTH_COMPONENT Each pixel is a single-depth component. Floating-point data is converted directly to an internal floating-point format with unspecified precision. Signed integer data is mapped linearly to the internal floating-point format such that the most positive representable integer value maps to 1.0, and the most negative representable value maps to -1.0 . Unsigned integer data is mapped similarly: the largest integer value maps to 1.0, and 0 maps to 0.0. The resulting floating-point depth value is then multiplied by GL_DEPTH_SCALE and added to GL_DEPTH_BIAS. The result is clamped to the range 0 1 . The GL then converts the resulting depth components to fragments by attaching the current raster position color or color index and texture coordinates to each pixel, then assigning x and y window coordinates to the nth fragment such that x n = x r + n % width y n = y r + n width where x r y r is the current raster position. These pixel fragments are then treated just like the fragments generated by rasterizing points, lines, or polygons. Texture mapping, fog, and all the fragment operations are applied before the fragments are written to the frame buffer. GL_RGBA GL_BGRA Each pixel is a four-component group: For GL_RGBA, the red component is first, followed by green, followed by blue, followed by alpha; for GL_BGRA the order is blue, green, red and then alpha. Floating-point values are converted directly to an internal floating-point format with unspecified precision. Signed integer values are mapped linearly to the internal floating-point format such that the most positive representable integer value maps to 1.0, and the most negative representable value maps to -1.0 . (Note that this mapping does not convert 0 precisely to 0.0.) Unsigned integer data is mapped similarly: The largest integer value maps to 1.0, and 0 maps to 0.0. The resulting floating-point color values are then multiplied by GL_c_SCALE and added to GL_c_BIAS, where c is RED, GREEN, BLUE, and ALPHA for the respective color components. The results are clamped to the range 0 1 . If GL_MAP_COLOR is true, each color component is scaled by the size of lookup table GL_PIXEL_MAP_c_TO_c, then replaced by the value that it references in that table. c is R, G, B, or A respectively. The GL then converts the resulting RGBA colors to fragments by attaching the current raster position z coordinate and texture coordinates to each pixel, then assigning x and y window coordinates to the nth fragment such that x n = x r + n % width y n = y r + n width where x r y r is the current raster position. These pixel fragments are then treated just like the fragments generated by rasterizing points, lines, or polygons. Texture mapping, fog, and all the fragment operations are applied before the fragments are written to the frame buffer. GL_RED Each pixel is a single red component. This component is converted to the internal floating-point format in the same way the red component of an RGBA pixel is. It is then converted to an RGBA pixel with green and blue set to 0, and alpha set to 1. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_GREEN Each pixel is a single green component. This component is converted to the internal floating-point format in the same way the green component of an RGBA pixel is. It is then converted to an RGBA pixel with red and blue set to 0, and alpha set to 1. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_BLUE Each pixel is a single blue component. This component is converted to the internal floating-point format in the same way the blue component of an RGBA pixel is. It is then converted to an RGBA pixel with red and green set to 0, and alpha set to 1. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_ALPHA Each pixel is a single alpha component. This component is converted to the internal floating-point format in the same way the alpha component of an RGBA pixel is. It is then converted to an RGBA pixel with red, green, and blue set to 0. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_RGB GL_BGR Each pixel is a three-component group: red first, followed by green, followed by blue; for GL_BGR, the first component is blue, followed by green and then red. Each component is converted to the internal floating-point format in the same way the red, green, and blue components of an RGBA pixel are. The color triple is converted to an RGBA pixel with alpha set to 1. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_LUMINANCE Each pixel is a single luminance component. This component is converted to the internal floating-point format in the same way the red component of an RGBA pixel is. It is then converted to an RGBA pixel with red, green, and blue set to the converted luminance value, and alpha set to 1. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. GL_LUMINANCE_ALPHA Each pixel is a two-component group: luminance first, followed by alpha. The two components are converted to the internal floating-point format in the same way the red component of an RGBA pixel is. They are then converted to an RGBA pixel with red, green, and blue set to the converted luminance value, and alpha set to the converted alpha value. After this conversion, the pixel is treated as if it had been read as an RGBA pixel. The following table summarizes the meaning of the valid constants for the type parameter: Type Corresponding Type GL_UNSIGNED_BYTE unsigned 8-bit integer GL_BYTE signed 8-bit integer GL_BITMAP single bits in unsigned 8-bit integers GL_UNSIGNED_SHORT unsigned 16-bit integer GL_SHORT signed 16-bit integer GL_UNSIGNED_INT unsigned 32-bit integer GL_INT 32-bit integer GL_FLOAT single-precision floating-point GL_UNSIGNED_BYTE_3_3_2 unsigned 8-bit integer GL_UNSIGNED_BYTE_2_3_3_REV unsigned 8-bit integer with reversed component ordering GL_UNSIGNED_SHORT_5_6_5 unsigned 16-bit integer GL_UNSIGNED_SHORT_5_6_5_REV unsigned 16-bit integer with reversed component ordering GL_UNSIGNED_SHORT_4_4_4_4 unsigned 16-bit integer GL_UNSIGNED_SHORT_4_4_4_4_REV unsigned 16-bit integer with reversed component ordering GL_UNSIGNED_SHORT_5_5_5_1 unsigned 16-bit integer GL_UNSIGNED_SHORT_1_5_5_5_REV unsigned 16-bit integer with reversed component ordering GL_UNSIGNED_INT_8_8_8_8 unsigned 32-bit integer GL_UNSIGNED_INT_8_8_8_8_REV unsigned 32-bit integer with reversed component ordering GL_UNSIGNED_INT_10_10_10_2 unsigned 32-bit integer GL_UNSIGNED_INT_2_10_10_10_REV unsigned 32-bit integer with reversed component ordering The rasterization described so far assumes pixel zoom factors of 1. If glPixelZoom is used to change the x and y pixel zoom factors, pixels are converted to fragments as follows. If x r y r is the current raster position, and a given pixel is in the nth column and mth row of the pixel rectangle, then fragments are generated for pixels whose centers are in the rectangle with corners at x r + zoom x n y r + zoom y m x r + zoom x n + 1 y r + zoom y m + 1 where zoom x is the value of GL_ZOOM_X and zoom y is the value of GL_ZOOM_Y. Notes GL_BGR and GL_BGRA are only valid for format if the GL version is 1.2 or greater. GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are only valid for type if the GL version is 1.2 or greater. Errors GL_INVALID_ENUM is generated if format or type is not one of the accepted values. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not either GL_COLOR_INDEX or GL_STENCIL_INDEX. GL_INVALID_VALUE is generated if either width or height is negative. GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX and there is no stencil buffer. GL_INVALID_OPERATION is generated if format is GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_BGR, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA, and the GL is in color index mode. GL_INVALID_OPERATION is generated if format is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if format is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glDrawPixels is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_RASTER_POSITION glGet with argument GL_CURRENT_RASTER_POSITION_VALID glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glAlphaFunc, glBlendFunc, glCopyPixels, glDepthFunc, glLogicOp, glPixelMap, glPixelStore, glPixelTransfer, glPixelZoom, glRasterPos, glReadPixels, glScissor, glStencilFunc, glWindowPos Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetTexParameter.xml0000664000175000017500000003735211453131432024632 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetTexParameter 3G glGetTexParameter return texture parameter values C Specification void glGetTexParameterfv GLenum target GLenum pname GLfloat * params void glGetTexParameteriv GLenum target GLenum pname GLint * params Parameters target Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. pname Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. params Returns the texture parameters. Description glGetTexParameter returns in params the value or values of the texture parameter specified as pname. target defines the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP, to specify one-, two-, or three-dimensional or cube-mapped texturing. pname accepts the same symbols as glTexParameter, with the same interpretations: GL_TEXTURE_MAG_FILTER Returns the single-valued texture magnification filter, a symbolic constant. The initial value is GL_LINEAR. GL_TEXTURE_MIN_FILTER Returns the single-valued texture minification filter, a symbolic constant. The initial value is GL_NEAREST_MIPMAP_LINEAR. GL_TEXTURE_MIN_LOD Returns the single-valued texture minimum level-of-detail value. The initial value is -1000 . GL_TEXTURE_MAX_LOD Returns the single-valued texture maximum level-of-detail value. The initial value is 1000. GL_TEXTURE_BASE_LEVEL Returns the single-valued base texture mipmap level. The initial value is 0. GL_TEXTURE_MAX_LEVEL Returns the single-valued maximum texture mipmap array level. The initial value is 1000. GL_TEXTURE_WRAP_S Returns the single-valued wrapping function for texture coordinate s, a symbolic constant. The initial value is GL_REPEAT. GL_TEXTURE_WRAP_T Returns the single-valued wrapping function for texture coordinate t, a symbolic constant. The initial value is GL_REPEAT. GL_TEXTURE_WRAP_R Returns the single-valued wrapping function for texture coordinate r, a symbolic constant. The initial value is GL_REPEAT. GL_TEXTURE_BORDER_COLOR Returns four integer or floating-point numbers that comprise the RGBA color of the texture border. Floating-point values are returned in the range 0 1 . Integer values are returned as a linear mapping of the internal floating-point representation such that 1.0 maps to the most positive representable integer and -1.0 maps to the most negative representable integer. The initial value is (0, 0, 0, 0). GL_TEXTURE_PRIORITY Returns the residence priority of the target texture (or the named texture bound to it). The initial value is 1. See glPrioritizeTextures. GL_TEXTURE_RESIDENT Returns the residence status of the target texture. If the value returned in params is GL_TRUE, the texture is resident in texture memory. See glAreTexturesResident. GL_TEXTURE_COMPARE_MODE Returns a single-valued texture comparison mode, a symbolic constant. The initial value is GL_NONE. See glTexParameter. GL_TEXTURE_COMPARE_FUNC Returns a single-valued texture comparison function, a symbolic constant. The initial value is GL_LEQUAL. See glTexParameter. GL_DEPTH_TEXTURE_MODE Returns a single-valued texture format indicating how the depth values should be converted into color components. The initial value is GL_LUMINANCE. See glTexParameter. GL_GENERATE_MIPMAP Returns a single boolean value indicating if automatic mipmap level updates are enabled. See glTexParameter. Notes GL_TEXTURE_PRIORITY and GL_TEXTURE_RESIDENT are available only if the GL version is 1.1 or greater. GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, and GL_TEXTURE_WRAP_R are available only if the GL version is 1.2 or greater. GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, and GL_GENERATE_MIPMAP is available only if the GL version is 1.4 or greater. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetTexParameter is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glAreTexturesResident, glPrioritizeTextures, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetContextIDEXT.xml0000664000175000017500000000657211453131432024603 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetContextIDEXT 3G glXGetContextIDEXT get the XID for a context. C Specification GLXContextID glXGetContextIDEXT const GLXContext ctx Parameters ctx Specifies a GLX rendering context. Description glXGetContextIDEXT returns the XID associated with a GLXContext. No round trip is forced to the server; unlike most X calls that return a value, glXGetContextIDEXT does not flush any pending events. glXGetContextIDEXT is part of the EXT_import_context extension, not part of the core GLX command set. If _glxextstring(EXT_import_context) is included in the string returned by glXQueryExtensionsString, when called with argument GLX_EXTENSIONS, extension EXT_import_context is supported. Errors GLXBadContext is generated if ctx does not refer to a valid context. See Also glXCreateContext, glXQueryVersion, glXQueryExtensionsString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLoadName.xml0000664000175000017500000000777111453131434023255 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLoadName 3G glLoadName load a name onto the name stack C Specification void glLoadName GLuint name Parameters name Specifies a name that will replace the top value on the name stack. Description The name stack is used during selection mode to allow sets of rendering commands to be uniquely identified. It consists of an ordered set of unsigned integers and is initially empty. glLoadName causes name to replace the value on the top of the name stack. The name stack is always empty while the render mode is not GL_SELECT. Calls to glLoadName while the render mode is not GL_SELECT are ignored. Errors GL_INVALID_OPERATION is generated if glLoadName is called while the name stack is empty. GL_INVALID_OPERATION is generated if glLoadName is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_NAME_STACK_DEPTH glGet with argument GL_MAX_NAME_STACK_DEPTH See Also glInitNames, glPushName, glRenderMode, glSelectBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPixelZoom.xml0000664000175000017500000001767111453131434023523 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPixelZoom 3G glPixelZoom specify the pixel zoom factors C Specification void glPixelZoom GLfloat xfactor GLfloat yfactor Parameters xfactor yfactor Specify the x and y zoom factors for pixel write operations. Description glPixelZoom specifies values for the x and y zoom factors. During the execution of glDrawPixels or glCopyPixels, if ( xr , yr ) is the current raster position, and a given element is in the mth row and nth column of the pixel rectangle, then pixels whose centers are in the rectangle with corners at ( xr + n · xfactor , yr + m · yfactor ) ( xr + n + 1 · xfactor , yr + m + 1 · yfactor ) are candidates for replacement. Any pixel whose center lies on the bottom or left edge of this rectangular region is also modified. Pixel zoom factors are not limited to positive values. Negative zoom factors reflect the resulting image about the current raster position. Errors GL_INVALID_OPERATION is generated if glPixelZoom is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ZOOM_X glGet with argument GL_ZOOM_Y See Also glCopyPixels, glDrawPixels Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorSubTable.xml0000664000175000017500000002621011453131434024262 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorSubTable 3G glColorSubTable respecify a portion of a color table C Specification void glColorSubTable GLenum target GLsizei start GLsizei count GLenum format GLenum type const GLvoid * data Parameters target Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. start The starting index of the portion of the color table to be replaced. count The number of table entries to replace. format The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. type The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. Description glColorSubTable is used to respecify a contiguous portion of a color table previously defined using glColorTable. The pixels referenced by data replace the portion of the existing table from indices start to start + count - 1 , inclusive. This region may not include any entries outside the range of the color table as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a portion of a color table is respecified, data is treated as a byte offset into the buffer object's data store. Notes glColorSubTable is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_VALUE is generated if start + count > width . GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glColorSubTable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTable, glGetColorTableParameter glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glColorTable, glColorTableParameter, glCopyColorTable, glCopyColorSubTable, glGetColorTable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMap1.xml0000664000175000017500000010157111453131434022364 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMap1 3G glMap1 define a one-dimensional evaluator C Specification void glMap1f GLenum target GLfloat u1 GLfloat u2 GLint stride GLint order const GLfloat * points void glMap1d GLenum target GLdouble u1 GLdouble u2 GLint stride GLint order const GLdouble * points Parameters target Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. u1 u2 Specify a linear mapping of u, as presented to glEvalCoord1, to u^ , the variable that is evaluated by the equations specified by this command. stride Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. order Specifies the number of control points. Must be positive. points Specifies a pointer to the array of control points. Description Evaluators provide a way to use polynomial or rational polynomial mapping to produce vertices, normals, texture coordinates, and colors. The values produced by an evaluator are sent to further stages of GL processing just as if they had been presented using glVertex, glNormal, glTexCoord, and glColor commands, except that the generated values do not update the current normal, texture coordinates, or color. All polynomial or rational polynomial splines of any degree (up to the maximum degree supported by the GL implementation) can be described using evaluators. These include almost all splines used in computer graphics: B-splines, Bezier curves, Hermite splines, and so on. Evaluators define curves based on Bernstein polynomials. Define p u^ as p u^ = Σ i = 0 n B i n u^ R i where R i is a control point and B i n u^ is the ith Bernstein polynomial of degree n (order = n + 1 ): B i n u^ = n i u^ i 1 - u^ n - i Recall that 0 0 == 1 and n 0 == 1 glMap1 is used to define the basis and to specify what kind of values are produced. Once defined, a map can be enabled and disabled by calling glEnable and glDisable with the map name, one of the nine predefined values for target described below. glEvalCoord1 evaluates the one-dimensional maps that are enabled. When glEvalCoord1 presents a value u, the Bernstein functions are evaluated using u^ , where u^ = u - u1 u2 - u1 target is a symbolic constant that indicates what kind of control points are provided in points, and what output is generated when the map is evaluated. It can assume one of nine predefined values: GL_MAP1_VERTEX_3 Each control point is three floating-point values representing x, y, and z. Internal glVertex3 commands are generated when the map is evaluated. GL_MAP1_VERTEX_4 Each control point is four floating-point values representing x, y, z, and w. Internal glVertex4 commands are generated when the map is evaluated. GL_MAP1_INDEX Each control point is a single floating-point value representing a color index. Internal glIndex commands are generated when the map is evaluated but the current index is not updated with the value of these glIndex commands. GL_MAP1_COLOR_4 Each control point is four floating-point values representing red, green, blue, and alpha. Internal glColor4 commands are generated when the map is evaluated but the current color is not updated with the value of these glColor4 commands. GL_MAP1_NORMAL Each control point is three floating-point values representing the x, y, and z components of a normal vector. Internal glNormal commands are generated when the map is evaluated but the current normal is not updated with the value of these glNormal commands. GL_MAP1_TEXTURE_COORD_1 Each control point is a single floating-point value representing the s texture coordinate. Internal glTexCoord1 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP1_TEXTURE_COORD_2 Each control point is two floating-point values representing the s and t texture coordinates. Internal glTexCoord2 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP1_TEXTURE_COORD_3 Each control point is three floating-point values representing the s, t, and r texture coordinates. Internal glTexCoord3 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP1_TEXTURE_COORD_4 Each control point is four floating-point values representing the s, t, r, and q texture coordinates. Internal glTexCoord4 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. stride, order, and points define the array addressing for accessing the control points. points is the location of the first control point, which occupies one, two, three, or four contiguous memory locations, depending on which map is being defined. order is the number of control points in the array. stride specifies how many float or double locations to advance the internal memory pointer to reach the next control point. Notes As is the case with all GL commands that accept pointers to data, it is as if the contents of points were copied by glMap1 before glMap1 returns. Changes to the contents of points have no effect after glMap1 is called. Errors GL_INVALID_ENUM is generated if target is not an accepted value. GL_INVALID_VALUE is generated if u1 is equal to u2. GL_INVALID_VALUE is generated if stride is less than the number of values in a control point. GL_INVALID_VALUE is generated if order is less than 1 or greater than the return value of GL_MAX_EVAL_ORDER. GL_INVALID_OPERATION is generated if glMap1 is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if glMap1 is called and the value of GL_ACTIVE_TEXTURE is not GL_TEXTURE0. Associated Gets glGetMap glGet with argument GL_MAX_EVAL_ORDER glIsEnabled with argument GL_MAP1_VERTEX_3 glIsEnabled with argument GL_MAP1_VERTEX_4 glIsEnabled with argument GL_MAP1_INDEX glIsEnabled with argument GL_MAP1_COLOR_4 glIsEnabled with argument GL_MAP1_NORMAL glIsEnabled with argument GL_MAP1_TEXTURE_COORD_1 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_2 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_3 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_4 See Also glBegin, glColor, glEnable, glEvalCoord, glEvalMesh, glEvalPoint, glMap2, glMapGrid, glNormal, glTexCoord, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXChooseVisual.xml0000664000175000017500000004153111453131434024321 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXChooseVisual 3G glXChooseVisual return a visual that matches specified attributes C Specification XVisualInfo* glXChooseVisual Display * dpy int screen int * attribList Parameters dpy Specifies the connection to the X server. screen Specifies the screen number. attribList Specifies a list of boolean attributes and integer attribute/value pairs. The last attribute must be None. Description glXChooseVisual returns a pointer to an XVisualInfo structure describing the visual that best meets a minimum specification. The boolean GLX attributes of the visual that is returned will match the specified values, and the integer GLX attributes will meet or exceed the specified minimum values. If all other attributes are equivalent, then TrueColor and PseudoColor visuals have priority over DirectColor and StaticColor visuals, respectively. If no conforming visual exists, NULL is returned. To free the data returned by this function, use XFree. All boolean GLX attributes default to False except GLX_USE_GL, which defaults to True. All integer GLX attributes default to zero. Default specifications are superseded by attributes included in attribList. Boolean attributes included in attribList are understood to be True. Integer attributes and enumerated type attributes are followed immediately by the corresponding desired or minimum value. The list must be terminated with None. The interpretations of the various GLX visual attributes are as follows: GLX_USE_GL Ignored. Only visuals that can be rendered with GLX are considered. GLX_BUFFER_SIZE Must be followed by a nonnegative integer that indicates the desired color index buffer size. The smallest index buffer of at least the specified size is preferred. Ignored if GLX_RGBA is asserted. GLX_LEVEL Must be followed by an integer buffer-level specification. This specification is honored exactly. Buffer level zero corresponds to the main frame buffer of the display. Buffer level one is the first overlay frame buffer, level two the second overlay frame buffer, and so on. Negative buffer levels correspond to underlay frame buffers. GLX_RGBA If present, only TrueColor and DirectColor visuals are considered. Otherwise, only PseudoColor and StaticColor visuals are considered. GLX_DOUBLEBUFFER If present, only double-buffered visuals are considered. Otherwise, only single-buffered visuals are considered. GLX_STEREO If present, only stereo visuals are considered. Otherwise, only monoscopic visuals are considered. GLX_AUX_BUFFERS Must be followed by a nonnegative integer that indicates the desired number of auxiliary buffers. Visuals with the smallest number of auxiliary buffers that meets or exceeds the specified number are preferred. GLX_RED_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, the smallest available red buffer is preferred. Otherwise, the largest available red buffer of at least the minimum size is preferred. GLX_GREEN_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, the smallest available green buffer is preferred. Otherwise, the largest available green buffer of at least the minimum size is preferred. GLX_BLUE_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, the smallest available blue buffer is preferred. Otherwise, the largest available blue buffer of at least the minimum size is preferred. GLX_ALPHA_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, the smallest available alpha buffer is preferred. Otherwise, the largest available alpha buffer of at least the minimum size is preferred. GLX_DEPTH_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, visuals with no depth buffer are preferred. Otherwise, the largest available depth buffer of at least the minimum size is preferred. GLX_STENCIL_SIZE Must be followed by a nonnegative integer that indicates the desired number of stencil bitplanes. The smallest stencil buffer of at least the specified size is preferred. If the desired value is zero, visuals with no stencil buffer are preferred. GLX_ACCUM_RED_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, visuals with no red accumulation buffer are preferred. Otherwise, the largest possible red accumulation buffer of at least the minimum size is preferred. GLX_ACCUM_GREEN_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, visuals with no green accumulation buffer are preferred. Otherwise, the largest possible green accumulation buffer of at least the minimum size is preferred. GLX_ACCUM_BLUE_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, visuals with no blue accumulation buffer are preferred. Otherwise, the largest possible blue accumulation buffer of at least the minimum size is preferred. GLX_ACCUM_ALPHA_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, visuals with no alpha accumulation buffer are preferred. Otherwise, the largest possible alpha accumulation buffer of at least the minimum size is preferred. Examples attribList = {GLX_RGBA, GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE, 4, None}; Specifies a single-buffered RGB visual in the normal frame buffer, not an overlay or underlay buffer. The returned visual supports at least four bits each of red, green, and blue, and possibly no bits of alpha. It does not support color index mode, double-buffering, or stereo display. It may or may not have one or more auxiliary color buffers, a depth buffer, a stencil buffer, or an accumulation buffer. Notes XVisualInfo is defined in Xutil.h. It is a structure that includes visual, visualID, screen, and depth elements. glXChooseVisual is implemented as a client-side utility using only XGetVisualInfo and glXGetConfig. Calls to these two routines can be used to implement selection algorithms other than the generic one implemented by glXChooseVisual. GLX implementations are strongly discouraged, but not proscribed, from changing the selection algorithm used by glXChooseVisual. Therefore, selections may change from release to release of the client-side library. There is no direct filter for picking only visuals that support GLXPixmaps. GLXPixmaps are supported for visuals whose GLX_BUFFER_SIZE is one of the pixmap depths supported by the X server. Errors NULL is returned if an undefined GLX attribute is encountered in attribList. See Also glXCreateContext, glXGetConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorPointer.xml0000664000175000017500000002766611453131434024221 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorPointer 3G glColorPointer define an array of colors C Specification void glColorPointer GLint size GLenum type GLsizei stride const GLvoid * pointer Parameters size Specifies the number of components per color. Must be 3 or 4. The initial value is 4. type Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Description glColorPointer specifies the location and data format of an array of color components to use when rendering. size specifies the number of components per color, and must be 3 or 4. type specifies the data type of each color component, and stride specifies the byte stride from one color to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.) If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a color array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as color vertex array client-side state (GL_COLOR_ARRAY_BUFFER_BINDING). When a color array is specified, size, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the color array, call glEnableClientState and glDisableClientState with the argument GL_COLOR_ARRAY. If enabled, the color array is used when glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, glDrawRangeElements, or glArrayElement is called. Notes glColorPointer is available only if the GL version is 1.1 or greater. The color array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glColorPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glColorPointer is typically implemented on the client side. Color array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_VALUE is generated if size is not 3 or 4. GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_COLOR_ARRAY glGet with argument GL_COLOR_ARRAY_SIZE glGet with argument GL_COLOR_ARRAY_TYPE glGet with argument GL_COLOR_ARRAY_STRIDE glGet with argument GL_COLOR_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_COLOR_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColor, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilFuncSeparate.xml0000664000175000017500000003641611453131434025475 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilFuncSeparate 3G glStencilFuncSeparate set front and/or back function and reference value for stencil testing C Specification void glStencilFuncSeparate GLenum face GLenum func GLint ref GLuint mask Parameters face Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. func Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. ref Specifies the reference value for the stencil test. ref is clamped to the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. The initial value is 0. mask Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Description Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the reference value and the value in the stencil buffer. To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST. To specify actions based on the outcome of the stencil test, call glStencilOp or glStencilOpSeparate. There can be two separate sets of func, ref, and mask parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilFunc sets both front and back stencil state to the same values, as if glStencilFuncSeparate were called with face set to GL_FRONT_AND_BACK. func is a symbolic constant that determines the stencil comparison function. It accepts one of eight values, shown in the following list. ref is an integer reference value that is used in the stencil comparison. It is clamped to the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. mask is bitwise ANDed with both the reference value and the stored stencil value, with the ANDed values participating in the comparison. If stencil represents the value stored in the corresponding stencil buffer location, the following list shows the effect of each comparison function that can be specified by func. Only if the comparison succeeds is the pixel passed through to the next stage in the rasterization process (see glStencilOp). All tests treat stencil values as unsigned integers in the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. The following values are accepted by func: GL_NEVER Always fails. GL_LESS Passes if ( ref & mask ) < ( stencil & mask ). GL_LEQUAL Passes if ( ref & mask ) <= ( stencil & mask ). GL_GREATER Passes if ( ref & mask ) > ( stencil & mask ). GL_GEQUAL Passes if ( ref & mask ) >= ( stencil & mask ). GL_EQUAL Passes if ( ref & mask ) = ( stencil & mask ). GL_NOTEQUAL Passes if ( ref & mask ) != ( stencil & mask ). GL_ALWAYS Always passes. Notes glStencilFuncSeparate is available only if the GL version is 2.0 or greater. Initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes. Errors GL_INVALID_ENUM is generated if func is not one of the eight accepted values. GL_INVALID_OPERATION is generated if glStencilFuncSeparate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, or GL_STENCIL_BITS glIsEnabled with argument GL_STENCIL_TEST See Also glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glLogicOp, glStencilFunc, glStencilMask, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate Copyright Copyright 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetPixelMap.xml0000664000175000017500000003304011453131434023740 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetPixelMap 3G glGetPixelMap return the specified pixel map C Specification void glGetPixelMapfv GLenum map GLfloat * data void glGetPixelMapuiv GLenum map GLuint * data void glGetPixelMapusv GLenum map GLushort * data Parameters map Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. data Returns the pixel map contents. Description See the glPixelMap reference page for a description of the acceptable values for the map parameter. glGetPixelMap returns in data the contents of the pixel map specified in map. Pixel maps are used during the execution of glReadPixels, glDrawPixels, glCopyPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, and glCopyTexSubImage3D. to map color indices, stencil indices, color components, and depth components to other values. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a pixel map is requested, data is treated as a byte offset into the buffer object's data store. Unsigned integer values, if requested, are linearly mapped from the internal fixed or floating-point representation such that 1.0 maps to the largest representable integer value, and 0.0 maps to 0. Return unsigned integer values are undefined if the map value was not in the range [0,1]. To determine the required size of map, call glGet with the appropriate symbolic constant. Notes If an error is generated, no change is made to the contents of data. Errors GL_INVALID_ENUM is generated if map is not an accepted value. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated by glGetPixelMapfv if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a GLfloat datum. GL_INVALID_OPERATION is generated by glGetPixelMapuiv if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a GLuint datum. GL_INVALID_OPERATION is generated by glGetPixelMapusv if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a GLushort datum. GL_INVALID_OPERATION is generated if glGetPixelMap is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_PIXEL_MAP_I_TO_I_SIZE glGet with argument GL_PIXEL_MAP_S_TO_S_SIZE glGet with argument GL_PIXEL_MAP_I_TO_R_SIZE glGet with argument GL_PIXEL_MAP_I_TO_G_SIZE glGet with argument GL_PIXEL_MAP_I_TO_B_SIZE glGet with argument GL_PIXEL_MAP_I_TO_A_SIZE glGet with argument GL_PIXEL_MAP_R_TO_R_SIZE glGet with argument GL_PIXEL_MAP_G_TO_G_SIZE glGet with argument GL_PIXEL_MAP_B_TO_B_SIZE glGet with argument GL_PIXEL_MAP_A_TO_A_SIZE glGet with argument GL_MAX_PIXEL_MAP_TABLE glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glColorSubTable, glColorTable, glConvolutionFilter1D, glConvolutionFilter2D, glCopyColorSubTable, glCopyColorTable, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glGetHistogram, glGetMinmax, glGetTexImage, glPixelMap, glPixelTransfer, glReadPixels, glSeparableFilter2D, glTexImage1D, glTexImage1D, glTexImage2D glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetMinmax.xml0000664000175000017500000003254511453131434023463 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetMinmax 3G glGetMinmax get minimum and maximum pixel values C Specification void glGetMinmax GLenum target GLboolean reset GLenum format GLenum types GLvoid * values Parameters target Must be GL_MINMAX. reset If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. format The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. types The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. values A pointer to storage for the returned values. Description glGetMinmax returns the accumulated minimum and maximum pixel values (computed on a per-component basis) in a one-dimensional image of width 2. The first set of return values are the minima, and the second set of return values are the maxima. The format of the return values is determined by format, and their type is determined by types. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while minimum and maximum pixel values are requested, values is treated as a byte offset into the buffer object's data store. No pixel transfer operations are performed on the return values, but pixel storage modes that are applicable to one-dimensional images are performed. Color components that are requested in the specified format, but that are not included in the internal format of the minmax table, are returned as zero. The assignment of internal color components to the components requested by format are as follows: Internal Component Resulting Component Red Red Green Green Blue Blue Alpha Alpha Luminance Red If reset is GL_TRUE, the minmax table entries corresponding to the return values are reset to their initial values. Minimum and maximum values that are not returned are not modified, even if reset is GL_TRUE. Notes glGetMinmax is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_MINMAX. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if types is not one of the allowable values. GL_INVALID_OPERATION is generated if types is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if types is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and values is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetMinmax is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetMinmaxParameter glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glMinmax, glResetMinmax, Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glConvolutionFilter2D.xml0000664000175000017500000005672711453131434025455 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glConvolutionFilter2D 3G glConvolutionFilter2D define a two-dimensional convolution filter C Specification void glConvolutionFilter2D GLenum target GLenum internalformat GLsizei width GLsizei height GLenum format GLenum type const GLvoid * data Parameters target Must be GL_CONVOLUTION_2D. internalformat The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. width The width of the pixel array referenced by data. height The height of the pixel array referenced by data. format The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. data Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. Description glConvolutionFilter2D builds a two-dimensional convolution filter kernel from an array of pixels. The pixel array specified by width, height, format, type, and data is extracted from memory and processed just as if glDrawPixels were called, but processing stops after the final expansion to RGBA is completed. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a convolution filter is specified, data is treated as a byte offset into the buffer object's data store. The R, G, B, and A components of each pixel are next scaled by the four 2D GL_CONVOLUTION_FILTER_SCALE parameters and biased by the four 2D GL_CONVOLUTION_FILTER_BIAS parameters. (The scale and bias parameters are set by glConvolutionParameter using the GL_CONVOLUTION_2D target and the names GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS. The parameters themselves are vectors of four values that are applied to red, green, blue, and alpha, in that order.) The R, G, B, and A values are not clamped to [0,1] at any time during this process. Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A The red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in floating-point rather than integer format. They form a two-dimensional filter kernel image indexed with coordinates i and j such that i starts at zero and increases from left to right, and j starts at zero and increases from bottom to top. Kernel location i,j is derived from the Nth pixel, where N is i+j*width. Note that after a convolution is performed, the resulting color components are also scaled by their corresponding GL_POST_CONVOLUTION_c_SCALE parameters and biased by their corresponding GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values RED, GREEN, BLUE, and ALPHA). These parameters are set by glPixelTransfer. Notes glConvolutionFilter2D is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_2D. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_2D and name GL_MAX_CONVOLUTION_WIDTH. GL_INVALID_VALUE is generated if height is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_2D and name GL_MAX_CONVOLUTION_HEIGHT. GL_INVALID_OPERATION is generated if height is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if height is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glConvolutionFilter2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter, glGetConvolutionFilter See Also glConvolutionFilter1D, glSeparableFilter2D, glConvolutionParameter, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBindTexture.xml0000664000175000017500000002212711453131432024020 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBindTexture 3G glBindTexture bind a named texture to a texturing target C Specification void glBindTexture GLenum target GLuint texture Parameters target Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. texture Specifies the name of a texture. Description glBindTexture lets you create or use a named texture. Calling glBindTexture with target set to GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D or GL_TEXTURE_CUBE_MAP and texture set to the name of the new texture binds the texture name to the target. When a texture is bound to a target, the previous binding for that target is automatically broken. Texture names are unsigned integers. The value zero is reserved to represent the default texture for each texture target. Texture names and the corresponding texture contents are local to the shared display-list space (see glXCreateContext) of the current GL rendering context; two rendering contexts share texture names only if they also share display lists. You may use glGenTextures to generate a set of new texture names. When a texture is first bound, it assumes the specified target: A texture first bound to GL_TEXTURE_1D becomes one-dimensional texture, a texture first bound to GL_TEXTURE_2D becomes two-dimensional texture, a texture first bound to GL_TEXTURE_3D becomes three-dimensional texture, and a texture first bound to GL_TEXTURE_CUBE_MAP becomes a cube-mapped texture. The state of a one-dimensional texture immediately after it is first bound is equivalent to the state of the default GL_TEXTURE_1D at GL initialization, and similarly for two- and three-dimensional textures and cube-mapped textures. While a texture is bound, GL operations on the target to which it is bound affect the bound texture, and queries of the target to which it is bound return state from the bound texture. If texture mapping is active on the target to which a texture is bound, the bound texture is used. In effect, the texture targets become aliases for the textures currently bound to them, and the texture name zero refers to the default textures that were bound to them at initialization. A texture binding created with glBindTexture remains active until a different texture is bound to the same target, or until the bound texture is deleted with glDeleteTextures. Once created, a named texture may be re-bound to its same original target as often as needed. It is usually much faster to use glBindTexture to bind an existing named texture to one of the texture targets than it is to reload the texture image using glTexImage1D, glTexImage2D, or glTexImage3D. For additional control over performance, use glPrioritizeTextures. glBindTexture is included in display lists. Notes glBindTexture is available only if the GL version is 1.1 or greater. GL_TEXTURE_CUBE_MAP is available only if the GL version is 1.3 or greater. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_OPERATION is generated if texture was previously created with a target that doesn't match that of target. GL_INVALID_OPERATION is generated if glBindTexture is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_TEXTURE_BINDING_1D glGet with argument GL_TEXTURE_BINDING_2D glGet with argument GL_TEXTURE_BINDING_3D See Also glAreTexturesResident, glDeleteTextures, glGenTextures, glGet, glGetTexParameter, glIsTexture, glPrioritizeTextures, glTexImage1D, glTexImage2D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexSubImage2D.xml0000664000175000017500000003702111453131432026152 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexSubImage2D 3G glCompressedTexSubImage2D specify a two-dimensional texture subimage in a compressed format C Specification void glCompressedTexSubImage2D GLenum target GLint level GLint xoffset GLint yoffset GLsizei width GLsizei height GLenum format GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. format Specifies the format of the compressed image data stored at address data. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. To enable and disable texturing using cube-mapped texture, call glEnable and glDisable with argument GL_TEXTURE_CUBE_MAP. glCompressedTexSubImage2D redefines a contiguous subregion of an existing two-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , and the y indices yoffset and yoffset + height - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. format must be an extension-specified compressed-texture format. The format of the compressed texture image is selected by the GL implementation that compressed it (see glTexImage2D) and should be queried at the time the texture was compressed with glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexSubImage2D is available only if the GL version is 1.3 or greater. GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. Errors GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_COMPRESSED_SLUMINANCE, GL_COMPRESSED_SLUMINANCE_ALPHA, GL_COMPRESSED_SRGB, GL_COMPRESSED_SRGBA, or GL_COMPRESSED_SRGB_ALPHA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexSubImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage3D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBeginSurface.xml0000664000175000017500000001257711453131434024317 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBeginSurface 3G gluBeginSurface delimit a NURBS surface definition C Specification void gluBeginSurface GLUnurbs* nurb C Specification void gluEndSurface GLUnurbs* nurb Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). Description Use gluBeginSurface to mark the beginning of a NURBS surface definition. After calling gluBeginSurface, make one or more calls to gluNurbsSurface to define the attributes of the surface. Exactly one of these calls to gluNurbsSurface must have a surface type of GLU_MAP2_VERTEX_3 or GLU_MAP2_VERTEX_4. To mark the end of the NURBS surface definition, call gluEndSurface. Trimming of NURBS surfaces is supported with gluBeginTrim, gluPwlCurve, gluNurbsCurve, and gluEndTrim. See the gluBeginTrim reference page for details. GL evaluators are used to render the NURBS surface as a set of polygons. Evaluator state is preserved during rendering with glPushAttrib(GLU_EVAL_BIT) and glPopAttrib. See the glPushAttrib reference page for details on exactly what state these calls preserve. Example The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also described as NURBS surfaces: gluBeginSurface(nobj); gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2); gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL); gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj); See Also gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, gluNurbsSurface, gluPwlCurve, glPushAttrib Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilOp.xml0000664000175000017500000003354611453131434023474 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilOp 3G glStencilOp set front and back stencil test actions C Specification void glStencilOp GLenum sfail GLenum dpfail GLenum dppass Parameters sfail Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. dpfail Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. dppass Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. Description Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST; to control it, call glStencilFunc or glStencilFuncSeparate. There can be two separate sets of sfail, dpfail, and dppass parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilOp sets both front and back stencil state to the same values. Use glStencilOpSeparate to set front and back stencil state to different values. glStencilOp takes three arguments that indicate what happens to the stored stencil value while stenciling is enabled. If the stencil test fails, no change is made to the pixel's color or depth buffers, and sfail specifies what happens to the stencil buffer contents. The following eight actions are possible. GL_KEEP Keeps the current value. GL_ZERO Sets the stencil buffer value to 0. GL_REPLACE Sets the stencil buffer value to ref, as specified by glStencilFunc. GL_INCR Increments the current stencil buffer value. Clamps to the maximum representable unsigned value. GL_INCR_WRAP Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value. GL_DECR Decrements the current stencil buffer value. Clamps to 0. GL_DECR_WRAP Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero. GL_INVERT Bitwise inverts the current stencil buffer value. Stencil buffer values are treated as unsigned integers. When incremented and decremented, values are clamped to 0 and 2 n - 1 , where n is the value returned by querying GL_STENCIL_BITS. The other two arguments to glStencilOp specify stencil buffer actions that depend on whether subsequent depth buffer tests succeed (dppass) or fail (dpfail) (see glDepthFunc). The actions are specified using the same eight symbolic constants as sfail. Note that dpfail is ignored when there is no depth buffer, or when the depth buffer is not enabled. In these cases, sfail and dppass specify stencil action when the stencil test fails and passes, respectively. Notes GL_DECR_WRAP and GL_INCR_WRAP are available only if the GL version is 1.4 or greater. Initially the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil tests always pass, regardless of any call to glStencilOp. glStencilOp is the same as calling glStencilOpSeparate with face set to GL_FRONT_AND_BACK. Errors GL_INVALID_ENUM is generated if sfail, dpfail, or dppass is any value other than the eight defined constant values. GL_INVALID_OPERATION is generated if glStencilOp is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_PASS, GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_BACK_FAIL, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_PASS_DEPTH_FAIL, or GL_STENCIL_BITS glIsEnabled with argument GL_STENCIL_TEST See Also glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glLogicOp, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOpSeparate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glRenderMode.xml0000664000175000017500000002140411453131434023606 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glRenderMode 3G glRenderMode set rasterization mode C Specification GLint glRenderMode GLenum mode Parameters mode Specifies the rasterization mode. Three values are accepted: GL_RENDER, GL_SELECT, and GL_FEEDBACK. The initial value is GL_RENDER. Description glRenderMode sets the rasterization mode. It takes one argument, mode, which can assume one of three predefined values: GL_RENDER Render mode. Primitives are rasterized, producing pixel fragments, which are written into the frame buffer. This is the normal mode and also the default mode. GL_SELECT Selection mode. No pixel fragments are produced, and no change to the frame buffer contents is made. Instead, a record of the names of primitives that would have been drawn if the render mode had been GL_RENDER is returned in a select buffer, which must be created (see glSelectBuffer) before selection mode is entered. GL_FEEDBACK Feedback mode. No pixel fragments are produced, and no change to the frame buffer contents is made. Instead, the coordinates and attributes of vertices that would have been drawn if the render mode had been GL_RENDER is returned in a feedback buffer, which must be created (see glFeedbackBuffer) before feedback mode is entered. The return value of glRenderMode is determined by the render mode at the time glRenderMode is called, rather than by mode. The values returned for the three render modes are as follows: GL_RENDER 0. GL_SELECT The number of hit records transferred to the select buffer. GL_FEEDBACK The number of values (not vertices) transferred to the feedback buffer. See the glSelectBuffer and glFeedbackBuffer reference pages for more details concerning selection and feedback operation. Notes If an error is generated, glRenderMode returns 0 regardless of the current render mode. Errors GL_INVALID_ENUM is generated if mode is not one of the three accepted values. GL_INVALID_OPERATION is generated if glSelectBuffer is called while the render mode is GL_SELECT, or if glRenderMode is called with argument GL_SELECT before glSelectBuffer is called at least once. GL_INVALID_OPERATION is generated if glFeedbackBuffer is called while the render mode is GL_FEEDBACK, or if glRenderMode is called with argument GL_FEEDBACK before glFeedbackBuffer is called at least once. GL_INVALID_OPERATION is generated if glRenderMode is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_RENDER_MODE See Also glFeedbackBuffer, glInitNames, glLoadName, glPassThrough, glPushName, glSelectBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBlendFuncSeparate.xml0000664000175000017500000021370311453131434025114 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBlendFuncSeparate 3G glBlendFuncSeparate specify pixel arithmetic for RGB and alpha components separately C Specification void glBlendFuncSeparate GLenum srcRGB GLenum dstRGB GLenum srcAlpha GLenum dstAlpha Parameters srcRGB Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. dstRGB Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. srcAlpha Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. dstAlpha Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. Description In RGBA mode, pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use glEnable and glDisable with argument GL_BLEND to enable and disable blending. glBlendFuncSeparate defines the operation of blending when it is enabled. srcRGB specifies which method is used to scale the source RGB-color components. dstRGB specifies which method is used to scale the destination RGB-color components. Likewise, srcAlpha specifies which method is used to scale the source alpha color component, and dstAlpha specifies which method is used to scale the destination alpha component. The possible methods are described in the following table. Each method defines four scale factors, one each for red, green, blue, and alpha. In the table and in subsequent equations, source and destination color components are referred to as R s G s B s A s and R d G d B d A d . The color specified by glBlendColor is referred to as R c G c B c A c . They are understood to have integer values between 0 and k R k G k B k A , where k c = 2 m c - 1 and m R m G m B m A is the number of red, green, blue, and alpha bitplanes. Source and destination scale factors are referred to as s R s G s B s A and d R d G d B d A . All scale factors have range 0 1 . Parameter RGB Factor Alpha Factor GL_ZERO 0 0 0 0 GL_ONE 1 1 1 1 GL_SRC_COLOR R s k R G s k G B s k B A s k A GL_ONE_MINUS_SRC_COLOR 1 1 1 1 - R s k R G s k G B s k B 1 - A s k A GL_DST_COLOR R d k R G d k G B d k B A d k A GL_ONE_MINUS_DST_COLOR 1 1 1 - R d k R G d k G B d k B 1 - A d k A GL_SRC_ALPHA A s k A A s k A A s k A A s k A GL_ONE_MINUS_SRC_ALPHA 1 1 1 - A s k A A s k A A s k A 1 - A s k A GL_DST_ALPHA A d k A A d k A A d k A A d k A GL_ONE_MINUS_DST_ALPHA 1 1 1 - A d k A A d k A A d k A 1 - A d k A GL_CONSTANT_COLOR R c G c B c A c GL_ONE_MINUS_CONSTANT_COLOR 1 1 1 - R c G c B c 1 - A c GL_CONSTANT_ALPHA A c A c A c A c GL_ONE_MINUS_CONSTANT_ALPHA 1 1 1 - A c A c A c 1 - A c GL_SRC_ALPHA_SATURATE i i i 1 In the table, i = min A s 1 - A d To determine the blended RGBA values of a pixel when drawing in RGBA mode, the system uses the following equations: R d = min k R R s s R + R d d R G d = min k G G s s G + G d d G B d = min k B B s s B + B d d B A d = min k A A s s A + A d d A Despite the apparent precision of the above equations, blending arithmetic is not exactly specified, because blending operates with imprecise integer color values. However, a blend factor that should be equal to 1 is guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its multiplicand to 0. For example, when srcRGB is GL_SRC_ALPHA, dstRGB is GL_ONE_MINUS_SRC_ALPHA, and A s is equal to k A , the equations reduce to simple replacement: R d = R s G d = G s B d = B s A d = A s Notes glBlendFuncSeparate is available only if the GL version is 1.4 or greater. Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 ( K A ), representing complete opacity, to 0.0 (0), representing complete transparency. When more than one color buffer is enabled for drawing, the GL performs blending separately for each enabled buffer, using the contents of that buffer for destination color. (See glDrawBuffer.) Blending affects only RGBA rendering. It is ignored by color index renderers. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only if the GL version is 1.4 or greater or if the ARB_imaging is supported by your implementation. GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for srcRGB if the GL version is 1.4 or greater. GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for dstRGB if the GL version is 1.4 or greater. Errors GL_INVALID_ENUM is generated if either srcRGB or dstRGB is not an accepted value. GL_INVALID_OPERATION is generated if glBlendFuncSeparate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_BLEND_SRC_RGB glGet with argument GL_BLEND_SRC_ALPHA glGet with argument GL_BLEND_DST_RGB glGet with argument GL_BLEND_DST_ALPHA glIsEnabled with argument GL_BLEND See Also glAlphaFunc, glBlendColor, glBlendFunc, glBlendEquation, glClear, glDrawBuffer, glEnable, glLogicOp, glStencilFunc Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilFunc.xml0000664000175000017500000003541611453131434024007 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilFunc 3G glStencilFunc set front and back function and reference value for stencil testing C Specification void glStencilFunc GLenum func GLint ref GLuint mask Parameters func Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. ref Specifies the reference value for the stencil test. ref is clamped to the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. The initial value is 0. mask Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. Description Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. Stencil planes are first drawn into using GL drawing primitives, then geometry and images are rendered using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the reference value and the value in the stencil buffer. To enable and disable the test, call glEnable and glDisable with argument GL_STENCIL_TEST. To specify actions based on the outcome of the stencil test, call glStencilOp or glStencilOpSeparate. There can be two separate sets of func, ref, and mask parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilFunc sets both front and back stencil state to the same values. Use glStencilFuncSeparate to set front and back stencil state to different values. func is a symbolic constant that determines the stencil comparison function. It accepts one of eight values, shown in the following list. ref is an integer reference value that is used in the stencil comparison. It is clamped to the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. mask is bitwise ANDed with both the reference value and the stored stencil value, with the ANDed values participating in the comparison. If stencil represents the value stored in the corresponding stencil buffer location, the following list shows the effect of each comparison function that can be specified by func. Only if the comparison succeeds is the pixel passed through to the next stage in the rasterization process (see glStencilOp). All tests treat stencil values as unsigned integers in the range 0 2 n - 1 , where n is the number of bitplanes in the stencil buffer. The following values are accepted by func: GL_NEVER Always fails. GL_LESS Passes if ( ref & mask ) < ( stencil & mask ). GL_LEQUAL Passes if ( ref & mask ) <= ( stencil & mask ). GL_GREATER Passes if ( ref & mask ) > ( stencil & mask ). GL_GEQUAL Passes if ( ref & mask ) >= ( stencil & mask ). GL_EQUAL Passes if ( ref & mask ) = ( stencil & mask ). GL_NOTEQUAL Passes if ( ref & mask ) != ( stencil & mask ). GL_ALWAYS Always passes. Notes Initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes. glStencilFunc is the same as calling glStencilFuncSeparate with face set to GL_FRONT_AND_BACK. Errors GL_INVALID_ENUM is generated if func is not one of the eight accepted values. GL_INVALID_OPERATION is generated if glStencilFunc is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, GL_STENCIL_REF, GL_STENCIL_BACK_FUNC, GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_REF, or GL_STENCIL_BITS glIsEnabled with argument GL_STENCIL_TEST See Also glAlphaFunc, glBlendFunc, glDepthFunc, glEnable, glLogicOp, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyTexSubImage2D.xml0000664000175000017500000004436611453131434024774 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyTexSubImage2D 3G glCopyTexSubImage2D copy a two-dimensional texture subimage C Specification void glCopyTexSubImage2D GLenum target GLint level GLint xoffset GLint yoffset GLint x GLint y GLsizei width GLsizei height Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. x y Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. Description glCopyTexSubImage2D replaces a rectangular portion of a two-dimensional texture image or cube-map texture image with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glTexSubImage2D). The screen-aligned pixel rectangle with lower left corner at x y and with width width and height height replaces the portion of the texture array with x indices xoffset through xoffset + width - 1 , inclusive, and y indices yoffset through yoffset + height - 1 , inclusive, at the mipmap level specified by level. The pixels in the rectangle are processed exactly as if glCopyPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. The destination rectangle in the texture array may not include any texels outside the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. If any of the pixels within the specified rectangle of the current GL_READ_BUFFER are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the internalformat, width, height, or border parameters of the specified texture array or to texel values outside the specified subregion. Notes glCopyTexSubImage2D is available only if the GL version is 1.1 or greater. GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. When the ARB_imaging extension is supported, the RGBA components read from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage2D or glCopyTexImage2D operation. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level > log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , xoffset + width > w - b , yoffset < - b , or yoffset + height > h - b , where w is the GL_TEXTURE_WIDTH, h is the GL_TEXTURE_HEIGHT, and b is the GL_TEXTURE_BORDER of the texture image being modified. Note that w and h include twice the border width. GL_INVALID_OPERATION is generated if glCopyTexSubImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_2D See Also glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage3D, glPixelStore, glPixelTransfer, glReadBuffer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLightModel.xml0000664000175000017500000003416111453131434023616 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLightModel 3G glLightModel set the lighting model parameters C Specification void glLightModelf GLenum pname GLfloat param void glLightModeli GLenum pname GLint param Parameters pname Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. param Specifies the value that param will be set to. C Specification void glLightModelfv GLenum pname const GLfloat * params void glLightModeliv GLenum pname const GLint * params Parameters pname Specifies a lighting model parameter. GL_LIGHT_MODEL_AMBIENT, GL_LIGHT_MODEL_COLOR_CONTROL, GL_LIGHT_MODEL_LOCAL_VIEWER, and GL_LIGHT_MODEL_TWO_SIDE are accepted. params Specifies a pointer to the value or values that params will be set to. Description glLightModel sets the lighting model parameter. pname names a parameter and params gives the new value. There are three lighting model parameters: GL_LIGHT_MODEL_AMBIENT params contains four integer or floating-point values that specify the ambient RGBA intensity of the entire scene. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial ambient scene intensity is (0.2, 0.2, 0.2, 1.0). GL_LIGHT_MODEL_COLOR_CONTROL params must be either GL_SEPARATE_SPECULAR_COLOR or GL_SINGLE_COLOR. GL_SINGLE_COLOR specifies that a single color is generated from the lighting computation for a vertex. GL_SEPARATE_SPECULAR_COLOR specifies that the specular color computation of lighting be stored separately from the remainder of the lighting computation. The specular color is summed into the generated fragment's color after the application of texture mapping (if enabled). The initial value is GL_SINGLE_COLOR. GL_LIGHT_MODEL_LOCAL_VIEWER params is a single integer or floating-point value that specifies how specular reflection angles are computed. If params is 0 (or 0.0), specular reflection angles take the view direction to be parallel to and in the direction of the -z axis, regardless of the location of the vertex in eye coordinates. Otherwise, specular reflections are computed from the origin of the eye coordinate system. The initial value is 0. GL_LIGHT_MODEL_TWO_SIDE params is a single integer or floating-point value that specifies whether one- or two-sided lighting calculations are done for polygons. It has no effect on the lighting calculations for points, lines, or bitmaps. If params is 0 (or 0.0), one-sided lighting is specified, and only the front material parameters are used in the lighting equation. Otherwise, two-sided lighting is specified. In this case, vertices of back-facing polygons are lighted using the back material parameters and have their normals reversed before the lighting equation is evaluated. Vertices of front-facing polygons are always lighted using the front material parameters, with no change to their normals. The initial value is 0. In RGBA mode, the lighted color of a vertex is the sum of the material emission intensity, the product of the material ambient reflectance and the lighting model full-scene ambient intensity, and the contribution of each enabled light source. Each light source contributes the sum of three terms: ambient, diffuse, and specular. The ambient light source contribution is the product of the material ambient reflectance and the light's ambient intensity. The diffuse light source contribution is the product of the material diffuse reflectance, the light's diffuse intensity, and the dot product of the vertex's normal with the normalized vector from the vertex to the light source. The specular light source contribution is the product of the material specular reflectance, the light's specular intensity, and the dot product of the normalized vertex-to-eye and vertex-to-light vectors, raised to the power of the shininess of the material. All three light source contributions are attenuated equally based on the distance from the vertex to the light source and on light source direction, spread exponent, and spread cutoff angle. All dot products are replaced with 0 if they evaluate to a negative value. The alpha component of the resulting lighted color is set to the alpha value of the material diffuse reflectance. In color index mode, the value of the lighted index of a vertex ranges from the ambient to the specular values passed to glMaterial using GL_COLOR_INDEXES. Diffuse and specular coefficients, computed with a (.30, .59, .11) weighting of the lights' colors, the shininess of the material, and the same reflection and attenuation equations as in the RGBA case, determine how much above ambient the resulting index is. Notes GL_LIGHT_MODEL_COLOR_CONTROL is available only if the GL version is 1.2 or greater. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_ENUM is generated if pname is GL_LIGHT_MODEL_COLOR_CONTROL and params is not one of GL_SINGLE_COLOR or GL_SEPARATE_SPECULAR_COLOR. GL_INVALID_OPERATION is generated if glLightModel is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_LIGHT_MODEL_AMBIENT glGet with argument GL_LIGHT_MODEL_COLOR_CONTROL glGet with argument GL_LIGHT_MODEL_LOCAL_VIEWER glGet with argument GL_LIGHT_MODEL_TWO_SIDE glIsEnabled with argument GL_LIGHTING See Also glLight, glMaterial Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPixelStore.xml0000664000175000017500000025136311453131434023671 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPixelStore 3G glPixelStore set pixel storage modes C Specification void glPixelStoref GLenum pname GLfloat param void glPixelStorei GLenum pname GLint param Parameters pname Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT. param Specifies the value that pname is set to. Description glPixelStore sets pixel storage modes that affect the operation of subsequent glDrawPixels and glReadPixels as well as the unpacking of polygon stipple patterns (see glPolygonStipple), bitmaps (see glBitmap), texture patterns (see glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D). Additionally, if the ARB_imaging extension is supported, pixel storage modes affect convolution filters (see glConvolutionFilter1D, glConvolutionFilter2D, and glSeparableFilter2D, color table (see glColorTable, and glColorSubTable, and unpacking histogram (See glHistogram), and minmax (See glMinmax) data. pname is a symbolic constant indicating the parameter to be set, and param is the new value. Six of the twelve storage parameters affect how pixel data is returned to client memory. They are as follows: GL_PACK_SWAP_BYTES If true, byte ordering for multibyte color components, depth components, color indices, or stencil indices is reversed. That is, if a four-byte component consists of bytes b 0 , b 1 , b 2 , b 3 , it is stored in memory as b 3 , b 2 , b 1 , b 0 if GL_PACK_SWAP_BYTES is true. GL_PACK_SWAP_BYTES has no effect on the memory order of components within a pixel, only on the order of bytes within components or indices. For example, the three components of a GL_RGB format pixel are always stored with red first, green second, and blue third, regardless of the value of GL_PACK_SWAP_BYTES. GL_PACK_LSB_FIRST If true, bits are ordered within a byte from least significant to most significant; otherwise, the first bit in each byte is the most significant one. This parameter is significant for bitmap data only. GL_PACK_ROW_LENGTH If greater than 0, GL_PACK_ROW_LENGTH defines the number of pixels in a row. If the first pixel of a row is placed at location p in memory, then the location of the first pixel of the next row is obtained by skipping k = n l a s s n l a s >= a s < a components or indices, where n is the number of components or indices in a pixel, l is the number of pixels in a row (GL_PACK_ROW_LENGTH if it is greater than 0, the width argument to the pixel routine otherwise), a is the value of GL_PACK_ALIGNMENT, and s is the size, in bytes, of a single component (if a < s , then it is as if a = s ). In the case of 1-bit values, the location of the next row is obtained by skipping k = 8 a n l 8 a components or indices. The word component in this description refers to the nonindex values red, green, blue, alpha, and depth. Storage format GL_RGB, for example, has three components per pixel: first red, then green, and finally blue. GL_PACK_IMAGE_HEIGHT If greater than 0, GL_PACK_IMAGE_HEIGHT defines the number of pixels in an image three-dimensional texture volume, where ``image'' is defined by all pixels sharing the same third dimension index. If the first pixel of a row is placed at location p in memory, then the location of the first pixel of the next row is obtained by skipping k = n l h a s s n l h a s >= a s < a components or indices, where n is the number of components or indices in a pixel, l is the number of pixels in a row (GL_PACK_ROW_LENGTH if it is greater than 0, the width argument to glTexImage3D otherwise), h is the number of rows in a pixel image (GL_PACK_IMAGE_HEIGHT if it is greater than 0, the height argument to the glTexImage3D routine otherwise), a is the value of GL_PACK_ALIGNMENT, and s is the size, in bytes, of a single component (if a < s , then it is as if a = s ). The word component in this description refers to the nonindex values red, green, blue, alpha, and depth. Storage format GL_RGB, for example, has three components per pixel: first red, then green, and finally blue. GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, and GL_PACK_SKIP_IMAGES These values are provided as a convenience to the programmer; they provide no functionality that cannot be duplicated simply by incrementing the pointer passed to glReadPixels. Setting GL_PACK_SKIP_PIXELS to i is equivalent to incrementing the pointer by i n components or indices, where n is the number of components or indices in each pixel. Setting GL_PACK_SKIP_ROWS to j is equivalent to incrementing the pointer by j m components or indices, where m is the number of components or indices per row, as just computed in the GL_PACK_ROW_LENGTH section. Setting GL_PACK_SKIP_IMAGES to k is equivalent to incrementing the pointer by k p , where p is the number of components or indices per image, as computed in the GL_PACK_IMAGE_HEIGHT section. GL_PACK_ALIGNMENT Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries). The other six of the twelve storage parameters affect how pixel data is read from client memory. These values are significant for glDrawPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glBitmap, and glPolygonStipple. Additionally, if the ARB_imaging extension is supported, glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, and glSeparableFilter2D. They are as follows: GL_UNPACK_SWAP_BYTES If true, byte ordering for multibyte color components, depth components, color indices, or stencil indices is reversed. That is, if a four-byte component consists of bytes b 0 , b 1 , b 2 , b 3 , it is taken from memory as b 3 , b 2 , b 1 , b 0 if GL_UNPACK_SWAP_BYTES is true. GL_UNPACK_SWAP_BYTES has no effect on the memory order of components within a pixel, only on the order of bytes within components or indices. For example, the three components of a GL_RGB format pixel are always stored with red first, green second, and blue third, regardless of the value of GL_UNPACK_SWAP_BYTES. GL_UNPACK_LSB_FIRST If true, bits are ordered within a byte from least significant to most significant; otherwise, the first bit in each byte is the most significant one. This is relevant only for bitmap data. GL_UNPACK_ROW_LENGTH If greater than 0, GL_UNPACK_ROW_LENGTH defines the number of pixels in a row. If the first pixel of a row is placed at location p in memory, then the location of the first pixel of the next row is obtained by skipping k = n l a s s n l a s >= a s < a components or indices, where n is the number of components or indices in a pixel, l is the number of pixels in a row (GL_UNPACK_ROW_LENGTH if it is greater than 0, the width argument to the pixel routine otherwise), a is the value of GL_UNPACK_ALIGNMENT, and s is the size, in bytes, of a single component (if a < s , then it is as if a = s ). In the case of 1-bit values, the location of the next row is obtained by skipping k = 8 a n l 8 a components or indices. The word component in this description refers to the nonindex values red, green, blue, alpha, and depth. Storage format GL_RGB, for example, has three components per pixel: first red, then green, and finally blue. GL_UNPACK_IMAGE_HEIGHT If greater than 0, GL_UNPACK_IMAGE_HEIGHT defines the number of pixels in an image of a three-dimensional texture volume. Where ``image'' is defined by all pixel sharing the same third dimension index. If the first pixel of a row is placed at location p in memory, then the location of the first pixel of the next row is obtained by skipping k = n l h a s s n l h a s >= a s < a components or indices, where n is the number of components or indices in a pixel, l is the number of pixels in a row (GL_UNPACK_ROW_LENGTH if it is greater than 0, the width argument to glTexImage3D otherwise), h is the number of rows in an image (GL_UNPACK_IMAGE_HEIGHT if it is greater than 0, the height argument to glTexImage3D otherwise), a is the value of GL_UNPACK_ALIGNMENT, and s is the size, in bytes, of a single component (if a < s , then it is as if a = s ). The word component in this description refers to the nonindex values red, green, blue, alpha, and depth. Storage format GL_RGB, for example, has three components per pixel: first red, then green, and finally blue. GL_UNPACK_SKIP_PIXELS and GL_UNPACK_SKIP_ROWS These values are provided as a convenience to the programmer; they provide no functionality that cannot be duplicated by incrementing the pointer passed to glDrawPixels, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glBitmap, or glPolygonStipple. Setting GL_UNPACK_SKIP_PIXELS to i is equivalent to incrementing the pointer by i n components or indices, where n is the number of components or indices in each pixel. Setting GL_UNPACK_SKIP_ROWS to j is equivalent to incrementing the pointer by j k components or indices, where k is the number of components or indices per row, as just computed in the GL_UNPACK_ROW_LENGTH section. GL_UNPACK_ALIGNMENT Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries). The following table gives the type, initial value, and range of valid values for each storage parameter that can be set with glPixelStore. pname Type Initial Value Valid Range GL_PACK_SWAP_BYTES boolean false true or false GL_PACK_LSB_FIRST boolean false true or false GL_PACK_ROW_LENGTH integer 0 0 GL_PACK_IMAGE_HEIGHT integer 0 0 GL_PACK_SKIP_ROWS integer 0 0 GL_PACK_SKIP_PIXELS integer 0 0 GL_PACK_SKIP_IMAGES integer 0 0 GL_PACK_ALIGNMENT integer 4 1, 2, 4, or 8 GL_UNPACK_SWAP_BYTES boolean false true or false GL_UNPACK_LSB_FIRST boolean false true or false GL_UNPACK_ROW_LENGTH integer 0 0 GL_UNPACK_IMAGE_HEIGHT integer 0 0 GL_UNPACK_SKIP_ROWS integer 0 0 GL_UNPACK_SKIP_PIXELS integer 0 0 GL_UNPACK_SKIP_IMAGES integer 0 0 GL_UNPACK_ALIGNMENT integer 4 1, 2, 4, or 8 glPixelStoref can be used to set any pixel store parameter. If the parameter type is boolean, then if param is 0, the parameter is false; otherwise it is set to true. If pname is a integer type parameter, param is rounded to the nearest integer. Likewise, glPixelStorei can also be used to set any of the pixel store parameters. Boolean parameters are set to false if param is 0 and true otherwise. Notes The pixel storage modes in effect when glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glBitmap, or glPolygonStipple is placed in a display list control the interpretation of memory data. Likewise, if the ARB_imaging extension is supported, the pixel storage modes in effect when glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, of glSeparableFilter2D is placed in a display list control the interpretation of memory data. The pixel storage modes in effect when a display list is executed are not significant. Pixel storage modes are client state and must be pushed and restored using glPushClientAttrib and glPopClientAttrib. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_VALUE is generated if a negative row length, pixel skip, or row skip value is specified, or if alignment is specified as other than 1, 2, 4, or 8. GL_INVALID_OPERATION is generated if glPixelStore is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_PACK_SWAP_BYTES glGet with argument GL_PACK_LSB_FIRST glGet with argument GL_PACK_ROW_LENGTH glGet with argument GL_PACK_IMAGE_HEIGHT glGet with argument GL_PACK_SKIP_ROWS glGet with argument GL_PACK_SKIP_PIXELS glGet with argument GL_PACK_SKIP_IMAGES glGet with argument GL_PACK_ALIGNMENT glGet with argument GL_UNPACK_SWAP_BYTES glGet with argument GL_UNPACK_LSB_FIRST glGet with argument GL_UNPACK_ROW_LENGTH glGet with argument GL_UNPACK_IMAGE_HEIGHT glGet with argument GL_UNPACK_SKIP_ROWS glGet with argument GL_UNPACK_SKIP_PIXELS glGet with argument GL_UNPACK_SKIP_IMAGES glGet with argument GL_UNPACK_ALIGNMENT See Also glBitmap, glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glSeparableFilter2D, glDrawPixels, glHistogram, glMinmax, glPixelMap, glPixelTransfer, glPixelZoom, glPolygonStipple, glPushClientAttrib, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFrustum.xml0000664000175000017500000005072411453131434023236 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFrustum 3G glFrustum multiply the current matrix by a perspective matrix C Specification void glFrustum GLdouble left GLdouble right GLdouble bottom GLdouble top GLdouble nearVal GLdouble farVal Parameters left right Specify the coordinates for the left and right vertical clipping planes. bottom top Specify the coordinates for the bottom and top horizontal clipping planes. nearVal farVal Specify the distances to the near and far depth clipping planes. Both distances must be positive. Description glFrustum describes a perspective matrix that produces a perspective projection. The current matrix (see glMatrixMode) is multiplied by this matrix and the result replaces the current matrix, as if glMultMatrix were called with the following matrix as its argument: 2 nearVal right - left 0 A 0 0 2 nearVal top - bottom B 0 0 0 C D 0 0 -1 0 A = right + left right - left B = top + bottom top - bottom C = - farVal + nearVal farVal - nearVal D = - 2 farVal nearVal farVal - nearVal Typically, the matrix mode is GL_PROJECTION, and left bottom - nearVal and right top - nearVal specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, assuming that the eye is located at (0, 0, 0). - farVal specifies the location of the far clipping plane. Both nearVal and farVal must be positive. Use glPushMatrix and glPopMatrix to save and restore the current matrix stack. Notes Depth buffer precision is affected by the values specified for nearVal and farVal. The greater the ratio of farVal to nearVal is, the less effective the depth buffer will be at distinguishing between surfaces that are near each other. If r = farVal nearVal roughly log 2 r bits of depth buffer precision are lost. Because r approaches infinity as nearVal approaches 0, nearVal must never be set to 0. Errors GL_INVALID_VALUE is generated if nearVal or farVal is not positive, or if left = right, or bottom = top, or near = far. GL_INVALID_OPERATION is generated if glFrustum is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX glGet with argument GL_COLOR_MATRIX See Also glOrtho, glMatrixMode, glMultMatrix, glPushMatrix, glViewport Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetHistogram.xml0000664000175000017500000003121711453131434024162 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetHistogram 3G glGetHistogram get histogram table C Specification void glGetHistogram GLenum target GLboolean reset GLenum format GLenum type GLvoid * values Parameters target Must be GL_HISTOGRAM. reset If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. format The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. type The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. values A pointer to storage for the returned histogram table. Description glGetHistogram returns the current histogram table as a one-dimensional image with the same width as the histogram. No pixel transfer operations are performed on this image, but pixel storage modes that are applicable to 1D images are honored. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a histogram table is requested, values is treated as a byte offset into the buffer object's data store. Color components that are requested in the specified format, but which are not included in the internal format of the histogram, are returned as zero. The assignments of internal color components to the components requested by format are: Internal Component Resulting Component Red Red Green Green Blue Blue Alpha Alpha Luminance Red Notes glGetHistogram is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_HISTOGRAM. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and values is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetHistogram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetHistogramParameter glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glHistogram, glResetHistogram, Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDepthRange.xml0000664000175000017500000001276511453131434023615 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDepthRange 3G glDepthRange specify mapping of depth values from normalized device coordinates to window coordinates C Specification void glDepthRange GLclampd nearVal GLclampd farVal Parameters nearVal Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0. farVal Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1. Description After clipping and division by w, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. glDepthRange specifies a linear mapping of the normalized depth coordinates in this range to window depth coordinates. Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1 (like color components). Thus, the values accepted by glDepthRange are both clamped to this range before they are accepted. The setting of (0,1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized. Notes It is not necessary that nearVal be less than farVal. Reverse mappings such as nearVal = 1 , and farVal = 0 are acceptable. Errors GL_INVALID_OPERATION is generated if glDepthRange is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_DEPTH_RANGE See Also glDepthFunc, glPolygonOffset, glViewport Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/ToInlineDocs.xslt0000664000175000017500000000236711453131432023770 0ustar laneylaney /// /// /// /// /// /// /// /// opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryServerString.xml0000664000175000017500000001100011453131434025364 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryServerString 3G glXQueryServerString return string describing the server C Specification const char * glXQueryServerString Display * dpy int screen int name Parameters dpy Specifies the connection to the X server. screen Specifies the screen number. name Specifies which string is returned: one of GLX_VENDOR, GLX_VERSION, or GLX_EXTENSIONS. Description glXQueryServerString returns a pointer to a static, null-terminated string describing some aspect of the server's GLX extension. The possible values for name and the format of the strings is the same as for glXGetClientString. If name is not set to a recognized value, NULL is returned. Notes glXQueryServerString is available only if the GLX version is 1.1 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, the GL version must be 1.1. If the GLX version is 1.3, the GL version must be 1.2. glXQueryServerString only returns information about GLX extensions supported by the server. Call glGetString to get a list of GL extensions. Call glXGetClientString to get a list of GLX extensions supported by the client. See Also glXQueryVersion, glXGetClientString, glXQueryExtensionsString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGet.xml0000664000175000017500000073071211453131432022310 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGet 3G glGet return the value or values of a selected parameter C Specification void glGetBooleanv GLenum pname GLboolean * params C Specification void glGetDoublev GLenum pname GLdouble * params C Specification void glGetFloatv GLenum pname GLfloat * params C Specification void glGetIntegerv GLenum pname GLint * params Parameters pname Specifies the parameter value to be returned. The symbolic constants in the list below are accepted. params Returns the value or values of the specified parameter. Description These four commands return values for simple state variables in GL. pname is a symbolic constant indicating the state variable to be returned, and params is a pointer to an array of the indicated type in which to place the returned data. Type conversion is performed if params has a different type than the state variable value being requested. If glGetBooleanv is called, a floating-point (or integer) value is converted to GL_FALSE if and only if it is 0.0 (or 0). Otherwise, it is converted to GL_TRUE. If glGetIntegerv is called, boolean values are returned as GL_TRUE or GL_FALSE, and most floating-point values are rounded to the nearest integer value. Floating-point colors and normals, however, are returned with a linear mapping that maps 1.0 to the most positive representable integer value and -1.0 to the most negative representable integer value. If glGetFloatv or glGetDoublev is called, boolean values are returned as GL_TRUE or GL_FALSE, and integer values are converted to floating-point values. The following symbolic constants are accepted by pname: GL_ACCUM_ALPHA_BITS params returns one value, the number of alpha bitplanes in the accumulation buffer. GL_ACCUM_BLUE_BITS params returns one value, the number of blue bitplanes in the accumulation buffer. GL_ACCUM_CLEAR_VALUE params returns four values: the red, green, blue, and alpha values used to clear the accumulation buffer. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 0, 0, 0). See glClearAccum. GL_ACCUM_GREEN_BITS params returns one value, the number of green bitplanes in the accumulation buffer. GL_ACCUM_RED_BITS params returns one value, the number of red bitplanes in the accumulation buffer. GL_ACTIVE_TEXTURE params returns a single value indicating the active multitexture unit. The initial value is GL_TEXTURE0. See glActiveTexture. GL_ALIASED_POINT_SIZE_RANGE params returns two values, the smallest and largest supported sizes for aliased points. GL_ALIASED_LINE_WIDTH_RANGE params returns two values, the smallest and largest supported widths for aliased lines. GL_ALPHA_BIAS params returns one value, the alpha bias factor used during pixel transfers. The initial value is 0. See glPixelTransfer. GL_ALPHA_BITS params returns one value, the number of alpha bitplanes in each color buffer. GL_ALPHA_SCALE params returns one value, the alpha scale factor used during pixel transfers. The initial value is 1. See glPixelTransfer. GL_ALPHA_TEST params returns a single boolean value indicating whether alpha testing of fragments is enabled. The initial value is GL_FALSE. See glAlphaFunc. GL_ALPHA_TEST_FUNC params returns one value, the symbolic name of the alpha test function. The initial value is GL_ALWAYS. See glAlphaFunc. GL_ALPHA_TEST_REF params returns one value, the reference value for the alpha test. The initial value is 0. See glAlphaFunc. An integer value, if requested, is linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. GL_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object currently bound to the target GL_ARRAY_BUFFER. If no buffer object is bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_ATTRIB_STACK_DEPTH params returns one value, the depth of the attribute stack. If the stack is empty, 0 is returned. The initial value is 0. See glPushAttrib. GL_AUTO_NORMAL params returns a single boolean value indicating whether 2D map evaluation automatically generates surface normals. The initial value is GL_FALSE. See glMap2. GL_AUX_BUFFERS params returns one value, the number of auxiliary color buffers available. GL_BLEND params returns a single boolean value indicating whether blending is enabled. The initial value is GL_FALSE. See glBlendFunc. GL_BLEND_COLOR params returns four values, the red, green, blue, and alpha values which are the components of the blend color. See glBlendColor. GL_BLEND_DST_ALPHA params returns one value, the symbolic constant identifying the alpha destination blend function. The initial value is GL_ZERO. See glBlendFunc and glBlendFuncSeparate. GL_BLEND_DST_RGB params returns one value, the symbolic constant identifying the RGB destination blend function. The initial value is GL_ZERO. See glBlendFunc and glBlendFuncSeparate. GL_BLEND_EQUATION_RGB params returns one value, a symbolic constant indicating whether the RGB blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. See glBlendEquationSeparate. GL_BLEND_EQUATION_ALPHA params returns one value, a symbolic constant indicating whether the Alpha blend equation is GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN or GL_MAX. See glBlendEquationSeparate. GL_BLEND_SRC_ALPHA params returns one value, the symbolic constant identifying the alpha source blend function. The initial value is GL_ONE. See glBlendFunc and glBlendFuncSeparate. GL_BLEND_SRC_RGB params returns one value, the symbolic constant identifying the RGB source blend function. The initial value is GL_ONE. See glBlendFunc and glBlendFuncSeparate. GL_BLUE_BIAS params returns one value, the blue bias factor used during pixel transfers. The initial value is 0. See glPixelTransfer. GL_BLUE_BITS params returns one value, the number of blue bitplanes in each color buffer. GL_BLUE_SCALE params returns one value, the blue scale factor used during pixel transfers. The initial value is 1. See glPixelTransfer. GL_CLIENT_ACTIVE_TEXTURE params returns a single integer value indicating the current client active multitexture unit. The initial value is GL_TEXTURE0. See glClientActiveTexture. GL_CLIENT_ATTRIB_STACK_DEPTH params returns one value indicating the depth of the attribute stack. The initial value is 0. See glPushClientAttrib. GL_CLIP_PLANEi params returns a single boolean value indicating whether the specified clipping plane is enabled. The initial value is GL_FALSE. See glClipPlane. GL_COLOR_ARRAY params returns a single boolean value indicating whether the color array is enabled. The initial value is GL_FALSE. See glColorPointer. GL_COLOR_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the color array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glColorPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_COLOR_ARRAY_SIZE params returns one value, the number of components per color in the color array. The initial value is 4. See glColorPointer. GL_COLOR_ARRAY_STRIDE params returns one value, the byte offset between consecutive colors in the color array. The initial value is 0. See glColorPointer. GL_COLOR_ARRAY_TYPE params returns one value, the data type of each component in the color array. The initial value is GL_FLOAT. See glColorPointer. GL_COLOR_CLEAR_VALUE params returns four values: the red, green, blue, and alpha values used to clear the color buffers. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 0, 0, 0). See glClearColor. GL_COLOR_LOGIC_OP params returns a single boolean value indicating whether a fragment's RGBA color values are merged into the framebuffer using a logical operation. The initial value is GL_FALSE. See glLogicOp. GL_COLOR_MATERIAL params returns a single boolean value indicating whether one or more material parameters are tracking the current color. The initial value is GL_FALSE. See glColorMaterial. GL_COLOR_MATERIAL_FACE params returns one value, a symbolic constant indicating which materials have a parameter that is tracking the current color. The initial value is GL_FRONT_AND_BACK. See glColorMaterial. GL_COLOR_MATERIAL_PARAMETER params returns one value, a symbolic constant indicating which material parameters are tracking the current color. The initial value is GL_AMBIENT_AND_DIFFUSE. See glColorMaterial. GL_COLOR_MATRIX params returns sixteen values: the color matrix on the top of the color matrix stack. Initially this matrix is the identity matrix. See glPushMatrix. GL_COLOR_MATRIX_STACK_DEPTH params returns one value, the maximum supported depth of the projection matrix stack. The value must be at least 2. See glPushMatrix. GL_COLOR_SUM params returns a single boolean value indicating whether primary and secondary color sum is enabled. See glSecondaryColor. GL_COLOR_TABLE params returns a single boolean value indicating whether the color table lookup is enabled. See glColorTable. GL_COLOR_WRITEMASK params returns four boolean values: the red, green, blue, and alpha write enables for the color buffers. The initial value is (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE). See glColorMask. GL_COMPRESSED_TEXTURE_FORMATS params returns a list of symbolic constants of length GL_NUM_COMPRESSED_TEXTURE_FORMATS indicating which compressed texture formats are available. See glCompressedTexImage2D. GL_CONVOLUTION_1D params returns a single boolean value indicating whether 1D convolution is enabled. The initial value is GL_FALSE. See glConvolutionFilter1D. GL_CONVOLUTION_2D params returns a single boolean value indicating whether 2D convolution is enabled. The initial value is GL_FALSE. See glConvolutionFilter2D. GL_CULL_FACE params returns a single boolean value indicating whether polygon culling is enabled. The initial value is GL_FALSE. See glCullFace. GL_CULL_FACE_MODE params returns one value, a symbolic constant indicating which polygon faces are to be culled. The initial value is GL_BACK. See glCullFace. GL_CURRENT_COLOR params returns four values: the red, green, blue, and alpha values of the current color. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (1, 1, 1, 1). See glColor. GL_CURRENT_FOG_COORD params returns one value, the current fog coordinate. The initial value is 0. See glFogCoord. GL_CURRENT_INDEX params returns one value, the current color index. The initial value is 1. See glIndex. GL_CURRENT_NORMAL params returns three values: the x, y, and z values of the current normal. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 0, 1). See glNormal. GL_CURRENT_PROGRAM params returns one value, the name of the program object that is currently active, or 0 if no program object is active. See glUseProgram. GL_CURRENT_RASTER_COLOR params returns four values: the red, green, blue, and alpha color values of the current raster position. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (1, 1, 1, 1). See glRasterPos. GL_CURRENT_RASTER_DISTANCE params returns one value, the distance from the eye to the current raster position. The initial value is 0. See glRasterPos. GL_CURRENT_RASTER_INDEX params returns one value, the color index of the current raster position. The initial value is 1. See glRasterPos. GL_CURRENT_RASTER_POSITION params returns four values: the x, y, z, and w components of the current raster position. x, y, and z are in window coordinates, and w is in clip coordinates. The initial value is (0, 0, 0, 1). See glRasterPos. GL_CURRENT_RASTER_POSITION_VALID params returns a single boolean value indicating whether the current raster position is valid. The initial value is GL_TRUE. See glRasterPos. GL_CURRENT_RASTER_SECONDARY_COLOR params returns four values: the red, green, blue, and alpha secondary color values of the current raster position. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (1, 1, 1, 1). See glRasterPos. GL_CURRENT_RASTER_TEXTURE_COORDS params returns four values: the s, t, r, and q texture coordinates of the current raster position. The initial value is (0, 0, 0, 1). See glRasterPos and glMultiTexCoord. GL_CURRENT_SECONDARY_COLOR params returns four values: the red, green, blue, and alpha values of the current secondary color. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 0, 0, 0). See glSecondaryColor. GL_CURRENT_TEXTURE_COORDS params returns four values: the s, t, r, and q current texture coordinates. The initial value is (0, 0, 0, 1). See glMultiTexCoord. GL_DEPTH_BIAS params returns one value, the depth bias factor used during pixel transfers. The initial value is 0. See glPixelTransfer. GL_DEPTH_BITS params returns one value, the number of bitplanes in the depth buffer. GL_DEPTH_CLEAR_VALUE params returns one value, the value that is used to clear the depth buffer. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is 1. See glClearDepth. GL_DEPTH_FUNC params returns one value, the symbolic constant that indicates the depth comparison function. The initial value is GL_LESS. See glDepthFunc. GL_DEPTH_RANGE params returns two values: the near and far mapping limits for the depth buffer. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 1). See glDepthRange. GL_DEPTH_SCALE params returns one value, the depth scale factor used during pixel transfers. The initial value is 1. See glPixelTransfer. GL_DEPTH_TEST params returns a single boolean value indicating whether depth testing of fragments is enabled. The initial value is GL_FALSE. See glDepthFunc and glDepthRange. GL_DEPTH_WRITEMASK params returns a single boolean value indicating if the depth buffer is enabled for writing. The initial value is GL_TRUE. See glDepthMask. GL_DITHER params returns a single boolean value indicating whether dithering of fragment colors and indices is enabled. The initial value is GL_TRUE. GL_DOUBLEBUFFER params returns a single boolean value indicating whether double buffering is supported. GL_DRAW_BUFFER params returns one value, a symbolic constant indicating which buffers are being drawn to. See glDrawBuffer. The initial value is GL_BACK if there are back buffers, otherwise it is GL_FRONT. GL_DRAW_BUFFERi params returns one value, a symbolic constant indicating which buffers are being drawn to by the corresponding output color. See glDrawBuffers. The initial value of GL_DRAW_BUFFER0 is GL_BACK if there are back buffers, otherwise it is GL_FRONT. The initial values of draw buffers for all other output colors is GL_NONE. GL_EDGE_FLAG params returns a single boolean value indicating whether the current edge flag is GL_TRUE or GL_FALSE. The initial value is GL_TRUE. See glEdgeFlag. GL_EDGE_FLAG_ARRAY params returns a single boolean value indicating whether the edge flag array is enabled. The initial value is GL_FALSE. See glEdgeFlagPointer. GL_EDGE_FLAG_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the edge flag array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glEdgeFlagPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_EDGE_FLAG_ARRAY_STRIDE params returns one value, the byte offset between consecutive edge flags in the edge flag array. The initial value is 0. See glEdgeFlagPointer. GL_ELEMENT_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If no buffer object is bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_FEEDBACK_BUFFER_SIZE params returns one value, the size of the feedback buffer. See glFeedbackBuffer. GL_FEEDBACK_BUFFER_TYPE params returns one value, the type of the feedback buffer. See glFeedbackBuffer. GL_FOG params returns a single boolean value indicating whether fogging is enabled. The initial value is GL_FALSE. See glFog. GL_FOG_COORD_ARRAY params returns a single boolean value indicating whether the fog coordinate array is enabled. The initial value is GL_FALSE. See glFogCoordPointer. GL_FOG_COORD_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the fog coordinate array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glFogCoordPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_FOG_COORD_ARRAY_STRIDE params returns one value, the byte offset between consecutive fog coordinates in the fog coordinate array. The initial value is 0. See glFogCoordPointer. GL_FOG_COORD_ARRAY_TYPE params returns one value, the type of the fog coordinate array. The initial value is GL_FLOAT. See glFogCoordPointer. GL_FOG_COORD_SRC params returns one value, a symbolic constant indicating the source of the fog coordinate. The initial value is GL_FRAGMENT_DEPTH. See glFog. GL_FOG_COLOR params returns four values: the red, green, blue, and alpha components of the fog color. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0, 0, 0, 0). See glFog. GL_FOG_DENSITY params returns one value, the fog density parameter. The initial value is 1. See glFog. GL_FOG_END params returns one value, the end factor for the linear fog equation. The initial value is 1. See glFog. GL_FOG_HINT params returns one value, a symbolic constant indicating the mode of the fog hint. The initial value is GL_DONT_CARE. See glHint. GL_FOG_INDEX params returns one value, the fog color index. The initial value is 0. See glFog. GL_FOG_MODE params returns one value, a symbolic constant indicating which fog equation is selected. The initial value is GL_EXP. See glFog. GL_FOG_START params returns one value, the start factor for the linear fog equation. The initial value is 0. See glFog. GL_FRAGMENT_SHADER_DERIVATIVE_HINT params returns one value, a symbolic constant indicating the mode of the derivative accuracy hint for fragment shaders. The initial value is GL_DONT_CARE. See glHint. GL_FRONT_FACE params returns one value, a symbolic constant indicating whether clockwise or counterclockwise polygon winding is treated as front-facing. The initial value is GL_CCW. See glFrontFace. GL_GENERATE_MIPMAP_HINT params returns one value, a symbolic constant indicating the mode of the mipmap generation filtering hint. The initial value is GL_DONT_CARE. See glHint. GL_GREEN_BIAS params returns one value, the green bias factor used during pixel transfers. The initial value is 0. GL_GREEN_BITS params returns one value, the number of green bitplanes in each color buffer. GL_GREEN_SCALE params returns one value, the green scale factor used during pixel transfers. The initial value is 1. See glPixelTransfer. GL_HISTOGRAM params returns a single boolean value indicating whether histogram is enabled. The initial value is GL_FALSE. See glHistogram. GL_INDEX_ARRAY params returns a single boolean value indicating whether the color index array is enabled. The initial value is GL_FALSE. See glIndexPointer. GL_INDEX_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the color index array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glIndexPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_INDEX_ARRAY_STRIDE params returns one value, the byte offset between consecutive color indexes in the color index array. The initial value is 0. See glIndexPointer. GL_INDEX_ARRAY_TYPE params returns one value, the data type of indexes in the color index array. The initial value is GL_FLOAT. See glIndexPointer. GL_INDEX_BITS params returns one value, the number of bitplanes in each color index buffer. GL_INDEX_CLEAR_VALUE params returns one value, the color index used to clear the color index buffers. The initial value is 0. See glClearIndex. GL_INDEX_LOGIC_OP params returns a single boolean value indicating whether a fragment's index values are merged into the framebuffer using a logical operation. The initial value is GL_FALSE. See glLogicOp. GL_INDEX_MODE params returns a single boolean value indicating whether the GL is in color index mode (GL_TRUE) or RGBA mode (GL_FALSE). GL_INDEX_OFFSET params returns one value, the offset added to color and stencil indices during pixel transfers. The initial value is 0. See glPixelTransfer. GL_INDEX_SHIFT params returns one value, the amount that color and stencil indices are shifted during pixel transfers. The initial value is 0. See glPixelTransfer. GL_INDEX_WRITEMASK params returns one value, a mask indicating which bitplanes of each color index buffer can be written. The initial value is all 1's. See glIndexMask. GL_LIGHTi params returns a single boolean value indicating whether the specified light is enabled. The initial value is GL_FALSE. See glLight and glLightModel. GL_LIGHTING params returns a single boolean value indicating whether lighting is enabled. The initial value is GL_FALSE. See glLightModel. GL_LIGHT_MODEL_AMBIENT params returns four values: the red, green, blue, and alpha components of the ambient intensity of the entire scene. Integer values, if requested, are linearly mapped from the internal floating-point representation such that 1.0 returns the most positive representable integer value, and -1.0 returns the most negative representable integer value. The initial value is (0.2, 0.2, 0.2, 1.0). See glLightModel. GL_LIGHT_MODEL_COLOR_CONTROL params returns single enumerated value indicating whether specular reflection calculations are separated from normal lighting computations. The initial value is GL_SINGLE_COLOR. GL_LIGHT_MODEL_LOCAL_VIEWER params returns a single boolean value indicating whether specular reflection calculations treat the viewer as being local to the scene. The initial value is GL_FALSE. See glLightModel. GL_LIGHT_MODEL_TWO_SIDE params returns a single boolean value indicating whether separate materials are used to compute lighting for front- and back-facing polygons. The initial value is GL_FALSE. See glLightModel. GL_LINE_SMOOTH params returns a single boolean value indicating whether antialiasing of lines is enabled. The initial value is GL_FALSE. See glLineWidth. GL_LINE_SMOOTH_HINT params returns one value, a symbolic constant indicating the mode of the line antialiasing hint. The initial value is GL_DONT_CARE. See glHint. GL_LINE_STIPPLE params returns a single boolean value indicating whether stippling of lines is enabled. The initial value is GL_FALSE. See glLineStipple. GL_LINE_STIPPLE_PATTERN params returns one value, the 16-bit line stipple pattern. The initial value is all 1's. See glLineStipple. GL_LINE_STIPPLE_REPEAT params returns one value, the line stipple repeat factor. The initial value is 1. See glLineStipple. GL_LINE_WIDTH params returns one value, the line width as specified with glLineWidth. The initial value is 1. GL_LINE_WIDTH_GRANULARITY params returns one value, the width difference between adjacent supported widths for antialiased lines. See glLineWidth. GL_LINE_WIDTH_RANGE params returns two values: the smallest and largest supported widths for antialiased lines. See glLineWidth. GL_LIST_BASE params returns one value, the base offset added to all names in arrays presented to glCallLists. The initial value is 0. See glListBase. GL_LIST_INDEX params returns one value, the name of the display list currently under construction. 0 is returned if no display list is currently under construction. The initial value is 0. See glNewList. GL_LIST_MODE params returns one value, a symbolic constant indicating the construction mode of the display list currently under construction. The initial value is 0. See glNewList. GL_LOGIC_OP_MODE params returns one value, a symbolic constant indicating the selected logic operation mode. The initial value is GL_COPY. See glLogicOp. GL_MAP1_COLOR_4 params returns a single boolean value indicating whether 1D evaluation generates colors. The initial value is GL_FALSE. See glMap1. GL_MAP1_GRID_DOMAIN params returns two values: the endpoints of the 1D map's grid domain. The initial value is (0, 1). See glMapGrid. GL_MAP1_GRID_SEGMENTS params returns one value, the number of partitions in the 1D map's grid domain. The initial value is 1. See glMapGrid. GL_MAP1_INDEX params returns a single boolean value indicating whether 1D evaluation generates color indices. The initial value is GL_FALSE. See glMap1. GL_MAP1_NORMAL params returns a single boolean value indicating whether 1D evaluation generates normals. The initial value is GL_FALSE. See glMap1. GL_MAP1_TEXTURE_COORD_1 params returns a single boolean value indicating whether 1D evaluation generates 1D texture coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP1_TEXTURE_COORD_2 params returns a single boolean value indicating whether 1D evaluation generates 2D texture coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP1_TEXTURE_COORD_3 params returns a single boolean value indicating whether 1D evaluation generates 3D texture coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP1_TEXTURE_COORD_4 params returns a single boolean value indicating whether 1D evaluation generates 4D texture coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP1_VERTEX_3 params returns a single boolean value indicating whether 1D evaluation generates 3D vertex coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP1_VERTEX_4 params returns a single boolean value indicating whether 1D evaluation generates 4D vertex coordinates. The initial value is GL_FALSE. See glMap1. GL_MAP2_COLOR_4 params returns a single boolean value indicating whether 2D evaluation generates colors. The initial value is GL_FALSE. See glMap2. GL_MAP2_GRID_DOMAIN params returns four values: the endpoints of the 2D map's i and j grid domains. The initial value is (0,1; 0,1). See glMapGrid. GL_MAP2_GRID_SEGMENTS params returns two values: the number of partitions in the 2D map's i and j grid domains. The initial value is (1,1). See glMapGrid. GL_MAP2_INDEX params returns a single boolean value indicating whether 2D evaluation generates color indices. The initial value is GL_FALSE. See glMap2. GL_MAP2_NORMAL params returns a single boolean value indicating whether 2D evaluation generates normals. The initial value is GL_FALSE. See glMap2. GL_MAP2_TEXTURE_COORD_1 params returns a single boolean value indicating whether 2D evaluation generates 1D texture coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP2_TEXTURE_COORD_2 params returns a single boolean value indicating whether 2D evaluation generates 2D texture coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP2_TEXTURE_COORD_3 params returns a single boolean value indicating whether 2D evaluation generates 3D texture coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP2_TEXTURE_COORD_4 params returns a single boolean value indicating whether 2D evaluation generates 4D texture coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP2_VERTEX_3 params returns a single boolean value indicating whether 2D evaluation generates 3D vertex coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP2_VERTEX_4 params returns a single boolean value indicating whether 2D evaluation generates 4D vertex coordinates. The initial value is GL_FALSE. See glMap2. GL_MAP_COLOR params returns a single boolean value indicating if colors and color indices are to be replaced by table lookup during pixel transfers. The initial value is GL_FALSE. See glPixelTransfer. GL_MAP_STENCIL params returns a single boolean value indicating if stencil indices are to be replaced by table lookup during pixel transfers. The initial value is GL_FALSE. See glPixelTransfer. GL_MATRIX_MODE params returns one value, a symbolic constant indicating which matrix stack is currently the target of all matrix operations. The initial value is GL_MODELVIEW. See glMatrixMode. GL_MAX_3D_TEXTURE_SIZE params returns one value, a rough estimate of the largest 3D texture that the GL can handle. The value must be at least 16. If the GL version is 1.2 or greater, use GL_PROXY_TEXTURE_3D to determine if a texture is too large. See glTexImage3D. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH params returns one value indicating the maximum supported depth of the client attribute stack. See glPushClientAttrib. GL_MAX_ATTRIB_STACK_DEPTH params returns one value, the maximum supported depth of the attribute stack. The value must be at least 16. See glPushAttrib. GL_MAX_CLIP_PLANES params returns one value, the maximum number of application-defined clipping planes. The value must be at least 6. See glClipPlane. GL_MAX_COLOR_MATRIX_STACK_DEPTH params returns one value, the maximum supported depth of the color matrix stack. The value must be at least 2. See glPushMatrix. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS params returns one value, the maximum supported texture image units that can be used to access texture maps from the vertex shader and the fragment processor combined. If both the vertex shader and the fragment processing stage access the same texture image unit, then that counts as using two texture image units against this limit. The value must be at least 2. See glActiveTexture. GL_MAX_CUBE_MAP_TEXTURE_SIZE params returns one value. The value gives a rough estimate of the largest cube-map texture that the GL can handle. The value must be at least 16. If the GL version is 1.3 or greater, use GL_PROXY_TEXTURE_CUBE_MAP to determine if a texture is too large. See glTexImage2D. GL_MAX_DRAW_BUFFERS params returns one value, the maximum number of simultaneous output colors allowed from a fragment shader using the gl_FragData built-in array. The value must be at least 1. See glDrawBuffers. GL_MAX_ELEMENTS_INDICES params returns one value, the recommended maximum number of vertex array indices. See glDrawRangeElements. GL_MAX_ELEMENTS_VERTICES params returns one value, the recommended maximum number of vertex array vertices. See glDrawRangeElements. GL_MAX_EVAL_ORDER params returns one value, the maximum equation order supported by 1D and 2D evaluators. The value must be at least 8. See glMap1 and glMap2. GL_MAX_FRAGMENT_UNIFORM_COMPONENTS params returns one value, the maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a fragment shader. The value must be at least 64. See glUniform. GL_MAX_LIGHTS params returns one value, the maximum number of lights. The value must be at least 8. See glLight. GL_MAX_LIST_NESTING params returns one value, the maximum recursion depth allowed during display-list traversal. The value must be at least 64. See glCallList. GL_MAX_MODELVIEW_STACK_DEPTH params returns one value, the maximum supported depth of the modelview matrix stack. The value must be at least 32. See glPushMatrix. GL_MAX_NAME_STACK_DEPTH params returns one value, the maximum supported depth of the selection name stack. The value must be at least 64. See glPushName. GL_MAX_PIXEL_MAP_TABLE params returns one value, the maximum supported size of a glPixelMap lookup table. The value must be at least 32. See glPixelMap. GL_MAX_PROJECTION_STACK_DEPTH params returns one value, the maximum supported depth of the projection matrix stack. The value must be at least 2. See glPushMatrix. GL_MAX_TEXTURE_COORDS params returns one value, the maximum number of texture coordinate sets available to vertex and fragment shaders. The value must be at least 2. See glActiveTexture and glClientActiveTexture. GL_MAX_TEXTURE_IMAGE_UNITS params returns one value, the maximum supported texture image units that can be used to access texture maps from the fragment shader. The value must be at least 2. See glActiveTexture. GL_MAX_TEXTURE_LOD_BIAS params returns one value, the maximum, absolute value of the texture level-of-detail bias. The value must be at least 4. GL_MAX_TEXTURE_SIZE params returns one value. The value gives a rough estimate of the largest texture that the GL can handle. The value must be at least 64. If the GL version is 1.1 or greater, use GL_PROXY_TEXTURE_1D or GL_PROXY_TEXTURE_2D to determine if a texture is too large. See glTexImage1D and glTexImage2D. GL_MAX_TEXTURE_STACK_DEPTH params returns one value, the maximum supported depth of the texture matrix stack. The value must be at least 2. See glPushMatrix. GL_MAX_TEXTURE_UNITS params returns a single value indicating the number of conventional texture units supported. Each conventional texture unit includes both a texture coordinate set and a texture image unit. Conventional texture units may be used for fixed-function (non-shader) rendering. The value must be at least 2. Additional texture coordinate sets and texture image units may be accessed from vertex and fragment shaders. See glActiveTexture and glClientActiveTexture. GL_MAX_VARYING_FLOATS params returns one value, the maximum number of interpolators available for processing varying variables used by vertex and fragment shaders. This value represents the number of individual floating-point values that can be interpolated; varying variables declared as vectors, matrices, and arrays will all consume multiple interpolators. The value must be at least 32. GL_MAX_VERTEX_ATTRIBS params returns one value, the maximum number of 4-component generic vertex attributes accessible to a vertex shader. The value must be at least 16. See glVertexAttrib. GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS params returns one value, the maximum supported texture image units that can be used to access texture maps from the vertex shader. The value may be 0. See glActiveTexture. GL_MAX_VERTEX_UNIFORM_COMPONENTS params returns one value, the maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a vertex shader. The value must be at least 512. See glUniform. GL_MAX_VIEWPORT_DIMS params returns two values: the maximum supported width and height of the viewport. These must be at least as large as the visible dimensions of the display being rendered to. See glViewport. GL_MINMAX params returns a single boolean value indicating whether pixel minmax values are computed. The initial value is GL_FALSE. See glMinmax. GL_MODELVIEW_MATRIX params returns sixteen values: the modelview matrix on the top of the modelview matrix stack. Initially this matrix is the identity matrix. See glPushMatrix. GL_MODELVIEW_STACK_DEPTH params returns one value, the number of matrices on the modelview matrix stack. The initial value is 1. See glPushMatrix. GL_NAME_STACK_DEPTH params returns one value, the number of names on the selection name stack. The initial value is 0. See glPushName. GL_NORMAL_ARRAY params returns a single boolean value, indicating whether the normal array is enabled. The initial value is GL_FALSE. See glNormalPointer. GL_NORMAL_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the normal array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glNormalPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_NORMAL_ARRAY_STRIDE params returns one value, the byte offset between consecutive normals in the normal array. The initial value is 0. See glNormalPointer. GL_NORMAL_ARRAY_TYPE params returns one value, the data type of each coordinate in the normal array. The initial value is GL_FLOAT. See glNormalPointer. GL_NORMALIZE params returns a single boolean value indicating whether normals are automatically scaled to unit length after they have been transformed to eye coordinates. The initial value is GL_FALSE. See glNormal. GL_NUM_COMPRESSED_TEXTURE_FORMATS params returns a single integer value indicating the number of available compressed texture formats. The minimum value is 0. See glCompressedTexImage2D. GL_PACK_ALIGNMENT params returns one value, the byte alignment used for writing pixel data to memory. The initial value is 4. See glPixelStore. GL_PACK_IMAGE_HEIGHT params returns one value, the image height used for writing pixel data to memory. The initial value is 0. See glPixelStore. GL_PACK_LSB_FIRST params returns a single boolean value indicating whether single-bit pixels being written to memory are written first to the least significant bit of each unsigned byte. The initial value is GL_FALSE. See glPixelStore. GL_PACK_ROW_LENGTH params returns one value, the row length used for writing pixel data to memory. The initial value is 0. See glPixelStore. GL_PACK_SKIP_IMAGES params returns one value, the number of pixel images skipped before the first pixel is written into memory. The initial value is 0. See glPixelStore. GL_PACK_SKIP_PIXELS params returns one value, the number of pixel locations skipped before the first pixel is written into memory. The initial value is 0. See glPixelStore. GL_PACK_SKIP_ROWS params returns one value, the number of rows of pixel locations skipped before the first pixel is written into memory. The initial value is 0. See glPixelStore. GL_PACK_SWAP_BYTES params returns a single boolean value indicating whether the bytes of two-byte and four-byte pixel indices and components are swapped before being written to memory. The initial value is GL_FALSE. See glPixelStore. GL_PERSPECTIVE_CORRECTION_HINT params returns one value, a symbolic constant indicating the mode of the perspective correction hint. The initial value is GL_DONT_CARE. See glHint. GL_PIXEL_MAP_A_TO_A_SIZE params returns one value, the size of the alpha-to-alpha pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_B_TO_B_SIZE params returns one value, the size of the blue-to-blue pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_G_TO_G_SIZE params returns one value, the size of the green-to-green pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_I_TO_A_SIZE params returns one value, the size of the index-to-alpha pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_I_TO_B_SIZE params returns one value, the size of the index-to-blue pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_I_TO_G_SIZE params returns one value, the size of the index-to-green pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_I_TO_I_SIZE params returns one value, the size of the index-to-index pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_I_TO_R_SIZE params returns one value, the size of the index-to-red pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_R_TO_R_SIZE params returns one value, the size of the red-to-red pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_MAP_S_TO_S_SIZE params returns one value, the size of the stencil-to-stencil pixel translation table. The initial value is 1. See glPixelMap. GL_PIXEL_PACK_BUFFER_BINDING params returns a single value, the name of the buffer object currently bound to the target GL_PIXEL_PACK_BUFFER. If no buffer object is bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_PIXEL_UNPACK_BUFFER_BINDING params returns a single value, the name of the buffer object currently bound to the target GL_PIXEL_UNPACK_BUFFER. If no buffer object is bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_POINT_DISTANCE_ATTENUATION params returns three values, the coefficients for computing the attenuation value for points. See glPointParameter. GL_POINT_FADE_THRESHOLD_SIZE params returns one value, the point size threshold for determining the point size. See glPointParameter. GL_POINT_SIZE params returns one value, the point size as specified by glPointSize. The initial value is 1. GL_POINT_SIZE_GRANULARITY params returns one value, the size difference between adjacent supported sizes for antialiased points. See glPointSize. GL_POINT_SIZE_MAX params returns one value, the upper bound for the attenuated point sizes. The initial value is 0.0. See glPointParameter. GL_POINT_SIZE_MIN params returns one value, the lower bound for the attenuated point sizes. The initial value is 1.0. See glPointParameter. GL_POINT_SIZE_RANGE params returns two values: the smallest and largest supported sizes for antialiased points. The smallest size must be at most 1, and the largest size must be at least 1. See glPointSize. GL_POINT_SMOOTH params returns a single boolean value indicating whether antialiasing of points is enabled. The initial value is GL_FALSE. See glPointSize. GL_POINT_SMOOTH_HINT params returns one value, a symbolic constant indicating the mode of the point antialiasing hint. The initial value is GL_DONT_CARE. See glHint. GL_POINT_SPRITE params returns a single boolean value indicating whether point sprite is enabled. The initial value is GL_FALSE. GL_POLYGON_MODE params returns two values: symbolic constants indicating whether front-facing and back-facing polygons are rasterized as points, lines, or filled polygons. The initial value is GL_FILL. See glPolygonMode. GL_POLYGON_OFFSET_FACTOR params returns one value, the scaling factor used to determine the variable offset that is added to the depth value of each fragment generated when a polygon is rasterized. The initial value is 0. See glPolygonOffset. GL_POLYGON_OFFSET_UNITS params returns one value. This value is multiplied by an implementation-specific value and then added to the depth value of each fragment generated when a polygon is rasterized. The initial value is 0. See glPolygonOffset. GL_POLYGON_OFFSET_FILL params returns a single boolean value indicating whether polygon offset is enabled for polygons in fill mode. The initial value is GL_FALSE. See glPolygonOffset. GL_POLYGON_OFFSET_LINE params returns a single boolean value indicating whether polygon offset is enabled for polygons in line mode. The initial value is GL_FALSE. See glPolygonOffset. GL_POLYGON_OFFSET_POINT params returns a single boolean value indicating whether polygon offset is enabled for polygons in point mode. The initial value is GL_FALSE. See glPolygonOffset. GL_POLYGON_SMOOTH params returns a single boolean value indicating whether antialiasing of polygons is enabled. The initial value is GL_FALSE. See glPolygonMode. GL_POLYGON_SMOOTH_HINT params returns one value, a symbolic constant indicating the mode of the polygon antialiasing hint. The initial value is GL_DONT_CARE. See glHint. GL_POLYGON_STIPPLE params returns a single boolean value indicating whether polygon stippling is enabled. The initial value is GL_FALSE. See glPolygonStipple. GL_POST_COLOR_MATRIX_COLOR_TABLE params returns a single boolean value indicating whether post color matrix transformation lookup is enabled. The initial value is GL_FALSE. See glColorTable. GL_POST_COLOR_MATRIX_RED_BIAS params returns one value, the red bias factor applied to RGBA fragments after color matrix transformations. The initial value is 0. See glPixelTransfer. GL_POST_COLOR_MATRIX_GREEN_BIAS params returns one value, the green bias factor applied to RGBA fragments after color matrix transformations. The initial value is 0. See glPixelTransfer GL_POST_COLOR_MATRIX_BLUE_BIAS params returns one value, the blue bias factor applied to RGBA fragments after color matrix transformations. The initial value is 0. See glPixelTransfer. GL_POST_COLOR_MATRIX_ALPHA_BIAS params returns one value, the alpha bias factor applied to RGBA fragments after color matrix transformations. The initial value is 0. See glPixelTransfer. GL_POST_COLOR_MATRIX_RED_SCALE params returns one value, the red scale factor applied to RGBA fragments after color matrix transformations. The initial value is 1. See glPixelTransfer. GL_POST_COLOR_MATRIX_GREEN_SCALE params returns one value, the green scale factor applied to RGBA fragments after color matrix transformations. The initial value is 1. See glPixelTransfer. GL_POST_COLOR_MATRIX_BLUE_SCALE params returns one value, the blue scale factor applied to RGBA fragments after color matrix transformations. The initial value is 1. See glPixelTransfer. GL_POST_COLOR_MATRIX_ALPHA_SCALE params returns one value, the alpha scale factor applied to RGBA fragments after color matrix transformations. The initial value is 1. See glPixelTransfer. GL_POST_CONVOLUTION_COLOR_TABLE params returns a single boolean value indicating whether post convolution lookup is enabled. The initial value is GL_FALSE. See glColorTable. GL_POST_CONVOLUTION_RED_BIAS params returns one value, the red bias factor applied to RGBA fragments after convolution. The initial value is 0. See glPixelTransfer. GL_POST_CONVOLUTION_GREEN_BIAS params returns one value, the green bias factor applied to RGBA fragments after convolution. The initial value is 0. See glPixelTransfer. GL_POST_CONVOLUTION_BLUE_BIAS params returns one value, the blue bias factor applied to RGBA fragments after convolution. The initial value is 0. See glPixelTransfer. GL_POST_CONVOLUTION_ALPHA_BIAS params returns one value, the alpha bias factor applied to RGBA fragments after convolution. The initial value is 0. See glPixelTransfer. GL_POST_CONVOLUTION_RED_SCALE params returns one value, the red scale factor applied to RGBA fragments after convolution. The initial value is 1. See glPixelTransfer. GL_POST_CONVOLUTION_GREEN_SCALE params returns one value, the green scale factor applied to RGBA fragments after convolution. The initial value is 1. See glPixelTransfer. GL_POST_CONVOLUTION_BLUE_SCALE params returns one value, the blue scale factor applied to RGBA fragments after convolution. The initial value is 1. See glPixelTransfer. GL_POST_CONVOLUTION_ALPHA_SCALE params returns one value, the alpha scale factor applied to RGBA fragments after convolution. The initial value is 1. See glPixelTransfer. GL_PROJECTION_MATRIX params returns sixteen values: the projection matrix on the top of the projection matrix stack. Initially this matrix is the identity matrix. See glPushMatrix. GL_PROJECTION_STACK_DEPTH params returns one value, the number of matrices on the projection matrix stack. The initial value is 1. See glPushMatrix. GL_READ_BUFFER params returns one value, a symbolic constant indicating which color buffer is selected for reading. The initial value is GL_BACK if there is a back buffer, otherwise it is GL_FRONT. See glReadPixels and glAccum. GL_RED_BIAS params returns one value, the red bias factor used during pixel transfers. The initial value is 0. GL_RED_BITS params returns one value, the number of red bitplanes in each color buffer. GL_RED_SCALE params returns one value, the red scale factor used during pixel transfers. The initial value is 1. See glPixelTransfer. GL_RENDER_MODE params returns one value, a symbolic constant indicating whether the GL is in render, select, or feedback mode. The initial value is GL_RENDER. See glRenderMode. GL_RESCALE_NORMAL params returns single boolean value indicating whether normal rescaling is enabled. See glEnable. GL_RGBA_MODE params returns a single boolean value indicating whether the GL is in RGBA mode (true) or color index mode (false). See glColor. GL_SAMPLE_BUFFERS params returns a single integer value indicating the number of sample buffers associated with the framebuffer. See glSampleCoverage. GL_SAMPLE_COVERAGE_VALUE params returns a single positive floating-point value indicating the current sample coverage value. See glSampleCoverage. GL_SAMPLE_COVERAGE_INVERT params returns a single boolean value indicating if the temporary coverage value should be inverted. See glSampleCoverage. GL_SAMPLES params returns a single integer value indicating the coverage mask size. See glSampleCoverage. GL_SCISSOR_BOX params returns four values: the x and y window coordinates of the scissor box, followed by its width and height. Initially the x and y window coordinates are both 0 and the width and height are set to the size of the window. See glScissor. GL_SCISSOR_TEST params returns a single boolean value indicating whether scissoring is enabled. The initial value is GL_FALSE. See glScissor. GL_SECONDARY_COLOR_ARRAY params returns a single boolean value indicating whether the secondary color array is enabled. The initial value is GL_FALSE. See glSecondaryColorPointer. GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the secondary color array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glSecondaryColorPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_SECONDARY_COLOR_ARRAY_SIZE params returns one value, the number of components per color in the secondary color array. The initial value is 3. See glSecondaryColorPointer. GL_SECONDARY_COLOR_ARRAY_STRIDE params returns one value, the byte offset between consecutive colors in the secondary color array. The initial value is 0. See glSecondaryColorPointer. GL_SECONDARY_COLOR_ARRAY_TYPE params returns one value, the data type of each component in the secondary color array. The initial value is GL_FLOAT. See glSecondaryColorPointer. GL_SELECTION_BUFFER_SIZE params return one value, the size of the selection buffer. See glSelectBuffer. GL_SEPARABLE_2D params returns a single boolean value indicating whether 2D separable convolution is enabled. The initial value is GL_FALSE. See glSeparableFilter2D. GL_SHADE_MODEL params returns one value, a symbolic constant indicating whether the shading mode is flat or smooth. The initial value is GL_SMOOTH. See glShadeModel. GL_SMOOTH_LINE_WIDTH_RANGE params returns two values, the smallest and largest supported widths for antialiased lines. See glLineWidth. GL_SMOOTH_LINE_WIDTH_GRANULARITY params returns one value, the granularity of widths for antialiased lines. See glLineWidth. GL_SMOOTH_POINT_SIZE_RANGE params returns two values, the smallest and largest supported widths for antialiased points. See glPointSize. GL_SMOOTH_POINT_SIZE_GRANULARITY params returns one value, the granularity of sizes for antialiased points. See glPointSize. GL_STENCIL_BACK_FAIL params returns one value, a symbolic constant indicating what action is taken for back-facing polygons when the stencil test fails. The initial value is GL_KEEP. See glStencilOpSeparate. GL_STENCIL_BACK_FUNC params returns one value, a symbolic constant indicating what function is used for back-facing polygons to compare the stencil reference value with the stencil buffer value. The initial value is GL_ALWAYS. See glStencilFuncSeparate. GL_STENCIL_BACK_PASS_DEPTH_FAIL params returns one value, a symbolic constant indicating what action is taken for back-facing polygons when the stencil test passes, but the depth test fails. The initial value is GL_KEEP. See glStencilOpSeparate. GL_STENCIL_BACK_PASS_DEPTH_PASS params returns one value, a symbolic constant indicating what action is taken for back-facing polygons when the stencil test passes and the depth test passes. The initial value is GL_KEEP. See glStencilOpSeparate. GL_STENCIL_BACK_REF params returns one value, the reference value that is compared with the contents of the stencil buffer for back-facing polygons. The initial value is 0. See glStencilFuncSeparate. GL_STENCIL_BACK_VALUE_MASK params returns one value, the mask that is used for back-facing polygons to mask both the stencil reference value and the stencil buffer value before they are compared. The initial value is all 1's. See glStencilFuncSeparate. GL_STENCIL_BACK_WRITEMASK params returns one value, the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value is all 1's. See glStencilMaskSeparate. GL_STENCIL_BITS params returns one value, the number of bitplanes in the stencil buffer. GL_STENCIL_CLEAR_VALUE params returns one value, the index to which the stencil bitplanes are cleared. The initial value is 0. See glClearStencil. GL_STENCIL_FAIL params returns one value, a symbolic constant indicating what action is taken when the stencil test fails. The initial value is GL_KEEP. See glStencilOp. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilOpSeparate. GL_STENCIL_FUNC params returns one value, a symbolic constant indicating what function is used to compare the stencil reference value with the stencil buffer value. The initial value is GL_ALWAYS. See glStencilFunc. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilFuncSeparate. GL_STENCIL_PASS_DEPTH_FAIL params returns one value, a symbolic constant indicating what action is taken when the stencil test passes, but the depth test fails. The initial value is GL_KEEP. See glStencilOp. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilOpSeparate. GL_STENCIL_PASS_DEPTH_PASS params returns one value, a symbolic constant indicating what action is taken when the stencil test passes and the depth test passes. The initial value is GL_KEEP. See glStencilOp. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilOpSeparate. GL_STENCIL_REF params returns one value, the reference value that is compared with the contents of the stencil buffer. The initial value is 0. See glStencilFunc. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilFuncSeparate. GL_STENCIL_TEST params returns a single boolean value indicating whether stencil testing of fragments is enabled. The initial value is GL_FALSE. See glStencilFunc and glStencilOp. GL_STENCIL_VALUE_MASK params returns one value, the mask that is used to mask both the stencil reference value and the stencil buffer value before they are compared. The initial value is all 1's. See glStencilFunc. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilFuncSeparate. GL_STENCIL_WRITEMASK params returns one value, the mask that controls writing of the stencil bitplanes. The initial value is all 1's. See glStencilMask. If the GL version is 2.0 or greater, this stencil state only affects non-polygons and front-facing polygons. Back-facing polygons use separate stencil state. See glStencilMaskSeparate. GL_STEREO params returns a single boolean value indicating whether stereo buffers (left and right) are supported. GL_SUBPIXEL_BITS params returns one value, an estimate of the number of bits of subpixel resolution that are used to position rasterized geometry in window coordinates. The value must be at least 4. GL_TEXTURE_1D params returns a single boolean value indicating whether 1D texture mapping is enabled. The initial value is GL_FALSE. See glTexImage1D. GL_TEXTURE_BINDING_1D params returns a single value, the name of the texture currently bound to the target GL_TEXTURE_1D. The initial value is 0. See glBindTexture. GL_TEXTURE_2D params returns a single boolean value indicating whether 2D texture mapping is enabled. The initial value is GL_FALSE. See glTexImage2D. GL_TEXTURE_BINDING_2D params returns a single value, the name of the texture currently bound to the target GL_TEXTURE_2D. The initial value is 0. See glBindTexture. GL_TEXTURE_3D params returns a single boolean value indicating whether 3D texture mapping is enabled. The initial value is GL_FALSE. See glTexImage3D. GL_TEXTURE_BINDING_3D params returns a single value, the name of the texture currently bound to the target GL_TEXTURE_3D. The initial value is 0. See glBindTexture. GL_TEXTURE_BINDING_CUBE_MAP params returns a single value, the name of the texture currently bound to the target GL_TEXTURE_CUBE_MAP. The initial value is 0. See glBindTexture. GL_TEXTURE_COMPRESSION_HINT params returns a single value indicating the mode of the texture compression hint. The initial value is GL_DONT_CARE. GL_TEXTURE_COORD_ARRAY params returns a single boolean value indicating whether the texture coordinate array is enabled. The initial value is GL_FALSE. See glTexCoordPointer. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the texture coordinate array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glTexCoordPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_TEXTURE_COORD_ARRAY_SIZE params returns one value, the number of coordinates per element in the texture coordinate array. The initial value is 4. See glTexCoordPointer. GL_TEXTURE_COORD_ARRAY_STRIDE params returns one value, the byte offset between consecutive elements in the texture coordinate array. The initial value is 0. See glTexCoordPointer. GL_TEXTURE_COORD_ARRAY_TYPE params returns one value, the data type of the coordinates in the texture coordinate array. The initial value is GL_FLOAT. See glTexCoordPointer. GL_TEXTURE_CUBE_MAP params returns a single boolean value indicating whether cube-mapped texture mapping is enabled. The initial value is GL_FALSE. See glTexImage2D. GL_TEXTURE_GEN_Q params returns a single boolean value indicating whether automatic generation of the q texture coordinate is enabled. The initial value is GL_FALSE. See glTexGen. GL_TEXTURE_GEN_R params returns a single boolean value indicating whether automatic generation of the r texture coordinate is enabled. The initial value is GL_FALSE. See glTexGen. GL_TEXTURE_GEN_S params returns a single boolean value indicating whether automatic generation of the S texture coordinate is enabled. The initial value is GL_FALSE. See glTexGen. GL_TEXTURE_GEN_T params returns a single boolean value indicating whether automatic generation of the T texture coordinate is enabled. The initial value is GL_FALSE. See glTexGen. GL_TEXTURE_MATRIX params returns sixteen values: the texture matrix on the top of the texture matrix stack. Initially this matrix is the identity matrix. See glPushMatrix. GL_TEXTURE_STACK_DEPTH params returns one value, the number of matrices on the texture matrix stack. The initial value is 1. See glPushMatrix. GL_TRANSPOSE_COLOR_MATRIX params returns 16 values, the elements of the color matrix in row-major order. See glLoadTransposeMatrix. GL_TRANSPOSE_MODELVIEW_MATRIX params returns 16 values, the elements of the modelview matrix in row-major order. See glLoadTransposeMatrix. GL_TRANSPOSE_PROJECTION_MATRIX params returns 16 values, the elements of the projection matrix in row-major order. See glLoadTransposeMatrix. GL_TRANSPOSE_TEXTURE_MATRIX params returns 16 values, the elements of the texture matrix in row-major order. See glLoadTransposeMatrix. GL_UNPACK_ALIGNMENT params returns one value, the byte alignment used for reading pixel data from memory. The initial value is 4. See glPixelStore. GL_UNPACK_IMAGE_HEIGHT params returns one value, the image height used for reading pixel data from memory. The initial is 0. See glPixelStore. GL_UNPACK_LSB_FIRST params returns a single boolean value indicating whether single-bit pixels being read from memory are read first from the least significant bit of each unsigned byte. The initial value is GL_FALSE. See glPixelStore. GL_UNPACK_ROW_LENGTH params returns one value, the row length used for reading pixel data from memory. The initial value is 0. See glPixelStore. GL_UNPACK_SKIP_IMAGES params returns one value, the number of pixel images skipped before the first pixel is read from memory. The initial value is 0. See glPixelStore. GL_UNPACK_SKIP_PIXELS params returns one value, the number of pixel locations skipped before the first pixel is read from memory. The initial value is 0. See glPixelStore. GL_UNPACK_SKIP_ROWS params returns one value, the number of rows of pixel locations skipped before the first pixel is read from memory. The initial value is 0. See glPixelStore. GL_UNPACK_SWAP_BYTES params returns a single boolean value indicating whether the bytes of two-byte and four-byte pixel indices and components are swapped after being read from memory. The initial value is GL_FALSE. See glPixelStore. GL_VERTEX_ARRAY params returns a single boolean value indicating whether the vertex array is enabled. The initial value is GL_FALSE. See glVertexPointer. GL_VERTEX_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object associated with the vertex array. This buffer object would have been bound to the target GL_ARRAY_BUFFER at the time of the most recent call to glVertexPointer. If no buffer object was bound to this target, 0 is returned. The initial value is 0. See glBindBuffer. GL_VERTEX_ARRAY_SIZE params returns one value, the number of coordinates per vertex in the vertex array. The initial value is 4. See glVertexPointer. GL_VERTEX_ARRAY_STRIDE params returns one value, the byte offset between consecutive vertices in the vertex array. The initial value is 0. See glVertexPointer. GL_VERTEX_ARRAY_TYPE params returns one value, the data type of each coordinate in the vertex array. The initial value is GL_FLOAT. See glVertexPointer. GL_VERTEX_PROGRAM_POINT_SIZE params returns a single boolean value indicating whether vertex program point size mode is enabled. If enabled, and a vertex shader is active, then the point size is taken from the shader built-in gl_PointSize. If disabled, and a vertex shader is active, then the point size is taken from the point state as specified by glPointSize. The initial value is GL_FALSE. GL_VERTEX_PROGRAM_TWO_SIDE params returns a single boolean value indicating whether vertex program two-sided color mode is enabled. If enabled, and a vertex shader is active, then the GL chooses the back color output for back-facing polygons, and the front color output for non-polygons and front-facing polygons. If disabled, and a vertex shader is active, then the front color output is always selected. The initial value is GL_FALSE. GL_VIEWPORT params returns four values: the x and y window coordinates of the viewport, followed by its width and height. Initially the x and y window coordinates are both set to 0, and the width and height are set to the width and height of the window into which the GL will do its rendering. See glViewport. GL_ZOOM_X params returns one value, the x pixel zoom factor. The initial value is 1. See glPixelZoom. GL_ZOOM_Y params returns one value, the y pixel zoom factor. The initial value is 1. See glPixelZoom. Many of the boolean parameters can also be queried more easily using glIsEnabled. Notes GL_COLOR_LOGIC_OP, GL_COLOR_ARRAY, GL_COLOR_ARRAY_SIZE, GL_COLOR_ARRAY_STRIDE, GL_COLOR_ARRAY_TYPE, GL_EDGE_FLAG_ARRAY, GL_EDGE_FLAG_ARRAY_STRIDE, GL_INDEX_ARRAY, GL_INDEX_ARRAY_STRIDE, GL_INDEX_ARRAY_TYPE, GL_INDEX_LOGIC_OP, GL_NORMAL_ARRAY, GL_NORMAL_ARRAY_STRIDE, GL_NORMAL_ARRAY_TYPE, GL_POLYGON_OFFSET_UNITS, GL_POLYGON_OFFSET_FACTOR, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, GL_POLYGON_OFFSET_POINT, GL_TEXTURE_COORD_ARRAY, GL_TEXTURE_COORD_ARRAY_SIZE, GL_TEXTURE_COORD_ARRAY_STRIDE, GL_TEXTURE_COORD_ARRAY_TYPE, GL_VERTEX_ARRAY, GL_VERTEX_ARRAY_SIZE, GL_VERTEX_ARRAY_STRIDE, and GL_VERTEX_ARRAY_TYPE are available only if the GL version is 1.1 or greater. GL_ALIASED_POINT_SIZE_RANGE, GL_FEEDBACK_BUFFER_SIZE, GL_FEEDBACK_BUFFER_TYPE, GL_LIGHT_MODEL_AMBIENT, GL_LIGHT_MODEL_COLOR_CONTROL, GL_MAX_3D_TEXTURE_SIZE, GL_MAX_ELEMENTS_INDICES, GL_MAX_ELEMENTS_VERTICES, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_IMAGES, GL_RESCALE_NORMAL, GL_SELECTION_BUFFER_SIZE, GL_SMOOTH_LINE_WIDTH_GRANULARITY, GL_SMOOTH_LINE_WIDTH_RANGE, GL_SMOOTH_POINT_SIZE_GRANULARITY, GL_SMOOTH_POINT_SIZE_RANGE, GL_TEXTURE_3D, GL_TEXTURE_BINDING_3D, GL_UNPACK_IMAGE_HEIGHT, and GL_UNPACK_SKIP_IMAGES are available only if the GL version is 1.2 or greater. GL_COMPRESSED_TEXTURE_FORMATS, GL_NUM_COMPRESSED_TEXTURE_FORMATS, GL_TEXTURE_BINDING_CUBE_MAP, and GL_TEXTURE_COMPRESSION_HINT are available only if the GL version is 1.3 or greater. GL_BLEND_DST_ALPHA, GL_BLEND_DST_RGB, GL_BLEND_SRC_ALPHA, GL_BLEND_SRC_RGB, GL_CURRENT_FOG_COORD, GL_CURRENT_SECONDARY_COLOR, GL_FOG_COORD_ARRAY_STRIDE, GL_FOG_COORD_ARRAY_TYPE, GL_FOG_COORD_SRC, GL_MAX_TEXTURE_LOD_BIAS, GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, GL_POINT_DISTANCE_ATTENUATION, GL_SECONDARY_COLOR_ARRAY_SIZE, GL_SECONDARY_COLOR_ARRAY_STRIDE, and GL_SECONDARY_COLOR_ARRAY_TYPE are available only if the GL version is 1.4 or greater. GL_ARRAY_BUFFER_BINDING, GL_COLOR_ARRAY_BUFFER_BINDING, GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, GL_ELEMENT_ARRAY_BUFFER_BINDING, GL_FOG_COORD_ARRAY_BUFFER_BINDING, GL_INDEX_ARRAY_BUFFER_BINDING, GL_NORMAL_ARRAY_BUFFER_BINDING, GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, and GL_VERTEX_ARRAY_BUFFER_BINDING are available only if the GL version is 1.5 or greater. GL_BLEND_EQUATION_ALPHA, GL_BLEND_EQUATION_RGB, GL_DRAW_BUFFERi, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, GL_MAX_DRAW_BUFFERS, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_MAX_TEXTURE_COORDS, GL_MAX_TEXTURE_IMAGE_UNITS, GL_MAX_VARYING_FLOATS, GL_MAX_VERTEX_ATTRIBS, GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_POINT_SPRITE, GL_STENCIL_BACK_FAIL, GL_STENCIL_BACK_FUNC, GL_STENCIL_BACK_PASS_DEPTH_FAIL, GL_STENCIL_BACK_PASS_DEPTH_PASS, GL_STENCIL_BACK_REF, GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_BACK_WRITEMASK, GL_VERTEX_PROGRAM_POINT_SIZE, and GL_VERTEX_PROGRAM_TWO_SIDE are available only if the GL version is 2.0 or greater. GL_CURRENT_RASTER_SECONDARY_COLOR, GL_PIXEL_PACK_BUFFER_BINDING and GL_PIXEL_UNPACK_BUFFER_BINDING are available only if the GL version is 2.1 or greater. GL_LINE_WIDTH_GRANULARITY was deprecated in GL version 1.2. Its functionality was replaced by GL_SMOOTH_LINE_WIDTH_GRANULARITY. GL_LINE_WIDTH_RANGE was deprecated in GL version 1.2. Its functionality was replaced by GL_SMOOTH_LINE_WIDTH_RANGE. GL_POINT_SIZE_GRANULARITY was deprecated in GL version 1.2. Its functionality was replaced by GL_SMOOTH_POINT_SIZE_GRANULARITY. GL_POINT_SIZE_RANGE was deprecated in GL version 1.2. Its functionality was replaced by GL_SMOOTH_POINT_SIZE_RANGE. GL_BLEND_EQUATION was deprecated in GL version 2.0. Its functionality was replaced by GL_BLEND_EQUATION_RGB and GL_BLEND_EQUATION_ALPHA. GL_COLOR_MATRIX, GL_COLOR_MATRIX_STACK_DEPTH, GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, GL_HISTOGRAM, GL_MAX_COLOR_MATRIX_STACK_DEPTH, GL_MINMAX, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, GL_POST_CONVOLUTION_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, and GL_SEPARABLE_2D are available only if ARB_imaging is returned from glGet when called with the argument GL_EXTENSIONS. When the ARB_multitexture extension is supported, or the GL version is 1.3 or greater, the following parameters return the associated value for the active texture unit: GL_CURRENT_RASTER_TEXTURE_COORDS, GL_TEXTURE_1D, GL_TEXTURE_BINDING_1D, GL_TEXTURE_2D, GL_TEXTURE_BINDING_2D, GL_TEXTURE_3D, GL_TEXTURE_BINDING_3D, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_Q, GL_TEXTURE_MATRIX, and GL_TEXTURE_STACK_DEPTH. Likewise, the following parameters return the associated value for the active client texture unit: GL_TEXTURE_COORD_ARRAY, GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, GL_TEXTURE_COORD_ARRAY_SIZE, GL_TEXTURE_COORD_ARRAY_STRIDE, GL_TEXTURE_COORD_ARRAY_TYPE. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if glGet is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glGetActiveAttrib, glGetActiveUniform, glGetAttachedShaders, glGetAttribLocation, glGetBufferParameteriv, glGetBufferPointerv, glGetBufferSubData, glGetClipPlane, glGetColorTable, glGetColorTableParameter, glGetCompressedTexImage, glGetConvolutionFilter, glGetConvolutionParameter, glGetError, glGetHistogram, glGetHistogramParameter, glGetLight, glGetMap, glGetMaterial, glGetMinmax, glGetMinmaxParameter, glGetPixelMap, glGetPointerv, glGetPolygonStipple, glGetProgram, glGetProgramInfoLog, glGetQueryiv, glGetQueryObject, glGetSeparableFilter, glGetShader, glGetShaderInfoLog, glGetShaderSource, glGetString, glGetTexEnv, glGetTexGen, glGetTexImage, glGetTexLevelParameter, glGetTexParameter, glGetUniform, glGetUniformLocation, glGetVertexAttrib, glGetVertexAttribPointerv, glIsEnabled Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glNormalPointer.xml0000664000175000017500000002562111453131434024360 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glNormalPointer 3G glNormalPointer define an array of normals C Specification void glNormalPointer GLenum type GLsizei stride const GLvoid * pointer Parameters type Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. Description glNormalPointer specifies the location and data format of an array of normals to use when rendering. type specifies the data type of each normal coordinate, and stride specifies the byte stride from one normal to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.) If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a normal array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as normal vertex array client-side state (GL_NORMAL_ARRAY_BUFFER_BINDING). When a normal array is specified, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the normal array, call glEnableClientState and glDisableClientState with the argument GL_NORMAL_ARRAY. If enabled, the normal array is used when glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, glDrawRangeElements, or glArrayElement is called. Notes glNormalPointer is available only if the GL version is 1.1 or greater. The normal array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glNormalPointer is not allowed between glBegin and the corresponding glEnd, but an error may or may not be generated. If an error is not generated, the operation is undefined. glNormalPointer is typically implemented on the client side. Normal array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_NORMAL_ARRAY glGet with argument GL_NORMAL_ARRAY_TYPE glGet with argument GL_NORMAL_ARRAY_STRIDE glGet with argument GL_NORMAL_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_NORMAL_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormal, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPointSize.xml0000664000175000017500000005266211453131432023516 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPointSize 3G glPointSize specify the diameter of rasterized points C Specification void glPointSize GLfloat size Parameters size Specifies the diameter of rasterized points. The initial value is 1. Description glPointSize specifies the rasterized diameter of both aliased and antialiased points. Using a point size other than 1 has different effects, depending on whether point antialiasing is enabled. To enable and disable point antialiasing, call glEnable and glDisable with argument GL_POINT_SMOOTH. Point antialiasing is initially disabled. The specified point size is multiplied with a distance attenuation factor and clamped to the specified point size range, and further clamped to the implementation-dependent point size range to produce the derived point size using pointSize = clamp size × 1 a + b × d + c × d 2 where d is the eye-coordinate distance from the eye to the vertex, and a, b, and c are the distance attenuation coefficients (see glPointParameter). If multisampling is disabled, the computed point size is used as the point's width. If multisampling is enabled, the point may be faded by modifying the point alpha value (see glSampleCoverage) instead of allowing the point width to go below a given threshold (see glPointParameter). In this case, the width is further modified in the following manner: pointWidth = pointSize threshold pointSize >= threshold otherwise The point alpha value is modified by computing: pointAlpha = 1 pointSize threshold 2 pointSize >= threshold otherwise If point antialiasing is disabled, the actual size is determined by rounding the supplied size to the nearest integer. (If the rounding results in the value 0, it is as if the point size were 1.) If the rounded size is odd, then the center point ( x , y ) of the pixel fragment that represents the point is computed as x w + .5 y w + .5 where w subscripts indicate window coordinates. All pixels that lie within the square grid of the rounded size centered at ( x , y ) make up the fragment. If the size is even, the center point is x w + .5 y w + .5 and the rasterized fragment's centers are the half-integer window coordinates within the square of the rounded size centered at x y . All pixel fragments produced in rasterizing a nonantialiased point are assigned the same associated data, that of the vertex corresponding to the point. If antialiasing is enabled, then point rasterization produces a fragment for each pixel square that intersects the region lying within the circle having diameter equal to the current point size and centered at the point's x w y w . The coverage value for each fragment is the window coordinate area of the intersection of the circular region with the corresponding pixel square. This value is saved and used in the final rasterization step. The data associated with each fragment is the data associated with the point being rasterized. Not all sizes are supported when point antialiasing is enabled. If an unsupported size is requested, the nearest supported size is used. Only size 1 is guaranteed to be supported; others depend on the implementation. To query the range of supported sizes and the size difference between supported sizes within the range, call glGet with arguments GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY. For aliased points, query the supported ranges and granularity with glGet with arguments GL_ALIASED_POINT_SIZE_RANGE. Notes The point size specified by glPointSize is always returned when GL_POINT_SIZE is queried. Clamping and rounding for aliased and antialiased points have no effect on the specified value. A non-antialiased point size may be clamped to an implementation-dependent maximum. Although this maximum cannot be queried, it must be no less than the maximum value for antialiased points, rounded to the nearest integer value. GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY are deprecated in GL versions 1.2 and greater. Their functionality has been replaced by GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY. Errors GL_INVALID_VALUE is generated if size is less than or equal to 0. GL_INVALID_OPERATION is generated if glPointSize is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ALIASED_POINT_SIZE_RANGE glGet with argument GL_POINT_SIZE glGet with argument GL_POINT_SIZE_MIN glGet with argument GL_POINT_SIZE_MAX glGet with argument GL_POINT_FADE_THRESHOLD_SIZE glGet with argument GL_POINT_DISTANCE_ATTENUATION glGet with argument GL_SMOOTH_POINT_SIZE_RANGE glGet with argument GL_SMOOTH_POINT_SIZE_GRANULARITY glIsEnabled with argument GL_POINT_SMOOTH See Also glEnable, glPointParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsList.xml0000664000175000017500000000660711453131432022777 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIsList 3G glIsList determine if a name corresponds to a display list C Specification GLboolean glIsList GLuint list Parameters list Specifies a potential display list name. Description glIsList returns GL_TRUE if list is the name of a display list and returns GL_FALSE if it is not, or if an error occurs. A name returned by glGenLists, but not yet associated with a display list by calling glNewList, is not the name of a display list. Errors GL_INVALID_OPERATION is generated if glIsList is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glCallList, glCallLists, glDeleteLists, glGenLists, glNewList Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCreateProgram.xml0000664000175000017500000001416611453131434024324 0ustar laneylaney glCreateProgram 3G glCreateProgram Creates a program object C Specification GLuint glCreateProgram void Description glCreateProgram creates an empty program object and returns a non-zero value by which it can be referenced. A program object is an object to which shader objects can be attached. This provides a mechanism to specify the shader objects that will be linked to create a program. It also provides a means for checking the compatibility of the shaders that will be used to create a program (for instance, checking the compatibility between a vertex shader and a fragment shader). When no longer needed as part of a program object, shader objects can be detached. One or more executables are created in a program object by successfully attaching shader objects to it with glAttachShader, successfully compiling the shader objects with glCompileShader, and successfully linking the program object with glLinkProgram. These executables are made part of current state when glUseProgram is called. Program objects can be deleted by calling glDeleteProgram. The memory associated with the program object will be deleted when it is no longer part of current rendering state for any context. Notes glCreateProgram is available only if the GL version is 2.0 or greater. Like display lists and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads. Errors This function returns 0 if an error occurs creating the program object. GL_INVALID_OPERATION is generated if glCreateProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib with a valid program object and the index of an active attribute variable glGetActiveUniform with a valid program object and the index of an active uniform variable glGetAttachedShaders with a valid program object glGetAttribLocation with a valid program object and the name of an attribute variable glGetProgram with a valid program object and the parameter to be queried glGetProgramInfoLog with a valid program object glGetUniform with a valid program object and the location of a uniform variable glGetUniformLocation with a valid program object and the name of a uniform variable glIsProgram See Also glAttachShader, glBindAttribLocation, glCreateShader, glDeleteProgram, glDetachShader, glLinkProgram, glUniform, glUseProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteLists.xml0000664000175000017500000001160311453131434024003 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDeleteLists 3G glDeleteLists delete a contiguous group of display lists C Specification void glDeleteLists GLuint list GLsizei range Parameters list Specifies the integer name of the first display list to delete. range Specifies the number of display lists to delete. Description glDeleteLists causes a contiguous group of display lists to be deleted. list is the name of the first display list to be deleted, and range is the number of display lists to delete. All display lists d with list <= d <= list + range - 1 are deleted. All storage locations allocated to the specified display lists are freed, and the names are available for reuse at a later time. Names within the range that do not have an associated display list are ignored. If range is 0, nothing happens. Errors GL_INVALID_VALUE is generated if range is negative. GL_INVALID_OPERATION is generated if glDeleteLists is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glCallList, glCallLists, glGenLists, glIsList, glNewList Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawBuffers.xml0000664000175000017500000002021011453131434023766 0ustar laneylaney glDrawBuffers 3G glDrawBuffers Specifies a list of color buffers to be drawn into C Specification void glDrawBuffers GLsizei n const GLenum *bufs Parameters n Specifies the number of buffers in bufs. bufs Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. Description glDrawBuffers defines an array of buffers into which fragment color values or fragment data will be written. If no fragment shader is active, rendering operations will generate only one fragment color per fragment and it will be written into each of the buffers specified by bufs. If a fragment shader is active and it writes a value to the output variable gl_FragColor, then that value will be written into each of the buffers specified by bufs. If a fragment shader is active and it writes a value to one or more elements of the output array variable gl_FragData[], then the value of gl_FragData[0] will be written into the first buffer specified by bufs, the value of gl_FragData[1] will be written into the second buffer specified by bufs, and so on up to gl_FragData[n-1]. The draw buffer used for gl_FragData[n] and beyond is implicitly set to be GL_NONE. The symbolic constants contained in bufs may be any of the following: GL_NONE The fragment color/data value is not written into any color buffer. GL_FRONT_LEFT The fragment color/data value is written into the front left color buffer. GL_FRONT_RIGHT The fragment color/data value is written into the front right color buffer. GL_BACK_LEFT The fragment color/data value is written into the back left color buffer. GL_BACK_RIGHT The fragment color/data value is written into the back right color buffer. GL_AUXi The fragment color/data value is written into auxiliary buffer i. Except for GL_NONE, the preceding symbolic constants may not appear more than once in bufs. The maximum number of draw buffers supported is implementation dependent and can be queried by calling glGet with the argument GL_MAX_DRAW_BUFFERS. The number of auxiliary buffers can be queried by calling glGet with the argument GL_AUX_BUFFERS. Notes glDrawBuffers is available only if the GL version is 2.0 or greater. It is always the case that GL_AUXi = GL_AUX0 + i. The symbolic constants GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_FRONT_AND_BACK are not allowed in the bufs array since they may refer to multiple buffers. If a fragment shader writes to neither gl_FragColor nor gl_FragData, the values of the fragment colors following shader execution are undefined. For each fragment generated in this situation, a different value may be written into each of the buffers specified by bufs. Errors GL_INVALID_ENUM is generated if one of the values in bufs is not an accepted value. GL_INVALID_ENUM is generated if n is less than 0. GL_INVALID_OPERATION is generated if a symbolic constant other than GL_NONE appears more than once in bufs. GL_INVALID_OPERATION is generated if any of the entries in bufs (other than GL_NONE ) indicates a color buffer that does not exist in the current GL context. GL_INVALID_VALUE is generated if n is greater than GL_MAX_DRAW_BUFFERS. GL_INVALID_OPERATION is generated if glDrawBuffers is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAX_DRAW_BUFFERS glGet with argument GL_DRAW_BUFFERSi where i indicates the number of the draw buffer whose value is to be queried See Also glBlendFunc, glColorMask, glDrawBuffers, glIndexMask, glLogicOp, glReadBuffer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryDrawable.xml0000664000175000017500000001604311453131434024464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryDrawable 3G glXQueryDrawable returns an attribute assoicated with a GLX drawable C Specification int glXQueryDrawable Display * dpy GLXDrawable draw int attribute unsigned int * value Parameters dpy Specifies the connection to the X server. draw Specifies the GLX drawable to be queried. attribute Specifies the attribute to be returned. Must be one of GLX_WIDTH, GLX_HEIGHT, GLX_PRESERVED_CONTENTS, GLX_LARGEST_PBUFFER, or GLX_FBCONFIG_ID. value Contains the return value for attribute. Description glXQueryDrawable sets value to the value of attribute with respect to the GLXDrawable draw. attribute may be one of the following: GLX_WIDTH Returns the width of ctx. GLX_HEIGHT Returns the height of ctx. GLX_PRESERVED_CONTENTS Returns True if the contents of a GLXPbuffer are preserved when a resource conflict occurs; False otherwise. GLX_LARGEST_PBUFFER Returns the value set when glXCreatePbuffer was called to create the GLXPbuffer. If False is returned, then the call to glXCreatePbuffer will fail to create a GLXPbuffer if the requested size is larger than the implementation maximum or available resources. If True is returned, a GLXPbuffer of the maximum availble size (if less than the requested width and height) is created. GLX_FBCONFIG_ID Returns the XID for draw. If draw is a GLXWindow or GLXPixmap and attribute is set to GLX_PRESERVED_CONTENTS or GLX_LARGETST_PBUFFER, the contents of value are undefined. If attribute is not one of the attributes listed above, the contents of value are unedfined. Errors A GLXBadDrawable is generated if draw is not a valid GLXDrawable. See Also glXCreateWindow, glXCreatePixmap, glXCreatePbuffer, glXGetFBConfigAttrib, glXChooseFBConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild3DMipmaps.xml0000664000175000017500000005572011453131434024534 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild3DMipmaps 3G gluBuild3DMipmaps builds a three-dimensional mipmap C Specification GLint gluBuild3DMipmaps GLenum target GLint internalFormat GLsizei width GLsizei height GLsizei depth GLenum format GLenum type const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_3D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width height depth Specifies in pixels the width, height and depth respectively, in pixels of the texture image. format Specifies the format of the pixel data. Must be one of GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of: GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description gluBuild3DMipmaps builds a series of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). Initially, the width, height and depth of data are checked to see if they are a power of 2. If not, a copy of data is made and scaled up or down to the nearest power of 2. (If width, height, or depth is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57, height is 23, and depth is 24, then a copy of data will scale up to 64 in width, down to 16 in height, and up to 32 in depth before mipmapping takes place. Then, proxy textures (see glTexImage3D) are used to determine if the implementation can fit the requested texture. If not, all three dimensions are continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half along all three dimensions until size 1 × 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) glTexImage3D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log 2 max width height depth . For example, if width is 64, height is 16, and depth is 32, and the implementation can store a texture of this size, the following mipmap levels are built: 64 × 16 × 32 , 32 × 8 × 16 , 16 × 4 × 8 , 8 × 2 × 4 , 4 × 1 × 2 , 2 × 1 × 1 , and 1 × 1 × 1 . These correspond to levels 0 through 6, respectively. See the glTexImage1D reference page for a description of the acceptable values for format parameter. See the glDrawPixels reference page for a description of the acceptable values for type parameter. Notes Note that there is no direct way of querying the maximum level. This can be derived indirectly via glGetTexLevelParameter. First, query the width, height, and depth actually used at level 0. (The width, height, and depth may not be equal to width, height, and depth respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log 2 max width height depth . gluBuild3DMipmaps is only available if the GLU version is 1.3 or greater. Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater. Errors GLU_INVALID_VALUE is returned if width, height, or depth is < 1. GLU_INVALID_ENUM is returned if internalFormat, format, or type is not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmapLevels, gluBuild1DMipmaps, gluBuild2DMipmapLevels, gluBuild3DMipmapLevels, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBeginCurve.xml0000664000175000017500000001137711453131434024010 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBeginCurve 3G gluBeginCurve delimit a NURBS curve definition C Specification void gluBeginCurve GLUnurbs* nurb C Specification void gluEndCurve GLUnurbs* nurb Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). Description Use gluBeginCurve to mark the beginning of a NURBS curve definition. After calling gluBeginCurve, make one or more calls to gluNurbsCurve to define the attributes of the curve. Exactly one of the calls to gluNurbsCurve must have a curve type of GLU_MAP1_VERTEX_3 or GLU_MAP1_VERTEX_4. To mark the end of the NURBS curve definition, call gluEndCurve. GL evaluators are used to render the NURBS curve as a series of line segments. Evaluator state is preserved during rendering with glPushAttrib(GLU_EVAL_BIT) and glPopAttrib(). See the glPushAttrib reference page for details on exactly what state these calls preserve. Example The following commands render a textured NURBS curve with normals; texture coordinates and normals are also specified as NURBS curves: gluBeginCurve(nobj); gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2); gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL); gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj); See Also gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, glPopAttrib, glPushAttrib Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glResetMinmax.xml0000664000175000017500000000655211453131432024023 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glResetMinmax 3G glResetMinmax reset minmax table entries to initial values C Specification void glResetMinmax GLenum target Parameters target Must be GL_MINMAX. Description glResetMinmax resets the elements of the current minmax table to their initial values: the ``maximum'' element receives the minimum possible component values, and the ``minimum'' element receives the maximum possible component values. Notes glResetMinmax is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_MINMAX. GL_INVALID_OPERATION is generated if glResetMinmax is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glMinmax Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluLoadSamplingMatrices.xml0000664000175000017500000001174111453131432026012 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluLoadSamplingMatrices 3G gluLoadSamplingMatrices load NURBS sampling and culling matrices C Specification void gluLoadSamplingMatrices GLUnurbs* nurb const GLfloat * model const GLfloat * perspective const GLint * view Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). model Specifies a modelview matrix (as from a glGetFloatv call). perspective Specifies a projection matrix (as from a glGetFloatv call). view Specifies a viewport (as from a glGetIntegerv call). Description gluLoadSamplingMatrices uses model, perspective, and view to recompute the sampling and culling matrices stored in nurb. The sampling matrix determines how finely a NURBS curve or surface must be tessellated to satisfy the sampling tolerance (as determined by the GLU_SAMPLING_TOLERANCE property). The culling matrix is used in deciding if a NURBS curve or surface should be culled before rendering (when the GLU_CULLING property is turned on). gluLoadSamplingMatrices is necessary only if the GLU_AUTO_LOAD_MATRIX property is turned off (see gluNurbsProperty). Although it can be convenient to leave the GLU_AUTO_LOAD_MATRIX property turned on, there can be a performance penalty for doing so. (A round trip to the GL server is needed to fetch the current values of the modelview matrix, projection matrix, and viewport.) See Also gluGetNurbsProperty, gluNewNurbsRenderer, gluNurbsProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXFreeContextEXT.xml0000664000175000017500000000755311453131434024532 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXFreeContextEXT 3G glXFreeContextEXT free client-side memory for imported context C Specification void glXFreeContextEXT Display * dpy GLXContext ctx Parameters dpy Specifies the connection to the X server. ctx Specifies a GLX rendering context. Description glXFreeContextEXT frees the client-side part of a GLXContext that was created with glXImportContextEXT. glXFreeContextEXT does not free the server-side context information or the XID associated with the server-side context. glXFreeContextEXT is part of the EXT_import_context extension, not part of the core GLX command set. If _glxextstring(EXT_import_context) is included in the string returned by glXQueryExtensionsString, when called with argument GLX_EXTENSIONS, extension EXT_vertex_array is supported. Errors GLXBadContext is generated if ctx does not refer to a valid context. See Also glXCreateContext, glXQueryVersion, glXQueryExtensionsString, glXImportContextEXT Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXSelectEvent.xml0000664000175000017500000003474311453131434024145 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXSelectEvent 3G glXSelectEvent select GLX events for a window or a GLX pixel buffer C Specification void glXSelectEvent Display * dpy GLXDrawable draw unsigned long event_mask Parameters dpy Specifies the connection to the X server. draw Specifies a GLX drawable. Must be a GLX pixel buffer or a window. event_mask Specifies the events to be returned for draw. Description glXSelectEvent sets the GLX event mask for a GLX pixel buffer or a window. Calling glXSelectEvent overrides any previous event mask that was set by the client for draw. Note that it does not affect the event masks that other clients may have specified for draw since each client rendering to draw has a separate event mask for it. Currently, only one GLX event, GLX_PBUFFER_CLOBBER_MASK, can be selected. The following data is returned to the client when a GLX_PBUFFER_CLOBBER_MASK event occurs: typedef struct { int event_type; /* GLX_DAMAGED or GLX_SAVED */ int draw_type; /* GLX_WINDOW or GLX_PBUFFER */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came for SendEvent request */ Display *display; /* display the event was read from */ GLXDrawable drawable; /* i.d. of Drawable */ unsigned int buffer_mask; /* mask indicating affected buffers */ int x, y; int width, height; int count; /* if nonzero, at least this many more */ } GLXPbufferClobberEvent; The valid bit masks used in buffer_mask are: Bitmask Corresponding Buffer GLX_FRONT_LEFT_BUFFER_BIT Front left color buffer GLX_FRONT_RIGHT_BUFFER_BIT Front right color buffer GLX_BACK_LEFT_BUFFER_BIT Back left color buffer GLX_BACK_RIGHT_BUFFER_BIT Back right color buffer GLX_AUX_BUFFERS_BIT Auxiliary buffer GLX_DEPTH_BUFFER_BIT Depth buffer GLX_STENCIL_BUFFER_BIT Stencil buffer GLX_ACCUM_BUFFER_BIT Accumulation buffer A single X server operation can cause several buffer clobber events to be sent. (e.g., a single GLX pixel buffer may be damaged and cause multiple buffer clobber events to be generated). Each event specifies one region of the GLX drawable that was affected by the X Server operation. The buffer_mask field indicates which color buffers and ancillary buffers were affected. All the buffer clobber events generated by a single X server action are guaranteed to be contiguous in the event queue. The conditions under which this event is generated and the event_type varies, depending on the type of the GLX drawable. When the GLX_AUX_BUFFERS_BIT is set in buffer_mask, then aux_buffer is set to indicate which buffer was affected. If more than one aux buffer was affected, then additional events are generated as part of the same contiguous event group. Each additional event will have only the GLX_AUX_BUFFERS_BIT set in buffer_mask, and the aux_buffer field will be set appropriately. For nonstereo drawables, GLX_FRONT_LEFT_BUFFER_BIT and GLX_BACK_LEFT_BUFFER_BIT are used to specify the front and back color buffers. For preserved GLX pixel buffers, a buffer clobber event with type GLX_SAVED is generated whenever the contents of the GLX pixel buffer is moved out of offscreen memory. The event(s) describes which portions of the GLX pixel buffer were affected. Clients who receive many buffer clobber events, referring to different save actions, should consider freeing the GLX pixel buffer resource in order to prevent the system from thrashing due to insufficient resources. For an unpreserved GLXPbuffer, a buffer clobber event, with type GLX_DAMAGED, is generated whenever a portion of the GLX pixel buffer becomes invalid. The client may wish to regenerate the invalid portions of the GLX pixel buffer. For Windows, buffer clobber events, with type GLX_SAVED, occur whenever an ancillary buffer, associated with the window, gets clobbered or moved out of off-screen memory. The event contains information indicating which color buffers and ancillary buffers\(emand which portions of those buffers\(emwere affected. Notes glXSelectEvent is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadDrawable is generated if draw is not a valid window or a valid GLX pixel buffer. Associated Gets glXGetSelectedEvent See Also glXCreatePbuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXSwapBuffers.xml0000664000175000017500000001210411453131434024136 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXSwapBuffers 3G glXSwapBuffers exchange front and back buffers C Specification void glXSwapBuffers Display * dpy GLXDrawable drawable Parameters dpy Specifies the connection to the X server. drawable Specifies the drawable whose buffers are to be swapped. Description glXSwapBuffers promotes the contents of the back buffer of drawable to become the contents of the front buffer of drawable. The contents of the back buffer then become undefined. The update typically takes place during the vertical retrace of the monitor, rather than immediately after glXSwapBuffers is called. glXSwapBuffers performs an implicit glFlush before it returns. Subsequent OpenGL commands may be issued immediately after calling glXSwapBuffers, but are not executed until the buffer exchange is completed. If drawable was not created with respect to a double-buffered visual, glXSwapBuffers has no effect, and no error is generated. Notes The contents of the back buffer become undefined after a swap. Note that this applies to pixel buffers as well as windows. All GLX rendering contexts share the same notion of which are front buffers and which are back buffers. One consequence is that when multiple clients are rendering to the same double-buffered window, all of them should finish rendering before one of them issues the command to swap buffers. The clients are responsible for implementing this synchronization. Typically this is accomplished by executing glFinish and then using a semaphore in shared memory to rendezvous before swapping. Errors GLXBadDrawable is generated if drawable is not a valid GLX drawable. GLXBadCurrentWindow is generated if dpy and drawable are respectively the display and drawable associated with the current context of the calling thread, and drawable identifies a window that is no longer valid. See Also glFlush Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBlendFunc.xml0000664000175000017500000020773611453131434023440 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBlendFunc 3G glBlendFunc specify pixel arithmetic C Specification void glBlendFunc GLenum sfactor GLenum dfactor Parameters sfactor Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. dfactor Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. Description In RGBA mode, pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use glEnable and glDisable with argument GL_BLEND to enable and disable blending. glBlendFunc defines the operation of blending when it is enabled. sfactor specifies which method is used to scale the source color components. dfactor specifies which method is used to scale the destination color components. The possible methods are described in the following table. Each method defines four scale factors, one each for red, green, blue, and alpha. In the table and in subsequent equations, source and destination color components are referred to as R s G s B s A s and R d G d B d A d . The color specified by glBlendColor is referred to as R c G c B c A c . They are understood to have integer values between 0 and k R k G k B k A , where k c = 2 m c - 1 and m R m G m B m A is the number of red, green, blue, and alpha bitplanes. Source and destination scale factors are referred to as s R s G s B s A and d R d G d B d A . The scale factors described in the table, denoted f R f G f B f A , represent either source or destination factors. All scale factors have range 0 1 . Parameter f R f G f B f A GL_ZERO 0 0 0 0 GL_ONE 1 1 1 1 GL_SRC_COLOR R s k R G s k G B s k B A s k A GL_ONE_MINUS_SRC_COLOR 1 1 1 1 - R s k R G s k G B s k B A s k A GL_DST_COLOR R d k R G d k G B d k B A d k A GL_ONE_MINUS_DST_COLOR 1 1 1 1 - R d k R G d k G B d k B A d k A GL_SRC_ALPHA A s k A A s k A A s k A A s k A GL_ONE_MINUS_SRC_ALPHA 1 1 1 1 - A s k A A s k A A s k A A s k A GL_DST_ALPHA A d k A A d k A A d k A A d k A GL_ONE_MINUS_DST_ALPHA 1 1 1 1 - A d k A A d k A A d k A A d k A GL_CONSTANT_COLOR R c G c B c A c GL_ONE_MINUS_CONSTANT_COLOR 1 1 1 1 - R c G c B c A c GL_CONSTANT_ALPHA A c A c A c A c GL_ONE_MINUS_CONSTANT_ALPHA 1 1 1 1 - A c A c A c A c GL_SRC_ALPHA_SATURATE i i i 1 In the table, i = min A s k A - A d k A To determine the blended RGBA values of a pixel when drawing in RGBA mode, the system uses the following equations: R d = min k R R s s R + R d d R G d = min k G G s s G + G d d G B d = min k B B s s B + B d d B A d = min k A A s s A + A d d A Despite the apparent precision of the above equations, blending arithmetic is not exactly specified, because blending operates with imprecise integer color values. However, a blend factor that should be equal to 1 is guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its multiplicand to 0. For example, when sfactor is GL_SRC_ALPHA, dfactor is GL_ONE_MINUS_SRC_ALPHA, and A s is equal to k A , the equations reduce to simple replacement: R d = R s G d = G s B d = B s A d = A s Examples Transparency is best implemented using blend function (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) with primitives sorted from farthest to nearest. Note that this transparency calculation does not require the presence of alpha bitplanes in the frame buffer. Blend function (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) is also useful for rendering antialiased points and lines in arbitrary order. Polygon antialiasing is optimized using blend function (GL_SRC_ALPHA_SATURATE, GL_ONE) with polygons sorted from nearest to farthest. (See the glEnable, glDisable reference page and the GL_POLYGON_SMOOTH argument for information on polygon antialiasing.) Destination alpha bitplanes, which must be present for this blend function to operate correctly, store the accumulated coverage. Notes Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 ( K A ), representing complete opacity, to 0.0 (0), representing complete transparency. When more than one color buffer is enabled for drawing, the GL performs blending separately for each enabled buffer, using the contents of that buffer for destination color. (See glDrawBuffer.) Blending affects only RGBA rendering. It is ignored by color index renderers. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA are available only if the GL version is 1.4 or greater or if the ARB_imaging is supported by your implementation. GL_SRC_COLOR and GL_ONE_MINUS_SRC_COLOR are valid only for sfactor if the GL version is 1.4 or greater. GL_DST_COLOR and GL_ONE_MINUS_DST_COLOR are valid only for dfactor if the GL version is 1.4 or greater. Errors GL_INVALID_ENUM is generated if either sfactor or dfactor is not an accepted value. GL_INVALID_OPERATION is generated if glBlendFunc is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_BLEND_SRC glGet with argument GL_BLEND_DST glIsEnabled with argument GL_BLEND See Also glAlphaFunc, glBlendColor, glBlendEquation, glBlendFuncSeparate, glClear, glDrawBuffer, glEnable, glLogicOp, glStencilFunc Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexCoordPointer.xml0000664000175000017500000003105411453131434024654 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexCoordPointer 3G glTexCoordPointer define an array of texture coordinates C Specification void glTexCoordPointer GLint size GLenum type GLsizei stride const GLvoid * pointer Parameters size Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. type Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. pointer Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. Description glTexCoordPointer specifies the location and data format of an array of texture coordinates to use when rendering. size specifies the number of coordinates per texture coordinate set, and must be 1, 2, 3, or 4. type specifies the data type of each texture coordinate, and stride specifies the byte stride from one texture coordinate set to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.) If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a texture coordinate array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as texture coordinate vertex array client-side state (GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING). When a texture coordinate array is specified, size, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable a texture coordinate array, call glEnableClientState and glDisableClientState with the argument GL_TEXTURE_COORD_ARRAY. If enabled, the texture coordinate array is used when glArrayElement, glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, or glDrawRangeElements is called. Notes glTexCoordPointer is available only if the GL version is 1.1 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexCoordPointer updates the texture coordinate array state of the active client texture unit, specified with glClientActiveTexture. Each texture coordinate array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glTexCoordPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glTexCoordPointer is typically implemented on the client side. Texture coordinate array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_VALUE is generated if size is not 1, 2, 3, or 4. GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_TEXTURE_COORD_ARRAY glGet with argument GL_TEXTURE_COORD_ARRAY_SIZE glGet with argument GL_TEXTURE_COORD_ARRAY_TYPE glGet with argument GL_TEXTURE_COORD_ARRAY_STRIDE glGet with argument GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_TEXTURE_COORD_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glClientActiveTexture, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glMultiTexCoord, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoord, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetLight.xml0000664000175000017500000004247411453131432023301 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetLight 3G glGetLight return light source parameter values C Specification void glGetLightfv GLenum light GLenum pname GLfloat * params void glGetLightiv GLenum light GLenum pname GLint * params Parameters light Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT i where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. pname Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. params Returns the requested data. Description glGetLight returns in params the value or values of a light source parameter. light names the light and is a symbolic name of the form GL_LIGHT i where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. GL_MAX_LIGHTS is an implementation dependent constant that is greater than or equal to eight. pname specifies one of ten light source parameters, again by symbolic name. The following parameters are defined: GL_AMBIENT params returns four integer or floating-point values representing the ambient intensity of the light source. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value is (0, 0, 0, 1). GL_DIFFUSE params returns four integer or floating-point values representing the diffuse intensity of the light source. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value for GL_LIGHT0 is (1, 1, 1, 1); for other lights, the initial value is (0, 0, 0, 0). GL_SPECULAR params returns four integer or floating-point values representing the specular intensity of the light source. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value for GL_LIGHT0 is (1, 1, 1, 1); for other lights, the initial value is (0, 0, 0, 0). GL_POSITION params returns four integer or floating-point values representing the position of the light source. Integer values, when requested, are computed by rounding the internal floating-point values to the nearest integer value. The returned values are those maintained in eye coordinates. They will not be equal to the values specified using glLight, unless the modelview matrix was identity at the time glLight was called. The initial value is (0, 0, 1, 0). GL_SPOT_DIRECTION params returns three integer or floating-point values representing the direction of the light source. Integer values, when requested, are computed by rounding the internal floating-point values to the nearest integer value. The returned values are those maintained in eye coordinates. They will not be equal to the values specified using glLight, unless the modelview matrix was identity at the time glLight was called. Although spot direction is normalized before being used in the lighting equation, the returned values are the transformed versions of the specified values prior to normalization. The initial value is 0 0 -1 . GL_SPOT_EXPONENT params returns a single integer or floating-point value representing the spot exponent of the light. An integer value, when requested, is computed by rounding the internal floating-point representation to the nearest integer. The initial value is 0. GL_SPOT_CUTOFF params returns a single integer or floating-point value representing the spot cutoff angle of the light. An integer value, when requested, is computed by rounding the internal floating-point representation to the nearest integer. The initial value is 180. GL_CONSTANT_ATTENUATION params returns a single integer or floating-point value representing the constant (not distance-related) attenuation of the light. An integer value, when requested, is computed by rounding the internal floating-point representation to the nearest integer. The initial value is 1. GL_LINEAR_ATTENUATION params returns a single integer or floating-point value representing the linear attenuation of the light. An integer value, when requested, is computed by rounding the internal floating-point representation to the nearest integer. The initial value is 0. GL_QUADRATIC_ATTENUATION params returns a single integer or floating-point value representing the quadratic attenuation of the light. An integer value, when requested, is computed by rounding the internal floating-point representation to the nearest integer. The initial value is 0. Notes It is always the case that GL_LIGHT i = GL_LIGHT0 + i. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_ENUM is generated if light or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetLight is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glLight Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXMakeContextCurrent.xml0000664000175000017500000002333411453131434025503 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXMakeContextCurrent 3G glXMakeContextCurrent attach a GLX context to a GLX drawable C Specification Bool glXMakeContextCurrent Display * display GLXDrawable draw GLXDrawable read GLXContext ctx Parameters display Specifies the connection to the X server. draw Specifies a GLX drawable to render into. Must be an XID representing a GLXWindow, GLXPixmap, or GLXPbuffer. read Specifies a GLX drawable to read from. Must be an XID representing a GLXWindow, GLXPixmap, or GLXPbuffer. ctx Specifies the GLX context to be bound to read and ctx. Description glXMakeContextCurrent binds ctx to the current rendering thread and to the draw and read GLX drawables. draw and read may be the same. draw is used for all OpenGL operations except: Any pixel data that are read based on the value of GLX_READ_BUFFER. Note that accumulation operations use the value of GLX_READ_BUFFER, but are not allowed unless draw is identical to read. Any depth values that are retrieved by glReadPixels or glCopyPixels. Any stencil values that are retrieved by glReadPixels or glCopyPixels. Frame buffer values are taken from draw. If the current rendering thread has a current rendering context, that context is flushed and replaced by ctx. The first time that ctx is made current, the viewport and scissor dimensions are set to the size of the draw drawable. The viewport and scissor are not modified when ctx is subsequently made current. To release the current context without assigning a new one, call glXMakeContextCurrent with draw and read set to None and ctx set to NULL. glXMakeContextCurrent returns True if it is successful, False otherwise. If False is returned, the previously current rendering context and drawable (if any) remain unchanged. Notes glXMakeContextCurrent is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors BadMatch is generated if draw and read are not compatible. BadAccess is generated if ctx is current to some other thread. GLXContextState is generated if there is a current rendering context and its render mode is either GLX_FEEDBACK or GLX_SELECT. GLXBadContext is generated if ctx is not a valid GLX rendering context. GLXBadDrawable is generated if draw or read is not a valid GLX drawable. GLXBadWindow is generated if the underlying X window for either draw or read is no longer valid. GLXBadCurrentDrawable is generated if the previous context of the calling thread has unflushed commands and the previous drawable is no longer valid. BadAlloc is generated if the X server does not have enough resources to allocate the buffers. BadMatch is generated if: draw and read cannot fit into frame buffer memory simultaneously. draw or read is a GLXPixmap and ctx is a direct-rendering context. draw or read is a GLXPixmap and ctx was previously bound to a GLXWindow or GLXPbuffer. draw or read is a GLXWindow or GLXPbuffer and ctx was previously bound to a GLXPixmap. See Also glXCreateNewContext, glXCreateWindow, glXCreatePixmap, glXCreatePbuffer, glXDestroyContext, glXGetCurrentContext, glXGetCurrentDisplay, glXGetCurrentDrawable, glXGetCurrentReadDrawable, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLoadMatrix.xml0000664000175000017500000005524111453131434023634 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLoadMatrix 3G glLoadMatrix replace the current matrix with the specified matrix C Specification void glLoadMatrixd const GLdouble * m void glLoadMatrixf const GLfloat * m Parameters m Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 × 4 column-major matrix. Description glLoadMatrix replaces the current matrix with the one whose elements are specified by m. The current matrix is the projection matrix, modelview matrix, or texture matrix, depending on the current matrix mode (see glMatrixMode). The current matrix, M, defines a transformation of coordinates. For instance, assume M refers to the modelview matrix. If v = v 0 v 1 v 2 v 3 is the set of object coordinates of a vertex, and m points to an array of 16 single- or double-precision floating-point values m = m 0 m 1 ... m 15 , then the modelview transformation M v does the following: M v = m 0 m 4 m 8 m 12 m 1 m 5 m 9 m 13 m 2 m 6 m 10 m 14 m 3 m 7 m 11 m 15 × v 0 v 1 v 2 v 3 Projection and texture transformations are similarly defined. Notes While the elements of the matrix may be specified with single or double precision, the GL implementation may store or operate on these values in less than single precision. Errors GL_INVALID_OPERATION is generated if glLoadMatrix is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glLoadIdentity, glMatrixMode, glMultMatrix, glMultTransposeMatrix, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluQuadricTexture.xml0000664000175000017500000000676511453131432024733 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluQuadricTexture 3G gluQuadricTexture specify if texturing is desired for quadrics C Specification void gluQuadricTexture GLUquadric* quad GLboolean texture Parameters quad Specifies the quadrics object (created with gluNewQuadric). texture Specifies a flag indicating if texture coordinates should be generated. Description gluQuadricTexture specifies if texture coordinates should be generated for quadrics rendered with quad. If the value of texture is GLU_TRUE, then texture coordinates are generated, and if texture is GLU_FALSE, they are not. The initial value is GLU_FALSE. The manner in which texture coordinates are generated depends upon the specific quadric rendered. See Also gluNewQuadric, gluQuadricDrawStyle, gluQuadricNormals, gluQuadricOrientation Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXDestroyPbuffer.xml0000664000175000017500000000677011453131434024666 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXDestroyPbuffer 3G glXDestroyPbuffer destroy an off-screen rendering area C Specification void glXDestroyPbuffer Display * dpy GLXPbuffer pbuf Parameters dpy Specifies the connection to the X server. pbuf Specifies the GLXPbuffer to be destroyed. Description glXDestroyPbuffer destroys a GLXPbuffer created by glXCreatePbuffer. Notes glXDestroyPbuffer is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadPbuffer is generated if pbuf is not a valid GLXPbuffer. See Also glXChooseFBConfig, glXCreatePbuffer, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexSubImage3D.xml0000664000175000017500000006140611453131432024132 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexSubImage3D 3G glTexSubImage3D specify a three-dimensional texture subimage C Specification void glTexSubImage3D GLenum target GLint level GLint xoffset GLint yoffset GLint zoffset GLsizei width GLsizei height GLsizei depth GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_3D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. zoffset Specifies a texel offset in the z direction within the texture array. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. depth Specifies the depth of the texture subimage. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable three-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_3D. glTexSubImage3D redefines a contiguous subregion of an existing three-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , inclusive, y indices yoffset and yoffset + height - 1 , inclusive, and z indices zoffset and zoffset + depth - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width, height, or depth but such a specification has no effect. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glTexSubImage3D is available only if the GL version is 1.2 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage3D specifies a three-dimensional subtexture for the current texture unit, specified with glActiveTexture. When the ARB_imaging extension is supported, the RGBA components specified in data may be processed by the imaging pipeline. See glTexImage3D for specific details. Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D. GL_INVALID_ENUM is generated if format is not an accepted format constant. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max, where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , xoffset + width > w - b , yoffset < - b , or yoffset + height > h - b , or zoffset < - b , or zoffset + depth > d - b , where w is the GL_TEXTURE_WIDTH, h is the GL_TEXTURE_HEIGHT, d is the GL_TEXTURE_DEPTH and b is the border width of the texture image being modified. Note that w, h, and d include twice the border width. GL_INVALID_VALUE is generated if width, height, or depth is less than 0. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage3D operation. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexSubImage3D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_3D glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClientActiveTexture.xml0000664000175000017500000001141511453131434025516 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClientActiveTexture 3G glClientActiveTexture select active texture unit C Specification void glClientActiveTexture GLenum texture Parameters texture Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTUREi, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0. Description glClientActiveTexture selects the vertex array client state parameters to be modified by glTexCoordPointer, and enabled or disabled with glEnableClientState or glDisableClientState, respectively, when called with a parameter of GL_TEXTURE_COORD_ARRAY. Notes glClientActiveTexture is supported only if the GL version is 1.3 or greater, or ARB_multitexture is included in the string returned by glGetString when called with the argument GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if texture is not one of GL_TEXTUREi, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1. Associated Gets glGet with argument GL_CLIENT_ACTIVE_TEXTURE or GL_MAX_TEXTURE_COORDS See Also glActiveTexture, glDisableClientState, glEnableClientState, glMultiTexCoord, glTexCoordPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXIntro.xml0000664000175000017500000004622311453131432023011 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXIntro 3G glXIntro Introduction to OpenGL in the X window system Overview OpenGL (called GL in other pages) is a high-performance 3D-oriented renderer. It is available in the X window system through the GLX extension. To determine whether the GLX extension is supported by an X server, and if so, what version is supported, call glXQueryExtension and glXQueryVersion. GLX extended X servers make a subset of their visuals available for OpenGL rendering. Drawables created with these visual can also be rendered into using the core X renderer and or any other X extension that is compatible with all core X visuals. GLX extends a drawable's standard color buffer with additional buffers. These buffers include back and auxiliary color buffers, a depth buffer, a stencil buffer, and a color accumulation buffer. Some or all of the buffers listed are included in each X visual that supports OpenGL. GLX supports rendering into three types of drawables: windows, pixmaps, and pbuffers (pixel buffers). GLX windows and pixmaps are X resources, and capable of accepting core X rendering as well as OpenGL rendering. GLX-pbuffers are GLX only resources and might not accept core X rendering. To render using OpenGL into a GLX drawable, you must determine the appropriate GLXFBConfig that supports the rendering features your application requires. glXChooseFBConfig returns a GLXFBConfig matching the required attributes or NULL if no match is found. A complete list of GLXFBConfigs supported by a server can be obtained by calling glXGetFBConfigs. Attributes of a particular GLXFBConfig can be queried by calling glXGetFBConfigAttrib. For GLX windows and pixmaps, a suitable X drawable (using either XCreateWindow or XCreatePixmap, respectively) with a matching visual must be created first. Call glXGetVisualFromFBConfig to obtain the necessary XVisualInfo structure for creating the X drawable. For pbuffers, no underlying X drawable is required. To create a GLX window from an X window, call glXCreateWindow. Likewise, to create a GLX pixmap, call glXCreatePixmap. Pbuffers are created by calling glXCreatePbuffer. Use glXDestroyWindow, glXDestroyPixmap, and glXDestroyPbuffer to release previously allocated resources. A GLX context is required to bind OpenGL rendering to a GLX resource. A GLX resource and rendering context must have compatible GLXFBConfigs. To create a GLX context, call glXCreateNewContext. A context may be bound to a GLX drawable by using glXMakeContextCurrent. This context/drawable pair becomes the current context and current drawable, and is used by all OpenGL rendering commands until glXMakeContextCurrent is called with different arguments. Both core X and OpenGL commands can be used to operate on drawables; however, the X and OpenGL command streams are not synchronized. Synchronization can be explicitly specified using by calling glXWaitGL, glXWaitX, XSync, and XFlush. Examples Below is a minimal example of creating an RGBA-format X window that's compatible with OpenGL using GLX 1.3 commands. The window is cleared to yellow when the program runs. The program does minimal error checking; all return values should be checked. #include <stdio.h> #include <stdlib.h> #include <GL/gl.h> #include <GL/glx.h> int singleBufferAttributess[] = { GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_RED_SIZE, 1, /* Request a single buffered color buffer */ GLX_GREEN_SIZE, 1, /* with the maximum number of color bits */ GLX_BLUE_SIZE, 1, /* for each component */ None }; int doubleBufferAttributes[] = { GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_DOUBLEBUFFER, True, /* Request a double-buffered color buffer with */ GLX_RED_SIZE, 1, /* the maximum number of bits per component */ GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, None }; static Bool WaitForNotify( Display *dpy, XEvent *event, XPointer arg ) { return (event->type == MapNotify) && (event->xmap.window == (Window) arg); } int main( int argc, char *argv[] ) { Display *dpy; Window xWin; XEvent event; XVisualInfo *vInfo; XSetWindowAttributes swa; GLXFBConfig *fbConfigs; GLXContext context; GLXWindow glxWin; int swaMask; int numReturned; int swapFlag = True; /* Open a connection to the X server */ dpy = XOpenDisplay( NULL ); if ( dpy == NULL ) { printf( "Unable to open a connection to the X server\n" ); exit( EXIT_FAILURE ); } /* Request a suitable framebuffer configuration - try for a double ** buffered configuration first */ fbConfigs = glXChooseFBConfig( dpy, DefaultScreen(dpy), doubleBufferAttributes, &numReturned ); if ( fbConfigs == NULL ) { /* no double buffered configs available */ fbConfigs = glXChooseFBConfig( dpy, DefaultScreen(dpy), singleBufferAttributess, &numReturned ); swapFlag = False; } /* Create an X colormap and window with a visual matching the first ** returned framebuffer config */ vInfo = glXGetVisualFromFBConfig( dpy, fbConfigs[0] ); swa.border_pixel = 0; swa.event_mask = StructureNotifyMask; swa.colormap = XCreateColormap( dpy, RootWindow(dpy, vInfo->screen), vInfo->visual, AllocNone ); swaMask = CWBorderPixel | CWColormap | CWEventMask; xWin = XCreateWindow( dpy, RootWindow(dpy, vInfo->screen), 0, 0, 256, 256, 0, vInfo->depth, InputOutput, vInfo->visual, swaMask, &swa ); /* Create a GLX context for OpenGL rendering */ context = glXCreateNewContext( dpy, fbConfigs[0], GLX_RGBA_TYPE, NULL, True ); /* Create a GLX window to associate the frame buffer configuration ** with the created X window */ glxWin = glXCreateWindow( dpy, fbConfigs[0], xWin, NULL ); /* Map the window to the screen, and wait for it to appear */ XMapWindow( dpy, xWin ); XIfEvent( dpy, &event, WaitForNotify, (XPointer) xWin ); /* Bind the GLX context to the Window */ glXMakeContextCurrent( dpy, glxWin, glxWin, context ); /* OpenGL rendering ... */ glClearColor( 1.0, 1.0, 0.0, 1.0 ); glClear( GL_COLOR_BUFFER_BIT ); glFlush(); if ( swapFlag ) glXSwapBuffers( dpy, glxWin ); sleep( 10 ); exit( EXIT_SUCCESS ); } Notes An X color map must be created and passed to XCreateWindow. A GLX context must be created and bound to a GLX drawable before OpenGL commands can be executed. OpenGL commands executed while no context/drawable pair is current result in undefined behavior. Exposure events indicate that all buffers associated with the specified window may be damaged and should be repainted. Although certain buffers of some visuals on some systems may never require repainting (the depth buffer, for example), it is incorrect to write a program assuming that these buffers will not be damaged. GLX commands utilize XVisualInfo structures rather than pointers to visuals or visualIDs directly. XVisualInfo structures contain visual, visualID, screen, and depth elements, as well as other X-specific information. Using GLX Extensions All supported GLX extensions will have a corresponding definition in glx.h and a token in the extension string returned by glXQueryExtensionsString. For example, if the EXT_visual_info extension is supported, then this token will be defined in glx.h and EXT_visual_info will appear in the extension string returned by glXQueryExtensionsString. The definitions in glx.h can be used at compile time to determine if procedure calls corresponding to an extension exist in the library. OpenGL itself is capable of being extended. GLX 1.1, GLX 1.2, and GLX 1.3 GLX 1.3 is now supported and is backward compatible with GLX 1.1 and GLX 1.2. It introduces new functionality (namely GLXFBConfigs) that supersedes the GLX 1.2 functionality. GLX 1.2 commands are supported, but their use in new application development is not recommended. GLX 1.3 corresponds to OpenGL versions 1.2 and introduces the following new calls: glXGetFBConfigs, glXGetFBConfigAttrib, glXGetVisualFromFBConfig, glXCreateWindow, glXDestroyWindow, glXCreatePixmap, glXDestroyPixmap, glXCreatePbuffer, glXDestroyPbuffer, glXQueryDrawable, glXCreateNewContext, glXMakeContextCurrent, glXGetCurrentReadDrawable, glXGetCurrentDisplay, glXQueryContext, and glXSelectEvent, glXGetSelectedEvent. GLX 1.2 corresponds to OpenGL version 1.1 and introduces the following new call: glXGetCurrentDisplay. GLX 1.1 corresponds to OpenGL version 1.0 and introduces the following new calls: glXQueryExtensionsString, glXQueryServerString, and glXGetClientString. Call glXQueryVersion to determine at runtime what version of GLX is available. glXQueryVersion returns the version that is supported on the connection. Thus, if 1.3 is returned, both the client and server support GLX 1.3. You can also check the GLX version at compile time: GLX_VERSION_1_1 will be defined in glx.h if GLX 1.1 calls are supported, GLX_VERSION_1_2 will be defined if GLX 1.2 calls are supported, and GLX_VERSION_1_3 will be defined if GLX 1.3 calls are supported. See Also glFinish, glFlush, glXChooseVisual, glXCopyContext, glXCreateContext, glXCreateGLXPixmap, glXCreateNewContext, glXCreatePbuffer, glXCreatePixmap, glXCreateWindow, glXDestroyContext, glXDestroyPbuffer, glXDestroyPixmap, glXDestroyWindow, glXGetClientString, glXGetConfig, glXGetCurrentDisplay, glXGetCurrentReadDrawable, glXGetFBConfigAttrib, glXGetFBConfigs, glXGetProcAddress, glXGetSelectedEvent, glXGetVisualFromFBConfig, glXIsDirect, glXMakeContextCurrent, glXMakeCurrent, glXQueryContext, glXQueryDrawable, glXQueryExtension, glXQueryExtensionsString, glXQueryServerString, glXQueryVersion, glXSelectEvent, glXSwapBuffers, glXUseXFont, glXWaitGL, glXWaitX. XCreateColormap, XCreateWindow, XSync Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glShadeModel.xml0000664000175000017500000002472511453131432023576 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glShadeModel 3G glShadeModel select flat or smooth shading C Specification void glShadeModel GLenum mode Parameters mode Specifies a symbolic value representing a shading technique. Accepted values are GL_FLAT and GL_SMOOTH. The initial value is GL_SMOOTH. Description GL primitives can have either flat or smooth shading. Smooth shading, the default, causes the computed colors of vertices to be interpolated as the primitive is rasterized, typically assigning different colors to each resulting pixel fragment. Flat shading selects the computed color of just one vertex and assigns it to all the pixel fragments generated by rasterizing a single primitive. In either case, the computed color of a vertex is the result of lighting if lighting is enabled, or it is the current color at the time the vertex was specified if lighting is disabled. Flat and smooth shading are indistinguishable for points. Starting when glBegin is issued and counting vertices and primitives from 1, the GL gives each flat-shaded line segment i the computed color of vertex i + 1 , its second vertex. Counting similarly from 1, the GL gives each flat-shaded polygon the computed color of the vertex listed in the following table. This is the last vertex to specify the polygon in all cases except single polygons, where the first vertex specifies the flat-shaded color. Primitive Type of Polygon i Vertex Single polygon ( i == 1 ) 1 Triangle strip i + 2 Triangle fan i + 2 Independent triangle 3 i Quad strip 2 i + 2 Independent quad 4 i Flat and smooth shading are specified by glShadeModel with mode set to GL_FLAT and GL_SMOOTH, respectively. Errors GL_INVALID_ENUM is generated if mode is any value other than GL_FLAT or GL_SMOOTH. GL_INVALID_OPERATION is generated if glShadeModel is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_SHADE_MODEL See Also glBegin, glColor, glLight, glLightModel Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluErrorString.xml0000664000175000017500000000665611453131434024243 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluErrorString 3G gluErrorString produce an error string from a GL or GLU error code C Specification const GLubyte * gluErrorString GLenum error Parameters error Specifies a GL or GLU error code. Description gluErrorString produces an error string from a GL or GLU error code. The string is in ISO Latin 1 format. For example, gluErrorString(GLU_OUT_OF_MEMORY) returns the string out of memory. The standard GLU error codes are GLU_INVALID_ENUM, GLU_INVALID_VALUE, and GLU_OUT_OF_MEMORY. Certain other GLU functions can return specialized error codes through callbacks. See the glGetError reference page for the list of GL error codes. Errors NULL is returned if error is not a valid GL or GLU error code. See Also gluNurbsCallback, gluQuadricCallback, gluTessCallback, glGetError Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsSurface.xml0000664000175000017500000002514311453131434024355 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsSurface 3G gluNurbsSurface define the shape of a NURBS surface C Specification void gluNurbsSurface GLUnurbs* nurb GLint sKnotCount GLfloat* sKnots GLint tKnotCount GLfloat* tKnots GLint sStride GLint tStride GLfloat* control GLint sOrder GLint tOrder GLenum type Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). sKnotCount Specifies the number of knots in the parametric u direction. sKnots Specifies an array of sKnotCount nondecreasing knot values in the parametric u direction. tKnotCount Specifies the number of knots in the parametric v direction. tKnots Specifies an array of tKnotCount nondecreasing knot values in the parametric v direction. sStride Specifies the offset (as a number of single-precision floating-point values) between successive control points in the parametric u direction in control. tStride Specifies the offset (in single-precision floating-point values) between successive control points in the parametric v direction in control. control Specifies an array containing control points for the NURBS surface. The offsets between successive control points in the parametric u and v directions are given by sStride and tStride. sOrder Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. tOrder Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. type Specifies type of the surface. type can be any of the valid two-dimensional evaluator types (such as GLU_MAP2_VERTEX_3 or GLU_MAP2_COLOR_4). Description Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the shape of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition, use the gluBeginSurface command. To mark the end of a NURBS surface definition, use the gluEndSurface command. Call gluNurbsSurface within a NURBS surface definition only. Positional, texture, and color coordinates are associated with a surface by presenting each as a separate gluNurbsSurface between a gluBeginSurface/gluEndSurface pair. No more than one call to gluNurbsSurface for each of color, position, and texture data can be made within a single gluBeginSurface/gluEndSurface pair. Exactly one call must be made to describe the position of the surface (a type of GLU_MAP2_VERTEX_3 or GLU_MAP2_VERTEX_4). A NURBS surface can be trimmed by using the commands gluNurbsCurve and gluPwlCurve between calls to gluBeginTrim and gluEndTrim. Note that a gluNurbsSurface with sKnotCount knots in the u direction and tKnotCount knots in the v direction with orders sOrder and tOrder must have (sKnotCount - sOrder) times (tKnotCount - tOrder) control points. Example The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also NURBS surfaces: gluBeginSurface(nobj); gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2); gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL); gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj); See Also gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, gluPwlCurve Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFeedbackBuffer.xml0000664000175000017500000005343311453131434024407 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFeedbackBuffer 3G glFeedbackBuffer controls feedback mode C Specification void glFeedbackBuffer GLsizei size GLenum type GLfloat * buffer Parameters size Specifies the maximum number of values that can be written into buffer. type Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. buffer Returns the feedback data. Description The glFeedbackBuffer function controls feedback. Feedback, like selection, is a GL mode. The mode is selected by calling glRenderMode with GL_FEEDBACK. When the GL is in feedback mode, no pixels are produced by rasterization. Instead, information about primitives that would have been rasterized is fed back to the application using the GL. glFeedbackBuffer has three arguments: buffer is a pointer to an array of floating-point values into which feedback information is placed. size indicates the size of the array. type is a symbolic constant describing the information that is fed back for each vertex. glFeedbackBuffer must be issued before feedback mode is enabled (by calling glRenderMode with argument GL_FEEDBACK). Setting GL_FEEDBACK without establishing the feedback buffer, or calling glFeedbackBuffer while the GL is in feedback mode, is an error. When glRenderMode is called while in feedback mode, it returns the number of entries placed in the feedback array and resets the feedback array pointer to the base of the feedback buffer. The returned value never exceeds size. If the feedback data required more room than was available in buffer, glRenderMode returns a negative value. To take the GL out of feedback mode, call glRenderMode with a parameter value other than GL_FEEDBACK. While in feedback mode, each primitive, bitmap, or pixel rectangle that would be rasterized generates a block of values that are copied into the feedback array. If doing so would cause the number of entries to exceed the maximum, the block is partially written so as to fill the array (if there is any room left at all), and an overflow flag is set. Each block begins with a code indicating the primitive type, followed by values that describe the primitive's vertices and associated data. Entries are also written for bitmaps and pixel rectangles. Feedback occurs after polygon culling and glPolygonMode interpretation of polygons has taken place, so polygons that are culled are not returned in the feedback buffer. It can also occur after polygons with more than three edges are broken up into triangles, if the GL implementation renders polygons by performing this decomposition. The glPassThrough command can be used to insert a marker into the feedback buffer. See glPassThrough. Following is the grammar for the blocks of values written into the feedback buffer. Each primitive is indicated with a unique identifying value followed by some number of vertices. Polygon entries include an integer value indicating how many vertices follow. A vertex is fed back as some number of floating-point values, as determined by type. Colors are fed back as four values in RGBA mode and one value in color index mode. feedbackList feedbackItem feedbackList | feedbackItem feedbackItem point | lineSegment | polygon | bitmap | pixelRectangle | passThru point GL_POINT_TOKEN vertex lineSegment GL_LINE_TOKEN vertex vertex | GL_LINE_RESET_TOKEN vertex vertex polygon GL_POLYGON_TOKEN n polySpec polySpec polySpec vertex | vertex vertex vertex bitmap GL_BITMAP_TOKEN vertex pixelRectangle GL_DRAW_PIXEL_TOKEN vertex | GL_COPY_PIXEL_TOKEN vertex passThru GL_PASS_THROUGH_TOKEN value vertex 2d | 3d | 3dColor | 3dColorTexture | 4dColorTexture 2d value value 3d value value value 3dColor value value value color 3dColorTexture value value value color tex 4dColorTexture value value value value color tex color rgba | index rgba value value value value index value tex value value value value value is a floating-point number, and n is a floating-point integer giving the number of vertices in the polygon. GL_POINT_TOKEN, GL_LINE_TOKEN, GL_LINE_RESET_TOKEN, GL_POLYGON_TOKEN, GL_BITMAP_TOKEN, GL_DRAW_PIXEL_TOKEN, GL_COPY_PIXEL_TOKEN and GL_PASS_THROUGH_TOKEN are symbolic floating-point constants. GL_LINE_RESET_TOKEN is returned whenever the line stipple pattern is reset. The data returned as a vertex depends on the feedback type. The following table gives the correspondence between type and the number of values per vertex. k is 1 in color index mode and 4 in RGBA mode. Type Coordinates Color Texture Total Number of Values GL_2D x, y 2 GL_3D x, y, z 3 GL_3D_COLOR x, y, z k 3 + k GL_3D_COLOR_TEXTURE x, y, z k 4 7 + k GL_4D_COLOR_TEXTURE x, y, z, w k 4 8 + k Feedback vertex coordinates are in window coordinates, except w, which is in clip coordinates. Feedback colors are lighted, if lighting is enabled. Feedback texture coordinates are generated, if texture coordinate generation is enabled. They are always transformed by the texture matrix. Notes glFeedbackBuffer, when used in a display list, is not compiled into the display list but is executed immediately. glFeedbackBuffer returns only the texture coordinate of texture unit GL_TEXTURE0. Errors GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if size is negative. GL_INVALID_OPERATION is generated if glFeedbackBuffer is called while the render mode is GL_FEEDBACK, or if glRenderMode is called with argument GL_FEEDBACK before glFeedbackBuffer is called at least once. GL_INVALID_OPERATION is generated if glFeedbackBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_RENDER_MODE glGet with argument GL_FEEDBACK_BUFFER_POINTER glGet with argument GL_FEEDBACK_BUFFER_SIZE glGet with argument GL_FEEDBACK_BUFFER_TYPE See Also glBegin, glLineStipple, glPassThrough, glPolygonMode, glRenderMode, glSelectBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreateNewContext.xml0000664000175000017500000002113111453131434025131 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreateNewContext 3G glXCreateNewContext create a new GLX rendering context C Specification GLXContext glXCreateNewContext Display * dpy GLXFBConfig config int render_type GLXContext share_list Bool direct Parameters dpy Specifies the connection to the X server. config Specifies the GLXFBConfig structure with the desired attributes for the context. render_type Specifies the type of the context to be created. Must be one of GLX_RGBA_TYPE or GLX_COLOR_INDEX_TYPE. share_list Specifies the context with which to share display lists. NULL indicates that no sharing is to take place. share_list Specifies whether rendering is to be done with a direct connection to the graphics system if possible (True) or through the X server (False). Description glXCreateNewContext creates a GLX rendering context and returns its handle. This context can be used to render into GLX windows, pixmaps, or pixel buffers. If glXCreateNewContext fails to create a rendering context, NULL is returned. If render_type is GLX_RGBA_TYPE, then a context that supports RGBA rendering is created. If config is GLX_COLOR_INDEX_TYPE, then context supporting color-index rendering is created. If render_type is not NULL, then all display-list indexes and definitions are shared by context render_type and by the newly created context. An arbitrary number of contexts can share a single display-list space. However, all rendering contexts that share a single display-list space must themselves exist in the same address space. Two rendering contexts share an address space if both are nondirect using the same server, or if both are direct and owned by a single process. Note that in the nondirect case, it is not necessary for the calling threads to share an address space, only for their related rendering contexts to share an address space. If share_list is True, then a direct-rendering context is created if the implementation supports direct rendering, if the connection is to an X server that is local, and if a direct-rendering context is available. (An implementation may return an indirect context when share_list is True.) If share_list is False, then a rendering context that renders through the X server is always created. Direct rendering provides a performance advantage in some implementations. However, direct-rendering contexts cannot be shared outside a single process, and they may be unable to render to GLX pixmaps. Notes glXCreateNewContext is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors NULL is returned if execution fails on the client side. GLXBadContext is generated if render_type is not a GLX context and is not NULL. GLXBadFBConfig is generated if config is not a valid GLXFBConfig. BadMatch is generated if the context to be created would not share the address space or the screen of the context specified by render_type. BadAlloc is generated if the server does not have enough resources to allocate the new context. BadValue is generated if config is not a valid visual (for example, if a particular GLX implementation does not support it). See Also glXChooseFBConfig, glXCreateContext, glXDestroyContext, glXGetFBConfigs, glXGetFBConfigAttrib, glXIsDirect, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexImage3D.xml0000664000175000017500000014136211453131434023462 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexImage3D 3G glTexImage3D specify a three-dimensional texture image C Specification void glTexImage3D GLenum target GLint level GLint internalFormat GLsizei width GLsizei height GLsizei depth GLint border GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the n th mipmap reduction image. internalFormat Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support 3D texture images that are at least 16 texels wide. height Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 m + 2 border for some integer m. All implementations support 3D texture images that are at least 16 texels high. depth Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 k + 2 border for some integer k. All implementations support 3D texture images that are at least 16 texels deep. border Specifies the width of the border. Must be either 0 or 1. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable three-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_3D. To define texture images, call glTexImage3D. The arguments describe the parameters of the texture image, such as height, width, depth, width of the border, level-of-detail number (see glTexParameter), and number of color components provided. The last three arguments describe how the image is represented in memory; they are identical to the pixel formats used for glDrawPixels. If target is GL_PROXY_TEXTURE_3D, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. If target is GL_TEXTURE_3D, data is read from data as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on type. These values are grouped into sets of one, two, three, or four values, depending on format, to form elements. If type is GL_BITMAP, the data is considered as a string of unsigned bytes (and format must be GL_COLOR_INDEX). Each data byte is treated as eight 1-bit elements, with bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore). If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image. format determines the composition of each element in data. It can assume one of these symbolic values: GL_COLOR_INDEX Each element is a single value, a color index. The GL converts it to fixed point (with an unspecified number of zero bits to the right of the binary point), shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET (see glPixelTransfer). The resulting index is converted to a set of color components using the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables, and clamped to the range [0,1]. GL_RED Each element is a single red component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for green and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_GREEN Each element is a single green component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_BLUE Each element is a single blue component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and green, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_ALPHA Each element is a single alpha component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_INTENSITY Each element is a single intensity value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the intensity value three times for red, green, blue, and alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGB GL_BGR Each element is an RGB triple. The GL converts it to floating point and assembles it into an RGBA element by attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGBA GL_BGRA Each element contains all four components. Each component is multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE Each element is a single luminance value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue and attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE_ALPHA Each element is a luminance/alpha pair. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). Refer to the glDrawPixels reference page for a description of the acceptable values for the type parameter. If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with internalFormat. The GL will choose an internal representation that closely approximates that requested by internalFormat, but it may not match exactly. (The representations specified by GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 may also be used to specify the above representations.) If the internalFormat parameter is one of the generic compressed formats, GL_COMPRESSED_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the internalFormat parameter is GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, or GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s > 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the GL_PROXY_TEXTURE_3D target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call glGetTexLevelParameter. If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color extracted from data. A two-component image uses the R and A values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. Notes Texturing has no effect in color index mode. The texture image can be represented by the same data formats as the pixels in a glDrawPixels command, except that GL_STENCIL_INDEX and GL_DEPTH_COMPONENT cannot be used. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. glTexImage3D is available only if the GL version is 1.2 or greater. Internal formats other than 1, 2, 3, or 4 may be used only if the GL version is 1.1 or greater. data may be a null pointer. In this case texture memory is allocated to accommodate a texture of width width, height height, and depth depth. You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexImage3D specifies the three-dimensional texture for the current texture unit, specified with glActiveTexture. If the ARB_imaging extension is supported, RGBA elements may also be processed by the imaging pipeline. The following stages may be applied to an RGBA color before color component clamping to the range 0 1 : 1. Color component replacement by the color table specified for GL_COLOR_TABLE, if enabled. See glColorTable. 2. Color component replacement by the color table specified for GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. 3. Transformation by the color matrix. See glMatrixMode. 4. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See glPixelTransfer. 5. Color component replacement by the color table specified for GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. The GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, and GL_SLUMINANCE8_ALPHA8 internal formats are only available if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. GL_INVALID_ENUM is generated if format is not an accepted format constant. Format constants other than GL_STENCIL_INDEX and GL_DEPTH_COMPONENT are accepted. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the accepted resolution and format symbolic constants. GL_INVALID_VALUE is generated if width, height, or depth is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width, height, or depth cannot be represented as 2 k + 2 border for some integer value of k. GL_INVALID_VALUE is generated if border is not 0 or 1. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if format or internalFormat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexImage3D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_3D glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glGetCompressedTexImage, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexCoord.xml0000664000175000017500000004035411453131434023316 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexCoord 3G glTexCoord set the current texture coordinates C Specification void glTexCoord1s GLshort s void glTexCoord1i GLint s void glTexCoord1f GLfloat s void glTexCoord1d GLdouble s void glTexCoord2s GLshort s GLshort t void glTexCoord2i GLint s GLint t void glTexCoord2f GLfloat s GLfloat t void glTexCoord2d GLdouble s GLdouble t void glTexCoord3s GLshort s GLshort t GLshort r void glTexCoord3i GLint s GLint t GLint r void glTexCoord3f GLfloat s GLfloat t GLfloat r void glTexCoord3d GLdouble s GLdouble t GLdouble r void glTexCoord4s GLshort s GLshort t GLshort r GLshort q void glTexCoord4i GLint s GLint t GLint r GLint q void glTexCoord4f GLfloat s GLfloat t GLfloat r GLfloat q void glTexCoord4d GLdouble s GLdouble t GLdouble r GLdouble q Parameters s t r q Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. C Specification void glTexCoord1sv const GLshort * v void glTexCoord1iv const GLint * v void glTexCoord1fv const GLfloat * v void glTexCoord1dv const GLdouble * v void glTexCoord2sv const GLshort * v void glTexCoord2iv const GLint * v void glTexCoord2fv const GLfloat * v void glTexCoord2dv const GLdouble * v void glTexCoord3sv const GLshort * v void glTexCoord3iv const GLint * v void glTexCoord3fv const GLfloat * v void glTexCoord3dv const GLdouble * v void glTexCoord4sv const GLshort * v void glTexCoord4iv const GLint * v void glTexCoord4fv const GLfloat * v void glTexCoord4dv const GLdouble * v Parameters v Specifies a pointer to an array of one, two, three, or four elements, which in turn specify the s, t, r, and q texture coordinates. Description glTexCoord specifies texture coordinates in one, two, three, or four dimensions. glTexCoord1 sets the current texture coordinates to s 0 0 1 ; a call to glTexCoord2 sets them to s t 0 1 . Similarly, glTexCoord3 specifies the texture coordinates as s t r 1 , and glTexCoord4 defines all four components explicitly as s t r q . The current texture coordinates are part of the data that is associated with each vertex and with the current raster position. Initially, the values for s, t, r, and q are (0, 0, 0, 1). Notes The current texture coordinates can be updated at any time. In particular, glTexCoord can be called between a call to glBegin and the corresponding call to glEnd. When the ARB_imaging extension is supported, glTexCoord always updates texture unit GL_TEXTURE0. Associated Gets glGet with argument GL_CURRENT_TEXTURE_COORDS See Also glMultiTexCoord, glTexCoordPointer, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDepthMask.xml0000664000175000017500000000727111453131434023450 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDepthMask 3G glDepthMask enable or disable writing into the depth buffer C Specification void glDepthMask GLboolean flag Parameters flag Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled. Description glDepthMask specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled. Errors GL_INVALID_OPERATION is generated if glDepthMask is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_DEPTH_WRITEMASK See Also glColorMask, glDepthFunc, glDepthRange, glIndexMask, glStencilMask Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetHistogramParameter.xml0000664000175000017500000002207711453131434026027 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetHistogramParameter 3G glGetHistogramParameter get histogram parameters C Specification void glGetHistogramParameterfv GLenum target GLenum pname GLfloat * params void glGetHistogramParameteriv GLenum target GLenum pname GLint * params Parameters target Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. pname The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. params Pointer to storage for the returned values. Description glGetHistogramParameter is used to query parameter values for the current histogram or for a proxy. The histogram state information may be queried by calling glGetHistogramParameter with a target of GL_HISTOGRAM (to obtain information for the current histogram table) or GL_PROXY_HISTOGRAM (to obtain information from the most recent proxy request) and one of the following values for the pname argument: Parameter Description GL_HISTOGRAM_WIDTH Histogram table width GL_HISTOGRAM_FORMAT Internal format GL_HISTOGRAM_RED_SIZE Red component counter size, in bits GL_HISTOGRAM_GREEN_SIZE Green component counter size, in bits GL_HISTOGRAM_BLUE_SIZE Blue component counter size, in bits GL_HISTOGRAM_ALPHA_SIZE Alpha component counter size, in bits GL_HISTOGRAM_LUMINANCE_SIZE Luminance component counter size, in bits GL_HISTOGRAM_SINK Value of the sink parameter Notes glGetHistogramParameter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if pname is not one of the allowable values. GL_INVALID_OPERATION is generated if glGetHistogramParameter is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glGetHistogram, glHistogram Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilMask.xml0000664000175000017500000001263211453131434024002 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilMask 3G glStencilMask control the front and back writing of individual bits in the stencil planes C Specification void glStencilMask GLuint mask Parameters mask Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Description glStencilMask controls the writing of individual bits in the stencil planes. The least significant n bits of mask, where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing. There can be two separate mask writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilMask sets both front and back stencil writemasks to the same values. Use glStencilMaskSeparate to set front and back stencil writemasks to different values. Notes glStencilMask is the same as calling glStencilMaskSeparate with face set to GL_FRONT_AND_BACK. Errors GL_INVALID_OPERATION is generated if glStencilMask is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, or GL_STENCIL_BITS See Also glColorMask, glDepthMask, glIndexMask, glStencilFunc, glStencilFuncSeparate, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCreateShader.xml0000664000175000017500000001166711453131434024126 0ustar laneylaney glCreateShader 3G glCreateShader Creates a shader object C Specification GLuint glCreateShader GLenum shaderType Parameters shaderType Specifies the type of shader to be created. Must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. Description glCreateShader creates an empty shader object and returns a non-zero value by which it can be referenced. A shader object is used to maintain the source code strings that define a shader. shaderType indicates the type of shader to be created. Two types of shaders are supported. A shader of type GL_VERTEX_SHADER is a shader that is intended to run on the programmable vertex processor and replace the fixed functionality vertex processing in OpenGL. A shader of type GL_FRAGMENT_SHADER is a shader that is intended to run on the programmable fragment processor and replace the fixed functionality fragment processing in OpenGL. When created, a shader object's GL_SHADER_TYPE parameter is set to either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER, depending on the value of shaderType. Notes glCreateShader is available only if the GL version is 2.0 or greater. Like display lists and texture objects, the name space for shader objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads. Errors This function returns 0 if an error occurs creating the shader object. GL_INVALID_ENUM is generated if shaderType is not an accepted value. GL_INVALID_OPERATION is generated if glCreateShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShader with a valid shader object and the parameter to be queried glGetShaderInfoLog with a valid shader object glGetShaderSource with a valid shader object glIsShader See Also glAttachShader, glCompileShader, glDeleteShader, glDetachShader, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetPointerv.xml0000664000175000017500000001467611453131434024045 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetPointerv 3G glGetPointerv return the address of the specified pointer C Specification void glGetPointerv GLenum pname GLvoid ** params Parameters pname Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. params Returns the pointer value specified by pname. Description glGetPointerv returns pointer information. pname is a symbolic constant indicating the pointer to be returned, and params is a pointer to a location in which to place the returned data. For all pname arguments except GL_FEEDBACK_BUFFER_POINTER and GL_SELECTION_BUFFER_POINTER, if a non-zero named buffer object was bound to the GL_ARRAY_BUFFER target (see glBindBuffer) when the desired pointer was previously specified, the pointer returned is a byte offset into the buffer object's data store. Buffer objects are only available in OpenGL versions 1.5 and greater. Notes glGetPointerv is available only if the GL version is 1.1 or greater. GL_FOG_COORD_ARRAY_POINTER and GL_SECONDARY_COLOR_ARRAY_POINTER are available only if the GL version is 1.4 or greater. The pointers are all client-side state. The initial value for each pointer is 0. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, querying the GL_TEXTURE_COORD_ARRAY_POINTER returns the value for the active client texture unit. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. See Also glBindBuffer, glClientActiveTexture, glColorPointer, glEdgeFlagPointer, glFogCoordPointer, glFeedbackBuffer, glGetVertexAttribPointerv, glIndexPointer, glNormalPointer, glSecondaryColorPointer, glSelectBuffer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetProcAddress.xml0000664000175000017500000000532611453131434024570 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetProcAddress 3G glXGetProcAddress obtain a pointer to an OpenGL or GLX function C Specification void(*)() glXGetProcAddress const GLubyte * procName Parameters procName Specifies the name of the OpenGL or GLX function whose address is to be returned. Description glXGetProcAddress returns the address of the function specified in procName. This is necessary in environments where the OpenGL link library exports a different set of functions than the runtime library. Notes A NULL pointer is returned if function requested is not suported in the implementation being queried. GLU functions are not queryable due to the fact that the library may not be loaded at the time of the query. Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluUnProject4.xml0000664000175000017500000004355111453131432023751 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluUnProject4 3G gluUnProject4 map window and clip coordinates to object coordinates C Specification GLint gluUnProject4 GLdouble winX GLdouble winY GLdouble winZ GLdouble clipW const GLdouble * model const GLdouble * proj const GLint * view GLdouble nearVal GLdouble farVal GLdouble* objX GLdouble* objY GLdouble* objZ GLdouble* objW Parameters winX winY winZ Specify the window coordinates to be mapped. clipW Specify the clip w coordinate to be mapped. model Specifies the modelview matrix (as from a glGetDoublev call). proj Specifies the projection matrix (as from a glGetDoublev call). view Specifies the viewport (as from a glGetIntegerv call). nearVal farVal Specifies the near and far planes (as from a glGetDoublev call). objX objY objZ objW Returns the computed object coordinates. Description gluUnProject4 maps the specified window coordinatesi: winX, winY, and winZ and its clip w coordinate clipW into object coordinates objX objY objZ objW using model, proj, and view. clipW can be other than 1 as for vertices in glFeedbackBuffer when data type GLU_4D_COLOR_TEXTURE is returned. This also handles the case where the nearVal and farVal planes are different from the default, 0 and 1, respectively. A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure. To compute the coordinates objX objY objZ objW , gluUnProject4 multiplies the normalized device coordinates by the inverse of model * proj as follows: objX objY objZ objW = INV P M 2 winX - view 0 view 2 - 1 2 winY - view 1 view 3 - 1 2 winZ - nearVal farVal - nearVal - 1 clipW INV denotes matrix inversion. gluUnProject4 is equivalent to gluUnProject when clipW is 1, nearVal is 0, and farVal is 1. Notes gluUnProject4 is available only if the GLU version is 1.3 or greater. See Also gluProject, gluUnProject, glFeedbackBuffer, glGet Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetActiveUniform.xml0000664000175000017500000003004311453131434024774 0ustar laneylaney glGetActiveUniform 3G glGetActiveUniform Returns information about an active uniform variable for the specified program object C Specification void glGetActiveUniform GLuint program GLuint index GLsizei bufSize GLsizei *length GLint *size GLenum *type GLchar *name Parameters program Specifies the program object to be queried. index Specifies the index of the uniform variable to be queried. bufSize Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. length Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. size Returns the size of the uniform variable. type Returns the data type of the uniform variable. name Returns a null terminated string containing the name of the uniform variable. Description glGetActiveUniform returns information about an active uniform variable in the program object specified by program. The number of active uniform variables can be obtained by calling glGetProgram with the value GL_ACTIVE_UNIFORMS. A value of 0 for index selects the first active uniform variable. Permissible values for index range from 0 to the number of active uniform variables minus 1. Shaders may use either built-in uniform variables, user-defined uniform variables, or both. Built-in uniform variables have a prefix of "gl_" and reference existing OpenGL state or values derived from such state (e.g., gl_Fog, gl_ModelViewMatrix, etc., see the OpenGL Shading Language specification for a complete list.) User-defined uniform variables have arbitrary names and obtain their values from the application through calls to glUniform. A uniform variable (either built-in or user-defined) is considered active if it is determined during the link operation that it may be accessed during program execution. Therefore, program should have previously been the target of a call to glLinkProgram, but it is not necessary for it to have been linked successfully. The size of the character buffer required to store the longest uniform variable name in program can be obtained by calling glGetProgram with the value GL_ACTIVE_UNIFORM_MAX_LENGTH. This value should be used to allocate a buffer of sufficient size to store the returned uniform variable name. The size of this character buffer is passed in bufSize, and a pointer to this character buffer is passed in name. glGetActiveUniform returns the name of the uniform variable indicated by index, storing it in the character buffer specified by name. The string returned will be null terminated. The actual number of characters written into this buffer is returned in length, and this count does not include the null termination character. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The type argument will return a pointer to the uniform variable's data type. The symbolic constants GL_FLOAT, GL_FLOAT_VEC2, GL_FLOAT_VEC3, GL_FLOAT_VEC4, GL_INT, GL_INT_VEC2, GL_INT_VEC3, GL_INT_VEC4, GL_BOOL, GL_BOOL_VEC2, GL_BOOL_VEC3, GL_BOOL_VEC4, GL_FLOAT_MAT2, GL_FLOAT_MAT3, GL_FLOAT_MAT4, GL_FLOAT_MAT2x3, GL_FLOAT_MAT2x4, GL_FLOAT_MAT3x2, GL_FLOAT_MAT3x4, GL_FLOAT_MAT4x2, GL_FLOAT_MAT4x3, GL_SAMPLER_1D, GL_SAMPLER_2D, GL_SAMPLER_3D, GL_SAMPLER_CUBE, GL_SAMPLER_1D_SHADOW, or GL_SAMPLER_2D_SHADOW may be returned. If one or more elements of an array are active, the name of the array is returned in name, the type is returned in type, and the size parameter returns the highest array element index used, plus one, as determined by the compiler and/or linker. Only one active uniform variable will be reported for a uniform array. Uniform variables that are declared as structures or arrays of structures will not be returned directly by this function. Instead, each of these uniform variables will be reduced to its fundamental components containing the "." and "[]" operators such that each of the names is valid as an argument to glGetUniformLocation. Each of these reduced uniform variables is counted as one active uniform variable and is assigned an index. A valid name cannot be a structure, an array of structures, or a subcomponent of a vector or matrix. The size of the uniform variable will be returned in size. Uniform variables other than arrays will have a size of 1. Structures and arrays of structures will be reduced as described earlier, such that each of the names returned will be a data type in the earlier list. If this reduction results in an array, the size returned will be as described for uniform arrays; otherwise, the size returned will be 1. The list of active uniform variables may include both built-in uniform variables (which begin with the prefix "gl_") as well as user-defined uniform variable names. This function will return as much information as it can about the specified active uniform variable. If no information is available, length will be 0, and name will be an empty string. This situation could occur if this function is called after a link operation that failed. If an error occurs, the return values length, size, type, and name will be unmodified. Notes glGetActiveUniform is available only if the GL version is 2.0 or greater. GL_FLOAT_MAT2x3, GL_FLOAT_MAT2x4, GL_FLOAT_MAT3x2, GL_FLOAT_MAT3x4, GL_FLOAT_MAT4x2, and GL_FLOAT_MAT4x3 will only be returned as a type if the GL version is 2.1 or greater. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_VALUE is generated if index is greater than or equal to the number of active uniform variables in program. GL_INVALID_OPERATION is generated if glGetActiveUniform is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_VALUE is generated if bufSize is less than 0. Associated Gets glGet with argument GL_MAX_VERTEX_UNIFORM_COMPONENTS or GL_MAX_FRAGMENT_UNIFORM_COMPONENTS. glGetProgram with argument GL_ACTIVE_UNIFORMS or GL_ACTIVE_UNIFORM_MAX_LENGTH. glIsProgram See Also glGetUniform, glGetUniformLocation, glLinkProgram, glUniform, glUseProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetMap.xml0000664000175000017500000002737111453131434022750 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetMap 3G glGetMap return evaluator parameters C Specification void glGetMapdv GLenum target GLenum query GLdouble * v void glGetMapfv GLenum target GLenum query GLfloat * v void glGetMapiv GLenum target GLenum query GLint * v Parameters target Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. query Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. v Returns the requested data. Description glMap1 and glMap2 define evaluators. glGetMap returns evaluator parameters. target chooses a map, query selects a specific parameter, and v points to storage where the values will be returned. The acceptable values for the target parameter are described in the glMap1 and glMap2 reference pages. query can assume the following values: GL_COEFF v returns the control points for the evaluator function. One-dimensional evaluators return order control points, and two-dimensional evaluators return uorder × vorder control points. Each control point consists of one, two, three, or four integer, single-precision floating-point, or double-precision floating-point values, depending on the type of the evaluator. The GL returns two-dimensional control points in row-major order, incrementing the uorder index quickly and the vorder index after each row. Integer values, when requested, are computed by rounding the internal floating-point values to the nearest integer values. GL_ORDER v returns the order of the evaluator function. One-dimensional evaluators return a single value, order. The initial value is 1. Two-dimensional evaluators return two values, uorder and vorder. The initial value is 1,1. GL_DOMAIN v returns the linear u and v mapping parameters. One-dimensional evaluators return two values, u1 and u2, as specified by glMap1. Two-dimensional evaluators return four values (u1, u2, v1, and v2) as specified by glMap2. Integer values, when requested, are computed by rounding the internal floating-point values to the nearest integer values. Notes If an error is generated, no change is made to the contents of v. Errors GL_INVALID_ENUM is generated if either target or query is not an accepted value. GL_INVALID_OPERATION is generated if glGetMap is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glEvalCoord, glMap1, glMap2 Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetClientString.xml0000664000175000017500000001165411453131432024763 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetClientString 3G glXGetClientString return a string describing the client C Specification const char * glXGetClientString Display * dpy int name Parameters dpy Specifies the connection to the X server. name Specifies which string is returned. The symbolic constants GLX_VENDOR, GLX_VERSION, and GLX_EXTENSIONS are accepted. Description glXGetClientString returns a string describing some aspect of the client library. The possible values for name are GLX_VENDOR, GLX_VERSION, and GLX_EXTENSIONS. If name is not set to one of these values, glXGetClientString returns NULL. The format and contents of the vendor string is implementation dependent. The extensions string is null-terminated and contains a space-separated list of extension names. (The extension names never contain spaces.) If there are no extensions to GLX, then the empty string is returned. The version string is laid out as follows: <major_version.minor_version><space><vendor-specific info> Both the major and minor portions of the version number are of arbitrary length. The vendor-specific information is optional. However, if it is present, the format and contents are implementation specific. Notes glXGetClientString is available only if the GLX version is 1.1 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. glXGetClientString only returns information about GLX extensions supported by the client. Call glGetString to get a list of GL extensions supported by the server. See Also glXQueryVersion, glXQueryExtensionsString, glXQueryServerString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetPolygonStipple.xml0000664000175000017500000001345311453131434025217 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetPolygonStipple 3G glGetPolygonStipple return the polygon stipple pattern C Specification void glGetPolygonStipple GLubyte * pattern Parameters pattern Returns the stipple pattern. The initial value is all 1's. Description glGetPolygonStipple returns to pattern a 32 × 32 polygon stipple pattern. The pattern is packed into memory as if glReadPixels with both height and width of 32, type of GL_BITMAP, and format of GL_COLOR_INDEX were called, and the stipple pattern were stored in an internal 32 × 32 color index buffer. Unlike glReadPixels, however, pixel transfer operations (shift, offset, pixel map) are not applied to the returned stipple image. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a polygon stipple pattern is requested, pattern is treated as a byte offset into the buffer object's data store. Notes If an error is generated, no change is made to the contents of pattern. Errors GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if glGetPolygonStipple is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glPixelStore, glPixelTransfer, glPolygonStipple, glReadPixels Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetConvolutionParameter.xml0000664000175000017500000002341411453131432026403 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetConvolutionParameter 3G glGetConvolutionParameter get convolution parameters C Specification void glGetConvolutionParameterfv GLenum target GLenum pname GLfloat * params void glGetConvolutionParameteriv GLenum target GLenum pname GLint * params Parameters target The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. pname The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. params Pointer to storage for the parameters to be retrieved. Description glGetConvolutionParameter retrieves convolution parameters. target determines which convolution filter is queried. pname determines which parameter is returned: GL_CONVOLUTION_BORDER_MODE The convolution border mode. See glConvolutionParameter for a list of border modes. GL_CONVOLUTION_BORDER_COLOR The current convolution border color. params must be a pointer to an array of four elements, which will receive the red, green, blue, and alpha border colors. GL_CONVOLUTION_FILTER_SCALE The current filter scale factors. params must be a pointer to an array of four elements, which will receive the red, green, blue, and alpha filter scale factors in that order. GL_CONVOLUTION_FILTER_BIAS The current filter bias factors. params must be a pointer to an array of four elements, which will receive the red, green, blue, and alpha filter bias terms in that order. GL_CONVOLUTION_FORMAT The current internal format. See glConvolutionFilter1D, glConvolutionFilter2D, and glSeparableFilter2D for lists of allowable formats. GL_CONVOLUTION_WIDTH The current filter image width. GL_CONVOLUTION_HEIGHT The current filter image height. GL_MAX_CONVOLUTION_WIDTH The maximum acceptable filter image width. GL_MAX_CONVOLUTION_HEIGHT The maximum acceptable filter image height. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if pname is not one of the allowable values. GL_INVALID_ENUM is generated if target is GL_CONVOLUTION_1D and pname is GL_CONVOLUTION_HEIGHT or GL_MAX_CONVOLUTION_HEIGHT. GL_INVALID_OPERATION is generated if glGetConvolutionParameter is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glGetConvolutionFilter, glGetSeparableFilter, glConvolutionParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEvalCoord.xml0000664000175000017500000004524011453131434023444 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEvalCoord 3G glEvalCoord evaluate enabled one- and two-dimensional maps C Specification void glEvalCoord1f GLfloat u void glEvalCoord1d GLdouble u void glEvalCoord2f GLfloat u GLfloat v void glEvalCoord2d GLdouble u GLdouble v Parameters u Specifies a value that is the domain coordinate u to the basis function defined in a previous glMap1 or glMap2 command. v Specifies a value that is the domain coordinate v to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. C Specification void glEvalCoord1fv const GLfloat * u void glEvalCoord1dv const GLdouble * u void glEvalCoord2fv const GLfloat * u void glEvalCoord2dv const GLdouble * u Parameters u Specifies a pointer to an array containing either one or two domain coordinates. The first coordinate is u. The second coordinate is v, which is present only in glEvalCoord2 versions. Description glEvalCoord1 evaluates enabled one-dimensional maps at argument u. glEvalCoord2 does the same for two-dimensional maps using two domain values, u and v. To define a map, call glMap1 and glMap2; to enable and disable it, call glEnable and glDisable. When one of the glEvalCoord commands is issued, all currently enabled maps of the indicated dimension are evaluated. Then, for each enabled map, it is as if the corresponding GL command had been issued with the computed value. That is, if GL_MAP1_INDEX or GL_MAP2_INDEX is enabled, a glIndex command is simulated. If GL_MAP1_COLOR_4 or GL_MAP2_COLOR_4 is enabled, a glColor command is simulated. If GL_MAP1_NORMAL or GL_MAP2_NORMAL is enabled, a normal vector is produced, and if any of GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, or GL_MAP2_TEXTURE_COORD_4 is enabled, then an appropriate glTexCoord command is simulated. For color, color index, normal, and texture coordinates the GL uses evaluated values instead of current values for those evaluations that are enabled, and current values otherwise, However, the evaluated values do not update the current values. Thus, if glVertex commands are interspersed with glEvalCoord commands, the color, normal, and texture coordinates associated with the glVertex commands are not affected by the values generated by the glEvalCoord commands, but only by the most recent glColor, glIndex, glNormal, and glTexCoord commands. No commands are issued for maps that are not enabled. If more than one texture evaluation is enabled for a particular dimension (for example, GL_MAP2_TEXTURE_COORD_1 and GL_MAP2_TEXTURE_COORD_2), then only the evaluation of the map that produces the larger number of coordinates (in this case, GL_MAP2_TEXTURE_COORD_2) is carried out. GL_MAP1_VERTEX_4 overrides GL_MAP1_VERTEX_3, and GL_MAP2_VERTEX_4 overrides GL_MAP2_VERTEX_3, in the same manner. If neither a three- nor a four-component vertex map is enabled for the specified dimension, the glEvalCoord command is ignored. If you have enabled automatic normal generation, by calling glEnable with argument GL_AUTO_NORMAL, glEvalCoord2 generates surface normals analytically, regardless of the contents or enabling of the GL_MAP2_NORMAL map. Let m = p u × p v Then the generated normal n is n = m m If automatic normal generation is disabled, the corresponding normal map GL_MAP2_NORMAL, if enabled, is used to produce a normal. If neither automatic normal generation nor a normal map is enabled, no normal is generated for glEvalCoord2 commands. Associated Gets glIsEnabled with argument GL_MAP1_VERTEX_3 glIsEnabled with argument GL_MAP1_VERTEX_4 glIsEnabled with argument GL_MAP1_INDEX glIsEnabled with argument GL_MAP1_COLOR_4 glIsEnabled with argument GL_MAP1_NORMAL glIsEnabled with argument GL_MAP1_TEXTURE_COORD_1 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_2 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_3 glIsEnabled with argument GL_MAP1_TEXTURE_COORD_4 glIsEnabled with argument GL_MAP2_VERTEX_3 glIsEnabled with argument GL_MAP2_VERTEX_4 glIsEnabled with argument GL_MAP2_INDEX glIsEnabled with argument GL_MAP2_COLOR_4 glIsEnabled with argument GL_MAP2_NORMAL glIsEnabled with argument GL_MAP2_TEXTURE_COORD_1 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_2 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_3 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_4 glIsEnabled with argument GL_AUTO_NORMAL glGetMap See Also glBegin, glColor, glEnable, glEvalMesh, glEvalPoint, glIndex, glMap1, glMap2, glMapGrid, glNormal, glTexCoord, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessBeginPolygon.xml0000664000175000017500000001323411453131434025204 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessBeginPolygon 3G gluTessBeginPolygon delimit a polygon description C Specification void gluTessBeginPolygon GLUtesselator* tess GLvoid* data Parameters tess Specifies the tessellation object (created with gluNewTess). data Specifies a pointer to user polygon data. Description gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/gluTessEndPolygon pair, there must be one or more calls to gluTessBeginContour/gluTessEndContour. Within each contour, there are zero or more calls to gluTessVertex. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the gluTessVertex, gluTessBeginContour, and gluTessEndContour reference pages for more details. data is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see gluTessCallback), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. Once gluTessEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See gluTessCallback for descriptions of the callback functions. Example A quadrilateral with a triangular hole in it can be described as follows: gluTessBeginPolygon(tobj, NULL); gluTessBeginContour(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluTessEndContour(tobj); gluTessBeginContour(tobj); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluTessEndContour(tobj); gluTessEndPolygon(tobj); See Also gluNewTess, gluTessBeginContour, gluTessCallback, gluTessEndPolygon, gluTessNormal, gluTessProperty, gluTessVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMultTransposeMatrix.xml0000664000175000017500000013125211453131434025572 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMultTransposeMatrix 3G glMultTransposeMatrix multiply the current matrix with the specified row-major ordered matrix C Specification void glMultTransposeMatrixd const GLdouble * m void glMultTransposeMatrixf const GLfloat * m Parameters m Points to 16 consecutive values that are used as the elements of a 4 × 4 row-major matrix. Description glMultTransposeMatrix multiplies the current matrix with the one specified using m, and replaces the current matrix with the product. The current matrix is determined by the current matrix mode (see glMatrixMode). It is either the projection matrix, modelview matrix, or the texture matrix. Examples If the current matrix is C and the coordinates to be transformed are v = v 0 v 1 v 2 v 3 , then the current transformation is C × v , or c 0 c 4 c 8 c 12 c 1 c 5 c 9 c 13 c 2 c 6 c 10 c 14 c 3 c 7 c 11 c 15 × v 0 v 1 v 2 v 3 Calling glMultTransposeMatrix with an argument of m 16 = m 0 m 1 ... m 15 replaces the current transformation with C × M × v , or c 0 c 4 c 8 c 12 c 1 c 5 c 9 c 13 c 2 c 6 c 10 c 14 c 3 c 7 c 11 c 15 × m 0 m 1 m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9 m 10 m 11 m 12 m 13 m 14 m 15 × v 0 v 1 v 2 v 3 Where v is represented as a 4 × 1 matrix. Calling glMultTransposeMatrix with matrix M is identical in operation to glMultMatrix with M T , where T represents the transpose. Notes glMultTransposeMatrix is available only if the GL version is 1.3 or greater. While the elements of the matrix may be specified with single or double precision, the GL may store or operate on these values in less-than-single precision. The order of the multiplication is important. For example, if the current transformation is a rotation, and glMultTransposeMatrix is called with a translation matrix, the translation is done directly on the coordinates to be transformed, while the rotation is done on the results of that translation. Errors GL_INVALID_OPERATION is generated if glMultTransposeMatrix is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glLoadIdentity, glLoadMatrix, glLoadTransposeMatrix, glMatrixMode, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXChooseFBConfig.xml0000664000175000017500000010650211453131434024473 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXChooseFBConfig 3G glXChooseFBConfig return a list of GLX frame buffer configurations that match the specified attributes C Specification GLXFBConfig * glXChooseFBConfig Display * dpy int screen const int * attrib_list int * nelements Parameters dpy Specifies the connection to the X server. screen Specifies the screen number. attrib_list Specifies a list of attribute/value pairs. The last attribute must be None. nelements Returns the number of elements in the list returned by glXChooseFBConfig. Description glXChooseFBConfig returns GLX frame buffer configurations that match the attributes specified in attrib_list, or NULL if no matches are found. If attrib_list is NULL, then glXChooseFBConfig returns an array of GLX frame buffer configurations that are available on the specified screen. If an error occurs, no frame buffer configurations exist on the specified screen, or if no frame buffer configurations match the specified attributes, then NULL is returned. Use XFree to free the memory returned by glXChooseFBConfig. All attributes in attrib_list, including boolean attributes, are immediately followed by the corresponding desired value. The list is terminated with None. If an attribute is not specified in attrib_list, then the default value (see below) is used (and the attribute is said to be specified implicitly). For example, if GLX_STEREO is not specified, then it is assumed to be False. For some attributes, the default is GLX_DONT_CARE, meaning that any value is OK for this attribute, so the attribute will not be checked. Attributes are matched in an attribute-specific manner. Some of the attributes, such as GLX_LEVEL, must match the specified value exactly; others, such as, GLX_RED_SIZE must meet or exceed the specified minimum values. If more than one GLX frame buffer configuration is found, then a list of configurations, sorted according to the ``best'' match criteria, is returned. The match criteria for each attribute and the exact sorting order is defined below. The interpretations of the various GLX visual attributes are as follows: GLX_FBCONFIG_ID Must be followed by a valid XID that indicates the desired GLX frame buffer configuration. When a GLX_FBCONFIG_ID is specified, all attributes are ignored. The default value is GLX_DONT_CARE. GLX_BUFFER_SIZE Must be followed by a nonnegative integer that indicates the desired color index buffer size. The smallest index buffer of at least the specified size is preferred. This attribute is ignored if GLX_COLOR_INDEX_BIT is not set in GLX_RENDER_TYPE. The default value is 0. GLX_LEVEL Must be followed by an integer buffer-level specification. This specification is honored exactly. Buffer level 0 corresponds to the default frame buffer of the display. Buffer level 1 is the first overlay frame buffer, level two the second overlay frame buffer, and so on. Negative buffer levels correspond to underlay frame buffers. The default value is 0. GLX_DOUBLEBUFFER Must be followed by True or False. If True is specified, then only double-buffered frame buffer configurations are considered; if False is specified, then only single-buffered frame buffer configurations are considered. The default value is GLX_DONT_CARE. GLX_STEREO Must be followed by True or False. If True is specified, then only stereo frame buffer configurations are considered; if False is specified, then only monoscopic frame buffer configurations are considered. The default value is False. GLX_AUX_BUFFERS Must be followed by a nonnegative integer that indicates the desired number of auxiliary buffers. Configurations with the smallest number of auxiliary buffers that meet or exceed the specified number are preferred. The default value is 0. GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, GLX_ALPHA_SIZE Each attribute, if present, must be followed by a nonnegative minimum size specification or GLX_DONT_CARE. The largest available total RGBA color buffer size (sum of GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE) of at least the minimum size specified for each color component is preferred. If the requested number of bits for a color component is 0 or GLX_DONT_CARE, it is not considered. The default value for each color component is 0. GLX_DEPTH_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, frame buffer configurations with no depth buffer are preferred. Otherwise, the largest available depth buffer of at least the minimum size is preferred. The default value is 0. GLX_STENCIL_SIZE Must be followed by a nonnegative integer that indicates the desired number of stencil bitplanes. The smallest stencil buffer of at least the specified size is preferred. If the desired value is zero, frame buffer configurations with no stencil buffer are preferred. The default value is 0. GLX_ACCUM_RED_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, frame buffer configurations with no red accumulation buffer are preferred. Otherwise, the largest possible red accumulation buffer of at least the minimum size is preferred. The default value is 0. GLX_ACCUM_GREEN_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, frame buffer configurations with no green accumulation buffer are preferred. Otherwise, the largest possible green accumulation buffer of at least the minimum size is preferred. The default value is 0. GLX_ACCUM_BLUE_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, frame buffer configurations with no blue accumulation buffer are preferred. Otherwise, the largest possible blue accumulation buffer of at least the minimum size is preferred. The default value is 0. GLX_ACCUM_ALPHA_SIZE Must be followed by a nonnegative minimum size specification. If this value is zero, frame buffer configurations with no alpha accumulation buffer are preferred. Otherwise, the largest possible alpha accumulation buffer of at least the minimum size is preferred. The default value is 0. GLX_RENDER_TYPE Must be followed by a mask indicating which OpenGL rendering modes the frame buffer configuration must support. Valid bits are GLX_RGBA_BIT and GLX_COLOR_INDEX_BIT. If the mask is set to GLX_RGBA_BIT | GLX_COLOR_INDEX_BIT, then only frame buffer configurations that can be bound to both RGBA contexts and color index contexts will be considered. The default value is GLX_RGBA_BIT. GLX_DRAWABLE_TYPE Must be followed by a mask indicating which GLX drawable types the frame buffer configuration must support. Valid bits are GLX_WINDOW_BIT, GLX_PIXMAP_BIT, and GLX_PBUFFER_BIT. For example, if mask is set to GLX_WINDOW_BIT | GLX_PIXMAP_BIT, only frame buffer configurations that support both windows and GLX pixmaps will be considered. The default value is GLX_WINDOW_BIT. GLX_X_RENDERABLE Must be followed by True or False. If True is specified, then only frame buffer configurations that have associated X visuals (and can be used to render to Windows and/or GLX pixmaps) will be considered. The default value is GLX_DONT_CARE. GLX_X_VISUAL_TYPE Must be followed by one of GLX_TRUE_COLOR, GLX_DIRECT_COLOR, GLX_PSEUDO_COLOR, GLX_STATIC_COLOR, GLX_GRAY_SCALE, or GLX_STATIC_GRAY, indicating the desired X visual type. Not all frame buffer configurations have an associated X visual. If GLX_DRAWABLE_TYPE is specified in attrib_list and the mask that follows does not have GLX_WINDOW_BIT set, then this value is ignored. It is also ignored if GLX_X_RENDERABLE is specified as False. RGBA rendering may be supported for visuals of type GLX_TRUE_COLOR, GLX_DIRECT_COLOR, GLX_PSEUDO_COLOR, or GLX_STATIC_COLOR, but color index rendering is only supported for visuals of type GLX_PSEUDO_COLOR or GLX_STATIC_COLOR (i.e., single-channel visuals). The tokens GLX_GRAY_SCALE and GLX_STATIC_GRAY will not match current OpenGL enabled visuals, but are included for future use. The default value for GLX_X_VISUAL_TYPE is GLX_DONT_CARE. GLX_CONFIG_CAVEAT Must be followed by one of GLX_NONE, GLX_SLOW_CONFIG, GLX_NON_CONFORMANT_CONFIG. If GLX_NONE is specified, then only frame buffer configurations with no caveats will be considered; if GLX_SLOW_CONFIG is specified, then only slow frame buffer configurations will be considered; if GLX_NON_CONFORMANT_CONFIG is specified, then only nonconformant frame buffer configurations will be considered. The default value is GLX_DONT_CARE. GLX_TRANSPARENT_TYPE Must be followed by one of GLX_NONE, GLX_TRANSPARENT_RGB, GLX_TRANSPARENT_INDEX. If GLX_NONE is specified, then only opaque frame buffer configurations will be considered; if GLX_TRANSPARENT_RGB is specified, then only transparent frame buffer configurations that support RGBA rendering will be considered; if GLX_TRANSPARENT_INDEX is specified, then only transparent frame buffer configurations that support color index rendering will be considered. The default value is GLX_NONE. GLX_TRANSPARENT_INDEX_VALUE Must be followed by an integer value indicating the transparent index value; the value must be between 0 and the maximum frame buffer value for indices. Only frame buffer configurations that use the specified transparent index value will be considered. The default value is GLX_DONT_CARE. This attribute is ignored unless GLX_TRANSPARENT_TYPE is included in attrib_list and specified as GLX_TRANSPARENT_INDEX. GLX_TRANSPARENT_RED_VALUE Must be followed by an integer value indicating the transparent red value; the value must be between 0 and the maximum frame buffer value for red. Only frame buffer configurations that use the specified transparent red value will be considered. The default value is GLX_DONT_CARE. This attribute is ignored unless GLX_TRANSPARENT_TYPE is included in attrib_list and specified as GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_GREEN_VALUE Must be followed by an integer value indicating the transparent green value; the value must be between 0 and the maximum frame buffer value for green. Only frame buffer configurations that use the specified transparent green value will be considered. The default value is GLX_DONT_CARE. This attribute is ignored unless GLX_TRANSPARENT_TYPE is included in attrib_list and specified as GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_BLUE_VALUE Must be followed by an integer value indicating the transparent blue value; the value must be between 0 and the maximum frame buffer value for blue. Only frame buffer configurations that use the specified transparent blue value will be considered. The default value is GLX_DONT_CARE. This attribute is ignored unless GLX_TRANSPARENT_TYPE is included in attrib_list and specified as GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_ALPHA_VALUE Must be followed by an integer value indicating the transparent alpha value; the value must be between 0 and the maximum frame buffer value for alpha. Only frame buffer configurations that use the specified transparent alpha value will be considered. The default value is GLX_DONT_CARE. When more than one GLX frame buffer configuration matches the specified attributes, a list of matching configurations is returned. The list is sorted according to the following precedence rules, which are applied in ascending order (i.e., configurations that are considered equal by a lower numbered rule are sorted by the higher numbered rule): 1. By GLX_CONFIG_CAVEAT where the precedence is GLX_NONE, GLX_SLOW_CONFIG, and GLX_NON_CONFORMANT_CONFIG. 2. Larger total number of RGBA color components (GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, plus GLX_ALPHA_SIZE) that have higher number of bits. If the requested number of bits in attrib_list is zero or GLX_DONT_CARE for a particular color component, then the number of bits for that component is not considered. 3. Smaller GLX_BUFFER_SIZE. 4. Single buffered configuration (GLX_DOUBLEBUFFER being False precedes a double buffered one. 5. Smaller GLX_AUX_BUFFERS. 6. Larger GLX_DEPTH_SIZE. 7. Smaller GLX_STENCIL_SIZE. 8. Larger total number of accumulation buffer color components (GLX_ACCUM_RED_SIZE, GLX_ACCUM_GREEN_SIZE, GLX_ACCUM_BLUE_SIZE, plus GLX_ACCUM_ALPHA_SIZE) that have higher number of bits. If the requested number of bits in attrib_list is zero or GLX_DONT_CARE for a particular color component, then the number of bits for that component is not considered. 9. By GLX_X_VISUAL_TYPE where the precedence order is GLX_TRUE_COLOR, GLX_DIRECT_COLOR, GLX_PSEUDO_COLOR, GLX_STATIC_COLOR, GLX_GRAY_SCALE, GLX_STATIC_GRAY. Examples attrib_list = {GLX_RENDER_TYPE, GLX_RGBA_BIT, GLX_RED_SIZE, 4, GLX_GREEN_SIZE, 4, GLX_BLUE_SIZE, 4, None}; Specifies a frame buffer configuration that supports RGBA rendering and exists in the normal frame buffer, not an overlay or underlay buffer. The returned visual supports at least four bits each of red, green, and blue, and possibly no bits of alpha. It does not support stereo display. It may or may not have one or more auxiliary color buffers, a back buffer, a depth buffer, a stencil buffer, or an accumulation buffer. Notes glXChooseFBConfig is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. glXGetFBConfigs and glXGetFBConfigAttrib can be used to implement selection algorithms other than the generic one implemented by glXChooseFBConfig. Call glXChooseFBConfig to retrieve all the frame buffer configurations on a particular screen or, alternatively, all the frame buffer configurations with a particular set of attributes. Next, call glXGetFBConfigAttrib to retrieve additional attributes for the frame buffer configurations and then select between them. GLX implementations are strongly discouraged, but not proscribed, from changing the selection algorithm used by glXChooseFBConfig. Therefore, selections may change from release to release of the client-side library. Errors NULL is returned if an undefined GLX attribute is encountered in attrib_list, if screen is invalid, or if dpy does not support the GLX extension. See Also glXGetFBConfigAttrib, glXGetFBConfigs, glXGetVisualFromFBConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXDestroyWindow.xml0000664000175000017500000000674711453131434024550 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXDestroyWindow 3G glXDestroyWindow destroy an on-screen rendering area C Specification void glXDestroyWindow Display * dpy GLXWindow win Parameters dpy Specifies the connection to the X server. win Specifies the GLXWindow to be destroyed. Description glXDestroyWindow destroys a GLXWindow created by glXCreateWindow. Notes glXDestroyWindow is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadWindow is generated if win is not a valid GLXPixmap. See Also glXChooseFBConfig, glXCreateWindow, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluQuadricCallback.xml0000664000175000017500000001016211453131434024753 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluQuadricCallback 3G gluQuadricCallback define a callback for a quadrics object C Specification void gluQuadricCallback GLUquadric* quad GLenum which _GLUfuncptr CallBackFunc Parameters quad Specifies the quadrics object (created with gluNewQuadric). which Specifies the callback being defined. The only valid value is GLU_ERROR. CallBackFunc Specifies the function to be called. Description gluQuadricCallback is used to define a new callback to be used by a quadrics object. If the specified callback is already defined, then it is replaced. If CallBackFunc is NULL, then any existing callback is erased. The one legal callback is GLU_ERROR: GLU_ERROR The function is called when an error is encountered. Its single argument is of type GLenum, and it indicates the specific error that occurred. Character strings describing these errors can be retrieved with the gluErrorString call. See Also gluErrorString, gluNewQuadric Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPointParameter.xml0000664000175000017500000002463511453131434024525 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPointParameter 3G glPointParameter specify point parameters C Specification void glPointParameterf GLenum pname GLfloat param void glPointParameteri GLenum pname GLint param Parameters pname Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. param Specifies the value that pname will be set to. C Specification void glPointParameterfv GLenum pname const GLfloat * params void glPointParameteriv GLenum pname const GLint * params Parameters pname Specifies a point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_DISTANCE_ATTENUATION, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. params Specifies the value or values to be assigned to pname. GL_POINT_DISTANCE_ATTENUATION requires an array of three values. All other parameters accept an array containing only a single value. Description The following values are accepted for pname: GL_POINT_SIZE_MIN params is a single floating-point value that specifies the minimum point size. The default value is 0.0. GL_POINT_SIZE_MAX params is a single floating-point value that specifies the maximum point size. The default value is 1.0. GL_POINT_FADE_THRESHOLD_SIZE params is a single floating-point value that specifies the threshold value to which point sizes are clamped if they exceed the specified value. The default value is 1.0. GL_POINT_DISTANCE_ATTENUATION params is an array of three floating-point values that specify the coefficients used for scaling the computed point size. The default values are 1 0 0 . GL_POINT_SPRITE_COORD_ORIGIN params is a single enum specifying the point sprite texture coordinate origin, either GL_LOWER_LEFT or GL_UPPER_LEFT. The default value is GL_UPPER_LEFT. Notes glPointParameter is available only if the GL version is 1.4 or greater. GL_POINT_SPRITE_COORD_ORIGIN is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated If the value specified for GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, or GL_POINT_FADE_THRESHOLD_SIZE is less than zero. GL_INVALID_ENUM is generated If the value specified for GL_POINT_SPRITE_COORD_ORIGIN is not GL_LOWER_LEFT or GL_UPPER_LEFT. If the value for GL_POINT_SIZE_MIN is greater than GL_POINT_SIZE_MAX, the point size after clamping is undefined, but no error is generated. Associated Gets glGet with argument GL_POINT_SIZE_MIN glGet with argument GL_POINT_SIZE_MAX glGet with argument GL_POINT_FADE_THRESHOLD_SIZE glGet with argument GL_POINT_DISTANCE_ATTENUATION glGet with argument GL_POINT_SPRITE_COORD_ORIGIN See Also glPointSize Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetString.xml0000664000175000017500000001655511453131434023503 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetString 3G glGetString return a string describing the current GL connection C Specification const GLubyte* glGetString GLenum name Parameters name Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. Description glGetString returns a pointer to a static string describing some aspect of the current GL connection. name can be one of the following: GL_VENDOR Returns the company responsible for this GL implementation. This name does not change from release to release. GL_RENDERER Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release. GL_VERSION Returns a version or release number. GL_SHADING_LANGUAGE_VERSION Returns a version or release number for the shading language. GL_EXTENSIONS Returns a space-separated list of supported extensions to GL. Because the GL does not include queries for the performance characteristics of an implementation, some applications are written to recognize known platforms and modify their GL usage based on known performance characteristics of these platforms. Strings GL_VENDOR and GL_RENDERER together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms. Some applications want to make use of features that are not part of the standard GL. These features may be implemented as extensions to the standard GL. The GL_EXTENSIONS string is a space-separated list of supported GL extensions. (Extension names never contain a space character.) The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number. The version number uses one of these forms: major_number.minor_number major_number.minor_number.release_number Vendor-specific information may follow the version number. Its format depends on the implementation, but a space always separates the version number and the vendor-specific information. All strings are null-terminated. Notes If an error is generated, glGetString returns 0. The client and server may support different versions or extensions. glGetString always returns a compatible version number or list of extensions. The release number always describes the server. GL_SHADING_LANGUAGE_VERSION is available only if the GL version is 2.0 or greater. Errors GL_INVALID_ENUM is generated if name is not an accepted value. GL_INVALID_OPERATION is generated if glGetString is executed between the execution of glBegin and the corresponding execution of glEnd. Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetUniformLocation.xml0000664000175000017500000001416211453131434025335 0ustar laneylaney glGetUniformLocation 3G glGetUniformLocation Returns the location of a uniform variable C Specification GLint glGetUniformLocation GLuint program const GLchar *name Parameters program Specifies the program object to be queried. name Points to a null terminated string containing the name of the uniform variable whose location is to be queried. Description glGetUniformLocation returns an integer that represents the location of a specific uniform variable within a program object. name must be a null terminated string that contains no white space. name must be an active uniform variable name in program that is not a structure, an array of structures, or a subcomponent of a vector or a matrix. This function returns -1 if name does not correspond to an active uniform variable in program or if name starts with the reserved prefix "gl_". Uniform variables that are structures or arrays of structures may be queried by calling glGetUniformLocation for each field within the structure. The array element operator "[]" and the structure field operator "." may be used in name in order to select elements within an array or fields within a structure. The result of using these operators is not allowed to be another structure, an array of structures, or a subcomponent of a vector or a matrix. Except if the last part of name indicates a uniform variable array, the location of the first element of an array can be retrieved by using the name of the array, or by using the name appended by "[0]". The actual locations assigned to uniform variables are not known until the program object is linked successfully. After linking has occurred, the command glGetUniformLocation can be used to obtain the location of a uniform variable. This location value can then be passed to glUniform to set the value of the uniform variable or to glGetUniform in order to query the current value of the uniform variable. After a program object has been linked successfully, the index values for uniform variables remain fixed until the next link command occurs. Uniform variable locations and values can only be queried after a link if the link was successful. Notes glGetUniformLocation is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if program has not been successfully linked. GL_INVALID_OPERATION is generated if glGetUniformLocation is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetActiveUniform with arguments program and the index of an active uniform variable glGetProgram with arguments program and GL_ACTIVE_UNIFORMS or GL_ACTIVE_UNIFORM_MAX_LENGTH glGetUniform with arguments program and the name of a uniform variable glIsProgram See Also glLinkProgram, glUniform Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteTextures.xml0000664000175000017500000001166311453131434024536 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDeleteTextures 3G glDeleteTextures delete named textures C Specification void glDeleteTextures GLsizei n const GLuint * textures Parameters n Specifies the number of textures to be deleted. textures Specifies an array of textures to be deleted. Description glDeleteTextures deletes n textures named by the elements of the array textures. After a texture is deleted, it has no contents or dimensionality, and its name is free for reuse (for example by glGenTextures). If a texture that is currently bound is deleted, the binding reverts to 0 (the default texture). glDeleteTextures silently ignores 0's and names that do not correspond to existing textures. Notes glDeleteTextures is available only if the GL version is 1.1 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glDeleteTextures is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsTexture See Also glAreTexturesResident, glBindTexture, glCopyTexImage1D, glCopyTexImage2D, glGenTextures, glGet, glGetTexParameter, glPrioritizeTextures, glTexImage1D, glTexImage2D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXDestroyContext.xml0000664000175000017500000000642711453131434024720 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXDestroyContext 3G glXDestroyContext destroy a GLX context C Specification void glXDestroyContext Display * dpy GLXContext ctx Parameters dpy Specifies the connection to the X server. ctx Specifies the GLX context to be destroyed. Description If the GLX rendering context ctx is not current to any thread, glXDestroyContext destroys it immediately. Otherwise, ctx is destroyed when it becomes not current to any thread. In either case, the resource ID referenced by ctx is freed immediately. Errors GLXBadContext is generated if ctx is not a valid GLX context. See Also glXCreateContext, glXCreateNewContext, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryExtensionsString.xml0000664000175000017500000000723211453131434026271 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryExtensionsString 3G glXQueryExtensionsString return list of supported extensions C Specification const char * glXQueryExtensionsString Display * dpy int screen Parameters dpy Specifies the connection to the X server. screen Specifies the screen number. Description glXQueryExtensionsString returns a pointer to a string describing which GLX extensions are supported on the connection. The string is null-terminated and contains a space-separated list of extension names. (The extension names themselves never contain spaces.) If there are no extensions to GLX, then the empty string is returned. Notes glXQueryExtensionsString is available only if the GLX version is 1.1 or greater. glXQueryExtensionsString only returns information about GLX extensions. Call glGetString to get a list of GL extensions. See Also glGetString, glXQueryVersion, glXQueryServerString, glXGetClientString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDetachShader.xml0000664000175000017500000001051711453131432024102 0ustar laneylaney glDetachShader 3G glDetachShader Detaches a shader object from a program object to which it is attached C Specification void glDetachShader GLuint program GLuint shader Parameters program Specifies the program object from which to detach the shader object. shader Specifies the shader object to be detached. Description glDetachShader detaches the shader object specified by shader from the program object specified by program. This command can be used to undo the effect of the command glAttachShader. If shader has already been flagged for deletion by a call to glDeleteShader and it is not attached to any other program object, it will be deleted after it has been detached. Notes glDetachShader is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if either program or shader is a value that was not generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_OPERATION is generated if shader is not attached to program. GL_INVALID_OPERATION is generated if glDetachShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetAttachedShaders with the handle of a valid program object glGetShader with arguments shader and GL_DELETE_STATUS glIsProgram glIsShader See Also glAttachShader Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexGen.xml0000664000175000017500000011550611453131434022763 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexGen 3G glTexGen control the generation of texture coordinates C Specification void glTexGeni GLenum coord GLenum pname GLint param void glTexGenf GLenum coord GLenum pname GLfloat param void glTexGend GLenum coord GLenum pname GLdouble param Parameters coord Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. pname Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. param Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. C Specification void glTexGeniv GLenum coord GLenum pname const GLint * params void glTexGenfv GLenum coord GLenum pname const GLfloat * params void glTexGendv GLenum coord GLenum pname const GLdouble * params Parameters coord Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. pname Specifies the symbolic name of the texture-coordinate generation function or function parameters. Must be GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. params Specifies a pointer to an array of texture generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must contain a single symbolic constant, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. Otherwise, params holds the coefficients for the texture-coordinate generation function specified by pname. Description glTexGen selects a texture-coordinate generation function or supplies coefficients for one of the functions. coord names one of the (s, t, r, q) texture coordinates; it must be one of the symbols GL_S, GL_T, GL_R, or GL_Q. pname must be one of three symbolic constants: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. If pname is GL_TEXTURE_GEN_MODE, then params chooses a mode, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. If pname is either GL_OBJECT_PLANE or GL_EYE_PLANE, params contains coefficients for the corresponding texture generation function. If the texture generation function is GL_OBJECT_LINEAR, the function g = p 1 × x o + p 2 × y o + p 3 × z o + p 4 × w o is used, where g is the value computed for the coordinate named in coord, p 1 , p 2 , p 3 , and p 4 are the four values supplied in params, and x o , y o , z o , and w o are the object coordinates of the vertex. This function can be used, for example, to texture-map terrain using sea level as a reference plane (defined by p 1 , p 2 , p 3 , and p 4 ). The altitude of a terrain vertex is computed by the GL_OBJECT_LINEAR coordinate generation function as its distance from sea level; that altitude can then be used to index the texture image to map white snow onto peaks and green grass onto foothills. If the texture generation function is GL_EYE_LINEAR, the function g = p 1 × x e + p 2 × y e + p 3 × z e + p 4 × w e is used, where p 1 p 2 p 3 p 4 = p 1 p 2 p 3 p 4 M -1 and x e , y e , z e , and w e are the eye coordinates of the vertex, p 1 , p 2 , p 3 , and p 4 are the values supplied in params, and M is the modelview matrix when glTexGen is invoked. If M is poorly conditioned or singular, texture coordinates generated by the resulting function may be inaccurate or undefined. Note that the values in params define a reference plane in eye coordinates. The modelview matrix that is applied to them may not be the same one in effect when the polygon vertices are transformed. This function establishes a field of texture coordinates that can produce dynamic contour lines on moving objects. If pname is GL_SPHERE_MAP and coord is either GL_S or GL_T, s and t texture coordinates are generated as follows. Let u be the unit vector pointing from the origin to the polygon vertex (in eye coordinates). Let n sup prime be the current normal, after transformation to eye coordinates. Let f = f x f y f z T be the reflection vector such that f = u - 2 n n T u Finally, let m = 2 f x 2 + f y 2 + f z + 1 2 . Then the values assigned to the s and t texture coordinates are s = f x m + 1 2 t = f y m + 1 2 To enable or disable a texture-coordinate generation function, call glEnable or glDisable with one of the symbolic texture-coordinate names (GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, or GL_TEXTURE_GEN_Q) as the argument. When enabled, the specified texture coordinate is computed according to the generating function associated with that coordinate. When disabled, subsequent vertices take the specified texture coordinate from the current set of texture coordinates. Initially, all texture generation functions are set to GL_EYE_LINEAR and are disabled. Both s plane equations are (1, 0, 0, 0), both t plane equations are (0, 1, 0, 0), and all r and q plane equations are (0, 0, 0, 0). When the ARB_multitexture extension is supported, glTexGen set the texture generation parameters for the currently active texture unit, selected with glActiveTexture. Errors GL_INVALID_ENUM is generated when coord or pname is not an accepted defined value, or when pname is GL_TEXTURE_GEN_MODE and params is not an accepted defined value. GL_INVALID_ENUM is generated when pname is GL_TEXTURE_GEN_MODE, params is GL_SPHERE_MAP, and coord is either GL_R or GL_Q. GL_INVALID_OPERATION is generated if glTexGen is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexGen glIsEnabled with argument GL_TEXTURE_GEN_S glIsEnabled with argument GL_TEXTURE_GEN_T glIsEnabled with argument GL_TEXTURE_GEN_R glIsEnabled with argument GL_TEXTURE_GEN_Q See Also glActiveTexture, glCopyPixels, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glTexEnv, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorMask.xml0000664000175000017500000001135711453131434023462 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorMask 3G glColorMask enable and disable writing of frame buffer color components C Specification void glColorMask GLboolean red GLboolean green GLboolean blue GLboolean alpha Parameters red green blue alpha Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. Description glColorMask specifies whether the individual color components in the frame buffer can or cannot be written. If red is GL_FALSE, for example, no change is made to the red component of any pixel in any of the color buffers, regardless of the drawing operation attempted. Changes to individual bits of components cannot be controlled. Rather, changes are either enabled or disabled for entire color components. Errors GL_INVALID_OPERATION is generated if glColorMask is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_COLOR_WRITEMASK glGet with argument GL_RGBA_MODE See Also glClear, glColor, glColorPointer, glDepthMask, glIndex, glIndexPointer, glIndexMask, glStencilMask Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXUseXFont.xml0000664000175000017500000002113511453131434023426 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXUseXFont 3G glXUseXFont create bitmap display lists from an X font C Specification void glXUseXFont Font font int first int count int listBase Parameters font Specifies the font from which character glyphs are to be taken. first Specifies the index of the first glyph to be taken. count Specifies the number of glyphs to be taken. listBase Specifies the index of the first display list to be generated. Description glXUseXFont generates count display lists, named listBase through listBase + count - 1 , each containing a single glBitmap command. The parameters of the glBitmap command of display list listBase + i are derived from glyph first + i . Bitmap parameters xorig, yorig, width, and height are computed from font metrics as descent - 1 , - lbearing , rbearing - lbearing , and ascent + descent , respectively. xmove is taken from the glyph's width metric, and ymove is set to zero. Finally, the glyph's image is converted to the appropriate format for glBitmap. Using glXUseXFont may be more efficient than accessing the X font and generating the display lists explicitly, both because the display lists are created on the server without requiring a round trip of the glyph data, and because the server may choose to delay the creation of each bitmap until it is accessed. Empty display lists are created for all glyphs that are requested and are not defined in font. glXUseXFont is ignored if there is no current GLX context. Errors BadFont is generated if font is not a valid font. GLXBadContextState is generated if the current GLX context is in display-list construction mode. GLXBadCurrentWindow is generated if the drawable associated with the current context of the calling thread is a window, and that window is no longer valid. See Also glBitmap, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorTableParameter.xml0000664000175000017500000001447111453131434025457 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorTableParameter 3G glColorTableParameter set color lookup table parameters C Specification void glColorTableParameterfv GLenum target GLenum pname const GLfloat * params void glColorTableParameteriv GLenum target GLenum pname const GLint * params Parameters target The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. pname The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. params A pointer to an array where the values of the parameters are stored. Description glColorTableParameter is used to specify the scale factors and bias terms applied to color components when they are loaded into a color table. target indicates which color table the scale and bias terms apply to; it must be set to GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. pname must be GL_COLOR_TABLE_SCALE to set the scale factors. In this case, params points to an array of four values, which are the scale factors for red, green, blue, and alpha, in that order. pname must be GL_COLOR_TABLE_BIAS to set the bias terms. In this case, params points to an array of four values, which are the bias terms for red, green, blue, and alpha, in that order. The color tables themselves are specified by calling glColorTable. Notes glColorTableParameter is available only if ARB_imaging is returned from calling glGetString with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target or pname is not an acceptable value. GL_INVALID_OPERATION is generated if glColorTableParameter is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTableParameter See Also glColorTable, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyPixels.xml0000664000175000017500000010074611453131434023670 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyPixels 3G glCopyPixels copy pixels in the frame buffer C Specification void glCopyPixels GLint x GLint y GLsizei width GLsizei height GLenum type Parameters x y Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. width height Specify the dimensions of the rectangular region of pixels to be copied. Both must be nonnegative. type Specifies whether color values, depth values, or stencil values are to be copied. Symbolic constants GL_COLOR, GL_DEPTH, and GL_STENCIL are accepted. Description glCopyPixels copies a screen-aligned rectangle of pixels from the specified frame buffer location to a region relative to the current raster position. Its operation is well defined only if the entire pixel source region is within the exposed portion of the window. Results of copies from outside the window, or from regions of the window that are not exposed, are hardware dependent and undefined. x and y specify the window coordinates of the lower left corner of the rectangular region to be copied. width and height specify the dimensions of the rectangular region to be copied. Both width and height must not be negative. Several parameters control the processing of the pixel data while it is being copied. These parameters are set with three commands: glPixelTransfer, glPixelMap, and glPixelZoom. This reference page describes the effects on glCopyPixels of most, but not all, of the parameters specified by these three commands. glCopyPixels copies values from each pixel with the lower left-hand corner at x + i y + j for 0 <= i < width and 0 <= j < height . This pixel is said to be the ith pixel in the jth row. Pixels are copied in row order from the lowest to the highest row, left to right in each row. type specifies whether color, depth, or stencil data is to be copied. The details of the transfer for each data type are as follows: GL_COLOR Indices or RGBA colors are read from the buffer currently specified as the read source buffer (see glReadBuffer). If the GL is in color index mode, each index that is read from this buffer is converted to a fixed-point format with an unspecified number of bits to the right of the binary point. Each index is then shifted left by GL_INDEX_SHIFT bits, and added to GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In either case, zero bits fill otherwise unspecified bit locations in the result. If GL_MAP_COLOR is true, the index is replaced with the value that it references in lookup table GL_PIXEL_MAP_I_TO_I. Whether the lookup replacement of the index is done or not, the integer part of the index is then ANDed with 2 b - 1 , where b is the number of bits in a color index buffer. If the GL is in RGBA mode, the red, green, blue, and alpha components of each pixel that is read are converted to an internal floating-point format with unspecified precision. The conversion maps the largest representable component value to 1.0, and component value 0 to 0.0. The resulting floating-point color values are then multiplied by GL_c_SCALE and added to GL_c_BIAS, where c is RED, GREEN, BLUE, and ALPHA for the respective color components. The results are clamped to the range [0,1]. If GL_MAP_COLOR is true, each color component is scaled by the size of lookup table GL_PIXEL_MAP_c_TO_c, then replaced by the value that it references in that table. c is R, G, B, or A. If the ARB_imaging extension is supported, the color values may be additionally processed by color-table lookups, color-matrix transformations, and convolution filters. The GL then converts the resulting indices or RGBA colors to fragments by attaching the current raster position z coordinate and texture coordinates to each pixel, then assigning window coordinates x r + i y r + j , where x r y r is the current raster position, and the pixel was the ith pixel in the jth row. These pixel fragments are then treated just like the fragments generated by rasterizing points, lines, or polygons. Texture mapping, fog, and all the fragment operations are applied before the fragments are written to the frame buffer. GL_DEPTH Depth values are read from the depth buffer and converted directly to an internal floating-point format with unspecified precision. The resulting floating-point depth value is then multiplied by GL_DEPTH_SCALE and added to GL_DEPTH_BIAS. The result is clamped to the range [0,1]. The GL then converts the resulting depth components to fragments by attaching the current raster position color or color index and texture coordinates to each pixel, then assigning window coordinates x r + i y r + j , where x r y r is the current raster position, and the pixel was the ith pixel in the jth row. These pixel fragments are then treated just like the fragments generated by rasterizing points, lines, or polygons. Texture mapping, fog, and all the fragment operations are applied before the fragments are written to the frame buffer. GL_STENCIL Stencil indices are read from the stencil buffer and converted to an internal fixed-point format with an unspecified number of bits to the right of the binary point. Each fixed-point index is then shifted left by GL_INDEX_SHIFT bits, and added to GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In either case, zero bits fill otherwise unspecified bit locations in the result. If GL_MAP_STENCIL is true, the index is replaced with the value that it references in lookup table GL_PIXEL_MAP_S_TO_S. Whether the lookup replacement of the index is done or not, the integer part of the index is then ANDed with 2 b - 1 , where b is the number of bits in the stencil buffer. The resulting stencil indices are then written to the stencil buffer such that the index read from the ith location of the jth row is written to location x r + i y r + j , where x r y r is the current raster position. Only the pixel ownership test, the scissor test, and the stencil writemask affect these write operations. The rasterization described thus far assumes pixel zoom factors of 1.0. If glPixelZoom is used to change the x and y pixel zoom factors, pixels are converted to fragments as follows. If x r y r is the current raster position, and a given pixel is in the ith location in the jth row of the source pixel rectangle, then fragments are generated for pixels whose centers are in the rectangle with corners at x r + zoom x i y r + zoom y j and x r + zoom x i + 1 y r + zoom y j + 1 where zoom x is the value of GL_ZOOM_X and zoom y is the value of GL_ZOOM_Y. Examples To copy the color pixel in the lower left corner of the window to the current raster position, use glCopyPixels(0, 0, 1, 1, GL_COLOR); Notes Modes specified by glPixelStore have no effect on the operation of glCopyPixels. Errors GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if either width or height is negative. GL_INVALID_OPERATION is generated if type is GL_DEPTH and there is no depth buffer. GL_INVALID_OPERATION is generated if type is GL_STENCIL and there is no stencil buffer. GL_INVALID_OPERATION is generated if glCopyPixels is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_RASTER_POSITION glGet with argument GL_CURRENT_RASTER_POSITION_VALID See Also glColorTable, glConvolutionFilter1D, glConvolutionFilter2D, glDepthFunc, glDrawBuffer, glDrawPixels, glMatrixMode, glPixelMap, glPixelTransfer, glPixelZoom, glRasterPos, glReadBuffer, glReadPixels, glSeparableFilter2D, glStencilFunc, glWindowPos Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClearIndex.xml0000664000175000017500000001013111453131434023573 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClearIndex 3G glClearIndex specify the clear value for the color index buffers C Specification void glClearIndex GLfloat c Parameters c Specifies the index used when the color index buffers are cleared. The initial value is 0. Description glClearIndex specifies the index used by glClear to clear the color index buffers. c is not clamped. Rather, c is converted to a fixed-point value with unspecified precision to the right of the binary point. The integer part of this value is then masked with 2 m - 1 , where m is the number of bits in a color index stored in the frame buffer. Errors GL_INVALID_OPERATION is generated if glClearIndex is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_INDEX_CLEAR_VALUE glGet with argument GL_INDEX_BITS See Also glClear Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetConvolutionFilter.xml0000664000175000017500000003203411453131434025710 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetConvolutionFilter 3G glGetConvolutionFilter get current 1D or 2D convolution filter kernel C Specification void glGetConvolutionFilter GLenum target GLenum format GLenum type GLvoid * image Parameters target The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. format Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. type Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. image Pointer to storage for the output image. Description glGetConvolutionFilter returns the current 1D or 2D convolution filter kernel as an image. The one- or two-dimensional image is placed in image according to the specifications in format and type. No pixel transfer operations are performed on this image, but the relevant pixel storage modes are applied. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a convolution filter is requested, image is treated as a byte offset into the buffer object's data store. Color components that are present in format but not included in the internal format of the filter are returned as zero. The assignments of internal color components to the components of format are as follows. Internal Component Resulting Component Red Red Green Green Blue Blue Alpha Alpha Luminance Red Intensity Red Notes glGetConvolutionFilter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. The current separable 2D filter must be retrieved with glGetSeparableFilter rather than glGetConvolutionFilter. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and image is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetConvolutionFilter is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glGetSeparableFilter, glConvolutionParameter, glConvolutionFilter1D, glConvolutionFilter2D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetMaterial.xml0000664000175000017500000003071711453131432023765 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetMaterial 3G glGetMaterial return material parameters C Specification void glGetMaterialfv GLenum face GLenum pname GLfloat * params void glGetMaterialiv GLenum face GLenum pname GLint * params Parameters face Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. pname Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. params Returns the requested data. Description glGetMaterial returns in params the value or values of parameter pname of material face. Six parameters are defined: GL_AMBIENT params returns four integer or floating-point values representing the ambient reflectance of the material. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value is (0.2, 0.2, 0.2, 1.0) GL_DIFFUSE params returns four integer or floating-point values representing the diffuse reflectance of the material. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value is (0.8, 0.8, 0.8, 1.0). GL_SPECULAR params returns four integer or floating-point values representing the specular reflectance of the material. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value is (0, 0, 0, 1). GL_EMISSION params returns four integer or floating-point values representing the emitted light intensity of the material. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer value, and -1.0 maps to the most negative representable integer value. If the internal value is outside the range -1 1 , the corresponding integer return value is undefined. The initial value is (0, 0, 0, 1). GL_SHININESS params returns one integer or floating-point value representing the specular exponent of the material. Integer values, when requested, are computed by rounding the internal floating-point value to the nearest integer value. The initial value is 0. GL_COLOR_INDEXES params returns three integer or floating-point values representing the ambient, diffuse, and specular indices of the material. These indices are used only for color index lighting. (All the other parameters are used only for RGBA lighting.) Integer values, when requested, are computed by rounding the internal floating-point values to the nearest integer values. Notes If an error is generated, no change is made to the contents of params. Errors GL_INVALID_ENUM is generated if face or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetMaterial is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glMaterial Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluCheckExtension.xml0000664000175000017500000001032511453131432024657 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluCheckExtension 3G gluCheckExtension determines if an extension name is supported C Specification GLboolean gluCheckExtension const GLubyte * extName const GLubyte * extString Parameters extName Specifies an extension name. extString Specifies a space-separated list of extension names supported. Description gluCheckExtension returns GLU_TRUE if extName is supported otherwise GLU_FALSE is returned. This is used to check for the presence for OpenGL, GLU, or GLX extension names by passing the extension strings returned by glGetString, gluGetString, glXGetClientString, glXQueryExtensionsString, or glXQueryServerString, respectively, as extString. Notes Cases where one extension name is a substring of another are correctly handled. There may or may not be leading or trailing blanks in extString. Extension names should not contain embedded spaces. All strings are null-terminated. See Also gluGetString, glGetString, glXGetClientString, glXQueryExtensionsString, glXQueryServerString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBufferData.xml0000664000175000017500000002575711453131434023604 0ustar laneylaney 2005 Sams Publishing glBufferData 3G glBufferData creates and initializes a buffer object's data store C Specification void glBufferData GLenum target GLsizeiptr size const GLvoid * data GLenum usage Parameters target Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. size Specifies the size in bytes of the buffer object's new data store. data Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. usage Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. Description glBufferData creates a new data store for the buffer object currently bound to target. Any pre-existing data store is deleted. The new data store is created with the specified size in bytes and usage. If data is not NULL, the data store is initialized with data from this pointer. In its initial state, the new data store is not mapped, it has a NULL mapped pointer, and its mapped access is GL_READ_WRITE. usage is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store. usage can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The frequency of access may be one of these: STREAM The data store contents will be modified once and used at most a few times. STATIC The data store contents will be modified once and used many times. DYNAMIC The data store contents will be modified repeatedly and used many times. The nature of access may be one of these: DRAW The data store contents are modified by the application, and used as the source for GL drawing and image specification commands. READ The data store contents are modified by reading data from the GL, and used to return that data when queried by the application. COPY The data store contents are modified by reading data from the GL, and used as the source for GL drawing and image specification commands. Notes glBufferData is available only if the GL version is 1.5 or greater. Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. If data is NULL, a data store of the specified size is still created, but its contents remain uninitialized and thus undefined. Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising N bytes be a multiple of N. Errors GL_INVALID_ENUM is generated if target is not GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. GL_INVALID_ENUM is generated if usage is not GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. GL_INVALID_VALUE is generated if size is negative. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_OUT_OF_MEMORY is generated if the GL is unable to create a data store with the specified size. GL_INVALID_OPERATION is generated if glBufferData is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetBufferSubData glGetBufferParameteriv with argument GL_BUFFER_SIZE or GL_BUFFER_USAGE See Also glBindBuffer, glBufferSubData, glMapBuffer, glUnmapBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsTexture.xml0000664000175000017500000001042011453131434023512 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIsTexture 3G glIsTexture determine if a name corresponds to a texture C Specification GLboolean glIsTexture GLuint texture Parameters texture Specifies a value that may be the name of a texture. Description glIsTexture returns GL_TRUE if texture is currently the name of a texture. If texture is zero, or is a non-zero value that is not currently the name of a texture, or if an error occurs, glIsTexture returns GL_FALSE. A name returned by glGenTextures, but not yet associated with a texture by calling glBindTexture, is not the name of a texture. Notes glIsTexture is available only if the GL version is 1.1 or greater. Errors GL_INVALID_OPERATION is generated if glIsTexture is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBindTexture, glCopyTexImage1D, glCopyTexImage2D, glDeleteTextures, glGenTextures, glGet, glGetTexParameter, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyTexSubImage3D.xml0000664000175000017500000004520611453131434024767 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyTexSubImage3D 3G glCopyTexSubImage3D copy a three-dimensional texture subimage C Specification void glCopyTexSubImage3D GLenum target GLint level GLint xoffset GLint yoffset GLint zoffset GLint x GLint y GLsizei width GLsizei height Parameters target Specifies the target texture. Must be GL_TEXTURE_3D level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. zoffset Specifies a texel offset in the z direction within the texture array. x y Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. Description glCopyTexSubImage3D replaces a rectangular portion of a three-dimensional texture image with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glTexSubImage3D). The screen-aligned pixel rectangle with lower left corner at (x,\ y) and with width width and height height replaces the portion of the texture array with x indices xoffset through xoffset + width - 1 , inclusive, and y indices yoffset through yoffset + height - 1 , inclusive, at z index zoffset and at the mipmap level specified by level. The pixels in the rectangle are processed exactly as if glCopyPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. The destination rectangle in the texture array may not include any texels outside the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. If any of the pixels within the specified rectangle of the current GL_READ_BUFFER are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the internalformat, width, height, depth, or border parameters of the specified texture array or to texel values outside the specified subregion. Notes glCopyTexSubImage3D is available only if the GL version is 1.2 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. When the ARB_imaging extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline, as if they were a two-dimensional texture. See glTexImage2D for specific details. Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_3D. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage3D operation. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level > log 2 max , where max is the returned value of GL_MAX_3D_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , xoffset + width > w - b , yoffset < - b , yoffset + height > h - b , zoffset < - b , or zoffset + 1 > d - b , where w is the GL_TEXTURE_WIDTH, h is the GL_TEXTURE_HEIGHT, d is the GL_TEXTURE_DEPTH, and b is the GL_TEXTURE_BORDER of the texture image being modified. Note that w, h, and d include twice the border width. GL_INVALID_OPERATION is generated if glCopyTexSubImage3D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_3D See Also glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glPixelStore, glPixelTransfer, glReadBuffer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreatePixmap.xml0000664000175000017500000001330411453131432024272 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreatePixmap 3G glXCreatePixmap create an off-screen rendering area C Specification GLXPixmap glXCreatePixmap Display * dpy GLXFBConfig config Pixmap pixmap const int * attrib_list Parameters dpy Specifies the connection to the X server. config Specifies a GLXFBConfig structure with the desired attributes for the window. pixmap Specifies the X pixmap to be used as the rendering area. attrib_list Currently unused. This must be set to NULL or be an empty list (i.e., one in which the first element is None). Description glXCreatePixmap creates an off-screen rendering area and returns its XID. Any GLX rendering context that was created with respect to config can be used to render into this window. Use glXMakeCurrent to associate the rendering area with a GLX rendering context. Notes glXCreatePixmap is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors BadMatch is generated if pixmap was not created with a visual that corresponds to config. BadMatch is generated if config does not support rendering to windows (e.g., GLX_DRAWABLE_TYPE does not contain GLX_WINDOW_BIT). BadWindow is generated if pixmap is not a valid window XID. BadAlloc is generated if there is already a GLXFBConfig associated with pixmap. BadAlloc is generated if the X server cannot allocate a new GLX window. GLXBadFBConfig is generated if config is not a valid GLXFBConfig. See Also glXChooseFBConfig, glXCreateGLXPixmap, glXDestroyWindow, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteProgram.xml0000664000175000017500000001025011453131434024311 0ustar laneylaney glDeleteProgram 3G glDeleteProgram Deletes a program object C Specification void glDeleteProgram GLuint program Parameters program Specifies the program object to be deleted. Description glDeleteProgram frees the memory and invalidates the name associated with the program object specified by program. This command effectively undoes the effects of a call to glCreateProgram. If a program object is in use as part of current rendering state, it will be flagged for deletion, but it will not be deleted until it is no longer part of current state for any rendering context. If a program object to be deleted has shader objects attached to it, those shader objects will be automatically detached but not deleted unless they have already been flagged for deletion by a previous call to glDeleteShader. A value of 0 for program will be silently ignored. To determine whether a program object has been flagged for deletion, call glGetProgram with arguments program and GL_DELETE_STATUS. Notes glDeleteProgram is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if glDeleteProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_PROGRAM glGetProgram with arguments program and GL_DELETE_STATUS glIsProgram See Also glCreateShader, glDetachShader, glUseProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyColorTable.xml0000664000175000017500000004204511453131434024447 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyColorTable 3G glCopyColorTable copy pixels into a color table C Specification void glCopyColorTable GLenum target GLenum internalformat GLint x GLint y GLsizei width Parameters target The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. internalformat The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. x The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. y The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. width The width of the pixel rectangle. Description glCopyColorTable loads a color table with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glColorTable). The screen-aligned pixel rectangle with lower-left corner at (x,\ y) having width width and height 1 is loaded into the color table. If any pixels within this region are outside the window that is associated with the GL context, the values obtained for those pixels are undefined. The pixels in the rectangle are processed just as if glReadPixels were called, with internalformat set to RGBA, but processing stops after the final conversion to RGBA. The four scale parameters and the four bias parameters that are defined for the table are then used to scale and bias the R, G, B, and A components of each pixel. The scale and bias parameters are set by calling glColorTableParameter. Next, the R, G, B, and A values are clamped to the range 0 1 . Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A Finally, the red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in the color table. They form a one-dimensional table with indices in the range 0 width - 1 . Notes glCopyColorTable is available only if ARB_imaging is returned from calling glGetString with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated when target is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero. GL_INVALID_VALUE is generated if internalformat is not one of the allowable values. GL_TABLE_TOO_LARGE is generated if the requested color table is too large to be supported by the implementation. GL_INVALID_OPERATION is generated if glCopyColorTable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTable, glGetColorTableParameter See Also glColorTable, glColorTableParameter, glReadPixels Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsBuffer.xml0000664000175000017500000000731111453131434023270 0ustar laneylaney 2005 Sams Publishing glIsBuffer 3G glIsBuffer determine if a name corresponds to a buffer object C Specification GLboolean glIsBuffer GLuint buffer Parameters buffer Specifies a value that may be the name of a buffer object. Description glIsBuffer returns GL_TRUE if buffer is currently the name of a buffer object. If buffer is zero, or is a non-zero value that is not currently the name of a buffer object, or if an error occurs, glIsBuffer returns GL_FALSE. A name returned by glGenBuffers, but not yet associated with a buffer object by calling glBindBuffer, is not the name of a buffer object. Notes glIsBuffer is available only if the GL version is 1.5 or greater. Errors GL_INVALID_OPERATION is generated if glIsBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBindBuffer, glDeleteBuffers, glGenBuffers, glGet Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFogCoord.xml0000664000175000017500000001116111453131434023263 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFogCoord 3G glFogCoord set the current fog coordinates C Specification void glFogCoordd GLdouble coord void glFogCoordf GLfloat coord Parameters coord Specify the fog distance. C Specification void glFogCoorddv GLdouble * coord void glFogCoordfv GLfloat * coord Parameters coord Specifies a pointer to an array containing a single value representing the fog distance. Description glFogCoord specifies the fog coordinate that is associated with each vertex and the current raster position. The value specified is interpolated and used in computing the fog color (see glFog). Notes glFogCoord is available only if the GL version is 1.4 or greater. The current fog coordinate can be updated at any time. In particular, glFogCoord can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_CURRENT_FOG_COORD See Also glFog, glFogCoordPointer, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluPwlCurve.xml0000664000175000017500000001276211453131434023525 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluPwlCurve 3G gluPwlCurve describe a piecewise linear NURBS trimming curve C Specification void gluPwlCurve GLUnurbs* nurb GLint count GLfloat* data GLint stride GLenum type Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). count Specifies the number of points on the curve. data Specifies an array containing the curve points. stride Specifies the offset (a number of single-precision floating-point values) between points on the curve. type Specifies the type of curve. Must be either GLU_MAP1_TRIM_2 or GLU_MAP1_TRIM_3. Description gluPwlCurve describes a piecewise linear trimming curve for a NURBS surface. A piecewise linear curve consists of a list of coordinates of points in the parameter space for the NURBS surface to be trimmed. These points are connected with line segments to form a curve. If the curve is an approximation to a curve that is not piecewise linear, the points should be close enough in parameter space that the resulting path appears curved at the resolution used in the application. If type is GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u and v) parameter space. If it is GLU_MAP1_TRIM_3, then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the gluBeginTrim reference page for more information about trimming curves. Notes To describe a trim curve that closely follows the contours of a NURBS surface, call gluNurbsCurve. See Also gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glListBase.xml0000664000175000017500000000645511453131434023301 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glListBase 3G glListBase set the display-list base for glCallLists C Specification void glListBase GLuint base Parameters base Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0. Description glCallLists specifies an array of offsets. Display-list names are generated by adding base to each offset. Names that reference valid display lists are executed; the others are ignored. Errors GL_INVALID_OPERATION is generated if glListBase is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_LIST_BASE See Also glCallLists Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluQuadricNormals.xml0000664000175000017500000001030411453131434024670 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluQuadricNormals 3G gluQuadricNormals specify what kind of normals are desired for quadrics C Specification void gluQuadricNormals GLUquadric* quad GLenum normal Parameters quad Specifies the quadrics object (created with gluNewQuadric). normal Specifies the desired type of normals. Valid values are GLU_NONE, GLU_FLAT, and GLU_SMOOTH. Description gluQuadricNormals specifies what kind of normals are desired for quadrics rendered with quad. The legal values are as follows: GLU_NONE No normals are generated. GLU_FLAT One normal is generated for every facet of a quadric. GLU_SMOOTH One normal is generated for every vertex of a quadric. This is the initial value. See Also gluNewQuadric, gluQuadricDrawStyle, gluQuadricOrientation, gluQuadricTexture Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetUniform.xml0000664000175000017500000001452511453131434023647 0ustar laneylaney glGetUniform 3G glGetUniform glGetUniformfv glGetUniformiv Returns the value of a uniform variable C Specification void glGetUniformfv GLuint program GLint location GLfloat *params void glGetUniformiv GLuint program GLint location GLint *params Parameters program Specifies the program object to be queried. location Specifies the location of the uniform variable to be queried. params Returns the value of the specified uniform variable. Description glGetUniform returns in params the value(s) of the specified uniform variable. The type of the uniform variable specified by location determines the number of values returned. If the uniform variable is defined in the shader as a boolean, int, or float, a single value will be returned. If it is defined as a vec2, ivec2, or bvec2, two values will be returned. If it is defined as a vec3, ivec3, or bvec3, three values will be returned, and so on. To query values stored in uniform variables declared as arrays, call glGetUniform for each element of the array. To query values stored in uniform variables declared as structures, call glGetUniform for each field in the structure. The values for uniform variables declared as a matrix will be returned in column major order. The locations assigned to uniform variables are not known until the program object is linked. After linking has occurred, the command glGetUniformLocation can be used to obtain the location of a uniform variable. This location value can then be passed to glGetUniform in order to query the current value of the uniform variable. After a program object has been linked successfully, the index values for uniform variables remain fixed until the next link command occurs. The uniform variable values can only be queried after a link if the link was successful. Notes glGetUniform is available only if the GL version is 2.0 or greater. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if program has not been successfully linked. GL_INVALID_OPERATION is generated if location does not correspond to a valid uniform variable location for the specified program object. GL_INVALID_OPERATION is generated if glGetUniform is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetActiveUniform with arguments program and the index of an active uniform variable glGetProgram with arguments program and GL_ACTIVE_UNIFORMS or GL_ACTIVE_UNIFORM_MAX_LENGTH glGetUniformLocation with arguments program and the name of a uniform variable glIsProgram See Also glCreateProgram, glLinkProgram, glUniform Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexImage2D.xml0000664000175000017500000015355111453131434023464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexImage2D 3G glTexImage2D specify a two-dimensional texture image C Specification void glTexImage2D GLenum target GLint level GLint internalFormat GLsizei width GLsizei height GLint border GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalFormat Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support texture images that are at least 64 texels wide. height Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 m + 2 border for some integer m. All implementations support texture images that are at least 64 texels high. border Specifies the width of the border. Must be either 0 or 1. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. To enable and disable texturing using cube-mapped texture, call glEnable and glDisable with argument GL_TEXTURE_CUBE_MAP. To define texture images, call glTexImage2D. The arguments describe the parameters of the texture image, such as height, width, width of the border, level-of-detail number (see glTexParameter), and number of color components provided. The last three arguments describe how the image is represented in memory; they are identical to the pixel formats used for glDrawPixels. If target is GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. If target is GL_TEXTURE_2D, or one of the GL_TEXTURE_CUBE_MAP targets, data is read from data as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on type. These values are grouped into sets of one, two, three, or four values, depending on format, to form elements. If type is GL_BITMAP, the data is considered as a string of unsigned bytes (and format must be GL_COLOR_INDEX). Each data byte is treated as eight 1-bit elements, with bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore). If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image. format determines the composition of each element in data. It can assume one of these symbolic values: GL_COLOR_INDEX Each element is a single value, a color index. The GL converts it to fixed point (with an unspecified number of zero bits to the right of the binary point), shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET (see glPixelTransfer). The resulting index is converted to a set of color components using the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables, and clamped to the range [0,1]. GL_RED Each element is a single red component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for green and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_GREEN Each element is a single green component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_BLUE Each element is a single blue component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and green, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_ALPHA Each element is a single alpha component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_INTENSITY Each element is a single intensity value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the intensity value three times for red, green, blue, and alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGB GL_BGR Each element is an RGB triple. The GL converts it to floating point and assembles it into an RGBA element by attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGBA GL_BGRA Each element contains all four components. Each component is multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE Each element is a single luminance value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue and attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE_ALPHA Each element is a luminance/alpha pair. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_DEPTH_COMPONENT Each element is a single depth value. The GL converts it to floating point, multiplies by the signed scale factor GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS, and clamps to the range [0,1] (see glPixelTransfer). Refer to the glDrawPixels reference page for a description of the acceptable values for the type parameter. If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with internalFormat. The GL will choose an internal representation that closely approximates that requested by internalFormat, but it may not match exactly. (The representations specified by GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 may also be used to specify the above representations.) If the internalFormat parameter is one of the generic compressed formats, GL_COMPRESSED_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the internalFormat parameter is GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, or GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s > 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the GL_PROXY_TEXTURE_2D or GL_PROXY_TEXTURE_CUBE_MAP target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call glGetTexLevelParameter. If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color extracted from data. A two-component image uses the R and A values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison. Notes Texturing has no effect in color index mode. If the ARB_imaging extension is supported, RGBA elements may also be processed by the imaging pipeline. The following stages may be applied to an RGBA color before color component clamping to the range 0 1 : 1. Color component replacement by the color table specified for GL_COLOR_TABLE, if enabled. See glColorTable. 2. Two-dimensional Convolution filtering, if enabled. See glConvolutionFilter1D. If a convolution filter changes the width of the texture (by processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for example), and the GL does not support non-power-of-two textures, the width must 2 n + 2 border , for some integer n, and height must be 2 m + 2 border , for some integer m, after filtering. 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE, and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See glPixelTransfer. 4. Color component replacement by the color table specified for GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. 5. Transformation by the color matrix. See glMatrixMode. 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See glPixelTransfer. 7. Color component replacement by the color table specified for GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable. The texture image can be represented by the same data formats as the pixels in a glDrawPixels command, except that GL_STENCIL_INDEX cannot be used. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. glTexImage2D and GL_PROXY_TEXTURE_2D are available only if the GL version is 1.1 or greater. Internal formats other than 1, 2, 3, or 4 may be used only if the GL version is 1.1 or greater. In GL version 1.1 or greater, data may be a null pointer. In this case, texture memory is allocated to accommodate a texture of width width and height height. You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. When the ARB_multitexture extension is supported or the GL version is 1.3 or greater, glTexImage2D specifies the two-dimensional texture for the current texture unit, specified with glActiveTexture. GL_TEXTURE_CUBE_MAP and GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. The GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, and GL_SLUMINANCE8_ALPHA8 internal formats are only available if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if width or height is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the accepted resolution and format symbolic constants. GL_INVALID_VALUE is generated if width or height is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or height cannot be represented as 2 k + 2 border for some integer value of k. GL_INVALID_VALUE is generated if border is not 0 or 1. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if target is not GL_TEXTURE_2D or GL_PROXY_TEXTURE_2D and internalFormat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT and internalFormat is not GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. GL_INVALID_OPERATION is generated if internalFormat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32, and format is not GL_DEPTH_COMPONENT. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glColorTable, glConvolutionFilter2D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glSeparableFilter2D, glTexEnv, glTexGen, glTexImage1D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBlendColor.xml0000664000175000017500000001104011453131434023600 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBlendColor 3G glBlendColor set the blend color C Specification void glBlendColor GLclampf red GLclampf green GLclampf blue GLclampf alpha Parameters red green blue alpha specify the components of GL_BLEND_COLOR Description The GL_BLEND_COLOR may be used to calculate the source and destination blending factors. The color components are clamped to the range 0 1 before being stored. See glBlendFunc for a complete description of the blending operations. Initially the GL_BLEND_COLOR is set to (0, 0, 0, 0). Notes glBlendColor is part of the ARB_imaging subset. glBlendColor is present only if ARB_imaging is returned when glGetString is called with GL_EXTENSIONS as its argument. Errors GL_INVALID_OPERATION is generated if glBlendColor is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with an argument of GL_BLEND_COLOR See Also glBlendEquation, glBlendFunc, glGetString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsQuery.xml0000664000175000017500000000726011453131434023167 0ustar laneylaney 2005 Sams Publishing glIsQuery 3G glIsQuery determine if a name corresponds to a query object C Specification GLboolean glIsQuery GLuint id Parameters id Specifies a value that may be the name of a query object. Description glIsQuery returns GL_TRUE if id is currently the name of a query object. If id is zero, or is a non-zero value that is not currently the name of a query object, or if an error occurs, glIsQuery returns GL_FALSE. A name returned by glGenQueries, but not yet associated with a query object by calling glBeginQuery, is not the name of a query object. Notes glIsQuery is available only if the GL version is 1.5 or greater. Errors GL_INVALID_OPERATION is generated if glIsQuery is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBeginQuery, glDeleteQueries, glEndQuery, glGenQueries Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCopyContext.xml0000664000175000017500000001573611453131434024204 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCopyContext 3G glXCopyContext copy state from one rendering context to another C Specification void glXCopyContext Display * dpy GLXContext src GLXContext dst unsigned long mask Parameters dpy Specifies the connection to the X server. src Specifies the source context. dst Specifies the destination context. mask Specifies which portions of src state are to be copied to dst. Description glXCopyContext copies selected groups of state variables from src to dst. mask indicates which groups of state variables are to be copied. mask contains the bitwise OR of the same symbolic names that are passed to the GL command glPushAttrib. The single symbolic constant GLX_ALL_ATTRIB_BITS can be used to copy the maximum possible portion of rendering state. The copy can be done only if the renderers named by src and dst share an address space. Two rendering contexts share an address space if both are nondirect using the same server, or if both are direct and owned by a single process. Note that in the nondirect case it is not necessary for the calling threads to share an address space, only for their related rendering contexts to share an address space. Not all values for GL state can be copied. For example, pixel pack and unpack state, render mode state, and select and feedback state are not copied. The state that can be copied is exactly the state that is manipulated by the GL command glPushAttrib. An implicit glFlush is done by glXCopyContext if src is the current context for the calling thread. Notes A process is a single execution environment, implemented in a single address space, consisting of one or more threads. A thread is one of a set of subprocesses that share a single address space, but maintain separate program counters, stack spaces, and other related global data. A thread that is the only member of its subprocess group is equivalent to a process. Errors BadMatch is generated if rendering contexts src and dst do not share an address space or were not created with respect to the same screen. BadAccess is generated if dst is current to any thread (including the calling thread) at the time glXCopyContext is called. GLXBadCurrentWindow is generated if src is the current context and the current drawable is a window that is no longer valid. GLXBadContext is generated if either src or dst is not a valid GLX context. See Also glPushAttrib, glXCreateContext, glXIsDirect Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBlendEquation.xml0000664000175000017500000011560311453131434024321 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBlendEquation 3G glBlendEquation specify the equation used for both the RGB blend equation and the Alpha blend equation C Specification void glBlendEquation GLenum mode Parameters mode specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Description The blend equations determine how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color). This function sets both the RGB blend equation and the alpha blend equation to a single equation. These equations use the source and destination blend factors specified by either glBlendFunc or glBlendFuncSeparate. See glBlendFunc or glBlendFuncSeparate for a description of the various blend factors. In the equations that follow, source and destination color components are referred to as R s G s B s A s and R d G d B d A d , respectively. The result color is referred to as R r G r B r A r . The source and destination blend factors are denoted s R s G s B s A and d R d G d B d A , respectively. For these equations all color components are understood to have values in the range 0 1 . Mode RGB Components Alpha Component GL_FUNC_ADD Rr = R s s R + R d d R Gr = G s s G + G d d G Br = B s s B + B d d B Ar = A s s A + A d d A GL_FUNC_SUBTRACT Rr = R s s R - R d d R Gr = G s s G - G d d G Br = B s s B - B d d B Ar = A s s A - A d d A GL_FUNC_REVERSE_SUBTRACT Rr = R d d R - R s s R Gr = G d d G - G s s G Br = B d d B - B s s B Ar = A d d A - A s s A GL_MIN Rr = min R s R d Gr = min G s G d Br = min B s B d Ar = min A s A d GL_MAX Rr = max R s R d Gr = max G s G d Br = max B s B d Ar = max A s A d The results of these equations are clamped to the range 0 1 . The GL_MIN and GL_MAX equations are useful for applications that analyze image data (image thresholding against a constant color, for example). The GL_FUNC_ADD equation is useful for antialiasing and transparency, among other things. Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. Notes The GL_MIN, and GL_MAX equations do not use the source or destination factors, only the source and destination colors. Errors GL_INVALID_ENUM is generated if mode is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MAX, or GL_MIN. GL_INVALID_OPERATION is generated if glBlendEquation is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with an argument of GL_BLEND_EQUATION_RGB glGet with an argument of GL_BLEND_EQUATION_ALPHA See Also glGetString, glBlendColor, glBlendFunc glBlendFuncSeparate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glVertexAttrib.xml0000664000175000017500000004671711453131434024223 0ustar laneylaney glVertexAttrib 3G glVertexAttrib Specifies the value of a generic vertex attribute C Specification void glVertexAttrib1f GLuint index GLfloat v0 void glVertexAttrib1s GLuint index GLshort v0 void glVertexAttrib1d GLuint index GLdouble v0 void glVertexAttrib2f GLuint index GLfloat v0 GLfloat v1 void glVertexAttrib2s GLuint index GLshort v0 GLshort v1 void glVertexAttrib2d GLuint index GLdouble v0 GLdouble v1 void glVertexAttrib3f GLuint index GLfloat v0 GLfloat v1 GLfloat v2 void glVertexAttrib3s GLuint index GLshort v0 GLshort v1 GLshort v2 void glVertexAttrib3d GLuint index GLdouble v0 GLdouble v1 GLdouble v2 void glVertexAttrib4f GLuint index GLfloat v0 GLfloat v1 GLfloat v2 GLfloat v3 void glVertexAttrib4s GLuint index GLshort v0 GLshort v1 GLshort v2 GLshort v3 void glVertexAttrib4d GLuint index GLdouble v0 GLdouble v1 GLdouble v2 GLdouble v3 void glVertexAttrib4Nub GLuint index GLubyte v0 GLubyte v1 GLubyte v2 GLubyte v3 Parameters index Specifies the index of the generic vertex attribute to be modified. v0, v1, v2, v3 Specifies the new values to be used for the specified vertex attribute. C Specification void glVertexAttrib1fv GLuint index const GLfloat *v void glVertexAttrib1sv GLuint index const GLshort *v void glVertexAttrib1dv GLuint index const GLdouble *v void glVertexAttrib2fv GLuint index const GLfloat *v void glVertexAttrib2sv GLuint index const GLshort *v void glVertexAttrib2dv GLuint index const GLdouble *v void glVertexAttrib3fv GLuint index const GLfloat *v void glVertexAttrib3sv GLuint index const GLshort *v void glVertexAttrib3dv GLuint index const GLdouble *v void glVertexAttrib4fv GLuint index const GLfloat *v void glVertexAttrib4sv GLuint index const GLshort *v void glVertexAttrib4dv GLuint index const GLdouble *v void glVertexAttrib4iv GLuint index const GLint *v void glVertexAttrib4bv GLuint index const GLbyte *v void glVertexAttrib4ubv GLuint index const GLubyte *v void glVertexAttrib4usv GLuint index const GLushort *v void glVertexAttrib4uiv GLuint index const GLuint *v void glVertexAttrib4Nbv GLuint index const GLbyte *v void glVertexAttrib4Nsv GLuint index const GLshort *v void glVertexAttrib4Niv GLuint index const GLint *v void glVertexAttrib4Nubv GLuint index const GLubyte *v void glVertexAttrib4Nusv GLuint index const GLushort *v void glVertexAttrib4Nuiv GLuint index const GLuint *v Parameters index Specifies the index of the generic vertex attribute to be modified. v Specifies a pointer to an array of values to be used for the generic vertex attribute. Description OpenGL defines a number of standard vertex attributes that applications can modify with standard API entry points (color, normal, texture coordinates, etc.). The glVertexAttrib family of entry points allows an application to pass generic vertex attributes in numbered locations. Generic attributes are defined as four-component values that are organized into an array. The first entry of this array is numbered 0, and the size of the array is specified by the implementation-dependent constant GL_MAX_VERTEX_ATTRIBS. Individual elements of this array can be modified with a glVertexAttrib call that specifies the index of the element to be modified and a value for that element. These commands can be used to specify one, two, three, or all four components of the generic vertex attribute specified by index. A 1 in the name of the command indicates that only one value is passed, and it will be used to modify the first component of the generic vertex attribute. The second and third components will be set to 0, and the fourth component will be set to 1. Similarly, a 2 in the name of the command indicates that values are provided for the first two components, the third component will be set to 0, and the fourth component will be set to 1. A 3 in the name of the command indicates that values are provided for the first three components and the fourth component will be set to 1, whereas a 4 in the name indicates that values are provided for all four components. The letters s, f, i, d, ub, us, and ui indicate whether the arguments are of type short, float, int, double, unsigned byte, unsigned short, or unsigned int. When v is appended to the name, the commands can take a pointer to an array of such values. The commands containing N indicate that the arguments will be passed as fixed-point values that are scaled to a normalized range according to the component conversion rules defined by the OpenGL specification. Signed values are understood to represent fixed-point values in the range [-1,1], and unsigned values are understood to represent fixed-point values in the range [0,1]. OpenGL Shading Language attribute variables are allowed to be of type mat2, mat3, or mat4. Attributes of these types may be loaded using the glVertexAttrib entry points. Matrices must be loaded into successive generic attribute slots in column major order, with one column of the matrix in each generic attribute slot. A user-defined attribute variable declared in a vertex shader can be bound to a generic attribute index by calling glBindAttribLocation. This allows an application to use more descriptive variable names in a vertex shader. A subsequent change to the specified generic vertex attribute will be immediately reflected as a change to the corresponding attribute variable in the vertex shader. The binding between a generic vertex attribute index and a user-defined attribute variable in a vertex shader is part of the state of a program object, but the current value of the generic vertex attribute is not. The value of each generic vertex attribute is part of current state, just like standard vertex attributes, and it is maintained even if a different program object is used. An application may freely modify generic vertex attributes that are not bound to a named vertex shader attribute variable. These values are simply maintained as part of current state and will not be accessed by the vertex shader. If a generic vertex attribute bound to an attribute variable in a vertex shader is not updated while the vertex shader is executing, the vertex shader will repeatedly use the current value for the generic vertex attribute. The generic vertex attribute with index 0 is the same as the vertex position attribute previously defined by OpenGL. A glVertex2, glVertex3, or glVertex4 command is completely equivalent to the corresponding glVertexAttrib command with an index argument of 0. A vertex shader can access generic vertex attribute 0 by using the built-in attribute variable gl_Vertex. There are no current values for generic vertex attribute 0. This is the only generic vertex attribute with this property; calls to set other standard vertex attributes can be freely mixed with calls to set any of the other generic vertex attributes. Notes glVertexAttrib is available only if the GL version is 2.0 or greater. Generic vertex attributes can be updated at any time. In particular, glVertexAttrib can be called between a call to glBegin and the corresponding call to glEnd. It is possible for an application to bind more than one attribute name to the same generic vertex attribute index. This is referred to as aliasing, and it is allowed only if just one of the aliased attribute variables is active in the vertex shader, or if no path through the vertex shader consumes more than one of the attributes aliased to the same location. OpenGL implementations are not required to do error checking to detect aliasing, they are allowed to assume that aliasing will not occur, and they are allowed to employ optimizations that work only in the absence of aliasing. There is no provision for binding standard vertex attributes; therefore, it is not possible to alias generic attributes with standard attributes. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib with argument program and the index of an active attribute variable glGetAttribLocation with argument program and an attribute variable name glGetVertexAttrib with arguments GL_CURRENT_VERTEX_ATTRIB and index See Also glBindAttribLocation, glVertex, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessEndPolygon.xml0000664000175000017500000001260411453131434024666 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessEndPolygon 3G gluTessEndPolygon delimit a polygon description C Specification void gluTessEndPolygon GLUtesselator* tess Parameters tess Specifies the tessellation object (created with gluNewTess). Description gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a convex, concave, or self-intersecting polygon. Within each gluTessBeginPolygon/gluTessEndPolygon pair, there must be one or more calls to gluTessBeginContour/gluTessEndContour. Within each contour, there are zero or more calls to gluTessVertex. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the gluTessVertex, gluTessBeginContour, and gluTessEndContour reference pages for more details. Once gluTessEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See gluTessCallback for descriptions of the callback functions. Example A quadrilateral with a triangular hole in it can be described like this: gluTessBeginPolygon(tobj, NULL); gluTessBeginContour(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluTessEndContour(tobj); gluTessBeginContour(tobj); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluTessEndContour(tobj); gluTessEndPolygon(tobj); In the above example the pointers, v1 through v7, should point to different addresses, since the values stored at these addresses will not be read by the tesselator until gluTessEndPolygon is called. See Also gluNewTess, gluTessBeginContour, gluTessBeginPolygon, gluTessCallback, gluTessNormal, gluTessProperty, gluTessVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glHistogram.xml0000664000175000017500000002403511453131434023522 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glHistogram 3G glHistogram define histogram table C Specification void glHistogram GLenum target GLsizei width GLenum internalformat GLboolean sink Parameters target The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. width The number of entries in the histogram table. Must be a power of 2. internalformat The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. sink If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming. Description When GL_HISTOGRAM is enabled, RGBA color components are converted to histogram table indices by clamping to the range [0,1], multiplying by the width of the histogram table, and rounding to the nearest integer. The table entries selected by the RGBA indices are then incremented. (If the internal format of the histogram table includes luminance, then the index derived from the R color component determines the luminance table entry to be incremented.) If a histogram table entry is incremented beyond its maximum value, then its value becomes undefined. (This is not an error.) Histogramming is performed only for RGBA pixels (though these may be specified originally as color indices and converted to RGBA by index table lookup). Histogramming is enabled with glEnable and disabled with glDisable. When target is GL_HISTOGRAM, glHistogram redefines the current histogram table to have width entries of the format specified by internalformat. The entries are indexed 0 through width - 1 , and all entries are initialized to zero. The values in the previous histogram table, if any, are lost. If sink is GL_TRUE, then pixels are discarded after histogramming; no further processing of the pixels takes place, and no drawing, texture loading, or pixel readback will result. When target is GL_PROXY_HISTOGRAM, glHistogram computes all state information as if the histogram table were to be redefined, but does not actually define the new table. If the requested histogram table is too large to be supported, then the state information will be set to zero. This provides a way to determine if a histogram table with the given parameters can be supported. Notes glHistogram is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or is not a power of 2. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_TABLE_TOO_LARGE is generated if target is GL_HISTOGRAM and the histogram table specified is too large for the implementation. GL_INVALID_OPERATION is generated if glHistogram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetHistogramParameter See Also glGetHistogram, glResetHistogram Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetShader.xml0000664000175000017500000001513311453131432023430 0ustar laneylaney glGetShader 3G glGetShaderiv Returns a parameter from a shader object C Specification void glGetShaderiv GLuint shader GLenum pname GLint *params Parameters shader Specifies the shader object to be queried. pname Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. params Returns the requested object parameter. Description glGetShader returns in params the value of a parameter for a specific shader object. The following parameters are defined: GL_SHADER_TYPE params returns GL_VERTEX_SHADER if shader is a vertex shader object, and GL_FRAGMENT_SHADER if shader is a fragment shader object. GL_DELETE_STATUS params returns GL_TRUE if shader is currently flagged for deletion, and GL_FALSE otherwise. GL_COMPILE_STATUS params returns GL_TRUE if the last compile operation on shader was successful, and GL_FALSE otherwise. GL_INFO_LOG_LENGTH params returns the number of characters in the information log for shader including the null termination character (i.e., the size of the character buffer required to store the information log). If shader has no information log, a value of 0 is returned. GL_SHADER_SOURCE_LENGTH params returns the length of the concatenation of the source strings that make up the shader source for the shader, including the null termination character. (i.e., the size of the character buffer required to store the shader source). If no source code exists, 0 is returned. Notes glGetShader is available only if the GL version is 2.0 or greater. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if shader does not refer to a shader object. GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShaderInfoLog with argument shader glGetShaderSource with argument shader glIsShader See Also glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glNormal.xml0000664000175000017500000002324411453131434023016 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glNormal 3G glNormal set the current normal vector C Specification void glNormal3b GLbyte nx GLbyte ny GLbyte nz void glNormal3d GLdouble nx GLdouble ny GLdouble nz void glNormal3f GLfloat nx GLfloat ny GLfloat nz void glNormal3i GLint nx GLint ny GLint nz void glNormal3s GLshort nx GLshort ny GLshort nz Parameters nx ny nz Specify the x, y, and z coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). C Specification void glNormal3bv const GLbyte * v void glNormal3dv const GLdouble * v void glNormal3fv const GLfloat * v void glNormal3iv const GLint * v void glNormal3sv const GLshort * v Parameters v Specifies a pointer to an array of three elements: the x, y, and z coordinates of the new current normal. Description The current normal is set to the given coordinates whenever glNormal is issued. Byte, short, or integer arguments are converted to floating-point format with a linear mapping that maps the most positive representable integer value to 1.0 and the most negative representable integer value to -1.0 . Normals specified with glNormal need not have unit length. If GL_NORMALIZE is enabled, then normals of any length specified with glNormal are normalized after transformation. If GL_RESCALE_NORMAL is enabled, normals are scaled by a scaling factor derived from the modelview matrix. GL_RESCALE_NORMAL requires that the originally specified normals were of unit length, and that the modelview matrix contain only uniform scales for proper results. To enable and disable normalization, call glEnable and glDisable with either GL_NORMALIZE or GL_RESCALE_NORMAL. Normalization is initially disabled. Notes The current normal can be updated at any time. In particular, glNormal can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_CURRENT_NORMAL glIsEnabled with argument GL_NORMALIZE glIsEnabled with argument GL_RESCALE_NORMAL See Also glBegin, glColor, glIndex, glMultiTexCoord, glNormalPointer, glTexCoord, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glVertex.xml0000664000175000017500000003452611453131434023050 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glVertex 3G glVertex specify a vertex C Specification void glVertex2s GLshort x GLshort y void glVertex2i GLint x GLint y void glVertex2f GLfloat x GLfloat y void glVertex2d GLdouble x GLdouble y void glVertex3s GLshort x GLshort y GLshort z void glVertex3i GLint x GLint y GLint z void glVertex3f GLfloat x GLfloat y GLfloat z void glVertex3d GLdouble x GLdouble y GLdouble z void glVertex4s GLshort x GLshort y GLshort z GLshort w void glVertex4i GLint x GLint y GLint z GLint w void glVertex4f GLfloat x GLfloat y GLfloat z GLfloat w void glVertex4d GLdouble x GLdouble y GLdouble z GLdouble w Parameters x y z w Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. C Specification void glVertex2sv const GLshort * v void glVertex2iv const GLint * v void glVertex2fv const GLfloat * v void glVertex2dv const GLdouble * v void glVertex3sv const GLshort * v void glVertex3iv const GLint * v void glVertex3fv const GLfloat * v void glVertex3dv const GLdouble * v void glVertex4sv const GLshort * v void glVertex4iv const GLint * v void glVertex4fv const GLfloat * v void glVertex4dv const GLdouble * v Parameters v Specifies a pointer to an array of two, three, or four elements. The elements of a two-element array are x and y; of a three-element array, x, y, and z; and of a four-element array, x, y, z, and w. Description glVertex commands are used within glBegin/glEnd pairs to specify point, line, and polygon vertices. The current color, normal, texture coordinates, and fog coordinate are associated with the vertex when glVertex is called. When only x and y are specified, z defaults to 0 and w defaults to 1. When x, y, and z are specified, w defaults to 1. Notes Invoking glVertex outside of a glBegin/glEnd pair results in undefined behavior. See Also glBegin, glCallList, glColor, glEdgeFlag, glEvalCoord, glFogCoord, glIndex, glMaterial, glMultiTexCoord, glNormal, glRect, glTexCoord, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClearDepth.xml0000664000175000017500000000656611453131434023611 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClearDepth 3G glClearDepth specify the clear value for the depth buffer C Specification void glClearDepth GLclampd depth Parameters depth Specifies the depth value used when the depth buffer is cleared. The initial value is 1. Description glClearDepth specifies the depth value used by glClear to clear the depth buffer. Values specified by glClearDepth are clamped to the range 0 1 . Errors GL_INVALID_OPERATION is generated if glClearDepth is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_DEPTH_CLEAR_VALUE See Also glClear Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNewNurbsRenderer.xml0000664000175000017500000000471511453131432025205 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNewNurbsRenderer 3G gluNewNurbsRenderer create a NURBS object C Specification GLUnurbs* gluNewNurbsRenderer Description gluNewNurbsRenderer creates and returns a pointer to a new NURBS object. This object must be referred to when calling NURBS rendering and control functions. A return value of 0 means that there is not enough memory to allocate the object. See Also gluBeginCurve, gluBeginSurface, gluBeginTrim, gluDeleteNurbsRenderer, gluNurbsCallback, gluNurbsProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glWindowPos.xml0000664000175000017500000005010011453131434023506 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glWindowPos 3G glWindowPos specify the raster position in window coordinates for pixel operations C Specification void glWindowPos2s GLshort x GLshort y void glWindowPos2i GLint x GLint y void glWindowPos2f GLfloat x GLfloat y void glWindowPos2d GLdouble x GLdouble y void glWindowPos3s GLshort x GLshort y GLshort z void glWindowPos3i GLint x GLint y GLint z void glWindowPos3f GLfloat x GLfloat y GLfloat z void glWindowPos3d GLdouble x GLdouble y GLdouble z Parameters x y z Specify the x, y, z coordinates for the raster position. C Specification void glWindowPos2sv const GLshort * v void glWindowPos2iv const GLint * v void glWindowPos2fv const GLfloat * v void glWindowPos2dv const GLdouble * v void glWindowPos3sv const GLshort * v void glWindowPos3iv const GLint * v void glWindowPos3fv const GLfloat * v void glWindowPos3dv const GLdouble * v Parameters v Specifies a pointer to an array of two or three elements, specifying x, y, z coordinates, respectively. Description The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is maintained with subpixel accuracy. See glBitmap, glDrawPixels, and glCopyPixels. glWindowPos2 specifies the x and y coordinates, while z is implicitly set to 0. glWindowPos3 specifies all three coordinates. The w coordinate of the current raster position is always set to 1.0. glWindowPos directly updates the x and y coordinates of the current raster position with the values specified. That is, the values are neither transformed by the current modelview and projection matrices, nor by the viewport-to-window transform. The z coordinate of the current raster position is updated in the following manner: z = n f n + z × f - n if z <= 0 if z >= 1 otherwise where n is GL_DEPTH_RANGE's near value, and f is GL_DEPTH_RANGE's far value. See glDepthRange. The specified coordinates are not clip-tested, causing the raster position to always be valid. The current raster position also includes some associated color data and texture coordinates. If lighting is enabled, then GL_CURRENT_RASTER_COLOR (in RGBA mode) or GL_CURRENT_RASTER_INDEX (in color index mode) is set to the color produced by the lighting calculation (see glLight, glLightModel, and glShadeModel). If lighting is disabled, current color (in RGBA mode, state variable GL_CURRENT_COLOR) or color index (in color index mode, state variable GL_CURRENT_INDEX) is used to update the current raster color. GL_CURRENT_RASTER_SECONDARY_COLOR (in RGBA mode) is likewise updated. Likewise, GL_CURRENT_RASTER_TEXTURE_COORDS is updated as a function of GL_CURRENT_TEXTURE_COORDS, based on the texture matrix and the texture generation functions (see glTexGen). The GL_CURRENT_RASTER_DISTANCE is set to the GL_CURRENT_FOG_COORD. Notes glWindowPos is available only if the GL version is 1.4 or greater. The raster position is modified by glRasterPos, glBitmap, and glWindowPos. Calling glDrawElements, or glDrawRangeElements may leave the current color or index indeterminate. If glWindowPos is executed while the current color or index is indeterminate, the current raster color or current raster index remains indeterminate. There are distinct raster texture coordinates for each texture unit. Each texture unit's current raster texture coordinates are updated by glWindowPos. Errors GL_INVALID_OPERATION is generated if glWindowPos is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_RASTER_POSITION glGet with argument GL_CURRENT_RASTER_POSITION_VALID glGet with argument GL_CURRENT_RASTER_DISTANCE glGet with argument GL_CURRENT_RASTER_COLOR glGet with argument GL_CURRENT_RASTER_SECONDARY_COLOR glGet with argument GL_CURRENT_RASTER_INDEX glGet with argument GL_CURRENT_RASTER_TEXTURE_COORDS See Also glBitmap, glCopyPixels, glDrawArrays, glDrawElements, glDrawRangeElements, glDrawPixels, glMultiTexCoord, glRasterPos, glTexCoord, glTexGen, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexImage2D.xml0000664000175000017500000004137411453131432025506 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexImage2D 3G glCompressedTexImage2D specify a two-dimensional texture image in a compressed format C Specification void glCompressedTexImage2D GLenum target GLint level GLenum internalformat GLsizei width GLsizei height GLint border GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalformat Specifies the format of the compressed image data stored at address data. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. height Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 n + 2 border for some integer n. All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. border Specifies the width of the border. Must be either 0 or 1. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. To enable and disable texturing using cube-mapped textures, call glEnable and glDisable with argument GL_TEXTURE_CUBE_MAP. glCompressedTexImage2D loads a previously defined, and retrieved, compressed two-dimensional texture image if target is GL_TEXTURE_2D (see glTexImage2D). If target is GL_PROXY_TEXTURE_2D, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. internalformat must be an extension-specified compressed-texture format. When a texture is loaded with glTexImage2D using a generic compressed texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of its extensions supporting compressed textures. In order to load the compressed texture image using glCompressedTexImage2D, query the compressed texture image's size and format using glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexImage2D is available only if the GL version is 1.3 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. Errors GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glAccum.xml0000664000175000017500000003541111453131434022615 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glAccum 3G glAccum operate on the accumulation buffer C Specification void glAccum GLenum op GLfloat value Parameters op Specifies the accumulation buffer operation. Symbolic constants GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN are accepted. value Specifies a floating-point value used in the accumulation buffer operation. op determines how value is used. Description The accumulation buffer is an extended-range color buffer. Images are not rendered into it. Rather, images rendered into one of the color buffers are added to the contents of the accumulation buffer after rendering. Effects such as antialiasing (of points, lines, and polygons), motion blur, and depth of field can be created by accumulating images generated with different transformation matrices. Each pixel in the accumulation buffer consists of red, green, blue, and alpha values. The number of bits per component in the accumulation buffer depends on the implementation. You can examine this number by calling glGetIntegerv four times, with arguments GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS, and GL_ACCUM_ALPHA_BITS. Regardless of the number of bits per component, the range of values stored by each component is -1 1 . The accumulation buffer pixels are mapped one-to-one with frame buffer pixels. glAccum operates on the accumulation buffer. The first argument, op, is a symbolic constant that selects an accumulation buffer operation. The second argument, value, is a floating-point value to be used in that operation. Five operations are specified: GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN. All accumulation buffer operations are limited to the area of the current scissor box and applied identically to the red, green, blue, and alpha components of each pixel. If a glAccum operation results in a value outside the range -1 1 , the contents of an accumulation buffer pixel component are undefined. The operations are as follows: GL_ACCUM Obtains R, G, B, and A values from the buffer currently selected for reading (see glReadBuffer). Each component value is divided by 2 n - 1 , where n is the number of bits allocated to each color component in the currently selected buffer. The result is a floating-point value in the range 0 1 , which is multiplied by value and added to the corresponding pixel component in the accumulation buffer, thereby updating the accumulation buffer. GL_LOAD Similar to GL_ACCUM, except that the current value in the accumulation buffer is not used in the calculation of the new value. That is, the R, G, B, and A values from the currently selected buffer are divided by 2 n - 1 , multiplied by value, and then stored in the corresponding accumulation buffer cell, overwriting the current value. GL_ADD Adds value to each R, G, B, and A in the accumulation buffer. GL_MULT Multiplies each R, G, B, and A in the accumulation buffer by value and returns the scaled component to its corresponding accumulation buffer location. GL_RETURN Transfers accumulation buffer values to the color buffer or buffers currently selected for writing. Each R, G, B, and A component is multiplied by value, then multiplied by 2 n - 1 , clamped to the range 0 2 n - 1 , and stored in the corresponding display buffer cell. The only fragment operations that are applied to this transfer are pixel ownership, scissor, dithering, and color writemasks. To clear the accumulation buffer, call glClearAccum with R, G, B, and A values to set it to, then call glClear with the accumulation buffer enabled. Notes Only pixels within the current scissor box are updated by a glAccum operation. Errors GL_INVALID_ENUM is generated if op is not an accepted value. GL_INVALID_OPERATION is generated if there is no accumulation buffer. GL_INVALID_OPERATION is generated if glAccum is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ACCUM_RED_BITS glGet with argument GL_ACCUM_GREEN_BITS glGet with argument GL_ACCUM_BLUE_BITS glGet with argument GL_ACCUM_ALPHA_BITS See Also glClear, glClearAccum, glCopyPixels, glDrawBuffer, glGet, glReadBuffer, glReadPixels, glScissor, glStencilOp Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glValidateProgram.xml0000664000175000017500000001436711453131434024655 0ustar laneylaney glValidateProgram 3G glValidateProgram Validates a program object C Specification void glValidateProgram GLuint program Parameters program Specifies the handle of the program object to be validated. Description glValidateProgram checks to see whether the executables contained in program can execute given the current OpenGL state. The information generated by the validation process will be stored in program's information log. The validation information may consist of an empty string, or it may be a string containing information about how the current program object interacts with the rest of current OpenGL state. This provides a way for OpenGL implementers to convey more information about why the current program is inefficient, suboptimal, failing to execute, and so on. The status of the validation operation will be stored as part of the program object's state. This value will be set to GL_TRUE if the validation succeeded, and GL_FALSE otherwise. It can be queried by calling glGetProgram with arguments program and GL_VALIDATE_STATUS. If validation is successful, program is guaranteed to execute given the current state. Otherwise, program is guaranteed to not execute. This function is typically useful only during application development. The informational string stored in the information log is completely implementation dependent; therefore, an application should not expect different OpenGL implementations to produce identical information strings. Notes glValidateProgram is available only if the GL version is 2.0 or greater. This function mimics the validation operation that OpenGL implementations must perform when rendering commands are issued while programmable shaders are part of current state. The error GL_INVALID_OPERATION will be generated by glBegin, glRasterPos, or any command that performs an implicit call to glBegin if: any two active samplers in the current program object are of different types, but refer to the same texture image unit, any active sampler in the current program object refers to a texture image unit where fixed-function fragment processing accesses a texture target that does not match the sampler type, or the sum of the number of active samplers in the program and the number of texture image units enabled for fixed-function fragment processing exceeds the combined limit on the total number of texture image units allowed. It may be difficult or cause a performance degradation for applications to catch these errors when rendering commands are issued. Therefore, applications are advised to make calls to glValidateProgram to detect these issues during application development. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if glValidateProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetProgram with arguments program and GL_VALIDATE_STATUS glGetProgramInfoLog with argument program glIsProgram See Also glLinkProgram, glUseProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluScaleImage.xml0000664000175000017500000003223311453131432023741 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluScaleImage 3G gluScaleImage scale an image to an arbitrary size C Specification GLint gluScaleImage GLenum format GLsizei wIn GLsizei hIn GLenum typeIn const void * dataIn GLsizei wOut GLsizei hOut GLenum typeOut GLvoid* dataOut Parameters format Specifies the format of the pixel data. The following symbolic values are valid: GLU_COLOR_INDEX, GLU_STENCIL_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, and GLU_LUMINANCE_ALPHA. wIn hIn Specify in pixels the width and height, respectively, of the source image. typeIn Specifies the data type for dataIn. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. dataIn Specifies a pointer to the source image. wOut hOut Specify the width and height, respectively, in pixels of the destination image. typeOut Specifies the data type for dataOut. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. dataOut Specifies a pointer to the destination image. Description gluScaleImage scales a pixel image using the appropriate pixel store modes to unpack data from the source image and pack data into the destination image. When shrinking an image, gluScaleImage uses a box filter to sample the source image and create pixels for the destination image. When magnifying an image, the pixels from the source image are linearly interpolated to create the destination image. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). See the glReadPixels reference page for a description of the acceptable values for the format, typeIn, and typeOut parameters. Notes Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater. Errors GLU_INVALID_VALUE is returned if wIn, hIn, wOut, or hOut is negative. GLU_INVALID_ENUM is returned if format, typeIn, or typeOut is not legal. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if typeIn or typeOut is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmaps, gluBuild2DMipmaps, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glReadPixels Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColorTable.xml0000664000175000017500000010621411453131434023613 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColorTable 3G glColorTable define a color lookup table C Specification void glColorTable GLenum target GLenum internalformat GLsizei width GLenum format GLenum type const GLvoid * data Parameters target Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. internalformat The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. width The number of entries in the color lookup table specified by data. format The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. type The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Pointer to a one-dimensional array of pixel data that is processed to build the color table. Description glColorTable may be used in two ways: to test the actual size and color resolution of a lookup table given a particular set of parameters, or to load the contents of a color lookup table. Use the targets GL_PROXY_* for the first case and the other targets for the second case. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a color table is specified, data is treated as a byte offset into the buffer object's data store. If target is GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE, glColorTable builds a color lookup table from an array of pixels. The pixel array specified by width, format, type, and data is extracted from memory and processed just as if glDrawPixels were called, but processing stops after the final expansion to RGBA is completed. The four scale parameters and the four bias parameters that are defined for the table are then used to scale and bias the R, G, B, and A components of each pixel. (Use glColorTableParameter to set these scale and bias parameters.) Next, the R, G, B, and A values are clamped to the range 0 1 . Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A Finally, the red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in the color table. They form a one-dimensional table with indices in the range 0 width - 1 . If target is GL_PROXY_*, glColorTable recomputes and stores the values of the proxy color table's state variables GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, and GL_COLOR_TABLE_INTENSITY_SIZE. There is no effect on the image or state of any actual color table. If the specified color table is too large to be supported, then all the proxy state variables listed above are set to zero. Otherwise, the color table could be supported by glColorTable using the corresponding non-proxy target, and the proxy state variables are set as if that target were being defined. The proxy state variables can be retrieved by calling glGetColorTableParameter with a target of GL_PROXY_*. This allows the application to decide if a particular glColorTable command would succeed, and to determine what the resulting color table attributes would be. If a color table is enabled, and its width is non-zero, then its contents are used to replace a subset of the components of each RGBA pixel group, based on the internal format of the table. Each pixel group has color components (R, G, B, A) that are in the range 0.0 1.0 . The color components are rescaled to the size of the color lookup table to form an index. Then a subset of the components based on the internal format of the table are replaced by the table entry selected by that index. If the color components and contents of the table are represented as follows: Representation Meaning r Table index computed from R g Table index computed from G b Table index computed from B a Table index computed from A L[i] Luminance value at table index i I[i] Intensity value at table index i R[i] Red value at table index i G[i] Green value at table index i B[i] Blue value at table index i A[i] Alpha value at table index i then the result of color table lookup is as follows: Resulting Texture Components Table Internal Format R G B A GL_ALPHA R G B A[a] GL_LUMINANCE L[r] L[g] L[b] At GL_LUMINANCE_ALPHA L[r] L[g] L[b] A[a] GL_INTENSITY I[r] I[g] I[b] I[a] GL_RGB R[r] G[g] B[b] A GL_RGBA R[r] G[g] B[b] A[a] When GL_COLOR_TABLE is enabled, the colors resulting from the pixel map operation (if it is enabled) are mapped by the color lookup table before being passed to the convolution operation. The colors resulting from the convolution operation are modified by the post convolution color lookup table when GL_POST_CONVOLUTION_COLOR_TABLE is enabled. These modified colors are then sent to the color matrix operation. Finally, if GL_POST_COLOR_MATRIX_COLOR_TABLE is enabled, the colors resulting from the color matrix operation are mapped by the post color matrix color lookup table before being used by the histogram operation. Notes glColorTable is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. If target is set to GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE, then width must be a power of two or a GL_INVALID_VALUE error is generated. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero. GL_TABLE_TOO_LARGE is generated if the requested color table is too large to be supported by the implementation, and target is not a GL_PROXY_* target. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glColorTable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTableParameter glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glColorSubTable, glColorTableParameter, glCopyColorTable, glCopyColorSubTable, glGetColorTable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGenBuffers.xml0000664000175000017500000001077211453131434023616 0ustar laneylaney 2005 Sams Publishing glGenBuffers 3G glGenBuffers generate buffer object names C Specification void glGenBuffers GLsizei n GLuint * buffers Parameters n Specifies the number of buffer object names to be generated. buffers Specifies an array in which the generated buffer object names are stored. Description glGenBuffers returns n buffer object names in buffers. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to glGenBuffers. Buffer object names returned by a call to glGenBuffers are not returned by subsequent calls, unless they are first deleted with glDeleteBuffers. No buffer objects are associated with the returned buffer object names until they are first bound by calling glBindBuffer. Notes glGenBuffers is available only if the GL version is 1.5 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glGenBuffers is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsBuffer See Also glBindBuffer, glDeleteBuffers, glGet Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPrioritizeTextures.xml0000664000175000017500000001567511453131434025503 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPrioritizeTextures 3G glPrioritizeTextures set texture residence priority C Specification void glPrioritizeTextures GLsizei n const GLuint * textures const GLclampf * priorities Parameters n Specifies the number of textures to be prioritized. textures Specifies an array containing the names of the textures to be prioritized. priorities Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. Description glPrioritizeTextures assigns the n texture priorities given in priorities to the n textures named in textures. The GL establishes a ``working set'' of textures that are resident in texture memory. These textures may be bound to a texture target much more efficiently than textures that are not resident. By specifying a priority for each texture, glPrioritizeTextures allows applications to guide the GL implementation in determining which textures should be resident. The priorities given in priorities are clamped to the range 0 1 before they are assigned. 0 indicates the lowest priority; textures with priority 0 are least likely to be resident. 1 indicates the highest priority; textures with priority 1 are most likely to be resident. However, textures are not guaranteed to be resident until they are used. glPrioritizeTextures silently ignores attempts to prioritize texture 0 or any texture name that does not correspond to an existing texture. glPrioritizeTextures does not require that any of the textures named by textures be bound to a texture target. glTexParameter may also be used to set a texture's priority, but only if the texture is currently bound. This is the only way to set the priority of a default texture. Notes glPrioritizeTextures is available only if the GL version is 1.1 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glPrioritizeTextures is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexParameter with parameter name GL_TEXTURE_PRIORITY retrieves the priority of a currently bound texture. See Also glAreTexturesResident, glBindTexture, glCopyTexImage1D, glCopyTexImage2D, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNewTess.xml0000664000175000017500000000421011453131434023333 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNewTess 3G gluNewTess create a tessellation object C Specification GLUtesselator* gluNewTess Description gluNewTess creates and returns a pointer to a new tessellation object. This object must be referred to when calling tessellation functions. A return value of 0 means that there is not enough memory to allocate the object. See Also gluTessBeginPolygon, gluDeleteTess, gluTessCallback Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glSeparableFilter2D.xml0000664000175000017500000005752011453131432025022 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glSeparableFilter2D 3G glSeparableFilter2D define a separable two-dimensional convolution filter C Specification void glSeparableFilter2D GLenum target GLenum internalformat GLsizei width GLsizei height GLenum format GLenum type const GLvoid * row const GLvoid * column Parameters target Must be GL_SEPARABLE_2D. internalformat The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. width The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) height The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) format The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. row Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. column Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. Description glSeparableFilter2D builds a two-dimensional separable convolution filter kernel from two arrays of pixels. The pixel arrays specified by (width, format, type, row) and (height, format, type, column) are processed just as if they had been passed to glDrawPixels, but processing stops after the final expansion to RGBA is completed. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a convolution filter is specified, row and column are treated as byte offsets into the buffer object's data store. Next, the R, G, B, and A components of all pixels in both arrays are scaled by the four separable 2D GL_CONVOLUTION_FILTER_SCALE parameters and biased by the four separable 2D GL_CONVOLUTION_FILTER_BIAS parameters. (The scale and bias parameters are set by glConvolutionParameter using the GL_SEPARABLE_2D target and the names GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS. The parameters themselves are vectors of four values that are applied to red, green, blue, and alpha, in that order.) The R, G, B, and A values are not clamped to [0,1] at any time during this process. Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A The red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in floating-point rather than integer format. They form two one-dimensional filter kernel images. The row image is indexed by coordinate i starting at zero and increasing from left to right. Each location in the row image is derived from element i of row. The column image is indexed by coordinate j starting at zero and increasing from bottom to top. Each location in the column image is derived from element j of column. Note that after a convolution is performed, the resulting color components are also scaled by their corresponding GL_POST_CONVOLUTION_c_SCALE parameters and biased by their corresponding GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values RED, GREEN, BLUE, and ALPHA). These parameters are set by glPixelTransfer. Notes glSeparableFilter2D is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_SEPARABLE_2D. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_SEPARABLE_2D and name GL_MAX_CONVOLUTION_WIDTH. GL_INVALID_VALUE is generated if height is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_SEPARABLE_2D and name GL_MAX_CONVOLUTION_HEIGHT. GL_INVALID_OPERATION is generated if height is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if height is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and row or column is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glSeparableFilter2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter, glGetSeparableFilter glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glConvolutionFilter1D, glConvolutionFilter2D, glConvolutionParameter, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyTexImage1D.xml0000664000175000017500000004451011453131434024310 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyTexImage1D 3G glCopyTexImage1D copy pixels into a 1D texture image C Specification void glCopyTexImage1D GLenum target GLint level GLenum internalformat GLint x GLint y GLsizei width GLint border Parameters target Specifies the target texture. Must be GL_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalformat Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. x y Specify the window coordinates of the left corner of the row of pixels to be copied. width Specifies the width of the texture image. Must be 0 or 2 n + 2 border for some integer n. The height of the texture image is 1. border Specifies the width of the border. Must be either 0 or 1. Description glCopyTexImage1D defines a one-dimensional texture image with pixels from the current GL_READ_BUFFER. The screen-aligned pixel row with left corner at x y and with a length of width + 2 border defines the texture array at the mipmap level specified by level. internalformat specifies the internal format of the texture array. The pixels in the row are processed exactly as if glCopyPixels had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. Pixel ordering is such that lower x screen coordinates correspond to lower texture coordinates. If any of the pixels within the specified row of the current GL_READ_BUFFER are outside the window associated with the current rendering context, then the values obtained for those pixels are undefined. glCopyTexImage1D defines a one-dimensional texture image with pixels from the current GL_READ_BUFFER. When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. Notes glCopyTexImage1D is available only if the GL version is 1.1 or greater. Texturing has no effect in color index mode. 1, 2, 3, and 4 are not accepted values for internalformat. An image with 0 width indicates a NULL texture. When the ARB_imaging extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. The GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, and GL_SLUMINANCE8_ALPHA8 internal formats are only available if the GL version is 2.1 or greater. See glTexImage1D for specific details about sRGB conversion. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if internalformat is not an allowable value. GL_INVALID_VALUE is generated if width is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as 2 n + 2 border for some integer value of n. GL_INVALID_VALUE is generated if border is not 0 or 1. GL_INVALID_OPERATION is generated if glCopyTexImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if internalformat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32 and there is no depth buffer. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_1D See Also glCopyPixels, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIndex.xml0000664000175000017500000001531211453131434022632 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIndex 3G glIndex set the current color index C Specification void glIndexs GLshort c void glIndexi GLint c void glIndexf GLfloat c void glIndexd GLdouble c void glIndexub GLubyte c Parameters c Specifies the new value for the current color index. C Specification void glIndexsv const GLshort * c void glIndexiv const GLint * c void glIndexfv const GLfloat * c void glIndexdv const GLdouble * c void glIndexubv const GLubyte * c Parameters c Specifies a pointer to a one-element array that contains the new value for the current color index. Description glIndex updates the current (single-valued) color index. It takes one argument, the new value for the current color index. The current index is stored as a floating-point value. Integer values are converted directly to floating-point values, with no special mapping. The initial value is 1. Index values outside the representable range of the color index buffer are not clamped. However, before an index is dithered (if enabled) and written to the frame buffer, it is converted to fixed-point format. Any bits in the integer portion of the resulting fixed-point value that do not correspond to bits in the frame buffer are masked out. Notes glIndexub and glIndexubv are available only if the GL version is 1.1 or greater. The current index can be updated at any time. In particular, glIndex can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_CURRENT_INDEX See Also glColor, glIndexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glHint.xml0000664000175000017500000002677311453131434022502 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glHint 3G glHint specify implementation-specific hints C Specification void glHint GLenum target GLenum mode Parameters target Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted. mode Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted. Description Certain aspects of GL behavior, when there is room for interpretation, can be controlled with hints. A hint is specified with two arguments. target is a symbolic constant indicating the behavior to be controlled, and mode is another symbolic constant indicating the desired behavior. The initial value for each target is GL_DONT_CARE. mode can be one of the following: GL_FASTEST The most efficient option should be chosen. GL_NICEST The most correct, or highest quality, option should be chosen. GL_DONT_CARE No preference. Though the implementation aspects that can be hinted are well defined, the interpretation of the hints depends on the implementation. The hint aspects that can be specified with target, along with suggested semantics, are as follows: GL_FOG_HINT Indicates the accuracy of fog calculation. If per-pixel fog calculation is not efficiently supported by the GL implementation, hinting GL_DONT_CARE or GL_FASTEST can result in per-vertex calculation of fog effects. GL_FRAGMENT_SHADER_DERIVATIVE_HINT Indicates the accuracy of the derivative calculation for the GL shading language fragment processing built-in functions: dFdx, dFdy, and fwidth. GL_GENERATE_MIPMAP_HINT Indicates the quality of filtering when generating mipmap images. GL_LINE_SMOOTH_HINT Indicates the sampling quality of antialiased lines. If a larger filter function is applied, hinting GL_NICEST can result in more pixel fragments being generated during rasterization. GL_PERSPECTIVE_CORRECTION_HINT Indicates the quality of color, texture coordinate, and fog coordinate interpolation. If perspective-corrected parameter interpolation is not efficiently supported by the GL implementation, hinting GL_DONT_CARE or GL_FASTEST can result in simple linear interpolation of colors and/or texture coordinates. GL_POINT_SMOOTH_HINT Indicates the sampling quality of antialiased points. If a larger filter function is applied, hinting GL_NICEST can result in more pixel fragments being generated during rasterization. GL_POLYGON_SMOOTH_HINT Indicates the sampling quality of antialiased polygons. Hinting GL_NICEST can result in more pixel fragments being generated during rasterization, if a larger filter function is applied. GL_TEXTURE_COMPRESSION_HINT Indicates the quality and performance of the compressing texture images. Hinting GL_FASTEST indicates that texture images should be compressed as quickly as possible, while GL_NICEST indicates that texture images should be compressed with as little image quality loss as possible. GL_NICEST should be selected if the texture is to be retrieved by glGetCompressedTexImage for reuse. Notes The interpretation of hints depends on the implementation. Some implementations ignore glHint settings. GL_TEXTURE_COMPRESSION_HINT is available only if the GL version is 1.3 or greater. GL_GENERATE_MIPMAP_HINT is available only if the GL version is 1.4 or greater. GL_FRAGMENT_SHADER_DERIVATIVE_HINT is available only if the GL version is 2.0 or greater. Errors GL_INVALID_ENUM is generated if either target or mode is not an accepted value. GL_INVALID_OPERATION is generated if glHint is executed between the execution of glBegin and the corresponding execution of glEnd. Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGenQueries.xml0000664000175000017500000001155111453131432023631 0ustar laneylaney 2005 Sams Publishing glGenQueries 3G glGenQueries generate query object names C Specification void glGenQueries GLsizei n GLuint * ids Parameters n Specifies the number of query object names to be generated. ids Specifies an array in which the generated query object names are stored. Description glGenQueries returns n query object names in ids. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to glGenQueries. Query object names returned by a call to glGenQueries are not returned by subsequent calls, unless they are first deleted with glDeleteQueries. No query objects are associated with the returned query object names until they are first used by calling glBeginQuery. Notes glGenQueries is available only if the GL version is 1.5 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glGenQueries is executed between the execution of glBeginQuery and the corresponding execution of glEndQuery. GL_INVALID_OPERATION is generated if glGenQueries is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsQuery See Also glBeginQuery, glDeleteQueries, glEndQuery Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNextContour.xml0000664000175000017500000001725711453131432024250 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNextContour 3G gluNextContour mark the beginning of another contour C Specification void gluNextContour GLUtesselator* tess GLenum type Parameters tess Specifies the tessellation object (created with gluNewTess). type Specifies the type of the contour being defined. Valid values are GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, and GLU_CW. Description gluNextContour is used in describing polygons with multiple contours. After the first contour has been described through a series of gluTessVertex calls, a gluNextContour call indicates that the previous contour is complete and that the next contour is about to begin. Another series of gluTessVertex calls is then used to describe the new contour. This process can be repeated until all contours have been described. type defines what type of contour follows. The legal contour types are as follows: GLU_EXTERIOR An exterior contour defines an exterior boundary of the polygon. GLU_INTERIOR An interior contour defines an interior boundary of the polygon (such as a hole). GLU_UNKNOWN An unknown contour is analyzed by the library to determine if it is interior or exterior. GLU_CCW, GLU_CW The first GLU_CCW or GLU_CW contour defined is considered to be exterior. All other contours are considered to be exterior if they are oriented in the same direction (clockwise or counterclockwise) as the first contour, and interior if they are not. If one contour is of type GLU_CCW or GLU_CW, then all contours must be of the same type (if they are not, then all GLU_CCW and GLU_CW contours will be changed to GLU_UNKNOWN). Note that there is no real difference between the GLU_CCW and GLU_CW contour types. Before the first contour is described, gluNextContour can be called to define the type of the first contour. If gluNextContour is not called before the first contour, then the first contour is marked GLU_EXTERIOR. This command is obsolete and is provided for backward compatibility only. Calls to gluNextContour are mapped to gluTessEndContour followed by gluTessBeginContour. Example A quadrilateral with a triangular hole in it can be described as follows: gluBeginPolygon(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluNextContour(tobj, GLU_INTERIOR); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluEndPolygon(tobj); See Also gluBeginPolygon, gluNewTess, gluTessBeginContour, gluTessCallback, gluTessVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteQueries.xml0000664000175000017500000001123511453131432024321 0ustar laneylaney 2005 Sams Publishing glDeleteQueries 3G glDeleteQueries delete named query objects C Specification void glDeleteQueries GLsizei n const GLuint * ids Parameters n Specifies the number of query objects to be deleted. ids Specifies an array of query objects to be deleted. Description glDeleteQueries deletes n query objects named by the elements of the array ids. After a query object is deleted, it has no contents, and its name is free for reuse (for example by glGenQueries). glDeleteQueries silently ignores 0's and names that do not correspond to existing query objects. Notes glDeleteQueries is available only if the GL version is 1.5 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glDeleteQueries is executed between the execution of glBeginQuery and the corresponding execution of glEndQuery. GL_INVALID_OPERATION is generated if glDeleteQueries is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsQuery See Also glBeginQuery, glEndQuery, glGenQueries, glGetQueryiv, glGetQueryObject Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMapBuffer.xml0000664000175000017500000002442411453131432023434 0ustar laneylaney 2005 Sams Publishing glMapBuffer 3G glMapBuffer map a buffer object's data store C Specification void * glMapBuffer GLenum target GLenum access Parameters target Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. access Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. C Specification GLboolean glUnmapBuffer GLenum target Parameters target Specifies the target buffer object being unmapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. Description glMapBuffer maps to the client's address space the entire data store of the buffer object currently bound to target. The data can then be directly read and/or written relative to the returned pointer, depending on the specified access policy. If the GL is unable to map the buffer object's data store, glMapBuffer generates an error and returns NULL. This may occur for system-specific reasons, such as low virtual memory availability. If a mapped data store is accessed in a way inconsistent with the specified access policy, no error is generated, but performance may be negatively impacted and system errors, including program termination, may result. Unlike the usage parameter of glBufferData, access is not a hint, and does in fact constrain the usage of the mapped data store on some GL implementations. In order to achieve the highest performance available, a buffer object's data store should be used in ways consistent with both its specified usage and access parameters. A mapped data store must be unmapped with glUnmapBuffer before its buffer object is used. Otherwise an error will be generated by any GL command that attempts to dereference the buffer object's data store. When a data store is unmapped, the pointer to its data store becomes invalid. glUnmapBuffer returns GL_TRUE unless the data store contents have become corrupt during the time the data store was mapped. This can occur for system-specific reasons that affect the availability of graphics memory, such as screen mode changes. In such situations, GL_FALSE is returned and the data store contents are undefined. An application must detect this rare condition and reinitialize the data store. A buffer object's mapped data store is automatically unmapped when the buffer object is deleted or its data store is recreated with glBufferData. Notes If an error is generated, glMapBuffer returns NULL, and glUnmapBuffer returns GL_FALSE. glMapBuffer and glUnmapBuffer are available only if the GL version is 1.5 or greater. GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. Parameter values passed to GL commands may not be sourced from the returned pointer. No error will be generated, but results will be undefined and will likely vary across GL implementations. Errors GL_INVALID_ENUM is generated if target is not GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. GL_INVALID_ENUM is generated if access is not GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. GL_OUT_OF_MEMORY is generated when glMapBuffer is executed if the GL is unable to map the buffer object's data store. This may occur for a variety of system-specific reasons, such as the absence of sufficient remaining virtual memory. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_INVALID_OPERATION is generated if glMapBuffer is executed for a buffer object whose data store is already mapped. GL_INVALID_OPERATION is generated if glUnmapBuffer is executed for a buffer object whose data store is not currently mapped. GL_INVALID_OPERATION is generated if glMapBuffer or glUnmapBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetBufferPointerv with argument GL_BUFFER_MAP_POINTER glGetBufferParameteriv with argument GL_BUFFER_MAPPED, GL_BUFFER_ACCESS, or GL_BUFFER_USAGE See Also glBindBuffer, glBufferData, glBufferSubData, glDeleteBuffers Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMatrixMode.xml0000664000175000017500000001321011453131434023627 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMatrixMode 3G glMatrixMode specify which matrix is the current matrix C Specification void glMatrixMode GLenum mode Parameters mode Specifies which matrix stack is the target for subsequent matrix operations. Three values are accepted: GL_MODELVIEW, GL_PROJECTION, and GL_TEXTURE. The initial value is GL_MODELVIEW. Additionally, if the ARB_imaging extension is supported, GL_COLOR is also accepted. Description glMatrixMode sets the current matrix mode. mode can assume one of four values: GL_MODELVIEW Applies subsequent matrix operations to the modelview matrix stack. GL_PROJECTION Applies subsequent matrix operations to the projection matrix stack. GL_TEXTURE Applies subsequent matrix operations to the texture matrix stack. GL_COLOR Applies subsequent matrix operations to the color matrix stack. To find out which matrix stack is currently the target of all matrix operations, call glGet with argument GL_MATRIX_MODE. The initial value is GL_MODELVIEW. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if glMatrixMode is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE See Also glLoadMatrix, glLoadTransposeMatrix, glMultMatrix, glMultTransposeMatrix, glPopMatrix, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetCurrentReadDrawable.xml0000664000175000017500000000532311453131432026232 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetCurrentReadDrawable 3G glXGetCurrentReadDrawable return the current drawable C Specification GLXDrawable glXGetCurrentReadDrawable Description glXGetCurrentReadDrawable returns the current read drawable, as specified by read parameter of glXMakeContextCurrent. If there is no current drawable, None is returned. glXGetCurrentReadDrawable returns client-side information. It does not make a round-trip to the server. Notes glXGetCurrentReadDrawable is only supported if the GLX version is 1.3 or greater. See Also glXGetCurrentContext, glXGetCurrentDisplay, glXGetCurrentDrawable, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyTexSubImage1D.xml0000664000175000017500000003174311453131432024764 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyTexSubImage1D 3G glCopyTexSubImage1D copy a one-dimensional texture subimage C Specification void glCopyTexSubImage1D GLenum target GLint level GLint xoffset GLint x GLint y GLsizei width Parameters target Specifies the target texture. Must be GL_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies the texel offset within the texture array. x y Specify the window coordinates of the left corner of the row of pixels to be copied. width Specifies the width of the texture subimage. Description glCopyTexSubImage1D replaces a portion of a one-dimensional texture image with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glTexSubImage1D). The screen-aligned pixel row with left corner at (x,\ y), and with length width replaces the portion of the texture array with x indices xoffset through xoffset + width - 1 , inclusive. The destination in the texture array may not include any texels outside the texture array as it was originally specified. The pixels in the row are processed exactly as if glCopyPixels had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. It is not an error to specify a subtexture with zero width, but such a specification has no effect. If any of the pixels within the specified row of the current GL_READ_BUFFER are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the internalformat, width, or border parameters of the specified texture array or to texel values outside the specified subregion. Notes glCopyTexSubImage1D is available only if the GL version is 1.1 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. When the ARB_imaging extension is supported, the RGBA components copied from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. Errors GL_INVALID_ENUM is generated if /target is not GL_TEXTURE_1D. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage1D or glCopyTexImage1D operation. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level > log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , or xoffset + width > w - b , where w is the GL_TEXTURE_WIDTH and b is the GL_TEXTURE_BORDER of the texture image being modified. Note that w includes twice the border width. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_1D See Also glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage2D, glCopyTexSubImage3D, glPixelStore, glPixelTransfer, glReadBuffer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXWaitGL.xml0000664000175000017500000000606111453131434023043 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXWaitGL 3G glXWaitGL complete GL execution prior to subsequent X calls C Specification void glXWaitGL void Description GL rendering calls made prior to glXWaitGL are guaranteed to be executed before X rendering calls made after glXWaitGL. Although this same result can be achieved using glFinish, glXWaitGL does not require a round trip to the server, and it is therefore more efficient in cases where client and server are on separate machines. glXWaitGL is ignored if there is no current GLX context. Notes glXWaitGL may or may not flush the X stream. Errors GLXBadCurrentWindow is generated if the drawable associated with the current context of the calling thread is a window, and that window is no longer valid. See Also glFinish, glFlush, glXWaitX, XSync Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPushMatrix.xml0000664000175000017500000001655111453131434023675 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPushMatrix 3G glPushMatrix push and pop the current matrix stack C Specification void glPushMatrix void C Specification void glPopMatrix void Description There is a stack of matrices for each of the matrix modes. In GL_MODELVIEW mode, the stack depth is at least 32. In the other modes, GL_COLOR, GL_PROJECTION, and GL_TEXTURE, the depth is at least 2. The current matrix in any mode is the matrix on the top of the stack for that mode. glPushMatrix pushes the current matrix stack down by one, duplicating the current matrix. That is, after a glPushMatrix call, the matrix on top of the stack is identical to the one below it. glPopMatrix pops the current matrix stack, replacing the current matrix with the one below it on the stack. Initially, each of the stacks contains one matrix, an identity matrix. It is an error to push a full matrix stack or to pop a matrix stack that contains only a single matrix. In either case, the error flag is set and no other change is made to GL state. Errors GL_STACK_OVERFLOW is generated if glPushMatrix is called while the current matrix stack is full. GL_STACK_UNDERFLOW is generated if glPopMatrix is called while the current matrix stack contains only a single matrix. GL_INVALID_OPERATION is generated if glPushMatrix or glPopMatrix is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX glGet with argument GL_COLOR_MATRIX_STACK_DEPTH glGet with argument GL_MODELVIEW_STACK_DEPTH glGet with argument GL_PROJECTION_STACK_DEPTH glGet with argument GL_TEXTURE_STACK_DEPTH glGet with argument GL_MAX_MODELVIEW_STACK_DEPTH glGet with argument GL_MAX_PROJECTION_STACK_DEPTH glGet with argument GL_MAX_TEXTURE_STACK_DEPTH See Also glFrustum, glLoadIdentity, glLoadMatrix, glLoadTransposeMatrix, glMatrixMode, glMultMatrix, glMultTransposeMatrix, glOrtho, glRotate, glScale, glTranslate, glViewport Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLinkProgram.xml0000664000175000017500000002550111453131434024011 0ustar laneylaney glLinkProgram 3G glLinkProgram Links a program object C Specification void glLinkProgram GLuint program Parameters program Specifies the handle of the program object to be linked. Description glLinkProgram links the program object specified by program. If any shader objects of type GL_VERTEX_SHADER are attached to program, they will be used to create an executable that will run on the programmable vertex processor. If any shader objects of type GL_FRAGMENT_SHADER are attached to program, they will be used to create an executable that will run on the programmable fragment processor. The status of the link operation will be stored as part of the program object's state. This value will be set to GL_TRUE if the program object was linked without errors and is ready for use, and GL_FALSE otherwise. It can be queried by calling glGetProgram with arguments program and GL_LINK_STATUS. As a result of a successful link operation, all active user-defined uniform variables belonging to program will be initialized to 0, and each of the program object's active uniform variables will be assigned a location that can be queried by calling glGetUniformLocation. Also, any active user-defined attribute variables that have not been bound to a generic vertex attribute index will be bound to one at this time. Linking of a program object can fail for a number of reasons as specified in the OpenGL Shading Language Specification. The following lists some of the conditions that will cause a link error. The number of active attribute variables supported by the implementation has been exceeded. The storage limit for uniform variables has been exceeded. The number of active uniform variables supported by the implementation has been exceeded. The main function is missing for the vertex shader or the fragment shader. A varying variable actually used in the fragment shader is not declared in the same way (or is not declared at all) in the vertex shader. A reference to a function or variable name is unresolved. A shared global is declared with two different types or two different initial values. One or more of the attached shader objects has not been successfully compiled. Binding a generic attribute matrix caused some rows of the matrix to fall outside the allowed maximum of GL_MAX_VERTEX_ATTRIBS. Not enough contiguous vertex attribute slots could be found to bind attribute matrices. When a program object has been successfully linked, the program object can be made part of current state by calling glUseProgram. Whether or not the link operation was successful, the program object's information log will be overwritten. The information log can be retrieved by calling glGetProgramInfoLog. glLinkProgram will also install the generated executables as part of the current rendering state if the link operation was successful and the specified program object is already currently in use as a result of a previous call to glUseProgram. If the program object currently in use is relinked unsuccessfully, its link status will be set to GL_FALSE , but the executables and associated state will remain part of the current state until a subsequent call to glUseProgram removes it from use. After it is removed from use, it cannot be made part of current state until it has been successfully relinked. If program contains shader objects of type GL_VERTEX_SHADER but does not contain shader objects of type GL_FRAGMENT_SHADER, the vertex shader will be linked against the implicit interface for fixed functionality fragment processing. Similarly, if program contains shader objects of type GL_FRAGMENT_SHADER but it does not contain shader objects of type GL_VERTEX_SHADER, the fragment shader will be linked against the implicit interface for fixed functionality vertex processing. The program object's information log is updated and the program is generated at the time of the link operation. After the link operation, applications are free to modify attached shader objects, compile attached shader objects, detach shader objects, delete shader objects, and attach additional shader objects. None of these operations affects the information log or the program that is part of the program object. Notes glLinkProgram is available only if the GL version is 2.0 or greater. If the link operation is unsuccessful, any information about a previous link operation on program is lost (i.e., a failed link does not restore the old state of program ). Certain information can still be retrieved from program even after an unsuccessful link operation. See for instance glGetActiveAttrib and glGetActiveUniform. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if glLinkProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib with argument program and the index of an active attribute variable glGetActiveUniform with argument program and the index of an active uniform variable glGetAttachedShaders with argument program glGetAttribLocation with argument program and an attribute variable name glGetProgram with arguments program and GL_LINK_STATUS glGetProgramInfoLog with argument program glGetUniform with argument program and a uniform variable location glGetUniformLocation with argument program and a uniform variable name glIsProgram See Also glAttachShader, glBindAttribLocation, glCompileShader, glCreateProgram, glDeleteProgram, glDetachShader, glUniform, glUseProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryContextInfoEXT.xml0000664000175000017500000001435711453131434025572 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryContextInfoEXT 3G glXQueryContextInfoEXT query context information C Specification int glXQueryContextInfoEXT Display * dpy GLXContext ctx int attribute int * value Parameters dpy Specifies the connection to the X server. ctx Specifies a GLX rendering context. attribute Specifies that a context parameter should be retrieved. Must be one of GLX_SHARED_CONTEXT_EXT, GLX_VISUAL_ID_EXT, or GLX_SCREEN_EXT. value Contains the return value for attribute. Description glXQueryContextInfoEXT sets value to the value of attribute with respect to ctx. glXQueryContextInfoEXT returns an error code if it fails for any reason. Otherwise, Success is returned. attribute may be one of the following: GLX_SHARED_CONTEXT_EXT Returns the XID of the share list context associated with ctx at its creation. GLX_VISUAL_ID_EXT Returns the XID of the GLX Visual associated with ctx. GLX_SCREEN_EXT Returns the screen number associated with ctx. This call may cause a round-trip to the server. glXQueryContextInfoEXT is part of the EXT_import_context extension, not part of the core GLX command set. If _glxextstring(EXT_import_context) is included in the string returned by glXQueryExtensionsString, when called with argument GLX_EXTENSIONS, extension EXT_import_context is supported. Errors GLXBadContext is generated if ctx does not refer to a valid context. GLX_BAD_ATTRIBUTE is returned if attribute is not a valid GLX context attribute. fred GLX_BAD_CONTEXT is returned if attribute is not a valid context. See Also glXCreateContext, glXQueryVersion, glXQueryExtensionsString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBeginPolygon.xml0000664000175000017500000001307211453131434024345 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBeginPolygon 3G gluBeginPolygon delimit a polygon description C Specification void gluBeginPolygon GLUtesselator* tess C Specification void gluEndPolygon GLUtesselator* tess Parameters tess Specifies the tessellation object (created with gluNewTess). Description gluBeginPolygon and gluEndPolygon delimit the definition of a nonconvex polygon. To define such a polygon, first call gluBeginPolygon. Then define the contours of the polygon by calling gluTessVertex for each vertex and gluNextContour to start each new contour. Finally, call gluEndPolygon to signal the end of the definition. See the gluTessVertex and gluNextContour reference pages for more details. Once gluEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See gluTessCallback for descriptions of the callback functions. Notes This command is obsolete and is provided for backward compatibility only. Calls to gluBeginPolygon are mapped to gluTessBeginPolygon followed by gluTessBeginContour. Calls to gluEndPolygon are mapped to gluTessEndContour followed by gluTessEndPolygon. Example A quadrilateral with a triangular hole in it can be described like this: gluBeginPolygon(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluNextContour(tobj, GLU_INTERIOR); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluEndPolygon(tobj); See Also gluNewTess, gluNextContour, gluTessBeginContour, gluTessBeginPolygon, gluTessCallback, gluTessVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPixelMap.xml0000664000175000017500000006774111453131434023317 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPixelMap 3G glPixelMap set up pixel transfer maps C Specification void glPixelMapfv GLenum map GLsizei mapsize const GLfloat * values void glPixelMapuiv GLenum map GLsizei mapsize const GLuint * values void glPixelMapusv GLenum map GLsizei mapsize const GLushort * values Parameters map Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. mapsize Specifies the size of the map being defined. values Specifies an array of mapsize values. Description glPixelMap sets up translation tables, or maps, used by glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, and glTexSubImage3D. Additionally, if the ARB_imaging subset is supported, the routines glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glHistogram, glMinmax, and glSeparableFilter2D. Use of these maps is described completely in the glPixelTransfer reference page, and partly in the reference pages for the pixel and texture image commands. Only the specification of the maps is described in this reference page. map is a symbolic map name, indicating one of ten maps to set. mapsize specifies the number of entries in the map, and values is a pointer to an array of mapsize map values. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a pixel transfer map is specified, values is treated as a byte offset into the buffer object's data store. The ten maps are as follows: GL_PIXEL_MAP_I_TO_I Maps color indices to color indices. GL_PIXEL_MAP_S_TO_S Maps stencil indices to stencil indices. GL_PIXEL_MAP_I_TO_R Maps color indices to red components. GL_PIXEL_MAP_I_TO_G Maps color indices to green components. GL_PIXEL_MAP_I_TO_B Maps color indices to blue components. GL_PIXEL_MAP_I_TO_A Maps color indices to alpha components. GL_PIXEL_MAP_R_TO_R Maps red components to red components. GL_PIXEL_MAP_G_TO_G Maps green components to green components. GL_PIXEL_MAP_B_TO_B Maps blue components to blue components. GL_PIXEL_MAP_A_TO_A Maps alpha components to alpha components. The entries in a map can be specified as single-precision floating-point numbers, unsigned short integers, or unsigned int integers. Maps that store color component values (all but GL_PIXEL_MAP_I_TO_I and GL_PIXEL_MAP_S_TO_S) retain their values in floating-point format, with unspecified mantissa and exponent sizes. Floating-point values specified by glPixelMapfv are converted directly to the internal floating-point format of these maps, then clamped to the range [0,1]. Unsigned integer values specified by glPixelMapusv and glPixelMapuiv are converted linearly such that the largest representable integer maps to 1.0, and 0 maps to 0.0. Maps that store indices, GL_PIXEL_MAP_I_TO_I and GL_PIXEL_MAP_S_TO_S, retain their values in fixed-point format, with an unspecified number of bits to the right of the binary point. Floating-point values specified by glPixelMapfv are converted directly to the internal fixed-point format of these maps. Unsigned integer values specified by glPixelMapusv and glPixelMapuiv specify integer values, with all 0's to the right of the binary point. The following table shows the initial sizes and values for each of the maps. Maps that are indexed by either color or stencil indices must have mapsize = 2 n for some n or the results are undefined. The maximum allowable size for each map depends on the implementation and can be determined by calling glGet with argument GL_MAX_PIXEL_MAP_TABLE. The single maximum applies to all maps; it is at least 32. map Lookup Index Lookup Value Initial Size Initial Value GL_PIXEL_MAP_I_TO_I color index color index 1 0 GL_PIXEL_MAP_S_TO_S stencil index stencil index 1 0 GL_PIXEL_MAP_I_TO_R color index R 1 0 GL_PIXEL_MAP_I_TO_G color index G 1 0 GL_PIXEL_MAP_I_TO_B color index B 1 0 GL_PIXEL_MAP_I_TO_A color index A 1 0 GL_PIXEL_MAP_R_TO_R R R 1 0 GL_PIXEL_MAP_G_TO_G G G 1 0 GL_PIXEL_MAP_B_TO_B B B 1 0 GL_PIXEL_MAP_A_TO_A A A 1 0 Errors GL_INVALID_ENUM is generated if map is not an accepted value. GL_INVALID_VALUE is generated if mapsize is less than one or larger than GL_MAX_PIXEL_MAP_TABLE. GL_INVALID_VALUE is generated if map is GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, or GL_PIXEL_MAP_I_TO_A, and mapsize is not a power of two. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated by glPixelMapfv if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and values is not evenly divisible into the number of bytes needed to store in memory a GLfloat datum. GL_INVALID_OPERATION is generated by glPixelMapuiv if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and values is not evenly divisible into the number of bytes needed to store in memory a GLuint datum. GL_INVALID_OPERATION is generated by glPixelMapusv if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and values is not evenly divisible into the number of bytes needed to store in memory a GLushort datum. GL_INVALID_OPERATION is generated if glPixelMap is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetPixelMap glGet with argument GL_PIXEL_MAP_I_TO_I_SIZE glGet with argument GL_PIXEL_MAP_S_TO_S_SIZE glGet with argument GL_PIXEL_MAP_I_TO_R_SIZE glGet with argument GL_PIXEL_MAP_I_TO_G_SIZE glGet with argument GL_PIXEL_MAP_I_TO_B_SIZE glGet with argument GL_PIXEL_MAP_I_TO_A_SIZE glGet with argument GL_PIXEL_MAP_R_TO_R_SIZE glGet with argument GL_PIXEL_MAP_G_TO_G_SIZE glGet with argument GL_PIXEL_MAP_B_TO_B_SIZE glGet with argument GL_PIXEL_MAP_A_TO_A_SIZE glGet with argument GL_MAX_PIXEL_MAP_TABLE glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glHistogram, glMinmax, glPixelStore, glPixelTransfer, glReadPixels, glSeparableFilter2D, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessBeginContour.xml0000664000175000017500000001002011453131434025174 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessBeginContour 3G gluTessBeginContour delimit a contour description C Specification void gluTessBeginContour GLUtesselator* tess C Specification void gluTessEndContour GLUtesselator* tess Parameters tess Specifies the tessellation object (created with gluNewTess). Description gluTessBeginContour and gluTessEndContour delimit the definition of a polygon contour. Within each gluTessBeginContour/gluTessEndContour pair, there can be zero or more calls to gluTessVertex. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the gluTessVertex reference page for more details. gluTessBeginContour can only be called between gluTessBeginPolygon and gluTessEndPolygon. See Also gluNewTess, gluTessBeginPolygon, gluTessCallback, gluTessEndPolygon, gluTessNormal, gluTessProperty, gluTessVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLoadIdentity.xml0000664000175000017500000001600611453131434024155 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLoadIdentity 3G glLoadIdentity replace the current matrix with the identity matrix C Specification void glLoadIdentity void Description glLoadIdentity replaces the current matrix with the identity matrix. It is semantically equivalent to calling glLoadMatrix with the identity matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 but in some cases it is more efficient. Errors GL_INVALID_OPERATION is generated if glLoadIdentity is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glLoadMatrix, glLoadTransposeMatrix, glMatrixMode, glMultMatrix, glMultTransposeMatrix, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetBufferSubData.xml0000664000175000017500000001501411453131434024677 0ustar laneylaney 2005 Sams Publishing glGetBufferSubData 3G glGetBufferSubData returns a subset of a buffer object's data store C Specification void glGetBufferSubData GLenum target GLintptr offset GLsizeiptr size GLvoid * data Parameters target Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. offset Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. size Specifies the size in bytes of the data store region being returned. data Specifies a pointer to the location where buffer object data is returned. Description glGetBufferSubData returns some or all of the data from the buffer object currently bound to target. Data starting at byte offset offset and extending for size bytes is copied from the data store to the memory pointed to by data. An error is thrown if the buffer object is currently mapped, or if offset and size together define a range beyond the bounds of the buffer object's data store. Notes If an error is generated, no change is made to the contents of data. glGetBufferSubData is available only if the GL version is 1.5 or greater. Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target is not GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. GL_INVALID_VALUE is generated if offset or size is negative, or if together they define a region of memory that extends beyond the buffer object's allocated data store. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_INVALID_OPERATION is generated if the buffer object being queried is mapped. GL_INVALID_OPERATION is generated if glGetBufferSubData is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glBindBuffer, glBufferData, glBufferSubData, glMapBuffer, glUnmapBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluPartialDisk.xml0000664000175000017500000001715611453131432024165 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluPartialDisk 3G gluPartialDisk draw an arc of a disk C Specification void gluPartialDisk GLUquadric* quad GLdouble inner GLdouble outer GLint slices GLint loops GLdouble start GLdouble sweep Parameters quad Specifies a quadrics object (created with gluNewQuadric). inner Specifies the inner radius of the partial disk (can be 0). outer Specifies the outer radius of the partial disk. slices Specifies the number of subdivisions around the z axis. loops Specifies the number of concentric rings about the origin into which the partial disk is subdivided. start Specifies the starting angle, in degrees, of the disk portion. sweep Specifies the sweep angle, in degrees, of the disk portion. Description gluPartialDisk renders a partial disk on the z = 0 plane. A partial disk is similar to a full disk, except that only the subset of the disk from start through start + sweep is included (where 0 degrees is along the +\f2y\f axis, 90 degrees along the +x axis, 180 degrees along the \-y axis, and 270 degrees along the \-x axis). The partial disk has a radius of outer and contains a concentric circular hole with a radius of inner. If inner is 0, then no hole is generated. The partial disk is subdivided around the z axis into slices (like pizza slices) and also about the z axis into rings (as specified by slices and loops, respectively). With respect to orientation, the +z side of the partial disk is considered to be outside (see gluQuadricOrientation). This means that if the orientation is set to GLU_OUTSIDE, then any normals generated point along the +z axis. Otherwise, they point along the \-z axis. If texturing is turned on (with gluQuadricTexture), texture coordinates are generated linearly such that where r = outer , the value at (r, 0, 0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at (\-r, 0, 0) it is (0.0, 0.5), and at (0, \-r, 0) it is (0.5, 0.0). See Also gluCylinder, gluDisk, gluNewQuadric, gluQuadricOrientation, gluQuadricTexture, gluSphere Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glInterleavedArrays.xml0000664000175000017500000002067211453131434025214 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glInterleavedArrays 3G glInterleavedArrays simultaneously specify and enable several interleaved arrays C Specification void glInterleavedArrays GLenum format GLsizei stride const GLvoid * pointer Parameters format Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. stride Specifies the offset in bytes between each aggregate array element. Description glInterleavedArrays lets you specify and enable individual color, normal, texture and vertex arrays whose elements are part of a larger aggregate array element. For some implementations, this is more efficient than specifying the arrays separately. If stride is 0, the aggregate elements are stored consecutively. Otherwise, stride bytes occur between the beginning of one aggregate array element and the beginning of the next aggregate array element. format serves as a ``key'' describing the extraction of individual arrays from the aggregate array. If format contains a T, then texture coordinates are extracted from the interleaved array. If C is present, color values are extracted. If N is present, normal coordinates are extracted. Vertex coordinates are always extracted. The digits 2, 3, and 4 denote how many values are extracted. F indicates that values are extracted as floating-point values. Colors may also be extracted as 4 unsigned bytes if 4UB follows the C. If a color is extracted as 4 unsigned bytes, the vertex array element which follows is located at the first possible floating-point aligned address. Notes glInterleavedArrays is available only if the GL version is 1.1 or greater. If glInterleavedArrays is called while compiling a display list, it is not compiled into the list, and it is executed immediately. Execution of glInterleavedArrays is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glInterleavedArrays is typically implemented on the client side. Vertex array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glInterleavedArrays only updates the texture coordinate array for the client active texture unit. The texture coordinate state for other client texture units is not updated, regardless of whether the client texture unit is enabled or not. Secondary color values are not supported in interleaved vertex array formats. Errors GL_INVALID_ENUM is generated if format is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. See Also glArrayElement, glClientActiveTexture, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glEnableClientState, glGetPointerv, glIndexPointer, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild2DMipmaps.xml0000664000175000017500000005507111453131434024532 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild2DMipmaps 3G gluBuild2DMipmaps builds a two-dimensional mipmap C Specification GLint gluBuild2DMipmaps GLenum target GLint internalFormat GLsizei width GLsizei height GLenum format GLenum type const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_2D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width height Specifies in pixels the width and height, respectively, of the texture image. format Specifies the format of the pixel data. Must be one of GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description gluBuild2DMipmaps builds a series of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture-mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). Initially, the width and height of data are checked to see if they are a power of 2. If not, a copy of data (not data), is scaled up or down to the nearest power of 2. This copy will be used for subsequent mipmapping operations described below. (If width or height is exactly between powers of 2, then the copy of data will scale upwards.) For example, if width is 57 and height is 23, then a copy of data will scale up to 64 in width and down to 16 in depth, before mipmapping takes place. Then, proxy textures (see glTexImage2D) are used to determine if the implementation can fit the requested texture. If not, both dimensions are continually halved until it fits. (If the OpenGL version is \(<= 1.0, both maximum texture dimensions are clamped to the value returned by glGetIntegerv with the argument GLU_MAX_TEXTURE_SIZE.) Next, a series of mipmap levels is built by decimating a copy of data in half along both dimensions until size 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an N × 1 or 1 × N configuration. Here, two texels are averaged instead.) glTexImage2D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log 2 max width height . For example, if width is 64 and height is 16 and the implementation can store a texture of this size, the following mipmap levels are built: 64 × 16 , 32 × 8 , 16 × 4 , 8 × 2 , 4 × 1 , 2 × 1 , and 1 × 1 These correspond to levels 0 through 6, respectively. See the glTexImage1D reference page for a description of the acceptable values for format parameter. See the glDrawPixels reference page for a description of the acceptable values for type parameter. Notes Note that there is no direct way of querying the maximum level. This can be derived indirectly via glGetTexLevelParameter. First, query for the width and height actually used at level 0. (The width and height may not be equal to width and height respectively since proxy textures might have scaled them to fit the implementation.) Then the maximum level can be derived from the formula log 2 max width height . Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater and if the GLU version is 1.3 or greater. Errors GLU_INVALID_VALUE is returned if width or height is < 1. GLU_INVALID_ENUM is returned if internalFormat, format, or type is not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmapLevels, gluBuild1DMipmaps, gluBuild2DMipmapLevels, gluBuild3DMipmapLevels, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glResetHistogram.xml0000664000175000017500000000627511453131432024531 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glResetHistogram 3G glResetHistogram reset histogram table entries to zero C Specification void glResetHistogram GLenum target Parameters target Must be GL_HISTOGRAM. Description glResetHistogram resets all the elements of the current histogram table to zero. Notes glResetHistogram is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_HISTOGRAM. GL_INVALID_OPERATION is generated if glResetHistogram is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glHistogram Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBeginTrim.xml0000664000175000017500000001651311453131434023634 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBeginTrim 3G gluBeginTrim delimit a NURBS trimming loop definition C Specification void gluBeginTrim GLUnurbs* nurb C Specification void gluEndTrim GLUnurbs* nurb Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). Description Use gluBeginTrim to mark the beginning of a trimming loop and gluEndTrim to mark the end of a trimming loop. A trimming loop is a set of oriented curve segments (forming a closed curve) that define boundaries of a NURBS surface. You include these trimming loops in the definition of a NURBS surface, between calls to gluBeginSurface and gluEndSurface. The definition for a NURBS surface can contain many trimming loops. For example, if you wrote a definition for a NURBS surface that resembled a rectangle with a hole punched out, the definition would contain two trimming loops. One loop would define the outer edge of the rectangle; the other would define the hole punched out of the rectangle. The definitions of each of these trimming loops would be bracketed by a gluBeginTrim/gluEndTrim pair. The definition of a single closed trimming loop can consist of multiple curve segments, each described as a piecewise linear curve (see gluPwlCurve) or as a single NURBS curve (see gluNurbsCurve), or as a combination of both in any order. The only library calls that can appear in a trimming loop definition (between the calls to gluBeginTrim and gluEndTrim) are gluPwlCurve and gluNurbsCurve. The area of the NURBS surface that is displayed is the region in the domain to the left of the trimming curve as the curve parameter increases. Thus, the retained region of the NURBS surface is inside a counterclockwise trimming loop and outside a clockwise trimming loop. For the rectangle mentioned earlier, the trimming loop for the outer edge of the rectangle runs counterclockwise, while the trimming loop for the punched-out hole runs clockwise. If you use more than one curve to define a single trimming loop, the curve segments must form a closed loop (that is, the endpoint of each curve must be the starting point of the next curve, and the endpoint of the final curve must be the starting point of the first curve). If the endpoints of the curve are sufficiently close together but not exactly coincident, they will be coerced to match. If the endpoints are not sufficiently close, an error results (see gluNurbsCallback). If a trimming loop definition contains multiple curves, the direction of the curves must be consistent (that is, the inside must be to the left of all of the curves). Nested trimming loops are legal as long as the curve orientations alternate correctly. If trimming curves are self-intersecting, or intersect one another, an error results. If no trimming information is given for a NURBS surface, the entire surface is drawn. Example This code fragment defines a trimming loop that consists of one piecewise linear curve, and two NURBS curves: gluBeginTrim(nobj); gluPwlCurve(..., GLU_MAP1_TRIM_2); gluNurbsCurve(..., GLU_MAP1_TRIM_2); gluNurbsCurve(..., GLU_MAP1_TRIM_3); gluEndTrim(nobj); See Also gluBeginSurface, gluNewNurbsRenderer, gluNurbsCallback, gluNurbsCurve, gluPwlCurve Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClearColor.xml0000664000175000017500000000755011453131434023615 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClearColor 3G glClearColor specify clear values for the color buffers C Specification void glClearColor GLclampf red GLclampf green GLclampf blue GLclampf alpha Parameters red green blue alpha Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0. Description glClearColor specifies the red, green, blue, and alpha values used by glClear to clear the color buffers. Values specified by glClearColor are clamped to the range 0 1 . Errors GL_INVALID_OPERATION is generated if glClearColor is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_COLOR_CLEAR_VALUE See Also glClear Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetFBConfigAttrib.xml0000664000175000017500000005471211453131434025145 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetFBConfigAttrib 3G glXGetFBConfigAttrib return information about a GLX frame buffer configuration C Specification int glXGetFBConfigAttrib Display * dpy GLXFBConfig config int attribute int * value Parameters dpy Specifies the connection to the X server. config Specifies the GLX frame buffer configuration to be queried. attribute Specifies the attribute to be returned. value Returns the requested value. Description glXGetFBConfigAttrib sets value to the attribute value of GLX drawables created with respect to config. glXGetFBConfigAttrib returns an error code if it fails for any reason. Otherwise, Success is returned. attribute is one of the following: GLX_FBCONFIG_ID XID of the given GLXFBConfig. GLX_BUFFER_SIZE Number of bits per color buffer. If the frame buffer configuration supports RGBA contexts, then GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE. If the frame buffer configuration supports only color index contexts, GLX_BUFFER_SIZE is the size of the color indexes. GLX_LEVEL Frame buffer level of the configuration. Level zero is the default frame buffer. Positive levels correspond to frame buffers that overlay the default buffer, and negative levels correspond to frame buffers that underlie the default buffer. GLX_DOUBLEBUFFER True if color buffers exist in front/back pairs that can be swapped, False otherwise. GLX_STEREO True if color buffers exist in left/right pairs, False otherwise. GLX_AUX_BUFFERS Number of auxiliary color buffers that are available. Zero indicates that no auxiliary color buffers exist. GLX_RED_SIZE Number of bits of red stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration. GLX_GREEN_SIZE Number of bits of green stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration. GLX_BLUE_SIZE Number of bits of blue stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration. GLX_ALPHA_SIZE Number of bits of alpha stored in each color buffer. Undefined if RGBA contexts are not supported by the frame buffer configuration. GLX_DEPTH_SIZE Number of bits in the depth buffer. GLX_STENCIL_SIZE Number of bits in the stencil buffer. GLX_ACCUM_RED_SIZE Number of bits of red stored in the accumulation buffer. GLX_ACCUM_GREEN_SIZE Number of bits of green stored in the accumulation buffer. GLX_ACCUM_BLUE_SIZE Number of bits of blue stored in the accumulation buffer. GLX_ACCUM_ALPHA_SIZE Number of bits of alpha stored in the accumulation buffer. GLX_RENDER_TYPE Mask indicating what type of GLX contexts can be made current to the frame buffer configuration. Valid bits are GLX_RGBA_BIT and GLX_COLOR_INDEX_BIT. GLX_DRAWABLE_TYPE Mask indicating what drawable types the frame buffer configuration supports. Valid bits are GLX_WINDOW_BIT, GLX_PIXMAP_BIT, and GLX_PBUFFER_BIT. GLX_X_RENDERABLE True if drawables created with the frame buffer configuration can be rendered to by X. GLX_VISUAL_ID XID of the corresponding visual, or zero if there is no associated visual (i.e., if GLX_X_RENDERABLE is False or GLX_DRAWABLE_TYPE does not have the GLX_WINDOW_BIT bit set). GLX_X_VISUAL_TYPE Visual type of associated visual. The returned value will be one of: GLX_TRUE_COLOR, GLX_DIRECT_COLOR, GLX_PSEUDO_COLOR, GLX_STATIC_COLOR, GLX_GRAY_SCALE, GLX_STATIC_GRAY, or GLX_NONE, if there is no associated visual (i.e., if GLX_X_RENDERABLE is False or GLX_DRAWABLE_TYPE does not have the GLX_WINDOW_BIT bit set). GLX_CONFIG_CAVEAT One of GLX_NONE, GLX_SLOW_CONFIG, or GLX_NON_CONFORMANT_CONFIG, indicating that the frame buffer configuration has no caveats, some aspect of the frame buffer configuration runs slower than other frame buffer configurations, or some aspect of the frame buffer configuration is nonconformant, respectively. GLX_TRANSPARENT_TYPE One of GLX_NONE, GLX_TRANSPARENT_RGB, GLX_TRANSPARENT_INDEX, indicating that the frame buffer configuration is opaque, is transparent for particular values of red, green, and blue, or is transparent for particular index values, respectively. GLX_TRANSPARENT_INDEX_VALUE Integer value between 0 and the maximum frame buffer value for indices, indicating the transparent index value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_INDEX. GLX_TRANSPARENT_RED_VALUE Integer value between 0 and the maximum frame buffer value for red, indicating the transparent red value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_GREEN_VALUE Integer value between 0 and the maximum frame buffer value for green, indicating the transparent green value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_BLUE_VALUE Integer value between 0 and the maximum frame buffer value for blue, indicating the transparent blue value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB. GLX_TRANSPARENT_ALPHA_VALUE Integer value between 0 and the maximum frame buffer value for alpha, indicating the transparent blue value for the frame buffer configuration. Undefined if GLX_TRANSPARENT_TYPE is not GLX_TRANSPARENT_RGB. GLX_MAX_PBUFFER_WIDTH The maximum width that can be specified to glXCreatePbuffer. GLX_MAX_PBUFFER_HEIGHT The maximum height that can be specified to glXCreatePbuffer. GLX_MAX_PBUFFER_PIXELS The maximum number of pixels (width times height) for a pixel buffer. Note that this value may be less than GLX_MAX_PBUFFER_WIDTH times GLX_MAX_PBUFFER_HEIGHT. Also, this value is static and assumes that no other pixel buffers or X resources are contending for the frame buffer memory. As a result, it may not be possible to allocate a pixel buffer of the size given by GLX_MAX_PBUFFER_PIXELS. Applications should choose the frame buffer configuration that most closely meets their requirements. Creating windows, GLX pixmaps, or GLX pixel buffers with unnecessary buffers can result in reduced rendering performance as well as poor resource allocation. Notes glXGetFBConfigAttrib is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLX_NO_EXTENSION is returned if dpy does not support the GLX extension. GLX_BAD_ATTRIBUTE is returned if attribute is not a valid GLX attribute. See Also glXGetFBConfigs, glXChooseFBConfig, glXGetVisualFromFBConfig, glXGetConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glSampleCoverage.xml0000664000175000017500000001446711453131432024470 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glSampleCoverage 3G glSampleCoverage specify multisample coverage parameters C Specification void glSampleCoverage GLclampf value GLboolean invert Parameters value Specify a single floating-point sample coverage value. The value is clamped to the range 0 1 . The initial value is 1.0. invert Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE. Description Multisampling samples a pixel multiple times at various implementation-dependent subpixel locations to generate antialiasing effects. Multisampling transparently antialiases points, lines, polygons, bitmaps, and images if it is enabled. value is used in constructing a temporary mask used in determining which samples will be used in resolving the final fragment color. This mask is bitwise-anded with the coverage mask generated from the multisampling computation. If the invert flag is set, the temporary mask is inverted (all bits flipped) and then the bitwise-and is computed. If an implementation does not have any multisample buffers available, or multisampling is disabled, rasterization occurs with only a single sample computing a pixel's final RGB color. Provided an implementation supports multisample buffers, and multisampling is enabled, then a pixel's final color is generated by combining several samples per pixel. Each sample contains color, depth, and stencil information, allowing those operations to be performed on each sample. Notes glSampleCoverage is available only if the GL version is 1.3 or greater. Errors GL_INVALID_OPERATION is generated if glSampleCoverage is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_SAMPLE_COVERAGE_VALUE glGet with argument GL_SAMPLE_COVERAGE_INVERT glIsEnabled with argument GL_MULTISAMPLE glIsEnabled with argument GL_SAMPLE_ALPHA_TO_COVERAGE glIsEnabled with argument GL_SAMPLE_ALPHA_TO_ONE glIsEnabled with argument GL_SAMPLE_COVERAGE See Also glEnable, glPushAttrib Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClipPlane.xml0000664000175000017500000001515111453131434023433 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClipPlane 3G glClipPlane specify a plane against which all geometry is clipped C Specification void glClipPlane GLenum plane const GLdouble * equation Parameters plane Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES -1 , are accepted. equation Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. Description Geometry is always clipped against the boundaries of a six-plane frustum in x, y, and z. glClipPlane allows the specification of additional planes, not necessarily perpendicular to the x, y, or z axis, against which all geometry is clipped. To determine the maximum number of additional clipping planes, call glGetIntegerv with argument GL_MAX_CLIP_PLANES. All implementations support at least six such clipping planes. Because the resulting clipping region is the intersection of the defined half-spaces, it is always convex. glClipPlane specifies a half-space using a four-component plane equation. When glClipPlane is called, equation is transformed by the inverse of the modelview matrix and stored in the resulting eye coordinates. Subsequent changes to the modelview matrix have no effect on the stored plane-equation components. If the dot product of the eye coordinates of a vertex with the stored plane equation components is positive or zero, the vertex is in with respect to that clipping plane. Otherwise, it is out. To enable and disable clipping planes, call glEnable and glDisable with the argument GL_CLIP_PLANEi, where i is the plane number. All clipping planes are initially defined as (0, 0, 0, 0) in eye coordinates and are disabled. Notes It is always the case that GL_CLIP_PLANE i = GL_CLIP_PLANE0 + i. Errors GL_INVALID_ENUM is generated if plane is not an accepted value. GL_INVALID_OPERATION is generated if glClipPlane is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetClipPlane glIsEnabled with argument GL_CLIP_PLANEi See Also glEnable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFog.xml0000664000175000017500000005706511453131434022311 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFog 3G glFog specify fog parameters C Specification void glFogf GLenum pname GLfloat param void glFogi GLenum pname GLint param Parameters pname Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. param Specifies the value that pname will be set to. C Specification void glFogfv GLenum pname const GLfloat * params void glFogiv GLenum pname const GLint * params Parameters pname Specifies a fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, GL_FOG_COLOR, and GL_FOG_COORD_SRC are accepted. params Specifies the value or values to be assigned to pname. GL_FOG_COLOR requires an array of four values. All other parameters accept an array containing only a single value. Description Fog is initially disabled. While enabled, fog affects rasterized geometry, bitmaps, and pixel blocks, but not buffer clear operations. To enable and disable fog, call glEnable and glDisable with argument GL_FOG. glFog assigns the value or values in params to the fog parameter specified by pname. The following values are accepted for pname: GL_FOG_MODE params is a single integer or floating-point value that specifies the equation to be used to compute the fog blend factor, f. Three symbolic constants are accepted: GL_LINEAR, GL_EXP, and GL_EXP2. The equations corresponding to these symbolic constants are defined below. The initial fog mode is GL_EXP. GL_FOG_DENSITY params is a single integer or floating-point value that specifies density, the fog density used in both exponential fog equations. Only nonnegative densities are accepted. The initial fog density is 1. GL_FOG_START params is a single integer or floating-point value that specifies start, the near distance used in the linear fog equation. The initial near distance is 0. GL_FOG_END params is a single integer or floating-point value that specifies end, the far distance used in the linear fog equation. The initial far distance is 1. GL_FOG_INDEX params is a single integer or floating-point value that specifies i f , the fog color index. The initial fog index is 0. GL_FOG_COLOR params contains four integer or floating-point values that specify C f , the fog color. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. After conversion, all color components are clamped to the range 0 1 . The initial fog color is (0, 0, 0, 0). GL_FOG_COORD_SRC params contains either of the following symbolic constants: GL_FOG_COORD or GL_FRAGMENT_DEPTH. GL_FOG_COORD specifies that the current fog coordinate should be used as distance value in the fog color computation. GL_FRAGMENT_DEPTH specifies that the current fragment depth should be used as distance value in the fog computation. Fog blends a fog color with each rasterized pixel fragment's post-texturing color using a blending factor f. Factor f is computed in one of three ways, depending on the fog mode. Let c be either the distance in eye coordinate from the origin (in the case that the GL_FOG_COORD_SRC is GL_FRAGMENT_DEPTH) or the current fog coordinate (in the case that GL_FOG_COORD_SRC is GL_FOG_COORD). The equation for GL_LINEAR fog is f = end - c end - start The equation for GL_EXP fog is f = e - density · c The equation for GL_EXP2 fog is f = e - density · c 2 Regardless of the fog mode, f is clamped to the range 0 1 after it is computed. Then, if the GL is in RGBA color mode, the fragment's red, green, and blue colors, represented by C r , are replaced by C r = f × C r + 1 - f × C f Fog does not affect a fragment's alpha component. In color index mode, the fragment's color index i r is replaced by i r = i r + 1 - f × i f Notes GL_FOG_COORD_SRC is available only if the GL version is 1.4 or greater. Errors GL_INVALID_ENUM is generated if pname is not an accepted value, or if pname is GL_FOG_MODE and params is not an accepted value. GL_INVALID_VALUE is generated if pname is GL_FOG_DENSITY and params is negative. GL_INVALID_OPERATION is generated if glFog is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsEnabled with argument GL_FOG glGet with argument GL_FOG_COLOR glGet with argument GL_FOG_INDEX glGet with argument GL_FOG_DENSITY glGet with argument GL_FOG_START glGet with argument GL_FOG_END glGet with argument GL_FOG_MODE See Also glEnable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsCurve.xml0000664000175000017500000002064411453131434024052 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsCurve 3G gluNurbsCurve define the shape of a NURBS curve C Specification void gluNurbsCurve GLUnurbs* nurb GLint knotCount GLfloat * knots GLint stride GLfloat * control GLint order GLenum type Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). knotCount Specifies the number of knots in knots. knotCount equals the number of control points plus the order. knots Specifies an array of knotCount nondecreasing knot values. stride Specifies the offset (as a number of single-precision floating-point values) between successive curve control points. control Specifies a pointer to an array of control points. The coordinates must agree with type, specified below. order Specifies the order of the NURBS curve. order equals degree + 1, hence a cubic curve has an order of 4. type Specifies the type of the curve. If this curve is defined within a gluBeginCurve/gluEndCurve pair, then the type can be any of the valid one-dimensional evaluator types (such as GLU_MAP1_VERTEX_3 or GLU_MAP1_COLOR_4). Between a gluBeginTrim/gluEndTrim pair, the only valid types are GLU_MAP1_TRIM_2 and GLU_MAP1_TRIM_3. Description Use gluNurbsCurve to describe a NURBS curve. When gluNurbsCurve appears between a gluBeginCurve/gluEndCurve pair, it is used to describe a curve to be rendered. Positional, texture, and color coordinates are associated by presenting each as a separate gluNurbsCurve between a gluBeginCurve/gluEndCurve pair. No more than one call to gluNurbsCurve for each of color, position, and texture data can be made within a single gluBeginCurve/gluEndCurve pair. Exactly one call must be made to describe the position of the curve (a type of GLU_MAP1_VERTEX_3 or GLU_MAP1_VERTEX_4). When gluNurbsCurve appears between a gluBeginTrim/gluEndTrim pair, it is used to describe a trimming curve on a NURBS surface. If type is GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u and v) parameter space. If it is GLU_MAP1_TRIM_3, then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See the gluBeginTrim reference page for more discussion about trimming curves. Example The following commands render a textured NURBS curve with normals: gluBeginCurve(nobj); gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2); gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL); gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj); Notes To define trim curves that stitch well, use gluPwlCurve. See Also gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetProgram.xml0000664000175000017500000002133711453131434023636 0ustar laneylaney glGetProgram 3G glGetProgramiv Returns a parameter from a program object C Specification void glGetProgramiv GLuint program GLenum pname GLint *params Parameters program Specifies the program object to be queried. pname Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. params Returns the requested object parameter. Description glGetProgram returns in params the value of a parameter for a specific program object. The following parameters are defined: GL_DELETE_STATUS params returns GL_TRUE if program is currently flagged for deletion, and GL_FALSE otherwise. GL_LINK_STATUS params returns GL_TRUE if the last link operation on program was successful, and GL_FALSE otherwise. GL_VALIDATE_STATUS params returns GL_TRUE or if the last validation operation on program was successful, and GL_FALSE otherwise. GL_INFO_LOG_LENGTH params returns the number of characters in the information log for program including the null termination character (i.e., the size of the character buffer required to store the information log). If program has no information log, a value of 0 is returned. GL_ATTACHED_SHADERS params returns the number of shader objects attached to program. GL_ACTIVE_ATTRIBUTES params returns the number of active attribute variables for program. GL_ACTIVE_ATTRIBUTE_MAX_LENGTH params returns the length of the longest active attribute name for program, including the null termination character (i.e., the size of the character buffer required to store the longest attribute name). If no active attributes exist, 0 is returned. GL_ACTIVE_UNIFORMS params returns the number of active uniform variables for program. GL_ACTIVE_UNIFORM_MAX_LENGTH params returns the length of the longest active uniform variable name for program, including the null termination character (i.e., the size of the character buffer required to store the longest uniform variable name). If no active uniform variables exist, 0 is returned. Notes glGetProgram is available only if the GL version is 2.0 or greater. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program does not refer to a program object. GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetActiveAttrib with argument program glGetActiveUniform with argument program glGetAttachedShaders with argument program glGetProgramInfoLog with argument program glIsProgram See Also glAttachShader, glCreateProgram, glDeleteProgram, glGetShader, glLinkProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluDeleteNurbsRenderer.xml0000664000175000017500000000502511453131434025653 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluDeleteNurbsRenderer 3G gluDeleteNurbsRenderer destroy a NURBS object C Specification void gluDeleteNurbsRenderer GLUnurbs* nurb Parameters nurb Specifies the NURBS object to be destroyed. Description gluDeleteNurbsRenderer destroys the NURBS object (which was created with gluNewNurbsRenderer) and frees any memory it uses. Once gluDeleteNurbsRenderer has been called, nurb cannot be used again. See Also gluNewNurbsRenderer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetCompressedTexImage.xml0000664000175000017500000002442511453131432025756 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetCompressedTexImage 3G glGetCompressedTexImage return a compressed texture image C Specification void glGetCompressedTexImage GLenum target GLint lod GLvoid * img Parameters target Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. lod Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the nth mipmap reduction image. img Returns the compressed texture image. Description glGetCompressedTexImage returns the compressed texture image associated with target and lod into img. img should be an array of GL_TEXTURE_COMPRESSED_IMAGE_SIZE bytes. target specifies whether the desired texture image was one specified by glTexImage1D (GL_TEXTURE_1D), glTexImage2D (GL_TEXTURE_2D or any of GL_TEXTURE_CUBE_MAP_*), or glTexImage3D (GL_TEXTURE_3D). lod specifies the level-of-detail number of the desired image. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a texture image is requested, img is treated as a byte offset into the buffer object's data store. To minimize errors, first verify that the texture is compressed by calling glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED. If the texture is compressed, then determine the amount of memory required to store the compressed texture by calling glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED_IMAGE_SIZE. Finally, retrieve the internal format of the texture by calling glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT. To store the texture for later use, associate the internal format and size with the retrieved texture image. These data can be used by the respective texture or subtexture loading routine used for loading target textures. Notes glGetCompressedTexImage is available only if the GL version is 1.3 or greater. Errors GL_INVALID_VALUE is generated if lod is less than zero or greater than the maximum number of LODs permitted by the implementation. GL_INVALID_OPERATION is generated if glGetCompressedTexImage is used to retrieve a texture that is in an uncompressed internal format. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if glGetCompressedTexImage is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED glGetTexLevelParameter with argument GL_TEXTURE_COMPRESSED_IMAGE_SIZE glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glActiveTexture, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glDrawPixels, glReadPixels, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXIsDirect.xml0000664000175000017500000000634711453131434023431 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXIsDirect 3G glXIsDirect indicate whether direct rendering is enabled C Specification Bool glXIsDirect Display * dpy GLXContext ctx Parameters dpy Specifies the connection to the X server. ctx Specifies the GLX context that is being queried. Description glXIsDirect returns True if ctx is a direct rendering context, False otherwise. Direct rendering contexts pass rendering commands directly from the calling process's address space to the rendering system, bypassing the X server. Nondirect rendering contexts pass all rendering commands to the X server. Errors GLXBadContext is generated if ctx is not a valid GLX context. See Also glXCreateContext, glXCreateNewContext Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glViewport.xml0000664000175000017500000002150011453131434023376 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glViewport 3G glViewport set the viewport C Specification void glViewport GLint x GLint y GLsizei width GLsizei height Parameters x y Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0). width height Specify the width and height of the viewport. When a GL context is first attached to a window, width and height are set to the dimensions of that window. Description glViewport specifies the affine transformation of x and y from normalized device coordinates to window coordinates. Let x nd y nd be normalized device coordinates. Then the window coordinates x w y w are computed as follows: x w = x nd + 1 width 2 + x y w = y nd + 1 height 2 + y Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call glGet with argument GL_MAX_VIEWPORT_DIMS. Errors GL_INVALID_VALUE is generated if either width or height is negative. GL_INVALID_OPERATION is generated if glViewport is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_VIEWPORT glGet with argument GL_MAX_VIEWPORT_DIMS See Also glDepthRange Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsProperty.xml0000664000175000017500000004242211453131432024606 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsProperty 3G gluNurbsProperty set a NURBS property C Specification void gluNurbsProperty GLUnurbs* nurb GLenum property GLfloat value Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). property Specifies the property to be set. Valid values are GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_CULLING, GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, GLU_V_STEP, or GLU_NURBS_MODE. value Specifies the value of the indicated property. It may be a numeric value or one of GLU_OUTLINE_POLYGON, GLU_FILL, GLU_OUTLINE_PATCH, GLU_TRUE, GLU_FALSE, GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE, GLU_NURBS_RENDERER, or GLU_NURBS_TESSELLATOR. Description gluNurbsProperty is used to control properties stored in a NURBS object. These properties affect the way that a NURBS curve is rendered. The accepted values for property are as follows: GLU_NURBS_MODE value should be set to be either GLU_NURBS_RENDERER or GLU_NURBS_TESSELLATOR. When set to GLU_NURBS_RENDERER, NURBS objects are tessellated into OpenGL primitives and sent to the pipeline for rendering. When set to GLU_NURBS_TESSELLATOR, NURBS objects are tessellated into OpenGL primitives but the vertices, normals, colors, and/or textures are retrieved back through a callback interface (see gluNurbsCallback). This allows the user to cache the tessellated results for further processing. The initial value is GLU_NURBS_RENDERER. GLU_SAMPLING_METHOD Specifies how a NURBS surface should be tessellated. value may be one of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE, GLU_OBJECT_PATH_LENGTH, or GLU_OBJECT_PARAMETRIC_ERROR. When set to GLU_PATH_LENGTH, the surface is rendered so that the maximum length, in pixels, of the edges of the tessellation polygons is no greater than what is specified by GLU_SAMPLING_TOLERANCE. GLU_PARAMETRIC_ERROR specifies that the surface is rendered in such a way that the value specified by GLU_PARAMETRIC_TOLERANCE describes the maximum distance, in pixels, between the tessellation polygons and the surfaces they approximate. GLU_DOMAIN_DISTANCE allows users to specify, in parametric coordinates, how many sample points per unit length are taken in u, v direction. GLU_OBJECT_PATH_LENGTH is similar to GLU_PATH_LENGTH except that it is view independent; that is, the surface is rendered so that the maximum length, in object space, of edges of the tessellation polygons is no greater than what is specified by GLU_SAMPLING_TOLERANCE. GLU_OBJECT_PARAMETRIC_ERROR is similar to GLU_PARAMETRIC_ERROR except that it is view independent; that is, the surface is rendered in such a way that the value specified by GLU_PARAMETRIC_TOLERANCE describes the maximum distance, in object space, between the tessellation polygons and the surfaces they approximate. The initial value of GLU_SAMPLING_METHOD is GLU_PATH_LENGTH. GLU_SAMPLING_TOLERANCE Specifies the maximum length, in pixels or in object space length unit, to use when the sampling method is set to GLU_PATH_LENGTH or GLU_OBJECT_PATH_LENGTH. The NURBS code is conservative when rendering a curve or surface, so the actual length can be somewhat shorter. The initial value is 50.0 pixels. GLU_PARAMETRIC_TOLERANCE Specifies the maximum distance, in pixels or in object space length unit, to use when the sampling method is GLU_PARAMETRIC_ERROR or GLU_OBJECT_PARAMETRIC_ERROR. The initial value is 0.5. GLU_U_STEP Specifies the number of sample points per unit length taken along the u axis in parametric coordinates. It is needed when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The initial value is 100. GLU_V_STEP Specifies the number of sample points per unit length taken along the v axis in parametric coordinate. It is needed when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The initial value is 100. GLU_DISPLAY_MODE value can be set to GLU_OUTLINE_POLYGON, GLU_FILL, or GLU_OUTLINE_PATCH. When GLU_NURBS_MODE is set to be GLU_NURBS_RENDERER, value defines how a NURBS surface should be rendered. When value is set to GLU_FILL, the surface is rendered as a set of polygons. When value is set to GLU_OUTLINE_POLYGON, the NURBS library draws only the outlines of the polygons created by tessellation. When value is set to GLU_OUTLINE_PATCH just the outlines of patches and trim curves defined by the user are drawn. When GLU_NURBS_MODE is set to be GLU_NURBS_TESSELLATOR, value defines how a NURBS surface should be tessellated. When GLU_DISPLAY_MODE is set to GLU_FILL or GLU_OUTLINE_POLYGON, the NURBS surface is tessellated into OpenGL triangle primitives that can be retrieved back through callback functions. If GLU_DISPLAY_MODE is set to GLU_OUTLINE_PATCH, only the outlines of the patches and trim curves are generated as a sequence of line strips that can be retrieved back through callback functions. The initial value is GLU_FILL. GLU_CULLING value is a boolean value that, when set to GLU_TRUE, indicates that a NURBS curve should be discarded prior to tessellation if its control points lie outside the current viewport. The initial value is GLU_FALSE. GLU_AUTO_LOAD_MATRIX value is a boolean value. When set to GLU_TRUE, the NURBS code downloads the projection matrix, the modelview matrix, and the viewport from the GL server to compute sampling and culling matrices for each NURBS curve that is rendered. Sampling and culling matrices are required to determine the tessellation of a NURBS surface into line segments or polygons and to cull a NURBS surface if it lies outside the viewport. If this mode is set to GLU_FALSE, then the program needs to provide a projection matrix, a modelview matrix, and a viewport for the NURBS renderer to use to construct sampling and culling matrices. This can be done with the gluLoadSamplingMatrices function. This mode is initially set to GLU_TRUE. Changing it from GLU_TRUE to GLU_FALSE does not affect the sampling and culling matrices until gluLoadSamplingMatrices is called. Notes If GLU_AUTO_LOAD_MATRIX is true, sampling and culling may be executed incorrectly if NURBS routines are compiled into a display list. A property of GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, or GLU_V_STEP, or a value of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE are only available if the GLU version is 1.1 or greater. They are not valid parameters in GLU 1.0. gluGetString can be used to determine the GLU version. GLU_NURBS_MODE is only available if the GLU version is 1.3 or greater. The GLU_OBJECT_PATH_LENGTH and GLU_OBJECT_PARAMETRIC_ERROR values for the GLU_SAMPLING_METHOD property are only available if the GLU version is 1.3 or greater. See Also gluGetNurbsProperty, gluGetString, gluLoadSamplingMatrices, gluNewNurbsRenderer, gluNurbsCallback Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexImage3D.xml0000664000175000017500000004241111453131434025502 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexImage3D 3G glCompressedTexImage3D specify a three-dimensional texture image in a compressed format C Specification void glCompressedTexImage3D GLenum target GLint level GLenum internalformat GLsizei width GLsizei height GLsizei depth GLint border GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalformat Specifies the format of the compressed image data stored at address data. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support 3D texture images that are at least 16 texels wide. height Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support 3D texture images that are at least 16 texels high. depth Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support 3D texture images that are at least 16 texels deep. border Specifies the width of the border. Must be either 0 or 1. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable three-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_3D. glCompressedTexImage3D loads a previously defined, and retrieved, compressed three-dimensional texture image if target is GL_TEXTURE_3D (see glTexImage3D). If target is GL_PROXY_TEXTURE_3D, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. internalformat must be an extension-specified compressed-texture format. When a texture is loaded with glTexImage2D using a generic compressed texture format (e.g., GL_COMPRESSED_RGB), the GL selects from one of its extensions supporting compressed textures. In order to load the compressed texture image using glCompressedTexImage3D, query the compressed texture image's size and format using glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexImage3D is available only if the GL version is 1.3 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. Errors GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexImage3D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_3D See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexSubImage1D.xml0000664000175000017500000003176411453131434026163 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexSubImage1D 3G glCompressedTexSubImage1D specify a one-dimensional texture subimage in a compressed format C Specification void glCompressedTexSubImage1D GLenum target GLint level GLint xoffset GLsizei width GLenum format GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. width Specifies the width of the texture subimage. format Specifies the format of the compressed image data stored at address data. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D. glCompressedTexSubImage1D redefines a contiguous subregion of an existing one-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. format must be an extension-specified compressed-texture format. The format of the compressed texture image is selected by the GL implementation that compressed it (see glTexImage1D), and should be queried at the time the texture was compressed with glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexSubImage1D is available only if the GL version is 1.3 or greater. Errors GL_INVALID_ENUM is generated if format is one of these generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_COMPRESSED_SLUMINANCE, GL_COMPRESSED_SLUMINANCE_ALPHA, GL_COMPRESSED_SRGB, GL_COMPRESSED_SRGBA, or GL_COMPRESSED_SRGB_ALPHA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexSubImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_1D See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMultiTexCoord.xml0000664000175000017500000005441511453131434024334 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMultiTexCoord 3G glMultiTexCoord set the current texture coordinates C Specification void glMultiTexCoord1s GLenum target GLshort s void glMultiTexCoord1i GLenum target GLint s void glMultiTexCoord1f GLenum target GLfloat s void glMultiTexCoord1d GLenum target GLdouble s void glMultiTexCoord2s GLenum target GLshort s GLshort t void glMultiTexCoord2i GLenum target GLint s GLint t void glMultiTexCoord2f GLenum target GLfloat s GLfloat t void glMultiTexCoord2d GLenum target GLdouble s GLdouble t void glMultiTexCoord3s GLenum target GLshort s GLshort t GLshort r void glMultiTexCoord3i GLenum target GLint s GLint t GLint r void glMultiTexCoord3f GLenum target GLfloat s GLfloat t GLfloat r void glMultiTexCoord3d GLenum target GLdouble s GLdouble t GLdouble r void glMultiTexCoord4s GLenum target GLshort s GLshort t GLshort r GLshort q void glMultiTexCoord4i GLenum target GLint s GLint t GLint r GLint q void glMultiTexCoord4f GLenum target GLfloat s GLfloat t GLfloat r GLfloat q void glMultiTexCoord4d GLenum target GLdouble s GLdouble t GLdouble r GLdouble q Parameters target Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTUREi, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. s t r q Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. C Specification void glMultiTexCoord1sv GLenum target const GLshort * v void glMultiTexCoord1iv GLenum target const GLint * v void glMultiTexCoord1fv GLenum target const GLfloat * v void glMultiTexCoord1dv GLenum target const GLdouble * v void glMultiTexCoord2sv GLenum target const GLshort * v void glMultiTexCoord2iv GLenum target const GLint * v void glMultiTexCoord2fv GLenum target const GLfloat * v void glMultiTexCoord2dv GLenum target const GLdouble * v void glMultiTexCoord3sv GLenum target const GLshort * v void glMultiTexCoord3iv GLenum target const GLint * v void glMultiTexCoord3fv GLenum target const GLfloat * v void glMultiTexCoord3dv GLenum target const GLdouble * v void glMultiTexCoord4sv GLenum target const GLshort * v void glMultiTexCoord4iv GLenum target const GLint * v void glMultiTexCoord4fv GLenum target const GLfloat * v void glMultiTexCoord4dv GLenum target const GLdouble * v Parameters target Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTUREi, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. v Specifies a pointer to an array of one, two, three, or four elements, which in turn specify the s, t, r, and q texture coordinates. Description glMultiTexCoord specifies texture coordinates in one, two, three, or four dimensions. glMultiTexCoord1 sets the current texture coordinates to s 0 0 1 ; a call to glMultiTexCoord2 sets them to s t 0 1 . Similarly, glMultiTexCoord3 specifies the texture coordinates as s t r 1 , and glMultiTexCoord4 defines all four components explicitly as s t r q . The current texture coordinates are part of the data that is associated with each vertex and with the current raster position. Initially, the values for s t r q are 0 0 0 1 . Notes glMultiTexCoord is only supported if the GL version is 1.3 or greater, or if ARB_multitexture is included in the string returned by glGetString when called with the argument GL_EXTENSIONS. The current texture coordinates can be updated at any time. In particular, glMultiTexCoord can be called between a call to glBegin and the corresponding call to glEnd. It is always the case that GL_TEXTURE i = GL_TEXTURE0 + i. Associated Gets glGet with argument GL_CURRENT_TEXTURE_COORDS with appropriate texture unit selected. glGet with argument GL_MAX_TEXTURE_COORDS See Also glActiveTexture, glClientActiveTexture, glTexCoord, glTexCoordPointer, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetConfig.xml0000664000175000017500000003365111453131434023566 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetConfig 3G glXGetConfig return information about GLX visuals C Specification int glXGetConfig Display * dpy XVisualInfo * vis int attrib int * value Parameters dpy Specifies the connection to the X server. vis Specifies the visual to be queried. It is a pointer to an XVisualInfo structure, not a visual ID or a pointer to a Visual. attrib Specifies the visual attribute to be returned. value Returns the requested value. Description glXGetConfig sets value to the attrib value of windows or GLX pixmaps created with respect to vis. glXGetConfig returns an error code if it fails for any reason. Otherwise, zero is returned. attrib is one of the following: GLX_USE_GL True if OpenGL rendering is supported by this visual, False otherwise. GLX_BUFFER_SIZE Number of bits per color buffer. For RGBA visuals, GLX_BUFFER_SIZE is the sum of GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_BLUE_SIZE, and GLX_ALPHA_SIZE. For color index visuals, GLX_BUFFER_SIZE is the size of the color indexes. GLX_LEVEL Frame buffer level of the visual. Level zero is the default frame buffer. Positive levels correspond to frame buffers that overlay the default buffer, and negative levels correspond to frame buffers that underlay the default buffer. GLX_RGBA True if color buffers store red, green, blue, and alpha values. False if they store color indexes. GLX_DOUBLEBUFFER True if color buffers exist in front/back pairs that can be swapped, False otherwise. GLX_STEREO True if color buffers exist in left/right pairs, False otherwise. GLX_AUX_BUFFERS Number of auxiliary color buffers that are available. Zero indicates that no auxiliary color buffers exist. GLX_RED_SIZE Number of bits of red stored in each color buffer. Undefined if GLX_RGBA is False. GLX_GREEN_SIZE Number of bits of green stored in each color buffer. Undefined if GLX_RGBA is False. GLX_BLUE_SIZE Number of bits of blue stored in each color buffer. Undefined if GLX_RGBA is False. GLX_ALPHA_SIZE Number of bits of alpha stored in each color buffer. Undefined if GLX_RGBA is False. GLX_DEPTH_SIZE Number of bits in the depth buffer. GLX_STENCIL_SIZE Number of bits in the stencil buffer. GLX_ACCUM_RED_SIZE Number of bits of red stored in the accumulation buffer. GLX_ACCUM_GREEN_SIZE Number of bits of green stored in the accumulation buffer. GLX_ACCUM_BLUE_SIZE Number of bits of blue stored in the accumulation buffer. GLX_ACCUM_ALPHA_SIZE Number of bits of alpha stored in the accumulation buffer. The X protocol allows a single visual ID to be instantiated with different numbers of bits per pixel. Windows or GLX pixmaps that will be rendered with OpenGL, however, must be instantiated with a color buffer depth of GLX_BUFFER_SIZE. Although a GLX implementation can export many visuals that support GL rendering, it must support at least one RGBA visual. This visual must have at least one color buffer, a stencil buffer of at least 1 bit, a depth buffer of at least 12 bits, and an accumulation buffer. Alpha bitplanes are optional in this visual. However, its color buffer size must be as great as that of the deepest TrueColor, DirectColor, PseudoColor, or StaticColor visual supported on level zero, and it must itself be made available on level zero. In addition, if the X server exports a PseudoColor or StaticColor visual on framebuffer level 0, a color index visual is also required on that level. It must have at least one color buffer, a stencil buffer of at least 1 bit, and a depth buffer of at least 12 bits. This visual must have as many color bitplanes as the deepest PseudoColor or StaticColor visual supported on level 0. Applications are best written to select the visual that most closely meets their requirements. Creating windows or GLX pixmaps with unnecessary buffers can result in reduced rendering performance as well as poor resource allocation. Notes XVisualInfo is defined in Xutil.h. It is a structure that includes visual, visualID, screen, and depth elements. Errors GLX_NO_EXTENSION is returned if dpy does not support the GLX extension. GLX_BAD_SCREEN is returned if the screen of vis does not correspond to a screen. GLX_BAD_ATTRIBUTE is returned if attrib is not a valid GLX attribute. GLX_BAD_VISUAL is returned if vis doesn't support GLX and an attribute other than GLX_USE_GL is requested. See Also glXChooseVisual, glXCreateContext Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBlendEquationSeparate.xml0000664000175000017500000011762011453131434026007 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBlendEquationSeparate 3G glBlendEquationSeparate set the RGB blend equation and the alpha blend equation separately C Specification void glBlendEquationSeparate GLenum modeRGB GLenum modeAlpha Parameters modeRGB specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. modeAlpha specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. Description The blend equations determines how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color). This function specifies one blend equation for the RGB-color components and one blend equation for the alpha component. The blend equations use the source and destination blend factors specified by either glBlendFunc or glBlendFuncSeparate. See glBlendFunc or glBlendFuncSeparate for a description of the various blend factors. In the equations that follow, source and destination color components are referred to as R s G s B s A s and R d G d B d A d , respectively. The result color is referred to as R r G r B r A r . The source and destination blend factors are denoted s R s G s B s A and d R d G d B d A , respectively. For these equations all color components are understood to have values in the range 0 1 . Mode RGB Components Alpha Component GL_FUNC_ADD Rr = R s s R + R d d R Gr = G s s G + G d d G Br = B s s B + B d d B Ar = A s s A + A d d A GL_FUNC_SUBTRACT Rr = R s s R - R d d R Gr = G s s G - G d d G Br = B s s B - B d d B Ar = A s s A - A d d A GL_FUNC_REVERSE_SUBTRACT Rr = R d d R - R s s R Gr = G d d G - G s s G Br = B d d B - B s s B Ar = A d d A - A s s A GL_MIN Rr = min R s R d Gr = min G s G d Br = min B s B d Ar = min A s A d GL_MAX Rr = max R s R d Gr = max G s G d Br = max B s B d Ar = max A s A d The results of these equations are clamped to the range 0 1 . The GL_MIN and GL_MAX equations are useful for applications that analyze image data (image thresholding against a constant color, for example). The GL_FUNC_ADD equation is useful for antialiasing and transparency, among other things. Initially, both the RGB blend equation and the alpha blend equation are set to GL_FUNC_ADD. Notes glBlendEquationSeparate is available only if the GL version is 2.0 or greater. The GL_MIN, and GL_MAX equations do not use the source or destination factors, only the source and destination colors. Errors GL_INVALID_ENUM is generated if either modeRGB or modeAlpha is not one of GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MAX, or GL_MIN. GL_INVALID_OPERATION is generated if glBlendEquationSeparate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with an argument of GL_BLEND_EQUATION_RGB glGet with an argument of GL_BLEND_EQUATION_ALPHA See Also glGetString, glBlendColor, glBlendFunc, glBlendFuncSeparate Copyright Copyright 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFlush.xml0000664000175000017500000000653711453131434022655 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFlush 3G glFlush force execution of GL commands in finite time C Specification void glFlush void Description Different GL implementations buffer commands in several different locations, including network buffers and the graphics accelerator itself. glFlush empties all of these buffers, causing all issued commands to be executed as quickly as they are accepted by the actual rendering engine. Though this execution may not be completed in any particular time period, it does complete in finite time. Because any GL program might be executed over a network, or on an accelerator that buffers commands, all programs should call glFlush whenever they count on having all of their previously issued commands completed. For example, call glFlush before waiting for user input that depends on the generated image. Notes glFlush can return at any time. It does not wait until the execution of all previously issued GL commands is complete. Errors GL_INVALID_OPERATION is generated if glFlush is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glFinish Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild1DMipmaps.xml0000664000175000017500000005026611453131434024532 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild1DMipmaps 3G gluBuild1DMipmaps builds a one-dimensional mipmap C Specification GLint gluBuild1DMipmaps GLenum target GLint internalFormat GLsizei width GLenum format GLenum type const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_1D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width Specifies the width, in pixels, of the texture image. format Specifies the format of the pixel data. Must be one of GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description gluBuild1DMipmaps builds a series of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). Initially, the width of data is checked to see if it is a power of 2. If not, a copy of data is scaled up or down to the nearest power of 2. (If width is exactly between powers of 2, then the copy of data will scale upwards.) This copy will be used for subsequent mipmapping operations described below. For example, if width is 57, then a copy of data will scale up to 64 before mipmapping takes place. Then, proxy textures (see glTexImage1D) are used to determine if the implementation can fit the requested texture. If not, width is continually halved until it fits. Next, a series of mipmap levels is built by decimating a copy of data in half until size 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load each of these mipmap levels. Level 0 is a copy of data. The highest level is log 2 width . For example, if width is 64 and the implementation can store a texture of this size, the following mipmap levels are built: 64 × 1 , 32 × 1 , 16 × 1 , 8 × 1 , 4 × 1 , 2 × 1 , and 1 × 1 . These correspond to levels 0 through 6, respectively. See the glTexImage1D reference page for a description of the acceptable values for the type parameter. See the glDrawPixels reference page for a description of the acceptable values for the data parameter. Notes Note that there is no direct way of querying the maximum level. This can be derived indirectly via glGetTexLevelParameter. First, query for the width actually used at level 0. (The width may not be equal to width since proxy textures might have scaled it to fit the implementation.) Then the maximum level can be derived from the formula log 2 width . Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater, and if the GLU version is 1.3 or greater. Errors GLU_INVALID_VALUE is returned if width is < 1. GLU_INVALID_ENUM is returned if format or type are not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmapLevels, gluBuild2DMipmapLevels, gluBuild2DMipmaps, gluBuild3DMipmapLevels, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glVertexPointer.xml0000664000175000017500000002731011453131434024402 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glVertexPointer 3G glVertexPointer define an array of vertex data C Specification void glVertexPointer GLint size GLenum type GLsizei stride const GLvoid * pointer Parameters size Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. type Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. Description glVertexPointer specifies the location and data format of an array of vertex coordinates to use when rendering. size specifies the number of coordinates per vertex, and must be 2, 3, or 4. type specifies the data type of each coordinate, and stride specifies the byte stride from one vertex to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.) If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a vertex array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as vertex array client-side state (GL_VERTEX_ARRAY_BUFFER_BINDING). When a vertex array is specified, size, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the vertex array, call glEnableClientState and glDisableClientState with the argument GL_VERTEX_ARRAY. If enabled, the vertex array is used when glArrayElement, glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, or glDrawRangeElements is called. Notes glVertexPointer is available only if the GL version is 1.1 or greater. The vertex array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glVertexPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glVertexPointer is typically implemented on the client side. Vertex array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_VALUE is generated if size is not 2, 3, or 4. GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_VERTEX_ARRAY glGet with argument GL_VERTEX_ARRAY_SIZE glGet with argument GL_VERTEX_ARRAY_TYPE glGet with argument GL_VERTEX_ARRAY_STRIDE glGet with argument GL_VERTEX_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_VERTEX_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertex, glVertexAttribPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glStencilMaskSeparate.xml0000664000175000017500000001365411453131434025474 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glStencilMaskSeparate 3G glStencilMaskSeparate control the front and/or back writing of individual bits in the stencil planes C Specification void glStencilMaskSeparate GLenum face GLuint mask Parameters face Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. mask Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. Description glStencilMaskSeparate controls the writing of individual bits in the stencil planes. The least significant n bits of mask, where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing. There can be two separate mask writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. glStencilMask sets both front and back stencil writemasks to the same values, as if glStencilMaskSeparate were called with face set to GL_FRONT_AND_BACK. Notes glStencilMaskSeparate is available only if the GL version is 2.0 or greater. Errors GL_INVALID_OPERATION is generated if glStencilMaskSeparate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_WRITEMASK, GL_STENCIL_BACK_WRITEMASK, or GL_STENCIL_BITS See Also glColorMask, glDepthMask, glIndexMask, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilOp, glStencilOpSeparate Copyright Copyright 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluQuadricOrientation.xml0000664000175000017500000001010011453131432025540 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluQuadricOrientation 3G gluQuadricOrientation specify inside/outside orientation for quadrics C Specification void gluQuadricOrientation GLUquadric* quad GLenum orientation Parameters quad Specifies the quadrics object (created with gluNewQuadric). orientation Specifies the desired orientation. Valid values are GLU_OUTSIDE and GLU_INSIDE. Description gluQuadricOrientation specifies what kind of orientation is desired for quadrics rendered with quad. The orientation values are as follows: GLU_OUTSIDE Quadrics are drawn with normals pointing outward (the initial value). GLU_INSIDE Quadrics are drawn with normals pointing inward. Note that the interpretation of outward and inward depends on the quadric being drawn. See Also gluNewQuadric, gluQuadricDrawStyle, gluQuadricNormals, gluQuadricTexture Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glConvolutionParameter.xml0000664000175000017500000003716311453131434025753 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glConvolutionParameter 3G glConvolutionParameter set convolution parameters C Specification void glConvolutionParameterf GLenum target GLenum pname GLfloat params void glConvolutionParameteri GLenum target GLenum pname GLint params Parameters target The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. pname The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. params The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. C Specification void glConvolutionParameterfv GLenum target GLenum pname const GLfloat * params void glConvolutionParameteriv GLenum target GLenum pname const GLint * params Parameters target The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. pname The parameter to be set. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, or GL_CONVOLUTION_FILTER_BIAS. params The parameter value. If pnamev is GL_CONVOLUTION_BORDER_MODE, paramsv must be one of GL_REDUCE, GL_CONSTANT_BORDER, or GL_REPLICATE_BORDER. Otherwise, must be a vector of four values (for red, green, blue, and alpha, respectively) to be used for scaling (when pnamev is GL_CONVOLUTION_FILTER_SCALE), or biasing (when pnamev is GL_CONVOLUTION_FILTER_BIAS) a convolution filter kernel or setting the constant border color (when pnamev is GL_CONVOLUTION_BORDER_COLOR. Description glConvolutionParameter sets the value of a convolution parameter. target selects the convolution filter to be affected: GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D for the 1D, 2D, or separable 2D filter, respectively. pname selects the parameter to be changed. GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS affect the definition of the convolution filter kernel; see glConvolutionFilter1D, glConvolutionFilter2D, and glSeparableFilter2D for details. In these cases, paramsv is an array of four values to be applied to red, green, blue, and alpha values, respectively. The initial value for GL_CONVOLUTION_FILTER_SCALE is (1, 1, 1, 1), and the initial value for GL_CONVOLUTION_FILTER_BIAS is (0, 0, 0, 0). A pname value of GL_CONVOLUTION_BORDER_MODE controls the convolution border mode. The accepted modes are: GL_REDUCE The image resulting from convolution is smaller than the source image. If the filter width is Wf and height is Hf, and the source image width is Ws and height is Hs, then the convolved image width will be Ws - Wf + 1 and height will be Hs - Hf + 1 . (If this reduction would generate an image with zero or negative width and/or height, the output is simply null, with no error generated.) The coordinates of the image resulting from convolution are zero through Ws - Wf in width and zero through Hs - Hf in height. GL_CONSTANT_BORDER The image resulting from convolution is the same size as the source image, and processed as if the source image were surrounded by pixels with their color specified by the GL_CONVOLUTION_BORDER_COLOR. GL_REPLICATE_BORDER The image resulting from convolution is the same size as the source image, and processed as if the outermost pixel on the border of the source image were replicated. Notes glConvolutionParameter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. In cases where errors can result from the specification of invalid image dimensions, it is the dimensions after convolution that are tested, not the dimensions of the source image. For example, glTexImage1D requires power-of-two image size. When GL_REDUCE border mode is in effect, the source image must be larger than the final power-of-two size by one less than the size of the 1D filter kernel. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if pname is not one of the allowable values. GL_INVALID_ENUM is generated if pname is GL_CONVOLUTION_BORDER_MODE and params is not one of GL_REDUCE, GL_CONSTANT_BORDER, or GL_REPLICATE_BORDER. GL_INVALID_OPERATION is generated if glConvolutionParameter is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter See Also glConvolutionFilter1D, glConvolutionFilter2D, glSeparableFilter2D, glGetConvolutionParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glRasterPos.xml0000664000175000017500000005366411453131434023521 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glRasterPos 3G glRasterPos specify the raster position for pixel operations C Specification void glRasterPos2s GLshort x GLshort y void glRasterPos2i GLint x GLint y void glRasterPos2f GLfloat x GLfloat y void glRasterPos2d GLdouble x GLdouble y void glRasterPos3s GLshort x GLshort y GLshort z void glRasterPos3i GLint x GLint y GLint z void glRasterPos3f GLfloat x GLfloat y GLfloat z void glRasterPos3d GLdouble x GLdouble y GLdouble z void glRasterPos4s GLshort x GLshort y GLshort z GLshort w void glRasterPos4i GLint x GLint y GLint z GLint w void glRasterPos4f GLfloat x GLfloat y GLfloat z GLfloat w void glRasterPos4d GLdouble x GLdouble y GLdouble z GLdouble w Parameters x y z w Specify the x, y, z, and w object coordinates (if present) for the raster position. C Specification void glRasterPos2sv const GLshort * v void glRasterPos2iv const GLint * v void glRasterPos2fv const GLfloat * v void glRasterPos2dv const GLdouble * v void glRasterPos3sv const GLshort * v void glRasterPos3iv const GLint * v void glRasterPos3fv const GLfloat * v void glRasterPos3dv const GLdouble * v void glRasterPos4sv const GLshort * v void glRasterPos4iv const GLint * v void glRasterPos4fv const GLfloat * v void glRasterPos4dv const GLdouble * v Parameters v Specifies a pointer to an array of two, three, or four elements, specifying x, y, z, and w coordinates, respectively. Description The GL maintains a 3D position in window coordinates. This position, called the raster position, is used to position pixel and bitmap write operations. It is maintained with subpixel accuracy. See glBitmap, glDrawPixels, and glCopyPixels. The current raster position consists of three window coordinates (x, y, z), a clip coordinate value (w), an eye coordinate distance, a valid bit, and associated color data and texture coordinates. The w coordinate is a clip coordinate, because w is not projected to window coordinates. glRasterPos4 specifies object coordinates x, y, z, and w explicitly. glRasterPos3 specifies object coordinate x, y, and z explicitly, while w is implicitly set to 1. glRasterPos2 uses the argument values for x and y while implicitly setting z and w to 0 and 1. The object coordinates presented by glRasterPos are treated just like those of a glVertex command: They are transformed by the current modelview and projection matrices and passed to the clipping stage. If the vertex is not culled, then it is projected and scaled to window coordinates, which become the new current raster position, and the GL_CURRENT_RASTER_POSITION_VALID flag is set. If the vertex is culled, then the valid bit is cleared and the current raster position and associated color and texture coordinates are undefined. The current raster position also includes some associated color data and texture coordinates. If lighting is enabled, then GL_CURRENT_RASTER_COLOR (in RGBA mode) or GL_CURRENT_RASTER_INDEX (in color index mode) is set to the color produced by the lighting calculation (see glLight, glLightModel, and glShadeModel). If lighting is disabled, current color (in RGBA mode, state variable GL_CURRENT_COLOR) or color index (in color index mode, state variable GL_CURRENT_INDEX) is used to update the current raster color. GL_CURRENT_RASTER_SECONDARY_COLOR (in RGBA mode) is likewise updated. Likewise, GL_CURRENT_RASTER_TEXTURE_COORDS is updated as a function of GL_CURRENT_TEXTURE_COORDS, based on the texture matrix and the texture generation functions (see glTexGen). Finally, the distance from the origin of the eye coordinate system to the vertex as transformed by only the modelview matrix replaces GL_CURRENT_RASTER_DISTANCE. Initially, the current raster position is (0, 0, 0, 1), the current raster distance is 0, the valid bit is set, the associated RGBA color is (1, 1, 1, 1), the associated color index is 1, and the associated texture coordinates are (0, 0, 0, 1). In RGBA mode, GL_CURRENT_RASTER_INDEX is always 1; in color index mode, the current raster RGBA color always maintains its initial value. Notes The raster position is modified by glRasterPos, glBitmap, and glWindowPos. When the raster position coordinates are invalid, drawing commands that are based on the raster position are ignored (that is, they do not result in changes to GL state). Calling glDrawElements or glDrawRangeElements may leave the current color or index indeterminate. If glRasterPos is executed while the current color or index is indeterminate, the current raster color or current raster index remains indeterminate. To set a valid raster position outside the viewport, first set a valid raster position, then call glBitmap with NULL as the bitmap parameter. When the ARB_imaging extension is supported, there are distinct raster texture coordinates for each texture unit. Each texture unit's current raster texture coordinates are updated by glRasterPos. Errors GL_INVALID_OPERATION is generated if glRasterPos is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_RASTER_POSITION glGet with argument GL_CURRENT_RASTER_POSITION_VALID glGet with argument GL_CURRENT_RASTER_DISTANCE glGet with argument GL_CURRENT_RASTER_COLOR glGet with argument GL_CURRENT_RASTER_SECONDARY_COLOR glGet with argument GL_CURRENT_RASTER_INDEX glGet with argument GL_CURRENT_RASTER_TEXTURE_COORDS See Also glBitmap, glCopyPixels, glDrawArrays, glDrawElements, glDrawRangeElements, glDrawPixels, glMultiTexCoord, glTexCoord, glTexGen, glVertex, glWindowPos Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glScissor.xml0000664000175000017500000001250611453131434023212 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glScissor 3G glScissor define the scissor box C Specification void glScissor GLint x GLint y GLsizei width GLsizei height Parameters x y Specify the lower left corner of the scissor box. Initially (0, 0). width height Specify the width and height of the scissor box. When a GL context is first attached to a window, width and height are set to the dimensions of that window. Description glScissor defines a rectangle, called the scissor box, in window coordinates. The first two arguments, x and y, specify the lower left corner of the box. width and height specify the width and height of the box. To enable and disable the scissor test, call glEnable and glDisable with argument GL_SCISSOR_TEST. The test is initially disabled. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. glScissor(0,0,1,1) allows modification of only the lower left pixel in the window, and glScissor(0,0,0,0) doesn't allow modification of any pixels in the window. When the scissor test is disabled, it is as though the scissor box includes the entire window. Errors GL_INVALID_VALUE is generated if either width or height is negative. GL_INVALID_OPERATION is generated if glScissor is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_SCISSOR_BOX glIsEnabled with argument GL_SCISSOR_TEST See Also glEnable, glViewport Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetTexImage.xml0000664000175000017500000004367611453131434023744 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetTexImage 3G glGetTexImage return a texture image C Specification void glGetTexImage GLenum target GLint level GLenum format GLenum type GLvoid * img Parameters target Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. level Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the nth mipmap reduction image. format Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. img Returns the texture image. Should be a pointer to an array of the type specified by type. Description glGetTexImage returns a texture image into img. target specifies whether the desired texture image is one specified by glTexImage1D (GL_TEXTURE_1D), glTexImage2D (GL_TEXTURE_2D or any of GL_TEXTURE_CUBE_MAP_*), or glTexImage3D (GL_TEXTURE_3D). level specifies the level-of-detail number of the desired image. format and type specify the format and type of the desired image array. See the reference pages glTexImage1D and glDrawPixels for a description of the acceptable values for the format and type parameters, respectively. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a texture image is requested, img is treated as a byte offset into the buffer object's data store. To understand the operation of glGetTexImage, consider the selected internal four-component texture image to be an RGBA color buffer the size of the image. The semantics of glGetTexImage are then identical to those of glReadPixels, with the exception that no pixel transfer operations are performed, when called with the same format and type, with x and y set to 0, width set to the width of the texture image (including border if one was specified), and height set to 1 for 1D images, or to the height of the texture image (including border if one was specified) for 2D images. Because the internal texture image is an RGBA image, pixel formats GL_COLOR_INDEX, GL_STENCIL_INDEX, and GL_DEPTH_COMPONENT are not accepted, and pixel type GL_BITMAP is not accepted. If the selected texture image does not contain four components, the following mappings are applied. Single-component textures are treated as RGBA buffers with red set to the single-component value, green set to 0, blue set to 0, and alpha set to 1. Two-component textures are treated as RGBA buffers with red set to the value of component zero, alpha set to the value of component one, and green and blue set to 0. Finally, three-component textures are treated as RGBA buffers with red set to component zero, green set to component one, blue set to component two, and alpha set to 1. To determine the required size of img, use glGetTexLevelParameter to determine the dimensions of the internal texture image, then scale the required number of pixels by the storage required for each pixel, based on format and type. Be sure to take the pixel storage parameters into account, especially GL_PACK_ALIGNMENT. Notes If an error is generated, no change is made to the contents of img. The types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV, and the formats GL_BGR, and GL_BGRA are available only if the GL version is 1.2 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexImage returns the texture image for the active texture unit. Errors GL_INVALID_ENUM is generated if target, format, or type is not an accepted value. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_OPERATION is returned if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is returned if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV, and format is neither GL_RGBA or GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and img is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetTexImage is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexLevelParameter with argument GL_TEXTURE_WIDTH glGetTexLevelParameter with argument GL_TEXTURE_HEIGHT glGetTexLevelParameter with argument GL_TEXTURE_BORDER glGetTexLevelParameter with argument GL_TEXTURE_INTERNAL_FORMAT glGet with arguments GL_PACK_ALIGNMENT and others glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glActiveTexture, glDrawPixels, glReadPixels, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLineStipple.xml0000664000175000017500000001765311453131434024025 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLineStipple 3G glLineStipple specify the line stipple pattern C Specification void glLineStipple GLint factor GLushort pattern Parameters factor Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. pattern Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. Description Line stippling masks out certain fragments produced by rasterization; those fragments will not be drawn. The masking is achieved by using three parameters: the 16-bit line stipple pattern pattern, the repeat count factor, and an integer stipple counter s. Counter s is reset to 0 whenever glBegin is called and before each line segment of a glBegin(GL_LINES)/glEnd sequence is generated. It is incremented after each fragment of a unit width aliased line segment is generated or after each i fragments of an i width line segment are generated. The i fragments associated with count s are masked out if pattern bit s factor % 16 is 0, otherwise these fragments are sent to the frame buffer. Bit zero of pattern is the least significant bit. Antialiased lines are treated as a sequence of 1 × width rectangles for purposes of stippling. Whether rectangle s is rasterized or not depends on the fragment rule described for aliased lines, counting rectangles rather than groups of fragments. To enable and disable line stippling, call glEnable and glDisable with argument GL_LINE_STIPPLE. When enabled, the line stipple pattern is applied as described above. When disabled, it is as if the pattern were all 1's. Initially, line stippling is disabled. Errors GL_INVALID_OPERATION is generated if glLineStipple is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_LINE_STIPPLE_PATTERN glGet with argument GL_LINE_STIPPLE_REPEAT glIsEnabled with argument GL_LINE_STIPPLE See Also glLineWidth, glPolygonStipple Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEvalPoint.xml0000664000175000017500000004115111453131434023464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEvalPoint 3G glEvalPoint generate and evaluate a single point in a mesh C Specification void glEvalPoint1 GLint i void glEvalPoint2 GLint i GLint j Parameters i Specifies the integer value for grid domain variable i. j Specifies the integer value for grid domain variable j (glEvalPoint2 only). Description glMapGrid and glEvalMesh are used in tandem to efficiently generate and evaluate a series of evenly spaced map domain values. glEvalPoint can be used to evaluate a single grid point in the same gridspace that is traversed by glEvalMesh. Calling glEvalPoint1 is equivalent to calling glEvalCoord1( i · Δ u + u 1 ); where Δ u = u 2 - u 1 n and n, u 1 , and u 2 are the arguments to the most recent glMapGrid1 command. The one absolute numeric requirement is that if i = n , then the value computed from i · Δ u + u 1 is exactly u 2 . In the two-dimensional case, glEvalPoint2, let Δ u = u 2 - u 1 n Δ v = v 2 - v 1 m where n, u 1 , u 2 , m, v 1 , and v 2 are the arguments to the most recent glMapGrid2 command. Then the glEvalPoint2 command is equivalent to calling glEvalCoord2( i · Δ u + u 1 , j · Δ v + v 1 ); The only absolute numeric requirements are that if i = n , then the value computed from i · Δ u + u 1 is exactly u 2 , and if j = m , then the value computed from j · Δ v + v 1 is exactly v 2 . Associated Gets glGet with argument GL_MAP1_GRID_DOMAIN glGet with argument GL_MAP2_GRID_DOMAIN glGet with argument GL_MAP1_GRID_SEGMENTS glGet with argument GL_MAP2_GRID_SEGMENTS See Also glEvalCoord, glEvalMesh, glMap1, glMap2, glMapGrid Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetTexEnv.xml0000664000175000017500000004406711453131434023445 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetTexEnv 3G glGetTexEnv return texture environment parameters C Specification void glGetTexEnvfv GLenum target GLenum pname GLfloat * params void glGetTexEnviv GLenum target GLenum pname GLint * params Parameters target Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. pname Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. params Returns the requested data. Description glGetTexEnv returns in params selected values of a texture environment that was specified with glTexEnv. target specifies a texture environment. When target is GL_TEXTURE_FILTER_CONTROL, pname must be GL_TEXTURE_LOD_BIAS. When target is GL_POINT_SPRITE, pname must be GL_COORD_REPLACE. When target is GL_TEXTURE_ENV, pname can be GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, or GL_SRC2_ALPHA. pname names a specific texture environment parameter, as follows: GL_TEXTURE_ENV_MODE params returns the single-valued texture environment mode, a symbolic constant. The initial value is GL_MODULATE. GL_TEXTURE_ENV_COLOR params returns four integer or floating-point values that are the texture environment color. Integer values, when requested, are linearly mapped from the internal floating-point representation such that 1.0 maps to the most positive representable integer, and -1.0 maps to the most negative representable integer. The initial value is (0, 0, 0, 0). GL_TEXTURE_LOD_BIAS params returns a single floating-point value that is the texture level-of-detail bias. The initial value is 0. GL_COMBINE_RGB params returns a single symbolic constant value representing the current RGB combine mode. The initial value is GL_MODULATE. GL_COMBINE_ALPHA params returns a single symbolic constant value representing the current alpha combine mode. The initial value is GL_MODULATE. GL_SRC0_RGB params returns a single symbolic constant value representing the texture combiner zero's RGB source. The initial value is GL_TEXTURE. GL_SRC1_RGB params returns a single symbolic constant value representing the texture combiner one's RGB source. The initial value is GL_PREVIOUS. GL_SRC2_RGB params returns a single symbolic constant value representing the texture combiner two's RGB source. The initial value is GL_CONSTANT. GL_SRC0_ALPHA params returns a single symbolic constant value representing the texture combiner zero's alpha source. The initial value is GL_TEXTURE. GL_SRC1_ALPHA params returns a single symbolic constant value representing the texture combiner one's alpha source. The initial value is GL_PREVIOUS. GL_SRC2_ALPHA params returns a single symbolic constant value representing the texture combiner two's alpha source. The initial value is GL_CONSTANT. GL_OPERAND0_RGB params returns a single symbolic constant value representing the texture combiner zero's RGB operand. The initial value is GL_SRC_COLOR. GL_OPERAND1_RGB params returns a single symbolic constant value representing the texture combiner one's RGB operand. The initial value is GL_SRC_COLOR. GL_OPERAND2_RGB params returns a single symbolic constant value representing the texture combiner two's RGB operand. The initial value is GL_SRC_ALPHA. GL_OPERAND0_ALPHA params returns a single symbolic constant value representing the texture combiner zero's alpha operand. The initial value is GL_SRC_ALPHA. GL_OPERAND1_ALPHA params returns a single symbolic constant value representing the texture combiner one's alpha operand. The initial value is GL_SRC_ALPHA. GL_OPERAND2_ALPHA params returns a single symbolic constant value representing the texture combiner two's alpha operand. The initial value is GL_SRC_ALPHA. GL_RGB_SCALE params returns a single floating-point value representing the current RGB texture combiner scaling factor. The initial value is 1.0. GL_ALPHA_SCALE params returns a single floating-point value representing the current alpha texture combiner scaling factor. The initial value is 1.0. GL_COORD_REPLACE params returns a single boolean value representing the current point sprite texture coordinate replacement enable state. The initial value is GL_FALSE. Notes If an error is generated, no change is made to the contents of params. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexEnv returns the texture environment parameters for the active texture unit. GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, and GL_ALPHA_SCALE are available only if the GL version is 1.3 or greater. GL_TEXTURE_FILTER_CONTROL and GL_TEXTURE_LOD_BIAS are available only if the GL version is 1.4 or greater. GL_POINT_SPRITE and GL_COORD_REPLACE are available only if the GL version is 2.0 or greater. Errors GL_INVALID_ENUM is generated if target or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetTexEnv is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glActiveTexture, glTexEnv Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetError.xml0000664000175000017500000001762311453131434023323 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetError 3G glGetError return error information C Specification GLenum glGetError void Description glGetError returns the value of the error flag. Each detectable error is assigned a numeric code and symbolic name. When an error occurs, the error flag is set to the appropriate error code value. No other errors are recorded until glGetError is called, the error code is returned, and the flag is reset to GL_NO_ERROR. If a call to glGetError returns GL_NO_ERROR, there has been no detectable error since the last call to glGetError, or since the GL was initialized. To allow for distributed implementations, there may be several error flags. If any single error flag has recorded an error, the value of that flag is returned and that flag is reset to GL_NO_ERROR when glGetError is called. If more than one flag has recorded an error, glGetError returns and clears an arbitrary error flag value. Thus, glGetError should always be called in a loop, until it returns GL_NO_ERROR, if all error flags are to be reset. Initially, all error flags are set to GL_NO_ERROR. The following errors are currently defined: GL_NO_ERROR No error has been recorded. The value of this symbolic constant is guaranteed to be 0. GL_INVALID_ENUM An unacceptable value is specified for an enumerated argument. The offending command is ignored and has no other side effect than to set the error flag. GL_INVALID_VALUE A numeric argument is out of range. The offending command is ignored and has no other side effect than to set the error flag. GL_INVALID_OPERATION The specified operation is not allowed in the current state. The offending command is ignored and has no other side effect than to set the error flag. GL_STACK_OVERFLOW This command would cause a stack overflow. The offending command is ignored and has no other side effect than to set the error flag. GL_STACK_UNDERFLOW This command would cause a stack underflow. The offending command is ignored and has no other side effect than to set the error flag. GL_OUT_OF_MEMORY There is not enough memory left to execute the command. The state of the GL is undefined, except for the state of the error flags, after this error is recorded. GL_TABLE_TOO_LARGE The specified table exceeds the implementation's maximum supported table size. The offending command is ignored and has no other side effect than to set the error flag. When an error flag is set, results of a GL operation are undefined only if GL_OUT_OF_MEMORY has occurred. In all other cases, the command generating the error is ignored and has no effect on the GL state or frame buffer contents. If the generating command returns a value, it returns 0. If glGetError itself generates an error, it returns 0. Notes GL_TABLE_TOO_LARGE was introduced in GL version 1.2. Errors GL_INVALID_OPERATION is generated if glGetError is executed between the execution of glBegin and the corresponding execution of glEnd. In this case, glGetError returns 0. Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetShaderSource.xml0000664000175000017500000001210511453131434024607 0ustar laneylaney glGetShaderSource 3G glGetShaderSource Returns the source code string from a shader object C Specification void glGetShaderSource GLuint shader GLsizei bufSize GLsizei *length GLchar *source Parameters shader Specifies the shader object to be queried. bufSize Specifies the size of the character buffer for storing the returned source code string. length Returns the length of the string returned in source (excluding the null terminator). source Specifies an array of characters that is used to return the source code string. Description glGetShaderSource returns the concatenation of the source code strings from the shader object specified by shader. The source code strings for a shader object are the result of a previous call to glShaderSource. The string returned by the function will be null terminated. glGetShaderSource returns in source as much of the source code string as it can, up to a maximum of bufSize characters. The number of characters actually returned, excluding the null termination character, is specified by length. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The size of the buffer required to store the returned source code string can be obtained by calling glGetShader with the value GL_SHADER_SOURCE_LENGTH. Notes glGetShaderSource is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_VALUE is generated if bufSize is less than 0. GL_INVALID_OPERATION is generated if glGetShaderSource is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShader with argument GL_SHADER_SOURCE_LENGTH glIsShader See Also glCreateShader, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glAlphaFunc.xml0000664000175000017500000002254611453131434023433 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glAlphaFunc 3G glAlphaFunc specify the alpha test function C Specification void glAlphaFunc GLenum func GLclampf ref Parameters func Specifies the alpha comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_ALWAYS. ref Specifies the reference value that incoming alpha values are compared to. This value is clamped to the range 0 1 , where 0 represents the lowest possible alpha value and 1 the highest possible value. The initial reference value is 0. Description The alpha test discards fragments depending on the outcome of a comparison between an incoming fragment's alpha value and a constant reference value. glAlphaFunc specifies the reference value and the comparison function. The comparison is performed only if alpha testing is enabled. By default, it is not enabled. (See glEnable and glDisable of GL_ALPHA_TEST.) func and ref specify the conditions under which the pixel is drawn. The incoming alpha value is compared to ref using the function specified by func. If the value passes the comparison, the incoming fragment is drawn if it also passes subsequent stencil and depth buffer tests. If the value fails the comparison, no change is made to the frame buffer at that pixel location. The comparison functions are as follows: GL_NEVER Never passes. GL_LESS Passes if the incoming alpha value is less than the reference value. GL_EQUAL Passes if the incoming alpha value is equal to the reference value. GL_LEQUAL Passes if the incoming alpha value is less than or equal to the reference value. GL_GREATER Passes if the incoming alpha value is greater than the reference value. GL_NOTEQUAL Passes if the incoming alpha value is not equal to the reference value. GL_GEQUAL Passes if the incoming alpha value is greater than or equal to the reference value. GL_ALWAYS Always passes (initial value). glAlphaFunc operates on all pixel write operations, including those resulting from the scan conversion of points, lines, polygons, and bitmaps, and from pixel draw and copy operations. glAlphaFunc does not affect screen clear operations. Notes Alpha testing is performed only in RGBA mode. Errors GL_INVALID_ENUM is generated if func is not an accepted value. GL_INVALID_OPERATION is generated if glAlphaFunc is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ALPHA_TEST_FUNC glGet with argument GL_ALPHA_TEST_REF glIsEnabled with argument GL_ALPHA_TEST See Also glBlendFunc, glClear, glDepthFunc, glEnable, glStencilFunc Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluPerspective.xml0000664000175000017500000003215711453131434024247 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluPerspective 3G gluPerspective set up a perspective projection matrix C Specification void gluPerspective GLdouble fovy GLdouble aspect GLdouble zNear GLdouble zFar Parameters fovy Specifies the field of view angle, in degrees, in the y direction. aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). zNear Specifies the distance from the viewer to the near clipping plane (always positive). zFar Specifies the distance from the viewer to the far clipping plane (always positive). Description gluPerspective specifies a viewing frustum into the world coordinate system. In general, the aspect ratio in gluPerspective should match the aspect ratio of the associated viewport. For example, aspect = 2.0 means the viewer's angle of view is twice as wide in x as it is in y. If the viewport is twice as wide as it is tall, it displays the image without distortion. The matrix generated by gluPerspective is multipled by the current matrix, just as if glMultMatrix were called with the generated matrix. To load the perspective matrix onto the current matrix stack instead, precede the call to gluPerspective with a call to glLoadIdentity. Given f defined as follows: f = cotangent fovy 2 The generated matrix is f aspect 0 0 0 0 f 0 0 0 0 zFar + zNear zNear - zFar 2 × zFar × zNear zNear - zFar 0 0 -1 0 Notes Depth buffer precision is affected by the values specified for zNear and zFar. The greater the ratio of zFar to zNear is, the less effective the depth buffer will be at distinguishing between surfaces that are near each other. If r = zFar zNear roughly log 2 r bits of depth buffer precision are lost. Because r approaches infinity as zNear approaches 0, zNear must never be set to 0. See Also gluOrtho2D, glFrustum, glLoadIdentity, glMultMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetCurrentDrawable.xml0000664000175000017500000000500011453131434025430 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetCurrentDrawable 3G glXGetCurrentDrawable return the current drawable C Specification GLXDrawable glXGetCurrentDrawable Description glXGetCurrentDrawable returns the current drawable, as specified by glXMakeCurrent. If there is no current drawable, None is returned. glXGetCurrentDrawable returns client-side information. It does not make a round trip to the server. See Also glXCreateGLXPixmap, glXGetCurrentContext, glXGetCurrentDisplay, glXGetCurrentReadDrawable, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetColorTableParameter.xml0000664000175000017500000002733711453131434026124 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetColorTableParameter 3G glGetColorTableParameter get color lookup table parameters C Specification void glGetColorTableParameterfv GLenum target GLenum pname GLfloat * params void glGetColorTableParameteriv GLenum target GLenum pname GLint * params Parameters target The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. pname The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. params A pointer to an array where the values of the parameter will be stored. Description Returns parameters specific to color table target. When pname is set to GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS, glGetColorTableParameter returns the color table scale or bias parameters for the table specified by target. For these queries, target must be set to GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE and params points to an array of four elements, which receive the scale or bias factors for red, green, blue, and alpha, in that order. glGetColorTableParameter can also be used to retrieve the format and size parameters for a color table. For these queries, set target to either the color table target or the proxy color table target. The format and size parameters are set by glColorTable. The following table lists the format and size parameters that may be queried. For each symbolic constant listed below for pname, params must point to an array of the given length and receive the values indicated. Parameter N Meaning GL_COLOR_TABLE_FORMAT 1 Internal format (e.g., GL_RGBA) GL_COLOR_TABLE_WIDTH 1 Number of elements in table GL_COLOR_TABLE_RED_SIZE 1 Size of red component, in bits GL_COLOR_TABLE_GREEN_SIZE 1 Size of green component GL_COLOR_TABLE_BLUE_SIZE 1 Size of blue component GL_COLOR_TABLE_ALPHA_SIZE 1 Size of alpha component GL_COLOR_TABLE_LUMINANCE_SIZE 1 Size of luminance component GL_COLOR_TABLE_INTENSITY_SIZE 1 Size of intensity component Notes glGetColorTableParameter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target or pname is not an acceptable value. GL_INVALID_OPERATION is generated if glGetColorTableParameter is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glColorTable, glTexParameter, glColorTableParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glColor.xml0000664000175000017500000004303311453131434022642 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glColor 3G glColor set the current color C Specification void glColor3b GLbyte red GLbyte green GLbyte blue void glColor3s GLshort red GLshort green GLshort blue void glColor3i GLint red GLint green GLint blue void glColor3f GLfloat red GLfloat green GLfloat blue void glColor3d GLdouble red GLdouble green GLdouble blue void glColor3ub GLubyte red GLubyte green GLubyte blue void glColor3us GLushort red GLushort green GLushort blue void glColor3ui GLuint red GLuint green GLuint blue void glColor4b GLbyte red GLbyte green GLbyte blue GLbyte alpha void glColor4s GLshort red GLshort green GLshort blue GLshort alpha void glColor4i GLint red GLint green GLint blue GLint alpha void glColor4f GLfloat red GLfloat green GLfloat blue GLfloat alpha void glColor4d GLdouble red GLdouble green GLdouble blue GLdouble alpha void glColor4ub GLubyte red GLubyte green GLubyte blue GLubyte alpha void glColor4us GLushort red GLushort green GLushort blue GLushort alpha void glColor4ui GLuint red GLuint green GLuint blue GLuint alpha Parameters red green blue Specify new red, green, and blue values for the current color. alpha Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. C Specification void glColor3bv const GLbyte * v void glColor3sv const GLshort * v void glColor3iv const GLint * v void glColor3fv const GLfloat * v void glColor3dv const GLdouble * v void glColor3ubv const GLubyte * v void glColor3usv const GLushort * v void glColor3uiv const GLuint * v void glColor4bv const GLbyte * v void glColor4sv const GLshort * v void glColor4iv const GLint * v void glColor4fv const GLfloat * v void glColor4dv const GLdouble * v void glColor4ubv const GLubyte * v void glColor4usv const GLushort * v void glColor4uiv const GLuint * v Parameters v Specifies a pointer to an array that contains red, green, blue, and (sometimes) alpha values. Description The GL stores both a current single-valued color index and a current four-valued RGBA color. glColor sets a new four-valued RGBA color. glColor has two major variants: glColor3 and glColor4. glColor3 variants specify new red, green, and blue values explicitly and set the current alpha value to 1.0 (full intensity) implicitly. glColor4 variants specify all four color components explicitly. glColor3b, glColor4b, glColor3s, glColor4s, glColor3i, and glColor4i take three or four signed byte, short, or long integers as arguments. When v is appended to the name, the color commands can take a pointer to an array of such values. Current color values are stored in floating-point format, with unspecified mantissa and exponent sizes. Unsigned integer color components, when specified, are linearly mapped to floating-point values such that the largest representable value maps to 1.0 (full intensity), and 0 maps to 0.0 (zero intensity). Signed integer color components, when specified, are linearly mapped to floating-point values such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . (Note that this mapping does not convert 0 precisely to 0.0.) Floating-point values are mapped directly. Neither floating-point nor signed integer values are clamped to the range 0 1 before the current color is updated. However, color components are clamped to this range before they are interpolated or written into a color buffer. Notes The initial value for the current color is (1, 1, 1, 1). The current color can be updated at any time. In particular, glColor can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_CURRENT_COLOR glGet with argument GL_RGBA_MODE See Also glColorPointer, glIndex, glSecondaryColor Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glArrayElement.xml0000664000175000017500000001425411453131434024157 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glArrayElement 3G glArrayElement render a vertex using the specified vertex array element C Specification void glArrayElement GLint i Parameters i Specifies an index into the enabled vertex data arrays. Description glArrayElement commands are used within glBegin/glEnd pairs to specify vertex and attribute data for point, line, and polygon primitives. If GL_VERTEX_ARRAY is enabled when glArrayElement is called, a single vertex is drawn, using vertex and attribute data taken from location i of the enabled arrays. If GL_VERTEX_ARRAY is not enabled, no drawing occurs but the attributes corresponding to the enabled arrays are modified. Use glArrayElement to construct primitives by indexing vertex data, rather than by streaming through arrays of data in first-to-last order. Because each call specifies only a single vertex, it is possible to explicitly specify per-primitive attributes such as a single normal for each triangle. Changes made to array data between the execution of glBegin and the corresponding execution of glEnd may affect calls to glArrayElement that are made within the same glBegin/glEnd period in nonsequential ways. That is, a call to glArrayElement that precedes a change to array data may access the changed data, and a call that follows a change to array data may access original data. Notes glArrayElement is available only if the GL version is 1.1 or greater. glArrayElement is included in display lists. If glArrayElement is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors GL_INVALID_VALUE may be generated if i is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped. See Also glClientActiveTexture, glColorPointer, glDrawArrays, glEdgeFlagPointer, glFogCoordPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMap2.xml0000664000175000017500000014664711453131434022402 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMap2 3G glMap2 define a two-dimensional evaluator C Specification void glMap2f GLenum target GLfloat u1 GLfloat u2 GLint ustride GLint uorder GLfloat v1 GLfloat v2 GLint vstride GLint vorder const GLfloat * points void glMap2d GLenum target GLdouble u1 GLdouble u2 GLint ustride GLint uorder GLdouble v1 GLdouble v2 GLint vstride GLint vorder const GLdouble * points Parameters target Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. u1 u2 Specify a linear mapping of u, as presented to glEvalCoord2, to u^ , one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. ustride Specifies the number of floats or doubles between the beginning of control point R ij and the beginning of control point R i + 1 j , where i and j are the u and v control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. uorder Specifies the dimension of the control point array in the u axis. Must be positive. The initial value is 1. v1 v2 Specify a linear mapping of v, as presented to glEvalCoord2, to v^ , one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. vstride Specifies the number of floats or doubles between the beginning of control point R ij and the beginning of control point R i j + 1 , where i and j are the u and v control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. vorder Specifies the dimension of the control point array in the v axis. Must be positive. The initial value is 1. points Specifies a pointer to the array of control points. Description Evaluators provide a way to use polynomial or rational polynomial mapping to produce vertices, normals, texture coordinates, and colors. The values produced by an evaluator are sent on to further stages of GL processing just as if they had been presented using glVertex, glNormal, glTexCoord, and glColor commands, except that the generated values do not update the current normal, texture coordinates, or color. All polynomial or rational polynomial splines of any degree (up to the maximum degree supported by the GL implementation) can be described using evaluators. These include almost all surfaces used in computer graphics, including B-spline surfaces, NURBS surfaces, Bezier surfaces, and so on. Evaluators define surfaces based on bivariate Bernstein polynomials. Define p u^ v^ as p u^ v^ = Σ i = 0 n Σ j = 0 m B i n u^ B j m v^ R ij where R ij is a control point, B i n u^ is the ith Bernstein polynomial of degree n (uorder = n + 1 ) B i n u^ = n i u^ i 1 - u^ n - i and B j m v^ is the jth Bernstein polynomial of degree m (vorder = m + 1 ) B j m v^ = m j v^ j 1 - v^ m - j Recall that 0 0 == 1 and n 0 == 1 glMap2 is used to define the basis and to specify what kind of values are produced. Once defined, a map can be enabled and disabled by calling glEnable and glDisable with the map name, one of the nine predefined values for target, described below. When glEvalCoord2 presents values u and v, the bivariate Bernstein polynomials are evaluated using u^ and v^ , where u^ = u - u1 u2 - u1 v^ = v - v1 v2 - v1 target is a symbolic constant that indicates what kind of control points are provided in points, and what output is generated when the map is evaluated. It can assume one of nine predefined values: GL_MAP2_VERTEX_3 Each control point is three floating-point values representing x, y, and z. Internal glVertex3 commands are generated when the map is evaluated. GL_MAP2_VERTEX_4 Each control point is four floating-point values representing x, y, z, and w. Internal glVertex4 commands are generated when the map is evaluated. GL_MAP2_INDEX Each control point is a single floating-point value representing a color index. Internal glIndex commands are generated when the map is evaluated but the current index is not updated with the value of these glIndex commands. GL_MAP2_COLOR_4 Each control point is four floating-point values representing red, green, blue, and alpha. Internal glColor4 commands are generated when the map is evaluated but the current color is not updated with the value of these glColor4 commands. GL_MAP2_NORMAL Each control point is three floating-point values representing the x, y, and z components of a normal vector. Internal glNormal commands are generated when the map is evaluated but the current normal is not updated with the value of these glNormal commands. GL_MAP2_TEXTURE_COORD_1 Each control point is a single floating-point value representing the s texture coordinate. Internal glTexCoord1 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP2_TEXTURE_COORD_2 Each control point is two floating-point values representing the s and t texture coordinates. Internal glTexCoord2 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP2_TEXTURE_COORD_3 Each control point is three floating-point values representing the s, t, and r texture coordinates. Internal glTexCoord3 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. GL_MAP2_TEXTURE_COORD_4 Each control point is four floating-point values representing the s, t, r, and q texture coordinates. Internal glTexCoord4 commands are generated when the map is evaluated but the current texture coordinates are not updated with the value of these glTexCoord commands. ustride, uorder, vstride, vorder, and points define the array addressing for accessing the control points. points is the location of the first control point, which occupies one, two, three, or four contiguous memory locations, depending on which map is being defined. There are uorder × vorder control points in the array. ustride specifies how many float or double locations are skipped to advance the internal memory pointer from control point R i j to control point R i + 1 j . vstride specifies how many float or double locations are skipped to advance the internal memory pointer from control point R i j to control point R i j + 1 . Notes As is the case with all GL commands that accept pointers to data, it is as if the contents of points were copied by glMap2 before glMap2 returns. Changes to the contents of points have no effect after glMap2 is called. Initially, GL_AUTO_NORMAL is enabled. If GL_AUTO_NORMAL is enabled, normal vectors are generated when either GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4 is used to generate vertices. Errors GL_INVALID_ENUM is generated if target is not an accepted value. GL_INVALID_VALUE is generated if u1 is equal to u2, or if v1 is equal to v2. GL_INVALID_VALUE is generated if either ustride or vstride is less than the number of values in a control point. GL_INVALID_VALUE is generated if either uorder or vorder is less than 1 or greater than the return value of GL_MAX_EVAL_ORDER. GL_INVALID_OPERATION is generated if glMap2 is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if glMap2 is called and the value of GL_ACTIVE_TEXTURE is not GL_TEXTURE0. Associated Gets glGetMap glGet with argument GL_MAX_EVAL_ORDER glIsEnabled with argument GL_MAP2_VERTEX_3 glIsEnabled with argument GL_MAP2_VERTEX_4 glIsEnabled with argument GL_MAP2_INDEX glIsEnabled with argument GL_MAP2_COLOR_4 glIsEnabled with argument GL_MAP2_NORMAL glIsEnabled with argument GL_MAP2_TEXTURE_COORD_1 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_2 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_3 glIsEnabled with argument GL_MAP2_TEXTURE_COORD_4 See Also glBegin, glColor, glEnable, glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMapGrid, glNormal, glTexCoord, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessVertex.xml0000664000175000017500000001514411453131434024067 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessVertex 3G gluTessVertex specify a vertex on a polygon C Specification void gluTessVertex GLUtesselator* tess GLdouble * location GLvoid* data Parameters tess Specifies the tessellation object (created with gluNewTess). location Specifies the location of the vertex. data Specifies an opaque pointer passed back to the program with the vertex callback (as specified by gluTessCallback). Description gluTessVertex describes a vertex on a polygon that the program defines. Successive gluTessVertex calls describe a closed contour. For example, to describe a quadrilateral, gluTessVertex should be called four times. gluTessVertex can only be called between gluTessBeginContour and gluTessEndContour. data normally points to a structure containing the vertex location, as well as other per-vertex attributes such as color and normal. This pointer is passed back to the user through the GLU_TESS_VERTEX or GLU_TESS_VERTEX_DATA callback after tessellation (see the gluTessCallback reference page). Example A quadrilateral with a triangular hole in it can be described as follows: gluTessBeginPolygon(tobj, NULL); gluTessBeginContour(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluTessEndContour(tobj); gluTessBeginContour(tobj); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluTessEndContour(tobj); gluTessEndPolygon(tobj); Notes It is a common error to use a local variable for location or data and store values into it as part of a loop. For example: for (i = 0; i < NVERTICES; ++i) { GLdouble data[3]; data[0] = vertex[i][0]; data[1] = vertex[i][1]; data[2] = vertex[i][2]; gluTessVertex(tobj, data, data); } This doesn't work. Because the pointers specified by location and data might not be dereferenced until gluTessEndPolygon is executed, all the vertex coordinates but the very last set could be overwritten before tessellation begins. Two common symptoms of this problem are when the data consists of a single point (when a local variable is used for data) and a GLU_TESS_NEED_COMBINE_CALLBACK error (when a local variable is used for location). See Also gluNewTess, gluTessBeginContour, gluTessBeginPolygon, gluTessCallback, gluTessEndPolygon, gluTessNormal, gluTessProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawElements.xml0000664000175000017500000002036111453131434024155 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDrawElements 3G glDrawElements render primitives from array data C Specification void glDrawElements GLenum mode GLsizei count GLenum type const GLvoid * indices Parameters mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. count Specifies the number of elements to be rendered. type Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. indices Specifies a pointer to the location where the indices are stored. Description glDrawElements specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and so on, and use them to construct a sequence of primitives with a single call to glDrawElements. When glDrawElements is called, it uses count sequential elements from an enabled array, starting at indices to construct a sequence of geometric primitives. mode specifies what kind of primitives are constructed and how the array elements construct these primitives. If more than one array is enabled, each is used. If GL_VERTEX_ARRAY is not enabled, no geometric primitives are constructed. Vertex attributes that are modified by glDrawElements have an unspecified value after glDrawElements returns. For example, if GL_COLOR_ARRAY is enabled, the value of the current color is undefined after glDrawElements executes. Attributes that aren't modified maintain their previous values. Notes glDrawElements is available only if the GL version is 1.1 or greater. glDrawElements is included in display lists. If glDrawElements is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if count is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array or the element array and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if glDrawElements is executed between the execution of glBegin and the corresponding glEnd. See Also glArrayElement, glColorPointer, glDrawArrays, glDrawRangeElements, glEdgeFlagPointer, glFogCoordPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawRangeElements.xml0000664000175000017500000003017311453131434025134 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDrawRangeElements 3G glDrawRangeElements render primitives from array data C Specification void glDrawRangeElements GLenum mode GLuint start GLuint end GLsizei count GLenum type const GLvoid * indices Parameters mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. start Specifies the minimum array index contained in indices. end Specifies the maximum array index contained in indices. count Specifies the number of elements to be rendered. type Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. indices Specifies a pointer to the location where the indices are stored. Description glDrawRangeElements is a restricted form of glDrawElements. mode, start, end, and count match the corresponding arguments to glDrawElements, with the additional constraint that all values in the arrays count must lie between start and end, inclusive. Implementations denote recommended maximum amounts of vertex and index data, which may be queried by calling glGet with argument GL_MAX_ELEMENTS_VERTICES and GL_MAX_ELEMENTS_INDICES. If end - start + 1 is greater than the value of GL_MAX_ELEMENTS_VERTICES, or if count is greater than the value of GL_MAX_ELEMENTS_INDICES, then the call may operate at reduced performance. There is no requirement that all vertices in the range start end be referenced. However, the implementation may partially process unused vertices, reducing performance from what could be achieved with an optimal index set. When glDrawRangeElements is called, it uses count sequential elements from an enabled array, starting at start to construct a sequence of geometric primitives. mode specifies what kind of primitives are constructed, and how the array elements construct these primitives. If more than one array is enabled, each is used. If GL_VERTEX_ARRAY is not enabled, no geometric primitives are constructed. Vertex attributes that are modified by glDrawRangeElements have an unspecified value after glDrawRangeElements returns. For example, if GL_COLOR_ARRAY is enabled, the value of the current color is undefined after glDrawRangeElements executes. Attributes that aren't modified maintain their previous values. Notes glDrawRangeElements is available only if the GL version is 1.2 or greater. glDrawRangeElements is included in display lists. If glDrawRangeElements is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors It is an error for indices to lie outside the range start end , but implementations may not check for this situation. Such indices cause implementation-dependent behavior. GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if count is negative. GL_INVALID_VALUE is generated if end < start . GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array or the element array and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if glDrawRangeElements is executed between the execution of glBegin and the corresponding glEnd. Associated Gets glGet with argument GL_MAX_ELEMENTS_VERTICES glGet with argument GL_MAX_ELEMENTS_INDICES See Also glArrayElement, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGenLists.xml0000664000175000017500000001130411453131434023310 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGenLists 3G glGenLists generate a contiguous set of empty display lists C Specification GLuint glGenLists GLsizei range Parameters range Specifies the number of contiguous empty display lists to be generated. Description glGenLists has one argument, range. It returns an integer n such that range contiguous empty display lists, named n, n + 1 , ... , n + range - 1 , are created. If range is 0, if there is no group of range contiguous names available, or if any error is generated, no display lists are generated, and 0 is returned. Errors GL_INVALID_VALUE is generated if range is negative. GL_INVALID_OPERATION is generated if glGenLists is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsList See Also glCallList, glCallLists, glDeleteLists, glNewList Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBindAttribLocation.xml0000664000175000017500000002222311453131432025273 0ustar laneylaney glBindAttribLocation 3G glBindAttribLocation Associates a generic vertex attribute index with a named attribute variable C Specification void glBindAttribLocation GLuint program GLuint index const GLchar *name Parameters program Specifies the handle of the program object in which the association is to be made. index Specifies the index of the generic vertex attribute to be bound. name Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. Description glBindAttribLocation is used to associate a user-defined attribute variable in the program object specified by program with a generic vertex attribute index. The name of the user-defined attribute variable is passed as a null terminated string in name. The generic vertex attribute index to be bound to this variable is specified by index. When program is made part of current state, values provided via the generic vertex attribute index will modify the value of the user-defined attribute variable specified by name. If name refers to a matrix attribute variable, index refers to the first column of the matrix. Other matrix columns are then automatically bound to locations index+1 for a matrix of type mat2; index+1 and index+2 for a matrix of type mat3; and index+1, index+2, and index+3 for a matrix of type mat4. This command makes it possible for vertex shaders to use descriptive names for attribute variables rather than generic variables that are numbered from 0 to GL_MAX_VERTEX_ATTRIBS -1. The values sent to each generic attribute index are part of current state, just like standard vertex attributes such as color, normal, and vertex position. If a different program object is made current by calling glUseProgram, the generic vertex attributes are tracked in such a way that the same values will be observed by attributes in the new program object that are also bound to index. Attribute variable name-to-generic attribute index bindings for a program object can be explicitly assigned at any time by calling glBindAttribLocation. Attribute bindings do not go into effect until glLinkProgram is called. After a program object has been linked successfully, the index values for generic attributes remain fixed (and their values can be queried) until the next link command occurs. Applications are not allowed to bind any of the standard OpenGL vertex attributes using this command, as they are bound automatically when needed. Any attribute binding that occurs after the program object has been linked will not take effect until the next time the program object is linked. Notes glBindAttribLocation is available only if the GL version is 2.0 or greater. glBindAttribLocation can be called before any vertex shader objects are bound to the specified program object. It is also permissible to bind a generic attribute index to an attribute variable name that is never used in a vertex shader. If name was bound previously, that information is lost. Thus you cannot bind one user-defined attribute variable to multiple indices, but you can bind multiple user-defined attribute variables to the same index. Applications are allowed to bind more than one user-defined attribute variable to the same generic vertex attribute index. This is called aliasing, and it is allowed only if just one of the aliased attributes is active in the executable program, or if no path through the shader consumes more than one attribute of a set of attributes aliased to the same location. The compiler and linker are allowed to assume that no aliasing is done and are free to employ optimizations that work only in the absence of aliasing. OpenGL implementations are not required to do error checking to detect aliasing. Because there is no way to bind standard attributes, it is not possible to alias generic attributes with conventional ones (except for generic attribute 0). Active attributes that are not explicitly bound will be bound by the linker when glLinkProgram is called. The locations assigned can be queried by calling glGetAttribLocation. OpenGL copies the name string when glBindAttribLocation is called, so an application may free its copy of the name string immediately after the function returns. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_INVALID_OPERATION is generated if name starts with the reserved prefix "gl_". GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if glBindAttribLocation is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS glGetActiveAttrib with argument program glGetAttribLocation with arguments program and name glIsProgram See Also glDisableVertexAttribArray, glEnableVertexAttribArray, glUseProgram, glVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetVertexAttribPointerv.xml0000664000175000017500000001006711453131434026377 0ustar laneylaney glGetVertexAttribPointerv 3G glGetVertexAttribPointerv return the address of the specified generic vertex attribute pointer C Specification void glGetVertexAttribPointerv GLuint index GLenum pname GLvoid **pointer Parameters index Specifies the generic vertex attribute parameter to be returned. pname Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. pointer Returns the pointer value. Description glGetVertexAttribPointerv returns pointer information. index is the generic vertex attribute to be queried, pname is a symbolic constant indicating the pointer to be returned, and params is a pointer to a location in which to place the returned data. If a non-zero named buffer object was bound to the GL_ARRAY_BUFFER target (see glBindBuffer) when the desired pointer was previously specified, the pointer returned is a byte offset into the buffer object's data store. Notes glGetVertexAttribPointerv is available only if the GL version is 2.0 or greater. The pointer returned is client-side state. The initial value for each pointer is 0. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_INVALID_ENUM is generated if pname is not an accepted value. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS See Also glGetVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluCylinder.xml0000664000175000017500000001432611453131434023525 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluCylinder 3G gluCylinder draw a cylinder C Specification void gluCylinder GLUquadric* quad GLdouble base GLdouble top GLdouble height GLint slices GLint stacks Parameters quad Specifies the quadrics object (created with gluNewQuadric). base Specifies the radius of the cylinder at z = 0. top Specifies the radius of the cylinder at z = height. height Specifies the height of the cylinder. slices Specifies the number of subdivisions around the z axis. stacks Specifies the number of subdivisions along the z axis. Description gluCylinder draws a cylinder oriented along the z axis. The base of the cylinder is placed at z = 0 and the top at z = height . Like a sphere, a cylinder is subdivided around the z axis into slices and along the z axis into stacks. Note that if top is set to 0.0, this routine generates a cone. If the orientation is set to GLU_OUTSIDE (with gluQuadricOrientation), then any generated normals point away from the z axis. Otherwise, they point toward the z axis. If texturing is turned on (with gluQuadricTexture), then texture coordinates are generated so that t ranges linearly from 0.0 at z = 0 to 1.0 at z = height, and s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y axis, to 0.75 at the \-x axis, and back to 1.0 at the +y axis. See Also gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricTexture, gluSphere Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDeleteBuffers.xml0000664000175000017500000001045511453131434024305 0ustar laneylaney 2005 Sams Publishing glDeleteBuffers 3G glDeleteBuffers delete named buffer objects C Specification void glDeleteBuffers GLsizei n const GLuint * buffers Parameters n Specifies the number of buffer objects to be deleted. buffers Specifies an array of buffer objects to be deleted. Description glDeleteBuffers deletes n buffer objects named by the elements of the array buffers. After a buffer object is deleted, it has no contents, and its name is free for reuse (for example by glGenBuffers). If a buffer object that is currently bound is deleted, the binding reverts to 0 (the absence of any buffer object, which reverts to client memory usage). glDeleteBuffers silently ignores 0's and names that do not correspond to existing buffer objects. Notes glDeleteBuffers is available only if the GL version is 1.5 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glDeleteBuffers is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsBuffer See Also glBindBuffer, glGenBuffers, glGet Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyConvolutionFilter1D.xml0000664000175000017500000004233411453131432026272 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyConvolutionFilter1D 3G glCopyConvolutionFilter1D copy pixels into a one-dimensional convolution filter C Specification void glCopyConvolutionFilter1D GLenum target GLenum internalformat GLint x GLint y GLsizei width Parameters target Must be GL_CONVOLUTION_1D. internalformat The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. x y The window space coordinates of the lower-left coordinate of the pixel array to copy. width The width of the pixel array to copy. Description glCopyConvolutionFilter1D defines a one-dimensional convolution filter kernel with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glConvolutionFilter1D). The screen-aligned pixel rectangle with lower-left corner at (x,\ y), width width and height 1 is used to define the convolution filter. If any pixels within this region are outside the window that is associated with the GL context, the values obtained for those pixels are undefined. The pixels in the rectangle are processed exactly as if glReadPixels had been called with format set to RGBA, but the process stops just before final conversion. The R, G, B, and A components of each pixel are next scaled by the four 1D GL_CONVOLUTION_FILTER_SCALE parameters and biased by the four 1D GL_CONVOLUTION_FILTER_BIAS parameters. (The scale and bias parameters are set by glConvolutionParameter using the GL_CONVOLUTION_1D target and the names GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS. The parameters themselves are vectors of four values that are applied to red, green, blue, and alpha, in that order.) The R, G, B, and A values are not clamped to [0,1] at any time during this process. Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A The red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in floating-point rather than integer format. Pixel ordering is such that lower x screen coordinates correspond to lower i filter image coordinates. Note that after a convolution is performed, the resulting color components are also scaled by their corresponding GL_POST_CONVOLUTION_c_SCALE parameters and biased by their corresponding GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values RED, GREEN, BLUE, and ALPHA). These parameters are set by glPixelTransfer. Notes glCopyConvolutionFilter1D is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_1D. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_1D and name GL_MAX_CONVOLUTION_WIDTH. GL_INVALID_OPERATION is generated if glCopyConvolutionFilter1D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter, glGetConvolutionFilter See Also glConvolutionFilter1D, glConvolutionParameter, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryContext.xml0000664000175000017500000001355311453131434024372 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryContext 3G glXQueryContext query context information C Specification int glXQueryContext Display * dpy GLXContext ctx int attribute int * value Parameters dpy Specifies the connection to the X server. ctx Specifies a GLX rendering context. attribute Specifies that a context parameter should be retrieved. Must be one of GLX_FBCONFIG_ID, GLX_RENDER_TYPE, or GLX_SCREEN. value Contains the return value for attribute. Description glXQueryContext sets value to the value of attribute with respect to ctx. attribute may be one of the following: GLX_FBCONFIG_ID Returns the XID of the GLXFBConfig associated with ctx. GLX_RENDER_TYPE Returns the rendering type supported by ctx. GLX_SCREEN Returns the screen number associated with ctx. Success is returned unless attribute is not a valid GLX context attribute, in which case GLX_BAD_ATTRIBUTE is returned. This call may cause a round-trip to the server. Notes glXQueryContext is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadContext is generated if ctx does not refer to a valid context. See Also glXCreateNewContext, glXGetCurrentContext, glXQueryVersion, glXQueryExtensionsString Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEnableClientState.xml0000664000175000017500000003456511453131434025124 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEnableClientState 3G glEnableClientState enable or disable client-side capability C Specification void glEnableClientState GLenum cap Parameters cap Specifies the capability to enable. Symbolic constants GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_FOG_COORD_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_SECONDARY_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY, and GL_VERTEX_ARRAY are accepted. C Specification void glDisableClientState GLenum cap Parameters cap Specifies the capability to disable. Description glEnableClientState and glDisableClientState enable or disable individual client-side capabilities. By default, all client-side capabilities are disabled. Both glEnableClientState and glDisableClientState take a single argument, cap, which can assume one of the following values: GL_COLOR_ARRAY If enabled, the color array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glColorPointer. GL_EDGE_FLAG_ARRAY If enabled, the edge flag array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glEdgeFlagPointer. GL_FOG_COORD_ARRAY If enabled, the fog coordinate array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glFogCoordPointer. GL_INDEX_ARRAY If enabled, the index array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glIndexPointer. GL_NORMAL_ARRAY If enabled, the normal array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glNormalPointer. GL_SECONDARY_COLOR_ARRAY If enabled, the secondary color array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glColorPointer. GL_TEXTURE_COORD_ARRAY If enabled, the texture coordinate array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glTexCoordPointer. GL_VERTEX_ARRAY If enabled, the vertex array is enabled for writing and used during rendering when glArrayElement, glDrawArrays, glDrawElements, glDrawRangeElements glMultiDrawArrays, or glMultiDrawElements is called. See glVertexPointer. Notes glEnableClientState is available only if the GL version is 1.1 or greater. GL_FOG_COORD_ARRAY and GL_SECONDARY_COLOR_ARRAY are available only if the GL version is 1.4 or greater. For OpenGL versions 1.3 and greater, or when ARB_multitexture is supported, enabling and disabling GL_TEXTURE_COORD_ARRAY affects the active client texture unit. The active client texture unit is controlled with glClientActiveTexture. Errors GL_INVALID_ENUM is generated if cap is not an accepted value. glEnableClientState is not allowed between the execution of glBegin and the corresponding glEnd, but an error may or may not be generated. If no error is generated, the behavior is undefined. See Also glArrayElement, glClientActiveTexture, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glFogCoordPointer, glEnable, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluQuadricDrawStyle.xml0000664000175000017500000001143011453131434025174 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluQuadricDrawStyle 3G gluQuadricDrawStyle specify the draw style desired for quadrics C Specification void gluQuadricDrawStyle GLUquadric* quad GLenum draw Parameters quad Specifies the quadrics object (created with gluNewQuadric). draw Specifies the desired draw style. Valid values are GLU_FILL, GLU_LINE, GLU_SILHOUETTE, and GLU_POINT. Description gluQuadricDrawStyle specifies the draw style for quadrics rendered with quad. The legal values are as follows: GLU_FILL Quadrics are rendered with polygon primitives. The polygons are drawn in a counterclockwise fashion with respect to their normals (as defined with gluQuadricOrientation). GLU_LINE Quadrics are rendered as a set of lines. GLU_SILHOUETTE Quadrics are rendered as a set of lines, except that edges separating coplanar faces will not be drawn. GLU_POINT Quadrics are rendered as a set of points. See Also gluNewQuadric, gluQuadricNormals, gluQuadricOrientation, gluQuadricTexture Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEvalMesh.xml0000664000175000017500000006320311453131432023267 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEvalMesh 3G glEvalMesh compute a one- or two-dimensional grid of points or lines C Specification void glEvalMesh1 GLenum mode GLint i1 GLint i2 Parameters mode In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted. i1 i2 Specify the first and last integer values for grid domain variable i. C Specification void glEvalMesh2 GLenum mode GLint i1 GLint i2 GLint j1 GLint j2 Parameters mode In glEvalMesh2, specifies whether to compute a two-dimensional mesh of points, lines, or polygons. Symbolic constants GL_POINT, GL_LINE, and GL_FILL are accepted. i1 i2 Specify the first and last integer values for grid domain variable i. j1 j2 Specify the first and last integer values for grid domain variable j. Description glMapGrid and glEvalMesh are used in tandem to efficiently generate and evaluate a series of evenly-spaced map domain values. glEvalMesh steps through the integer domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by glMap1 and glMap2. mode determines whether the resulting vertices are connected as points, lines, or filled polygons. In the one-dimensional case, glEvalMesh1, the mesh is generated as if the following code fragment were executed: glBegin( type ); for ( i = i1; i <= i2; i += 1 ) glEvalCoord1( i · Δ u + u 1 ); glEnd(); where Δ u = u 2 - u 1 n and n, u 1 , and u 2 are the arguments to the most recent glMapGrid1 command. type is GL_POINTS if mode is GL_POINT, or GL_LINES if mode is GL_LINE. The one absolute numeric requirement is that if i = n , then the value computed from i · Δ u + u 1 is exactly u 2 . In the two-dimensional case, glEvalMesh2, let .cp Δ u = u 2 - u 1 n Δ v = v 2 - v 1 m where n, u 1 , u 2 , m, v 1 , and v 2 are the arguments to the most recent glMapGrid2 command. Then, if mode is GL_FILL, the glEvalMesh2 command is equivalent to: for ( j = j1; j < j2; j += 1 ) { glBegin( GL_QUAD_STRIP ); for ( i = i1; i <= i2; i += 1 ) { glEvalCoord2( i · Δ u + u 1 , j · Δ v + v 1 ); glEvalCoord2( i · Δ u + u 1 , j + 1 · Δ v + v 1 ); } glEnd(); } If mode is GL_LINE, then a call to glEvalMesh2 is equivalent to: for ( j = j1; j <= j2; j += 1 ) { glBegin( GL_LINE_STRIP ); for ( i = i1; i <= i2; i += 1 ) glEvalCoord2( i · Δ u + u 1 , j · Δ v + v 1 ); glEnd(); } for ( i = i1; i <= i2; i += 1 ) { glBegin( GL_LINE_STRIP ); for ( j = j1; j <= j1; j += 1 ) glEvalCoord2( i · Δ u + u 1 , j · Δ v + v 1 ); glEnd(); } And finally, if mode is GL_POINT, then a call to glEvalMesh2 is equivalent to: glBegin( GL_POINTS ); for ( j = j1; j <= j2; j += 1 ) for ( i = i1; i <= i2; i += 1 ) glEvalCoord2( i · Δ u + u 1 , j · Δ v + v 1 ); glEnd(); In all three cases, the only absolute numeric requirements are that if i = n , then the value computed from i · Δ u + u 1 is exactly u 2 , and if j = m , then the value computed from j · Δ v + v 1 is exactly v 2 . Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if glEvalMesh is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAP1_GRID_DOMAIN glGet with argument GL_MAP2_GRID_DOMAIN glGet with argument GL_MAP1_GRID_SEGMENTS glGet with argument GL_MAP2_GRID_SEGMENTS See Also glBegin, glEvalCoord, glEvalPoint, glMap1, glMap2, glMapGrid Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild2DMipmapLevels.xml0000664000175000017500000005465611453131434025532 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild2DMipmapLevels 3G gluBuild2DMipmapLevels builds a subset of two-dimensional mipmap levels C Specification GLint gluBuild2DMipmapLevels GLenum target GLint internalFormat GLsizei width GLsizei height GLenum format GLenum type GLint level GLint base GLint max const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_2D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width height Specifies the width and height, respectively, in pixels of the texture image. These should be a power of 2. format Specifies the format of the pixel data. Must be one of GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. level Specifies the mipmap level of the image data. base Specifies the minimum mipmap level to pass to glTexImage2D. max Specifies the maximum mipmap level to pass to glTexImage2D. data Specifies a pointer to the image data in memory. Description gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). A series of mipmap levels from base to max is built by decimating data in half along both dimensions until size 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding four texels in the larger mipmap level. (In the case of rectangular images, the decimation will ultimately reach an N × 1 or 1 × N configuration. Here, two texels are averaged instead.) glTexImage2D is called to load these mipmap levels from base to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see gluErrorString) and nothing is loaded. For example, if level is 2 and width is 16 and height is 8, the following levels are possible: 16 × 8 , 8 × 4 , 4 × 2 , 2 × 1 , 1 × 1 . These correspond to levels 2 through 6 respectively. If base is 3 and max is 5, then only mipmap levels 8 × 4 , 4 × 2 , and 2 × 1 are loaded. However, if max is 7, then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log 2 max width height × 2 level . See the glTexImage1D reference page for a description of the acceptable values for format parameter. See the glDrawPixels reference page for a description of the acceptable values for type parameter. Notes gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater. Errors GLU_INVALID_VALUE is returned if level > base, base < 0, max < base, or max is > the highest mipmap level for data. GLU_INVALID_VALUE is returned if width or height is < 1. GLU_INVALID_ENUM is returned if internalFormat, format, or type is not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmapLevels, gluBuild1DMipmaps, gluBuild2DMipmaps, gluBuild3DMipmapLevels, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetTexGen.xml0000664000175000017500000001775311453131434023430 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetTexGen 3G glGetTexGen return texture coordinate generation parameters C Specification void glGetTexGendv GLenum coord GLenum pname GLdouble * params void glGetTexGenfv GLenum coord GLenum pname GLfloat * params void glGetTexGeniv GLenum coord GLenum pname GLint * params Parameters coord Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. pname Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. params Returns the requested data. Description glGetTexGen returns in params selected parameters of a texture coordinate generation function that was specified using glTexGen. coord names one of the (s, t, r, q) texture coordinates, using the symbolic constant GL_S, GL_T, GL_R, or GL_Q. pname specifies one of three symbolic names: GL_TEXTURE_GEN_MODE params returns the single-valued texture generation function, a symbolic constant. The initial value is GL_EYE_LINEAR. GL_OBJECT_PLANE params returns the four plane equation coefficients that specify object linear-coordinate generation. Integer values, when requested, are mapped directly from the internal floating-point representation. GL_EYE_PLANE params returns the four plane equation coefficients that specify eye linear-coordinate generation. Integer values, when requested, are mapped directly from the internal floating-point representation. The returned values are those maintained in eye coordinates. They are not equal to the values specified using glTexGen, unless the modelview matrix was identity when glTexGen was called. Notes If an error is generated, no change is made to the contents of params. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glGetTexGen returns the texture coordinate generation parameters for the active texture unit. Errors GL_INVALID_ENUM is generated if coord or pname is not an accepted value. GL_INVALID_OPERATION is generated if glGetTexGen is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glActiveTexture, glTexGen Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetFBConfigs.xml0000664000175000017500000000742711453131434024163 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetFBConfigs 3G glXGetFBConfigs list all GLX frame buffer configurations for a given screen C Specification GLXFBConfig * glXGetFBConfigs Display * dpy int screen int * nelements Parameters dpy Specifies the connection to the X server. screen Specifies the screen number. nelements Returns the number of GLXFBConfigs returned. Description glXGetFBConfigs returns a list of all GLXFBConfigs available on the screen specified by screen. Use glXGetFBConfigAttrib to obtain attribute values from a specific GLXFBConfig. Notes glXGetFBConfigs is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. See Also glXGetFBConfigAttrib, glXGetVisualFromFBConfig glXChooseFBConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFrontFace.xml0000664000175000017500000001156611453131434023441 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFrontFace 3G glFrontFace define front- and back-facing polygons C Specification void glFrontFace GLenum mode Parameters mode Specifies the orientation of front-facing polygons. GL_CW and GL_CCW are accepted. The initial value is GL_CCW. Description In a scene composed entirely of opaque closed surfaces, back-facing polygons are never visible. Eliminating these invisible polygons has the obvious benefit of speeding up the rendering of the image. To enable and disable elimination of back-facing polygons, call glEnable and glDisable with argument GL_CULL_FACE. The projection of a polygon to window coordinates is said to have clockwise winding if an imaginary object following the path from its first vertex, its second vertex, and so on, to its last vertex, and finally back to its first vertex, moves in a clockwise direction about the interior of the polygon. The polygon's winding is said to be counterclockwise if the imaginary object following the same path moves in a counterclockwise direction about the interior of the polygon. glFrontFace specifies whether polygons with clockwise winding in window coordinates, or counterclockwise winding in window coordinates, are taken to be front-facing. Passing GL_CCW to mode selects counterclockwise polygons as front-facing; GL_CW selects clockwise polygons as front-facing. By default, counterclockwise polygons are taken to be front-facing. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if glFrontFace is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_FRONT_FACE See Also glCullFace, glLightModel Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLight.xml0000664000175000017500000005546711453131434022651 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLight 3G glLight set light source parameters C Specification void glLightf GLenum light GLenum pname GLfloat param void glLighti GLenum light GLenum pname GLint param Parameters light Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT i, where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. pname Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. param Specifies the value that parameter pname of light source light will be set to. C Specification void glLightfv GLenum light GLenum pname const GLfloat * params void glLightiv GLenum light GLenum pname const GLint * params Parameters light Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT i, where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. pname Specifies a light source parameter for light. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_CUTOFF, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. params Specifies a pointer to the value or values that parameter pname of light source light will be set to. Description glLight sets the values of individual light source parameters. light names the light and is a symbolic name of the form GL_LIGHT i, where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. pname specifies one of ten light source parameters, again by symbolic name. params is either a single value or a pointer to an array that contains the new values. To enable and disable lighting calculation, call glEnable and glDisable with argument GL_LIGHTING. Lighting is initially disabled. When it is enabled, light sources that are enabled contribute to the lighting calculation. Light source i is enabled and disabled using glEnable and glDisable with argument GL_LIGHT i. The ten light parameters are as follows: GL_AMBIENT params contains four integer or floating-point values that specify the ambient RGBA intensity of the light. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial ambient light intensity is (0, 0, 0, 1). GL_DIFFUSE params contains four integer or floating-point values that specify the diffuse RGBA intensity of the light. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial value for GL_LIGHT0 is (1, 1, 1, 1); for other lights, the initial value is (0, 0, 0, 1). GL_SPECULAR params contains four integer or floating-point values that specify the specular RGBA intensity of the light. Integer values are mapped linearly such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . Floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The initial value for GL_LIGHT0 is (1, 1, 1, 1); for other lights, the initial value is (0, 0, 0, 1). GL_POSITION params contains four integer or floating-point values that specify the position of the light in homogeneous object coordinates. Both integer and floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The position is transformed by the modelview matrix when glLight is called (just as if it were a point), and it is stored in eye coordinates. If the w component of the position is 0, the light is treated as a directional source. Diffuse and specular lighting calculations take the light's direction, but not its actual position, into account, and attenuation is disabled. Otherwise, diffuse and specular lighting calculations are based on the actual location of the light in eye coordinates, and attenuation is enabled. The initial position is (0, 0, 1, 0); thus, the initial light source is directional, parallel to, and in the direction of the - z axis. GL_SPOT_DIRECTION params contains three integer or floating-point values that specify the direction of the light in homogeneous object coordinates. Both integer and floating-point values are mapped directly. Neither integer nor floating-point values are clamped. The spot direction is transformed by the upper 3x3 of the modelview matrix when glLight is called, and it is stored in eye coordinates. It is significant only when GL_SPOT_CUTOFF is not 180, which it is initially. The initial direction is 0 0 -1 . GL_SPOT_EXPONENT params is a single integer or floating-point value that specifies the intensity distribution of the light. Integer and floating-point values are mapped directly. Only values in the range 0 128 are accepted. Effective light intensity is attenuated by the cosine of the angle between the direction of the light and the direction from the light to the vertex being lighted, raised to the power of the spot exponent. Thus, higher spot exponents result in a more focused light source, regardless of the spot cutoff angle (see GL_SPOT_CUTOFF, next paragraph). The initial spot exponent is 0, resulting in uniform light distribution. GL_SPOT_CUTOFF params is a single integer or floating-point value that specifies the maximum spread angle of a light source. Integer and floating-point values are mapped directly. Only values in the range 0 90 and the special value 180 are accepted. If the angle between the direction of the light and the direction from the light to the vertex being lighted is greater than the spot cutoff angle, the light is completely masked. Otherwise, its intensity is controlled by the spot exponent and the attenuation factors. The initial spot cutoff is 180, resulting in uniform light distribution. GL_CONSTANT_ATTENUATION GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION params is a single integer or floating-point value that specifies one of the three light attenuation factors. Integer and floating-point values are mapped directly. Only nonnegative values are accepted. If the light is positional, rather than directional, its intensity is attenuated by the reciprocal of the sum of the constant factor, the linear factor times the distance between the light and the vertex being lighted, and the quadratic factor times the square of the same distance. The initial attenuation factors are (1, 0, 0), resulting in no attenuation. Notes It is always the case that GL_LIGHT i = GL_LIGHT0 + i. Errors GL_INVALID_ENUM is generated if either light or pname is not an accepted value. GL_INVALID_VALUE is generated if a spot exponent value is specified outside the range 0 128 , or if spot cutoff is specified outside the range 0 90 (except for the special value 180), or if a negative attenuation factor is specified. GL_INVALID_OPERATION is generated if glLight is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetLight glIsEnabled with argument GL_LIGHTING See Also glColorMaterial, glLightModel, glMaterial Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClearAccum.xml0000664000175000017500000000773511453131434023574 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClearAccum 3G glClearAccum specify clear values for the accumulation buffer C Specification void glClearAccum GLfloat red GLfloat green GLfloat blue GLfloat alpha Parameters red green blue alpha Specify the red, green, blue, and alpha values used when the accumulation buffer is cleared. The initial values are all 0. Description glClearAccum specifies the red, green, blue, and alpha values used by glClear to clear the accumulation buffer. Values specified by glClearAccum are clamped to the range -1 1 . Errors GL_INVALID_OPERATION is generated if glClearAccum is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ACCUM_CLEAR_VALUE See Also glAccum, glClear Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glOrtho.xml0000664000175000017500000004456511453131434022672 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glOrtho 3G glOrtho multiply the current matrix with an orthographic matrix C Specification void glOrtho GLdouble left GLdouble right GLdouble bottom GLdouble top GLdouble nearVal GLdouble farVal Parameters left right Specify the coordinates for the left and right vertical clipping planes. bottom top Specify the coordinates for the bottom and top horizontal clipping planes. nearVal farVal Specify the distances to the nearer and farther depth clipping planes. These values are negative if the plane is to be behind the viewer. Description glOrtho describes a transformation that produces a parallel projection. The current matrix (see glMatrixMode) is multiplied by this matrix and the result replaces the current matrix, as if glMultMatrix were called with the following matrix as its argument: 2 right - left 0 0 t x 0 2 top - bottom 0 t y 0 0 -2 farVal - nearVal t z 0 0 0 1 where t x = - right + left right - left t y = - top + bottom top - bottom t z = - farVal + nearVal farVal - nearVal Typically, the matrix mode is GL_PROJECTION, and left bottom - nearVal and right top - nearVal specify the points on the near clipping plane that are mapped to the lower left and upper right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). - farVal specifies the location of the far clipping plane. Both nearVal and farVal can be either positive or negative. Use glPushMatrix and glPopMatrix to save and restore the current matrix stack. Errors GL_INVALID_VALUE is generated if left = right, or bottom = top, or near = far. GL_INVALID_OPERATION is generated if glOrtho is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glFrustum, glMatrixMode, glMultMatrix, glPushMatrix, glViewport Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetColorTable.xml0000664000175000017500000003132211453131434024250 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetColorTable 3G glGetColorTable retrieve contents of a color lookup table C Specification void glGetColorTable GLenum target GLenum format GLenum type GLvoid * table Parameters target Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. format The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. type The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. table Pointer to a one-dimensional array of pixel data containing the contents of the color table. Description glGetColorTable returns in table the contents of the color table specified by target. No pixel transfer operations are performed, but pixel storage modes that are applicable to glReadPixels are performed. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a histogram table is requested, table is treated as a byte offset into the buffer object's data store. Color components that are requested in the specified format, but which are not included in the internal format of the color lookup table, are returned as zero. The assignments of internal color components to the components requested by format are Internal Component Resulting Component Red Red Green Green Blue Blue Alpha Alpha Luminance Red Intensity Red Notes glGetColorTable is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and table is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetColorTable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetColorTableParameter glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glColorTable, glColorTableParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyConvolutionFilter2D.xml0000664000175000017500000004423611453131434026300 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyConvolutionFilter2D 3G glCopyConvolutionFilter2D copy pixels into a two-dimensional convolution filter C Specification void glCopyConvolutionFilter2D GLenum target GLenum internalformat GLint x GLint y GLsizei width GLsizei height Parameters target Must be GL_CONVOLUTION_2D. internalformat The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. x y The window space coordinates of the lower-left coordinate of the pixel array to copy. width The width of the pixel array to copy. height The height of the pixel array to copy. Description glCopyConvolutionFilter2D defines a two-dimensional convolution filter kernel with pixels from the current GL_READ_BUFFER (rather than from main memory, as is the case for glConvolutionFilter2D). The screen-aligned pixel rectangle with lower-left corner at (x,\ y), width width and height height is used to define the convolution filter. If any pixels within this region are outside the window that is associated with the GL context, the values obtained for those pixels are undefined. The pixels in the rectangle are processed exactly as if glReadPixels had been called with format set to RGBA, but the process stops just before final conversion. The R, G, B, and A components of each pixel are next scaled by the four 2D GL_CONVOLUTION_FILTER_SCALE parameters and biased by the four 2D GL_CONVOLUTION_FILTER_BIAS parameters. (The scale and bias parameters are set by glConvolutionParameter using the GL_CONVOLUTION_2D target and the names GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS. The parameters themselves are vectors of four values that are applied to red, green, blue, and alpha, in that order.) The R, G, B, and A values are not clamped to [0,1] at any time during this process. Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A The red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in floating-point rather than integer format. Pixel ordering is such that lower x screen coordinates correspond to lower i filter image coordinates, and lower y screen coordinates correspond to lower j filter image coordinates. Note that after a convolution is performed, the resulting color components are also scaled by their corresponding GL_POST_CONVOLUTION_c_SCALE parameters and biased by their corresponding GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values RED, GREEN, BLUE, and ALPHA). These parameters are set by glPixelTransfer. Notes glCopyConvolutionFilter2D is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_2D. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_2D and name GL_MAX_CONVOLUTION_WIDTH. GL_INVALID_VALUE is generated if height is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_2D and name GL_MAX_CONVOLUTION_HEIGHT. GL_INVALID_OPERATION is generated if glCopyConvolutionFilter2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter, glGetConvolutionFilter See Also glConvolutionFilter2D, glConvolutionParameter, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexImage1D.xml0000664000175000017500000014126311453131434023460 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexImage1D 3G glTexImage1D specify a one-dimensional texture image C Specification void glTexImage1D GLenum target GLint level GLint internalFormat GLsizei width GLint border GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalFormat Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. border Specifies the width of the border. Must be either 0 or 1. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D. Texture images are defined with glTexImage1D. The arguments describe the parameters of the texture image, such as width, width of the border, level-of-detail number (see glTexParameter), and the internal resolution and format used to store the image. The last three arguments describe how the image is represented in memory; they are identical to the pixel formats used for glDrawPixels. If target is GL_PROXY_TEXTURE_1D, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. If target is GL_TEXTURE_1D, data is read from data as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on type. These values are grouped into sets of one, two, three, or four values, depending on format, to form elements. If type is GL_BITMAP, the data is considered as a string of unsigned bytes (and format must be GL_COLOR_INDEX). Each data byte is treated as eight 1-bit elements, with bit ordering determined by GL_UNPACK_LSB_FIRST (see glPixelStore). If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. The first element corresponds to the left end of the texture array. Subsequent elements progress left-to-right through the remaining texels in the texture array. The final element corresponds to the right end of the texture array. format determines the composition of each element in data. It can assume one of these symbolic values: GL_COLOR_INDEX Each element is a single value, a color index. The GL converts it to fixed point (with an unspecified number of zero bits to the right of the binary point), shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET (see glPixelTransfer). The resulting index is converted to a set of color components using the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables, and clamped to the range [0,1]. GL_RED Each element is a single red component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for green and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_GREEN Each element is a single green component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and blue, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_BLUE Each element is a single blue component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red and green, and 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_ALPHA Each element is a single alpha component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_INTENSITY Each element is a single intensity value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the intensity value three times for red, green, blue, and alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGB GL_BGR Each element is an RGB triple. The GL converts it to floating point and assembles it into an RGBA element by attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_RGBA GL_BGRA Each element contains all four components. Each component is multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE Each element is a single luminance value. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue and attaching 1 for alpha. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_LUMINANCE_ALPHA Each element is a luminance/alpha pair. The GL converts it to floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue. Each component is then multiplied by the signed scale factor GL_c_SCALE, added to the signed bias GL_c_BIAS, and clamped to the range [0,1] (see glPixelTransfer). GL_DEPTH_COMPONENT Each element is a single depth value. The GL converts it to floating point, multiplies by the signed scale factor GL_DEPTH_SCALE, adds the signed bias GL_DEPTH_BIAS, and clamps to the range [0,1] (see glPixelTransfer). Refer to the glDrawPixels reference page for a description of the acceptable values for the type parameter. If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with internalFormat. The GL will choose an internal representation that closely approximates that requested by internalFormat, but it may not match exactly. (The representations specified by GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, and GL_RGBA must match exactly. The numeric values 1, 2, 3, and 4 may also be used to specify the above representations.) If the internalFormat parameter is one of the generic compressed formats, GL_COMPRESSED_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA, the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage. If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the internalFormat parameter is GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, or GL_SLUMINANCE8_ALPHA8, the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space. Any alpha component is left unchanged. The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s > 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the GL_PROXY_TEXTURE_1D target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call glGetTexLevelParameter. If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color from data. A two-component image uses the R and A values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA textures during texture filtering and application. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See glTexParameter for details on texture comparison. Notes Texturing has no effect in color index mode. If the ARB_imaging extension is supported, RGBA elements may also be processed by the imaging pipeline. The following stages may be applied to an RGBA color before color component clamping to the range 0 1 : 1. Color component replacement by the color table specified for GL_COLOR_TABLE, if enabled. See glColorTable. 2. One-dimensional convolution filtering, if enabled. See glConvolutionFilter1D. If a convolution filter changes the width of the texture (by processing with a GL_CONVOLUTION_BORDER_MODE of GL_REDUCE, for example), the width must 2 n + 2 border , for some integer n, after filtering. 3. RGBA components may be multiplied by GL_POST_CONVOLUTION_c_SCALE, and added to GL_POST_CONVOLUTION_c_BIAS, if enabled. See glPixelTransfer. 4. Color component replacement by the color table specified for GL_POST_CONVOLUTION_COLOR_TABLE, if enabled. See glColorTable. 5. Transformation by the color matrix. See glMatrixMode. 6. RGBA components may be multiplied by GL_POST_COLOR_MATRIX_c_SCALE, and added to GL_POST_COLOR_MATRIX_c_BIAS, if enabled. See glPixelTransfer. 7. Color component replacement by the color table specified for GL_POST_COLOR_MATRIX_COLOR_TABLE, if enabled. See glColorTable. The texture image can be represented by the same data formats as the pixels in a glDrawPixels command, except that GL_STENCIL_INDEX cannot be used. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. GL_PROXY_TEXTURE_1D may be used only if the GL version is 1.1 or greater. Internal formats other than 1, 2, 3, or 4 may be used only if the GL version is 1.1 or greater. In GL version 1.1 or greater, data may be a null pointer. In this case texture memory is allocated to accommodate a texture of width width. You can then download subtextures to initialize the texture memory. The image is undefined if the program tries to apply an uninitialized portion of the texture image to a primitive. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. When the ARB_multitexture extension is supported, or the GL version is 1.3 or greater, glTexImage1D specifies the one-dimensional texture for the current texture unit, specified with glActiveTexture. GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. The GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, and GL_SLUMINANCE8_ALPHA8 internal formats are only available if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. GL_INVALID_ENUM is generated if format is not an accepted format constant. Format constants other than GL_STENCIL_INDEX are accepted. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if internalFormat is not 1, 2, 3, 4, or one of the accepted resolution and format symbolic constants. GL_INVALID_VALUE is generated if width is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width cannot be represented as 2 n + 2 border for some integer value of n. GL_INVALID_VALUE is generated if border is not 0 or 1. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT and internalFormat is not GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32. GL_INVALID_OPERATION is generated if internalFormat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32, and format is not GL_DEPTH_COMPONENT. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_1D glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glColorTable, glCompressedTexImage1D, glCompressedTexSubImage1D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexSubImage1D, glDrawPixels, glGetCompressedTexImage, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluOrtho2D.xml0000664000175000017500000000733611453131434023240 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluOrtho2D 3G gluOrtho2D define a 2D orthographic projection matrix C Specification void gluOrtho2D GLdouble left GLdouble right GLdouble bottom GLdouble top Parameters left right Specify the coordinates for the left and right vertical clipping planes. bottom top Specify the coordinates for the bottom and top horizontal clipping planes. Description gluOrtho2D sets up a two-dimensional orthographic viewing region. This is equivalent to calling glOrtho with near = -1 and far = 1 . See Also glOrtho, gluPerspective Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsProgram.xml0000664000175000017500000001267411453131432023474 0ustar laneylaney glIsProgram 3G glIsProgram Determines if a name corresponds to a program object C Specification GLboolean glIsProgram GLuint program Parameters program Specifies a potential program object. Description glIsProgram returns GL_TRUE if program is the name of a program object previously created with glCreateProgram and not yet deleted with glDeleteProgram. If program is zero or a non-zero value that is not the name of a program object, or if an error occurs, glIsProgram returns GL_FALSE. Notes glIsProgram is available only if the GL version is 2.0 or greater. No error is generated if program is not a valid program object name. A program object marked for deletion with glDeleteProgram but still in use as part of current rendering state is still considered a program object and glIsProgram will return GL_TRUE. Errors GL_INVALID_OPERATION is generated if glIsProgram is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with the argument GL_CURRENT_PROGRAM glGetActiveAttrib with arguments program and the index of an active attribute variable glGetActiveUniform with arguments program and the index of an active uniform variable glGetAttachedShaders with argument program glGetAttribLocation with arguments program and the name of an attribute variable glGetProgram with arguments program and the parameter to be queried glGetProgramInfoLog with argument program glGetUniform with arguments program and the location of a uniform variable glGetUniformLocation with arguments program and the name of a uniform variable See Also glAttachShader, glBindAttribLocation, glCreateProgram, glDeleteProgram, glDetachShader, glLinkProgram, glUniform, glUseProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetVertexAttrib.xml0000664000175000017500000002304111453131434024644 0ustar laneylaney glGetVertexAttrib 3G glGetVertexAttrib glGetVertexAttribdv glGetVertexAttribfv glGetVertexAttribiv Return a generic vertex attribute parameter C Specification void glGetVertexAttribdv GLuint index GLenum pname GLdouble *params void glGetVertexAttribfv GLuint index GLenum pname GLfloat *params void glGetVertexAttribiv GLuint index GLenum pname GLint *params Parameters index Specifies the generic vertex attribute parameter to be queried. pname Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. params Returns the requested data. Description glGetVertexAttrib returns in params the value of a generic vertex attribute parameter. The generic vertex attribute to be queried is specified by index, and the parameter to be queried is specified by pname. The accepted parameter names are as follows: GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING params returns a single value, the name of the buffer object currently bound to the binding point corresponding to generic vertex attribute array index. If no buffer object is bound, 0 is returned. The initial value is 0. GL_VERTEX_ATTRIB_ARRAY_ENABLED params returns a single value that is non-zero (true) if the vertex attribute array for index is enabled and 0 (false) if it is disabled. The initial value is GL_FALSE. GL_VERTEX_ATTRIB_ARRAY_SIZE params returns a single value, the size of the vertex attribute array for index. The size is the number of values for each element of the vertex attribute array, and it will be 1, 2, 3, or 4. The initial value is 4. GL_VERTEX_ATTRIB_ARRAY_STRIDE params returns a single value, the array stride for (number of bytes between successive elements in) the vertex attribute array for index. A value of 0 indicates that the array elements are stored sequentially in memory. The initial value is 0. GL_VERTEX_ATTRIB_ARRAY_TYPE params returns a single value, a symbolic constant indicating the array type for the vertex attribute array for index. Possible values are GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE. The initial value is GL_FLOAT. GL_VERTEX_ATTRIB_ARRAY_NORMALIZED params returns a single value that is non-zero (true) if fixed-point data types for the vertex attribute array indicated by index are normalized when they are converted to floating point, and 0 (false) otherwise. The initial value is GL_FALSE. GL_CURRENT_VERTEX_ATTRIB params returns four values that represent the current value for the generic vertex attribute specified by index. Generic vertex attribute 0 is unique in that it has no current state, so an error will be generated if index is 0. The initial value for all other generic vertex attributes is (0,0,0,1). All of the parameters except GL_CURRENT_VERTEX_ATTRIB represent client-side state. Notes glGetVertexAttrib is available only if the GL version is 2.0 or greater. If an error is generated, no change is made to the contents of params. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if index is 0 and pname is GL_CURRENT_VERTEX_ATTRIB. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS glGetVertexAttribPointerv with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER See Also glBindAttribLocation, glBindBuffer, glDisableVertexAttribArray, glEnableVertexAttribArray, glVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetShaderInfoLog.xml0000664000175000017500000001343511453131434024713 0ustar laneylaney glGetShaderInfoLog 3G glGetShaderInfoLog Returns the information log for a shader object C Specification void glGetShaderInfoLog GLuint shader GLsizei maxLength GLsizei *length GLchar *infoLog Parameters shader Specifies the shader object whose information log is to be queried. maxLength Specifies the size of the character buffer for storing the returned information log. length Returns the length of the string returned in infoLog (excluding the null terminator). infoLog Specifies an array of characters that is used to return the information log. Description glGetShaderInfoLog returns the information log for the specified shader object. The information log for a shader object is modified when the shader is compiled. The string that is returned will be null terminated. glGetShaderInfoLog returns in infoLog as much of the information log as it can, up to a maximum of maxLength characters. The number of characters actually returned, excluding the null termination character, is specified by length. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The size of the buffer required to store the returned information log can be obtained by calling glGetShader with the value GL_INFO_LOG_LENGTH. The information log for a shader object is a string that may contain diagnostic messages, warning messages, and other information about the last compile operation. When a shader object is created, its information log will be a string of length 0. Notes glGetShaderInfoLog is available only if the GL version is 2.0 or greater. The information log for a shader object is the OpenGL implementer's primary mechanism for conveying information about the compilation process. Therefore, the information log can be helpful to application developers during the development process, even when compilation is successful. Application developers should not expect different OpenGL implementations to produce identical information logs. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_VALUE is generated if maxLength is less than 0. GL_INVALID_OPERATION is generated if glGetShaderInfoLog is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShader with argument GL_INFO_LOG_LENGTH glIsShader See Also glCompileShader, glGetProgramInfoLog, glLinkProgram, glValidateProgram Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFinish.xml0000664000175000017500000000511511453131434023003 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFinish 3G glFinish block until all GL execution is complete C Specification void glFinish void Description glFinish does not return until the effects of all previously called GL commands are complete. Such effects include all changes to GL state, all changes to connection state, and all changes to the frame buffer contents. Notes glFinish requires a round trip to the server. Errors GL_INVALID_OPERATION is generated if glFinish is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glFlush Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreateWindow.xml0000664000175000017500000001341211453131434024305 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreateWindow 3G glXCreateWindow create an on-screen rendering area C Specification GLXWindow glXCreateWindow Display * dpy GLXFBConfig config Window win const int * attrib_list Parameters dpy Specifies the connection to the X server. config Specifies a GLXFBConfig structure with the desired attributes for the window. win Specifies the X window to be used as the rendering area. attrib_list Currently unused. This must be set to NULL or be an empty list (i.e., one in which the first element is None). Description glXCreateWindow creates an on-screen rendering area from an existing X window that was created with a visual matching config. The XID of the GLXWindow is returned. Any GLX rendering context that was created with respect to config can be used to render into this window. Use glXMakeContextCurrent to associate the rendering area with a GLX rendering context. Notes glXCreateWindow is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors BadMatch is generated if win was not created with a visual that corresponds to config. BadMatch is generated if config does not support rendering to windows (i.e., GLX_DRAWABLE_TYPE does not contain GLX_WINDOW_BIT). BadWindow is generated if win is not a valid pixmap XID. BadAlloc is generated if there is already a GLXFBConfig associated with win. BadAlloc is generated if the X server cannot allocate a new GLX window. GLXBadFBConfig is generated if config is not a valid GLXFBConfig. See Also glXChooseFBConfig, glXDestroyPixmap, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLoadTransposeMatrix.xml0000664000175000017500000005735711453131434025545 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLoadTransposeMatrix 3G glLoadTransposeMatrix replace the current matrix with the specified row-major ordered matrix C Specification void glLoadTransposeMatrixd const GLdouble * m void glLoadTransposeMatrixf const GLfloat * m Parameters m Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 × 4 row-major matrix. Description glLoadTransposeMatrix replaces the current matrix with the one whose elements are specified by m. The current matrix is the projection matrix, modelview matrix, or texture matrix, depending on the current matrix mode (see glMatrixMode). The current matrix, M, defines a transformation of coordinates. For instance, assume M refers to the modelview matrix. If v = v 0 v 1 v 2 v 3 is the set of object coordinates of a vertex, and m points to an array of 16 single- or double-precision floating-point values m = m 0 m 1 ... m 15 , then the modelview transformation M v does the following: M v = m 0 m 1 m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9 m 10 m 11 m 12 m 13 m 14 m 15 × v 0 v 1 v 2 v 3 Projection and texture transformations are similarly defined. Calling glLoadTransposeMatrix with matrix M is identical in operation to glLoadMatrix with M T , where T represents the transpose. Notes glLoadTransposeMatrix is available only if the GL version is 1.3 or greater. While the elements of the matrix may be specified with single or double precision, the GL implementation may store or operate on these values in less than single precision. Errors GL_INVALID_OPERATION is generated if glLoadTransposeMatrix is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glLoadIdentity, glLoadMatrix, glMatrixMode, glMultMatrix, glMultTransposeMatrix, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTranslate.xml0000664000175000017500000002136311453131434023523 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTranslate 3G glTranslate multiply the current matrix by a translation matrix C Specification void glTranslated GLdouble x GLdouble y GLdouble z void glTranslatef GLfloat x GLfloat y GLfloat z Parameters x y z Specify the x, y, and z coordinates of a translation vector. Description glTranslate produces a translation by x y z . The current matrix (see glMatrixMode) is multiplied by this translation matrix, with the product replacing the current matrix, as if glMultMatrix were called with the following matrix for its argument: 1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1 If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after a call to glTranslate are translated. Use glPushMatrix and glPopMatrix to save and restore the untranslated coordinate system. Errors GL_INVALID_OPERATION is generated if glTranslate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glMatrixMode, glMultMatrix, glPushMatrix, glRotate, glScale Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBindBuffer.xml0000664000175000017500000003124711453131434023576 0ustar laneylaney 2005 Sams Publishing glBindBuffer 3G glBindBuffer bind a named buffer object C Specification void glBindBuffer GLenum target GLuint buffer Parameters target Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. buffer Specifies the name of a buffer object. Description glBindBuffer lets you create or use a named buffer object. Calling glBindBuffer with target set to GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER or GL_PIXEL_UNPACK_BUFFER and buffer set to the name of the new buffer object binds the buffer object name to the target. When a buffer object is bound to a target, the previous binding for that target is automatically broken. Buffer object names are unsigned integers. The value zero is reserved, but there is no default buffer object for each buffer object target. Instead, buffer set to zero effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target. Buffer object names and the corresponding buffer object contents are local to the shared display-list space (see glXCreateContext) of the current GL rendering context; two rendering contexts share buffer object names only if they also share display lists. You may use glGenBuffers to generate a set of new buffer object names. The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with GL_READ_WRITE access and GL_STATIC_DRAW usage. While a non-zero buffer object name is bound, GL operations on the target to which it is bound affect the bound buffer object, and queries of the target to which it is bound return state from the bound buffer object. While buffer object name zero is bound, as in the initial state, attempts to modify or query state on the target to which it is bound generates an GL_INVALID_OPERATION error. When vertex array pointer state is changed, for example by a call to glNormalPointer, the current buffer object binding (GL_ARRAY_BUFFER_BINDING) is copied into the corresponding client state for the vertex array type being changed, for example GL_NORMAL_ARRAY_BUFFER_BINDING. While a non-zero buffer object is bound to the GL_ARRAY_BUFFER target, the vertex array pointer parameter that is traditionally interpreted as a pointer to client-side memory is instead interpreted as an offset within the buffer object measured in basic machine units. While a non-zero buffer object is bound to the GL_ELEMENT_ARRAY_BUFFER target, the indices parameter of glDrawElements, glDrawRangeElements, or glMultiDrawElements that is traditionally interpreted as a pointer to client-side memory is instead interpreted as an offset within the buffer object measured in basic machine units. While a non-zero buffer object is bound to the GL_PIXEL_PACK_BUFFER target, the following commands are affected: glGetCompressedTexImage, glGetConvolutionFilter, glGetHistogram, glGetMinmax, glGetPixelMap, glGetPolygonStipple, glGetSeparableFilter, glGetTexImage, and glReadPixels. The pointer parameter that is traditionally interpreted as a pointer to client-side memory where the pixels are to be packed is instead interpreted as an offset within the buffer object measured in basic machine units. While a non-zero buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target, the following commands are affected: glBitmap, glColorSubTable, glColorTable, glCompressedTexImage1D, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glConvolutionFilter1D, glConvolutionFilter2D, glDrawPixels, glPixelMap, glPolygonStipple, glSeparableFilter2D, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, and glTexSubImage3D. The pointer parameter that is traditionally interpreted as a pointer to client-side memory from which the pixels are to be unpacked is instead interpreted as an offset within the buffer object measured in basic machine units. A buffer object binding created with glBindBuffer remains active until a different buffer object name is bound to the same target, or until the bound buffer object is deleted with glDeleteBuffers. Once created, a named buffer object may be re-bound to any target as often as needed. However, the GL implementation may make choices about how to optimize the storage of a buffer object based on its initial binding target. Notes glBindBuffer is available only if the GL version is 1.5 or greater. GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_OPERATION is generated if glBindBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ARRAY_BUFFER_BINDING glGet with argument GL_ELEMENT_ARRAY_BUFFER_BINDING glGet with argument GL_PIXEL_PACK_BUFFER_BINDING glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glDeleteBuffers, glGenBuffers, glGet, glIsBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexSubImage1D.xml0000664000175000017500000004563411453131434024137 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexSubImage1D 3G glTexSubImage1D specify a one-dimensional texture subimage C Specification void glTexSubImage1D GLenum target GLint level GLint xoffset GLsizei width GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. width Specifies the width of the texture subimage. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable or disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D. glTexSubImage1D redefines a contiguous subregion of an existing one-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glTexSubImage1D is available only if the GL version is 1.1 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage1D specifies a one-dimensional subtexture for the current texture unit, specified with glActiveTexture. When the ARB_imaging extension is supported, the RGBA components specified in data may be processed by the imaging pipeline. See glTexImage1D for specific details. Errors GL_INVALID_ENUM is generated if target is not one of the allowable values. GL_INVALID_ENUM is generated if format is not an accepted format constant. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max, where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , or if xoffset + width > w - b , where w is the GL_TEXTURE_WIDTH, and b is the width of the GL_TEXTURE_BORDER of the texture image being modified. Note that w includes twice the border width. GL_INVALID_VALUE is generated if width is less than 0. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage1D operation. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexSubImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_1D glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBegin.xml0000664000175000017500000010175111453131434022612 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBegin 3G glBegin delimit the vertices of a primitive or a group of like primitives C Specification void glBegin GLenum mode Parameters mode Specifies the primitive or primitives that will be created from vertices presented between glBegin and the subsequent glEnd. Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON. C Specification void glEnd void Description glBegin and glEnd delimit the vertices that define a primitive or a group of like primitives. glBegin accepts a single argument that specifies in which of ten ways the vertices are interpreted. Taking n as an integer count starting at one, and N as the total number of vertices specified, the interpretations are as follows: GL_POINTS Treats each vertex as a single point. Vertex n defines point n. N points are drawn. GL_LINES Treats each pair of vertices as an independent line segment. Vertices 2 n - 1 and 2 n define line n. N 2 lines are drawn. GL_LINE_STRIP Draws a connected group of line segments from the first vertex to the last. Vertices n and n + 1 define line n. N - 1 lines are drawn. GL_LINE_LOOP Draws a connected group of line segments from the first vertex to the last, then back to the first. Vertices n and n + 1 define line n. The last line, however, is defined by vertices N and 1 . N lines are drawn. GL_TRIANGLES Treats each triplet of vertices as an independent triangle. Vertices 3 n - 2 , 3 n - 1 , and 3 n define triangle n. N 3 triangles are drawn. GL_TRIANGLE_STRIP Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. For odd n, vertices n, n + 1 , and n + 2 define triangle n. For even n, vertices n + 1 , n, and n + 2 define triangle n. N - 2 triangles are drawn. GL_TRIANGLE_FAN Draws a connected group of triangles. One triangle is defined for each vertex presented after the first two vertices. Vertices 1 , n + 1 , and n + 2 define triangle n. N - 2 triangles are drawn. GL_QUADS Treats each group of four vertices as an independent quadrilateral. Vertices 4 n - 3 , 4 n - 2 , 4 n - 1 , and 4 n define quadrilateral n. N 4 quadrilaterals are drawn. GL_QUAD_STRIP Draws a connected group of quadrilaterals. One quadrilateral is defined for each pair of vertices presented after the first pair. Vertices 2 n - 1 , 2 n , 2 n + 2 , and 2 n + 1 define quadrilateral n. N 2 - 1 quadrilaterals are drawn. Note that the order in which vertices are used to construct a quadrilateral from strip data is different from that used with independent data. GL_POLYGON Draws a single, convex polygon. Vertices 1 through N define this polygon. Only a subset of GL commands can be used between glBegin and glEnd. The commands are glVertex, glColor, glSecondaryColor, glIndex, glNormal, glFogCoord, glTexCoord, glMultiTexCoord, glVertexAttrib, glEvalCoord, glEvalPoint, glArrayElement, glMaterial, and glEdgeFlag. Also, it is acceptable to use glCallList or glCallLists to execute display lists that include only the preceding commands. If any other GL command is executed between glBegin and glEnd, the error flag is set and the command is ignored. Regardless of the value chosen for mode, there is no limit to the number of vertices that can be defined between glBegin and glEnd. Lines, triangles, quadrilaterals, and polygons that are incompletely specified are not drawn. Incomplete specification results when either too few vertices are provided to specify even a single primitive or when an incorrect multiple of vertices is specified. The incomplete primitive is ignored; the rest are drawn. The minimum specification of vertices for each primitive is as follows: 1 for a point, 2 for a line, 3 for a triangle, 4 for a quadrilateral, and 3 for a polygon. Modes that require a certain multiple of vertices are GL_LINES (2), GL_TRIANGLES (3), GL_QUADS (4), and GL_QUAD_STRIP (2). Errors GL_INVALID_ENUM is generated if mode is set to an unaccepted value. GL_INVALID_OPERATION is generated if glBegin is executed between a glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if glEnd is executed without being preceded by a glBegin. GL_INVALID_OPERATION is generated if a command other than glVertex, glColor, glSecondaryColor, glIndex, glNormal, glFogCoord, glTexCoord, glMultiTexCoord, glVertexAttrib, glEvalCoord, glEvalPoint, glArrayElement, glMaterial, glEdgeFlag, glCallList, or glCallLists is executed between the execution of glBegin and the corresponding execution glEnd. Execution of glEnableClientState, glDisableClientState, glEdgeFlagPointer, glFogCoordPointer, glTexCoordPointer, glColorPointer, glSecondaryColorPointer, glIndexPointer, glNormalPointer, glVertexPointer, glVertexAttribPointer, glInterleavedArrays, or glPixelStore is not allowed after a call to glBegin and before the corresponding call to glEnd, but an error may or may not be generated. See Also glArrayElement, glCallList, glCallLists, glColor, glEdgeFlag, glEvalCoord, glEvalPoint, glFogCoord, glIndex, glMaterial, glMultiTexCoord, glNormal, glSecondaryColor, glTexCoord, glVertex, glVertexAttrib Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluGetTessProperty.xml0000664000175000017500000000724211453131432025074 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluGetTessProperty 3G gluGetTessProperty get a tessellation object property C Specification void gluGetTessProperty GLUtesselator* tess GLenum which GLdouble* data Parameters tess Specifies the tessellation object (created with gluNewTess). which Specifies the property whose value is to be fetched. Valid values are GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, and GLU_TESS_TOLERANCE. data Specifies a pointer to the location into which the value of the named property is written. Description gluGetTessProperty retrieves properties stored in a tessellation object. These properties affect the way that tessellation objects are interpreted and rendered. See the gluTessProperty reference page for information about the properties and what they do. See Also gluNewTess, gluTessProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBufferSubData.xml0000664000175000017500000001712711453131434024246 0ustar laneylaney 2005 Sams Publishing glBufferSubData 3G glBufferSubData updates a subset of a buffer object's data store C Specification void glBufferSubData GLenum target GLintptr offset GLsizeiptr size const GLvoid * data Parameters target Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. offset Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. size Specifies the size in bytes of the data store region being replaced. data Specifies a pointer to the new data that will be copied into the data store. Description glBufferSubData redefines some or all of the data store for the buffer object currently bound to target. Data starting at byte offset offset and extending for size bytes is copied to the data store from the memory pointed to by data. An error is thrown if offset and size together define a range beyond the bounds of the buffer object's data store. Notes glBufferSubData is available only if the GL version is 1.5 or greater. Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 or greater. When replacing the entire data store, consider using glBufferSubData rather than completely recreating the data store with glBufferData. This avoids the cost of reallocating the data store. Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. If any rendering in the pipeline makes reference to data in the buffer object being updated by glBufferSubData, especially from the specific region being updated, that rendering must drain from the pipeline before the data store can be updated. Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising N bytes be a multiple of N. Errors GL_INVALID_ENUM is generated if target is not GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. GL_INVALID_VALUE is generated if offset or size is negative, or if together they define a region of memory that extends beyond the buffer object's allocated data store. GL_INVALID_OPERATION is generated if the reserved buffer object name 0 is bound to target. GL_INVALID_OPERATION is generated if the buffer object being updated is mapped. GL_INVALID_OPERATION is generated if glBufferSubData is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetBufferSubData See Also glBindBuffer, glBufferData, glMapBuffer, glUnmapBuffer Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXDestroyPixmap.xml0000664000175000017500000000711711453131434024527 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXDestroyPixmap 3G glXDestroyPixmap destroy an off-screen rendering area C Specification void glXDestroyPixmap Display * dpy GLXPixmap pixmap Parameters dpy Specifies the connection to the X server. pixmap Specifies the GLXPixmap to be destroyed. Description glXDestroyPixmap destroys a GLXPixmap created by glXCreatePixmap. Notes glXDestroyPixmap is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadPixmap is generated if pixmap is not a valid GLXPixmap. See Also glXChooseFBConfig, glXCreatePixmap, glXDestroyGLXPixmap, glXMakeContextCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glSelectBuffer.xml0000664000175000017500000002270011453131432024131 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glSelectBuffer 3G glSelectBuffer establish a buffer for selection mode values C Specification void glSelectBuffer GLsizei size GLuint * buffer Parameters size Specifies the size of buffer. buffer Returns the selection data. Description glSelectBuffer has two arguments: buffer is a pointer to an array of unsigned integers, and size indicates the size of the array. buffer returns values from the name stack (see glInitNames, glLoadName, glPushName) when the rendering mode is GL_SELECT (see glRenderMode). glSelectBuffer must be issued before selection mode is enabled, and it must not be issued while the rendering mode is GL_SELECT. A programmer can use selection to determine which primitives are drawn into some region of a window. The region is defined by the current modelview and perspective matrices. In selection mode, no pixel fragments are produced from rasterization. Instead, if a primitive or a raster position intersects the clipping volume defined by the viewing frustum and the user-defined clipping planes, this primitive causes a selection hit. (With polygons, no hit occurs if the polygon is culled.) When a change is made to the name stack, or when glRenderMode is called, a hit record is copied to buffer if any hits have occurred since the last such event (name stack change or glRenderMode call). The hit record consists of the number of names in the name stack at the time of the event, followed by the minimum and maximum depth values of all vertices that hit since the previous event, followed by the name stack contents, bottom name first. Depth values (which are in the range [0,1]) are multiplied by 2 32 - 1 , before being placed in the hit record. An internal index into buffer is reset to 0 whenever selection mode is entered. Each time a hit record is copied into buffer, the index is incremented to point to the cell just past the end of the block of names\(emthat is, to the next available cell If the hit record is larger than the number of remaining locations in buffer, as much data as can fit is copied, and the overflow flag is set. If the name stack is empty when a hit record is copied, that record consists of 0 followed by the minimum and maximum depth values. To exit selection mode, call glRenderMode with an argument other than GL_SELECT. Whenever glRenderMode is called while the render mode is GL_SELECT, it returns the number of hit records copied to buffer, resets the overflow flag and the selection buffer pointer, and initializes the name stack to be empty. If the overflow bit was set when glRenderMode was called, a negative hit record count is returned. Notes The contents of buffer is undefined until glRenderMode is called with an argument other than GL_SELECT. glBegin/glEnd primitives and calls to glRasterPos can result in hits. glWindowPos will always generate a selection hit. Errors GL_INVALID_VALUE is generated if size is negative. GL_INVALID_OPERATION is generated if glSelectBuffer is called while the render mode is GL_SELECT, or if glRenderMode is called with argument GL_SELECT before glSelectBuffer is called at least once. GL_INVALID_OPERATION is generated if glSelectBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_NAME_STACK_DEPTH glGet with argument GL_SELECTION_BUFFER_SIZE glGetPointerv with argument GL_SELECTION_BUFFER_POINTER See Also glFeedbackBuffer, glInitNames, glLoadName, glPushName, glRenderMode Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawBuffer.xml0000664000175000017500000002542611453131434023621 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDrawBuffer 3G glDrawBuffer specify which color buffers are to be drawn into C Specification void glDrawBuffer GLenum mode Parameters mode Specifies up to four color buffers to be drawn into. Symbolic constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1, are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet to query the number of available aux buffers.) The initial value is GL_FRONT for single-buffered contexts, and GL_BACK for double-buffered contexts. Description When colors are written to the frame buffer, they are written into the color buffers specified by glDrawBuffer. The specifications are as follows: GL_NONE No color buffers are written. GL_FRONT_LEFT Only the front left color buffer is written. GL_FRONT_RIGHT Only the front right color buffer is written. GL_BACK_LEFT Only the back left color buffer is written. GL_BACK_RIGHT Only the back right color buffer is written. GL_FRONT Only the front left and front right color buffers are written. If there is no front right color buffer, only the front left color buffer is written. GL_BACK Only the back left and back right color buffers are written. If there is no back right color buffer, only the back left color buffer is written. GL_LEFT Only the front left and back left color buffers are written. If there is no back left color buffer, only the front left color buffer is written. GL_RIGHT Only the front right and back right color buffers are written. If there is no back right color buffer, only the front right color buffer is written. GL_FRONT_AND_BACK All the front and back color buffers (front left, front right, back left, back right) are written. If there are no back color buffers, only the front left and front right color buffers are written. If there are no right color buffers, only the front left and back left color buffers are written. If there are no right or back color buffers, only the front left color buffer is written. GL_AUXi Only auxiliary color buffer i is written. If more than one color buffer is selected for drawing, then blending or logical operations are computed and applied independently for each color buffer and can produce different results in each buffer. Monoscopic contexts include only left buffers, and stereoscopic contexts include both left and right buffers. Likewise, single-buffered contexts include only front buffers, and double-buffered contexts include both front and back buffers. The context is selected at GL initialization. Notes It is always the case that GL_AUX i = GL_AUX0 + i. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if none of the buffers indicated by mode exists. GL_INVALID_OPERATION is generated if glDrawBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_DRAW_BUFFER glGet with argument GL_AUX_BUFFERS See Also glBlendFunc, glColorMask, glIndexMask, glLogicOp, glReadBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glAreTexturesResident.xml0000664000175000017500000001647211453131434025544 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glAreTexturesResident 3G glAreTexturesResident determine if textures are loaded in texture memory C Specification GLboolean glAreTexturesResident GLsizei n const GLuint * textures GLboolean * residences Parameters n Specifies the number of textures to be queried. textures Specifies an array containing the names of the textures to be queried. residences Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. Description GL establishes a ``working set'' of textures that are resident in texture memory. These textures can be bound to a texture target much more efficiently than textures that are not resident. glAreTexturesResident queries the texture residence status of the n textures named by the elements of textures. If all the named textures are resident, glAreTexturesResident returns GL_TRUE, and the contents of residences are undisturbed. If not all the named textures are resident, glAreTexturesResident returns GL_FALSE, and detailed status is returned in the n elements of residences. If an element of residences is GL_TRUE, then the texture named by the corresponding element of textures is resident. The residence status of a single bound texture may also be queried by calling glGetTexParameter with the target argument set to the target to which the texture is bound, and the pname argument set to GL_TEXTURE_RESIDENT. This is the only way that the residence status of a default texture can be queried. Notes glAreTexturesResident is available only if the GL version is 1.1 or greater. glAreTexturesResident returns the residency status of the textures at the time of invocation. It does not guarantee that the textures will remain resident at any other time. If textures reside in virtual memory (there is no texture memory), they are considered always resident. Some implementations may not load a texture until the first use of that texture. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_VALUE is generated if any element in textures is 0 or does not name a texture. In that case, the function returns GL_FALSE and the contents of residences is indeterminate. GL_INVALID_OPERATION is generated if glAreTexturesResident is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexParameter with parameter name GL_TEXTURE_RESIDENT retrieves the residence status of a currently bound texture. See Also glBindTexture, glGetTexParameter, glPrioritizeTextures, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexParameter.xml0000664000175000017500000023777511453131434024207 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexParameter 3G glTexParameter set texture parameters C Specification void glTexParameterf GLenum target GLenum pname GLfloat param void glTexParameteri GLenum target GLenum pname GLint param Parameters target Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. pname Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. param Specifies the value of pname. C Specification void glTexParameterfv GLenum target GLenum pname const GLfloat * params void glTexParameteriv GLenum target GLenum pname const GLint * params Parameters target Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D or GL_TEXTURE_3D. pname Specifies the symbolic name of a texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. params Specifies a pointer to an array where the value or values of pname are stored. Description Texture mapping is a technique that applies an image onto an object's surface as if the image were a decal or cellophane shrink-wrap. The image is created in texture space, with an (s, t) coordinate system. A texture is a one- or two-dimensional image and a set of parameters that determine how samples are derived from the image. glTexParameter assigns the value or values in params to the texture parameter specified as pname. target defines the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D. The following symbols are accepted in pname: GL_TEXTURE_MIN_FILTER The texture minifying function is used whenever the pixel being textured maps to an area greater than one texture element. There are six defined minifying functions. Two of them use the nearest one or nearest four texture elements to compute the texture value. The other four use mipmaps. A mipmap is an ordered set of arrays representing the same image at progressively lower resolutions. If the texture has dimensions 2 n × 2 m , there are max n m + 1 mipmaps. The first mipmap is the original texture, with dimensions 2 n × 2 m . Each subsequent mipmap has dimensions 2 k - 1 × 2 l - 1 , where 2 k × 2 l are the dimensions of the previous mipmap, until either k = 0 or l = 0 . At that point, subsequent mipmaps have dimension 1 × 2 l - 1 or 2 k - 1 × 1 until the final mipmap, which has dimension 1 × 1 . To define the mipmaps, call glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, or glCopyTexImage2D with the level argument indicating the order of the mipmaps. Level 0 is the original texture; level max n m is the final 1 × 1 mipmap. params supplies a function for minifying the texture as one of the following: GL_NEAREST Returns the value of the texture element that is nearest (in Manhattan distance) to the center of the pixel being textured. GL_LINEAR Returns the weighted average of the four texture elements that are closest to the center of the pixel being textured. These can include border texture elements, depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, and on the exact mapping. GL_NEAREST_MIPMAP_NEAREST Chooses the mipmap that most closely matches the size of the pixel being textured and uses the GL_NEAREST criterion (the texture element nearest to the center of the pixel) to produce a texture value. GL_LINEAR_MIPMAP_NEAREST Chooses the mipmap that most closely matches the size of the pixel being textured and uses the GL_LINEAR criterion (a weighted average of the four texture elements that are closest to the center of the pixel) to produce a texture value. GL_NEAREST_MIPMAP_LINEAR Chooses the two mipmaps that most closely match the size of the pixel being textured and uses the GL_NEAREST criterion (the texture element nearest to the center of the pixel) to produce a texture value from each mipmap. The final texture value is a weighted average of those two values. GL_LINEAR_MIPMAP_LINEAR Chooses the two mipmaps that most closely match the size of the pixel being textured and uses the GL_LINEAR criterion (a weighted average of the four texture elements that are closest to the center of the pixel) to produce a texture value from each mipmap. The final texture value is a weighted average of those two values. As more texture elements are sampled in the minification process, fewer aliasing artifacts will be apparent. While the GL_NEAREST and GL_LINEAR minification functions can be faster than the other four, they sample only one or four texture elements to determine the texture value of the pixel being rendered and can produce moire patterns or ragged transitions. The initial value of GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR. GL_TEXTURE_MAG_FILTER The texture magnification function is used when the pixel being textured maps to an area less than or equal to one texture element. It sets the texture magnification function to either GL_NEAREST or GL_LINEAR (see below). GL_NEAREST is generally faster than GL_LINEAR, but it can produce textured images with sharper edges because the transition between texture elements is not as smooth. The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR. GL_NEAREST Returns the value of the texture element that is nearest (in Manhattan distance) to the center of the pixel being textured. GL_LINEAR Returns the weighted average of the four texture elements that are closest to the center of the pixel being textured. These can include border texture elements, depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, and on the exact mapping. GL_TEXTURE_MIN_LOD Sets the minimum level-of-detail parameter. This floating-point value limits the selection of highest resolution mipmap (lowest mipmap level). The initial value is -1000. GL_TEXTURE_MAX_LOD Sets the maximum level-of-detail parameter. This floating-point value limits the selection of the lowest resolution mipmap (highest mipmap level). The initial value is 1000. GL_TEXTURE_BASE_LEVEL Specifies the index of the lowest defined mipmap level. This is an integer value. The initial value is 0. GL_TEXTURE_MAX_LEVEL Sets the index of the highest defined mipmap level. This is an integer value. The initial value is 1000. GL_TEXTURE_WRAP_S Sets the wrap parameter for texture coordinate s to either GL_CLAMP, GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. GL_CLAMP causes s coordinates to be clamped to the range [0,1] and is useful for preventing wrapping artifacts when mapping a single image onto an object. GL_CLAMP_TO_BORDER causes the s coordinate to be clamped to the range -1 2N 1 + 1 2N , where N is the size of the texture in the direction of clamping.GL_CLAMP_TO_EDGE causes s coordinates to be clamped to the range 1 2N 1 - 1 2N , where N is the size of the texture in the direction of clamping. GL_REPEAT causes the integer part of the s coordinate to be ignored; the GL uses only the fractional part, thereby creating a repeating pattern. GL_MIRRORED_REPEAT causes the s coordinate to be set to the fractional part of the texture coordinate if the integer part of s is even; if the integer part of s is odd, then the s texture coordinate is set to 1 - frac s , where frac s represents the fractional part of s. Border texture elements are accessed only if wrapping is set to GL_CLAMP or GL_CLAMP_TO_BORDER. Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT. GL_TEXTURE_WRAP_T Sets the wrap parameter for texture coordinate t to either GL_CLAMP, GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. Initially, GL_TEXTURE_WRAP_T is set to GL_REPEAT. GL_TEXTURE_WRAP_R Sets the wrap parameter for texture coordinate r to either GL_CLAMP, GL_CLAMP_TO_BORDER, GL_CLAMP_TO_EDGE, GL_MIRRORED_REPEAT, or GL_REPEAT. See the discussion under GL_TEXTURE_WRAP_S. Initially, GL_TEXTURE_WRAP_R is set to GL_REPEAT. GL_TEXTURE_BORDER_COLOR Sets a border color. params contains four values that comprise the RGBA color of the texture border. Integer color components are interpreted linearly such that the most positive integer maps to 1.0, and the most negative integer maps to -1.0. The values are clamped to the range [0,1] when they are specified. Initially, the border color is (0, 0, 0, 0). GL_TEXTURE_PRIORITY Specifies the texture residence priority of the currently bound texture. Permissible values are in the range 0 1 . See glPrioritizeTextures and glBindTexture for more information. GL_TEXTURE_COMPARE_MODE Specifies the texture comparison mode for currently bound depth textures. That is, a texture whose internal format is GL_DEPTH_COMPONENT_*; see glTexImage2D) Permissible values are: GL_COMPARE_R_TO_TEXTURE Specifies that the interpolated and clamped r texture coordinate should be compared to the value in the currently bound depth texture. See the discussion of GL_TEXTURE_COMPARE_FUNC for details of how the comparison is evaluated. The result of the comparison is assigned to luminance, intensity, or alpha (as specified by GL_DEPTH_TEXTURE_MODE). GL_NONE Specifies that the luminance, intensity, or alpha (as specified by GL_DEPTH_TEXTURE_MODE) should be assigned the appropriate value from the currently bound depth texture. GL_TEXTURE_COMPARE_FUNC Specifies the comparison operator used when GL_TEXTURE_COMPARE_MODE is set to GL_COMPARE_R_TO_TEXTURE. Permissible values are: Texture Comparison Function Computed result GL_LEQUAL result = 1.0 0.0 ⁢   r <= D t r > D t GL_GEQUAL result = 1.0 0.0 ⁢   r >= D t r < D t GL_LESS result = 1.0 0.0 ⁢   r < D t r >= D t GL_GREATER result = 1.0 0.0 ⁢   r > D t r <= D t GL_EQUAL result = 1.0 0.0 ⁢   r = D t r D t GL_NOTEQUAL result = 1.0 0.0 ⁢   r D t r = D t GL_ALWAYS result = 1.0 GL_NEVER result = 0.0 where r is the current interpolated texture coordinate, and D t is the depth texture value sampled from the currently bound depth texture. result is assigned to the either the luminance, intensity, or alpha (as specified by GL_DEPTH_TEXTURE_MODE.) GL_DEPTH_TEXTURE_MODE Specifies a single symbolic constant indicating how depth values should be treated during filtering and texture application. Accepted values are GL_LUMINANCE, GL_INTENSITY, and GL_ALPHA. The initial value is GL_LUMINANCE. GL_GENERATE_MIPMAP Specifies a boolean value that indicates if all levels of a mipmap array should be automatically updated when any modification to the base level mipmap is done. The initial value is GL_FALSE. Notes GL_TEXTURE_3D, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_CLAMP_TO_EDGE, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL are available only if the GL version is 1.2 or greater. GL_CLAMP_TO_BORDER is available only if the GL version is 1.3 or greater. GL_MIRRORED_REPEAT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are available only if the GL version is 1.4 or greater. GL_TEXTURE_COMPARE_FUNC allows the following additional comparison modes only if the GL version is 1.5 or greater: GL_LESS, GL_GREATER, GL_EQUAL, GL_NOTEQUAL, GL_ALWAYS, and GL_NEVER. Suppose that a program has enabled texturing (by calling glEnable with argument GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D) and has set GL_TEXTURE_MIN_FILTER to one of the functions that requires a mipmap. If either the dimensions of the texture images currently defined (with previous calls to glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, or glCopyTexImage2D) do not follow the proper sequence for mipmaps (described above), or there are fewer texture images defined than are needed, or the set of texture images have differing numbers of texture components, then it is as if texture mapping were disabled. Linear filtering accesses the four nearest texture elements only in 2D textures. In 1D textures, linear filtering accesses the two nearest texture elements. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexParameter specifies the texture parameters for the active texture unit, specified by calling glActiveTexture. Errors GL_INVALID_ENUM is generated if target or pname is not one of the accepted defined values. GL_INVALID_ENUM is generated if params should have a defined constant value (based on the value of pname) and does not. GL_INVALID_OPERATION is generated if glTexParameter is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexParameter glGetTexLevelParameter See Also glActiveTexture, glBindTexture, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glPixelStore, glPixelTransfer, glPrioritizeTextures, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClearStencil.xml0000664000175000017500000001055611453131434024140 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClearStencil 3G glClearStencil specify the clear value for the stencil buffer C Specification void glClearStencil GLint s Parameters s Specifies the index used when the stencil buffer is cleared. The initial value is 0. Description glClearStencil specifies the index used by glClear to clear the stencil buffer. s is masked with 2 m - 1 , where m is the number of bits in the stencil buffer. Errors GL_INVALID_OPERATION is generated if glClearStencil is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_STENCIL_CLEAR_VALUE glGet with argument GL_STENCIL_BITS See Also glClear, glStencilFunc, glStencilFuncSeparate, glStencilMask, glStencilMaskSeparate, glStencilOp, glStencilOpSeparate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDrawArrays.xml0000664000175000017500000001711311453131434023643 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDrawArrays 3G glDrawArrays render primitives from array data C Specification void glDrawArrays GLenum mode GLint first GLsizei count Parameters mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. first Specifies the starting index in the enabled arrays. count Specifies the number of indices to be rendered. Description glDrawArrays specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to glDrawArrays. When glDrawArrays is called, it uses count sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element first. mode specifies what kind of primitives are constructed and how the array elements construct those primitives. If GL_VERTEX_ARRAY is not enabled, no geometric primitives are generated. Vertex attributes that are modified by glDrawArrays have an unspecified value after glDrawArrays returns. For example, if GL_COLOR_ARRAY is enabled, the value of the current color is undefined after glDrawArrays executes. Attributes that aren't modified remain well defined. Notes glDrawArrays is available only if the GL version is 1.1 or greater. glDrawArrays is included in display lists. If glDrawArrays is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if count is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if glDrawArrays is executed between the execution of glBegin and the corresponding glEnd. See Also glArrayElement, glColorPointer, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glFogCoordPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glReadBuffer.xml0000664000175000017500000001453211453131434023573 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glReadBuffer 3G glReadBuffer select a color buffer source for pixels C Specification void glReadBuffer GLenum mode Parameters mode Specifies a color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1. Description glReadBuffer specifies a color buffer as the source for subsequent glReadPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, and glCopyPixels commands. mode accepts one of twelve or more predefined values. (GL_AUX0 through GL_AUX3 are always defined.) In a fully configured system, GL_FRONT, GL_LEFT, and GL_FRONT_LEFT all name the front left buffer, GL_FRONT_RIGHT and GL_RIGHT name the front right buffer, and GL_BACK_LEFT and GL_BACK name the back left buffer. Nonstereo double-buffered configurations have only a front left and a back left buffer. Single-buffered configurations have a front left and a front right buffer if stereo, and only a front left buffer if nonstereo. It is an error to specify a nonexistent buffer to glReadBuffer. mode is initially GL_FRONT in single-buffered configurations and GL_BACK in double-buffered configurations. Errors GL_INVALID_ENUM is generated if mode is not one of the twelve (or more) accepted values. GL_INVALID_OPERATION is generated if mode specifies a buffer that does not exist. GL_INVALID_OPERATION is generated if glReadBuffer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_READ_BUFFER See Also glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawBuffer, glReadPixels Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCallList.xml0000664000175000017500000001137011453131434023272 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCallList 3G glCallList execute a display list C Specification void glCallList GLuint list Parameters list Specifies the integer name of the display list to be executed. Description glCallList causes the named display list to be executed. The commands saved in the display list are executed in order, just as if they were called without using a display list. If list has not been defined as a display list, glCallList is ignored. glCallList can appear inside a display list. To avoid the possibility of infinite recursion resulting from display lists calling one another, a limit is placed on the nesting level of display lists during display-list execution. This limit is at least 64, and it depends on the implementation. GL state is not saved and restored across a call to glCallList. Thus, changes made to GL state during the execution of a display list remain after execution of the display list is completed. Use glPushAttrib, glPopAttrib, glPushMatrix, and glPopMatrix to preserve GL state across glCallList calls. Notes Display lists can be executed between a call to glBegin and the corresponding call to glEnd, as long as the display list includes only commands that are allowed in this interval. Associated Gets glGet with argument GL_MAX_LIST_NESTING glIsList See Also glCallLists, glDeleteLists, glGenLists, glNewList, glPushAttrib, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetAttribLocation.xml0000664000175000017500000001230511453131432025136 0ustar laneylaney glGetAttribLocation 3G glGetAttribLocation Returns the location of an attribute variable C Specification GLint glGetAttribLocation GLuint program const GLchar *name Parameters program Specifies the program object to be queried. name Points to a null terminated string containing the name of the attribute variable whose location is to be queried. Description glGetAttribLocation queries the previously linked program object specified by program for the attribute variable specified by name and returns the index of the generic vertex attribute that is bound to that attribute variable. If name is a matrix attribute variable, the index of the first column of the matrix is returned. If the named attribute variable is not an active attribute in the specified program object or if name starts with the reserved prefix "gl_", a value of -1 is returned. The association between an attribute variable name and a generic attribute index can be specified at any time by calling glBindAttribLocation. Attribute bindings do not go into effect until glLinkProgram is called. After a program object has been linked successfully, the index values for attribute variables remain fixed until the next link command occurs. The attribute values can only be queried after a link if the link was successful. glGetAttribLocation returns the binding that actually went into effect the last time glLinkProgram was called for the specified program object. Attribute bindings that have been specified since the last link operation are not returned by glGetAttribLocation. Notes glGetAttribLocation is available only if the GL version is 2.0 or greater. Errors GL_INVALID_OPERATION is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if program has not been successfully linked. GL_INVALID_OPERATION is generated if glGetAttribLocation is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetActiveAttrib with argument program and the index of an active attribute glIsProgram See Also glBindAttribLocation, glLinkProgram, glVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glSecondaryColorPointer.xml0000664000175000017500000003017211453131434026053 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glSecondaryColorPointer 3G glSecondaryColorPointer define an array of secondary colors C Specification void glSecondaryColorPointer GLint size GLenum type GLsizei stride const GLvoid * pointer Parameters size Specifies the number of components per color. Must be 3. type Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first component of the first color element in the array. The initial value is 0. Description glSecondaryColorPointer specifies the location and data format of an array of color components to use when rendering. size specifies the number of components per color, and must be 3. type specifies the data type of each color component, and stride specifies the byte stride from one color to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a secondary color array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as secondary color vertex array client-side state (GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING). When a secondary color array is specified, size, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the secondary color array, call glEnableClientState and glDisableClientState with the argument GL_SECONDARY_COLOR_ARRAY. If enabled, the secondary color array is used when glArrayElement, glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, or glDrawRangeElements is called. Notes glSecondaryColorPointer is available only if the GL version is 1.4 or greater. Secondary colors are not supported for interleaved vertex array formats (see glInterleavedArrays). The secondary color array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glSecondaryColorPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glSecondaryColorPointer is typically implemented on the client side. Secondary color array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_VALUE is generated if size is not 3. GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_SECONDARY_COLOR_ARRAY glGet with argument GL_SECONDARY_COLOR_ARRAY_SIZE glGet with argument GL_SECONDARY_COLOR_ARRAY_TYPE glGet with argument GL_SECONDARY_COLOR_ARRAY_STRIDE glGet with argument GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_SECONDARY_COLOR_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColor, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild3DMipmapLevels.xml0000664000175000017500000005556711453131434025535 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild3DMipmapLevels 3G gluBuild3DMipmapLevels builds a subset of three-dimensional mipmap levels C Specification GLint gluBuild3DMipmapLevels GLenum target GLint internalFormat GLsizei width GLsizei height GLsizei depth GLenum format GLenum type GLint level GLint base GLint max const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_3D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width height depth Specifies in pixels the width, height and depth respectively, of the texture image. These should be a power of 2. format Specifies the format of the pixel data. Must be one of GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. level Specifies the mipmap level of the image data. base Specifies the minimum mipmap level to pass to glTexImage3D. max Specifies the maximum mipmap level to pass to glTexImage3D. data Specifies a pointer to the image data in memory. Description gluBuild3DMipmapLevels builds a subset of prefiltered three-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). A series of mipmap levels from base to max is built by decimating data in half along both dimensions until size 1 × 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding eight texels in the larger mipmap level. (If exactly one of the dimensions is 1, four texels are averaged. If exactly two of the dimensions are 1, two texels are averaged.) glTexImage3D is called to load these mipmap levels from base to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see gluErrorString) and nothing is loaded. For example, if level is 2 and width is 16, height is 8 and depth is 4, the following levels are possible: 16 × 8 × 4 , 8 × 4 × 2 , 4 × 2 × 1 , 2 × 1 × 1 , 1 × 1 × 1 . These correspond to levels 2 through 6 respectively. If base is 3 and max is 5, then only mipmap levels 8 × 4 × 2 , 4 × 2 × 1 , and 2 × 1 × 1 are loaded. However, if max is 7, then an error is returned and nothing is loaded, since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log 2 max width height depth × 2 level . See the glTexImage1D reference page for a description of the acceptable values for format parameter. See the glDrawPixels reference page for a description of the acceptable values for type parameter. Notes gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater. Errors GLU_INVALID_VALUE is returned if level > base, base < 0, max < base, or max is > the highest mipmap level for data. GLU_INVALID_VALUE is returned if width, height, or depth is < 1. GLU_INVALID_ENUM is returned if internalFormat, format, or type is not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmapLevels, gluBuild1DMipmaps, gluBuild2DMipmapLevels, gluBuild2DMipmaps, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXDestroyGLXPixmap.xml0000664000175000017500000000633111453131434025077 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXDestroyGLXPixmap 3G glXDestroyGLXPixmap destroy a GLX pixmap C Specification void glXDestroyGLXPixmap Display * dpy GLXPixmap pix Parameters dpy Specifies the connection to the X server. pix Specifies the GLX pixmap to be destroyed. Description If the GLX pixmap pix is not current to any client, glXDestroyGLXPixmap destroys it immediately. Otherwise, pix is destroyed when it becomes not current to any client. In either case, the resource ID is freed immediately. Errors GLXBadPixmap is generated if pix is not a valid GLX pixmap. See Also glXCreateGLXPixmap, glXDestroyPixmap, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glDepthFunc.xml0000664000175000017500000001703011453131434023442 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glDepthFunc 3G glDepthFunc specify the value used for depth buffer comparisons C Specification void glDepthFunc GLenum func Parameters func Specifies the depth comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_LESS. Description glDepthFunc specifies the function used to compare each incoming pixel depth value with the depth value present in the depth buffer. The comparison is performed only if depth testing is enabled. (See glEnable and glDisable of GL_DEPTH_TEST.) func specifies the conditions under which the pixel will be drawn. The comparison functions are as follows: GL_NEVER Never passes. GL_LESS Passes if the incoming depth value is less than the stored depth value. GL_EQUAL Passes if the incoming depth value is equal to the stored depth value. GL_LEQUAL Passes if the incoming depth value is less than or equal to the stored depth value. GL_GREATER Passes if the incoming depth value is greater than the stored depth value. GL_NOTEQUAL Passes if the incoming depth value is not equal to the stored depth value. GL_GEQUAL Passes if the incoming depth value is greater than or equal to the stored depth value. GL_ALWAYS Always passes. The initial value of func is GL_LESS. Initially, depth testing is disabled. If depth testing is disabled or if no depth buffer exists, it is as if the depth test always passes. Notes Even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. Errors GL_INVALID_ENUM is generated if func is not an accepted value. GL_INVALID_OPERATION is generated if glDepthFunc is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_DEPTH_FUNC glIsEnabled with argument GL_DEPTH_TEST See Also glDepthRange, glEnable, glPolygonOffset Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glConvolutionFilter1D.xml0000664000175000017500000005456311453131432025446 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glConvolutionFilter1D 3G glConvolutionFilter1D define a one-dimensional convolution filter C Specification void glConvolutionFilter1D GLenum target GLenum internalformat GLsizei width GLenum format GLenum type const GLvoid * data Parameters target Must be GL_CONVOLUTION_1D. internalformat The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. width The width of the pixel array referenced by data. format The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. type The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. data Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. Description glConvolutionFilter1D builds a one-dimensional convolution filter kernel from an array of pixels. The pixel array specified by width, format, type, and data is extracted from memory and processed just as if glDrawPixels were called, but processing stops after the final expansion to RGBA is completed. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a convolution filter is specified, data is treated as a byte offset into the buffer object's data store. The R, G, B, and A components of each pixel are next scaled by the four 1D GL_CONVOLUTION_FILTER_SCALE parameters and biased by the four 1D GL_CONVOLUTION_FILTER_BIAS parameters. (The scale and bias parameters are set by glConvolutionParameter using the GL_CONVOLUTION_1D target and the names GL_CONVOLUTION_FILTER_SCALE and GL_CONVOLUTION_FILTER_BIAS. The parameters themselves are vectors of four values that are applied to red, green, blue, and alpha, in that order.) The R, G, B, and A values are not clamped to [0,1] at any time during this process. Each pixel is then converted to the internal format specified by internalformat. This conversion simply maps the component values of the pixel (R, G, B, and A) to the values included in the internal format (red, green, blue, alpha, luminance, and intensity). The mapping is as follows: Internal Format Red Green Blue Alpha Luminance Intensity GL_ALPHA A GL_LUMINANCE R GL_LUMINANCE_ALPHA A R GL_INTENSITY R GL_RGB R G B GL_RGBA R G B A The red, green, blue, alpha, luminance, and/or intensity components of the resulting pixels are stored in floating-point rather than integer format. They form a one-dimensional filter kernel image indexed with coordinate i such that i starts at 0 and increases from left to right. Kernel location i is derived from the ith pixel, counting from 0. Note that after a convolution is performed, the resulting color components are also scaled by their corresponding GL_POST_CONVOLUTION_c_SCALE parameters and biased by their corresponding GL_POST_CONVOLUTION_c_BIAS parameters (where c takes on the values RED, GREEN, BLUE, and ALPHA). These parameters are set by glPixelTransfer. Notes glConvolutionFilter1D is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Errors GL_INVALID_ENUM is generated if target is not GL_CONVOLUTION_1D. GL_INVALID_ENUM is generated if internalformat is not one of the allowable values. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_VALUE is generated if width is less than zero or greater than the maximum supported value. This value may be queried with glGetConvolutionParameter using target GL_CONVOLUTION_1D and name GL_MAX_CONVOLUTION_WIDTH. GL_INVALID_OPERATION is generated if format is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and type is not GL_RGB. GL_INVALID_OPERATION is generated if format is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and type is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glConvolutionFilter1D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter, glGetConvolutionFilter glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glConvolutionFilter2D, glSeparableFilter2D, glConvolutionParameter, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexSubImage2D.xml0000664000175000017500000005515611453131434024140 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexSubImage2D 3G glTexSubImage2D specify a two-dimensional texture subimage C Specification void glTexSubImage2D GLenum target GLint level GLint xoffset GLint yoffset GLsizei width GLsizei height GLenum format GLenum type const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. xoffset Specifies a texel offset in the x direction within the texture array. yoffset Specifies a texel offset in the y direction within the texture array. width Specifies the width of the texture subimage. height Specifies the height of the texture subimage. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. data Specifies a pointer to the image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable two-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_2D. glTexSubImage2D redefines a contiguous subregion of an existing two-dimensional texture image. The texels referenced by data replace the portion of the existing texture array with x indices xoffset and xoffset + width - 1 , inclusive, and y indices yoffset and yoffset + height - 1 , inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glTexSubImage2D is available only if the GL version is 1.1 or greater. Texturing has no effect in color index mode. glPixelStore and glPixelTransfer modes affect texture images in exactly the way they affect glDrawPixels. Formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexSubImage2D specifies a two-dimensional subtexture for the current texture unit, specified with glActiveTexture. When the ARB_imaging extension is supported, the RGBA components specified in data may be processed by the imaging pipeline. See glTexImage1D for specific details. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. GL_INVALID_ENUM is generated if format is not an accepted format constant. GL_INVALID_ENUM is generated if type is not a type constant. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max, where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if xoffset < - b , xoffset + width > w - b , yoffset < - b , or yoffset + height > h - b , where w is the GL_TEXTURE_WIDTH, h is the GL_TEXTURE_HEIGHT, and b is the border width of the texture image being modified. Note that w and h include twice the border width. GL_INVALID_VALUE is generated if width or height is less than 0. GL_INVALID_OPERATION is generated if the texture array has not been defined by a previous glTexImage2D operation. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glTexSubImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_2D glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glActiveTexture, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessProperty.xml0000664000175000017500000002024011453131434024427 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessProperty 3G gluTessProperty set a tessellation object property C Specification void gluTessProperty GLUtesselator* tess GLenum which GLdouble data Parameters tess Specifies the tessellation object (created with gluNewTess). which Specifies the property to be set. Valid values are GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, and GLU_TESS_TOLERANCE. data Specifies the value of the indicated property. Description gluTessProperty is used to control properties stored in a tessellation object. These properties affect the way that the polygons are interpreted and rendered. The legal values for which are as follows: GLU_TESS_WINDING_RULE Determines which parts of the polygon are on the ``interior''. data may be set to one of GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, or GLU_TESS_WINDING_ABS_GEQ_TWO. To understand how the winding rule works, consider that the input contours partition the plane into regions. The winding rule determines which of these regions are inside the polygon. For a single contour C, the winding number of a point x is simply the signed number of revolutions we make around x as we travel once around C (where CCW is positive). When there are several contours, the individual winding numbers are summed. This procedure associates a signed integer value with each point x in the plane. Note that the winding number is the same for all points in a single region. The winding rule classifies a region as ``inside'' if its winding number belongs to the chosen category (odd, nonzero, positive, negative, or absolute value of at least two). The previous GLU tessellator (prior to GLU 1.2) used the ``odd'' rule. The ``nonzero'' rule is another common way to define the interior. The other three rules are useful for polygon CSG operations. GLU_TESS_BOUNDARY_ONLY Is a boolean value (``value'' should be set to GL_TRUE or GL_FALSE). When set to GL_TRUE, a set of closed contours separating the polygon interior and exterior are returned instead of a tessellation. Exterior contours are oriented CCW with respect to the normal; interior contours are oriented CW. The GLU_TESS_BEGIN and GLU_TESS_BEGIN_DATA callbacks use the type GL_LINE_LOOP for each contour. GLU_TESS_TOLERANCE Specifies a tolerance for merging features to reduce the size of the output. For example, two vertices that are very close to each other might be replaced by a single vertex. The tolerance is multiplied by the largest coordinate magnitude of any input vertex; this specifies the maximum distance that any feature can move as the result of a single merge operation. If a single feature takes part in several merge operations, the total distance moved could be larger. Feature merging is completely optional; the tolerance is only a hint. The implementation is free to merge in some cases and not in others, or to never merge features at all. The initial tolerance is 0. The current implementation merges vertices only if they are exactly coincident, regardless of the current tolerance. A vertex is spliced into an edge only if the implementation is unable to distinguish which side of the edge the vertex lies on. Two edges are merged only when both endpoints are identical. See Also gluGetTessProperty, gluNewTess Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluUnProject.xml0000664000175000017500000003352311453131434023665 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluUnProject 3G gluUnProject map window coordinates to object coordinates C Specification GLint gluUnProject GLdouble winX GLdouble winY GLdouble winZ const GLdouble * model const GLdouble * proj const GLint * view GLdouble* objX GLdouble* objY GLdouble* objZ Parameters winX winY winZ Specify the window coordinates to be mapped. model Specifies the modelview matrix (as from a glGetDoublev call). proj Specifies the projection matrix (as from a glGetDoublev call). view Specifies the viewport (as from a glGetIntegerv call). objX objY objZ Returns the computed object coordinates. Description gluUnProject maps the specified window coordinates into object coordinates using model, proj, and view. The result is stored in objX, objY, and objZ. A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure. To compute the coordinates objX objY objZ , gluUnProject multiplies the normalized device coordinates by the inverse of model * proj as follows: objX objY objZ W = INV P M 2 winX - view 0 view 2 - 1 2 winY - view 1 view 3 - 1 2 winZ - 1 1 INV denotes matrix inversion. W is an unused variable, included for consistent matrix notation. See Also gluProject, glGet Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsCallbackDataEXT.xml0000664000175000017500000000562611453131434025640 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsCallbackDataEXT 3G gluNurbsCallbackDataEXT set a user data pointer C Specification void gluNurbsCallbackDataEXT GLUnurbs* nurb GLvoid* userData Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). userData Specifies a pointer to the user's data. Description gluNurbsCallbackDataEXT is used to pass a pointer to the application's data to NURBS tessellator. A copy of this pointer will be passed by the tessellator in the NURBS callback functions (set by gluNurbsCallback). See Also gluNurbsCallback Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPassThrough.xml0000664000175000017500000001050711453131434024033 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPassThrough 3G glPassThrough place a marker in the feedback buffer C Specification void glPassThrough GLfloat token Parameters token Specifies a marker value to be placed in the feedback buffer following a GL_PASS_THROUGH_TOKEN. Description Feedback is a GL render mode. The mode is selected by calling glRenderMode with GL_FEEDBACK. When the GL is in feedback mode, no pixels are produced by rasterization. Instead, information about primitives that would have been rasterized is fed back to the application using the GL. See the glFeedbackBuffer reference page for a description of the feedback buffer and the values in it. glPassThrough inserts a user-defined marker in the feedback buffer when it is executed in feedback mode. token is returned as if it were a primitive; it is indicated with its own unique identifying value: GL_PASS_THROUGH_TOKEN. The order of glPassThrough commands with respect to the specification of graphics primitives is maintained. Notes glPassThrough is ignored if the GL is not in feedback mode. Errors GL_INVALID_OPERATION is generated if glPassThrough is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_RENDER_MODE See Also glFeedbackBuffer, glRenderMode Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCullFace.xml0000664000175000017500000001122411453131434023237 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCullFace 3G glCullFace specify whether front- or back-facing facets can be culled C Specification void glCullFace GLenum mode Parameters mode Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. The initial value is GL_BACK. Description glCullFace specifies whether front- or back-facing facets are culled (as specified by mode) when facet culling is enabled. Facet culling is initially disabled. To enable and disable facet culling, call the glEnable and glDisable commands with the argument GL_CULL_FACE. Facets include triangles, quadrilaterals, polygons, and rectangles. glFrontFace specifies which of the clockwise and counterclockwise facets are front-facing and back-facing. See glFrontFace. Notes If mode is GL_FRONT_AND_BACK, no facets are drawn, but other primitives such as points and lines are drawn. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_OPERATION is generated if glCullFace is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsEnabled with argument GL_CULL_FACE glGet with argument GL_CULL_FACE_MODE See Also glEnable, glFrontFace Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLineWidth.xml0000664000175000017500000002021011453131432023441 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLineWidth 3G glLineWidth specify the width of rasterized lines C Specification void glLineWidth GLfloat width Parameters width Specifies the width of rasterized lines. The initial value is 1. Description glLineWidth specifies the rasterized width of both aliased and antialiased lines. Using a line width other than 1 has different effects, depending on whether line antialiasing is enabled. To enable and disable line antialiasing, call glEnable and glDisable with argument GL_LINE_SMOOTH. Line antialiasing is initially disabled. If line antialiasing is disabled, the actual width is determined by rounding the supplied width to the nearest integer. (If the rounding results in the value 0, it is as if the line width were 1.) If Δ x >= Δ y , i pixels are filled in each column that is rasterized, where i is the rounded value of width. Otherwise, i pixels are filled in each row that is rasterized. If antialiasing is enabled, line rasterization produces a fragment for each pixel square that intersects the region lying within the rectangle having width equal to the current line width, length equal to the actual length of the line, and centered on the mathematical line segment. The coverage value for each fragment is the window coordinate area of the intersection of the rectangular region with the corresponding pixel square. This value is saved and used in the final rasterization step. Not all widths can be supported when line antialiasing is enabled. If an unsupported width is requested, the nearest supported width is used. Only width 1 is guaranteed to be supported; others depend on the implementation. Likewise, there is a range for aliased line widths as well. To query the range of supported widths and the size difference between supported widths within the range, call glGet with arguments GL_ALIASED_LINE_WIDTH_RANGE, GL_SMOOTH_LINE_WIDTH_RANGE, and GL_SMOOTH_LINE_WIDTH_GRANULARITY. Notes The line width specified by glLineWidth is always returned when GL_LINE_WIDTH is queried. Clamping and rounding for aliased and antialiased lines have no effect on the specified value. Nonantialiased line width may be clamped to an implementation-dependent maximum. Call glGet with GL_ALIASED_LINE_WIDTH_RANGE to determine the maximum width. In OpenGL 1.2, the tokens GL_LINE_WIDTH_RANGE and GL_LINE_WIDTH_GRANULARITY were replaced by GL_ALIASED_LINE_WIDTH_RANGE, GL_SMOOTH_LINE_WIDTH_RANGE, and GL_SMOOTH_LINE_WIDTH_GRANULARITY. The old names are retained for backward compatibility, but should not be used in new code. Errors GL_INVALID_VALUE is generated if width is less than or equal to 0. GL_INVALID_OPERATION is generated if glLineWidth is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_LINE_WIDTH glGet with argument GL_ALIASED_LINE_WIDTH_RANGE glGet with argument GL_SMOOTH_LINE_WIDTH_RANGE glGet with argument GL_SMOOTH_LINE_WIDTH_GRANULARITY glIsEnabled with argument GL_LINE_SMOOTH See Also glEnable Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCallLists.xml0000664000175000017500000003254511453131434023464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCallLists 3G glCallLists execute a list of display lists C Specification void glCallLists GLsizei n GLenum type const GLvoid * lists Parameters n Specifies the number of display lists to be executed. type Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. lists Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. Description glCallLists causes each display list in the list of names passed as lists to be executed. As a result, the commands saved in each display list are executed in order, just as if they were called without using a display list. Names of display lists that have not been defined are ignored. glCallLists provides an efficient means for executing more than one display list. type allows lists with various name formats to be accepted. The formats are as follows: GL_BYTE lists is treated as an array of signed bytes, each in the range -128 through 127. GL_UNSIGNED_BYTE lists is treated as an array of unsigned bytes, each in the range 0 through 255. GL_SHORT lists is treated as an array of signed two-byte integers, each in the range -32768 through 32767. GL_UNSIGNED_SHORT lists is treated as an array of unsigned two-byte integers, each in the range 0 through 65535. GL_INT lists is treated as an array of signed four-byte integers. GL_UNSIGNED_INT lists is treated as an array of unsigned four-byte integers. GL_FLOAT lists is treated as an array of four-byte floating-point values. GL_2_BYTES lists is treated as an array of unsigned bytes. Each pair of bytes specifies a single display-list name. The value of the pair is computed as 256 times the unsigned value of the first byte plus the unsigned value of the second byte. GL_3_BYTES lists is treated as an array of unsigned bytes. Each triplet of bytes specifies a single display-list name. The value of the triplet is computed as 65536 times the unsigned value of the first byte, plus 256 times the unsigned value of the second byte, plus the unsigned value of the third byte. GL_4_BYTES lists is treated as an array of unsigned bytes. Each quadruplet of bytes specifies a single display-list name. The value of the quadruplet is computed as 16777216 times the unsigned value of the first byte, plus 65536 times the unsigned value of the second byte, plus 256 times the unsigned value of the third byte, plus the unsigned value of the fourth byte. The list of display-list names is not null-terminated. Rather, n specifies how many names are to be taken from lists. An additional level of indirection is made available with the glListBase command, which specifies an unsigned offset that is added to each display-list name specified in lists before that display list is executed. glCallLists can appear inside a display list. To avoid the possibility of infinite recursion resulting from display lists calling one another, a limit is placed on the nesting level of display lists during display-list execution. This limit must be at least 64, and it depends on the implementation. GL state is not saved and restored across a call to glCallLists. Thus, changes made to GL state during the execution of the display lists remain after execution is completed. Use glPushAttrib, glPopAttrib, glPushMatrix, and glPopMatrix to preserve GL state across glCallLists calls. Notes Display lists can be executed between a call to glBegin and the corresponding call to glEnd, as long as the display list includes only commands that are allowed in this interval. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_ENUM is generated if type is not one of GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, GL_4_BYTES. Associated Gets glGet with argument GL_LIST_BASE glGet with argument GL_MAX_LIST_NESTING glIsList See Also glCallList, glDeleteLists, glGenLists, glListBase, glNewList, glPushAttrib, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMultiDrawElements.xml0000664000175000017500000002056511453131434025176 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMultiDrawElements 3G glMultiDrawElements render multiple sets of primitives by specifying indices of array data elements C Specification void glMultiDrawElements GLenum mode const GLsizei * count GLenum type const GLvoid ** indices GLsizei primcount Parameters mode Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. count Points to an array of the elements counts. type Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. indices Specifies a pointer to the location where the indices are stored. primcount Specifies the size of the count array. Description glMultiDrawElements specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and so on, and use them to construct a sequence of primitives with a single call to glMultiDrawElements. glMultiDrawElements is identical in operation to glDrawElements except that primcount separate lists of elements are specified. Vertex attributes that are modified by glMultiDrawElements have an unspecified value after glMultiDrawElements returns. For example, if GL_COLOR_ARRAY is enabled, the value of the current color is undefined after glMultiDrawElements executes. Attributes that aren't modified maintain their previous values. Notes glMultiDrawElements is available only if the GL version is 1.4 or greater. glMultiDrawElements is included in display lists. If glMultiDrawElements is entered into a display list, the necessary array data (determined by the array pointers and enables) is also entered into the display list. Because the array pointers and enables are client-side state, their values affect display lists when the lists are created, not when the lists are executed. Errors GL_INVALID_ENUM is generated if mode is not an accepted value. GL_INVALID_VALUE is generated if primcount is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array or the element array and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if glMultiDrawElements is executed between the execution of glBegin and the corresponding glEnd. See Also glArrayElement, glColorPointer, glDrawArrays, glDrawRangeElements, glEdgeFlagPointer, glFogCoordPointer, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glSecondaryColorPointer, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIndexPointer.xml0000664000175000017500000002571611453131434024204 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIndexPointer 3G glIndexPointer define an array of color indexes C Specification void glIndexPointer GLenum type GLsizei stride const GLvoid * pointer Parameters type Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. pointer Specifies a pointer to the first index in the array. The initial value is 0. Description glIndexPointer specifies the location and data format of an array of color indexes to use when rendering. type specifies the data type of each color index and stride specifies the byte stride from one color index to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a color index array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as color index vertex array client-side state (GL_INDEX_ARRAY_BUFFER_BINDING). When a color index array is specified, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the color index array, call glEnableClientState and glDisableClientState with the argument GL_INDEX_ARRAY. If enabled, the color index array is used when glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, glDrawRangeElements, or glArrayElement is called. Notes glIndexPointer is available only if the GL version is 1.1 or greater. Color indexes are not supported for interleaved vertex array formats (see glInterleavedArrays). The color index array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glIndexPointer is not allowed between glBegin and the corresponding glEnd, but an error may or may not be generated. If an error is not generated, the operation is undefined. glIndexPointer is typically implemented on the client side. Color index array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_ENUM is generated if type is not an accepted value. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_INDEX_ARRAY glGet with argument GL_INDEX_ARRAY_TYPE glGet with argument GL_INDEX_ARRAY_STRIDE glGet with argument GL_INDEX_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_INDEX_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glIndex, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glRotate.xml0000664000175000017500000005334611453131434023032 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glRotate 3G glRotate multiply the current matrix by a rotation matrix C Specification void glRotated GLdouble angle GLdouble x GLdouble y GLdouble z void glRotatef GLfloat angle GLfloat x GLfloat y GLfloat z Parameters angle Specifies the angle of rotation, in degrees. x y z Specify the x, y, and z coordinates of a vector, respectively. Description glRotate produces a rotation of angle degrees around the vector x y z . The current matrix (see glMatrixMode) is multiplied by a rotation matrix with the product replacing the current matrix, as if glMultMatrix were called with the following matrix as its argument: x 2 1 - c + c x y 1 - c - z s x z 1 - c + y s 0 y x 1 - c + z s y 2 1 - c + c y z 1 - c - x s 0 x z 1 - c - y s y z 1 - c + x s z 2 1 - c + c 0 0 0 0 1 Where c = cos angle , s = sin angle , and x y z = 1 (if not, the GL will normalize this vector). If the matrix mode is either GL_MODELVIEW or GL_PROJECTION, all objects drawn after glRotate is called are rotated. Use glPushMatrix and glPopMatrix to save and restore the unrotated coordinate system. Notes This rotation follows the right-hand rule, so if the vector x y z points toward the user, the rotation will be counterclockwise. Errors GL_INVALID_OPERATION is generated if glRotate is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glMatrixMode, glMultMatrix, glPushMatrix, glScale, glTranslate Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPushClientAttrib.xml0000664000175000017500000001674111453131434025016 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPushClientAttrib 3G glPushClientAttrib push and pop the client attribute stack C Specification void glPushClientAttrib GLbitfield mask Parameters mask Specifies a mask that indicates which attributes to save. Values for mask are listed below. C Specification void glPopClientAttrib void Description glPushClientAttrib takes one argument, a mask that indicates which groups of client-state variables to save on the client attribute stack. Symbolic constants are used to set bits in the mask. mask is typically constructed by specifying the bitwise-or of several of these constants together. The special mask GL_CLIENT_ALL_ATTRIB_BITS can be used to save all stackable client state. The symbolic mask constants and their associated GL client state are as follows (the second column lists which attributes are saved): GL_CLIENT_PIXEL_STORE_BIT Pixel storage modes GL_CLIENT_VERTEX_ARRAY_BIT Vertex arrays (and enables) glPopClientAttrib restores the values of the client-state variables saved with the last glPushClientAttrib. Those not saved are left unchanged. It is an error to push attributes onto a full client attribute stack or to pop attributes off an empty stack. In either case, the error flag is set, and no other change is made to GL state. Initially, the client attribute stack is empty. Notes glPushClientAttrib is available only if the GL version is 1.1 or greater. Not all values for GL client state can be saved on the attribute stack. For example, select and feedback state cannot be saved. The depth of the attribute stack depends on the implementation, but it must be at least 16. Use glPushAttrib and glPopAttrib to push and restore state that is kept on the server. Only pixel storage modes and vertex array state may be pushed and popped with glPushClientAttrib and glPopClientAttrib. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, pushing and popping client vertex array state applies to all supported texture units, and the active client texture state. Errors GL_STACK_OVERFLOW is generated if glPushClientAttrib is called while the attribute stack is full. GL_STACK_UNDERFLOW is generated if glPopClientAttrib is called while the attribute stack is empty. Associated Gets glGet with argument GL_ATTRIB_STACK_DEPTH glGet with argument GL_MAX_CLIENT_ATTRIB_STACK_DEPTH See Also glColorPointer, glDisableClientState, glEdgeFlagPointer, glEnableClientState, glFogCoordPointer, glGet, glGetError, glIndexPointer, glNormalPointer, glNewList, glPixelStore, glPushAttrib, glTexCoordPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glLogicOp.xml0000664000175000017500000002741511453131434023126 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glLogicOp 3G glLogicOp specify a logical pixel operation for color index rendering C Specification void glLogicOp GLenum opcode Parameters opcode Specifies a symbolic constant that selects a logical operation. The following symbols are accepted: GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, and GL_OR_INVERTED. The initial value is GL_COPY. Description glLogicOp specifies a logical operation that, when enabled, is applied between the incoming color index or RGBA color and the color index or RGBA color at the corresponding location in the frame buffer. To enable or disable the logical operation, call glEnable and glDisable using the symbolic constant GL_COLOR_LOGIC_OP for RGBA mode or GL_INDEX_LOGIC_OP for color index mode. The initial value is disabled for both operations. Opcode Resulting Operation GL_CLEAR 0 GL_SET 1 GL_COPY s GL_COPY_INVERTED ~s GL_NOOP d GL_INVERT ~d GL_AND s & d GL_NAND ~(s & d) GL_OR s | d GL_NOR ~(s | d) GL_XOR s ^ d GL_EQUIV ~(s ^ d) GL_AND_REVERSE s & ~d GL_AND_INVERTED ~s & d GL_OR_REVERSE s | ~d GL_OR_INVERTED ~s | d opcode is a symbolic constant chosen from the list above. In the explanation of the logical operations, s represents the incoming color index and d represents the index in the frame buffer. Standard C-language operators are used. As these bitwise operators suggest, the logical operation is applied independently to each bit pair of the source and destination indices or colors. Notes Color index logical operations are always supported. RGBA logical operations are supported only if the GL version is 1.1 or greater. When more than one RGBA color or index buffer is enabled for drawing, logical operations are performed separately for each enabled buffer, using for the destination value the contents of that buffer (see glDrawBuffer). Errors GL_INVALID_ENUM is generated if opcode is not an accepted value. GL_INVALID_OPERATION is generated if glLogicOp is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_LOGIC_OP_MODE. glIsEnabled with argument GL_COLOR_LOGIC_OP or GL_INDEX_LOGIC_OP. See Also glAlphaFunc, glBlendFunc, glDrawBuffer, glEnable, glStencilOp Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEnable.xml0000664000175000017500000015267411453131432022764 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEnable 3G glEnable enable or disable server-side GL capabilities C Specification void glEnable GLenum cap Parameters cap Specifies a symbolic constant indicating a GL capability. C Specification void glDisable GLenum cap Parameters cap Specifies a symbolic constant indicating a GL capability. Description glEnable and glDisable enable and disable various capabilities. Use glIsEnabled or glGet to determine the current setting of any capability. The initial value for each capability with the exception of GL_DITHER and GL_MULTISAMPLE is GL_FALSE. The initial value for GL_DITHER and GL_MULTISAMPLE is GL_TRUE. Both glEnable and glDisable take a single argument, cap, which can assume one of the following values: GL_ALPHA_TEST If enabled, do alpha testing. See glAlphaFunc. GL_AUTO_NORMAL If enabled, generate normal vectors when either GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4 is used to generate vertices. See glMap2. GL_BLEND If enabled, blend the computed fragment color values with the values in the color buffers. See glBlendFunc. GL_CLIP_PLANEi If enabled, clip geometry against user-defined clipping plane i. See glClipPlane. GL_COLOR_LOGIC_OP If enabled, apply the currently selected logical operation to the computed fragment color and color buffer values. See glLogicOp. GL_COLOR_MATERIAL If enabled, have one or more material parameters track the current color. See glColorMaterial. GL_COLOR_SUM If enabled and no fragment shader is active, add the secondary color value to the computed fragment color. See glSecondaryColor. GL_COLOR_TABLE If enabled, perform a color table lookup on the incoming RGBA color values. See glColorTable. GL_CONVOLUTION_1D If enabled, perform a 1D convolution operation on incoming RGBA color values. See glConvolutionFilter1D. GL_CONVOLUTION_2D If enabled, perform a 2D convolution operation on incoming RGBA color values. See glConvolutionFilter2D. GL_CULL_FACE If enabled, cull polygons based on their winding in window coordinates. See glCullFace. GL_DEPTH_TEST If enabled, do depth comparisons and update the depth buffer. Note that even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. See glDepthFunc and glDepthRange. GL_DITHER If enabled, dither color components or indices before they are written to the color buffer. GL_FOG If enabled and no fragment shader is active, blend a fog color into the post-texturing color. See glFog. GL_HISTOGRAM If enabled, histogram incoming RGBA color values. See glHistogram. GL_INDEX_LOGIC_OP If enabled, apply the currently selected logical operation to the incoming index and color buffer indices. See glLogicOp. GL_LIGHTi If enabled, include light i in the evaluation of the lighting equation. See glLightModel and glLight. GL_LIGHTING If enabled and no vertex shader is active, use the current lighting parameters to compute the vertex color or index. Otherwise, simply associate the current color or index with each vertex. See glMaterial, glLightModel, and glLight. GL_LINE_SMOOTH If enabled, draw lines with correct filtering. Otherwise, draw aliased lines. See glLineWidth. GL_LINE_STIPPLE If enabled, use the current line stipple pattern when drawing lines. See glLineStipple. GL_MAP1_COLOR_4 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate RGBA values. See glMap1. GL_MAP1_INDEX If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate color indices. See glMap1. GL_MAP1_NORMAL If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate normals. See glMap1. GL_MAP1_TEXTURE_COORD_1 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate s texture coordinates. See glMap1. GL_MAP1_TEXTURE_COORD_2 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate s and t texture coordinates. See glMap1. GL_MAP1_TEXTURE_COORD_3 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate s, t, and r texture coordinates. See glMap1. GL_MAP1_TEXTURE_COORD_4 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate s, t, r, and q texture coordinates. See glMap1. GL_MAP1_VERTEX_3 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate x, y, and z vertex coordinates. See glMap1. GL_MAP1_VERTEX_4 If enabled, calls to glEvalCoord1, glEvalMesh1, and glEvalPoint1 generate homogeneous x, y, z, and w vertex coordinates. See glMap1. GL_MAP2_COLOR_4 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate RGBA values. See glMap2. GL_MAP2_INDEX If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate color indices. See glMap2. GL_MAP2_NORMAL If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate normals. See glMap2. GL_MAP2_TEXTURE_COORD_1 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate s texture coordinates. See glMap2. GL_MAP2_TEXTURE_COORD_2 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate s and t texture coordinates. See glMap2. GL_MAP2_TEXTURE_COORD_3 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate s, t, and r texture coordinates. See glMap2. GL_MAP2_TEXTURE_COORD_4 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate s, t, r, and q texture coordinates. See glMap2. GL_MAP2_VERTEX_3 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate x, y, and z vertex coordinates. See glMap2. GL_MAP2_VERTEX_4 If enabled, calls to glEvalCoord2, glEvalMesh2, and glEvalPoint2 generate homogeneous x, y, z, and w vertex coordinates. See glMap2. GL_MINMAX If enabled, compute the minimum and maximum values of incoming RGBA color values. See glMinmax. GL_MULTISAMPLE If enabled, use multiple fragment samples in computing the final color of a pixel. See glSampleCoverage. GL_NORMALIZE If enabled and no vertex shader is active, normal vectors are normalized to unit length after transformation and before lighting. This method is generally less efficient than GL_RESCALE_NORMAL. See glNormal and glNormalPointer. GL_POINT_SMOOTH If enabled, draw points with proper filtering. Otherwise, draw aliased points. See glPointSize. GL_POINT_SPRITE If enabled, calculate texture coordinates for points based on texture environment and point parameter settings. Otherwise texture coordinates are constant across points. GL_POLYGON_OFFSET_FILL If enabled, and if the polygon is rendered in GL_FILL mode, an offset is added to depth values of a polygon's fragments before the depth comparison is performed. See glPolygonOffset. GL_POLYGON_OFFSET_LINE If enabled, and if the polygon is rendered in GL_LINE mode, an offset is added to depth values of a polygon's fragments before the depth comparison is performed. See glPolygonOffset. GL_POLYGON_OFFSET_POINT If enabled, an offset is added to depth values of a polygon's fragments before the depth comparison is performed, if the polygon is rendered in GL_POINT mode. See glPolygonOffset. GL_POLYGON_SMOOTH If enabled, draw polygons with proper filtering. Otherwise, draw aliased polygons. For correct antialiased polygons, an alpha buffer is needed and the polygons must be sorted front to back. GL_POLYGON_STIPPLE If enabled, use the current polygon stipple pattern when rendering polygons. See glPolygonStipple. GL_POST_COLOR_MATRIX_COLOR_TABLE If enabled, perform a color table lookup on RGBA color values after color matrix transformation. See glColorTable. GL_POST_CONVOLUTION_COLOR_TABLE If enabled, perform a color table lookup on RGBA color values after convolution. See glColorTable. GL_RESCALE_NORMAL If enabled and no vertex shader is active, normal vectors are scaled after transformation and before lighting by a factor computed from the modelview matrix. If the modelview matrix scales space uniformly, this has the effect of restoring the transformed normal to unit length. This method is generally more efficient than GL_NORMALIZE. See glNormal and glNormalPointer. GL_SAMPLE_ALPHA_TO_COVERAGE If enabled, compute a temporary coverage value where each bit is determined by the alpha value at the corresponding sample location. The temporary coverage value is then ANDed with the fragment coverage value. GL_SAMPLE_ALPHA_TO_ONE If enabled, each sample alpha value is replaced by the maximum representable alpha value. GL_SAMPLE_COVERAGE If enabled, the fragment's coverage is ANDed with the temporary coverage value. If GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage value. See glSampleCoverage. GL_SEPARABLE_2D If enabled, perform a two-dimensional convolution operation using a separable convolution filter on incoming RGBA color values. See glSeparableFilter2D. GL_SCISSOR_TEST If enabled, discard fragments that are outside the scissor rectangle. See glScissor. GL_STENCIL_TEST If enabled, do stencil testing and update the stencil buffer. See glStencilFunc and glStencilOp. GL_TEXTURE_1D If enabled and no fragment shader is active, one-dimensional texturing is performed (unless two- or three-dimensional or cube-mapped texturing is also enabled). See glTexImage1D. GL_TEXTURE_2D If enabled and no fragment shader is active, two-dimensional texturing is performed (unless three-dimensional or cube-mapped texturing is also enabled). See glTexImage2D. GL_TEXTURE_3D If enabled and no fragment shader is active, three-dimensional texturing is performed (unless cube-mapped texturing is also enabled). See glTexImage3D. GL_TEXTURE_CUBE_MAP If enabled and no fragment shader is active, cube-mapped texturing is performed. See glTexImage2D. GL_TEXTURE_GEN_Q If enabled and no vertex shader is active, the q texture coordinate is computed using the texture generation function defined with glTexGen. Otherwise, the current q texture coordinate is used. See glTexGen. GL_TEXTURE_GEN_R If enabled and no vertex shader is active, the r texture coordinate is computed using the texture generation function defined with glTexGen. Otherwise, the current r texture coordinate is used. See glTexGen. GL_TEXTURE_GEN_S If enabled and no vertex shader is active, the s texture coordinate is computed using the texture generation function defined with glTexGen. Otherwise, the current s texture coordinate is used. See glTexGen. GL_TEXTURE_GEN_T If enabled and no vertex shader is active, the t texture coordinate is computed using the texture generation function defined with glTexGen. Otherwise, the current t texture coordinate is used. See glTexGen. GL_VERTEX_PROGRAM_POINT_SIZE If enabled and a vertex shader is active, then the derived point size is taken from the (potentially clipped) shader builtin gl_PointSize and clamped to the implementation-dependent point size range. GL_VERTEX_PROGRAM_TWO_SIDE If enabled and a vertex shader is active, it specifies that the GL will choose between front and back colors based on the polygon's face direction of which the vertex being shaded is a part. It has no effect on points or lines. Notes GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, GL_POLYGON_OFFSET_POINT, GL_COLOR_LOGIC_OP, and GL_INDEX_LOGIC_OP are available only if the GL version is 1.1 or greater. GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the GL version is 1.2 or greater. GL_MULTISAMPLE, GL_SAMPLE_ALPHA_TO_COVERAGE, GL_SAMPLE_ALPHA_TO_ONE, GL_SAMPLE_COVERAGE, GL_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. GL_POINT_SPRITE, GL_VERTEX_PROGRAM_POINT_SIZE, and GL_VERTEX_PROGRAM_TWO_SIDE is available only if the GL version is 2.0 or greater. GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, GL_HISTOGRAM, GL_MINMAX, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, and GL_SEPARABLE_2D are available only if ARB_imaging is returned from glGet with an argument of GL_EXTENSIONS. For OpenGL versions 1.3 and greater, or when ARB_multitexture is supported, GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, and GL_TEXTURE_GEN_Q enable or disable the respective state for the active texture unit specified with glActiveTexture. Errors GL_INVALID_ENUM is generated if cap is not one of the values listed previously. GL_INVALID_OPERATION is generated if glEnable or glDisable is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsEnabled glGet See Also glActiveTexture, glAlphaFunc, glBlendFunc, glClipPlane, glColorMaterial, glCullFace, glDepthFunc, glDepthRange, glEnableClientState, glFog, glGet, glIsEnabled, glLight, glLightModel, glLineWidth, glLineStipple, glLogicOp, glMap1, glMap2, glMaterial, glNormal, glNormalPointer, glPointSize, glPolygonMode, glPolygonOffset, glPolygonStipple, glSampleCoverage, glScissor, glStencilFunc, glStencilOp, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glReadPixels.xml0000664000175000017500000012730311453131434023627 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glReadPixels 3G glReadPixels read a block of pixels from the frame buffer C Specification void glReadPixels GLint x GLint y GLsizei width GLsizei height GLenum format GLenum type GLvoid * data Parameters x y Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. width height Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. format Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. type Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. data Returns the pixel data. Description glReadPixels returns pixel data from the frame buffer, starting with the pixel whose lower left corner is at location (x, y), into client memory starting at location data. Several parameters control the processing of the pixel data before it is placed into client memory. These parameters are set with three commands: glPixelStore, glPixelTransfer, and glPixelMap. This reference page describes the effects on glReadPixels of most, but not all of the parameters specified by these three commands. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a block of pixels is requested, data is treated as a byte offset into the buffer object's data store rather than a pointer to client memory. When the ARB_imaging extension is supported, the pixel data may be processed by additional operations including color table lookup, color matrix transformations, convolutions, histograms, and minimum and maximum pixel value computations. glReadPixels returns values from each pixel with lower left corner at x + i y + j for 0 <= i < width and 0 <= j < height . This pixel is said to be the ith pixel in the jth row. Pixels are returned in row order from the lowest to the highest row, left to right in each row. format specifies the format for the returned pixel values; accepted values are: GL_COLOR_INDEX Color indices are read from the color buffer selected by glReadBuffer. Each index is converted to fixed point, shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET. If GL_MAP_COLOR is GL_TRUE, indices are replaced by their mappings in the table GL_PIXEL_MAP_I_TO_I. GL_STENCIL_INDEX Stencil values are read from the stencil buffer. Each index is converted to fixed point, shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET. If GL_MAP_STENCIL is GL_TRUE, indices are replaced by their mappings in the table GL_PIXEL_MAP_S_TO_S. GL_DEPTH_COMPONENT Depth values are read from the depth buffer. Each component is converted to floating point such that the minimum depth value maps to 0 and the maximum value maps to 1. Each component is then multiplied by GL_DEPTH_SCALE, added to GL_DEPTH_BIAS, and finally clamped to the range 0 1 . GL_RED GL_GREEN GL_BLUE GL_ALPHA GL_RGB GL_BGR GL_RGBA GL_BGRA GL_LUMINANCE GL_LUMINANCE_ALPHA Processing differs depending on whether color buffers store color indices or RGBA color components. If color indices are stored, they are read from the color buffer selected by glReadBuffer. Each index is converted to fixed point, shifted left or right depending on the value and sign of GL_INDEX_SHIFT, and added to GL_INDEX_OFFSET. Indices are then replaced by the red, green, blue, and alpha values obtained by indexing the tables GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A. Each table must be of size 2 n , but n may be different for different tables. Before an index is used to look up a value in a table of size 2 n , it must be masked against 2 n - 1 . If RGBA color components are stored in the color buffers, they are read from the color buffer selected by glReadBuffer. Each color component is converted to floating point such that zero intensity maps to 0.0 and full intensity maps to 1.0. Each component is then multiplied by GL_c_SCALE and added to GL_c_BIAS, where c is RED, GREEN, BLUE, or ALPHA. Finally, if GL_MAP_COLOR is GL_TRUE, each component is clamped to the range 0 1 , scaled to the size of its corresponding table, and is then replaced by its mapping in the table GL_PIXEL_MAP_c_TO_c, where c is R, G, B, or A. Unneeded data is then discarded. For example, GL_RED discards the green, blue, and alpha components, while GL_RGB discards only the alpha component. GL_LUMINANCE computes a single-component value as the sum of the red, green, and blue components, and GL_LUMINANCE_ALPHA does the same, while keeping alpha as a second value. The final values are clamped to the range 0 1 . The shift, scale, bias, and lookup factors just described are all specified by glPixelTransfer. The lookup table contents themselves are specified by glPixelMap. Finally, the indices or components are converted to the proper format, as specified by type. If format is GL_COLOR_INDEX or GL_STENCIL_INDEX and type is not GL_FLOAT, each index is masked with the mask value given in the following table. If type is GL_FLOAT, then each integer index is converted to single-precision floating-point format. If format is GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA and type is not GL_FLOAT, each component is multiplied by the multiplier shown in the following table. If type is GL_FLOAT, then each component is passed as is (or converted to the client's single-precision floating-point format if it is different from the one used by the GL). type Index Mask Component Conversion GL_UNSIGNED_BYTE 2 8 - 1 2 8 - 1 c GL_BYTE 2 7 - 1 2 8 - 1 c - 1 2 GL_BITMAP 1 1 GL_UNSIGNED_SHORT 2 16 - 1 2 16 - 1 c GL_SHORT 2 15 - 1 2 16 - 1 c - 1 2 GL_UNSIGNED_INT 2 32 - 1 2 32 - 1 c GL_INT 2 31 - 1 2 32 - 1 c - 1 2 GL_FLOAT none c Return values are placed in memory as follows. If format is GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, or GL_LUMINANCE, a single value is returned and the data for the ith pixel in the jth row is placed in location j width + i . GL_RGB and GL_BGR return three values, GL_RGBA and GL_BGRA return four values, and GL_LUMINANCE_ALPHA returns two values for each pixel, with all values corresponding to a single pixel occupying contiguous space in data. Storage parameters set by glPixelStore, such as GL_PACK_LSB_FIRST and GL_PACK_SWAP_BYTES, affect the way that data is written into memory. See glPixelStore for a description. Notes Values for pixels that lie outside the window connected to the current GL context are undefined. If an error is generated, no change is made to the contents of data. Errors GL_INVALID_ENUM is generated if format or type is not an accepted value. GL_INVALID_ENUM is generated if type is GL_BITMAP and format is not GL_COLOR_INDEX or GL_STENCIL_INDEX. GL_INVALID_VALUE is generated if either width or height is negative. GL_INVALID_OPERATION is generated if format is GL_COLOR_INDEX and the color buffers store RGBA color components. GL_INVALID_OPERATION is generated if format is GL_STENCIL_INDEX and there is no stencil buffer. GL_INVALID_OPERATION is generated if format is GL_DEPTH_COMPONENT and there is no depth buffer. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. The formats GL_BGR, and GL_BGRA and types GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are available only if the GL version is 1.2 or greater. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glReadPixels is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_INDEX_MODE glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glCopyPixels, glDrawPixels, glPixelMap, glPixelStore, glPixelTransfer, glReadBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGenTextures.xml0000664000175000017500000001215711453131434024044 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGenTextures 3G glGenTextures generate texture names C Specification void glGenTextures GLsizei n GLuint * textures Parameters n Specifies the number of texture names to be generated. textures Specifies an array in which the generated texture names are stored. Description glGenTextures returns n texture names in textures. There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to glGenTextures. The generated textures have no dimensionality; they assume the dimensionality of the texture target to which they are first bound (see glBindTexture). Texture names returned by a call to glGenTextures are not returned by subsequent calls, unless they are first deleted with glDeleteTextures. Notes glGenTextures is available only if the GL version is 1.1 or greater. Errors GL_INVALID_VALUE is generated if n is negative. GL_INVALID_OPERATION is generated if glGenTextures is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glIsTexture See Also glBindTexture, glCopyTexImage1D, glCopyTexImage2D, glDeleteTextures, glGet, glGetTexParameter, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glAttachShader.xml0000664000175000017500000001225711453131434024123 0ustar laneylaney glAttachShader 3G glAttachShader Attaches a shader object to a program object C Specification void glAttachShader GLuint program GLuint shader Parameters program Specifies the program object to which a shader object will be attached. shader Specifies the shader object that is to be attached. Description In order to create an executable, there must be a way to specify the list of things that will be linked together. Program objects provide this mechanism. Shaders that are to be linked together in a program object must first be attached to that program object. glAttachShader attaches the shader object specified by shader to the program object specified by program. This indicates that shader will be included in link operations that will be performed on program. All operations that can be performed on a shader object are valid whether or not the shader object is attached to a program object. It is permissible to attach a shader object to a program object before source code has been loaded into the shader object or before the shader object has been compiled. It is permissible to attach multiple shader objects of the same type because each may contain a portion of the complete shader. It is also permissible to attach a shader object to more than one program object. If a shader object is deleted while it is attached to a program object, it will be flagged for deletion, and deletion will not occur until glDetachShader is called to detach it from all program objects to which it is attached. Notes glAttachShader is available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if either program or shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_OPERATION is generated if shader is already attached to program. GL_INVALID_OPERATION is generated if glAttachShader is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetAttachedShaders with the handle of a valid program object glIsProgram glIsShader See Also glCompileShader, glDetachShader, glLinkProgram, glShaderSource Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluLookAt.xml0000664000175000017500000004265411453131434023152 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluLookAt 3G gluLookAt define a viewing transformation C Specification void gluLookAt GLdouble eyeX GLdouble eyeY GLdouble eyeZ GLdouble centerX GLdouble centerY GLdouble centerZ GLdouble upX GLdouble upY GLdouble upZ Parameters eyeX eyeY eyeZ Specifies the position of the eye point. centerX centerY centerZ Specifies the position of the reference point. upX upY upZ Specifies the direction of the up vector. Description gluLookAt creates a viewing matrix derived from an eye point, a reference point indicating the center of the scene, and an UP vector. The matrix maps the reference point to the negative z axis and the eye point to the origin. When a typical projection matrix is used, the center of the scene therefore maps to the center of the viewport. Similarly, the direction described by the UP vector projected onto the viewing plane is mapped to the positive y axis so that it points upward in the viewport. The UP vector must not be parallel to the line of sight from the eye point to the reference point. Let F = centerX - eyeX centerY - eyeY centerZ - eyeZ Let UP be the vector upX upY upZ . Then normalize as follows: f = F F UP = UP UP Finally, let s = f × UP , and u = s × f . M is then constructed as follows: M = s 0 s 1 s 2 0 u 0 u 1 u 2 0 - f 0 - f 1 - f 2 0 0 0 0 1 and gluLookAt is equivalent to glMultMatrixf(M); glTranslated(-eyex, -eyey, -eyez); See Also gluPerspective, glFrustum Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPixelTransfer.xml0000664000175000017500000020367011453131434024357 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPixelTransfer 3G glPixelTransfer set pixel transfer modes C Specification void glPixelTransferf GLenum pname GLfloat param void glPixelTransferi GLenum pname GLint param Parameters pname Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS. Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS. param Specifies the value that pname is set to. Description glPixelTransfer sets pixel transfer modes that affect the operation of subsequent glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, and glTexSubImage3D commands. Additionally, if the ARB_imaging subset is supported, the routines glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glHistogram, glMinmax, and glSeparableFilter2D are also affected. The algorithms that are specified by pixel transfer modes operate on pixels after they are read from the frame buffer (glCopyPixels glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, and glReadPixels), or unpacked from client memory (glDrawPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, and glTexSubImage3D). Pixel transfer operations happen in the same order, and in the same manner, regardless of the command that resulted in the pixel operation. Pixel storage modes (see glPixelStore) control the unpacking of pixels being read from client memory and the packing of pixels being written back into client memory. Pixel transfer operations handle four fundamental pixel types: color, color index, depth, and stencil. Color pixels consist of four floating-point values with unspecified mantissa and exponent sizes, scaled such that 0 represents zero intensity and 1 represents full intensity. Color indices comprise a single fixed-point value, with unspecified precision to the right of the binary point. Depth pixels comprise a single floating-point value, with unspecified mantissa and exponent sizes, scaled such that 0.0 represents the minimum depth buffer value, and 1.0 represents the maximum depth buffer value. Finally, stencil pixels comprise a single fixed-point value, with unspecified precision to the right of the binary point. The pixel transfer operations performed on the four basic pixel types are as follows: Color Each of the four color components is multiplied by a scale factor, then added to a bias factor. That is, the red component is multiplied by GL_RED_SCALE, then added to GL_RED_BIAS; the green component is multiplied by GL_GREEN_SCALE, then added to GL_GREEN_BIAS; the blue component is multiplied by GL_BLUE_SCALE, then added to GL_BLUE_BIAS; and the alpha component is multiplied by GL_ALPHA_SCALE, then added to GL_ALPHA_BIAS. After all four color components are scaled and biased, each is clamped to the range 0 1 . All color, scale, and bias values are specified with glPixelTransfer. If GL_MAP_COLOR is true, each color component is scaled by the size of the corresponding color-to-color map, then replaced by the contents of that map indexed by the scaled component. That is, the red component is scaled by GL_PIXEL_MAP_R_TO_R_SIZE, then replaced by the contents of GL_PIXEL_MAP_R_TO_R indexed by itself. The green component is scaled by GL_PIXEL_MAP_G_TO_G_SIZE, then replaced by the contents of GL_PIXEL_MAP_G_TO_G indexed by itself. The blue component is scaled by GL_PIXEL_MAP_B_TO_B_SIZE, then replaced by the contents of GL_PIXEL_MAP_B_TO_B indexed by itself. And the alpha component is scaled by GL_PIXEL_MAP_A_TO_A_SIZE, then replaced by the contents of GL_PIXEL_MAP_A_TO_A indexed by itself. All components taken from the maps are then clamped to the range 0 1 . GL_MAP_COLOR is specified with glPixelTransfer. The contents of the various maps are specified with glPixelMap. If the ARB_imaging extension is supported, each of the four color components may be scaled and biased after transformation by the color matrix. That is, the red component is multiplied by GL_POST_COLOR_MATRIX_RED_SCALE, then added to GL_POST_COLOR_MATRIX_RED_BIAS; the green component is multiplied by GL_POST_COLOR_MATRIX_GREEN_SCALE, then added to GL_POST_COLOR_MATRIX_GREEN_BIAS; the blue component is multiplied by GL_POST_COLOR_MATRIX_BLUE_SCALE, then added to GL_POST_COLOR_MATRIX_BLUE_BIAS; and the alpha component is multiplied by GL_POST_COLOR_MATRIX_ALPHA_SCALE, then added to GL_POST_COLOR_MATRIX_ALPHA_BIAS. After all four color components are scaled and biased, each is clamped to the range 0 1 . Similarly, if the ARB_imaging extension is supported, each of the four color components may be scaled and biased after processing by the enabled convolution filter. That is, the red component is multiplied by GL_POST_CONVOLUTION_RED_SCALE, then added to GL_POST_CONVOLUTION_RED_BIAS; the green component is multiplied by GL_POST_CONVOLUTION_GREEN_SCALE, then added to GL_POST_CONVOLUTION_GREEN_BIAS; the blue component is multiplied by GL_POST_CONVOLUTION_BLUE_SCALE, then added to GL_POST_CONVOLUTION_BLUE_BIAS; and the alpha component is multiplied by GL_POST_CONVOLUTION_ALPHA_SCALE, then added to GL_POST_CONVOLUTION_ALPHA_BIAS. After all four color components are scaled and biased, each is clamped to the range 0 1 . Color index Each color index is shifted left by GL_INDEX_SHIFT bits; any bits beyond the number of fraction bits carried by the fixed-point index are filled with zeros. If GL_INDEX_SHIFT is negative, the shift is to the right, again zero filled. Then GL_INDEX_OFFSET is added to the index. GL_INDEX_SHIFT and GL_INDEX_OFFSET are specified with glPixelTransfer. From this point, operation diverges depending on the required format of the resulting pixels. If the resulting pixels are to be written to a color index buffer, or if they are being read back to client memory in GL_COLOR_INDEX format, the pixels continue to be treated as indices. If GL_MAP_COLOR is true, each index is masked by 2 n - 1 , where n is GL_PIXEL_MAP_I_TO_I_SIZE, then replaced by the contents of GL_PIXEL_MAP_I_TO_I indexed by the masked value. GL_MAP_COLOR is specified with glPixelTransfer. The contents of the index map is specified with glPixelMap. If the resulting pixels are to be written to an RGBA color buffer, or if they are read back to client memory in a format other than GL_COLOR_INDEX, the pixels are converted from indices to colors by referencing the four maps GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A. Before being dereferenced, the index is masked by 2 n - 1 , where n is GL_PIXEL_MAP_I_TO_R_SIZE for the red map, GL_PIXEL_MAP_I_TO_G_SIZE for the green map, GL_PIXEL_MAP_I_TO_B_SIZE for the blue map, and GL_PIXEL_MAP_I_TO_A_SIZE for the alpha map. All components taken from the maps are then clamped to the range 0 1 . The contents of the four maps is specified with glPixelMap. Depth Each depth value is multiplied by GL_DEPTH_SCALE, added to GL_DEPTH_BIAS, then clamped to the range 0 1 . Stencil Each index is shifted GL_INDEX_SHIFT bits just as a color index is, then added to GL_INDEX_OFFSET. If GL_MAP_STENCIL is true, each index is masked by 2 n - 1 , where n is GL_PIXEL_MAP_S_TO_S_SIZE, then replaced by the contents of GL_PIXEL_MAP_S_TO_S indexed by the masked value. The following table gives the type, initial value, and range of valid values for each of the pixel transfer parameters that are set with glPixelTransfer. pname Type Initial Value Valid Range GL_MAP_COLOR boolean false true/false GL_MAP_STENCIL boolean false true/false GL_INDEX_SHIFT integer 0 - GL_INDEX_OFFSET integer 0 - GL_RED_SCALE float 1 - GL_GREEN_SCALE float 1 - GL_BLUE_SCALE float 1 - GL_ALPHA_SCALE float 1 - GL_DEPTH_SCALE float 1 - GL_RED_BIAS float 0 - GL_GREEN_BIAS float 0 - GL_BLUE_BIAS float 0 - GL_ALPHA_BIAS float 0 - GL_DEPTH_BIAS float 0 - GL_POST_COLOR_MATRIX_RED_SCALE float 1 - GL_POST_COLOR_MATRIX_GREEN_SCALE float 1 - GL_POST_COLOR_MATRIX_BLUE_SCALE float 1 - GL_POST_COLOR_MATRIX_ALPHA_SCALE float 1 - GL_POST_COLOR_MATRIX_RED_BIAS float 0 - GL_POST_COLOR_MATRIX_GREEN_BIAS float 0 - GL_POST_COLOR_MATRIX_BLUE_BIAS float 0 - GL_POST_COLOR_MATRIX_ALPHA_BIAS float 0 - GL_POST_CONVOLUTION_RED_SCALE float 1 - GL_POST_CONVOLUTION_GREEN_SCALE float 1 - GL_POST_CONVOLUTION_BLUE_SCALE float 1 - GL_POST_CONVOLUTION_ALPHA_SCALE float 1 - GL_POST_CONVOLUTION_RED_BIAS float 0 - GL_POST_CONVOLUTION_GREEN_BIAS float 0 - GL_POST_CONVOLUTION_BLUE_BIAS float 0 - GL_POST_CONVOLUTION_ALPHA_BIAS float 0 - glPixelTransferf can be used to set any pixel transfer parameter. If the parameter type is boolean, 0 implies false and any other value implies true. If pname is an integer parameter, param is rounded to the nearest integer. Likewise, glPixelTransferi can be used to set any of the pixel transfer parameters. Boolean parameters are set to false if param is 0 and to true otherwise. param is converted to floating point before being assigned to real-valued parameters. Notes If a glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glReadPixels, glSeparableFilter2D, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, or glTexSubImage3D command is placed in a display list (see glNewList and glCallList), the pixel transfer mode settings in effect when the display list is executed are the ones that are used. They may be different from the settings when the command was compiled into the display list. Errors GL_INVALID_ENUM is generated if pname is not an accepted value. GL_INVALID_OPERATION is generated if glPixelTransfer is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAP_COLOR glGet with argument GL_MAP_STENCIL glGet with argument GL_INDEX_SHIFT glGet with argument GL_INDEX_OFFSET glGet with argument GL_RED_SCALE glGet with argument GL_RED_BIAS glGet with argument GL_GREEN_SCALE glGet with argument GL_GREEN_BIAS glGet with argument GL_BLUE_SCALE glGet with argument GL_BLUE_BIAS glGet with argument GL_ALPHA_SCALE glGet with argument GL_ALPHA_BIAS glGet with argument GL_DEPTH_SCALE glGet with argument GL_DEPTH_BIAS glGet with argument GL_POST_COLOR_MATRIX_RED_SCALE glGet with argument GL_POST_COLOR_MATRIX_RED_BIAS glGet with argument GL_POST_COLOR_MATRIX_GREEN_SCALE glGet with argument GL_POST_COLOR_MATRIX_GREEN_BIAS glGet with argument GL_POST_COLOR_MATRIX_BLUE_SCALE glGet with argument GL_POST_COLOR_MATRIX_BLUE_BIAS glGet with argument GL_POST_COLOR_MATRIX_ALPHA_SCALE glGet with argument GL_POST_COLOR_MATRIX_ALPHA_BIAS glGet with argument GL_POST_CONVOLUTION_RED_SCALE glGet with argument GL_POST_CONVOLUTION_RED_BIAS glGet with argument GL_POST_CONVOLUTION_GREEN_SCALE glGet with argument GL_POST_CONVOLUTION_GREEN_BIAS glGet with argument GL_POST_CONVOLUTION_BLUE_SCALE glGet with argument GL_POST_CONVOLUTION_BLUE_BIAS glGet with argument GL_POST_CONVOLUTION_ALPHA_SCALE glGet with argument GL_POST_CONVOLUTION_ALPHA_BIAS See Also glCallList, glColorTable, glColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glNewList, glPixelMap, glPixelStore, glPixelZoom, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXCreateGLXPixmap.xml0000664000175000017500000001364311453131434024655 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXCreateGLXPixmap 3G glXCreateGLXPixmap create an off-screen GLX rendering area C Specification GLXPixmap glXCreateGLXPixmap Display * dpy XVisualInfo * vis Pixmap pixmap Parameters dpy Specifies the connection to the X server. vis Specifies the visual that defines the structure of the rendering area. It is a pointer to an XVisualInfo structure, not a visual ID or a pointer to a Visual. pixmap Specifies the X pixmap that will be used as the front left color buffer of the off-screen rendering area. Description glXCreateGLXPixmap creates an off-screen rendering area and returns its XID. Any GLX rendering context that was created with respect to vis can be used to render into this off-screen area. Use glXMakeCurrent to associate the rendering area with a GLX rendering context. The X pixmap identified by pixmap is used as the front left buffer of the resulting off-screen rendering area. All other buffers specified by vis, including color buffers other than the front left buffer, are created without externally visible names. GLX pixmaps with double-buffering are supported. However, glXSwapBuffers is ignored by these pixmaps. Some implementations may not support GLX pixmaps with direct rendering contexts. Notes XVisualInfo is defined in Xutil.h. It is a structure that includes visual, visualID, screen, and depth elements. Errors BadMatch is generated if the depth of pixmap does not match the depth value reported by core X11 for vis, or if pixmap was not created with respect to the same screen as vis. BadValue is generated if vis is not a valid XVisualInfo pointer (for example, if a particular GLX implementation does not support this visual). BadPixmap is generated if pixmap is not a valid pixmap. BadAlloc is generated if the server cannot allocate the GLX pixmap. See Also glXCreateContext, glXCreatePixmap, glXDestroyGLXPixmap, glXIsDirect, glXMakeCurrent Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glInitNames.xml0000664000175000017500000000653311453131432023455 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glInitNames 3G glInitNames initialize the name stack C Specification void glInitNames void Description The name stack is used during selection mode to allow sets of rendering commands to be uniquely identified. It consists of an ordered set of unsigned integers. glInitNames causes the name stack to be initialized to its default empty state. The name stack is always empty while the render mode is not GL_SELECT. Calls to glInitNames while the render mode is not GL_SELECT are ignored. Errors GL_INVALID_OPERATION is generated if glInitNames is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_NAME_STACK_DEPTH glGet with argument GL_MAX_NAME_STACK_DEPTH See Also glLoadName, glPushName, glRenderMode, glSelectBuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluBuild1DMipmapLevels.xml0000664000175000017500000005167611453131434025530 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluBuild1DMipmapLevels 3G gluBuild1DMipmapLevels builds a subset of one-dimensional mipmap levels C Specification GLint gluBuild1DMipmapLevels GLenum target GLint internalFormat GLsizei width GLenum format GLenum type GLint level GLint base GLint max const void * data Parameters target Specifies the target texture. Must be GLU_TEXTURE_1D. internalFormat Requests the internal storage format of the texture image. The most current version of the SGI implementation of GLU does not check this value for validity before passing it on to the underlying OpenGL implementation. A value that is not accepted by the OpenGL implementation will lead to an OpenGL error. The benefit of not checking this value at the GLU level is that OpenGL extensions can add new internal texture formats without requiring a revision of the GLU implementation. Older implementations of GLU check this value and raise a GLU error if it is not 1, 2, 3, or 4 or one of the following symbolic constants: GLU_ALPHA, GLU_ALPHA4, GLU_ALPHA8, GLU_ALPHA12, GLU_ALPHA16, GLU_LUMINANCE, GLU_LUMINANCE4, GLU_LUMINANCE8, GLU_LUMINANCE12, GLU_LUMINANCE16, GLU_LUMINANCE_ALPHA, GLU_LUMINANCE4_ALPHA4, GLU_LUMINANCE6_ALPHA2, GLU_LUMINANCE8_ALPHA8, GLU_LUMINANCE12_ALPHA4, GLU_LUMINANCE12_ALPHA12, GLU_LUMINANCE16_ALPHA16, GLU_INTENSITY, GLU_INTENSITY4, GLU_INTENSITY8, GLU_INTENSITY12, GLU_INTENSITY16, GLU_RGB, GLU_R3_G3_B2, GLU_RGB4, GLU_RGB5, GLU_RGB8, GLU_RGB10, GLU_RGB12, GLU_RGB16, GLU_RGBA, GLU_RGBA2, GLU_RGBA4, GLU_RGB5_A1, GLU_RGBA8, GLU_RGB10_A2, GLU_RGBA12, or GLU_RGBA16. width Specifies the width in pixels of the texture image. This should be a power of 2. format Specifies the format of the pixel data. Must be one of: GLU_COLOR_INDEX, GLU_DEPTH_COMPONENT, GLU_RED, GLU_GREEN, GLU_BLUE, GLU_ALPHA, GLU_RGB, GLU_RGBA, GLU_BGR, GLU_BGRA, GLU_LUMINANCE, or GLU_LUMINANCE_ALPHA. type Specifies the data type for data. Must be one of: GLU_UNSIGNED_BYTE, GLU_BYTE, GLU_BITMAP, GLU_UNSIGNED_SHORT, GLU_SHORT, GLU_UNSIGNED_INT, GLU_INT, GLU_FLOAT, GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, or GLU_UNSIGNED_INT_2_10_10_10_REV. level Specifies the mipmap level of the image data. base Specifies the minimum mipmap level to pass to glTexImage1D. max Specifies the maximum mipmap level to pass to glTexImage1D. data Specifies a pointer to the image data in memory. Description gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional texture maps of decreasing resolutions called a mipmap. This is used for the antialiasing of texture mapped primitives. A return value of zero indicates success, otherwise a GLU error code is returned (see gluErrorString). A series of mipmap levels from base to max is built by decimating data in half until size 1 × 1 is reached. At each level, each texel in the halved mipmap level is an average of the corresponding two texels in the larger mipmap level. glTexImage1D is called to load these mipmap levels from base to max. If max is larger than the highest mipmap level for the texture of the specified size, then a GLU error code is returned (see gluErrorString) and nothing is loaded. For example, if level is 2 and width is 16, the following levels are possible: 16 × 1 , 8 × 1 , 4 × 1 , 2 × 1 , 1 × 1 . These correspond to levels 2 through 6 respectively. If base is 3 and max is 5, then only mipmap levels 8 × 1 , 4 × 1 and 2 × 1 are loaded. However, if max is 7, then an error is returned and nothing is loaded since max is larger than the highest mipmap level which is, in this case, 6. The highest mipmap level can be derived from the formula log 2 width × 2 level . See the glTexImage1D reference page for a description of the acceptable values for type parameter. See the glDrawPixels reference page for a description of the acceptable values for level parameter. Notes gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or greater. Formats GLU_BGR, and GLU_BGRA, and types GLU_UNSIGNED_BYTE_3_3_2, GLU_UNSIGNED_BYTE_2_3_3_REV, GLU_UNSIGNED_SHORT_5_6_5, GLU_UNSIGNED_SHORT_5_6_5_REV, GLU_UNSIGNED_SHORT_4_4_4_4, GLU_UNSIGNED_SHORT_4_4_4_4_REV, GLU_UNSIGNED_SHORT_5_5_5_1, GLU_UNSIGNED_SHORT_1_5_5_5_REV, GLU_UNSIGNED_INT_8_8_8_8, GLU_UNSIGNED_INT_8_8_8_8_REV, GLU_UNSIGNED_INT_10_10_10_2, and GLU_UNSIGNED_INT_2_10_10_10_REV are only available if the GL version is 1.2 or greater. Errors GLU_INVALID_VALUE is returned if level > base, base < 0, max < base or max is > the highest mipmap level for data. GLU_INVALID_VALUE is returned if width is < 1. GLU_INVALID_ENUM is returned if internalFormat, format, or type are not legal. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_BYTE_3_3_2 or GLU_UNSIGNED_BYTE_2_3_3_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_6_5 or GLU_UNSIGNED_SHORT_5_6_5_REV and format is not GLU_RGB. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_4_4_4_4 or GLU_UNSIGNED_SHORT_4_4_4_4_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_SHORT_5_5_5_1 or GLU_UNSIGNED_SHORT_1_5_5_5_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_8_8_8_8 or GLU_UNSIGNED_INT_8_8_8_8_REV and format is neither GLU_RGBA nor GLU_BGRA. GLU_INVALID_OPERATION is returned if type is GLU_UNSIGNED_INT_10_10_10_2 or GLU_UNSIGNED_INT_2_10_10_10_REV and format is neither GLU_RGBA nor GLU_BGRA. See Also gluBuild1DMipmaps, gluBuild2DMipmapLevels, gluBuild2DMipmaps, gluBuild3DMipmapLevels, gluBuild3DMipmaps, gluErrorString, glDrawPixels, glGetTexImage, glGetTexLevelParameter, glTexImage1D, glTexImage2D, glTexImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMultMatrix.xml0000664000175000017500000012774611453131434023710 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMultMatrix 3G glMultMatrix multiply the current matrix with the specified matrix C Specification void glMultMatrixd const GLdouble * m void glMultMatrixf const GLfloat * m Parameters m Points to 16 consecutive values that are used as the elements of a 4 × 4 column-major matrix. Description glMultMatrix multiplies the current matrix with the one specified using m, and replaces the current matrix with the product. The current matrix is determined by the current matrix mode (see glMatrixMode). It is either the projection matrix, modelview matrix, or the texture matrix. Examples If the current matrix is C and the coordinates to be transformed are v = v 0 v 1 v 2 v 3 , then the current transformation is C × v , or c 0 c 4 c 8 c 12 c 1 c 5 c 9 c 13 c 2 c 6 c 10 c 14 c 3 c 7 c 11 c 15 × v 0 v 1 v 2 v 3 Calling glMultMatrix with an argument of m = m 0 m 1 ... m 15 replaces the current transformation with C × M × v , or c 0 c 4 c 8 c 12 c 1 c 5 c 9 c 13 c 2 c 6 c 10 c 14 c 3 c 7 c 11 c 15 × m 0 m 4 m 8 m 12 m 1 m 5 m 9 m 13 m 2 m 6 m 10 m 14 m 3 m 7 m 11 m 15 × v 0 v 1 v 2 v 3 Where v is represented as a 4 × 1 matrix. Notes While the elements of the matrix may be specified with single or double precision, the GL may store or operate on these values in less-than-single precision. In many computer languages, 4 × 4 arrays are represented in row-major order. The transformations just described represent these matrices in column-major order. The order of the multiplication is important. For example, if the current transformation is a rotation, and glMultMatrix is called with a translation matrix, the translation is done directly on the coordinates to be transformed, while the rotation is done on the results of that translation. Errors GL_INVALID_OPERATION is generated if glMultMatrix is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MATRIX_MODE glGet with argument GL_COLOR_MATRIX glGet with argument GL_MODELVIEW_MATRIX glGet with argument GL_PROJECTION_MATRIX glGet with argument GL_TEXTURE_MATRIX See Also glLoadIdentity, glLoadMatrix, glLoadTransposeMatrix, glMatrixMode, glMultTransposeMatrix, glPushMatrix Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEnableVertexAttribArray.xml0000664000175000017500000001247011453131434026316 0ustar laneylaney glEnableVertexAttribArray 3G glEnableVertexAttribArray glEnableVertexAttribArray glDisableVertexAttribArray Enable or disable a generic vertex attribute array C Specification void glEnableVertexAttribArray GLuint index void glDisableVertexAttribArray GLuint index Parameters index Specifies the index of the generic vertex attribute to be enabled or disabled. Description glEnableVertexAttribArray enables the generic vertex attribute array specified by index. glDisableVertexAttribArray disables the generic vertex attribute array specified by index. By default, all client-side capabilities are disabled, including all generic vertex attribute arrays. If enabled, the values in the generic vertex attribute array will be accessed and used for rendering when calls are made to vertex array commands such as glDrawArrays, glDrawElements, glDrawRangeElements, glArrayElement, glMultiDrawElements, or glMultiDrawArrays. Notes glEnableVertexAttribArray and glDisableVertexAttribArray are available only if the GL version is 2.0 or greater. Errors GL_INVALID_VALUE is generated if index is greater than or equal to GL_MAX_VERTEX_ATTRIBS. GL_INVALID_OPERATION is generated if either glEnableVertexAttribArray or glDisableVertexAttribArray is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS glGetVertexAttrib with arguments index and GL_VERTEX_ATTRIB_ARRAY_ENABLED glGetVertexAttribPointerv with arguments index and GL_VERTEX_ATTRIB_ARRAY_POINTER See Also glArrayElement, glBindAttribLocation, glDrawArrays, glDrawElements, glDrawRangeElements, glMultiDrawElements, glPopClientAttrib, glPushClientAttrib, glVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glClear.xml0000664000175000017500000001654111453131432022614 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glClear 3G glClear clear buffers to preset values C Specification void glClear GLbitfield mask Parameters mask Bitwise OR of masks that indicate the buffers to be cleared. The four masks are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT. Description glClear sets the bitplane area of the window to values previously selected by glClearColor, glClearIndex, glClearDepth, glClearStencil, and glClearAccum. Multiple color buffers can be cleared simultaneously by selecting more than one buffer at a time using glDrawBuffer. The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of glClear. The scissor box bounds the cleared region. Alpha function, blend function, logical operation, stenciling, texture mapping, and depth-buffering are ignored by glClear. glClear takes a single argument that is the bitwise OR of several values indicating which buffer is to be cleared. The values are as follows: GL_COLOR_BUFFER_BIT Indicates the buffers currently enabled for color writing. GL_DEPTH_BUFFER_BIT Indicates the depth buffer. GL_ACCUM_BUFFER_BIT Indicates the accumulation buffer. GL_STENCIL_BUFFER_BIT Indicates the stencil buffer. The value to which each buffer is cleared depends on the setting of the clear value for that buffer. Notes If a buffer is not present, then a glClear directed at that buffer has no effect. Errors GL_INVALID_VALUE is generated if any bit other than the four defined bits is set in mask. GL_INVALID_OPERATION is generated if glClear is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ACCUM_CLEAR_VALUE glGet with argument GL_DEPTH_CLEAR_VALUE glGet with argument GL_INDEX_CLEAR_VALUE glGet with argument GL_COLOR_CLEAR_VALUE glGet with argument GL_STENCIL_CLEAR_VALUE See Also glClearAccum, glClearColor, glClearDepth, glClearIndex, glClearStencil, glColorMask, glDepthMask, glDrawBuffer, glScissor, glStencilMask Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIndexMask.xml0000664000175000017500000001067611453131434023456 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIndexMask 3G glIndexMask control the writing of individual bits in the color index buffers C Specification void glIndexMask GLuint mask Parameters mask Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's. Description glIndexMask controls the writing of individual bits in the color index buffers. The least significant n bits of mask, where n is the number of bits in a color index buffer, specify a mask. Where a 1 (one) appears in the mask, it's possible to write to the corresponding bit in the color index buffer (or buffers). Where a 0 (zero) appears, the corresponding bit is write-protected. This mask is used only in color index mode, and it affects only the buffers currently selected for writing (see glDrawBuffer). Initially, all bits are enabled for writing. Errors GL_INVALID_OPERATION is generated if glIndexMask is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_INDEX_WRITEMASK See Also glColorMask, glDepthMask, glDrawBuffer, glIndex, glIndexPointer, glStencilMask Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glFogCoordPointer.xml0000664000175000017500000002575111453131434024636 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glFogCoordPointer 3G glFogCoordPointer define an array of fog coordinates C Specification void glFogCoordPointer GLenum type GLsizei stride GLvoid * pointer Parameters type Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. stride Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. pointer Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. Description glFogCoordPointer specifies the location and data format of an array of fog coordinates to use when rendering. type specifies the data type of each fog coordinate, and stride specifies the byte stride from one fog coordinate to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. If a non-zero named buffer object is bound to the GL_ARRAY_BUFFER target (see glBindBuffer) while a fog coordinate array is specified, pointer is treated as a byte offset into the buffer object's data store. Also, the buffer object binding (GL_ARRAY_BUFFER_BINDING) is saved as fog coordinate vertex array client-side state (GL_FOG_COORD_ARRAY_BUFFER_BINDING). When a fog coordinate array is specified, type, stride, and pointer are saved as client-side state, in addition to the current vertex array buffer object binding. To enable and disable the fog coordinate array, call glEnableClientState and glDisableClientState with the argument GL_FOG_COORD_ARRAY. If enabled, the fog coordinate array is used when glDrawArrays, glMultiDrawArrays, glDrawElements, glMultiDrawElements, glDrawRangeElements, or glArrayElement is called. Notes glFogCoordPointer is available only if the GL version is 1.4 or greater. Fog coordinates are not supported for interleaved vertex array formats (see glInterleavedArrays). The fog coordinate array is initially disabled and isn't accessed when glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements is called. Execution of glFogCoordPointer is not allowed between the execution of glBegin and the corresponding execution of glEnd, but an error may or may not be generated. If no error is generated, the operation is undefined. glFogCoordPointer is typically implemented on the client side with no protocol. Fog coordinate array parameters are client-side state and are therefore not saved or restored by glPushAttrib and glPopAttrib. Use glPushClientAttrib and glPopClientAttrib instead. Errors GL_INVALID_ENUM is generated if type is not either GL_FLOAT or GL_DOUBLE. GL_INVALID_VALUE is generated if stride is negative. Associated Gets glIsEnabled with argument GL_FOG_COORD_ARRAY glGet with argument GL_FOG_COORD_ARRAY_STRIDE glGet with argument GL_FOG_COORD_ARRAY_TYPE glGet with argument GL_FOG_COORD_ARRAY_BUFFER_BINDING glGet with argument GL_ARRAY_BUFFER_BINDING glGetPointerv with argument GL_FOG_COORD_ARRAY_POINTER See Also glArrayElement, glBindBuffer, glColorPointer, glDisableClientState, glDrawArrays, glDrawElements, glDrawRangeElements, glEdgeFlagPointer, glEnableClientState, glFogCoord, glIndexPointer, glInterleavedArrays, glMultiDrawArrays, glMultiDrawElements, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glSecondaryColorPointer, glTexCoordPointer, glVertexAttribPointer, glVertexPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glIsEnabled.xml0000664000175000017500000010567011453131434023420 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glIsEnabled 3G glIsEnabled test whether a capability is enabled C Specification GLboolean glIsEnabled GLenum cap Parameters cap Specifies a symbolic constant indicating a GL capability. Description glIsEnabled returns GL_TRUE if cap is an enabled capability and returns GL_FALSE otherwise. Initially all capabilities except GL_DITHER are disabled; GL_DITHER is initially enabled. The following capabilities are accepted for cap: Constant See GL_ALPHA_TEST glAlphaFunc GL_AUTO_NORMAL glEvalCoord GL_BLEND glBlendFunc, glLogicOp GL_CLIP_PLANEi glClipPlane GL_COLOR_ARRAY glColorPointer GL_COLOR_LOGIC_OP glLogicOp GL_COLOR_MATERIAL glColorMaterial GL_COLOR_SUM glSecondaryColor GL_COLOR_TABLE glColorTable GL_CONVOLUTION_1D glConvolutionFilter1D GL_CONVOLUTION_2D glConvolutionFilter2D GL_CULL_FACE glCullFace GL_DEPTH_TEST glDepthFunc, glDepthRange GL_DITHER glEnable GL_EDGE_FLAG_ARRAY glEdgeFlagPointer GL_FOG glFog GL_FOG_COORD_ARRAY glFogCoordPointer GL_HISTOGRAM glHistogram GL_INDEX_ARRAY glIndexPointer GL_INDEX_LOGIC_OP glLogicOp GL_LIGHTi glLightModel, glLight GL_LIGHTING glMaterial, glLightModel, glLight GL_LINE_SMOOTH glLineWidth GL_LINE_STIPPLE glLineStipple GL_MAP1_COLOR_4 glMap1 GL_MAP1_INDEX glMap1 GL_MAP1_NORMAL glMap1 GL_MAP1_TEXTURE_COORD_1 glMap1 GL_MAP1_TEXTURE_COORD_2 glMap1 GL_MAP1_TEXTURE_COORD_3 glMap1 GL_MAP1_TEXTURE_COORD_4 glMap1 GL_MAP2_COLOR_4 glMap2 GL_MAP2_INDEX glMap2 GL_MAP2_NORMAL glMap2 GL_MAP2_TEXTURE_COORD_1 glMap2 GL_MAP2_TEXTURE_COORD_2 glMap2 GL_MAP2_TEXTURE_COORD_3 glMap2 GL_MAP2_TEXTURE_COORD_4 glMap2 GL_MAP2_VERTEX_3 glMap2 GL_MAP2_VERTEX_4 glMap2 GL_MINMAX glMinmax GL_MULTISAMPLE glSampleCoverage GL_NORMAL_ARRAY glNormalPointer GL_NORMALIZE glNormal GL_POINT_SMOOTH glPointSize GL_POINT_SPRITE glEnable GL_POLYGON_SMOOTH glPolygonMode GL_POLYGON_OFFSET_FILL glPolygonOffset GL_POLYGON_OFFSET_LINE glPolygonOffset GL_POLYGON_OFFSET_POINT glPolygonOffset GL_POLYGON_STIPPLE glPolygonStipple GL_POST_COLOR_MATRIX_COLOR_TABLE glColorTable GL_POST_CONVOLUTION_COLOR_TABLE glColorTable GL_RESCALE_NORMAL glNormal GL_SAMPLE_ALPHA_TO_COVERAGE glSampleCoverage GL_SAMPLE_ALPHA_TO_ONE glSampleCoverage GL_SAMPLE_COVERAGE glSampleCoverage GL_SCISSOR_TEST glScissor GL_SECONDARY_COLOR_ARRAY glSecondaryColorPointer GL_SEPARABLE_2D glSeparableFilter2D GL_STENCIL_TEST glStencilFunc, glStencilOp GL_TEXTURE_1D glTexImage1D GL_TEXTURE_2D glTexImage2D GL_TEXTURE_3D glTexImage3D GL_TEXTURE_COORD_ARRAY glTexCoordPointer GL_TEXTURE_CUBE_MAP glTexImage2D GL_TEXTURE_GEN_Q glTexGen GL_TEXTURE_GEN_R glTexGen GL_TEXTURE_GEN_S glTexGen GL_TEXTURE_GEN_T glTexGen GL_VERTEX_ARRAY glVertexPointer GL_VERTEX_PROGRAM_POINT_SIZE glEnable GL_VERTEX_PROGRAM_TWO_SIDE glEnable Notes If an error is generated, glIsEnabled returns 0. GL_COLOR_LOGIC_OP, GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_INDEX_ARRAY, GL_INDEX_LOGIC_OP, GL_NORMAL_ARRAY, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, GL_POLYGON_OFFSET_POINT, GL_TEXTURE_COORD_ARRAY, and GL_VERTEX_ARRAY are available only if the GL version is 1.1 or greater. GL_RESCALE_NORMAL, and GL_TEXTURE_3D are available only if the GL version is 1.2 or greater. GL_MULTISAMPLE, GL_SAMPLE_ALPHA_TO_COVERAGE, GL_SAMPLE_ALPHA_TO_ONE, GL_SAMPLE_COVERAGE, GL_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. GL_FOG_COORD_ARRAY and GL_SECONDARY_COLOR_ARRAY are available only if the GL version is 1.4 or greater. GL_POINT_SPRITE, GL_VERTEX_PROGRAM_POINT_SIZE, and GL_VERTEX_PROGRAM_TWO_SIDE are available only if the GL version is 2.0 or greater. GL_COLOR_TABLE, GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, GL_HISTOGRAM, GL_MINMAX, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, and GL_SEPARABLE_2D are available only if ARB_imaging is returned when glGet is called with GL_EXTENSIONS. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, the following parameters return the associated value for the active texture unit: GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_Q, GL_TEXTURE_MATRIX, and GL_TEXTURE_STACK_DEPTH. Likewise, the following parameters return the associated value for the active client texture unit: GL_TEXTURE_COORD_ARRAY, GL_TEXTURE_COORD_ARRAY_SIZE, GL_TEXTURE_COORD_ARRAY_STRIDE, GL_TEXTURE_COORD_ARRAY_TYPE. Errors GL_INVALID_ENUM is generated if cap is not an accepted value. GL_INVALID_OPERATION is generated if glIsEnabled is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glEnable, glEnableClientState, glGet Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluTessCallback.xml0000664000175000017500000005272011453131434024307 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluTessCallback 3G gluTessCallback define a callback for a tessellation object C Specification void gluTessCallback GLUtesselator* tess GLenum which _GLUfuncptr CallBackFunc Parameters tess Specifies the tessellation object (created with gluNewTess). which Specifies the callback being defined. The following values are valid: GLU_TESS_BEGIN, GLU_TESS_BEGIN_DATA, GLU_TESS_EDGE_FLAG, GLU_TESS_EDGE_FLAG_DATA, GLU_TESS_VERTEX, GLU_TESS_VERTEX_DATA, GLU_TESS_END, GLU_TESS_END_DATA, GLU_TESS_COMBINE, GLU_TESS_COMBINE_DATA, GLU_TESS_ERROR, and GLU_TESS_ERROR_DATA. CallBackFunc Specifies the function to be called. Description gluTessCallback is used to indicate a callback to be used by a tessellation object. If the specified callback is already defined, then it is replaced. If CallBackFunc is NULL, then the existing callback becomes undefined. These callbacks are used by the tessellation object to describe how a polygon specified by the user is broken into triangles. Note that there are two versions of each callback: one with user-specified polygon data and one without. If both versions of a particular callback are specified, then the callback with user-specified polygon data will be used. Note that the polygon_data parameter used by some of the functions is a copy of the pointer that was specified when gluTessBeginPolygon was called. The legal callbacks are as follows: GLU_TESS_BEGIN The begin callback is invoked like glBegin to indicate the start of a (triangle) primitive. The function takes a single argument of type GLenum. If the GLU_TESS_BOUNDARY_ONLY property is set to GLU_FALSE, then the argument is set to either GLU_TRIANGLE_FAN, GLU_TRIANGLE_STRIP, or GLU_TRIANGLES. If the GLU_TESS_BOUNDARY_ONLY property is set to GLU_TRUE, then the argument will be set to GLU_LINE_LOOP. The function prototype for this callback is: void begin( GLenum type ); GLU_TESS_BEGIN_DATA The same as the GLU_TESS_BEGIN callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void beginData( GLenum type, void *polygon_data ); GLU_TESS_EDGE_FLAG The edge flag callback is similar to glEdgeFlag. The function takes a single boolean flag that indicates which edges lie on the polygon boundary. If the flag is GLU_TRUE, then each vertex that follows begins an edge that lies on the polygon boundary, that is, an edge that separates an interior region from an exterior one. If the flag is GLU_FALSE, then each vertex that follows begins an edge that lies in the polygon interior. The edge flag callback (if defined) is invoked before the first vertex callback. Since triangle fans and triangle strips do not support edge flags, the begin callback is not called with GLU_TRIANGLE_FAN or GLU_TRIANGLE_STRIP if a non-NULL edge flag callback is provided. (If the callback is initialized to NULL, there is no impact on performance). Instead, the fans and strips are converted to independent triangles. The function prototype for this callback is: void edgeFlag( GLboolean flag ); GLU_TESS_EDGE_FLAG_DATA The same as the GLU_TESS_EDGE_FLAG callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void edgeFlagData( GLboolean flag, void *polygon_data ); GLU_TESS_VERTEX The vertex callback is invoked between the begin and end callbacks. It is similar to glVertex, and it defines the vertices of the triangles created by the tessellation process. The function takes a pointer as its only argument. This pointer is identical to the opaque pointer provided by the user when the vertex was described (see gluTessVertex). The function prototype for this callback is: void vertex( void *vertex_data ); GLU_TESS_VERTEX_DATA The same as the GLU_TESS_VERTEX callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void vertexData( void *vertex_data, void *polygon_data ); GLU_TESS_END The end callback serves the same purpose as glEnd. It indicates the end of a primitive and it takes no arguments. The function prototype for this callback is: void end( void ); GLU_TESS_END_DATA The same as the GLU_TESS_END callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void endData( void *polygon_data ); GLU_TESS_COMBINE The combine callback is called to create a new vertex when the tessellation detects an intersection or wishes to merge features. The function takes four arguments: an array of three elements each of type GLdouble, an array of four pointers, an array of four elements each of type GLfloat, and a pointer to a pointer. The prototype is: void combine( GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData ); The vertex is defined as a linear combination of up to four existing vertices, stored in vertex_data. The coefficients of the linear combination are given by weight; these weights always add up to 1. All vertex pointers are valid even when some of the weights are 0. coords gives the location of the new vertex. The user must allocate another vertex, interpolate parameters using vertex_data and weight, and return the new vertex pointer in outData. This handle is supplied during rendering callbacks. The user is responsible for freeing the memory some time after gluTessEndPolygon is called. For example, if the polygon lies in an arbitrary plane in 3-space, and a color is associated with each vertex, the GLU_TESS_COMBINE callback might look like this: void myCombine( GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut ) { VERTEX *new = new_vertex(); new->x = coords[0]; new->y = coords[1]; new->z = coords[2]; new->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + w[3]*d[3]->r; new->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + w[3]*d[3]->g; new->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + w[3]*d[3]->b; new->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + w[3]*d[3]->a; *dataOut = new; } If the tessellation detects an intersection, then the GLU_TESS_COMBINE or GLU_TESS_COMBINE_DATA callback (see below) must be defined, and it must write a non-NULL pointer into dataOut. Otherwise the GLU_TESS_NEED_COMBINE_CALLBACK error occurs, and no output is generated. GLU_TESS_COMBINE_DATA The same as the GLU_TESS_COMBINE callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void combineData( GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, void *polygon_data ); GLU_TESS_ERROR The error callback is called when an error is encountered. The one argument is of type GLenum; it indicates the specific error that occurred and will be set to one of GLU_TESS_MISSING_BEGIN_POLYGON, GLU_TESS_MISSING_END_POLYGON, GLU_TESS_MISSING_BEGIN_CONTOUR, GLU_TESS_MISSING_END_CONTOUR, GLU_TESS_COORD_TOO_LARGE, GLU_TESS_NEED_COMBINE_CALLBACK, or GLU_OUT_OF_MEMORY. Character strings describing these errors can be retrieved with the gluErrorString call. The function prototype for this callback is: void error( GLenum errno ); The GLU library will recover from the first four errors by inserting the missing call(s). GLU_TESS_COORD_TOO_LARGE indicates that some vertex coordinate exceeded the predefined constant GLU_TESS_MAX_COORD in absolute value, and that the value has been clamped. (Coordinate values must be small enough so that two can be multiplied together without overflow.) GLU_TESS_NEED_COMBINE_CALLBACK indicates that the tessellation detected an intersection between two edges in the input data, and the GLU_TESS_COMBINE or GLU_TESS_COMBINE_DATA callback was not provided. No output is generated. GLU_OUT_OF_MEMORY indicates that there is not enough memory so no output is generated. GLU_TESS_ERROR_DATA The same as the GLU_TESS_ERROR callback except that it takes an additional pointer argument. This pointer is identical to the opaque pointer provided when gluTessBeginPolygon was called. The function prototype for this callback is: void errorData( GLenum errno, void *polygon_data ); Example Polygons tessellated can be rendered directly like this: gluTessCallback(tobj, GLU_TESS_BEGIN, glBegin); gluTessCallback(tobj, GLU_TESS_VERTEX, glVertex3dv); gluTessCallback(tobj, GLU_TESS_END, glEnd); gluTessCallback(tobj, GLU_TESS_COMBINE, myCombine); gluTessBeginPolygon(tobj, NULL); gluTessBeginContour(tobj); gluTessVertex(tobj, v, v); ... gluTessEndContour(tobj); gluTessEndPolygon(tobj); Typically, the tessellated polygon should be stored in a display list so that it does not need to be retessellated every time it is rendered. See Also gluErrorString, gluNewTess, gluTessBeginContour, gluTessBeginPolygon, gluTessNormal, gluTessProperty, gluTessVertex, glBegin, glEdgeFlag, glVertex Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetSeparableFilter.xml0000664000175000017500000003352511453131434025275 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glGetSeparableFilter 3G glGetSeparableFilter get separable convolution filter kernel images C Specification void glGetSeparableFilter GLenum target GLenum format GLenum type GLvoid * row GLvoid * column GLvoid * span Parameters target The separable filter to be retrieved. Must be GL_SEPARABLE_2D. format Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. type Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. row Pointer to storage for the row filter image. column Pointer to storage for the column filter image. span Pointer to storage for the span filter image (currently unused). Description glGetSeparableFilter returns the two one-dimensional filter kernel images for the current separable 2D convolution filter. The row image is placed in row and the column image is placed in column according to the specifications in format and type. (In the current implementation, span is not affected in any way.) No pixel transfer operations are performed on the images, but the relevant pixel storage modes are applied. If a non-zero named buffer object is bound to the GL_PIXEL_PACK_BUFFER target (see glBindBuffer) while a separable convolution filter is requested, row, column, and span are treated as a byte offset into the buffer object's data store. Color components that are present in format but not included in the internal format of the filters are returned as zero. The assignments of internal color components to the components of format are as follows: Internal Component Resulting Component Red Red Green Green Blue Blue Alpha Alpha Luminance Red Intensity Red Notes glGetSeparableFilter is present only if ARB_imaging is returned when glGetString is called with an argument of GL_EXTENSIONS. Non-separable 2D filters must be retrieved with glGetConvolutionFilter. Errors GL_INVALID_ENUM is generated if target is not GL_SEPARABLE_2D. GL_INVALID_ENUM is generated if format is not one of the allowable values. GL_INVALID_ENUM is generated if type is not one of the allowable values. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, or GL_UNSIGNED_SHORT_5_6_5_REV and format is not GL_RGB. GL_INVALID_OPERATION is generated if type is one of GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV and format is neither GL_RGBA nor GL_BGRA. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and the data would be packed to the buffer object such that the memory writes required would exceed the data store size. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_PACK_BUFFER target and row or column is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type. GL_INVALID_OPERATION is generated if glGetSeparableFilter is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetConvolutionParameter glGet with argument GL_PIXEL_PACK_BUFFER_BINDING See Also glGetConvolutionFilter, glConvolutionParameter, glSeparableFilter2D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluDisk.xml0000664000175000017500000001400111453131432022632 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluDisk 3G gluDisk draw a disk C Specification void gluDisk GLUquadric* quad GLdouble inner GLdouble outer GLint slices GLint loops Parameters quad Specifies the quadrics object (created with gluNewQuadric). inner Specifies the inner radius of the disk (may be 0). outer Specifies the outer radius of the disk. slices Specifies the number of subdivisions around the z axis. loops Specifies the number of concentric rings about the origin into which the disk is subdivided. Description gluDisk renders a disk on the z = 0 plane. The disk has a radius of outer and contains a concentric circular hole with a radius of inner. If inner is 0, then no hole is generated. The disk is subdivided around the z axis into slices (like pizza slices) and also about the z axis into rings (as specified by slices and loops, respectively). With respect to orientation, the +z side of the disk is considered to be ``outside'' (see gluQuadricOrientation). This means that if the orientation is set to GLU_OUTSIDE, then any normals generated point along the +z axis. Otherwise, they point along the \-z axis. If texturing has been turned on (with gluQuadricTexture), texture coordinates are generated linearly such that where r = outer , the value at (r, 0, 0) is (1, 0.5), at (0, r, 0) it is (0.5, 1), at (\-r, 0, 0) it is (0, 0.5), and at (0, \-r, 0) it is (0.5, 0). See Also gluCylinder, gluNewQuadric, gluPartialDisk, gluQuadricOrientation, gluQuadricTexture, gluSphere Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBeginQuery.xml0000664000175000017500000002003011453131434023626 0ustar laneylaney 2005 Sams Publishing glBeginQuery 3G glBeginQuery delimit the boundaries of a query object C Specification void glBeginQuery GLenum target GLuint id Parameters target Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. id Specifies the name of a query object. C Specification void glEndQuery GLenum target Parameters target Specifies the target type of query object to be concluded. The symbolic constant must be GL_SAMPLES_PASSED. Description glBeginQuery and glEndQuery delimit the boundaries of a query object. If a query object with name id does not yet exist it is created. When glBeginQuery is executed, the query object's samples-passed counter is reset to 0. Subsequent rendering will increment the counter once for every sample that passes the depth test. When glEndQuery is executed, the samples-passed counter is assigned to the query object's result value. This value can be queried by calling glGetQueryObject with pname GL_QUERY_RESULT. Querying the GL_QUERY_RESULT implicitly flushes the GL pipeline until the rendering delimited by the query object has completed and the result is available. GL_QUERY_RESULT_AVAILABLE can be queried to determine if the result is immediately available or if the rendering is not yet complete. Notes If the samples-passed count exceeds the maximum value representable in the number of available bits, as reported by glGetQueryiv with pname GL_QUERY_COUNTER_BITS, the count becomes undefined. An implementation may support 0 bits in its samples-passed counter, in which case query results are always undefined and essentially useless. When GL_SAMPLE_BUFFERS is 0, the samples-passed counter will increment once for each fragment that passes the depth test. When GL_SAMPLE_BUFFERS is 1, an implementation may either increment the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for all samples of a fragment if any one of them passes the depth test. glBeginQuery and glEndQuery are available only if the GL version is 1.5 or greater. Errors GL_INVALID_ENUM is generated if target is not GL_SAMPLES_PASSED. GL_INVALID_OPERATION is generated if glBeginQuery is executed while a query object of the same target is already active. GL_INVALID_OPERATION is generated if glEndQuery is executed when a query object of the same target is not active. GL_INVALID_OPERATION is generated if id is 0. GL_INVALID_OPERATION is generated if id is the name of an already active query object. GL_INVALID_OPERATION is generated if glBeginQuery or glEndQuery is executed between the execution of glBegin and the corresponding execution of glEnd. See Also glDeleteQueries, glGenQueries, glGetQueryiv, glGetQueryObject, glIsQuery Copyright Copyright 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glShaderSource.xml0000664000175000017500000001270511453131432024153 0ustar laneylaney glShaderSource 3G glShaderSource Replaces the source code in a shader object C Specification void glShaderSource GLuint shader GLsizei count const GLchar **string const GLint *length Parameters shader Specifies the handle of the shader object whose source code is to be replaced. count Specifies the number of elements in the string and length arrays. string Specifies an array of pointers to strings containing the source code to be loaded into the shader. length Specifies an array of string lengths. Description glShaderSource sets the source code in shader to the source code in the array of strings specified by string. Any source code previously stored in the shader object is completely replaced. The number of strings in the array is specified by count. If length is NULL, each string is assumed to be null terminated. If length is a value other than NULL, it points to an array containing a string length for each of the corresponding elements of string. Each element in the length array may contain the length of the corresponding string (the null character is not counted as part of the string length) or a value less than 0 to indicate that the string is null terminated. The source code strings are not scanned or parsed at this time; they are simply copied into the specified shader object. Notes glShaderSource is available only if the GL version is 2.0 or greater. OpenGL copies the shader source code strings when glShaderSource is called, so an application may free its copy of the source code strings immediately after the function returns. Errors GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if shader is not a shader object. GL_INVALID_VALUE is generated if count is less than 0. GL_INVALID_OPERATION is generated if glShaderSource is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetShader with arguments shader and GL_SHADER_SOURCE_LENGTH glGetShaderSource with argument shader glIsShader See Also glCompileShader, glCreateShader, glDeleteShader Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glEdgeFlag.xml0000664000175000017500000001221211453131434023215 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glEdgeFlag 3G glEdgeFlag flag edges as either boundary or nonboundary C Specification void glEdgeFlag GLboolean flag Parameters flag Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE. C Specification void glEdgeFlagv const GLboolean * flag Parameters flag Specifies a pointer to an array that contains a single boolean element, which replaces the current edge flag value. Description Each vertex of a polygon, separate triangle, or separate quadrilateral specified between a glBegin/glEnd pair is marked as the start of either a boundary or nonboundary edge. If the current edge flag is true when the vertex is specified, the vertex is marked as the start of a boundary edge. Otherwise, the vertex is marked as the start of a nonboundary edge. glEdgeFlag sets the edge flag bit to GL_TRUE if flag is GL_TRUE and to GL_FALSE otherwise. The vertices of connected triangles and connected quadrilaterals are always marked as boundary, regardless of the value of the edge flag. Boundary and nonboundary edge flags on vertices are significant only if GL_POLYGON_MODE is set to GL_POINT or GL_LINE. See glPolygonMode. Notes The current edge flag can be updated at any time. In particular, glEdgeFlag can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_EDGE_FLAG See Also glBegin, glEdgeFlagPointer, glPolygonMode Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXWaitX.xml0000664000175000017500000000577711453131432022763 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXWaitX 3G glXWaitX complete X execution prior to subsequent GL calls C Specification void glXWaitX void Description X rendering calls made prior to glXWaitX are guaranteed to be executed before GL rendering calls made after glXWaitX. Although the same result can be achieved using XSync, glXWaitX does not require a round trip to the server, and it is therefore more efficient in cases where client and server are on separate machines. glXWaitX is ignored if there is no current GLX context. Notes glXWaitX may or may not flush the GL stream. Errors GLXBadCurrentWindow is generated if the drawable associated with the current context of the calling thread is a window, and that window is no longer valid. See Also glFinish, glFlush, glXWaitGL, XSync Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCopyTexImage2D.xml0000664000175000017500000005315411453131434024315 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCopyTexImage2D 3G glCopyTexImage2D copy pixels into a 2D texture image C Specification void glCopyTexImage2D GLenum target GLint level GLenum internalformat GLint x GLint y GLsizei width GLsizei height GLint border Parameters target Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalformat Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. x y Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. width Specifies the width of the texture image. Must be 0 or 2 n + 2 border for some integer n. height Specifies the height of the texture image. Must be 0 or 2 m + 2 border for some integer m. border Specifies the width of the border. Must be either 0 or 1. Description glCopyTexImage2D defines a two-dimensional texture image, or cube-map texture image with pixels from the current GL_READ_BUFFER. The screen-aligned pixel rectangle with lower left corner at (x, y) and with a width of width + 2 border and a height of height + 2 border defines the texture array at the mipmap level specified by level. internalformat specifies the internal format of the texture array. The pixels in the rectangle are processed exactly as if glCopyPixels had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. Pixel ordering is such that lower x and y screen coordinates correspond to lower s and t texture coordinates. If any of the pixels within the specified rectangle of the current GL_READ_BUFFER are outside the window associated with the current rendering context, then the values obtained for those pixels are undefined. When internalformat is one of the sRGB types, the GL does not automatically convert the source pixels to the sRGB color space. In this case, the glPixelMap function can be used to accomplish the conversion. Notes glCopyTexImage2D is available only if the GL version is 1.1 or greater. Texturing has no effect in color index mode. 1, 2, 3, and 4 are not accepted values for internalformat. An image with height or width of 0 indicates a NULL texture. When the ARB_imaging extension is supported, the RGBA components read from the framebuffer may be processed by the imaging pipeline. See glTexImage1D for specific details. GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP are available only if the GL version is 1.3 or greater. GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, and GL_DEPTH_COMPONENT32 are available only if the GL version is 1.4 or greater. The GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, GL_SRGB8_ALPHA8, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, and GL_SLUMINANCE8_ALPHA8 internal formats are only available if the GL version is 2.1 or greater. See glTexImage2D for specific details about sRGB conversion. Errors GL_INVALID_ENUM is generated if target is not GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. GL_INVALID_VALUE is generated if level is less than 0. GL_INVALID_VALUE may be generated if level is greater than log 2 max , where max is the returned value of GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if width is less than 0 or greater than 2 + GL_MAX_TEXTURE_SIZE. GL_INVALID_VALUE is generated if non-power-of-two textures are not supported and the width or depth cannot be represented as 2 k + 2 border for some integer k. GL_INVALID_VALUE is generated if border is not 0 or 1. GL_INVALID_VALUE is generated if internalformat is not an accepted format. GL_INVALID_OPERATION is generated if glCopyTexImage2D is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_OPERATION is generated if internalformat is GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, or GL_DEPTH_COMPONENT32 and there is no depth buffer. Associated Gets glGetTexImage glIsEnabled with argument GL_TEXTURE_2D or GL_TEXTURE_CUBE_MAP See Also glCopyPixels, glCopyTexImage1D, glCopyTexSubImage1D, glCopyTexSubImage2D, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetVisualFromFBConfig.xml0000664000175000017500000001007511453131434026001 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetVisualFromFBConfig 3G glXGetVisualFromFBConfig return visual that is associated with the frame buffer configuration C Specification XVisualInfo * glXGetVisualFromFBConfig Display * dpy GLXFBConfig config Parameters dpy Specifies the connection to the X server. config Specifies the GLX frame buffer configuration. Description If config is a valid GLX frame buffer configuration and it has an associated X Visual, then information describing that visual is returned; otherwise NULL is returned. Use XFree to free the data returned. Notes glXGetVisualFromFBConfig is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. XVisualInfo is defined in Xutil.h. It is a structure that includes visual, visualID, screen, and depth elements. Errors Returns NULL if config is not a valid GLXFBConfig. See Also glXGetFBConfigAttrib, glXChooseFBConfig, glXChooseVisual, glXGetConfig Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glCompressedTexImage1D.xml0000664000175000017500000003414111453131434025501 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glCompressedTexImage1D 3G glCompressedTexImage1D specify a one-dimensional texture image in a compressed format C Specification void glCompressedTexImage1D GLenum target GLint level GLenum internalformat GLsizei width GLint border GLsizei imageSize const GLvoid * data Parameters target Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. level Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. internalformat Specifies the format of the compressed image data stored at address data. width Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 n + 2 border for some integer n. All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. border Specifies the width of the border. Must be either 0 or 1. imageSize Specifies the number of unsigned bytes of image data starting at the address specified by data. data Specifies a pointer to the compressed image data in memory. Description Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call glEnable and glDisable with argument GL_TEXTURE_1D. glCompressedTexImage1D loads a previously defined, and retrieved, compressed one-dimensional texture image if target is GL_TEXTURE_1D (see glTexImage1D). If target is GL_PROXY_TEXTURE_1D, no data is read from data, but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see glGetError). To query for an entire mipmap array, use an image array level greater than or equal to 1. internalformat must be extension-specified compressed-texture format. When a texture is loaded with glTexImage1D using a generic compressed texture format (e.g., GL_COMPRESSED_RGB) the GL selects from one of its extensions supporting compressed textures. In order to load the compressed texture image using glCompressedTexImage1D, query the compressed texture image's size and format using glGetTexLevelParameter. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a texture image is specified, data is treated as a byte offset into the buffer object's data store. Notes glCompressedTexImage1D is available only if the GL version is 1.3 or greater. Non-power-of-two textures are supported if the GL version is 2.0 or greater, or if the implementation exports the GL_ARB_texture_non_power_of_two extension. Errors GL_INVALID_ENUM is generated if internalformat is one of the generic compressed internal formats: GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, or GL_COMPRESSED_RGBA. GL_INVALID_VALUE is generated if imageSize is not consistent with the format, dimensions, and contents of the specified compressed image data. GL_INVALID_OPERATION is generated if parameter combinations are not supported by the specific compressed internal format as specified in the specific texture compression extension. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glCompressedTexImage1D is executed between the execution of glBegin and the corresponding execution of glEnd. Undefined results, including abnormal program termination, are generated if data is not encoded in a manner consistent with the extension specification defining the internal compression format. Associated Gets glGetCompressedTexImage glGet with argument GL_TEXTURE_COMPRESSED glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING glGetTexLevelParameter with arguments GL_TEXTURE_INTERNAL_FORMAT and GL_TEXTURE_COMPRESSED_IMAGE_SIZE glIsEnabled with argument GL_TEXTURE_1D See Also glActiveTexture, glColorTable, glCompressedTexImage2D, glCompressedTexImage3D, glCompressedTexSubImage1D, glCompressedTexSubImage2D, glCompressedTexSubImage3D, glConvolutionFilter1D, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawPixels, glMatrixMode, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXImportContextEXT.xml0000664000175000017500000001204411453131434025112 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXImportContextEXT 3G glXImportContextEXT import another process's indirect rendering context. C Specification GLXContext glXImportContextEXT Display * dpy GLXContextID contextID Parameters dpy Specifies the connection to the X server. contextID Specifies a GLX rendering context. Description glXImportContextEXT creates a GLXContext given the XID of an existing GLXContext. It may be used in place of glXCreateContext, to share another process's indirect rendering context. Only the server-side context information can be shared between X clients; client-side state, such as pixel storage modes, cannot be shared. Thus, glXImportContextEXT must allocate memory to store client-side information. This memory is freed by calling glXFreeContextEXT. This call does not create a new XID. It merely makes an existing object available to the importing client (Display *). Like any XID, it goes away when the creating client drops its connection or the ID is explicitly deleted. Note that this is when the XID goes away. The object goes away when the XID goes away AND the context is not current to any thread. If contextID refers to a direct rendering context then no error is generated but glXImportContextEXT returns NULL. glXImportContextEXT is part of the EXT_import_context extension, not part of the core GLX command set. If _glxextstring(EXT_import_context) is included in the string returned by glXQueryExtensionsString, when called with argument GLX_EXTENSIONS, extension EXT_import_context is supported. Errors GLXBadContext is generated if contextID does not refer to a valid context. See Also glXCreateContext, glXQueryVersion, glXQueryExtensionsString, glXGetContextIDEXT, glXFreeContextEXT Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluSphere.xml0000664000175000017500000001372111453131434023200 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluSphere 3G gluSphere draw a sphere C Specification void gluSphere GLUquadric* quad GLdouble radius GLint slices GLint stacks Parameters quad Specifies the quadrics object (created with gluNewQuadric). radius Specifies the radius of the sphere. slices Specifies the number of subdivisions around the z axis (similar to lines of longitude). stacks Specifies the number of subdivisions along the z axis (similar to lines of latitude). Description gluSphere draws a sphere of the given radius centered around the origin. The sphere is subdivided around the z axis into slices and along the z axis into stacks (similar to lines of longitude and latitude). If the orientation is set to GLU_OUTSIDE (with gluQuadricOrientation), then any normals generated point away from the center of the sphere. Otherwise, they point toward the center of the sphere. If texturing is turned on (with gluQuadricTexture), then texture coordinates are generated so that t ranges from 0.0 at z = - radius to 1.0 at z = radius (t increases linearly along longitudinal lines), and s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the \-y axis, to 0.75 at the \-x axis, and back to 1.0 at the +y axis. See Also gluCylinder, gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricOrientation, gluQuadricTexture Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluDeleteQuadric.xml0000664000175000017500000000473111453131432024464 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluDeleteQuadric 3G gluDeleteQuadric destroy a quadrics object C Specification void gluDeleteQuadric GLUquadric* quad Parameters quad Specifies the quadrics object to be destroyed. Description gluDeleteQuadric destroys the quadrics object (created with gluNewQuadric) and frees any memory it uses. Once gluDeleteQuadric has been called, quad cannot be used again. See Also gluNewQuadric Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPushAttrib.xml0000664000175000017500000015037011453131434023654 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPushAttrib 3G glPushAttrib push and pop the server attribute stack C Specification void glPushAttrib GLbitfield mask Parameters mask Specifies a mask that indicates which attributes to save. Values for mask are listed below. C Specification void glPopAttrib void Description glPushAttrib takes one argument, a mask that indicates which groups of state variables to save on the attribute stack. Symbolic constants are used to set bits in the mask. mask is typically constructed by specifying the bitwise-or of several of these constants together. The special mask GL_ALL_ATTRIB_BITS can be used to save all stackable states. The symbolic mask constants and their associated GL state are as follows (the second column lists which attributes are saved): GL_ACCUM_BUFFER_BIT Accumulation buffer clear value GL_COLOR_BUFFER_BIT GL_ALPHA_TEST enable bit Alpha test function and reference value GL_BLEND enable bit Blending source and destination functions Constant blend color Blending equation GL_DITHER enable bit GL_DRAW_BUFFER setting GL_COLOR_LOGIC_OP enable bit GL_INDEX_LOGIC_OP enable bit Logic op function Color mode and index mode clear values Color mode and index mode writemasks GL_CURRENT_BIT Current RGBA color Current color index Current normal vector Current texture coordinates Current raster position GL_CURRENT_RASTER_POSITION_VALID flag RGBA color associated with current raster position Color index associated with current raster position Texture coordinates associated with current raster position GL_EDGE_FLAG flag GL_DEPTH_BUFFER_BIT GL_DEPTH_TEST enable bit Depth buffer test function Depth buffer clear value GL_DEPTH_WRITEMASK enable bit GL_ENABLE_BIT GL_ALPHA_TEST flag GL_AUTO_NORMAL flag GL_BLEND flag Enable bits for the user-definable clipping planes GL_COLOR_MATERIAL GL_CULL_FACE flag GL_DEPTH_TEST flag GL_DITHER flag GL_FOG flag GL_LIGHTi where 0 <= i < GL_MAX_LIGHTS GL_LIGHTING flag GL_LINE_SMOOTH flag GL_LINE_STIPPLE flag GL_COLOR_LOGIC_OP flag GL_INDEX_LOGIC_OP flag GL_MAP1_x where x is a map type GL_MAP2_x where x is a map type GL_MULTISAMPLE flag GL_NORMALIZE flag GL_POINT_SMOOTH flag GL_POLYGON_OFFSET_LINE flag GL_POLYGON_OFFSET_FILL flag GL_POLYGON_OFFSET_POINT flag GL_POLYGON_SMOOTH flag GL_POLYGON_STIPPLE flag GL_SAMPLE_ALPHA_TO_COVERAGE flag GL_SAMPLE_ALPHA_TO_ONE flag GL_SAMPLE_COVERAGE flag GL_SCISSOR_TEST flag GL_STENCIL_TEST flag GL_TEXTURE_1D flag GL_TEXTURE_2D flag GL_TEXTURE_3D flag Flags GL_TEXTURE_GEN_x where x is S, T, R, or Q GL_EVAL_BIT GL_MAP1_x enable bits, where x is a map type GL_MAP2_x enable bits, where x is a map type 1D grid endpoints and divisions 2D grid endpoints and divisions GL_AUTO_NORMAL enable bit GL_FOG_BIT GL_FOG enable bit Fog color Fog density Linear fog start Linear fog end Fog index GL_FOG_MODE value GL_HINT_BIT GL_PERSPECTIVE_CORRECTION_HINT setting GL_POINT_SMOOTH_HINT setting GL_LINE_SMOOTH_HINT setting GL_POLYGON_SMOOTH_HINT setting GL_FOG_HINT setting GL_GENERATE_MIPMAP_HINT setting GL_TEXTURE_COMPRESSION_HINT setting GL_LIGHTING_BIT GL_COLOR_MATERIAL enable bit GL_COLOR_MATERIAL_FACE value Color material parameters that are tracking the current color Ambient scene color GL_LIGHT_MODEL_LOCAL_VIEWER value GL_LIGHT_MODEL_TWO_SIDE setting GL_LIGHTING enable bit Enable bit for each light Ambient, diffuse, and specular intensity for each light Direction, position, exponent, and cutoff angle for each light Constant, linear, and quadratic attenuation factors for each light Ambient, diffuse, specular, and emissive color for each material Ambient, diffuse, and specular color indices for each material Specular exponent for each material GL_SHADE_MODEL setting GL_LINE_BIT GL_LINE_SMOOTH flag GL_LINE_STIPPLE enable bit Line stipple pattern and repeat counter Line width GL_LIST_BIT GL_LIST_BASE setting GL_MULTISAMPLE_BIT GL_MULTISAMPLE flag GL_SAMPLE_ALPHA_TO_COVERAGE flag GL_SAMPLE_ALPHA_TO_ONE flag GL_SAMPLE_COVERAGE flag GL_SAMPLE_COVERAGE_VALUE value GL_SAMPLE_COVERAGE_INVERT value GL_PIXEL_MODE_BIT GL_RED_BIAS and GL_RED_SCALE settings GL_GREEN_BIAS and GL_GREEN_SCALE values GL_BLUE_BIAS and GL_BLUE_SCALE GL_ALPHA_BIAS and GL_ALPHA_SCALE GL_DEPTH_BIAS and GL_DEPTH_SCALE GL_INDEX_OFFSET and GL_INDEX_SHIFT values GL_MAP_COLOR and GL_MAP_STENCIL flags GL_ZOOM_X and GL_ZOOM_Y factors GL_READ_BUFFER setting GL_POINT_BIT GL_POINT_SMOOTH flag Point size GL_POLYGON_BIT GL_CULL_FACE enable bit GL_CULL_FACE_MODE value GL_FRONT_FACE indicator GL_POLYGON_MODE setting GL_POLYGON_SMOOTH flag GL_POLYGON_STIPPLE enable bit GL_POLYGON_OFFSET_FILL flag GL_POLYGON_OFFSET_LINE flag GL_POLYGON_OFFSET_POINT flag GL_POLYGON_OFFSET_FACTOR GL_POLYGON_OFFSET_UNITS GL_POLYGON_STIPPLE_BIT Polygon stipple image GL_SCISSOR_BIT GL_SCISSOR_TEST flag Scissor box GL_STENCIL_BUFFER_BIT GL_STENCIL_TEST enable bit Stencil function and reference value Stencil value mask Stencil fail, pass, and depth buffer pass actions Stencil buffer clear value Stencil buffer writemask GL_TEXTURE_BIT Enable bits for the four texture coordinates Border color for each texture image Minification function for each texture image Magnification function for each texture image Texture coordinates and wrap mode for each texture image Color and mode for each texture environment Enable bits GL_TEXTURE_GEN_x, x is S, T, R, and Q GL_TEXTURE_GEN_MODE setting for S, T, R, and Q glTexGen plane equations for S, T, R, and Q Current texture bindings (for example, GL_TEXTURE_BINDING_2D) GL_TRANSFORM_BIT Coefficients of the six clipping planes Enable bits for the user-definable clipping planes GL_MATRIX_MODE value GL_NORMALIZE flag GL_RESCALE_NORMAL flag GL_VIEWPORT_BIT Depth range (near and far) Viewport origin and extent glPopAttrib restores the values of the state variables saved with the last glPushAttrib command. Those not saved are left unchanged. It is an error to push attributes onto a full stack or to pop attributes off an empty stack. In either case, the error flag is set and no other change is made to GL state. Initially, the attribute stack is empty. Notes Not all values for GL state can be saved on the attribute stack. For example, render mode state, and select and feedback state cannot be saved. Client state must be saved with glPushClientAttrib. The depth of the attribute stack depends on the implementation, but it must be at least 16. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, pushing and popping texture state applies to all supported texture units. Errors GL_STACK_OVERFLOW is generated if glPushAttrib is called while the attribute stack is full. GL_STACK_UNDERFLOW is generated if glPopAttrib is called while the attribute stack is empty. GL_INVALID_OPERATION is generated if glPushAttrib or glPopAttrib is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_ATTRIB_STACK_DEPTH glGet with argument GL_MAX_ATTRIB_STACK_DEPTH See Also glGet, glGetClipPlane, glGetError, glGetLight, glGetMap, glGetMaterial, glGetPixelMap, glGetPolygonStipple, glGetString, glGetTexEnv, glGetTexGen, glGetTexImage, glGetTexLevelParameter, glGetTexParameter, glIsEnabled, glPushClientAttrib Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNurbsCallback.xml0000664000175000017500000004422311453131432024457 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNurbsCallback 3G gluNurbsCallback define a callback for a NURBS object C Specification void gluNurbsCallback GLUnurbs* nurb GLenum which _GLUfuncptr CallBackFunc Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). which Specifies the callback being defined. Valid values are GLU_NURBS_BEGIN, GLU_NURBS_VERTEX, GLU_NURBS_NORMAL, GLU_NURBS_COLOR, GLU_NURBS_TEXTURE_COORD, GLU_NURBS_END, GLU_NURBS_BEGIN_DATA, GLU_NURBS_VERTEX_DATA, GLU_NURBS_NORMAL_DATA, GLU_NURBS_COLOR_DATA, GLU_NURBS_TEXTURE_COORD_DATA, GLU_NURBS_END_DATA, and GLU_NURBS_ERROR. CallBackFunc Specifies the function that the callback calls. Description gluNurbsCallback is used to define a callback to be used by a NURBS object. If the specified callback is already defined, then it is replaced. If CallBackFunc is NULL, then this callback will not get invoked and the related data, if any, will be lost. Except the error callback, these callbacks are used by NURBS tessellator (when GLU_NURBS_MODE is set to be GLU_NURBS_TESSELLATOR) to return back the OpenGL polygon primitives resulting from the tessellation. Note that there are two versions of each callback: one with a user data pointer and one without. If both versions for a particular callback are specified then the callback with the user data pointer will be used. Note that ``userData'' is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The error callback function is effective no matter which value that GLU_NURBS_MODE is set to. All other callback functions are effective only when GLU_NURBS_MODE is set to GLU_NURBS_TESSELLATOR. The legal callbacks are as follows: GLU_NURBS_BEGIN The begin callback indicates the start of a primitive. The function takes a single argument of type GLenum, which can be one of GLU_LINES, GLU_LINE_STRIP, GLU_TRIANGLE_FAN, GLU_TRIANGLE_STRIP, GLU_TRIANGLES, or GLU_QUAD_STRIP. The default begin callback function is NULL. The function prototype for this callback looks like: void begin( GLenum type ); GLU_NURBS_BEGIN_DATA The same as the GLU_NURBS_BEGIN callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void beginData(GLenum type, void *userData); GLU_NURBS_VERTEX The vertex callback indicates a vertex of the primitive. The coordinates of the vertex are stored in the parameter ``vertex''. All the generated vertices have dimension 3; that is, homogeneous coordinates have been transformed into affine coordinates. The default vertex callback function is NULL. The function prototype for this callback function looks like: void vertex( GLfloat *vertex ); GLU_NURBS_VERTEX_DATA This is the same as the GLU_NURBS_VERTEX callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void vertexData( GLfloat *vertex, void *userData ); GLU_NURBS_NORMAL The normal callback is invoked as the vertex normal is generated. The components of the normal are stored in the parameter ``normal.'' In the case of a NURBS curve, the callback function is effective only when the user provides a normal map (GLU_MAP1_NORMAL). In the case of a NURBS surface, if a normal map (GLU_MAP2_NORMAL) is provided, then the generated normal is computed from the normal map. If a normal map is not provided, then a surface normal is computed in a manner similar to that described for evaluators when GLU_AUTO_NORMAL is enabled. The default normal callback function is NULL. The function prototype for this callback function looks like: void normal( GLfloat *normal ); GLU_NURBS_NORMAL_DATA The same as the GLU_NURBS_NORMAL callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void normalData( GLfloat *normal, void *userData ); GLU_NURBS_COLOR The color callback is invoked as the color of a vertex is generated. The components of the color are stored in the parameter ``color.'' This callback is effective only when the user provides a color map (GLU_MAP1_COLOR_4 or GLU_MAP2_COLOR_4). ``color'' contains four components: R, G, B, A. The default color callback function is NULL. The prototype for this callback function looks like: void color( GLfloat *color ); GLU_NURBS_COLOR_DATA The same as the GLU_NURBS_COLOR callback except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void colorData( GLfloat *color, void *userData ); GLU_NURBS_TEXTURE_COORD The texture callback is invoked as the texture coordinates of a vertex are generated. These coordinates are stored in the parameter ``texCoord.'' The number of texture coordinates can be 1, 2, 3, or 4 depending on which type of texture map is specified (GLU_MAP1_TEXTURE_COORD_1, GLU_MAP1_TEXTURE_COORD_2, GLU_MAP1_TEXTURE_COORD_3, GLU_MAP1_TEXTURE_COORD_4, GLU_MAP2_TEXTURE_COORD_1, GLU_MAP2_TEXTURE_COORD_2, GLU_MAP2_TEXTURE_COORD_3, GLU_MAP2_TEXTURE_COORD_4). If no texture map is specified, this callback function will not be called. The default texture callback function is NULL. The function prototype for this callback function looks like: void texCoord( GLfloat *texCoord ); GLU_NURBS_TEXTURE_COORD_DATA This is the same as the GLU_NURBS_TEXTURE_COORD callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void texCoordData( GLfloat *texCoord, void *userData ); GLU_NURBS_END The end callback is invoked at the end of a primitive. The default end callback function is NULL. The function prototype for this callback function looks like: void end( void ); GLU_NURBS_END_DATA This is the same as the GLU_NURBS_END callback, except that it takes an additional pointer argument. This pointer is a copy of the pointer that was specified at the last call to gluNurbsCallbackData. The default callback function is NULL. The function prototype for this callback function looks like: void endData( void *userData ); GLU_NURBS_ERROR The error function is called when an error is encountered. Its single argument is of type GLenum, and it indicates the specific error that occurred. There are 37 errors unique to NURBS, named GLU_NURBS_ERROR1 through GLU_NURBS_ERROR37. Character strings describing these errors can be retrieved with gluErrorString. Notes gluNurbsCallback is available only if the GLU version is 1.2 or greater. GLU version 1.2 supports only the GLU_ERROR parameter for which. The GLU_ERROR value is deprecated in GLU version 1.3 in favor of GLU_NURBS_ERROR. All other accepted values for CallBackFunc are available only if the GLU version is 1.3 or greater. See Also gluErrorString, gluNewNurbsRenderer, gluNurbsCallbackData, gluNurbsProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glSecondaryColor.xml0000664000175000017500000003026711453131434024517 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glSecondaryColor 3G glSecondaryColor set the current secondary color C Specification void glSecondaryColor3b GLbyte red GLbyte green GLbyte blue void glSecondaryColor3s GLshort red GLshort green GLshort blue void glSecondaryColor3i GLint red GLint green GLint blue void glSecondaryColor3f GLfloat red GLfloat green GLfloat blue void glSecondaryColor3d GLdouble red GLdouble green GLdouble blue void glSecondaryColor3ub GLubyte red GLubyte green GLubyte blue void glSecondaryColor3us GLushort red GLushort green GLushort blue void glSecondaryColor3ui GLuint red GLuint green GLuint blue Parameters red green blue Specify new red, green, and blue values for the current secondary color. C Specification void glSecondaryColor3bv const GLbyte * v void glSecondaryColor3sv const GLshort * v void glSecondaryColor3iv const GLint * v void glSecondaryColor3fv const GLfloat * v void glSecondaryColor3dv const GLdouble * v void glSecondaryColor3ubv const GLubyte * v void glSecondaryColor3usv const GLushort * v void glSecondaryColor3uiv const GLuint * v Parameters v Specifies a pointer to an array that contains red, green, blue. Description The GL stores both a primary four-valued RGBA color and a secondary four-valued RGBA color (where alpha is always set to 0.0) that is associated with every vertex. The secondary color is interpolated and applied to each fragment during rasterization when GL_COLOR_SUM is enabled. When lighting is enabled, and GL_SEPARATE_SPECULAR_COLOR is specified, the value of the secondary color is assigned the value computed from the specular term of the lighting computation. Both the primary and secondary current colors are applied to each fragment, regardless of the state of GL_COLOR_SUM, under such conditions. When GL_SEPARATE_SPECULAR_COLOR is specified, the value returned from querying the current secondary color is undefined. glSecondaryColor3b, glSecondaryColor3s, and glSecondaryColor3i take three signed byte, short, or long integers as arguments. When v is appended to the name, the color commands can take a pointer to an array of such values. Color values are stored in floating-point format, with unspecified mantissa and exponent sizes. Unsigned integer color components, when specified, are linearly mapped to floating-point values such that the largest representable value maps to 1.0 (full intensity), and 0 maps to 0.0 (zero intensity). Signed integer color components, when specified, are linearly mapped to floating-point values such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . (Note that this mapping does not convert 0 precisely to 0.0). Floating-point values are mapped directly. Neither floating-point nor signed integer values are clamped to the range 0 1 before the current color is updated. However, color components are clamped to this range before they are interpolated or written into a color buffer. Notes glSecondaryColor is available only if the GL version is 1.4 or greater. The initial value for the secondary color is (0, 0, 0, 0). The secondary color can be updated at any time. In particular, glSecondaryColor can be called between a call to glBegin and the corresponding call to glEnd. Associated Gets glGet with argument GL_CURRENT_SECONDARY_COLOR glGet with argument GL_RGBA_MODE glIsEnabled with argument GL_COLOR_SUM See Also glColor, glIndex, glIsEnabled, glLightModel, glSecondaryColorPointer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glBitmap.xml0000664000175000017500000003401411453131434022777 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glBitmap 3G glBitmap draw a bitmap C Specification void glBitmap GLsizei width GLsizei height GLfloat xorig GLfloat yorig GLfloat xmove GLfloat ymove const GLubyte * bitmap Parameters width height Specify the pixel width and height of the bitmap image. xorig yorig Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. xmove ymove Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. bitmap Specifies the address of the bitmap image. Description A bitmap is a binary image. When drawn, the bitmap is positioned relative to the current raster position, and frame buffer pixels corresponding to 1's in the bitmap are written using the current raster color or index. Frame buffer pixels corresponding to 0's in the bitmap are not modified. glBitmap takes seven arguments. The first pair specifies the width and height of the bitmap image. The second pair specifies the location of the bitmap origin relative to the lower left corner of the bitmap image. The third pair of arguments specifies x and y offsets to be added to the current raster position after the bitmap has been drawn. The final argument is a pointer to the bitmap image itself. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a bitmap image is specified, bitmap is treated as a byte offset into the buffer object's data store. The bitmap image is interpreted like image data for the glDrawPixels command, with width and height corresponding to the width and height arguments of that command, and with type set to GL_BITMAP and format set to GL_COLOR_INDEX. Modes specified using glPixelStore affect the interpretation of bitmap image data; modes specified using glPixelTransfer do not. If the current raster position is invalid, glBitmap is ignored. Otherwise, the lower left corner of the bitmap image is positioned at the window coordinates x w = x r - x o y w = y r - y o where x r y r is the raster position and x o y o is the bitmap origin. Fragments are then generated for each pixel corresponding to a 1 (one) in the bitmap image. These fragments are generated using the current raster z coordinate, color or color index, and current raster texture coordinates. They are then treated just as if they had been generated by a point, line, or polygon, including texture mapping, fogging, and all per-fragment operations such as alpha and depth testing. After the bitmap has been drawn, the x and y coordinates of the current raster position are offset by xmove and ymove. No change is made to the z coordinate of the current raster position, or to the current raster color, texture coordinates, or index. Notes To set a valid raster position outside the viewport, first set a valid raster position inside the viewport, then call glBitmap with NULL as the bitmap parameter and with xmove and ymove set to the offsets of the new raster position. This technique is useful when panning an image around the viewport. Errors GL_INVALID_VALUE is generated if width or height is negative. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glBitmap is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_CURRENT_RASTER_POSITION glGet with argument GL_CURRENT_RASTER_COLOR glGet with argument GL_CURRENT_RASTER_SECONDARY_COLOR glGet with argument GL_CURRENT_RASTER_DISTANCE glGet with argument GL_CURRENT_RASTER_INDEX glGet with argument GL_CURRENT_RASTER_TEXTURE_COORDS glGet with argument GL_CURRENT_RASTER_POSITION_VALID glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glBindBuffer, glDrawPixels, glPixelStore, glPixelTransfer, glRasterPos, glWindowPos Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glTexEnv.xml0000664000175000017500000042020611453131432022774 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glTexEnv 3G glTexEnv set texture environment parameters C Specification void glTexEnvf GLenum target GLenum pname GLfloat param void glTexEnvi GLenum target GLenum pname GLint param Parameters target Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. pname Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. param Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. C Specification void glTexEnvfv GLenum target GLenum pname const GLfloat * params void glTexEnviv GLenum target GLenum pname const GLint * params Parameters target Specifies a texture environment. May be either GL_TEXTURE_ENV, or GL_TEXTURE_FILTER_CONTROL. pname Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, or GL_TEXTURE_LOD_BIAS. params Specifies a pointer to a parameter array that contains either a single symbolic constant, single floating-point number, or an RGBA color. Description A texture environment specifies how texture values are interpreted when a fragment is textured. When target is GL_TEXTURE_FILTER_CONTROL, pname must be GL_TEXTURE_LOD_BIAS. When target is GL_TEXTURE_ENV, pname can be GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, or GL_SRC2_ALPHA. If pname is GL_TEXTURE_ENV_MODE, then params is (or points to) the symbolic name of a texture function. Six texture functions may be specified: GL_ADD, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, or GL_COMBINE. The following table shows the correspondence of filtered texture values R t, G t, B t, A t, L t, I t to texture source components. C s and A s are used by the texture functions described below. Texture Base Internal Format C s A s GL_ALPHA (0, 0, 0) A t GL_LUMINANCE ( L t, L t, L t ) 1 GL_LUMINANCE_ALPHA ( L t, L t, L t ) A t GL_INTENSITY ( I t, I t, I t ) I t GL_RGB ( R t, G t, B t ) 1 GL_RGBA ( R t, G t, B t ) A t A texture function acts on the fragment to be textured using the texture image value that applies to the fragment (see glTexParameter) and produces an RGBA color for that fragment. The following table shows how the RGBA color is produced for each of the first five texture functions that can be chosen. C is a triple of color values (RGB) and A is the associated alpha value. RGBA values extracted from a texture image are in the range [0,1]. The subscript p refers to the color computed from the previous texture stage (or the incoming fragment if processing texture stage 0), the subscript s to the texture source color, the subscript c to the texture environment color, and the subscript v indicates a value produced by the texture function. Texture Base Internal Format Value GL_REPLACE Function GL_MODULATE Function GL_DECAL Function GL_BLEND Function GL_ADD Function GL_ALPHA C v = C p C p undefined C p C p A v = A s A p A s A v = A p A s A p A s GL_LUMINANCE C v = C s C p C s undefined C p 1 - C s + C c C s C p + C s (or 1) A v = A p A p A p A p GL_LUMINANCE_ALPHA C v = C s C p C s undefined C p 1 - C s + C c C s C p + C s (or 2) A v = A s A p A s A p A s A p A s GL_INTENSITY C v = C s C p C s undefined C p 1 - C s + C c C s C p + C s A v = A s A p A s A p 1 - A s + A c A s A p + A s GL_RGB C v = C s C p C s C s C p 1 - C s + C c C s C p + C s (or 3) A v = A p A p A p A p A p GL_RGBA C v = C s C p C s C p 1 - A s + C s A s C p 1 - C s + C c C s C p + C s (or 4) A v = A s A p A s A p A p A s A p A s If pname is GL_TEXTURE_ENV_MODE, and params is GL_COMBINE, the form of the texture function depends on the values of GL_COMBINE_RGB and GL_COMBINE_ALPHA. The following describes how the texture sources, as specified by GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, and GL_SRC2_ALPHA, are combined to produce a final texture color. In the following tables, GL_SRC0_c is represented by Arg0, GL_SRC1_c is represented by Arg1, and GL_SRC2_c is represented by Arg2. GL_COMBINE_RGB accepts any of GL_REPLACE, GL_MODULATE, GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_SUBTRACT, GL_DOT3_RGB, or GL_DOT3_RGBA. GL_COMBINE_RGB Texture Function GL_REPLACE Arg0 GL_MODULATE Arg0 × Arg1 GL_ADD Arg0 + Arg1 GL_ADD_SIGNED Arg0 + Arg1 - 0.5 GL_INTERPOLATE Arg0 × Arg2 + Arg1 × 1 - Arg2 GL_SUBTRACT Arg0 - Arg1 GL_DOT3_RGB 4 × Arg0 r - 0.5 × Arg1 r - 0.5 + or Arg0 g - 0.5 × Arg1 g - 0.5 + GL_DOT3_RGBA Arg0 b - 0.5 × Arg1 b - 0.5 The scalar results for GL_DOT3_RGB and GL_DOT3_RGBA are placed into each of the 3 (RGB) or 4 (RGBA) components on output. Likewise, GL_COMBINE_ALPHA accepts any of GL_REPLACE, GL_MODULATE, GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, or GL_SUBTRACT. The following table describes how alpha values are combined: GL_COMBINE_ALPHA Texture Function GL_REPLACE Arg0 GL_MODULATE Arg0 × Arg1 GL_ADD Arg0 + Arg1 GL_ADD_SIGNED Arg0 + Arg1 - 0.5 GL_INTERPOLATE Arg0 × Arg2 + Arg1 × 1 - Arg2 GL_SUBTRACT Arg0 - Arg1 In the following tables, the value C s represents the color sampled from the currently bound texture, C c represents the constant texture-environment color, C f represents the primary color of the incoming fragment, and C p represents the color computed from the previous texture stage or C f if processing texture stage 0. Likewise, A s , A c , A f , and A p represent the respective alpha values. The following table describes the values assigned to Arg0, Arg1, and Arg2 based upon the RGB sources and operands: GL_SRCn_RGB GL_OPERANDn_RGB Argument Value GL_TEXTURE GL_SRC_COLOR C s GL_ONE_MINUS_SRC_COLOR 1 - C s GL_SRC_ALPHA A s GL_ONE_MINUS_SRC_ALPHA 1 - A s GL_TEXTUREn GL_SRC_COLOR C s GL_ONE_MINUS_SRC_COLOR 1 - C s GL_SRC_ALPHA A s GL_ONE_MINUS_SRC_ALPHA 1 - A s GL_CONSTANT GL_SRC_COLOR C c GL_ONE_MINUS_SRC_COLOR 1 - C c GL_SRC_ALPHA A c GL_ONE_MINUS_SRC_ALPHA 1 - A c GL_PRIMARY_COLOR GL_SRC_COLOR C f GL_ONE_MINUS_SRC_COLOR 1 - C f GL_SRC_ALPHA A f GL_ONE_MINUS_SRC_ALPHA 1 - A f GL_PREVIOUS GL_SRC_COLOR C p GL_ONE_MINUS_SRC_COLOR 1 - C p GL_SRC_ALPHA A p GL_ONE_MINUS_SRC_ALPHA 1 - A p For GL_TEXTUREn sources, C s and A s represent the color and alpha, respectively, produced from texture stage n. The follow table describes the values assigned to Arg0, Arg1, and Arg2 based upon the alpha sources and operands: GL_SRCn_ALPHA GL_OPERANDn_ALPHA Argument Value GL_TEXTURE GL_SRC_ALPHA A s GL_ONE_MINUS_SRC_ALPHA 1 - A s GL_TEXTUREn GL_SRC_ALPHA A s GL_ONE_MINUS_SRC_ALPHA 1 - A s GL_CONSTANT GL_SRC_ALPHA A c GL_ONE_MINUS_SRC_ALPHA 1 - A c GL_PRIMARY_COLOR GL_SRC_ALPHA A f GL_ONE_MINUS_SRC_ALPHA 1 - A f GL_PREVIOUS GL_SRC_ALPHA A p GL_ONE_MINUS_SRC_ALPHA 1 - A p The RGB and alpha results of the texture function are multipled by the values of GL_RGB_SCALE and GL_ALPHA_SCALE, respectively, and clamped to the range 0 1 . If pname is GL_TEXTURE_ENV_COLOR, params is a pointer to an array that holds an RGBA color consisting of four values. Integer color components are interpreted linearly such that the most positive integer maps to 1.0, and the most negative integer maps to -1.0. The values are clamped to the range [0,1] when they are specified. C c takes these four values. If pname is GL_TEXTURE_LOD_BIAS, the value specified is added to the texture level-of-detail parameter, that selects which mipmap, or mipmaps depending upon the selected GL_TEXTURE_MIN_FILTER, will be sampled. GL_TEXTURE_ENV_MODE defaults to GL_MODULATE and GL_TEXTURE_ENV_COLOR defaults to (0, 0, 0, 0). If target is GL_POINT_SPRITE and pname is GL_COORD_REPLACE, the boolean value specified is used to either enable or disable point sprite texture coordinate replacement. The default value is GL_FALSE. Notes GL_REPLACE may only be used if the GL version is 1.1 or greater. GL_TEXTURE_FILTER_CONTROL and GL_TEXTURE_LOD_BIAS may only be used if the GL version is 1.4 or greater. GL_COMBINE mode and its associated constants may only be used if the GL version is 1.3 or greater. GL_TEXTUREn may only be used if the GL version is 1.4 or greater. Internal formats other than 1, 2, 3, or 4 may only be used if the GL version is 1.1 or greater. For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, glTexEnv controls the texture environment for the current active texture unit, selected by glActiveTexture. GL_POINT_SPRITE and GL_COORD_REPLACE are available only if the GL version is 2.0 or greater. Errors GL_INVALID_ENUM is generated when target or pname is not one of the accepted defined values, or when params should have a defined constant value (based on the value of pname) and does not. GL_INVALID_VALUE is generated if the params value for GL_RGB_SCALE or GL_ALPHA_SCALE are not one of 1.0, 2.0, or 4.0. GL_INVALID_OPERATION is generated if glTexEnv is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetTexEnv See Also glActiveTexture, glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glPolygonStipple.xml0000664000175000017500000002212111453131434024547 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glPolygonStipple 3G glPolygonStipple set the polygon stippling pattern C Specification void glPolygonStipple const GLubyte * pattern Parameters pattern Specifies a pointer to a 32 × 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. Description Polygon stippling, like line stippling (see glLineStipple), masks out certain fragments produced by rasterization, creating a pattern. Stippling is independent of polygon antialiasing. pattern is a pointer to a 32 × 32 stipple pattern that is stored in memory just like the pixel data supplied to a glDrawPixels call with height and width both equal to 32, a pixel format of GL_COLOR_INDEX, and data type of GL_BITMAP. That is, the stipple pattern is represented as a 32 × 32 array of 1-bit color indices packed in unsigned bytes. glPixelStore parameters like GL_UNPACK_SWAP_BYTES and GL_UNPACK_LSB_FIRST affect the assembling of the bits into a stipple pattern. Pixel transfer operations (shift, offset, pixel map) are not applied to the stipple image, however. If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer) while a stipple pattern is specified, pattern is treated as a byte offset into the buffer object's data store. To enable and disable polygon stippling, call glEnable and glDisable with argument GL_POLYGON_STIPPLE. Polygon stippling is initially disabled. If it's enabled, a rasterized polygon fragment with window coordinates x w and y w is sent to the next stage of the GL if and only if the ( x w % 32 )th bit in the ( y w % 32 )th row of the stipple pattern is 1 (one). When polygon stippling is disabled, it is as if the stipple pattern consists of all 1's. Errors GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped. GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size. GL_INVALID_OPERATION is generated if glPolygonStipple is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGetPolygonStipple glIsEnabled with argument GL_POLYGON_STIPPLE glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING See Also glDrawPixels, glLineStipple, glPixelStore, glPixelTransfer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glMapGrid.xml0000664000175000017500000004203311453131434023106 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glMapGrid 3G glMapGrid define a one- or two-dimensional mesh C Specification void glMapGrid1d GLint un GLdouble u1 GLdouble u2 void glMapGrid1f GLint un GLfloat u1 GLfloat u2 void glMapGrid2d GLint un GLdouble u1 GLdouble u2 GLint vn GLdouble v1 GLdouble v2 void glMapGrid2f GLint un GLfloat u1 GLfloat u2 GLint vn GLfloat v1 GLfloat v2 Parameters un Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. u1 u2 Specify the mappings for integer grid domain values i = 0 and i = un . vn Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). v1 v2 Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). Description glMapGrid and glEvalMesh are used together to efficiently generate and evaluate a series of evenly-spaced map domain values. glEvalMesh steps through the integer domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by glMap1 and glMap2. glMapGrid1 and glMapGrid2 specify the linear grid mappings between the i (or i and j) integer grid coordinates, to the u (or u and v) floating-point evaluation map coordinates. See glMap1 and glMap2 for details of how u and v coordinates are evaluated. glMapGrid1 specifies a single linear mapping such that integer grid coordinate 0 maps exactly to u1, and integer grid coordinate un maps exactly to u2. All other integer grid coordinates i are mapped so that u = i u2 - u1 un + u1 glMapGrid2 specifies two such linear mappings. One maps integer grid coordinate i = 0 exactly to u1, and integer grid coordinate i = un exactly to u2. The other maps integer grid coordinate j = 0 exactly to v1, and integer grid coordinate j = vn exactly to v2. Other integer grid coordinates i and j are mapped such that u = i u2 - u1 un + u1 v = j v2 - v1 vn + v1 The mappings specified by glMapGrid are used identically by glEvalMesh and glEvalPoint. Errors GL_INVALID_VALUE is generated if either un or vn is not positive. GL_INVALID_OPERATION is generated if glMapGrid is executed between the execution of glBegin and the corresponding execution of glEnd. Associated Gets glGet with argument GL_MAP1_GRID_DOMAIN glGet with argument GL_MAP2_GRID_DOMAIN glGet with argument GL_MAP1_GRID_SEGMENTS glGet with argument GL_MAP2_GRID_SEGMENTS See Also glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2 Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXQueryVersion.xml0000664000175000017500000000757611453131434024403 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXQueryVersion 3G glXQueryVersion return the version numbers of the GLX extension C Specification Bool glXQueryVersion Display * dpy int * major int * minor Parameters dpy Specifies the connection to the X server. major Returns the major version number of the GLX server extension. minor Returns the minor version number of the GLX server extension. Description glXQueryVersion returns the major and minor version numbers of the GLX extension implemented by the server associated with connection dpy. Implementations with the same major version number are upward compatible, meaning that the implementation with the higher minor number is a superset of the version with the lower minor number. major and minor do not return values if they are specified as NULL. Errors glXQueryVersion returns False if it fails, True otherwise. major and minor are not updated when False is returned. See Also glXQueryExtension Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluNewQuadric.xml0000664000175000017500000000542011453131434024011 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluNewQuadric 3G gluNewQuadric create a quadrics object C Specification GLUquadric* gluNewQuadric Description gluNewQuadric creates and returns a pointer to a new quadrics object. This object must be referred to when calling quadrics rendering and control functions. A return value of 0 means that there is not enough memory to allocate the object. See Also gluCylinder, gluDeleteQuadric, gluDisk, gluPartialDisk, gluQuadricCallback, gluQuadricDrawStyle, gluQuadricNormals, gluQuadricOrientation, gluQuadricTexture, gluSphere Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glGetActiveAttrib.xml0000664000175000017500000002375711453131434024620 0ustar laneylaney glGetActiveAttrib 3G glGetActiveAttrib Returns information about an active attribute variable for the specified program object C Specification void glGetActiveAttrib GLuint program GLuint index GLsizei bufSize GLsizei *length GLint *size GLenum *type GLchar *name Parameters program Specifies the program object to be queried. index Specifies the index of the attribute variable to be queried. bufSize Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. length Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. size Returns the size of the attribute variable. type Returns the data type of the attribute variable. name Returns a null terminated string containing the name of the attribute variable. Description glGetActiveAttrib returns information about an active attribute variable in the program object specified by program. The number of active attributes can be obtained by calling glGetProgram with the value GL_ACTIVE_ATTRIBUTES. A value of 0 for index selects the first active attribute variable. Permissible values for index range from 0 to the number of active attribute variables minus 1. A vertex shader may use either built-in attribute variables, user-defined attribute variables, or both. Built-in attribute variables have a prefix of "gl_" and reference conventional OpenGL vertex attribtes (e.g., gl_Vertex, gl_Normal, etc., see the OpenGL Shading Language specification for a complete list.) User-defined attribute variables have arbitrary names and obtain their values through numbered generic vertex attributes. An attribute variable (either built-in or user-defined) is considered active if it is determined during the link operation that it may be accessed during program execution. Therefore, program should have previously been the target of a call to glLinkProgram, but it is not necessary for it to have been linked successfully. The size of the character buffer required to store the longest attribute variable name in program can be obtained by calling glGetProgram with the value GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. This value should be used to allocate a buffer of sufficient size to store the returned attribute name. The size of this character buffer is passed in bufSize, and a pointer to this character buffer is passed in name. glGetActiveAttrib returns the name of the attribute variable indicated by index, storing it in the character buffer specified by name. The string returned will be null terminated. The actual number of characters written into this buffer is returned in length, and this count does not include the null termination character. If the length of the returned string is not required, a value of NULL can be passed in the length argument. The type argument will return a pointer to the attribute variable's data type. The symbolic constants GL_FLOAT, GL_FLOAT_VEC2, GL_FLOAT_VEC3, GL_FLOAT_VEC4, GL_FLOAT_MAT2, GL_FLOAT_MAT3, GL_FLOAT_MAT4, GL_FLOAT_MAT2x3, GL_FLOAT_MAT2x4, GL_FLOAT_MAT3x2, GL_FLOAT_MAT3x4, GL_FLOAT_MAT4x2, or GL_FLOAT_MAT4x3 may be returned. The size argument will return the size of the attribute, in units of the type returned in type. The list of active attribute variables may include both built-in attribute variables (which begin with the prefix "gl_") as well as user-defined attribute variable names. This function will return as much information as it can about the specified active attribute variable. If no information is available, length will be 0, and name will be an empty string. This situation could occur if this function is called after a link operation that failed. If an error occurs, the return values length, size, type, and name will be unmodified. Notes glGetActiveAttrib is available only if the GL version is 2.0 or greater. GL_FLOAT_MAT2x3, GL_FLOAT_MAT2x4, GL_FLOAT_MAT3x2, GL_FLOAT_MAT3x4, GL_FLOAT_MAT4x2, and GL_FLOAT_MAT4x3 will only be returned as a type if the GL version is 2.1 or greater. Errors GL_INVALID_VALUE is generated if program is not a value generated by OpenGL. GL_INVALID_OPERATION is generated if program is not a program object. GL_INVALID_VALUE is generated if index is greater than or equal to the number of active attribute variables in program. GL_INVALID_OPERATION is generated if glGetActiveAttrib is executed between the execution of glBegin and the corresponding execution of glEnd. GL_INVALID_VALUE is generated if bufSize is less than 0. Associated Gets glGet with argument GL_MAX_VERTEX_ATTRIBS. glGetProgram with argument GL_ACTIVE_ATTRIBUTES or GL_ACTIVE_ATTRIBUTE_MAX_LENGTH. glIsProgram See Also glBindAttribLocation, glLinkProgram, glVertexAttrib, glVertexAttribPointer Copyright Copyright 2003-2005 3Dlabs Inc. Ltd. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluPickMatrix.xml0000664000175000017500000001401511453131434024022 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluPickMatrix 3G gluPickMatrix define a picking region C Specification void gluPickMatrix GLdouble x GLdouble y GLdouble delX GLdouble delY GLint * viewport Parameters x y Specify the center of a picking region in window coordinates. delX delY Specify the width and height, respectively, of the picking region in window coordinates. viewport Specifies the current viewport (as from a glGetIntegerv call). Description gluPickMatrix creates a projection matrix that can be used to restrict drawing to a small region of the viewport. This is typically useful to determine what objects are being drawn near the cursor. Use gluPickMatrix to restrict drawing to a small region around the cursor. Then, enter selection mode (with glRenderMode) and rerender the scene. All primitives that would have been drawn near the cursor are identified and stored in the selection buffer. The matrix created by gluPickMatrix is multiplied by the current matrix just as if glMultMatrix is called with the generated matrix. To effectively use the generated pick matrix for picking, first call glLoadIdentity to load an identity matrix onto the perspective matrix stack. Then call gluPickMatrix, and, finally, call a command (such as gluPerspective) to multiply the perspective matrix by the pick matrix. When using gluPickMatrix to pick NURBS, be careful to turn off the NURBS property GLU_AUTO_LOAD_MATRIX. If GLU_AUTO_LOAD_MATRIX is not turned off, then any NURBS surface rendered is subdivided differently with the pick matrix than the way it was subdivided without the pick matrix. Example When rendering a scene as follows: glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(...); glMatrixMode(GL_MODELVIEW); /* Draw the scene */ a portion of the viewport can be selected as a pick region like this: glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPickMatrix(x, y, width, height, viewport); gluPerspective(...); glMatrixMode(GL_MODELVIEW); /* Draw the scene */ See Also gluPerspective, glGet, glLoadIdentity, glMultMatrix, glRenderMode Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluDeleteTess.xml0000664000175000017500000000503711453131434024014 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluDeleteTess 3G gluDeleteTess destroy a tessellation object C Specification void gluDeleteTess GLUtesselator* tess Parameters tess Specifies the tessellation object to destroy. Description gluDeleteTess destroys the indicated tessellation object (which was created with gluNewTess) and frees any memory that it used. See Also gluBeginPolygon, gluNewTess, gluTessCallback Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/glXGetSelectedEvent.xml0000664000175000017500000000750711453131434025114 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. glXGetSelectedEvent 3G glXGetSelectedEvent returns GLX events that are selected for a window or a GLX pixel buffer C Specification void glXGetSelectedEvent Display * dpy GLXDrawable draw unsigned long * event_mask Parameters dpy Specifies the connection to the X server. draw Specifies a GLX drawable. Must be a GLX pixel buffer or a window. event_mask Returns the events that are selected for draw. Description glXGetSelectedEvent returns in event_mask the events selected for draw. Notes glXGetSelectedEvent is available only if the GLX version is 1.3 or greater. If the GLX version is 1.1 or 1.0, the GL version must be 1.0. If the GLX version is 1.2, then the GL version must be 1.1. If the GLX version is 1.3, then the GL version must be 1.2. Errors GLXBadDrawable is generated if draw is not a valid window or a valid GLX pixel buffer. See Also glXSelectEvent, glXCreatePbuffer Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Docs/gluGetNurbsProperty.xml0000664000175000017500000000777211453131434025261 0ustar laneylaney 1991-2006 Silicon Graphics, Inc. gluGetNurbsProperty 3G gluGetNurbsProperty get a NURBS property C Specification void gluGetNurbsProperty GLUnurbs* nurb GLenum property GLfloat* data Parameters nurb Specifies the NURBS object (created with gluNewNurbsRenderer). property Specifies the property whose value is to be fetched. Valid values are GLU_CULLING, GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, GLU_V_STEP, and GLU_NURBS_MODE. data Specifies a pointer to the location into which the value of the named property is written. Description gluGetNurbsProperty retrieves properties stored in a NURBS object. These properties affect the way that NURBS curves and surfaces are rendered. See the gluNurbsProperty reference page for information about what the properties are and what they do. See Also gluNewNurbsRenderer, gluNurbsProperty Copyright Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/. opentk-1.0.20101006/Source/Bind/Specifications/Glu/0000775000175000017500000000000011453142152020352 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Specifications/Glu/glu.spec0000664000175000017500000003255511453131430022024 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. ############################################################################### # # Edited by StApostol. Revision 1 # ############################################################################### param: retval retained version: 1.0 BeginCurve(nurb) return void param nurb NurbsObj in value BeginPolygon(tess) return void param tess TesselatorObj in value BeginSurface(nurb) return void param nurb NurbsObj in value BeginTrim(nurb) return void param nurb NurbsObj in value Build1DMipmapLevels(target, internalFormat, width, format, type, level, base, max, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param level Int32 in value param base Int32 in value param max Int32 in value param data void in reference Build1DMipmaps(target, internalFormat, width, format, type, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param format PixelFormat in value param type PixelType in value param data void in reference Build2DMipmapLevels(target, internalFormat, width, height, format, type, level, base, max, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param level Int32 in value param base Int32 in value param max Int32 in value param data void in reference Build2DMipmaps(target, internalFormat, width, height, format, type, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param height SizeI in value param format PixelFormat in value param type PixelType in value param data void in reference Build3DMipmapLevels(target, internalFormat, width, height, depth, format, type, level, base, max, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param level Int32 in value param base Int32 in value param max Int32 in value param data void in reference Build3DMipmaps(target, internalFormat, width, height, depth, format, type, data); return Int32 param target TextureTarget in value param internalFormat Int32 in value param width SizeI in value param height SizeI in value param depth SizeI in value param format PixelFormat in value param type PixelType in value param data void in reference CheckExtension(extName, extString) return Boolean param extName UInt8 in array [COMPSIZE()] param extString UInt8 in array [COMPSIZE()] Cylinder(quad, base, top, height, slices, stacks); return void param quad QuadricObj in value param base Float64 in value param top Float64 in value param height Float64 in value param slices Int32 in value param stacks Int32 in value DeleteNurbsRenderer(nurb) return void param nurb NurbsObj in value DeleteQuadric(quad) return void param quad QuadricObj in value DeleteTess(tess) return void param tess TesselatorObj in value Disk(quad, inner, outer, slices, loops) return void param quad QuadricObj in value param inner Float64 in value param outer Float64 in value param slices Int32 in value param loops Int32 in value EndCurve(nurb) return void param nurb NurbsObj in value EndPolygon(tess) return void param tess TesselatorObj in value EndSurface(nurb) return void param nurb NurbsObj in value EndTrim(nurb) return void param nurb NurbsObj in value ErrorString(error) return String # Revision 1 param error GluErrorCode in value # ErrorCode (clashes with OpenGL enum) GetString(name) return String param name GluStringName in value GetNurbsProperty(nurb, property, data) return void param nurb NurbsObj in value param property NurbsProperty in value param data Float32Pointer out value GetTessProperty(tess, which, data) return void param tess TesselatorObj in value param which TessParameter in value # TessProperty in value param data Float64Pointer out value LoadSamplingMatrices(nurb, model, perspective, view) return void param nurb NurbsObj in value param model Float32 in array [16] param perspective Float32 in array [16] param view Int32 in array [4] LookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ) return void param eyeX Float64 in value param eyeY Float64 in value param eyeZ Float64 in value param centerX Float64 in value param centerY Float64 in value param centerZ Float64 in value param upX Float64 in value param upY Float64 in value param upZ Float64 in value NewNurbsRenderer() return NurbsObj NewQuadric() return QuadricObj NewTess() return TesselatorObj NextContour(tess, type) return void param tess TesselatorObj in value param type TessContour in value # Edited for OpenTK NurbsCallback(nurb, which, CallBackFunc) return void param nurb NurbsObj in value param which NurbsCallback in value param CallBackFunc FunctionPointer in value NurbsCallbackData(nurb, userData) return void param nurb NurbsObj in value param userData VoidPointer in value NurbsCallbackDataEXT(nurb, userData) return void param nurb NurbsObj in value param userData VoidPointer in value NurbsCurve(nurb, knotCount, knots, stride, control, order, type) return void param nurb NurbsObj in value param knotCount Int32 in value param knots Float32 out reference param stride Int32 in value param control Float32 out reference param order Int32 in value param type MapTarget in value NurbsProperty(nurb, property, value) return void param nurb NurbsObj in value param property NurbsProperty in value param value Float32 in value NurbsSurface(nurb, sKnotCount, sKnots, tKnotCount, tKnots, sStride, tStride, control, sOrder, tOrder, type) return void param nurb NurbsObj in value param sKnotCount Int32 in value param sKnots Float32Pointer in value param tKnotCount Int32 in value param tKnots Float32Pointer in value param sStride Int32 in value param tStride Int32 in value param control Float32Pointer in value param sOrder Int32 in value param tOrder Int32 in value param type MapTarget in value Ortho2D(left, right, bottom, top) return void param left Float64 in value param right Float64 in value param bottom Float64 in value param top Float64 in value PartialDisk(quad, inner, outer, slices, loops, start, sweep) return void param quad QuadricObj in value param inner Float64 in value param outer Float64 in value param slices Int32 in value param loops Int32 in value param start Float64 in value param sweep Float64 in value Perspective(fovy, aspect, zNear, zFar) return void param fovy Float64 in value param aspect Float64 in value param zNear Float64 in value param zFar Float64 in value PickMatrix(x, y, delX, delY, viewport) return void param x Float64 in value param y Float64 in value param delX Float64 in value param delY Float64 in value param viewport Int32 out array [4] Project(objX, objY, objZ, model, proj, view, winX, winY, winZ) return Int32 param objX Float64 in value param objY Float64 in value param objZ Float64 in value param model Float64 in array [16] param proj Float64 in array [16] param view Int32 in array [4] param winX Float64Pointer in value param winY Float64Pointer in value param winZ Float64Pointer in value PwlCurve(nurb, count, data, stride, type) return void param nurb NurbsObj in value param count Int32 in value param data Float32Pointer in value param stride Int32 in value param type NurbsTrim in value # Edited for OpenTK QuadricCallback(quad, which, CallBackFunc) return void param quad QuadricObj in value param which QuadricCallback in value param CallBackFunc FunctionPointer in value QuadricDrawStyle(quad, draw) return void param quad QuadricObj in value param draw QuadricDrawStyle in value QuadricNormals(quad, normal) return void param quad QuadricObj in value param normal QuadricNormal in value QuadricOrientation(quad, orientation) return void param quad QuadricObj in value param orientation QuadricOrientation in value # Revision 1 QuadricTexture(quad, texture) return void param quad QuadricObj in value param texture bool in value # Boolean in value ScaleImage(format, wIn, hIn, typeIn, dataIn, wOut, hOut, typeOut, dataOut) return Int32 param format PixelFormat in value param wIn SizeI in value param hIn SizeI in value param typeIn PixelType in value param dataIn void in reference param wOut SizeI in value param hOut SizeI in value param typeOut PixelType in value param dataOut VoidPointer out value Sphere(quad, radius, slices, stacks) return void param quad QuadricObj in value param radius Float64 in value param slices Int32 in value param stacks Int32 in value TessBeginContour(tess) return void param tess TesselatorObj in value TessBeginPolygon(tess, data) return void param tess TesselatorObj in value param data VoidPointer in value # Edited for OpenTK -- safety reasons TessCallback(tess, which, CallBackFunc) return void param tess TesselatorObj in value param which TessCallback in value param CallBackFunc FunctionPointer in value TessEndContour(tess) return void param tess TesselatorObj in value TessEndPolygon(tess) return void param tess TesselatorObj in value TessNormal(tess, valueX, valueY, valueZ) return void param tess TesselatorObj in value param valueX Float64 in value param valueY Float64 in value param valueZ Float64 in value TessProperty(tess, which, data) return void param tess TesselatorObj in value param which TessParameter in value # TessProperty in value param data Float64 in value # Edited for OpenTK TessVertex(tess, location, data) return void param tess TesselatorObj in value param location Float64 in array [3] # Float64 out array [3] param data VoidPointer in value # Edited for OpenTK TexFilterFuncSGI(target, filtertype, parms, n, weights) return Int32 out value param target TextureTarget in value param filtertype SGIS_texture_filter4 in value # Filter4TypeSGIS in value param parms Float32 in array [2] param n Int32 in value param weights Float32Pointer out value UnProject(winX, winY, winZ, model, proj, view, objX, objY, objZ) return Int32 param winX Float64 in value param winY Float64 in value param winZ Float64 in value param model Float64 in array [16] param proj Float64 in array [16] param view Int32 in array [4] param objX Float64Pointer in value param objY Float64Pointer in value param objZ Float64Pointer in value UnProject4(winX, winY, winZ, clipW, model, proj, view, near, far, objX, objY, objZ, objW) return Int32 param winX Float64 in value param winY Float64 in value param winZ Float64 in value param clipW Float64 in value param model Float64 in array [16] param proj Float64 in array [16] param view Int32 in array [4] param near Float64 in value param far Float64 in value param objX Float64Pointer in value param objY Float64Pointer in value param objZ Float64Pointer in value param objW Float64Pointer in value opentk-1.0.20101006/Source/Bind/Specifications/Glu/glu.tm0000664000175000017500000000133511453131430021502 0ustar laneylaney#GLUnurbs GLUnurbs #GLUTesselator GLUTesselator #GLUquadric GLUquadric # Unknown types (try to infer!) NurbsObj IntPtr # Nurbs QuadricObj IntPtr # Quadric TesselatorObj IntPtr # Tesselator FunctionPointer Delegate #IntPtr VoidPointer GLvoid* # VoidPointer Float64 Float64 Float64Pointer Float64Pointer Float32 Float32 Float32Pointer Float32Pointer SizeI GLsizei Sizei GLsizei UInt8 GLubyte Uint8 GLubyte # Enum types (find Tao-compatible solution!) TextureTarget TextureTarget PixelFormat PixelFormat PixelType PixelType MapTarget MapTarget Boolean GLboolean SGIS_texture_filter4 SgisTextureFilter4opentk-1.0.20101006/Source/Bind/Specifications/Glu/enumglu.spec0000664000175000017500000001730411453131430022704 0ustar laneylaney# License Applicability. Except to the extent portions of this file are # made subject to an alternative license as permitted in the SGI Free # Software License B, Version 1.1 (the "License"), the contents of this # file are subject only to the provisions of the License. You may not use # this file except in compliance with the License. You may obtain a copy # of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 # Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: # # http://oss.sgi.com/projects/FreeB # # Note that, as provided in the License, the Software is distributed on an # "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS # DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND # CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A # PARTICULAR PURPOSE, AND NON-INFRINGEMENT. # # Original Code. The Original Code is: OpenGL Sample Implementation, # Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, # Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc. # Copyright in any portions created by third parties is as indicated # elsewhere herein. All Rights Reserved. # # Additional Notice Provisions: This software was created using the # OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has # not been independently verified as being compliant with the OpenGL(R) # version 1.2.1 Specification. ############################################################################### # # Edited by StApostol. Revision 1 # ############################################################################### ############################################################################### Extensions define: EXT_object_space_tess = 1 EXT_nurbs_tessellator = 1 ############################################################################### # Revision 1 (exists in GL enums) #Boolean enum: # FALSE = 0 # TRUE = 1 ############################################################################### # Revision 1 GluVersion enum: VERSION_1_1 = 1 VERSION_1_2 = 1 VERSION_1_3 = 1 ############################################################################### # Revision 1 GluStringName enum: VERSION = 100800 EXTENSIONS = 100801 ############################################################################### # Revision 1 GluErrorCode enum: INVALID_ENUM = 100900 INVALID_VALUE = 100901 OUT_OF_MEMORY = 100902 ########INCOMPATIBLE_GL_VERSION = 100903 INVALID_OPERATION = 100904 ############################################################################### Filter4TypeSGIS enum: LAGRANGIAN_SGI = 100300 MITCHELL_NETRAVALI_SGI = 100301 ############################################################################### NurbsDisplay enum: use QuadricDrawStyle FILL OUTLINE_POLYGON = 100240 OUTLINE_PATCH = 100241 NurbsCallback enum: NURBS_ERROR = 100103 ERROR = 100103 NURBS_BEGIN = 100164 NURBS_BEGIN_EXT = 100164 NURBS_VERTEX = 100165 NURBS_VERTEX_EXT = 100165 NURBS_NORMAL = 100166 NURBS_NORMAL_EXT = 100166 NURBS_COLOR = 100167 NURBS_COLOR_EXT = 100167 NURBS_TEXTURE_COORD = 100168 NURBS_TEXTURE_COORD_EXT = 100168 NURBS_END = 100169 NURBS_END_EXT = 100169 NURBS_BEGIN_DATA = 100170 NURBS_BEGIN_DATA_EXT = 100170 NURBS_VERTEX_DATA = 100171 NURBS_VERTEX_DATA_EXT = 100171 NURBS_NORMAL_DATA = 100172 NURBS_NORMAL_DATA_EXT = 100172 NURBS_COLOR_DATA = 100173 NURBS_COLOR_DATA_EXT = 100173 NURBS_TEXTURE_COORD_DATA = 100174 NURBS_TEXTURE_COORD_DATA_EXT = 100174 NURBS_END_DATA = 100175 NURBS_END_DATA_EXT = 100175 NurbsError enum: NURBS_ERROR1 = 100251 NURBS_ERROR2 = 100252 NURBS_ERROR3 = 100253 NURBS_ERROR4 = 100254 NURBS_ERROR5 = 100255 NURBS_ERROR6 = 100256 NURBS_ERROR7 = 100257 NURBS_ERROR8 = 100258 NURBS_ERROR9 = 100259 NURBS_ERROR10 = 100260 NURBS_ERROR11 = 100261 NURBS_ERROR12 = 100262 NURBS_ERROR13 = 100263 NURBS_ERROR14 = 100264 NURBS_ERROR15 = 100265 NURBS_ERROR16 = 100266 NURBS_ERROR17 = 100267 NURBS_ERROR18 = 100268 NURBS_ERROR19 = 100269 NURBS_ERROR20 = 100270 NURBS_ERROR21 = 100271 NURBS_ERROR22 = 100272 NURBS_ERROR23 = 100273 NURBS_ERROR24 = 100274 NURBS_ERROR25 = 100275 NURBS_ERROR26 = 100276 NURBS_ERROR27 = 100277 NURBS_ERROR28 = 100278 NURBS_ERROR29 = 100279 NURBS_ERROR30 = 100280 NURBS_ERROR31 = 100281 NURBS_ERROR32 = 100282 NURBS_ERROR33 = 100283 NURBS_ERROR34 = 100284 NURBS_ERROR35 = 100285 NURBS_ERROR36 = 100286 NURBS_ERROR37 = 100287 NurbsProperty enum: AUTO_LOAD_MATRIX = 100200 CULLING = 100201 SAMPLING_TOLERANCE = 100203 DISPLAY_MODE = 100204 PARAMETRIC_TOLERANCE = 100202 SAMPLING_METHOD = 100205 U_STEP = 100206 V_STEP = 100207 NURBS_MODE = 100160 NURBS_MODE_EXT = 100160 NURBS_TESSELLATOR = 100161 NURBS_TESSELLATOR_EXT = 100161 NURBS_RENDERER = 100162 NURBS_RENDERER_EXT = 100162 NurbsSampling enum: OBJECT_PARAMETRIC_ERROR = 100208 OBJECT_PARAMETRIC_ERROR_EXT = 100208 OBJECT_PATH_LENGTH = 100209 OBJECT_PATH_LENGTH_EXT = 100209 PATH_LENGTH = 100215 PARAMETRIC_ERROR = 100216 DOMAIN_DISTANCE = 100217 NurbsTrim enum: MAP1_TRIM_2 = 100210 MAP1_TRIM_3 = 100211 ############################################################################### QuadricDrawStyle enum: POINT = 100010 LINE = 100011 FILL = 100012 SILHOUETTE = 100013 QuadricCallback enum: use NurbsCallback ERROR QuadricNormal enum: SMOOTH = 100000 FLAT = 100001 NONE = 100002 QuadricOrientation enum: OUTSIDE = 100020 INSIDE = 100021 ############################################################################### TessCallback enum: TESS_BEGIN = 100100 BEGIN = 100100 TESS_VERTEX = 100101 VERTEX = 100101 TESS_END = 100102 END = 100102 TESS_ERROR = 100103 ERROR = 100103 TESS_EDGE_FLAG = 100104 EDGE_FLAG = 100104 TESS_COMBINE = 100105 TESS_BEGIN_DATA = 100106 TESS_VERTEX_DATA = 100107 TESS_END_DATA = 100108 TESS_ERROR_DATA = 100109 TESS_EDGE_FLAG_DATA = 100110 TESS_COMBINE_DATA = 100111 TessContour enum: CW = 100120 CCW = 100121 INTERIOR = 100122 EXTERIOR = 100123 UNKNOWN = 100124 TessParameter enum: # TessProperty TESS_WINDING_RULE = 100140 TESS_BOUNDARY_ONLY = 100141 TESS_TOLERANCE = 100142 TessError enum: TESS_ERROR1 = 100151 TESS_ERROR2 = 100152 TESS_ERROR3 = 100153 TESS_ERROR4 = 100154 TESS_ERROR5 = 100155 TESS_ERROR6 = 100156 TESS_ERROR7 = 100157 TESS_ERROR8 = 100158 TESS_MISSING_BEGIN_POLYGON = 100151 TESS_MISSING_BEGIN_CONTOUR = 100152 TESS_MISSING_END_POLYGON = 100153 TESS_MISSING_END_CONTOUR = 100154 TESS_COORD_TOO_LARGE = 100155 TESS_NEED_COMBINE_CALLBACK = 100156 TessWinding enum: TESS_WINDING_ODD = 100130 TESS_WINDING_NONZERO = 100131 TESS_WINDING_POSITIVE = 100132 TESS_WINDING_NEGATIVE = 100133 TESS_WINDING_ABS_GEQ_TWO = 100134 ############################################################################### opentk-1.0.20101006/Source/Bind/Settings.cs0000664000175000017500000001537011453131434017016 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; namespace Bind { static class Settings { // Disable BeforeFieldInit. static Settings() { } public const string DefaultInputPath = "../../../Source/Bind/Specifications"; public const string DefaultOutputPath = "../../../Source/OpenTK/Graphics/OpenGL"; public const string DefaultOutputNamespace = "OpenTK.Graphics.OpenGL"; public const string DefaultDocPath = "../../../Source/Bind/Specifications/Docs"; public const string DefaultDocFile = "ToInlineDocs.xslt"; public const string DefaultLicenseFile = "License.txt"; public static string InputPath = DefaultInputPath; public static string OutputPath = DefaultOutputPath; public static string OutputNamespace = DefaultOutputNamespace; public static string DocPath = DefaultDocPath; public static string DocFile = DefaultDocFile; public static string LicenseFile = DefaultLicenseFile; public static string GLClass = "GL"; // Needed by Glu for the AuxEnumsClass. Can be set through -gl:"xxx". public static string OutputClass = "GL"; // The real output class. Can be set through -class:"xxx". public static string FunctionPrefix = "gl"; public static string ConstantPrefix = "GL_"; public static string EnumPrefix = ""; // TODO: This code is too fragile. // Old enums code: public static string normalEnumsClassOverride = null; public static string NestedEnumsClass = "Enums"; public static string NormalEnumsClass { get { return normalEnumsClassOverride == null ? String.IsNullOrEmpty(NestedEnumsClass) ? OutputClass : OutputClass + "." + NestedEnumsClass : normalEnumsClassOverride; } } public static string AuxEnumsClass { get { return GLClass + "." + NestedEnumsClass; } } public static string EnumsOutput { get { if ((Compatibility & Legacy.NestedEnums) != Legacy.None) return OutputNamespace + "." + OutputClass + "." + NestedEnumsClass; else return String.IsNullOrEmpty(EnumsNamespace) ? OutputNamespace : OutputNamespace + "." + EnumsNamespace; } } public static string EnumsAuxOutput { get { if ((Compatibility & Legacy.NestedEnums) != Legacy.None) return OutputNamespace + "." + GLClass + "." + NestedEnumsClass; else return OutputNamespace + "." + EnumsNamespace; } } // New enums namespace (don't use a nested class). public static string EnumsNamespace = null;// = "Enums"; public static string DelegatesClass = "Delegates"; public static string ImportsClass = "Core"; public static Legacy Compatibility = Legacy.NoDropMultipleTokens; /// /// The name of the C# enum which holds every single OpenGL enum (for compatibility purposes). /// public static string CompleteEnumName = "All"; [Flags] public enum Legacy { /// Default value. None = 0x00, /// Leave enums as plain const ints. ConstIntEnums = 0x01, /// Leave enums in the default STRANGE_capitalization.ALL_CAPS form. NoAdvancedEnumProcessing = 0x02, /// Don't allow unsafe wrappers in the interface. NoPublicUnsafeFunctions = 0x04, /// Don't trim the [fdisub]v? endings from functions. NoTrimFunctionEnding = NoPublicUnsafeFunctions, /// Don't trim the [gl|wgl|glx|glu] prefixes from functions. NoTrimFunctionPrefix = 0x08, /// /// Don't spearate functions in different namespaces, according to their extension category /// (e.g. GL.Arb, GL.Ext etc). /// NoSeparateFunctionNamespaces = 0x10, /// /// No public void* parameters (should always be enabled. Disable at your own risk. Disabling /// means that BitmapData.Scan0 and other .Net properties/functions must be cast to (void*) /// explicitly, to avoid the 'object' overload from being called.) /// TurnVoidPointersToIntPtr = 0x20, /// Generate all possible permutations for ref/array/pointer parameters. GenerateAllPermutations = 0x40, /// Nest enums inside the GL class. NestedEnums = 0x80, /// Turn GLboolean to int (Boolean enum), not bool. NoBoolParameters = 0x100, /// Keep all enum tokens, even if same value (e.g. FooARB, FooEXT and FooSGI). NoDropMultipleTokens = 0x200, /// Do not emit inline documentation. NoDocumentation = 0x400, /// Disables ErrorHelper generation. NoDebugHelpers = 0x800, /// Generate both typed and untyped ("All") signatures for enum parameters. KeepUntypedEnums = 0x1000, Tao = ConstIntEnums | NoAdvancedEnumProcessing | NoPublicUnsafeFunctions | NoTrimFunctionEnding | NoTrimFunctionPrefix | NoSeparateFunctionNamespaces | TurnVoidPointersToIntPtr | NestedEnums | NoBoolParameters | NoDropMultipleTokens | NoDocumentation | NoDebugHelpers /*GenerateAllPermutations,*/ } /// True if multiple tokens should be dropped (e.g. FooARB, FooEXT and FooSGI). public static bool DropMultipleTokens { get { return (Compatibility & Legacy.NoDropMultipleTokens) == Legacy.None; } set { if (value) Compatibility |= Legacy.NoDropMultipleTokens; else Compatibility &= ~Legacy.NoDropMultipleTokens; } } public static string WindowsGDI = "OpenTK.Platform.Windows.API"; } } opentk-1.0.20101006/Source/Bind/Properties/0000775000175000017500000000000011453142152017014 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Properties/AssemblyInfo.cs0000664000175000017500000000110711453131430021732 0ustar laneylaneyusing System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("Generator.Bind")] [assembly: AssemblyDescription("Generates C# bindings for the the Open Toolkit Library")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("0d681958-ca78-4a67-b71c-ff8755488e23")] opentk-1.0.20101006/Source/Bind/Properties/app.config0000664000175000017500000001146511453131430020767 0ustar laneylaney
GL OpenTK.OpenGL ..\..\Source\OpenGL\OpenGL\Bindings ..\..\Specifications Platform Imports Enums Context GL OpenTK.OpenGL ..\..\Source\OpenTK\OpenGL\Bindings ..\..\..\Input Platform Imports ..\..\Specifications Enums Context GL OpenTK.OpenGL ..\..\Source\OpenTK\OpenGL\Bindings ..\..\..\Input Platform Imports ..\..\Specifications Enums Context opentk-1.0.20101006/Source/Bind/Properties/Bind.settings0000664000175000017500000000265111453131430021453 0ustar laneylaney GL OpenTK.OpenGL ..\..\Source\OpenGL\OpenGL\Bindings ..\..\Specifications Platform Imports Enums Context opentk-1.0.20101006/Source/Bind/Properties/Resources.resx0000664000175000017500000001575111453131430021677 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion opentk-1.0.20101006/Source/Bind/Generator.Bind.csproj0000664000175000017500000010437511453131434020716 0ustar laneylaney Local 8.0.50727 2.0 {31D19132-0000-0000-0000-000000000000} Debug AnyCPU Bind JScript Grid IE50 false v3.5 Exe Bind 2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false false true False 285212672 False DEBUG;TRACE; True 4096 False ..\..\Binaries\OpenTK\Debug\ False False False 4 False AllRules.ruleset False 285212672 False TRACE; False 4096 True ..\..\Binaries\OpenTK\Release\ False False False 4 False AllRules.ruleset False 285212672 False TRACE; False 4096 True ..\..\Binaries\OpenTK\Release\ False False False 4 False AllRules.ruleset ..\..\Binaries\OpenTK\Release\ true ..\..\OpenTK.snk System False System.Core False System.Xml False Properties\GlobalAssemblyInfo.cs Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code OpenTK.snk opentk-1.0.20101006/Source/Bind/IBind.cs0000664000175000017500000000036611453131434016202 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion namespace Bind { interface IBind : ISpecReader, ISpecWriter { void Process(); } } opentk-1.0.20101006/Source/Bind/DocProcessor.cs0000664000175000017500000000502211453131434017614 0ustar laneylaneyusing System; using System.IO; using System.Text.RegularExpressions; using System.Xml; using System.Xml.Xsl; namespace Bind { class DocProcessor { static readonly Regex remove_mathml = new Regex(@"<(mml:math)[^>]*?>(?:.|\n)*?", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); static readonly XslCompiledTransform xslt = new XslCompiledTransform(); static readonly XmlReaderSettings settings = new XmlReaderSettings(); public DocProcessor(string transform_file) { xslt.Load(transform_file); settings.ProhibitDtd = false; settings.XmlResolver = null; } // Strips MathML tags from the source and replaces the equations with the content // found in the comments in the docs. // Todo: Some simple MathML tags do not include comments, find a solution. // Todo: Some files include more than 1 function - find a way to map these extra functions. public string ProcessFile(string file) { string text = File.ReadAllText(file); Match m = remove_mathml.Match(text); while (m.Length > 0) { string removed = text.Substring(m.Index, m.Length); text = text.Remove(m.Index, m.Length); int equation = removed.IndexOf("eqn"); if (equation > 0) { text = text.Insert(m.Index, "") - equation - 4) + "]]>"); } m = remove_mathml.Match(text); } XmlReader doc = null; try { // The pure XmlReader is ~20x faster than the XmlTextReader. doc = XmlReader.Create(new StringReader(text), settings); //doc = new XmlTextReader(new StringReader(text)); using (StringWriter sw = new StringWriter()) { xslt.Transform(doc, null, sw); return sw.ToString().TrimEnd('\n'); } } catch (XmlException e) { Console.WriteLine(e.ToString()); Console.WriteLine(doc.ToString()); return String.Empty; } } } } opentk-1.0.20101006/Source/Bind/BindStreamWriter.cs0000664000175000017500000000437511453131434020446 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.IO; using System.Text.RegularExpressions; using Bind.Structures; using Enum=Bind.Structures.Enum; namespace Bind { class BindStreamWriter : StreamWriter { int indent_level = 0; Regex splitLines = new Regex(Environment.NewLine, RegexOptions.Compiled); //Regex splitLines = new Regex("(\r\n|\n\r|\n|\r)", RegexOptions.Compiled); public BindStreamWriter(string file) : base(file) { } public void Indent() { ++indent_level; } public void Unindent() { if (indent_level > 0) --indent_level; } public override void Write(string value) { for (int i = indent_level; i > 0; i--) base.Write(" "); base.Write(value); } public override void WriteLine(string value) { // Todo: it seems that spacing is not correct if this code // is enabled on Linux/Mono. However, it works as it should on Windows/.Net. // This could be related to line-ending differences, but I haven't been able to // find the cause yet. // This ugly workaround should work until the real cause is found. if (Environment.OSVersion.Platform == PlatformID.Win32Windows || Environment.OSVersion.Platform == PlatformID.Win32NT || Environment.OSVersion.Platform == PlatformID.Win32S || Environment.OSVersion.Platform == PlatformID.WinCE) { for (int i = indent_level; i > 0; i--) base.Write(" "); } base.WriteLine(value); } public void Write(Enum e) { foreach (string s in splitLines.Split(e.ToString())) WriteLine(s.TrimEnd('\r', '\n')); } public void Write(Function f) { foreach (string s in splitLines.Split(f.ToString())) WriteLine(s); } } } opentk-1.0.20101006/Source/Bind/Glu/0000775000175000017500000000000011453142152015407 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Glu/Generator.cs0000664000175000017500000000364411453131430017670 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System.Diagnostics; using Bind.Structures; namespace Bind.Glu { class Generator : GL2.Generator { string enumSpecAux = null;// = "GL2\\enum.spec"; #region --- Constructors --- public Generator() : base() { glTypemap = "Glu\\glu.tm"; csTypemap = "csharp.tm"; enumSpec = "Glu\\enumglu.spec"; enumSpecExt = ""; glSpec = "Glu\\glu.spec"; glSpecExt = ""; importsFile = "GluCore.cs"; delegatesFile = "GluDelegates.cs"; enumsFile = "GluEnums.cs"; wrappersFile = "Glu.cs"; Settings.OutputClass = "Glu"; Settings.FunctionPrefix = "glu"; Settings.ConstantPrefix = "GLU_"; if (Settings.Compatibility == Settings.Legacy.Tao) { Settings.OutputNamespace = "Tao.OpenGl"; //Settings.WindowsGDI = "Tao.Platform.Windows.Gdi"; } else { //Settings.OutputNamespace = "OpenTK.Graphics.OpenGL"; } Settings.CompleteEnumName = "AllGlu"; } #endregion public override void Process() { Type.Initialize(glTypemap, csTypemap); Enum.Initialize(enumSpec, enumSpecExt, enumSpecAux); Function.Initialize(); Delegate.Initialize(glSpec, glSpecExt); // Process enums and delegates - create wrappers. Trace.WriteLine("Processing specs, please wait..."); //this.Translate(); WriteBindings( Delegate.Delegates, Function.Wrappers, Enum.GLEnums); } } } opentk-1.0.20101006/Source/Bind/Documentation/0000775000175000017500000000000011453142152017471 5ustar laneylaneyopentk-1.0.20101006/Source/Bind/Documentation/todo.txt0000664000175000017500000000016111453131434021176 0ustar laneylaneyMinor: + Improve inline documentation for function overloads (parameters are incorrect). + Clean up the code. opentk-1.0.20101006/Source/Bind/Documentation/changelog.txt0000664000175000017500000001111611453131434022162 0ustar laneylaneyOpenTK.OpenGL.Bind 0.9.3 0.7.7 -> 0.9.3 + Synced code with Tao.GlBindGen + Re-enabled extensions + Updated specs + Now uses CodeDOM for code generation + Imports and delegates are decorated with the SupressUnmanagedCodeSecurity attribute for call overhead reduction + Several bugs have been fixed 0.7.6 -> 0.7.7 + Several bugfixes regarding bugs from the latest (0.7.6) code synchronisation between Tao.GlBindGen and OpenTK.OpenGL.Bind + Split the Enums, Core OpenGL and Extension OpenGL functions into different files. This speeds up the Visual Studio IDE a lot. + The Extension functions have been removed from the OpenTK.OpenGL.GL class. They will be added back on a later version, probably as OpenTK.OpenGL.GL.Extensions. No need to clatter up the code API with thousands of mostly useless extensions. + Applications load much faster now. + Killed the Context class generation. It added a lot of complexity for little gain (what, cleaner OOP internal structure? Oh, please!) This move frees up the Context classes which can now be updated without dragging around several thousand function initialisations. + OpenTK.OpenGL.GL is self-contained now. Delegates are initialised statically, calling the platform specific *GetAddress functions where needed (they are contained in the GL class, too - but not auto-generated). + Revamped the WriteSpecs class. Its methods are now completely modular (enum, core and extension writers have been split). + This still needs some refactoring to reduce code copy-paste and allow for future wgl / glx binding generation. 0.7.5.2 -> 0.7.6 + Added NeedWrapper and WrapperType properties to each parameter (needed for more fine grained control on wrapper generation). + Added Function, Parameter, ParameterCollection (deep) copy constructors. This allows simpler code in many places (since we can now create new Functions without fear of affecting the old ones, for example). + Merged the ParameterCollection.cs with Parameter.cs + Added the FunctionBody class which contains the contents of a function as a list of strings. It is mainly intended for wrappers (allows cleaner code, too). + The wrapper generation now happens in TranlateSpecs.cs instead of WriteSpecs.cs. (Translations and generations should only happen during the translation phase, not while reading or writing. Allow for cleaner code). + Revamped the wrapper generator code. Now it handles correctly the cases where a function has more than one parameter that needs wrapping (i.e. it generates all permutations correctly). This is handled by recursively generating the needed permutations (it was a hell to implement). + Added some comments (many more to follow). + Removed some commented-out regions and some obsolete functions. 0.7.5.1 -> 0.7.5.2 + Added translation for out char[] parameters (they are treated as StringBuilders, as specified in MSDN). + Added System.Text using directive. 0.7.5 -> 0.7.5.1 + Added license information to the generated bindings. + Changed the name of the main Context class to GLContext (Context is used in the BCL). 0.7.4 -> 0.7.5 + Added wrappers for all functions that accept arrays. Permitted parameters for these are: an array of the original type (e.g. float[]), an IntPtr (if you manage memory yourself), or any blittable type (e.g. float[,,]). No type checking is done in the last case, so be careful! + Updated the wrappers for all functions that accept or return void pointers. Permitted parameters for these are: an IntPtr or any blittable type (type checking is turned off, so be extra careful!) + Aliased the GLbool type to int. It is hacky, but the examples bundled with Tao rely on this... + Added a wrapper for glLineStipple. Now you can pass an int to it, but only the last 16 bits will be used for the stipple (as per the function specification). This was the only way to avoid aliasing the parameter to ushort (non-CLS compatible) or having the user write unchecked((short)0x....) every time he used the function. + Added the WrapperType enum. Every function has a Property that indicates the wrapper it will need. This cleans up the WriteWrappers function somewhat. + Added the PreviousType property to the Function class. This is used when generating wrappers for functions with type-checked arrays (e.g. float[] arrays etc). + Corrected some type aliases in cs_types.txt + Added the missing wrappers for glReadPixels! (this falls in the out void array). + A missing enum now defaults to Enum.[Function category] (a new property was added to the Function class and the SpecReader.ReadFunctions function was modified). I should test this to see if it works ok.opentk-1.0.20101006/Source/Bind/Utilities.cs0000664000175000017500000002177311453131434017175 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; using Bind.Structures; using Delegate=Bind.Structures.Delegate; using Enum=Bind.Structures.Enum; namespace Bind { #region WrapperTypes enum [Flags] public enum WrapperTypes { /// /// No wrapper needed. /// None = 0, /// /// Function takes bool parameter - C uses Int for bools, so we have to marshal. /// BoolParameter, /// /// Function takes generic parameters - add ref/out generic and generic overloads. /// GenericParameter, /// /// Function takes arrays as parameters - add ref/out and ([Out]) array overloads. /// ArrayParameter, /// /// Function with bitmask parameters. Bitmask parameters map to UInt, but since we can only use signed /// types (for CLS compliance), we must add the unchecked keyword. /// Usually found in bitmasks /// UncheckedParameter, /// /// Function that takes (in/ref/out) a naked pointer as a parameter - we pass an IntPtr. /// PointerParameter, /// /// Function that takes a reference to a struct. /// ReferenceParameter, /// /// Function returns string - needs manual marshalling through IntPtr to prevent the managed GC /// from freeing memory allocated on the unmanaged side (e.g. glGetString). /// StringReturnType, /// /// Function returns a void pointer - maps to IntPtr, and the user has to manually marshal the type. /// GenericReturnType, /// /// Function returns a typed pointer - we have to copy the data to an array to protect it from the GC. /// ArrayReturnType } #endregion public static class Utilities { public static readonly char[] Separators = { ' ', '\n', ',', '(', ')', ';', '#' }; public static readonly Regex Extensions = new Regex( "(ARB|EXT|ATI|NV|SUNX|SUN|SGIS|SGIX|SGI|MESA|3DFX|IBM|GREMEDY|HP|INTEL|PGI|INGR|APPLE|OML|I3D)", RegexOptions.Compiled); #region internal StreamReader OpenSpecFile(string file) internal static StreamReader OpenSpecFile(string folder, string file) { if (String.IsNullOrEmpty(folder) || String.IsNullOrEmpty(file)) return null; Console.WriteLine(folder); Console.WriteLine(file); string path = Path.Combine(folder, file); Console.WriteLine(path); return new StreamReader(path); } #endregion #region C# keywords public static readonly List Keywords = new List( new string[] { "abstract", "event", "new", "struct", "as", "explicit", "null", "switch", "base", "extern", "object", "this", "bool", "false", "operator", "throw", "break", "finally", "out", "true", "byte", "fixed", "override", "try", "case", "float", "params", "typeof", "catch", "for", "private", "uint", "char", "foreach", "protected", "ulong", "checked", "goto", "public", "unchecked", "class", "if", "readonly", "unsafe", "const", "implicit", "ref", "ushort", "continue", "in", "return", "using", "decimal", "int", "sbyte", "virtual", "default", "interface", "sealed", "volatile", "delegate", "internal", "short", "void", "do", "is", "sizeof", "while", "double", "lock", "stackalloc", "else", "long", "static", "enum", "namespace", "string" } ); #endregion #region internal static void Merge(EnumCollection enums, Bind.Structures.Enum t) /// /// Merges the given enum into the enum list. If an enum of the same name exists, /// it merges their respective constants. /// /// /// internal static void Merge(EnumCollection enums, Enum t) { if (!enums.ContainsKey(t.Name)) { enums.Add(t.Name, t); } else { Enum e = enums[t.Name]; foreach (Constant c in t.ConstantCollection.Values) { Merge(e, c); } } } #endregion #region internal static Bind.Structures.Enum Merge(Bind.Structures.Enum s, Bind.Structures.Constant t) /// /// Places a new constant in the specified enum, if it doesn't already exist. /// The existing constant is replaced iff the new has a numeric value and the old /// has a reference value (eg 0x5 is preferred over AttribMask.Foo) /// /// /// /// internal static Enum Merge(Enum s, Constant t) { if (!s.ConstantCollection.ContainsKey(t.Name)) { s.ConstantCollection.Add(t.Name, t); } else { // Tried to add a constant that already exists. If one constant // is like: 'Foo = 0x5' and the other like: 'Foo = Bar.Foo', then // keep the first one. if (!Char.IsDigit(((Constant)s.ConstantCollection[t.Name]).Value[0])) { s.ConstantCollection.Remove(t.Name); s.ConstantCollection.Add(t.Name, t); } } return s; } #endregion #region internal static void Merge(EnumCollection enums, Bind.Structures.Enum t) /// /// Merges the given enum into the enum list. If an enum of the same name exists, /// it merges their respective constants. /// /// /// internal static void Merge(DelegateCollection delegates, Delegate t) { if (!delegates.ContainsKey(t.Name)) { delegates.Add(t.Name, t); } } #endregion #region internal static string GetGL2Extension(string name) internal static string GetGL2Extension(string name) { if (name.EndsWith("3DFX")) { return "3dfx"; } if (name.EndsWith("APPLE")) { return "Apple"; } if (name.EndsWith("ARB")) { return "Arb"; } if (name.EndsWith("AMD")) { return "Amd"; } if (name.EndsWith("ATI")) { return "Ati"; } if (name.EndsWith("ATIX")) { return "Atix"; } if (name.EndsWith("EXT")) { return "Ext"; } if (name.EndsWith("GREMEDY")) { return "Gremedy"; } if (name.EndsWith("HP")) { return "HP"; } if (name.EndsWith("I3D")) { return "I3d"; } if (name.EndsWith("IBM")) { return "Ibm"; } if (name.EndsWith("INGR")) { return "Ingr"; } if (name.EndsWith("INTEL")) { return "Intel"; } if (name.EndsWith("MESA")) { return "Mesa"; } if (name.EndsWith("NV")) { return "NV"; } if (name.EndsWith("OES")) { return "Oes"; } if (name.EndsWith("OML")) { return "Oml"; } if (name.EndsWith("PGI")) { return "Pgi"; } if (name.EndsWith("SGI")) { return "Sgi"; } if (name.EndsWith("SGIS")) { return "Sgis"; } if (name.EndsWith("SGIX")) { return "Sgix"; } if (name.EndsWith("SUN")) { return "Sun"; } if (name.EndsWith("SUNX")) { return "Sunx"; } return String.Empty; } #endregion #region private static bool IsGL2Extension(string function) private static bool IsGL2Extension(string function) { return !String.IsNullOrEmpty(GetGL2Extension(function)); } #endregion #region internal static string StripGL2Extension(string p) internal static string StripGL2Extension(string p) { return p.Substring(0, p.Length - GetGL2Extension(p).Length); } #endregion } } opentk-1.0.20101006/Source/GLControl/0000775000175000017500000000000011453142154015651 5ustar laneylaneyopentk-1.0.20101006/Source/GLControl/GLControl.Designer.cs0000664000175000017500000000254611453131424021607 0ustar laneylaneynamespace OpenTK { partial class GLControl { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.SuspendLayout(); // // NewGLControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.Name = "NewGLControl"; this.ResumeLayout(false); } #endregion } } opentk-1.0.20101006/Source/GLControl/X11GLControl.cs0000664000175000017500000001157211453131424020341 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using OpenTK.Graphics; using OpenTK.Platform; namespace OpenTK { class X11GLControl : IGLControl { #region P/Invokes [DllImport("libX11")] static extern IntPtr XCreateColormap(IntPtr display, IntPtr window, IntPtr visual, int alloc); [DllImport("libX11", EntryPoint = "XGetVisualInfo")] static extern IntPtr XGetVisualInfoInternal(IntPtr display, IntPtr vinfo_mask, ref XVisualInfo template, out int nitems); static IntPtr XGetVisualInfo(IntPtr display, int vinfo_mask, ref XVisualInfo template, out int nitems) { return XGetVisualInfoInternal(display, (IntPtr)vinfo_mask, ref template, out nitems); } [DllImport("libX11")] extern static int XPending(IntPtr diplay); [StructLayout(LayoutKind.Sequential)] struct XVisualInfo { public IntPtr Visual; public IntPtr VisualID; public int Screen; public int Depth; public int Class; public long RedMask; public long GreenMask; public long blueMask; public int ColormapSize; public int BitsPerRgb; public override string ToString() { return String.Format("id ({0}), screen ({1}), depth ({2}), class ({3})", VisualID, Screen, Depth, Class); } } #endregion #region Fields GraphicsMode mode; IWindowInfo window_info; IntPtr display; #endregion internal X11GLControl(GraphicsMode mode, Control control) { if (mode == null) throw new ArgumentNullException("mode"); if (control == null) throw new ArgumentNullException("control"); if (!mode.Index.HasValue) throw new GraphicsModeException("Invalid or unsupported GraphicsMode."); this.mode = mode; // Use reflection to retrieve the necessary values from Mono's Windows.Forms implementation. Type xplatui = Type.GetType("System.Windows.Forms.XplatUIX11, System.Windows.Forms"); if (xplatui == null) throw new PlatformNotSupportedException( "System.Windows.Forms.XplatUIX11 missing. Unsupported platform or Mono runtime version, aborting."); // get the required handles from the X11 API. display = (IntPtr)GetStaticFieldValue(xplatui, "DisplayHandle"); IntPtr rootWindow = (IntPtr)GetStaticFieldValue(xplatui, "RootWindow"); int screen = (int)GetStaticFieldValue(xplatui, "ScreenNo"); // get the XVisualInfo for this GraphicsMode XVisualInfo info = new XVisualInfo(); info.VisualID = mode.Index.Value; int dummy; IntPtr infoPtr = XGetVisualInfo(display, 1 /* VisualInfoMask.ID */, ref info, out dummy); info = (XVisualInfo)Marshal.PtrToStructure(infoPtr, typeof(XVisualInfo)); // set the X11 colormap. SetStaticFieldValue(xplatui, "CustomVisual", info.Visual); SetStaticFieldValue(xplatui, "CustomColormap", XCreateColormap(display, rootWindow, info.Visual, 0)); window_info = Utilities.CreateX11WindowInfo(display, screen, control.Handle, rootWindow, infoPtr); } #region IGLControl Members public IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags flags) { return new GraphicsContext(mode, this.WindowInfo, major, minor, flags); } public bool IsIdle { get { return XPending(display) == 0; } } public IWindowInfo WindowInfo { get { return window_info; } } #endregion #region Private Members static object GetStaticFieldValue(Type type, string fieldName) { return type.GetField(fieldName, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic).GetValue(null); } static void SetStaticFieldValue(Type type, string fieldName, object value) { type.GetField(fieldName, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic).SetValue(null, value); } #endregion } } opentk-1.0.20101006/Source/GLControl/GLControlFactory.cs0000664000175000017500000000410111453131424021365 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OpenTK.Graphics; namespace OpenTK { // Constructs GLControls. class GLControlFactory { public IGLControl CreateGLControl(GraphicsMode mode, Control control) { if (mode == null) throw new ArgumentNullException("mode"); if (control == null) throw new ArgumentNullException("control"); if (Configuration.RunningOnWindows) return new WinGLControl(mode, control); else if (Configuration.RunningOnMacOS) return new CarbonGLControl(mode, control); else if (Configuration.RunningOnX11) return new X11GLControl(mode, control); else throw new PlatformNotSupportedException(); } } } opentk-1.0.20101006/Source/GLControl/Properties/0000775000175000017500000000000011453142154020005 5ustar laneylaneyopentk-1.0.20101006/Source/GLControl/Properties/AssemblyInfo.cs0000664000175000017500000000141311453131424022724 0ustar laneylaneyusing System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("OpenTK.GLControl")] [assembly: AssemblyDescription("Provides integration with System.Windows.Forms.")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("5414b90b-d7be-4382-b0e1-f07ce154f7f7")] [assembly: System.CLSCompliant(true)] [assembly: System.Security.AllowPartiallyTrustedCallers] #if NET40 [assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)] #endif opentk-1.0.20101006/Source/GLControl/OpenTK.GLControl.csproj0000664000175000017500000001521711453131424022101 0ustar laneylaney Local 8.0.50727 2.0 {A625BE88-0000-0000-0000-000000000000} Debug AnyCPU OpenTK.GLControl JScript Grid IE50 false v2.0 Library OpenTK.GLControl 2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false false true true 285212672 DEBUG;TRACE; OpenTK.GLControl.xml true 4096 false ..\..\Binaries\OpenTK\Debug\ False False 4 AllRules.ruleset full true 285212672 TRACE; OpenTK.GLControl.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none ..\..\Binaries\OpenTK\Release\ true 285212672 TRACE; OpenTK.GLControl.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none true ..\..\OpenTK.snk System False System.Data False System.Drawing False System.Windows.Forms False System.Xml False OpenTK {A37A7E14-0000-0000-0000-000000000000} False Properties\GlobalAssemblyInfo.cs Code GLControl.cs Code Code UserControl Code Code Code Code Code OpenTK.snk opentk-1.0.20101006/Source/GLControl/CarbonGLControl.cs0000664000175000017500000000465411453131424021177 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OpenTK.Graphics; using OpenTK.Platform; namespace OpenTK { class CarbonGLControl : IGLControl { GraphicsMode mode; Control control; IWindowInfo window_info; internal CarbonGLControl(GraphicsMode mode, Control owner) { this.mode = mode; this.control = owner; window_info = Utilities.CreateMacOSCarbonWindowInfo(control.Handle, false, true); } #region IGLControl Members public IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags flags) { return new GraphicsContext(mode, WindowInfo, major, minor, flags); } // TODO: Fix this bool lastIsIdle = false; public bool IsIdle { get { lastIsIdle = !lastIsIdle; return lastIsIdle; } } public IWindowInfo WindowInfo { get { return window_info; } } #endregion } } opentk-1.0.20101006/Source/GLControl/GLControl.cs0000664000175000017500000003225311453131424020046 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using OpenTK.Platform; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; namespace OpenTK { /// /// Defines a UserControl with OpenGL rendering capabilities. /// public partial class GLControl : UserControl { IGraphicsContext context; IGLControl implementation; GraphicsMode format; int major, minor; GraphicsContextFlags flags; bool? initial_vsync_value; // Indicates that OnResize was called before OnHandleCreated. // To avoid issues with missing OpenGL contexts, we suppress // the premature Resize event and raise it as soon as the handle // is ready. bool resize_event_suppressed; #region --- Constructors --- /// /// Constructs a new GLControl. /// public GLControl() : this(GraphicsMode.Default) { } /// /// Constructs a new GLControl with the specified GraphicsMode. /// /// The OpenTK.Graphics.GraphicsMode of the control. public GLControl(GraphicsMode mode) : this(mode, 1, 0, GraphicsContextFlags.Default) { } /// /// Constructs a new GLControl with the specified GraphicsMode. /// /// The OpenTK.Graphics.GraphicsMode of the control. /// The major version for the OpenGL GraphicsContext. /// The minor version for the OpenGL GraphicsContext. /// The GraphicsContextFlags for the OpenGL GraphicsContext. public GLControl(GraphicsMode mode, int major, int minor, GraphicsContextFlags flags) { if (mode == null) throw new ArgumentNullException("mode"); SetStyle(ControlStyles.Opaque, true); SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); DoubleBuffered = false; this.format = mode; this.major = major; this.minor = minor; this.flags = flags; InitializeComponent(); } #endregion #region --- Private Methods --- IGLControl Implementation { get { ValidateState(); return implementation; } } void ValidateState() { if (IsDisposed) throw new ObjectDisposedException(GetType().Name); if (!IsHandleCreated) CreateControl(); if (implementation == null || context == null || context.IsDisposed) RecreateHandle(); } #endregion #region --- Protected Methods --- /// Raises the HandleCreated event. /// Not used. protected override void OnHandleCreated(EventArgs e) { if (context != null) context.Dispose(); if (implementation != null) implementation.WindowInfo.Dispose(); if (DesignMode) implementation = new DummyGLControl(); else implementation = new GLControlFactory().CreateGLControl(format, this); context = implementation.CreateContext(major, minor, flags); MakeCurrent(); if (!DesignMode) ((IGraphicsContextInternal)Context).LoadAll(); // Deferred setting of vsync mode. See VSync property for more information. if (initial_vsync_value.HasValue) { Context.VSync = initial_vsync_value.Value; initial_vsync_value = null; } base.OnHandleCreated(e); if (resize_event_suppressed) { OnResize(EventArgs.Empty); resize_event_suppressed = false; } } /// Raises the HandleDestroyed event. /// Not used. protected override void OnHandleDestroyed(EventArgs e) { if (context != null) { context.Dispose(); context = null; } if (implementation != null) { implementation.WindowInfo.Dispose(); implementation = null; } base.OnHandleDestroyed(e); } /// /// Raises the System.Windows.Forms.Control.Paint event. /// /// A System.Windows.Forms.PaintEventArgs that contains the event data. protected override void OnPaint(PaintEventArgs e) { ValidateState(); if (DesignMode) e.Graphics.Clear(BackColor); base.OnPaint(e); } /// /// Raises the Resize event. /// Note: this method may be called before the OpenGL context is ready. /// Check that IsHandleCreated is true before using any OpenGL methods. /// /// A System.EventArgs that contains the event data. protected override void OnResize(EventArgs e) { // Do not raise OnResize event before the handle and context are created. if (!IsHandleCreated) { resize_event_suppressed = true; return; } if (context != null) context.Update(Implementation.WindowInfo); base.OnResize(e); } /// /// Raises the ParentChanged event. /// /// A System.EventArgs that contains the event data. protected override void OnParentChanged(EventArgs e) { if (context != null) context.Update(Implementation.WindowInfo); base.OnParentChanged(e); } #endregion #region --- Public Methods --- #region public void SwapBuffers() /// /// Swaps the front and back buffers, presenting the rendered scene to the screen. /// public void SwapBuffers() { ValidateState(); Context.SwapBuffers(); } #endregion #region public void MakeCurrent() /// /// Makes the underlying this GLControl current in the calling thread. /// All OpenGL commands issued are hereafter interpreted by this GLControl. /// public void MakeCurrent() { ValidateState(); Context.MakeCurrent(Implementation.WindowInfo); } #endregion #region public bool IsIdle /// /// Gets a value indicating whether the current thread contains pending system messages. /// [Browsable(false)] public bool IsIdle { get { ValidateState(); return Implementation.IsIdle; } } #endregion #region public IGraphicsContext Context /// /// Gets an interface to the underlying GraphicsContext used by this GLControl. /// [Browsable(false)] public IGraphicsContext Context { get { ValidateState(); return context; } private set { context = value; } } #endregion #region public float AspectRatio /// /// Gets the aspect ratio of this GLControl. /// [Description("The aspect ratio of the client area of this GLControl.")] public float AspectRatio { get { ValidateState(); return ClientSize.Width / (float)ClientSize.Height; } } #endregion #region public bool VSync /// /// Gets or sets a value indicating whether vsync is active for this GLControl. /// [Description("Indicates whether GLControl updates are synced to the monitor's refresh.")] public bool VSync { get { if (!IsHandleCreated) return false; ValidateState(); return Context.VSync; } set { // The winforms designer sets this to false by default which forces control creation. // However, events are typically connected after the VSync = false assignment, which // can lead to "event xyz is not fired" issues. // Work around this issue by deferring VSync mode setting to the HandleCreated event. if (!IsHandleCreated) { initial_vsync_value = value; return; } ValidateState(); Context.VSync = value; } } #endregion #region public GraphicsMode GraphicsMode /// /// Gets the GraphicsMode of the GraphicsContext attached to this GLControl. /// /// /// To change the GraphicsMode, you must destroy and recreate the GLControl. /// public GraphicsMode GraphicsMode { get { ValidateState(); return Context.GraphicsMode; } } #endregion #region WindowInfo /// /// Gets the for this instance. /// public IWindowInfo WindowInfo { get { return implementation.WindowInfo; } } #endregion #region public Bitmap GrabScreenshot() /// Grabs a screenshot of the frontbuffer contents. /// A System.Drawing.Bitmap, containing the contents of the frontbuffer. /// /// Occurs when no OpenTK.Graphics.GraphicsContext is current in the calling thread. /// [Obsolete("This method will not work correctly with OpenGL|ES. Please use GL.ReadPixels to capture the contents of the framebuffer (refer to http://www.opentk.com/doc/graphics/save-opengl-rendering-to-disk for more information).")] public Bitmap GrabScreenshot() { ValidateState(); Bitmap bmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height); System.Drawing.Imaging.BitmapData data = bmp.LockBits(this.ClientRectangle, System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format24bppRgb); GL.ReadPixels(0, 0, this.ClientSize.Width, this.ClientSize.Height, PixelFormat.Bgr, PixelType.UnsignedByte, data.Scan0); bmp.UnlockBits(data); bmp.RotateFlip(RotateFlipType.RotateNoneFlipY); return bmp; } #endregion #endregion } } opentk-1.0.20101006/Source/GLControl/WinGLControl.cs0000664000175000017500000001001211453131424020511 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OpenTK.Graphics; using OpenTK.Platform; namespace OpenTK { class WinGLControl : IGLControl { #region P/Invoke declarations #region Message struct MSG { public IntPtr HWnd; public uint Message; public IntPtr WParam; public IntPtr LParam; public uint Time; public POINT Point; //internal object RefObject; public override string ToString() { return String.Format("msg=0x{0:x} ({1}) hwnd=0x{2:x} wparam=0x{3:x} lparam=0x{4:x} pt=0x{5:x}", (int)Message, Message.ToString(), HWnd.ToInt32(), WParam.ToInt32(), LParam.ToInt32(), Point); } } #endregion #region Point struct POINT { public int X; public int Y; public POINT(int x, int y) { this.X = x; this.Y = y; } public System.Drawing.Point ToPoint() { return new System.Drawing.Point(X, Y); } public override string ToString() { return "Point {" + X.ToString() + ", " + Y.ToString() + ")"; } } #endregion #region PeekMessage [System.Security.SuppressUnmanagedCodeSecurity] [System.Runtime.InteropServices.DllImport("User32.dll")] static extern bool PeekMessage(ref MSG msg, IntPtr hWnd, int messageFilterMin, int messageFilterMax, int flags); #endregion #region #endregion #endregion #region Fields MSG msg = new MSG(); IWindowInfo window_info; GraphicsMode mode; #endregion #region Constructors public WinGLControl(GraphicsMode mode, Control control) { this.mode = mode; window_info = Utilities.CreateWindowsWindowInfo(control.Handle); } #endregion #region IGLControl Members public IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags flags) { return new GraphicsContext(mode, window_info, major, minor, flags); } public bool IsIdle { get { return !PeekMessage(ref msg, IntPtr.Zero, 0, 0, 0); } } public IWindowInfo WindowInfo { get { // This method forces the creation of the control. Beware of this side-effect! return window_info; } } #endregion } } opentk-1.0.20101006/Source/GLControl/DummyGLControl.cs0000664000175000017500000000346411453131424021064 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using OpenTK.Graphics; using OpenTK.Platform; namespace OpenTK { class DummyGLControl : IGLControl { #region IGLControl Members public IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags flags) { return new GraphicsContext(null, null); } public bool IsIdle { get { return false; } } public IWindowInfo WindowInfo { get { return Utilities.CreateDummyWindowInfo(); } } #endregion } } opentk-1.0.20101006/Source/GLControl/IGLControl.cs0000664000175000017500000000311611453131424020153 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; using OpenTK.Platform; namespace OpenTK { internal interface IGLControl { IGraphicsContext CreateContext(int major, int minor, GraphicsContextFlags flags); bool IsIdle { get; } IWindowInfo WindowInfo { get; } } } opentk-1.0.20101006/Source/GLControl/GLControl.resx0000664000175000017500000001326611453131424020425 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Compatibility/0000775000175000017500000000000011453142152016615 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/0000775000175000017500000000000011453142152017340 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/OpenAl/0000775000175000017500000000000011453142152020516 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/OpenAl/Alut.cs0000664000175000017500000005666511453131430021771 0ustar laneylaney#region License /* MIT License Copyright 2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License using System; using System.IO; using System.Security; using System.Runtime.InteropServices; using System.Text; namespace Tao.OpenAl { #region Class Documentation /// /// OpenAL binding for .NET, implementing ALUT 1.1. /// /// /// ALUT is non-standard. /// #endregion Class Documentation [Obsolete("Use OpenTK.Audio.OpenAL instead.")] public static class Alut { // --- Fields --- #region Private Constants #region string ALUT_NATIVE_LIBRARY /// /// Specifies OpenAl's native library archive. /// /// /// Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. /// private const string ALUT_NATIVE_LIBRARY = "alut.dll"; #endregion string ALUT_NATIVE_LIBRARY #region CallingConvention CALLING_CONVENTION /// /// Specifies the calling convention. /// /// /// Specifies . /// private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl; #endregion CallingConvention CALLING_CONVENTION #endregion Private Constants #region Public OpenAL 1.1 Constants /// /// /// public const int ALUT_API_MAJOR_VERSION = 1; /// /// /// public const int ALUT_API_MINOR_VERSION = 1; /// /// /// public const int ALUT_ERROR_NO_ERROR = 0; /// /// /// public const int ALUT_ERROR_OUT_OF_MEMORY = 0x200; /// /// /// public const int ALUT_ERROR_INVALID_ENUM = 0x201; /// /// /// public const int ALUT_ERROR_INVALID_VALUE = 0x202; /// /// /// public const int ALUT_ERROR_INVALID_OPERATION = 0x203; /// /// /// public const int ALUT_ERROR_NO_CURRENT_CONTEXT = 0x204; /// /// /// public const int ALUT_ERROR_AL_ERROR_ON_ENTRY = 0x205; /// /// /// public const int ALUT_ERROR_ALC_ERROR_ON_ENTRY = 0x206; /// /// /// public const int ALUT_ERROR_OPEN_DEVICE = 0x207; /// /// /// public const int ALUT_ERROR_CLOSE_DEVICE = 0x208; /// /// /// public const int ALUT_ERROR_CREATE_CONTEXT = 0x209; /// /// /// public const int ALUT_ERROR_MAKE_CONTEXT_CURRENT = 0x20A; /// /// /// public const int ALUT_ERROR_DESTROY_CONTEXT = 0x20B; /// /// /// public const int ALUT_ERROR_GEN_BUFFERS = 0x20C; /// /// /// public const int ALUT_ERROR_BUFFER_DATA = 0x20D; /// /// /// public const int ALUT_ERROR_IO_ERROR = 0x20E; /// /// /// public const int ALUT_ERROR_UNSUPPORTED_FILE_TYPE = 0x20F; /// /// /// public const int ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE = 0x210; /// /// /// public const int ALUT_ERROR_CORRUPT_OR_TRUNCATED_DATA = 0x211; /// /// /// public const int ALUT_WAVEFORM_SINE = 0x100; /// /// /// public const int ALUT_WAVEFORM_SQUARE = 0x101; /// /// /// public const int ALUT_WAVEFORM_SAWTOOTH = 0x102; /// /// /// public const int ALUT_WAVEFORM_WHITENOISE = 0x103; /// /// /// public const int ALUT_WAVEFORM_IMPULSE = 0x104; /// /// /// public const int ALUT_LOADER_BUFFER = 0x300; /// /// /// public const int ALUT_LOADER_MEMORY = 0x301; #endregion Public OpenAL 1.1 Constants // --- Public Methods --- /// /// /// /// /// /// // ALUT_API ALboolean ALUT_APIENTRY alutInit (int *argcp, char **argv); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutInit(int[] argcp, string[] argv); /// /// /// /// public static int alutInit() { return alutInit(null, null); } /// /// /// /// /// /// // ALUT_API ALboolean ALUT_APIENTRY alutInitWithoutContext (int *argcp, char **argv); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutInitWithoutContext(int[] argcp, string[] argv); /// /// /// // ALUT_API ALboolean ALUT_APIENTRY alutExit (void); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutExit(); /// /// /// // ALUT_API ALenum ALUT_APIENTRY alutGetError (void); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutGetError(); /// /// /// /// // ALUT_API const char *ALUT_APIENTRY alutGetErrorString (ALenum error); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern string alutGetErrorString(int error); /// /// /// /// /// // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFile (const char *fileName); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutCreateBufferFromFile(string fileName); /// /// /// /// /// /// // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFileImage (const ALvoid *data, ALsizei length); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutCreateBufferFromFileImage(IntPtr data, int length); /// /// /// /// // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferHelloWorld (void); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutCreateBufferHelloWorld(); /// /// /// /// /// /// /// /// // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutCreateBufferWaveform(int waveshape, float frequency, float phase, float duration); /// /// /// /// /// /// /// /// // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFile (const char *fileName, ALenum *format, ALsizei *size, ALfloat *frequency); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alutLoadMemoryFromFile(string fileName, out int format, out int size, out float frequency); /// /// /// /// /// /// /// /// /// // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFileImage (const ALvoid *data, ALsizei length, ALenum *format, ALsizei *size, ALfloat *frequency); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alutLoadMemoryFromFileImage(IntPtr data, int length, out int format, out int size, out float frequency); /// /// /// /// /// /// /// // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryHelloWorld (ALenum *format, ALsizei *size, ALfloat *frequency); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alutLoadMemoryHelloWorld(out int format, out int size, out float frequency); /// /// /// /// /// /// /// /// /// /// /// // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration, ALenum *format, ALsizei *size, ALfloat *freq); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alutLoadMemoryWaveform(int waveshape, float frequency, float phase, float duration, out int format, out int size, out float freq); /// /// /// /// /// // ALUT_API const char *ALUT_APIENTRY alutGetMIMETypes (ALenum loader); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern string alutGetMIMETypes(int loader); /// /// /// /// // ALUT_API ALint ALUT_APIENTRY alutGetMajorVersion (void); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutGetMajorVersion(); /// /// /// /// // ALUT_API ALint ALUT_APIENTRY alutGetMinorVersion (void); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutGetMinorVersion(); /// /// /// /// /// // ALUT_API ALboolean ALUT_APIENTRY alutSleep (ALfloat duration); [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alutSleep(float duration); #region DEPRECATED // #region InitializeAlut() // /// // /// Initializes OpenAL device and context. // /// // private static void InitializeAlut() // { //#if WIN32 // IntPtr device = Alc.alcOpenDevice("DirectSound3D"); //#else //IntPtr device = Alc.alcOpenDevice(null); //#endif // IntPtr context = Alc.alcCreateContext(device, IntPtr.Zero); // Alc.alcMakeContextCurrent(context); // } // #endregion InitializeAlut() // // #region ReadWavFile(Stream stream, out int format, out byte[] data, out int size, out int frequency, out int loop) // /// // /// Reads a WAV file. // /// // /// // /// The stream to be read. // /// // /// // /// The format of the WAV file. // /// // /// // /// The WAV file data. // /// // /// // /// The size of the WAV file data. // /// // /// // /// The frequency of the WAV file. // /// // /// // /// Does the WAV file loop? // /// // private static void ReadWavFile(Stream stream, out int format, out byte[] data, out int size, out int frequency, out int loop) // { // bool success = true; // format = Al.AL_FORMAT_MONO16; // data = null; // size = 0; // frequency = 22050; // loop = Al.AL_FALSE; // // BinaryReader reader = new BinaryReader(stream, System.Text.Encoding.ASCII); // // try // { // WavFileHeader fileHeader = new WavFileHeader(); // WavChunkHeader chunkHeader = new WavChunkHeader(); // WavFormatChunk formatChunk = new WavFormatChunk(); // // // Read WAV file header // fileHeader.Id = reader.ReadChars(4); // fileHeader.Length = reader.ReadInt32(); // fileHeader.Type = reader.ReadChars(4); // // if(new string(fileHeader.Id) != "RIFF" && fileHeader.Length <= 0 && new string(fileHeader.Type) != "WAVE") // { // success = false; // } // else // { // while(fileHeader.Length > 8) // { // // Read WAV chunk header // chunkHeader.Id = reader.ReadChars(4); // chunkHeader.Length = reader.ReadInt32(); // // // Determine chunk action // if(new string(chunkHeader.Id) == "fmt ") // { // // Read WAV format header // formatChunk.Format = reader.ReadInt16(); // formatChunk.Channels = reader.ReadInt16(); // formatChunk.SamplesPerSecond = reader.ReadInt32(); // formatChunk.BytesPerSecond = reader.ReadInt32(); // formatChunk.BytesPerSample = reader.ReadInt16(); // formatChunk.BitsPerSample = reader.ReadInt16(); // // if(chunkHeader.Length > 16) // { // formatChunk.ExtraBytesLength = reader.ReadInt16(); // formatChunk.ExtraBytes = reader.ReadBytes(formatChunk.ExtraBytesLength); // } // else // { // formatChunk.ExtraBytesLength = 0; // formatChunk.ExtraBytes = null; // } // // if(formatChunk.Format == 0x0001) // { // if(formatChunk.Channels == 1) // { // if(formatChunk.BitsPerSample == 8) // { // format = Al.AL_FORMAT_MONO8; // } // else // { // format = Al.AL_FORMAT_MONO16; // } // } // else // { // if(formatChunk.BitsPerSample == 8) // { // format = Al.AL_FORMAT_STEREO8; // } // else // { // format = Al.AL_FORMAT_STEREO16; // } // } // } // frequency = formatChunk.SamplesPerSecond; // } // else if(new string(chunkHeader.Id) == "data") // { // if(formatChunk.Format == 0x0001) // { // size = chunkHeader.Length - 8; // data = reader.ReadBytes(size); // } // } // else // { // if(chunkHeader.Length <= fileHeader.Length && chunkHeader.Length > 0) // { // reader.ReadBytes(chunkHeader.Length); // } // } // // if(chunkHeader.Length <= fileHeader.Length && chunkHeader.Length > 0) // { // fileHeader.Length -= chunkHeader.Length; // } // else // { // fileHeader.Length = 0; // } // } // } // success = true; // } // catch // { // success = false; // } // finally // { // reader.Close(); // } // // if(!success) // { // format = -1; // data = null; // size = -1; // frequency = -1; // loop = -1; // } // } // #endregion ReadWavFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop) // #region alutExit() // /// // /// Destroys OpenAL context and device. // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutExit(ALvoid); // public static void alutExit() // { // IntPtr context = Alc.alcGetCurrentContext(); // IntPtr device = Alc.alcGetContextsDevice(context); // Alc.alcMakeContextCurrent(IntPtr.Zero); // Alc.alcDestroyContext(context); // Alc.alcCloseDevice(device); // context = IntPtr.Zero; // device = IntPtr.Zero; // } // #endregion alutExit() // #region alutInit() // /// // /// Initializes an OpenAL device and context. // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc, ALbyte **argv); // public static void alutInit() // { // InitializeAlut(); // } // #endregion alutInit() // // #region alutInit(int argc, StringBuilder argv) // /// // /// Initializes an OpenAL device and context. // /// // /// // /// Number of commandline arguments. // /// // /// // /// The commandline arguments. // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc, ALbyte **argv); // public static void alutInit(int argc, StringBuilder argv) // { // InitializeAlut(); // } // #endregion alutInit(int argc, StringBuilder argv) // #region Private Structs // #region WavFileHeader // /// // /// WAV file header. // /// // // 12 bytes total // [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] // private struct WavFileHeader // { // [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)] // public char[] Id; // public int Length; // [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)] // public char[] Type; // } // #endregion WavFileHeader // // #region WavChunkHeader // /// // /// WAV chunk header. // /// // // 8 bytes total // [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] // private struct WavChunkHeader // { // [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)] // public char[] Id; // public int Length; // } // #endregion WavChunkHeader // // #region WavFormatChunk // /// // /// WAV format chunk. // /// // // 16 bytes total // [StructLayout(LayoutKind.Sequential)] // private struct WavFormatChunk // { // public short Format; // public short Channels; // public int SamplesPerSecond; // public int BytesPerSecond; // public short BytesPerSample; // public short BitsPerSample; // public short ExtraBytesLength; // public byte[] ExtraBytes; // } // #endregion WavFormatChunk // #endregion Private Structs // #region alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop) // /// // /// Loads a WAV file. // /// // /// // /// The filename to be loaded. // /// // /// // /// The format of the WAV file. // /// // /// // /// The WAV file data. // /// // /// // /// The size of the WAV file data. // /// // /// // /// The WAV file frequency. // /// // /// // /// Does the WAV file loop? // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVFile(ALbyte *file, ALenum *format, ALvoid **data, ALsizei *size, ALsizei *freq, ALboolean *loop); // public static void alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop) // { // if(File.Exists(fileName)) // { // FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); // ReadWavFile(stream, out format, out data, out size, out frequency, out loop); // stream.Close(); // stream = null; // } // else // { // format = -1; // data = null; // size = -1; // frequency = -1; // loop = -1; // } // } // #endregion alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop) // // #region alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop) // /// // /// Loads a WAV file from memory. // /// // /// // /// The WAV memory to be loaded. // /// // /// // /// The format of the WAV file. // /// // /// // /// The WAV file data. // /// // /// // /// The size of the WAV file data. // /// // /// // /// The WAV file frequency. // /// // /// // /// Does the WAV file loop? // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVMemory(ALbyte *memory, ALenum *format, ALvoid **data, ALsizei *size, ALsizei *freq, ALboolean *loop); // public static void alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop) // { // if(memory != null) // { // MemoryStream stream = new MemoryStream(memory, 0, memory.Length); // ReadWavFile(stream, out format, out data, out size, out frequency, out loop); // stream.Close(); // stream = null; // } // else // { // format = -1; // data = null; // size = -1; // frequency = -1; // loop = -1; // } // } // #endregion alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop) // // #region alutUnloadWAV(int format, out byte[] data, int size, int frequency) // /// // /// Unloads a WAV file. // /// // /// // /// The format of the WAV file. // /// // /// // /// The data of the WAV file. // /// // /// // /// The size of the WAV file's data. // /// // /// // /// The frequency of the WAV file. // /// // // ALUTAPI ALvoid ALUTAPIENTRY alutUnloadWAV(ALenum format, ALvoid *data, ALsizei size, ALsizei freq); // public static void alutUnloadWAV(int format, out byte[] data, int size, int frequency) // { // data = null; // } // #endregion alutUnloadWAV(int format, out byte[] data, int size, int frequency) #endregion DEPRECATED } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenAl/Al.cs0000664000175000017500000104672611453131430021416 0ustar laneylaney#region License /* MIT License Copyright 2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License // Disable missing XML comment warnings #pragma warning disable 1591 using System; using System.Reflection; using System.Runtime.InteropServices; using System.Security; using System.Collections; using System.Collections.Generic; using System.Text; namespace Tao.OpenAl { #region Class Documentation /// /// OpenAL binding for .NET, implementing AL 1.1. /// /// /// Binds functions and definitions in OpenAL32.dll or libAL.so. /// #endregion Class Documentation [Obsolete("Use OpenTK.Audio.OpenAL instead.")] public static class Al { // --- Fields --- #region Private Constants #region string AL_NATIVE_LIBRARY /// /// Specifies OpenAl's native library archive. /// /// /// Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. /// private const string AL_NATIVE_LIBRARY = "OpenAL32.dll"; #endregion string AL_NATIVE_LIBRARY #region CallingConvention CALLING_CONVENTION /// /// Specifies the calling convention. /// /// /// Specifies . /// private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl; #endregion CallingConvention CALLING_CONVENTION #endregion Private Constants #region Public OpenAL 1.1 Constants #region AL_INVALID /// /// Bad value. /// // #define AL_INVALID -1 public const int AL_INVALID = -1; #endregion AL_INVALID #region AL_NONE /// /// Disable value. /// // #define AL_NONE 0 public const int AL_NONE = 0; #endregion AL_NONE #region AL_FALSE /// /// bool false. /// // #define AL_FALSE 0 public const int AL_FALSE = 0; #endregion AL_FALSE #region AL_TRUE /// /// bool true. /// // #define AL_TRUE 1 public const int AL_TRUE = 1; #endregion AL_TRUE #region AL_SOURCE_TYPE /// /// Indicates the type of AL_SOURCE. Sources can be spatialized. /// // #define AL_SOURCE_TYPE 0x1027 public const int AL_SOURCE_TYPE = 0x1027; #endregion AL_SOURCE_TYPE //Deprecated in 1.1 //#region AL_SOURCE_ABSOLUTE // // Indicates source has absolute coordinates. // // #define AL_SOURCE_ABSOLUTE 0x201 //public const int AL_SOURCE_ABSOLUTE = 0x201; //#endregion AL_SOURCE_ABSOLUTE #region AL_SOURCE_RELATIVE /// /// Indicates source has listener-relative coordinates. /// // #define AL_SOURCE_RELATIVE 0x202 public const int AL_SOURCE_RELATIVE = 0x202; #endregion AL_SOURCE_RELATIVE #region AL_CONE_INNER_ANGLE /// /// Directional source, inner cone angle, in degrees. The accepted range is 0 to /// 360, the default value is 360. /// // #define AL_CONE_INNER_ANGLE 0x1001 public const int AL_CONE_INNER_ANGLE = 0x1001; #endregion AL_CONE_INNER_ANGLE #region AL_CONE_OUTER_ANGLE /// /// Directional source, outer cone angle, in degrees. The accepted range is 0 to /// 360, the default value is 360. /// // #define AL_CONE_OUTER_ANGLE 0x1002 public const int AL_CONE_OUTER_ANGLE = 0x1002; #endregion AL_CONE_OUTER_ANGLE #region AL_PITCH /// /// Specifies the pitch to be applied, either at source, or on mixer results, at /// listener. The accepted range is 0.5 to 2.0, the default value is 1.0. /// // #define AL_PITCH 0x1003 public const int AL_PITCH = 0x1003; #endregion AL_PITCH #region AL_POSITION /// /// Specifies the current location in three dimensional space. OpenAL, like OpenGL, /// uses a right-handed coordinate system, where in a frontal default view X (thumb) /// points right, Y points up (index finger), and Z points towards the viewer/camera /// (middle finger). To switch to a left-handed coordinate system, flip the sign on /// the Z coordinate. Listener position is always in the world coordinate system. /// // #define AL_POSITION 0x1004 public const int AL_POSITION = 0x1004; #endregion AL_POSITION #region AL_DIRECTION /// /// Specifies the current direction as forward vector. /// // #define AL_DIRECTION 0x1005 public const int AL_DIRECTION = 0x1005; #endregion AL_DIRECTION #region AL_VELOCITY /// /// Specifies the current velocity in three dimensional space. /// // #define AL_VELOCITY 0x1006 public const int AL_VELOCITY = 0x1006; #endregion AL_VELOCITY #region AL_LOOPING /// /// Indicates whether source has to loop infinitely. The accepted values are /// or , the default value is /// . /// // #define AL_LOOPING 0x1007 public const int AL_LOOPING = 0x1007; #endregion AL_LOOPING #region AL_STATIC /// /// Indicates whether source is meant to be static. The accepted values are /// or , the default value is /// . /// // #define AL_STATIC 0x1028 public const int AL_STATIC = 0x1028; #endregion AL_STATIC #region AL_STREAMING /// /// Indicates whether source is meant to be streaming. The accepted values are /// or , the default value is /// . /// // #define AL_STREAMING 0x1029 public const int AL_STREAMING = 0x1029; #endregion AL_STREAMING #region AL_UNDETERMINED /// /// Indicates whether source is meant to be undetermined. The accepted values are /// or , the default value is /// . /// // #define AL_UNDETERMINED 0x1029 public const int AL_UNDETERMINED = 0x1030; #endregion AL_UNDETERMINED #region AL_BUFFER /// /// Indicates the buffer to provide sound samples. The accepted range is any valid /// buffer ID. /// // #define AL_BUFFER 0x1009 public const int AL_BUFFER = 0x1009; #endregion AL_BUFFER #region AL_GAIN /// /// Indicates the gain (volume amplification) applied. The accepted range is 0.0 /// or above. A value of 1.0 means unattenuated/unchanged. Each division by 2 equals /// an attenuation of -6dB. Each multiplication by 2 equals an amplification of +6dB. /// A value of 0.0 is meaningless with respect to a logarithmic scale; it is /// interpreted as zero volume, the channel is effectively disabled. /// // #define AL_GAIN 0x100A public const int AL_GAIN = 0x100A; #endregion AL_GAIN //Deprecated in 1.1. //#region AL_BYTE_LOKI // // byte offset into source (in canon format). -1 if source is not playing. Do not // set this, get this. The accepted range is -1 or above. // // #define AL_BYTE_LOKI 0x100C //public const int AL_BYTE_LOKI = 0x100C; //#endregion AL_BYTE_LOKI #region AL_MIN_GAIN /// /// Indicates minimum source attenuation. The accepted range is 0.0 to 1.0. /// // #define AL_MIN_GAIN 0x100D public const int AL_MIN_GAIN = 0x100D; #endregion AL_MIN_GAIN #region AL_MAX_GAIN /// /// Indicates maximum source attenuation. The accepted range is 0.0 to 1.0. /// /// #define AL_MAX_GAIN 0x100E public const int AL_MAX_GAIN = 0x100E; #endregion AL_MAX_GAIN #region AL_ORIENTATION /// /// Specifies the current orientation. /// // #define AL_ORIENTATION 0x100F public const int AL_ORIENTATION = 0x100F; #endregion AL_ORIENTATION #region AL_REFERENCE_DISTANCE /// /// byte offset into source (in canon format). -1 if source is not playing. Do not /// set this, only get this value. The accepted range is 0.0 or above. The default /// value is 1.0. /// // #define AL_REFERENCE_DISTANCE 0x1020 public const int AL_REFERENCE_DISTANCE = 0x1020; #endregion AL_REFERENCE_DISTANCE #region AL_ROLLOFF_FACTOR /// /// Indicates the rolloff factor for the source. The accepted range is 0.0 or /// above. The default value is 1.0. /// // #define AL_ROLLOFF_FACTOR 0x1021 public const int AL_ROLLOFF_FACTOR = 0x1021; #endregion AL_ROLLOFF_FACTOR #region AL_CONE_OUTER_GAIN /// /// Indicates the gain (volume amplification) applied. The accepted range is 0.0 or /// above. A value of 1.0 means unattenuated/unchanged. Each division by 2 equals an /// attenuation of -6dB. Each multiplication by 2 equals an amplification of +6dB. /// A value of 0.0 is meaningless with respect to a logarithmic scale; it is /// interpreted as zero volume, the channel is effectively disabled. /// // #define AL_CONE_OUTER_GAIN 0x1022 public const int AL_CONE_OUTER_GAIN = 0x1022; #endregion AL_CONE_OUTER_GAIN #region AL_MAX_DISTANCE /// /// Specifies the maximum distance. The accepted range is 0.0 or above. /// // #define AL_MAX_DISTANCE 0x1023 public const int AL_MAX_DISTANCE = 0x1023; #endregion AL_MAX_DISTANCE #region AL_CHANNEL_MASK /// /// Specifies the channel mask. The accepted range is 0 to 255. /// // #define AL_CHANNEL_MASK 0x3000 public const int AL_CHANNEL_MASK = 0x3000; #endregion AL_CHANNEL_MASK #region AL_SOURCE_STATE /// /// Source state information. /// // #define AL_SOURCE_STATE 0x1010 public const int AL_SOURCE_STATE = 0x1010; #endregion AL_SOURCE_STATE #region AL_INITIAL /// /// Source initialized. /// // #define AL_INITIAL 0x1011 public const int AL_INITIAL = 0x1011; #endregion AL_INITIAL #region AL_PLAYING /// /// Source playing. /// // #define AL_PLAYING 0x1012 public const int AL_PLAYING = 0x1012; #endregion AL_PLAYING #region AL_PAUSED /// /// Source paused. /// // #define AL_PAUSED 0x1013 public const int AL_PAUSED = 0x1013; #endregion AL_PAUSED #region AL_STOPPED /// /// Source stopped. /// // #define AL_STOPPED 0x1014 public const int AL_STOPPED = 0x1014; #endregion AL_STOPPED #region AL_BUFFERS_QUEUED /// /// Buffers are queued. /// // #define AL_BUFFERS_QUEUED 0x1015 public const int AL_BUFFERS_QUEUED = 0x1015; #endregion AL_BUFFERS_QUEUED #region AL_BUFFERS_PROCESSED /// /// Buffers are processed. /// // #define AL_BUFFERS_PROCESSED 0x1016 public const int AL_BUFFERS_PROCESSED = 0x1016; #endregion AL_BUFFERS_PROCESSED #region AL_SEC_OFFSET /// /// Source buffer position information. /// // #define AL_SEC_OFFSET 0x1024 public const int AL_SEC_OFFSET = 0x1024; #endregion AL_SEC_OFFSET #region AL_SAMPLE_OFFSET /// /// Source buffer position information. /// // #define AL_SAMPLE_OFFSET 0x1025 public const int AL_SAMPLE_OFFSET = 0x1025; #endregion AL_SAMPLE_OFFSET #region AL_BYTE_OFFSET /// /// Source buffer position information. /// // #define AL_BYTE_OFFSET 0x1026 public const int AL_BYTE_OFFSET = 0x1026; #endregion AL_BYTE_OFFSET #region AL_FORMAT_MONO8 /// /// 8-bit mono buffer. /// // #define AL_FORMAT_MONO8 0x1100 public const int AL_FORMAT_MONO8 = 0x1100; #endregion AL_FORMAT_MONO8 #region AL_FORMAT_MONO16 /// /// 16-bit mono buffer. /// // #define AL_FORMAT_MONO16 0x1101 public const int AL_FORMAT_MONO16 = 0x1101; #endregion AL_FORMAT_MONO16 #region AL_FORMAT_STEREO8 /// /// 8-bit stereo buffer. /// // #define AL_FORMAT_STEREO8 0x1102 public const int AL_FORMAT_STEREO8 = 0x1102; #endregion AL_FORMAT_STEREO8 #region AL_FORMAT_STEREO16 /// /// 16-bit stereo buffer. /// // #define AL_FORMAT_STEREO16 0x1103 public const int AL_FORMAT_STEREO16 = 0x1103; #endregion AL_FORMAT_STEREO16 #region AL_FREQUENCY /// /// Buffer frequency, in units of Hertz (Hz). This is the number of samples per /// second. Half of the sample frequency marks the maximum significant frequency /// component. /// // #define AL_FREQUENCY 0x2001 public const int AL_FREQUENCY = 0x2001; #endregion AL_FREQUENCY #region AL_BITS /// /// Buffer bit depth. /// // #define AL_BITS 0x2002 public const int AL_BITS = 0x2002; #endregion AL_BITS #region AL_CHANNELS /// /// Buffer channels. /// // #define AL_CHANNELS 0x2003 public const int AL_CHANNELS = 0x2003; #endregion AL_CHANNELS #region AL_SIZE /// /// Buffer size. /// // #define AL_SIZE 0x2004 public const int AL_SIZE = 0x2004; #endregion AL_SIZE #region AL_DATA /// /// Buffer data. /// // #define AL_DATA 0x2005 public const int AL_DATA = 0x2005; #endregion AL_DATA #region AL_UNUSED /// /// Buffer unused. /// // #define AL_UNUSED 0x2010 public const int AL_UNUSED = 0x2010; #endregion AL_UNUSED #region AL_QUEUED /// /// Buffer queued. /// // #define AL_QUEUED 0x2011 public const int AL_QUEUED = 0x2011; #endregion AL_QUEUED #region AL_PENDING /// /// Buffer pending. /// // #define AL_PENDING 0x2011 public const int AL_PENDING = 0x2011; #endregion AL_PENDING #region AL_CURRENT /// /// Buffer current. /// // #define AL_CURRENT 0x2012 public const int AL_CURRENT = 0x2012; #endregion AL_CURRENT #region AL_PROCESSED /// /// Buffer processed. /// // #define AL_PROCESSED 0x2012 public const int AL_PROCESSED = 0x2012; #endregion AL_PROCESSED #region AL_NO_ERROR /// /// No error. /// // #define AL_NO_ERROR AL_FALSE public const int AL_NO_ERROR = AL_FALSE; #endregion AL_NO_ERROR #region AL_INVALID_NAME /// /// Illegal name passed as an argument to an AL call. /// // #define AL_INVALID_NAME 0xA001 public const int AL_INVALID_NAME = 0xa001; #endregion AL_INVALID_NAME #region AL_ILLEGAL_ENUM /// /// Illegal enum passed as an argument to an AL call. /// // #define AL_ILLEGAL_ENUM 0xA002 public const int AL_ILLEGAL_ENUM = 0xA002; #endregion AL_ILLEGAL_ENUM #region AL_INVALID_ENUM /// /// Illegal enum passed as an argument to an AL call. /// // #define AL_INVALID_ENUM 0xA002 public const int AL_INVALID_ENUM = 0xA002; #endregion AL_INVALID_ENUM #region AL_INVALID_VALUE /// /// Illegal value passed as an argument to an AL call. Applies to parameter /// values, but not to enumerations. /// // #define AL_INVALID_VALUE 0xA003 public const int AL_INVALID_VALUE = 0xA003; #endregion AL_INVALID_VALUE #region AL_ILLEGAL_COMMAND /// /// A function was called at an inappropriate time or in an inappropriate way, /// causing an illegal state. This can be an incompatible value, object ID, and/or /// function. /// // #define AL_ILLEGAL_COMMAND 0xA004 public const int AL_ILLEGAL_COMMAND = 0xA004; #endregion AL_ILLEGAL_COMMAND #region AL_INVALID_OPERATION /// /// A function was called at an inappropriate time or in an inappropriate way, /// causing an illegal state. This can be an incompatible value, object ID, and/or /// function. /// // #define AL_INVALID_OPERATION 0xA004 public const int AL_INVALID_OPERATION = 0xA004; #endregion AL_INVALID_OPERATION #region AL_OUT_OF_MEMORY /// /// A function could not be completed, because there is not enough memory available. /// // #define AL_OUT_OF_MEMORY 0xA005 public const int AL_OUT_OF_MEMORY = 0xA005; #endregion AL_OUT_OF_MEMORY #region AL_VENDOR /// /// Vendor name. /// // #define AL_VENDOR 0xb001 public const int AL_VENDOR = 0xB001; #endregion AL_VENDOR #region AL_VERSION /// /// Version. /// // #define AL_VERSION 0xB002 public const int AL_VERSION = 0xB002; #endregion AL_VERSION #region AL_RENDERER /// /// Renderer. /// // #define AL_RENDERER 0xB003 public const int AL_RENDERER = 0xB003; #endregion AL_RENDERER #region AL_EXTENSIONS /// /// Extensions. /// // #define AL_EXTENSIONS 0xB004 public const int AL_EXTENSIONS = 0xB004; #endregion AL_EXTENSIONS #region AL_DOPPLER_FACTOR /// /// Doppler scale. The default value is 1.0. /// // #define AL_DOPPLER_FACTOR 0xC000 public const int AL_DOPPLER_FACTOR = 0xC000; #endregion AL_DOPPLER_FACTOR #region AL_DOPPLER_VELOCITY /// /// Doppler velocity. The default value is 1.0. /// // #define AL_DOPPLER_VELOCITY 0xC001 public const int AL_DOPPLER_VELOCITY = 0xC001; #endregion AL_DOPPLER_VELOCITY #region AL_SPEED_OF_SOUND /// /// Speed of Sound /// // #define AL_SPEED_OF_SOUND 0xC003 public const int AL_SPEED_OF_SOUND = 0xC003; #endregion AL_SPEED_OF_SOUND #region AL_DISTANCE_SCALE /// /// Distance scaling. /// // #define AL_DISTANCE_SCALE 0xC002 public const int AL_DISTANCE_SCALE = 0xC002; #endregion AL_DISTANCE_SCALE #region AL_DISTANCE_MODEL /// /// Distance model. The default value is . /// // #define AL_DISTANCE_MODEL 0xD000 public const int AL_DISTANCE_MODEL = 0xD000; #endregion AL_DISTANCE_MODEL #region AL_INVERSE_DISTANCE /// /// Inverse distance model. /// // #define AL_INVERSE_DISTANCE 0xD001 public const int AL_INVERSE_DISTANCE = 0xD001; #endregion AL_INVERSE_DISTANCE #region AL_INVERSE_DISTANCE_CLAMPED /// /// Inverse distance clamped model. /// // #define AL_INVERSE_DISTANCE_CLAMPED 0xD002 public const int AL_INVERSE_DISTANCE_CLAMPED = 0xD002; #endregion AL_INVERSE_DISTANCE_CLAMPED #region AL_LINEAR_DISTANCE /// /// /// // #define AL_LINEAR_DISTANCE 0xD003 public const int AL_LINEAR_DISTANCE = 0xD003; #endregion AL_LINEAR_DISTANCE #region AL_LINEAR_DISTANCE_CLAMPED /// /// /// // #define AL_LINEAR_DISTANCE_CLAMPED 0xD004 public const int AL_LINEAR_DISTANCE_CLAMPED = 0xD004; #endregion AL_LINEAR_DISTANCE_CLAMPED #region AL_EXPONENT_DISTANCE /// /// /// // #define AL_EXPONENT_DISTANCE 0xD005 public const int AL_EXPONENT_DISTANCE = 0xD005; #endregion AL_EXPONENT_DISTANCE #region AL_EXPONENT_DISTANCE_CLAMPED /// /// /// // #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006 public const int AL_EXPONENT_DISTANCE_CLAMPED = 0xD006; #endregion AL_EXPONENT_DISTANCE_CLAMPED #region AL_ENV_ROOM_IASIG /// /// Room. The accepted range is -10000 to 0. The default value is -10000. /// // #define AL_ENV_ROOM_IASIG 0x3001 public const int AL_ENV_ROOM_IASIG = 0x3001; #endregion AL_ENV_ROOM_IASIG #region AL_ENV_ROOM_HIGH_FREQUENCY_IASIG /// /// Room high frequency. The accepted range is -10000 to 0. The default value is 0. /// // #define AL_ENV_ROOM_HIGH_FREQUENCY_IASIG 0x3002 public const int AL_ENV_ROOM_HIGH_FREQUENCY_IASIG = 0x3002; #endregion AL_ENV_ROOM_HIGH_FREQUENCY_IASIG #region AL_ENV_ROOM_ROLLOFF_FACTOR /// /// Room rolloff factor. The accepted range is 0.1 to 20.0. The default value is /// 0.0. /// // #define AL_ENV_ROOM_ROLLOFF_FACTOR_IASIG 0x3003 public const int AL_ENV_ROOM_ROLLOFF_FACTOR = 0x3003; #endregion AL_ENV_ROOM_ROLLOFF_FACTOR #region AL_ENV_DECAY_TIME_IASIG /// /// Decay time. The accepted range is 0.1 to 20.0. The default value is 1.0. /// // #define AL_ENV_DECAY_TIME_IASIG 0x3004 public const int AL_ENV_DECAY_TIME_IASIG = 0x3004; #endregion AL_ENV_DECAY_TIME_IASIG #region AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG /// /// Decay high frequency ratio. The accepted range is 0.1 to 2.0. The default value /// is 0.5. /// // #define AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG 0x3005 public const int AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG = 0x3005; #endregion AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG #region AL_ENV_REFLECTIONS_IASIG /// /// Reflections. The accepted range is -10000 to 1000. The default value is -10000. /// // #define AL_ENV_REFLECTIONS_IASIG 0x3006 public const int AL_ENV_REFLECTIONS_IASIG = 0x3006; #endregion AL_ENV_REFLECTIONS_IASIG #region AL_ENV_REFLECTIONS_DELAY_IASIG /// /// Reflections delay. The accepted range is 0.0 to 0.3. The default value is 0.02. /// // #define AL_ENV_REFLECTIONS_DELAY_IASIG 0x3006 public const int AL_ENV_REFLECTIONS_DELAY_IASIG = 0x3006; #endregion AL_ENV_REFLECTIONS_DELAY_IASIG #region AL_ENV_REVERB_IASIG /// /// Reverb. The accepted range is -10000 to 2000. The default value is -10000. /// // #define AL_ENV_REVERB_IASIG 0x3007 public const int AL_ENV_REVERB_IASIG = 0x3007; #endregion AL_ENV_REVERB_IASIG #region AL_ENV_REVERB_DELAY_IASIG /// /// Reverb delay. The accepted range is 0.0 to 0.1. The default value is 0.04. /// // #define AL_ENV_REVERB_DELAY_IASIG 0x3008 public const int AL_ENV_REVERB_DELAY_IASIG = 0x3008; #endregion AL_ENV_REVERB_DELAY_IASIG #region AL_ENV_DIFFUSION_IASIG /// /// Diffusion. The accepted range is 0.0 to 100.0. The default value is 100.0. /// // #define AL_ENV_DIFFUSION_IASIG 0x3009 public const int AL_ENV_DIFFUSION_IASIG = 0x3009; #endregion AL_ENV_DIFFUSION_IASIG #region AL_ENV_DENSITY_IASIG /// /// Density. The accepted range is 0.0 to 100.0. The default value is 100.0. /// // #define AL_ENV_DENSITY_IASIG 0x300A public const int AL_ENV_DENSITY_IASIG = 0x300A; #endregion AL_ENV_DENSITY_IASIG #region AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG /// /// High frequency reference. The accepted range is 20.0 to 20000.0. The default /// value is 5000.0. /// // #define AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG 0x300B public const int AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG = 0x300B; #endregion AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG #region AL_FORMAT_QUAD16 /// /// Format specifier for 16bit 4-channel audio. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_FORMAT_QUAD16 = alGetEnumValue("AL_FORMAT_QUAD16"); #endregion AL_FORMAT_QUAD16 #region AL_FORMAT_51CHN16 /// /// Format specifier for 16bit 6-channel audio. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_FORMAT_51CHN16 = alGetEnumValue("AL_FORMAT_51CHN16"); #endregion AL_FORMAT_51CHN16 #region AL_FORMAT_61CHN16 /// /// Format specifier for 16bit 7-channel audio. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_FORMAT_61CHN16 = alGetEnumValue("AL_FORMAT_61CHN16"); #endregion AL_FORMAT_61CHN16 #region AL_FORMAT_71CHN16 /// /// Format specifier for 16bit 8-channel audio. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_FORMAT_71CHN16 = alGetEnumValue("AL_FORMAT_71CHN16"); #endregion AL_FORMAT_71CHN16 #region AL_STORAGE_AUTOMATIC /// /// See 'OpenAL Programmer's Guide' for more information. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_STORAGE_AUTOMATIC = alGetEnumValue("AL_STORAGE_AUTOMATIC"); #endregion AL_STORAGE_AUTOMATIC #region AL_STORAGE_HARDWARE /// /// See 'OpenAL Programmer's Guide' for more information. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_STORAGE_HARDWARE = alGetEnumValue("AL_STORAGE_HARDWARE"); #endregion AL_STORAGE_HARDWARE #region AL_STORAGE_ACCESSIBLE /// /// See 'OpenAL Programmer's Guide' for more information. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_STORAGE_ACCESSIBLE = alGetEnumValue("AL_STORAGE_ACCESSIBLE"); #endregion AL_STORAGE_ACCESSIBLE #region AL_EAX_RAM_SIZE /// /// See 'OpenAL Programmer's Guide' for more information. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_EAX_RAM_SIZE = alGetEnumValue("AL_EAX_RAM_SIZE"); #endregion AL_EAX_RAM_SIZE #region AL_EAX_RAM_FREE /// /// See 'OpenAL Programmer's Guide' for more information. /// /// /// Note that if the enumeration value is not supported by the current OpenAl implementation, /// an OpenAL error is generated the first, but only the first time this field is accessed. /// The field then has a value of zero. /// // Enumeration value has to be queried at runtime. public static readonly int AL_EAX_RAM_FREE = alGetEnumValue("AL_EAX_RAM_FREE"); #endregion AL_EAX_RAM_FREE #region EFX_EXT //#define AL_METERS_PER_UNIT 0x20004 public const int AL_METERS_PER_UNIT = 0x20004; //#define AL_DIRECT_FILTER 0x20005 public const int AL_DIRECT_FILTER = 0x20005; //#define AL_AUXILIARY_SEND_FILTER 0x20006 public const int AL_AUXILIARY_SEND_FILTER = 0x20006; //#define AL_AIR_ABSORPTION_FACTOR 0x20007 public const int AL_AIR_ABSORPTION_FACTOR = 0x20007; //#define AL_ROOM_ROLLOFF_FACTOR 0x20008 public const int AL_ROOM_ROLLOFF_FACTOR = 0x20008; //#define AL_CONE_OUTER_GAINHF 0x20009 public const int AL_CONE_OUTER_GAINHF = 0x20009; //#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A public const int AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A; //#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B public const int AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B; //#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C public const int AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C; //#define AL_EFFECTSLOT_EFFECT 0x0001 public const int AL_EFFECTSLOT_EFFECT = 0x0001; //#define AL_EFFECTSLOT_GAIN 0x0002 public const int AL_EFFECTSLOT_GAIN = 0x0002; //#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 public const int AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003; //#define AL_EFFECTSLOT_NULL 0x0000 public const int AL_EFFECTSLOT_NULL = 0x0000; /* Reverb Parameters */ //#define AL_REVERB_DENSITY 0x0001 public const int AL_REVERB_DENSITY = 0x0001; //#define AL_REVERB_DIFFUSION 0x0002 public const int AL_REVERB_DIFFUSION = 0x0002; //#define AL_REVERB_GAIN 0x0003 public const int AL_REVERB_GAIN = 0x0003; //#define AL_REVERB_GAINHF 0x0004 public const int AL_REVERB_GAINHF = 0x0004; //#define AL_REVERB_DECAY_TIME 0x0005 public const int AL_REVERB_DECAY_TIME = 0x0005; //#define AL_REVERB_DECAY_HFRATIO 0x0006 public const int AL_REVERB_DECAY_HFRATIO = 0x0006; //#define AL_REVERB_REFLECTIONS_GAIN 0x0007 public const int AL_REVERB_REFLECTIONS_GAIN = 0x0007; //#define AL_REVERB_REFLECTIONS_DELAY 0x0008 public const int AL_REVERB_REFLECTIONS_DELAY = 0x0008; //#define AL_REVERB_LATE_REVERB_GAIN 0x0009 public const int AL_REVERB_LATE_REVERB_GAIN = 0x0009; //#define AL_REVERB_LATE_REVERB_DELAY 0x000A public const int AL_REVERB_LATE_REVERB_DELAY = 0x000A; //#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B public const int AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B; //#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C public const int AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C; //#define AL_REVERB_DECAY_HFLIMIT 0x000D public const int AL_REVERB_DECAY_HFLIMIT = 0x000D; ///* Chorus Parameters */ //#define AL_CHORUS_WAVEFORM 0x0001 public const int AL_CHORUS_WAVEFORM = 0x0001; //#define AL_CHORUS_PHASE 0x0002 public const int AL_CHORUS_PHASE = 0x0002; //#define AL_CHORUS_RATE 0x0003 public const int AL_CHORUS_RATE = 0x0003; //#define AL_CHORUS_DEPTH 0x0004 public const int AL_CHORUS_DEPTH = 0x0004; //#define AL_CHORUS_FEEDBACK 0x0005 public const int AL_CHORUS_FEEDBACK = 0x0005; //#define AL_CHORUS_DELAY 0x0006 public const int AL_CHORUS_DELAY = 0x0006; ///* Distortion Parameters */ //#define AL_DISTORTION_EDGE 0x0001 public const int AL_DISTORTION_EDGE = 0x0001; //#define AL_DISTORTION_GAIN 0x0002 public const int AL_DISTORTION_GAIN = 0x0002; //#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 public const int AL_DISTORTION_LOWPASS_CUTOFF = 0x0003; //#define AL_DISTORTION_EQCENTER 0x0004 public const int AL_DISTORTION_EQCENTER = 0x0004; //#define AL_DISTORTION_EQBANDWIDTH 0x0005 public const int AL_DISTORTION_EQBANDWIDTH = 0x0005; ///* Echo Parameters */ //#define AL_ECHO_DELAY 0x0001 public const int AL_ECHO_DELAY = 0x0001; //#define AL_ECHO_LRDELAY 0x0002 public const int AL_ECHO_LRDELAY = 0x0002; //#define AL_ECHO_DAMPING 0x0003 public const int AL_ECHO_DAMPING = 0x0003; //#define AL_ECHO_FEEDBACK 0x0004 public const int AL_ECHO_FEEDBACK = 0x0004; //#define AL_ECHO_SPREAD 0x0005 public const int AL_ECHO_SPREAD = 0x0005; ///* Flanger Parameters */ //#define AL_FLANGER_WAVEFORM 0x0001 public const int AL_FLANGER_WAVEFORM = 0x0001; //#define AL_FLANGER_PHASE 0x0002 public const int AL_FLANGER_PHASE = 0x0002; //#define AL_FLANGER_RATE 0x0003 public const int AL_FLANGER_RATE = 0x0003; //#define AL_FLANGER_DEPTH 0x0004 public const int AL_FLANGER_DEPTH = 0x0004; //#define AL_FLANGER_FEEDBACK 0x0005 public const int AL_FLANGER_FEEDBACK = 0x0005; //#define AL_FLANGER_DELAY 0x0006 public const int AL_FLANGER_DELAY = 0x0006; ///* Frequencyshifter Parameters */ //#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 public const int AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001; //#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 public const int AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002; //#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 public const int AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003; ///* Vocalmorpher Parameters */ //#define AL_VOCAL_MORPHER_PHONEMEA 0x0001 public const int AL_VOCAL_MORPHER_PHONEMEA = 0x0001; //#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 public const int AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002; //#define AL_VOCAL_MORPHER_PHONEMEB 0x0003 public const int AL_VOCAL_MORPHER_PHONEMEB = 0x0003; //#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 public const int AL_VOCAL_MORPHER_PHENEMEB_COARSE_TUNING = 0x0004; //#define AL_VOCAL_MORPHER_WAVEFORM 0x0005 public const int AL_VOCAL_MORPHER_WAVEFORM = 0x0005; //#define AL_VOCAL_MORPHER_RATE 0x0006 public const int AL_VOCAL_MORPHER_RATE = 0x0006; ///* Pitchshifter Parameters */ //#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 public const int AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001; //#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 public const int AL_PITCH_SHIFTER_FINE_TUNE = 0x0002; ///* Ringmodulator Parameters */ //#define AL_RING_MODULATOR_FREQUENCY 0x0001 public const int AL_RING_MODULATOR_FREQUENCY = 0x0001; //#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 public const int AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002; //#define AL_RING_MODULATOR_WAVEFORM 0x0003 public const int AL_RING_MODULATOR_WAVEFORM = 0x0003; ///* Autowah Parameters */ //#define AL_AUTOWAH_ATTACK_TIME 0x0001 public const int AL_AUTOWAH_ATTACK_TIME = 0x0001; //#define AL_AUTOWAH_RELEASE_TIME 0x0002 public const int AL_AUTOWAH_RELEASE_TIME = 0x0002; //#define AL_AUTOWAH_RESONANCE 0x0003 public const int AL_AUTOWAH_RESONANCE = 0x0003; //#define AL_AUTOWAH_PEAK_GAIN 0x0004 public const int AL_AUTOWAH_PEAK_GAIN = 0x0004; ///* Compressor Parameters */ //#define AL_COMPRESSOR_ONOFF 0x0001 public const int AL_COMPRESSOR_ONOFF = 0x0001; ///* Equalizer Parameters */ //#define AL_EQUALIZER_LOW_GAIN 0x0001 public const int AL_EQUALIZER_LOW_GAIN = 0x0001; //#define AL_EQUALIZER_LOW_CUTOFF 0x0002 public const int AL_EQUALIZER_LOW_CUTOFF = 0x0002; //#define AL_EQUALIZER_MID1_GAIN 0x0003 public const int AL_EQUALIZER_MID1_GAIN = 0x0003; //#define AL_EQUALIZER_MID1_CENTER 0x0004 public const int AL_EQUALIZER_MID1_CENTER = 0x0004; //#define AL_EQUALIZER_MID1_WIDTH 0x0005 public const int AL_EQUALIZER_MID1_WIDTH = 0x0005; //#define AL_EQUALIZER_MID2_GAIN 0x0006 public const int AL_EQUALIZER_MID2_GAIN = 0x0006; //#define AL_EQUALIZER_MID2_CENTER 0x0007 public const int AL_EQUALIZER_MID2_CENTER = 0x0007; //#define AL_EQUALIZER_MID2_WIDTH 0x0008 public const int AL_EQUALIZER_MID2_WIDTH = 0x0008; //#define AL_EQUALIZER_HIGH_GAIN 0x0009 public const int AL_EQUALIZER_HIGH_GAIN = 0x0009; //#define AL_EQUALIZER_HIGH_CUTOFF 0x000A public const int AL_EQUALIZER_HIGH_CUTOFF = 0x000A; /* Effect type */ //#define AL_EFFECT_FIRST_PARAMETER 0x0000 public const int AL_EFFECT_FIRST_PARAMETER = 0x0000; //#define AL_EFFECT_LAST_PARAMETER 0x8000 public const int AL_EFFECT_LAST_PARAMETER = 0x8000; //#define AL_EFFECT_TYPE 0x8001 public const int AL_EFFECT_TYPE = 0x8001; /* Effect type definitions to be used with AL_EFFECT_TYPE. */ //#define AL_EFFECT_NULL 0x0000 /* Can also be used as an Effect Object ID */ public const int AL_EFFECT_NULL = 0x0000; //#define AL_EFFECT_REVERB 0x0001 public const int AL_EFFECT_REVERB = 0x0001; //#define AL_EFFECT_CHORUS 0x0002 public const int AL_EFFECT_CHORUS = 0x0002; //#define AL_EFFECT_DISTORTION 0x0003 public const int AL_EFFECT_DISTORTION = 0x0003; //#define AL_EFFECT_ECHO 0x0004 public const int AL_EFFECT_ECHO = 0x0004; //#define AL_EFFECT_FLANGER 0x0005 public const int AL_EFFECT_FLANGER = 0x0005; //#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 public const int AL_EFFECT_FREQUENCY_SHIFTER = 0x0006; //#define AL_EFFECT_VOCAL_MORPHER 0x0007 public const int AL_EFFECT_VOCAL_MORPHER = 0x0007; //#define AL_EFFECT_PITCH_SHIFTER 0x0008 public const int AL_EFFECT_PITCH_SHIFTER = 0x0008; //#define AL_EFFECT_RING_MODULATOR 0x0009 public const int AL_EFFECT_RING_MODULATOR = 0x0009; //#define AL_EFFECT_AUTOWAH 0x000A public const int AL_EFFECT_AUTOWAH = 0x000A; //#define AL_EFFECT_COMPRESSOR 0x000B public const int AL_EFFECT_COMPRESSOR = 0x000B; //#define AL_EFFECT_EQUALIZER 0x000C public const int AL_EFFECT_EQUALIZER = 0x000C; /* Lowpass parameters. */ //#define AL_LOWPASS_GAIN 0x0001 public const int AL_LOWPASS_GAIN = 0x0001; //#define AL_LOWPASS_GAINHF 0x0002 public const int AL_LOWPASS_GAINHF = 0x0002; ///* Highpass Parameters */ //#define AL_HIGHPASS_GAIN 0x0001 public const int AL_HIGHPASS_GAIN = 0x0001; //#define AL_HIGHPASS_GAINLF 0x0002 public const int AL_HIGHPASS_GAINLF = 0x0002; ///* Bandpass Parameters */ //#define AL_BANDPASS_GAIN 0x0001 public const int AL_BANDPASS_GAIN = 0x0001; //#define AL_BANDPASS_GAINLF 0x0002 public const int AL_BANDPASS_GAINLF = 0x0002; //#define AL_BANDPASS_GAINHF 0x0003 public const int AL_BANDPASS_GAINHF = 0x0003; ///* Filter type */ //#define AL_FILTER_FIRST_PARAMETER 0x0000 public const int AL_FILTER_FIRST_PARAMETER = 0x0000; //#define AL_FILTER_LAST_PARAMETER 0x8000 public const int AL_FILTER_LAST_PARAMETER = 0x8000; //#define AL_FILTER_TYPE 0x8001 public const int AL_FILTER_TYPE = 0x8001; ///* Filter type definitions to be used with AL_FILTER_TYPE. */ //#define AL_FILTER_NULL 0x0000 /* Can also be used as a Filter Object ID */ public const int AL_FILTER_NULL = 0x0000; //#define AL_FILTER_LOWPASS 0x0001 public const int AL_FILTER_LOWPASS = 0x0001; //#define AL_FILTER_HIGHPASS 0x0002 public const int AL_FILTER_HIGHPASS = 0x0002; //#define AL_FILTER_BANDPASS 0x0003 public const int AL_FILTER_BANDPASS = 0x0003; #endregion #endregion Public OpenAL 1.1 Constants // --- Public Externs --- #region Public OpenAL 1.1 Methods #region alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency) /// /// Fills a buffer with audio data. /// /// /// Buffer name to be filled with data. /// /// /// /// Format type from among the following: /// /// /// /// /// /// /// /// /// /// /// /// Pointer to the audio data. /// /// /// The size of the audio data in bytes. /// /// /// The frequency of the audio data. /// // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency); #endregion alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency) #region alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency) /// /// Fills a buffer with audio data. /// /// /// Buffer name to be filled with data. /// /// /// /// Format type from among the following: /// /// /// /// /// /// /// /// /// /// /// /// Pointer to the audio data. /// /// /// The size of the audio data in bytes. /// /// /// The frequency of the audio data. /// // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency); #endregion alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency) #region alBufferData(int buffer, int format, [In] void *data, int size, int frequency) /// /// Fills a buffer with audio data. /// /// /// Buffer name to be filled with data. /// /// /// /// Format type from among the following: /// /// /// /// /// /// /// /// /// /// /// /// Pointer to the audio data. /// /// /// The size of the audio data in bytes. /// /// /// The frequency of the audio data. /// // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alBufferData(int buffer, int format, [In] void* data, int size, int frequency); #endregion alBufferData(int buffer, int format, [In] void *data, int size, int frequency) #region void alBufferf(int bid, int param, float val) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferf(int bid, int param, float val); #endregion void alBufferf(int bid, int param, float val) #region void alBuffer3f(int bid, int param, float value1, float value2, float value3) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBuffer3f(int bid, int param, float value1, float value2, float value3); #endregion void alBuffer3f(int bid, int param, float value1, float value2, float value3) #region void alBufferfv(int bid, int param, out float val) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, ALfloat *value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferfv(int bid, int param, out float val); #endregion void alBufferfv(int bid, int param, out float val) #region void alBufferi(int bid, int param, int val) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferi(int bid, int param, int val); #endregion void alBufferi(int bid, int param, int val) #region void alBuffer3i(int bid, int param, int value1, int value2, int value3) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBuffer3i(int bid, int param, int value1, int value2, int value3); #endregion void alBuffer3i(int bid, int param, int value1, int value2, int value3) #region void alBufferiv(int bid, int param, out int val) /// /// Set Buffer parameters. /// // AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, ALint *value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alBufferiv(int bid, int param, out int val); #endregion void alBufferiv(int bid, int param, out int val) #region alDeleteBuffers(int number, [In] ref int buffer) /// /// Deletes one or more buffers. /// /// /// The number of buffers to be deleted. /// /// /// Pointer to an array of buffer names identifying the buffers to be deleted. /// /// /// If the requested number of buffers cannot be deleted, an error will be /// generated which can be detected with . If an error /// occurs, no buffers will be deleted. If number equals zero, /// alDeleteBuffers does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteBuffers(int number, [In] ref int buffer); #endregion alDeleteBuffers(int number, [In] ref int buffer) #region alDeleteBuffers(int number, [In] int[] buffers) /// /// Deletes one or more buffers. /// /// /// The number of buffers to be deleted. /// /// /// Pointer to an array of buffer names identifying the buffers to be deleted. /// /// /// If the requested number of buffers cannot be deleted, an error will be /// generated which can be detected with . If an error /// occurs, no buffers will be deleted. If number equals zero, /// alDeleteBuffers does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteBuffers(int number, [In] int[] buffers); #endregion alDeleteBuffers(int number, [In] int[] buffers) #region alDeleteBuffers(int number, [In] IntPtr buffers) /// /// Deletes one or more buffers. /// /// /// The number of buffers to be deleted. /// /// /// Pointer to an array of buffer names identifying the buffers to be deleted. /// /// /// If the requested number of buffers cannot be deleted, an error will be /// generated which can be detected with . If an error /// occurs, no buffers will be deleted. If number equals zero, /// alDeleteBuffers does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteBuffers(int number, [In] IntPtr buffers); #endregion alDeleteBuffers(int number, [In] IntPtr buffers) #region alDeleteBuffers(int number, [In] int *buffers) /// /// Deletes one or more buffers. /// /// /// The number of buffers to be deleted. /// /// /// Pointer to an array of buffer names identifying the buffers to be deleted. /// /// /// If the requested number of buffers cannot be deleted, an error will be /// generated which can be detected with . If an error /// occurs, no buffers will be deleted. If number equals zero, /// alDeleteBuffers does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alDeleteBuffers(int number, [In] int* buffers); #endregion alDeleteBuffers(int number, [In] int *buffers) #region alDeleteSources(int number, [In] ref int sources) /// /// Deletes one or more sources. /// /// /// The number of sources to be deleted. /// /// /// Pointer to an array of source names identifying the sources to be deleted. /// /// /// If the requested number of sources cannot be deleted, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be deleted. If number equals zero, alDeleteSources /// does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteSources(int number, [In] ref int sources); #endregion alDeleteSources(int number, [In] ref int sources) #region alDeleteSources(int number, [In] int[] sources) /// /// Deletes one or more sources. /// /// /// The number of sources to be deleted. /// /// /// Pointer to an array of source names identifying the sources to be deleted. /// /// /// If the requested number of sources cannot be deleted, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be deleted. If number equals zero, alDeleteSources /// does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteSources(int number, [In] int[] sources); #endregion alDeleteSources(int number, [In] int[] sources) #region alDeleteSources(int number, [In] IntPtr sources) /// /// Deletes one or more sources. /// /// /// The number of sources to be deleted. /// /// /// Pointer to an array of source names identifying the sources to be deleted. /// /// /// If the requested number of sources cannot be deleted, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be deleted. If number equals zero, alDeleteSources /// does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteSources(int number, [In] IntPtr sources); #endregion alDeleteSources(int number, [In] IntPtr sources) #region alDeleteSources(int number, [In] int *sources) /// /// Deletes one or more sources. /// /// /// The number of sources to be deleted. /// /// /// Pointer to an array of source names identifying the sources to be deleted. /// /// /// If the requested number of sources cannot be deleted, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be deleted. If number equals zero, alDeleteSources /// does nothing and will not return an error. /// // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alDeleteSources(int number, [In] int* sources); #endregion alDeleteSources(int number, [In] int *sources) #region alDisable(int capability) /// /// Disables a feature of the OpenAL driver. /// /// /// The capability to disable. /// /// /// At the time of this writing, there are no features to be disabled using this /// function, so if it is called the error will be /// generated. /// // ALAPI ALvoid ALAPIENTRY alDisable(ALenum capability); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDisable(int capability); #endregion alDisable(int capability) #region alDistanceModel(int val) /// /// Selects the OpenAL distance model. /// /// /// /// The distance model to be set: /// /// /// /// /// /// /// /// /// /// /// /// The default distance model in OpenAL is . /// /// /// The model works according to the following /// formula: /// /// /// /// G_dB = AL_GAIN 20log10(1 + AL_ROLLOFF_FACTOR * (distance AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE)); /// G_dB = min(G_dB, AL_MAX_GAIN); /// G_dB = max(G_dB, AL_MIN_GAIN); /// /// /// /// The model works according to the /// following formula: /// /// /// /// distance = max(distance, AL_REFERENCE_DISTANCE); /// distance = min(distance, AL_MAX_DISTANCE); /// G_dB = AL_GAIN 20log10(1 + AL_ROLLOFF_FACTOR * (distance AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE)); /// G_dB = min(G_dB, AL_MAX_GAIN); /// G_dB = max(G_dB, AL_MIN_GAIN); /// /// /// /// The model works according to the following formula: /// /// /// /// G_db = AL_GAIN; /// /// /// // ALAPI ALvoid ALAPIENTRY alDistanceModel(ALenum value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDistanceModel(int val); #endregion alDistanceModel(int val) #region alDopplerFactor(float val) /// /// Selects the OpenAL Doppler factor value. /// /// /// The Doppler scale value to set. /// /// /// The default Doppler factor value is 1.0. /// // ALAPI ALvoid ALAPIENTRY alDopplerFactor(ALfloat value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDopplerFactor(float val); #endregion alDopplerFactor(float val) #region alDopplerVelocity(float val) /// /// Selects the OpenAL Doppler velocity value. /// /// /// The Doppler velocity value to set. /// /// /// The default Doppler velocity value is 343.3. /// // ALAPI ALvoid ALAPIENTRY alDopplerVelocity(ALfloat value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDopplerVelocity(float val); #endregion alDopplerVelocity(float val) #region alSpeedOfSound(float val) /// /// Selects the OpenAL Speed of Sound value. /// /// /// The Speed of Sound value to set. /// /// /// /// // ALAPI ALvoid ALAPIENTRY alDopplerVelocity(ALfloat value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSpeedOfSound(float val); #endregion alSpeedOfSound(float val) #region alEnable(int capability) /// /// Enables a feature of the OpenAL driver. /// /// /// The capability to enable. /// /// /// At the time of this writing, there are no features to be enabled using this /// function, so if it is called the error will be /// generated. /// // ALAPI ALvoid ALAPIENTRY alEnable(ALenum capability); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alEnable(int capability); #endregion alEnable(int capability) #region alGenBuffers(int number, out int buffer) /// /// Generates one or more buffers. /// /// /// The number of buffers to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// buffers. /// /// /// If the requested number of buffers cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// buffers will be generated. If number equals zero, alGenBuffers /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenBuffers(int number, out int buffer); #endregion alGenBuffers(int number, out int buffer) #region alGenBuffers(int number, [Out] int[] buffers) /// /// Generates one or more buffers. /// /// /// The number of buffers to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// buffers. /// /// /// If the requested number of buffers cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// buffers will be generated. If number equals zero, alGenBuffers /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenBuffers(int number, [Out] int[] buffers); #endregion alGenBuffers(int number, [Out] int[] buffers) #region alGenBuffers(int number, [Out] IntPtr buffers) /// /// Generates one or more buffers. /// /// /// The number of buffers to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// buffers. /// /// /// If the requested number of buffers cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// buffers will be generated. If number equals zero, alGenBuffers /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenBuffers(int number, [Out] IntPtr buffers); #endregion alGenBuffers(int number, [Out] IntPtr buffers) #region alGenBuffers(int number, [Out] int *buffers) /// /// Generates one or more buffers. /// /// /// The number of buffers to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// buffers. /// /// /// If the requested number of buffers cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// buffers will be generated. If number equals zero, alGenBuffers /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGenBuffers(int number, [Out] int* buffers); #endregion alGenBuffers(int number, [Out] int *buffers) #region alGenSources(int number, out int source) /// /// Generates one or more sources. /// /// /// The number of sources to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// sources. /// /// /// If the requested number of sources cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be generated. If number equals zero, alGenSources /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenSources(int number, out int source); #endregion alGenSources(int number, out int source) #region alGenSources(int number, [Out] int[] sources) /// /// Generates one or more sources. /// /// /// The number of sources to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// sources. /// /// /// If the requested number of sources cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be generated. If number equals zero, alGenSources /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenSources(int number, [Out] int[] sources); #endregion alGenSources(int number, [Out] int[] sources) #region alGenSources(int number, [Out] IntPtr sources) /// /// Generates one or more sources. /// /// /// The number of sources to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// sources. /// /// /// If the requested number of sources cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be generated. If number equals zero, alGenSources /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGenSources(int number, [Out] IntPtr sources); #endregion alGenSources(int number, [Out] IntPtr sources) #region alGenSources(int number, [Out] int *sources) /// /// Generates one or more sources. /// /// /// The number of sources to be generated. /// /// /// Pointer to an array of integer values which will store the names of the new /// sources. /// /// /// If the requested number of sources cannot be created, an error will be generated /// which can be detected with . If an error occurs, no /// sources will be generated. If number equals zero, alGenSources /// does nothing and does not return an error. /// // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGenSources(int number, [Out] int* sources); #endregion alGenSources(int number, [Out] int *sources) #region int alGetBoolean(int state) /// /// Returns a boolean OpenAL state. /// /// /// The state to be queried. /// /// /// The boolean value ( or ) described /// by state will be returned. /// /// /// There arent any boolean states defined at the time of this writing, so this /// function will always generate the error . /// // ALAPI ALboolean ALAPIENTRY alGetBoolean(ALenum param); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGetBoolean(int state); #endregion int alGetBoolean(int state) #region alGetBooleanv(int state, out int output) /// /// Retrieves a boolean OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any boolean states defined at the time of this writing, so this /// function will always generate the error . /// // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBooleanv(int state, out int output); #endregion alGetBooleanv(int state, out int output) #region alGetBooleanv(int state, [Out] int[] output) /// /// Retrieves a boolean OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any boolean states defined at the time of this writing, so this /// function will always generate the error . /// // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBooleanv(int state, [Out] int[] output); #endregion alGetBooleanv(int state, [Out] int[] output) #region alGetBooleanv(int state, [Out] IntPtr output) /// /// Retrieves a boolean OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any boolean states defined at the time of this writing, so this /// function will always generate the error . /// // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBooleanv(int state, [Out] IntPtr output); #endregion alGetBooleanv(int state, [Out] IntPtr output) #region alGetBooleanv(int state, [Out] int *output) /// /// Retrieves a boolean OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any boolean states defined at the time of this writing, so this /// function will always generate the error . /// // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetBooleanv(int state, [Out] int* output); #endregion alGetBooleanv(int state, [Out] int *output) #region alGetBufferf(int buffer, int attribute, out int val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferf(int buffer, int attribute, out int val); #endregion alGetBufferf(int buffer, int attribute, out int val) #region alGetBufferf(int buffer, int attribute, [Out] int[] val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferf(int buffer, int attribute, [Out] int[] val); #endregion alGetBufferf(int buffer, int attribute, [Out] int[] val) #region alGetBufferf(int buffer, int attribute, [Out] IntPtr val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferf(int buffer, int attribute, [Out] IntPtr val); #endregion alGetBufferf(int buffer, int attribute, [Out] IntPtr val) #region alGetBufferf(int buffer, int attribute, [Out] float *val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetBufferf(int buffer, int attribute, [Out] float* val); #endregion alGetBufferf(int buffer, int attribute, [Out] float *val) #region void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3); #endregion void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3) #region alGetBufferfv(int buffer, int attribute, out float val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferfv(int buffer, int attribute, out float val); #endregion alGetBufferfv(int buffer, int attribute, out float val) #region alGetBufferfv(int buffer, int attribute, [Out] float[] val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferfv(int buffer, int attribute, [Out] float[] val); #endregion alGetBufferfv(int buffer, int attribute, [Out] float[] val) #region alGetBufferfv(int buffer, int attribute, [Out] IntPtr val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferfv(int buffer, int attribute, [Out] IntPtr val); #endregion alGetBufferfv(int buffer, int attribute, [Out] IntPtr val) #region alGetBufferfv(int buffer, int attribute, [Out] float *val) /// /// Retrieves a floating-point property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an float to hold the retrieved data. /// /// /// There are no float attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetBufferfv(int buffer, int attribute, [Out] float* val); #endregion alGetBufferfv(int buffer, int attribute, [Out] float *val) #region alGetBufferi(int buffer, int attribute, out int val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferi(int buffer, int attribute, out int val); #endregion alGetBufferi(int buffer, int attribute, out int val) #region alGetBufferi(int buffer, int attribute, [Out] int[] val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferi(int buffer, int attribute, [Out] int[] val); #endregion alGetBufferi(int buffer, int attribute, [Out] int[] val) #region alGetBufferi(int buffer, int attribute, [Out] IntPtr val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferi(int buffer, int attribute, [Out] IntPtr val); #endregion alGetBufferi(int buffer, int attribute, [Out] IntPtr val) #region alGetBufferi(int buffer, int attribute, [Out] int *val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetBufferi(int buffer, int attribute, [Out] int* val); #endregion alGetBufferi(int buffer, int attribute, [Out] int *val) #region void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// The name of the attribute to be retrieved. /// /// /// A pointer to an int to hold the retrieved data. /// /// /// A pointer to an int to hold the retrieved data. /// /// /// A pointer to an int to hold the retrieved data. /// /// /// There are no int attributes for buffers at this time. /// // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALint* value1, ALint* value2, ALint* value3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3); #endregion void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3) #region alGetBufferiv(int buffer, int attribute, out int val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferiv(int buffer, int attribute, out int val); #endregion alGetBufferiv(int buffer, int attribute, out int val) #region alGetBufferiv(int buffer, int attribute, [Out] int[] val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferiv(int buffer, int attribute, [Out] int[] val); #endregion alGetBufferiv(int buffer, int attribute, [Out] int[] val) #region alGetBufferiv(int buffer, int attribute, [Out] IntPtr val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetBufferiv(int buffer, int attribute, [Out] IntPtr val); #endregion alGetBufferiv(int buffer, int attribute, [Out] IntPtr val) #region alGetBufferiv(int buffer, int attribute, [Out] int *val) /// /// Retrieves an integer property of a buffer. /// /// /// Buffer name whose attribute is being retrieved. /// /// /// /// The name of the attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to an integer to hold the retrieved data. /// // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetBufferiv(int buffer, int attribute, [Out] int* val); #endregion alGetBufferiv(int buffer, int attribute, [Out] int *val) #region double alGetDouble(int state) /// /// Returns a double-precision floating-point OpenAL state. /// /// /// The state to be queried. /// /// /// The double value described by state will be returned. /// /// /// There arent any double-precision floating-point states defined at the time of /// this writing, so this function will always generate the error /// . /// // ALAPI ALdouble ALAPIENTRY alGetDouble(ALenum param); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern double alGetDouble(int state); #endregion double alGetDouble(int state) #region alGetDoublev(int state, out double output) /// /// Retrieves a double-precision floating-point OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any double-precision floating-point states defined at the time of /// this writing, so this function will always generate the error /// . /// // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetDoublev(int state, out double output); #endregion alGetDoublev(int state, out double output) #region alGetDoublev(int state, [Out] double[] output) /// /// Retrieves a double-precision floating-point OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any double-precision floating-point states defined at the time of /// this writing, so this function will always generate the error /// . /// // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetDoublev(int state, [Out] double[] output); #endregion alGetDoublev(int state, [Out] double[] output) #region alGetDoublev(int state, [Out] IntPtr output) /// /// Retrieves a double-precision floating-point OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any double-precision floating-point states defined at the time of /// this writing, so this function will always generate the error /// . /// // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetDoublev(int state, [Out] IntPtr output); #endregion alGetDoublev(int state, [Out] IntPtr output) #region alGetDoublev(int state, [Out] double *output) /// /// Retrieves a double-precision floating-point OpenAL state. /// /// /// The state to be queried. /// /// /// A pointer to the location where the state will be stored. /// /// /// There arent any double-precision floating-point states defined at the time of /// this writing, so this function will always generate the error /// . /// // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetDoublev(int state, [Out] double* output); #endregion alGetDoublev(int state, [Out] double *output) #region int alGetEnumValue(string enumName) /// /// Returns the enumeration value of an OpenAL enum described by a string. /// /// /// A string describing an OpenAL enum. /// /// /// The actual value for the described enum is returned. /// // ALAPI ALenum ALAPIENTRY alGetEnumValue(ALubyte* ename); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGetEnumValue(string enumName); #endregion int alGetEnumValue(string enumName) #region int alGetError() /// /// Returns the current error state and then clears the error state. /// /// /// The error state. /// /// /// When an OpenAL error occurs, the error state is set and will not be changed until /// the error state is retrieved using alGetError. Whenever alGetError /// is called, the error state is cleared and the last state (the current state when /// the call was made) is returned. To isolate error detection to a specific portion /// of code, alGetError should be called before the isolated section to clear /// the current error state. /// // ALAPI ALenum ALAPIENTRY alGetError(ALvoid); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGetError(); #endregion int alGetError() #region float alGetFloat(int state) /// /// Returns a floating-point OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// /// The floating-point value described by state will be returned. /// // ALAPI ALfloat ALAPIENTRY alGetFloat(ALenum param); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern float alGetFloat(int state); #endregion float alGetFloat(int state) #region alGetFloatv(int state, out float output) /// /// Retrieves a floating-point OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetFloatv(int state, out float output); #endregion alGetFloatv(int state, out float output) #region alGetFloatv(int state, [Out] float[] output) /// /// Retrieves a floating-point OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetFloatv(int state, [Out] float[] output); #endregion alGetFloatv(int state, [Out] float[] output) #region alGetFloatv(int state, [Out] IntPtr output) /// /// Retrieves a floating-point OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetFloatv(int state, [Out] IntPtr output); #endregion alGetFloatv(int state, [Out] IntPtr output) #region alGetFloatv(int state, [Out] float *output) /// /// Retrieves a floating-point OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetFloatv(int state, [Out] float* output); #endregion alGetFloatv(int state, [Out] float *output) #region int alGetInteger(int state) /// /// Returns an integer OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// The integer value described by state will be returned. /// // ALAPI ALint ALAPIENTRY alGetInteger(ALenum param); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGetInteger(int state); #endregion int alGetInteger(int state) #region alGetIntegerv(int state, out int output) /// /// Retrieves an integer OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetIntegerv(int state, out int output); #endregion alGetIntegerv(int state, out int output) #region alGetIntegerv(int state, [Out] int[] output) /// /// Retrieves an integer OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetIntegerv(int state, [Out] int[] output); #endregion alGetIntegerv(int state, [Out] int[] output) #region alGetIntegerv(int state, [Out] IntPtr output) /// /// Retrieves an integer OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetIntegerv(int state, [Out] IntPtr output); #endregion alGetIntegerv(int state, [Out] IntPtr output) #region alGetIntegerv(int state, [Out] int *output) /// /// Retrieves an integer OpenAL state. /// /// /// /// The state to be queried: /// /// /// /// /// /// /// /// /// A pointer to the location where the state will be stored. /// // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetIntegerv(int state, [Out] int* output); #endregion alGetIntegerv(int state, [Out] int *output) #region alGetListener3f(int attribute, out float output1, out float output2, out float output3) /// /// Retrieves a set of three floating-point values from a property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListener3f(int attribute, out float output1, out float output2, out float output3); #endregion alGetListener3f(int attribute, out float output1, out float output2, out float output3) #region alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3) /// /// Retrieves a set of three floating-point values from a property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3); #endregion alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3) #region alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3) /// /// Retrieves a set of three floating-point values from a property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3); #endregion alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3) #region alGetListener3f(int attribute, [Out] float *output1, [Out] float *output2, [Out] float *output3) /// /// Retrieves a set of three floating-point values from a property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// /// /// Pointer to the the floating-point being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListener3f(int attribute, [Out] float* output1, [Out] float* output2, [Out] float* output3); #endregion alGetListener3f(int attribute, [Out] float *output1, [Out] float *output2, [Out] float *output3) #region alGetListenerf(int attribute, out float output) /// /// Retrieves a floating-point property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerf(int attribute, out float output); #endregion alGetListenerf(int attribute, out float output) #region alGetListenerf(int attribute, [Out] float[] output) /// /// Retrieves a floating-point property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerf(int attribute, [Out] float[] output); #endregion alGetListenerf(int attribute, [Out] float[] output) #region alGetListenerf(int attribute, [Out] IntPtr output) /// /// Retrieves a floating-point property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerf(int attribute, [Out] IntPtr output); #endregion alGetListenerf(int attribute, [Out] IntPtr output) #region alGetListenerf(int attribute, [Out] float *output) /// /// Retrieves a floating-point property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListenerf(int attribute, [Out] float* output); #endregion alGetListenerf(int attribute, [Out] float *output) #region alGetListenerfv(int attribute, out float output) /// /// Retrieves a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point vector value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerfv(int attribute, out float output); #endregion alGetListenerfv(int attribute, out float output) #region alGetListenerfv(int attribute, [Out] float[] output) /// /// Retrieves a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point vector value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerfv(int attribute, [Out] float[] output); #endregion alGetListenerfv(int attribute, [Out] float[] output) #region alGetListenerfv(int attribute, [Out] IntPtr output) /// /// Retrieves a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point vector value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListenerfv(int attribute, [Out] IntPtr output); #endregion alGetListenerfv(int attribute, [Out] IntPtr output) #region alGetListenerfv(int attribute, [Out] float *output) /// /// Retrieves a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point vector value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListenerfv(int attribute, [Out] float* output); #endregion alGetListenerfv(int attribute, [Out] float *output) #region alGetListeneri(int attribute, out int output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneri(int attribute, out int output); #endregion alGetListeneri(int attribute, out int output) #region alGetListeneri(int attribute, [Out] int[] output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneri(int attribute, [Out] int[] output); #endregion alGetListeneri(int attribute, [Out] int[] output) #region alGetListeneri(int attribute, [Out] IntPtr output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneri(int attribute, [Out] IntPtr output); #endregion alGetListeneri(int attribute, [Out] IntPtr output) #region alGetListeneri(int attribute, [Out] int *output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListeneri(int attribute, [Out] int* output); #endregion alGetListeneri(int attribute, [Out] int *output) #region alGetListener3i(int attribute, [Out] int *output1, [Out] int *output2, [Out] int *output3) /// /// Retrieves a set of three integer values from a property of the listener. /// /// /// /// The name of the attribute to be queried: /// /// /// /// /// /// /// /// /// /// Pointer to the integer being retrieved. /// /// /// Pointer to the integer being retrieved. /// /// /// Pointer to the intger being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetListener3i(ALenum param, ALint* v1, ALfint* v2, ALint* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListener3i(int attribute, [Out] int* output1, [Out] int* output2, [Out] int* output3); #endregion alGetListener3i(int attribute, [Out] int *output1, [Out] int *output2, [Out] int *output3) #region alGetListeneriv(int attribute, out int output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneriv(int attribute, out int output); #endregion alGetListeneriv(int attribute, out int output) #region alGetListeneriv(int attribute, [Out] int[] output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneriv(int attribute, [Out] int[] output); #endregion alGetListeneriv(int attribute, [Out] int[] output) #region alGetListeneriv(int attribute, [Out] IntPtr output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetListeneriv(int attribute, [Out] IntPtr output); #endregion alGetListeneriv(int attribute, [Out] IntPtr output) #region alGetListeneriv(int attribute, [Out] int *output) /// /// Retrieves an integer property of the listener. /// /// /// The name of the attribute to be queried. /// /// /// A pointer to the integer value being retrieved. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetListeneriv(int attribute, [Out] int* output); #endregion alGetListeneriv(int attribute, [Out] int *output) #region IntPtr alGetProcAddress(string functionName) /// /// Returns the address of an OpenAL extension function. /// /// /// A string containing the function name. /// /// /// A pointer to the desired function is returned. /// /// /// The return value will be IntPtr.Zero if the function is not found. /// // ALAPI ALvoid* ALAPIENTRY alGetProcAddress(ALubyte* fname); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alGetProcAddress(string functionName); #endregion IntPtr alGetProcAddress(string functionName) #region alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3); #endregion alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3) #region alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3); #endregion alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3) #region alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3); #endregion alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3) #region alGetSource3f(int source, int attribute, [Out] float *value1, [Out] float *value2, [Out] float *value3) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetSource3f(int source, int attribute, [Out] float* value1, [Out] float* value2, [Out] float* value3); #endregion alGetSource3f(int source, int attribute, [Out] float *value1, [Out] float *value2, [Out] float *value3) #region alGetSourcef(int source, int attribute, out float val) /// /// Retrieves a floating-point property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcef(int source, int attribute, out float val); #endregion alGetSourcef(int source, int attribute, out float val) #region alGetSourcef(int source, int attribute, [Out] float[] val) /// /// Retrieves a floating-point property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcef(int source, int attribute, [Out] float[] val); #endregion alGetSourcef(int source, int attribute, [Out] float[] val) #region alGetSourcef(int source, int attribute, [Out] IntPtr val) /// /// Retrieves a floating-point property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcef(int source, int attribute, [Out] IntPtr val); #endregion alGetSourcef(int source, int attribute, [Out] IntPtr val) #region alGetSourcef(int source, int attribute, [Out] float *val) /// /// Retrieves a floating-point property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the floating-point value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetSourcef(int source, int attribute, [Out] float* val); #endregion alGetSourcef(int source, int attribute, [Out] float *val) #region alGetSourcefv(int source, int attribute, out float val) /// /// Retrieves a floating-point vector property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute being retrieved: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to retrieve. /// // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcefv(int source, int attribute, out float val); #endregion alGetSourcefv(int source, int attribute, out float val) #region alGetSourcefv(int source, int attribute, [Out] float[] values) /// /// Retrieves a floating-point vector property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute being retrieved: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to retrieve. /// // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcefv(int source, int attribute, [Out] float[] values); #endregion alGetSourcefv(int source, int attribute, [Out] float[] values) #region alGetSourcefv(int source, int attribute, [Out] IntPtr values) /// /// Retrieves a floating-point vector property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute being retrieved: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to retrieve. /// // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcefv(int source, int attribute, [Out] IntPtr values); #endregion alGetSourcefv(int source, int attribute, [Out] IntPtr values) #region alGetSourcefv(int source, int attribute, [Out] float *values) /// /// Retrieves a floating-point vector property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute being retrieved: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to retrieve. /// // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetSourcefv(int source, int attribute, [Out] float* values); #endregion alGetSourcefv(int source, int attribute, [Out] float *values) #region alGetSourcei(int source, int attribute, out int val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcei(int source, int attribute, out int val); #endregion alGetSourcei(int source, int attribute, out int val) #region alGetSourcei(int source, int attribute, [Out] int[] val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcei(int source, int attribute, [Out] int[] val); #endregion alGetSourcei(int source, int attribute, [Out] int[] val) #region alGetSourcei(int source, int attribute, [Out] IntPtr val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourcei(int source, int attribute, [Out] IntPtr val); #endregion alGetSourcei(int source, int attribute, [Out] IntPtr val) #region alGetSourcei(int source, int attribute, [Out] int *val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetSourcei(int source, int attribute, [Out] int* val); #endregion alGetSourcei(int source, int attribute, [Out] int *val) #region alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// The int values which the attribute will be set to. /// /// /// The int values which the attribute will be set to. /// /// /// The int values which the attribute will be set to. /// // ALAPI ALvoid ALAPIENTRY alGetSource3i(ALuint source, ALenum param, ALin* v1, ALint* v2, ALint* v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3); #endregion alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3) #region alGetSourceiv(int source, int attribute, out int val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourceiv(int source, int attribute, out int val); #endregion alGetSourceiv(int source, int attribute, out int val) #region alGetSourceiv(int source, int attribute, [Out] int[] val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourceiv(int source, int attribute, [Out] int[] val); #endregion alGetSourceiv(int source, int attribute, [Out] int[] val) #region alGetSourceiv(int source, int attribute, [Out] IntPtr val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alGetSourceiv(int source, int attribute, [Out] IntPtr val); #endregion alGetSourceiv(int source, int attribute, [Out] IntPtr val) #region alGetSourceiv(int source, int attribute, [Out] int *val) /// /// Retrieves an integer property of a source. /// /// /// Source name whose attribute is being retrieved. /// /// /// /// The name of the attribute to retrieve: /// /// /// /// /// /// /// /// /// /// /// /// /// A pointer to the integer value being retrieved. /// // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alGetSourceiv(int source, int attribute, [Out] int* val); #endregion alGetSourceiv(int source, int attribute, [Out] int *val) #region string alGetString(int state) /// /// Retrieves an OpenAL string property. /// /// /// /// The property to be queried: /// /// /// /// /// /// /// /// /// /// /// /// A pointer to a null-terminated string. /// // ALAPI ALubyte* ALAPIENTRY alGetString(ALenum param); public static string alGetString(int state) { return Marshal.PtrToStringAnsi(_alGetString(state)); } [DllImport(AL_NATIVE_LIBRARY, EntryPoint = "alGetString", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] private static extern IntPtr _alGetString(int state); #endregion string alGetString(int state) #region alHint(int target, int mode) /// /// Sets application preferences for driver performance choices. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALvoid ALAPIENTRY alHint(ALenum target, ALenum mode); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alHint(int target, int mode); #endregion alHint(int target, int mode) #region int alIsBuffer(int buffer) /// /// Tests if a buffer name is valid. /// /// /// A buffer name to be tested for validity. /// /// /// bool value if the buffer name is valid or /// if the buffer name is not valid. /// // ALAPI ALboolean ALAPIENTRY alIsBuffer(ALuint buffer); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alIsBuffer(int buffer); #endregion int alIsBuffer(int buffer) #region int alIsEnabled(int capability) /// /// Returns a value indicating if a specific feature is enabled in the OpenAL driver. /// /// /// The capability to query. /// /// /// if the capability is enabled, if /// the capability is disabled. /// /// /// At the time of this writing, this function always returns , /// and since there are no capabilities defined yet, the error /// will also be set. /// // ALAPI ALboolean ALAPIENTRY alIsEnabled(ALenum capability); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alIsEnabled(int capability); #endregion int alIsEnabled(int capability) #region int alIsExtensionPresent(string extensionName) /// /// Tests if a specific extension is available for the OpenAL driver. /// /// /// A string describing the desired extension. /// /// /// if the extension is available, if /// the extension is not available. /// // ALAPI ALboolean ALAPIENTRY alIsExtensionPresent(ALubyte* fname); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alIsExtensionPresent(string extensionName); #endregion int alIsExtensionPresent(String extensionName) #region int alIsSource(int id) /// /// Tests if a source name is valid. /// /// /// A source name to be tested for validity. /// /// /// bool value if the source name is valid or /// if the source name is not valid. /// // ALAPI ALboolean ALAPIENTRY alIsSource(ALuint id); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alIsSource(int id); #endregion int alIsSource(int id) #region alListener3f(int attribute, float value1, float value2, float value3) /// /// Sets a floating-point property for the listener. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// The value to set the attribute to. /// /// /// The value to set the attribute to. /// /// /// The value to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alListener3f(ALenum param, ALfloat v1, ALfloat v2, ALfloat v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListener3f(int attribute, float value1, float value2, float value3); #endregion alListener3f(int attribute, float value1, float value2, float value3) #region alListenerf(int attribute, float val) /// /// Sets a floating-point property for the listener. /// /// /// The name of the attribute to be set. /// /// /// The float value to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alListenerf(ALenum param, ALfloat value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListenerf(int attribute, float val); #endregion alListenerf(int attribute, float val) #region alListenerfv(int attribute, [In] ref float values) /// /// Sets a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be set: /// /// /// /// /// /// /// /// /// /// /// Pointer to floating-point vector values. /// // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListenerfv(int attribute, [In] ref float values); #endregion alListenerfv(int attribute, [In] ref float values) #region alListenerfv(int attribute, [In] float[] values) /// /// Sets a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be set: /// /// /// /// /// /// /// /// /// /// /// Pointer to floating-point vector values. /// // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListenerfv(int attribute, [In] float[] values); #endregion alListenerfv(int attribute, [In] float[] values) #region alListenerfv(int attribute, [In] IntPtr values) /// /// Sets a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be set: /// /// /// /// /// /// /// /// /// /// /// Pointer to floating-point vector values. /// // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListenerfv(int attribute, [In] IntPtr values); #endregion alListenerfv(int attribute, [In] IntPtr values) #region alListenerfv(int attribute, [In] float *values) /// /// Sets a floating-point vector property of the listener. /// /// /// /// The name of the attribute to be set: /// /// /// /// /// /// /// /// /// /// /// Pointer to floating-point vector values. /// // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alListenerfv(int attribute, [In] float* values); #endregion alListenerfv(int attribute, [In] float *values) #region alListeneri(int attribute, int val) /// /// Sets an integer property of the listener. /// /// /// The name of the attribute to be set. /// /// /// The integer value to set the attribute to. /// /// /// There are no integer listener attributes at this time. /// // ALAPI ALvoid ALAPIENTRY alListeneri(ALenum param, ALint value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListeneri(int attribute, int val); #endregion alListeneri(int attribute, int val) #region alListener3i(int attribute, int value1, int value2, int value3) /// /// Sets an integer property for the listener. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// The value to set the attribute to. /// /// /// The value to set the attribute to. /// /// /// The value to set the attribute to. /// // AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ) [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListener3i(int attribute, int value1, int value2, int value3); #endregion alListener3i(int attribute, int value1, int value2, int value3) #region alListeneriv(int attribute, [In] ref int values) /// /// Sets a integer-vector property of the listener. /// /// /// /// The name of the attribute to be set: /// /// /// /// /// /// /// /// /// /// /// Pointer to integer-vector values. /// // ALAPI ALvoid ALAPIENTRY alListeneriv(ALenum param, ALint* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alListeneriv(int attribute, [In] ref int values); #endregion alListeneriv(int attribute, [In] ref int values) #region alQueuei(int source, int attribute, int val) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alQueuei(ALuint sid, ALenum param, ALint value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alQueuei(int source, int attribute, int val); #endregion alQueuei(int source, int attribute, int val) #region alSource3f(int source, int attribute, float value1, float value2, float value3) /// /// Sets a source property requiring three floating-point values. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// The float values which the attribute will be set to. /// /// /// This function is an alternative to . /// // ALAPI ALvoid ALAPIENTRY alSource3f(ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSource3f(int source, int attribute, float value1, float value2, float value3); #endregion alSource3f(int source, int attribute, float value1, float value2, float value3) #region alSourcef(int source, int attribute, float val) /// /// Sets a floating-point property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// The value to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourcef(ALuint source, ALenum param, ALfloat value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcef(int source, int attribute, float val); #endregion alSourcef(int source, int attribute, float val) #region alSourcefv(int source, int attribute, [In] ref float values) /// /// Sets a floating-point vector property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute being set: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcefv(int source, int attribute, [In] ref float values); #endregion alSourcefv(int source, int attribute, float[] values) #region alSourcefv(int source, int attribute, [In] float[] values) /// /// Sets a floating-point vector property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute being set: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcefv(int source, int attribute, [In] float[] values); #endregion alSourcefv(int source, int attribute, [In] float[] values) #region alSourcefv(int source, int attribute, [In] IntPtr values) /// /// Sets a floating-point vector property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute being set: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcefv(int source, int attribute, [In] IntPtr values); #endregion alSourcefv(int source, int attribute, [In] IntPtr values) #region alSourcefv(int source, int attribute, [In] float *values) /// /// Sets a floating-point vector property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute being set: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourcefv(int source, int attribute, [In] float* values); #endregion alSourcefv(int source, int attribute, [In] float *values) #region alSourcei(int source, int attribute, int val) /// /// Sets an integer property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// /// /// /// /// The value to set the attribute to. /// /// /// The buffer name zero is reserved as a Null Buffer" and is accepted by /// alSourcei(, Al.AL_BUFFER, ) as a valid buffer of zero length. /// // ALAPI ALvoid ALAPIENTRY alSourcei(ALuint source, ALenum param, ALint value); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcei(int source, int attribute, int val); #endregion alSourcei(int source, int attribute, int val) #region alSourceiv(int source, int attribute, [In] int *values) /// /// Sets a integer-vector property of a source. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute being set: /// /// /// /// /// /// /// /// /// /// /// A pointer to the vector to set the attribute to. /// // ALAPI ALvoid ALAPIENTRY alSourceiv(ALuint source, ALenum param, ALint* values); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourceiv(int source, int attribute, [In] int* values); #endregion alSourceiv(int source, int attribute, [In] int *values) #region alSource3i(int source, int attribute, int value1, int value2, int value3) /// /// Sets a source property requiring three integer values. /// /// /// Source name whose attribute is being set. /// /// /// /// The name of the attribute to set: /// /// /// /// /// /// /// /// /// /// /// The int values which the attribute will be set to. /// /// /// The int values which the attribute will be set to. /// /// /// The int values which the attribute will be set to. /// /// /// This function is an alternative to . /// // ALAPI ALvoid ALAPIENTRY alSource3i(ALuint source, ALenum param, ALint v1, ALint v2, ALint v3); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSource3i(int source, int attribute, int value1, int value2, int value3); #endregion void alSource3i(int source, int attribute, int value1, int value2, int value3) #region alSourcePause(int source) /// /// Pauses a source. /// /// /// The name of the source to be paused. /// /// /// The paused source will have its state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePause(ALuint source); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePause(int source); #endregion alSourcePause(int source) #region alSourcePausev(int number, [In] ref int source) /// /// Pauses a set of sources. /// /// /// The number of sources to be paused. /// /// /// A pointer to an array of sources to be paused. /// /// /// The paused sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePausev(int number, [In] ref int source); #endregion alSourcePausev(int number, [In] ref int source) #region alSourcePausev(int number, [In] int[] sources) /// /// Pauses a set of sources. /// /// /// The number of sources to be paused. /// /// /// A pointer to an array of sources to be paused. /// /// /// The paused sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePausev(int number, [In] int[] sources); #endregion alSourcePausev(int number, [In] int[] sources) #region alSourcePausev(int number, [In] IntPtr sources) /// /// Pauses a set of sources. /// /// /// The number of sources to be paused. /// /// /// A pointer to an array of sources to be paused. /// /// /// The paused sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePausev(int number, [In] IntPtr sources); #endregion alSourcePausev(int number, [In] IntPtr sources) #region alSourcePausev(int number, [In] int *sources) /// /// Pauses a set of sources. /// /// /// The number of sources to be paused. /// /// /// A pointer to an array of sources to be paused. /// /// /// The paused sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourcePausev(int number, [In] int* sources); #endregion alSourcePausev(int number, [In] int *sources) #region alSourcePlay(int source) /// /// Plays a source. /// /// /// The name of the source to be played. /// /// /// The playing source will have its state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePlay(ALuint source); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePlay(int source); #endregion alSourcePlay(int source) #region alSourcePlayv(int number, [In] ref int source) /// /// Plays a set of sources. /// /// /// The number of sources to be played. /// /// /// A pointer to an array of sources to be played. /// /// /// The playing sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePlayv(int number, [In] ref int source); #endregion alSourcePlayv(int number, [In] ref int source) #region alSourcePlayv(int number, [In] int[] sources) /// /// Plays a set of sources. /// /// /// The number of sources to be played. /// /// /// A pointer to an array of sources to be played. /// /// /// The playing sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePlayv(int number, [In] int[] sources); #endregion alSourcePlayv(int number, [In] int[] sources) #region alSourcePlayv(int number, [In] IntPtr sources) /// /// Plays a set of sources. /// /// /// The number of sources to be played. /// /// /// A pointer to an array of sources to be played. /// /// /// The playing sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourcePlayv(int number, [In] IntPtr sources); #endregion alSourcePlayv(int number, [In] IntPtr sources) #region alSourcePlayv(int number, [In] int *sources) /// /// Plays a set of sources. /// /// /// The number of sources to be played. /// /// /// A pointer to an array of sources to be played. /// /// /// The playing sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourcePlayv(int number, [In] int* sources); #endregion alSourcePlayv(int number, [In] int *sources) #region alSourceQueueBuffers(int source, int number, [In] ref int buffer) /// /// Queues a set of buffers on a source. /// /// /// The name of the source to queue buffers onto. /// /// /// The number of buffers to be queued. /// /// /// A pointer to an array of buffer names to be queued. /// // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceQueueBuffers(int source, int number, [In] ref int buffer); #endregion alSourceQueueBuffers(int source, int number, [In] ref int buffer) #region alSourceQueueBuffers(int source, int number, [In] int[] buffers) /// /// Queues a set of buffers on a source. /// /// /// The name of the source to queue buffers onto. /// /// /// The number of buffers to be queued. /// /// /// A pointer to an array of buffer names to be queued. /// // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceQueueBuffers(int source, int number, [In] int[] buffers); #endregion alSourceQueueBuffers(int source, int number, [In] int[] buffers) #region alSourceQueueBuffers(int source, int number, [In] IntPtr buffers) /// /// Queues a set of buffers on a source. /// /// /// The name of the source to queue buffers onto. /// /// /// The number of buffers to be queued. /// /// /// A pointer to an array of buffer names to be queued. /// // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceQueueBuffers(int source, int number, [In] IntPtr buffers); #endregion alSourceQueueBuffers(int source, int number, [In] IntPtr buffers) #region alSourceQueueBuffers(int source, int number, [In] int *buffers) /// /// Queues a set of buffers on a source. /// /// /// The name of the source to queue buffers onto. /// /// /// The number of buffers to be queued. /// /// /// A pointer to an array of buffer names to be queued. /// // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourceQueueBuffers(int source, int number, [In] int* buffers); #endregion alSourceQueueBuffers(int source, int number, [In] int *buffers) #region alSourceRewind(int source) /// /// Stops the source and sets its state to . /// /// /// The name of the source to be rewound. /// // ALAPI ALvoid ALAPIENTRY alSourceRewind(ALuint source); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceRewind(int source); #endregion alSourceRewind(int source) #region alSourceRewindv(int number, [In] ref int source) /// /// Stops a set of sources and sets all their states to . /// /// /// The number of sources to be rewound. /// /// /// A pointer to an array of sources to be rewound. /// // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceRewindv(int number, [In] ref int source); #endregion alSourceRewindv(int number, [In] ref int source) #region alSourceRewindv(int number, [In] int[] sources) /// /// Stops a set of sources and sets all their states to . /// /// /// The number of sources to be rewound. /// /// /// A pointer to an array of sources to be rewound. /// // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceRewindv(int number, [In] int[] sources); #endregion alSourceRewindv(int number, [In] int[] sources) #region alSourceRewindv(int number, [In] IntPtr sources) /// /// Stops a set of sources and sets all their states to . /// /// /// The number of sources to be rewound. /// /// /// A pointer to an array of sources to be rewound. /// // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceRewindv(int number, [In] IntPtr sources); #endregion alSourceRewindv(int number, [In] IntPtr sources) #region alSourceRewindv(int number, [In] int *sources) /// /// Stops a set of sources and sets all their states to . /// /// /// The number of sources to be rewound. /// /// /// A pointer to an array of sources to be rewound. /// // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourceRewindv(int number, [In] int* sources); #endregion alSourceRewindv(int number, [In] int *sources) #region alSourceStop(int source) /// /// Stops a source. /// /// /// The name of the source to be stopped. /// /// /// The stopped source will have its state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourceStop(ALuint source); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceStop(int source); #endregion alSourceStop(int source) #region alSourceStopv(int number, [In] ref int source) /// /// Stops a set of sources. /// /// /// The number of sources to stop. /// /// /// A pointer to an array of sources to be stopped. /// /// /// The stopped sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceStopv(int number, [In] ref int source); #endregion alSourceStopv(int number, [In] ref int source) #region alSourceStopv(int number, [In] int[] sources) /// /// Stops a set of sources. /// /// /// The number of sources to stop. /// /// /// A pointer to an array of sources to be stopped. /// /// /// The stopped sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceStopv(int number, [In] int[] sources); #endregion alSourceStopv(int number, [In] int[] sources) #region alSourceStopv(int number, [In] IntPtr sources) /// /// Stops a set of sources. /// /// /// The number of sources to stop. /// /// /// A pointer to an array of sources to be stopped. /// /// /// The stopped sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceStopv(int number, [In] IntPtr sources); #endregion alSourceStopv(int number, [In] IntPtr sources) #region alSourceStopv(int number, [In] int *sources) /// /// Stops a set of sources. /// /// /// The number of sources to stop. /// /// /// A pointer to an array of sources to be stopped. /// /// /// The stopped sources will have their state changed to . /// // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourceStopv(int number, [In] int* sources); #endregion alSourceStopv(int number, [In] int *sources) #region alSourceUnqueueBuffers(int source, int number, [In] ref int buffer) /// /// Unqueues a set of buffers attached to a source. /// /// /// The name of the source to unqueue buffers from. /// /// /// The number of buffers to be unqueued. /// /// /// A pointer to an array of buffer names that were removed. /// /// /// The unqueue operation will only take place if all number buffers can be /// removed from the queue. /// // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceUnqueueBuffers(int source, int number, [In] ref int buffer); #endregion alSourceUnqueueBuffers(int source, int number, [In] ref int buffer) #region alSourceUnqueueBuffers(int source, int number, [In] int[] buffers) /// /// Unqueues a set of buffers attached to a source. /// /// /// The name of the source to unqueue buffers from. /// /// /// The number of buffers to be unqueued. /// /// /// A pointer to an array of buffer names that were removed. /// /// /// The unqueue operation will only take place if all number buffers can be /// removed from the queue. /// // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceUnqueueBuffers(int source, int number, [In] int[] buffers); #endregion alSourceUnqueueBuffers(int source, int number, [In] int[] buffers) #region alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers) /// /// Unqueues a set of buffers attached to a source. /// /// /// The name of the source to unqueue buffers from. /// /// /// The number of buffers to be unqueued. /// /// /// A pointer to an array of buffer names that were removed. /// /// /// The unqueue operation will only take place if all number buffers can be /// removed from the queue. /// // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers); #endregion alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers) #region alSourceUnqueueBuffers(int source, int number, [In] int *buffers) /// /// Unqueues a set of buffers attached to a source. /// /// /// The name of the source to unqueue buffers from. /// /// /// The number of buffers to be unqueued. /// /// /// A pointer to an array of buffer names that were removed. /// /// /// The unqueue operation will only take place if all number buffers can be /// removed from the queue. /// // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alSourceUnqueueBuffers(int source, int number, [In] int* buffers); #endregion alSourceUnqueueBuffers(int source, int number, [In] int *buffers) #endregion Public OpenAL 1.1 Methods #region Public IASIG Methods #region int alGenEnvironmentIASIG(int number, out int environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGenEnvironmentIASIG(int number, out int environments); #endregion int alGenEnvironmentIASIG(int number, out int environments) #region int alGenEnvironmentIASIG(int number, [Out] int[] environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGenEnvironmentIASIG(int number, [Out] int[] environments); #endregion int alGenEnvironmentIASIG(int number, [Out] int[] environments) #region int alGenEnvironmentIASIG(int number, [Out] IntPtr environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alGenEnvironmentIASIG(int number, [Out] IntPtr environments); #endregion int alGenEnvironmentIASIG(int number, [Out] IntPtr environments) #region int alGenEnvironmentIASIG(int number, [Out] int *environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int alGenEnvironmentIASIG(int number, [Out] int* environments); #endregion int alGenEnvironmentIASIG(int number, [Out] int *environments) #region alDeleteEnvironmentIASIG(int number, [In] ref int environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteEnvironmentIASIG(int number, [In] ref int environments); #endregion alDeleteEnvironmentIASIG(int number, [In] ref int environments) #region alDeleteEnvironmentIASIG(int number, [In] int[] environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteEnvironmentIASIG(int number, [In] int[] environments); #endregion alDeleteEnvironmentIASIG(int number, [In] int[] environments) #region alDeleteEnvironmentIASIG(int number, [In] IntPtr environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alDeleteEnvironmentIASIG(int number, [In] IntPtr environments); #endregion alDeleteEnvironmentIASIG(int number, [In] IntPtr environments) #region alDeleteEnvironmentIASIG(int number, [In] int *environments) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alDeleteEnvironmentIASIG(int number, [In] int* environments); #endregion alDeleteEnvironmentIASIG(int number, [In] int *environments) #region int alIsEnvironmentIASIG(int environment) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI ALboolean ALAPIENTRY alIsEnvironmentIASIG( ALuint environ ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alIsEnvironmentIASIG(int environment); #endregion int alIsEnvironmentIASIG(int environment) #region alEnvironmentiIASIG(int environmentId, int attribute, int val) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alEnvironmentiIASIG( ALuint eid, ALenum param, ALint value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alEnvironmentiIASIG(int environmentId, int attribute, int val); #endregion alEnvironmentiIASIG(int environmentId, int attribute, int val) #region alEnvironmentfIASIG(int environmentId, int attribute, int val) /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// /// /// Unknown. /// // ALAPI void ALAPIENTRY alEnvironmentfIASIG( ALuint eid, ALenum param, ALuint value ); [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alEnvironmentfIASIG(int environmentId, int attribute, int val); #endregion alEnvironmentfIASIG(int environmentId, int attribute, int val) #endregion Public IASIG Methods #region Public OpenAL Extension Methods #region X-RAM Methods #region EAXSetBufferMode /// /// Sets the X-RAM mode for the specified buffers. /// /// /// The number of buffers to set. /// /// /// A pointer to an array of buffers to set. /// /// /// /// The X-RAM buffer mode for the specified buffers. /// /// /// /// /// /// /// /// /// [CLSCompliant(false)] public unsafe static void EAXSetBufferMode(int n, int* buffers, int mode) { Delegates.EAXSetBufferMode(n, buffers, mode); } /// /// Sets the X-RAM mode for the specified buffers. /// /// /// The number of buffers to set. /// /// /// An array of buffers to set, with minimum n elements. /// /// /// /// The X-RAM buffer mode for the specified buffers. /// /// /// /// /// /// /// /// /// public static void EAXSetBufferMode(int n, int[] buffers, int mode) { unsafe { fixed (int* ptr = buffers) { Delegates.EAXSetBufferMode(n, ptr, mode); } } } /// /// Sets the X-RAM mode for the specified buffers. /// /// /// The number of buffers to set. /// /// /// A pointer to an array of buffers to set. /// /// /// /// The X-RAM buffer mode for the specified buffers. /// /// /// /// /// /// /// /// /// public static void EAXSetBufferMode(int n, ref int buffers, int mode) { unsafe { fixed (int* ptr = &buffers) { Delegates.EAXSetBufferMode(n, ptr, mode); } } } #endregion EAXSetBufferMode #region EAXGetBufferMode /// /// Gets the X-RAM mode for the specified buffer. /// /// /// Buffer to retreive the property for. /// /// /// Not used yet. /// /// /// /// One of the following values: /// /// /// /// /// /// /// /// /// [CLSCompliant(false)] public unsafe static int EAXGetBufferMode(int buffer, int* reserved) { return Delegates.EAXGetBufferMode(buffer, reserved); } /// /// Gets the X-RAM mode for the specified buffer. /// /// /// Buffer to retreive the property for. /// /// /// Not used yet. /// /// /// /// One of the following values: /// /// /// /// /// /// /// /// /// public static int EAXGetBufferMode(int buffer, int[] reserved) { unsafe { fixed (int* ptr = reserved) { return Delegates.EAXGetBufferMode(buffer, ptr); } } } /// /// Gets the X-RAM mode for the specified buffer. /// /// /// Buffer to retreive the property for. /// /// /// Not used yet. /// /// /// /// One of the following values: /// /// /// /// /// /// /// /// /// public static int EAXGetBufferMode(int buffer, ref int reserved) { unsafe { fixed (int* ptr = &reserved) { return Delegates.EAXGetBufferMode(buffer, ptr); } } } #endregion EAXGetBufferMode #endregion X-RAM Methods #region EFX_EXT Methods #region alEffect public static void alGenEffects(int size, int[] effects) { unsafe { fixed (int* ptr = &effects[0]) { Delegates.alGenEffects(size, ptr); } } } public static void alGenEffects(int size, out int effect) { unsafe { fixed (int* ptr = &effect) { Delegates.alGenEffects(size, ptr); } } } public static void alDeleteEffects(int size, int[] effects) { unsafe { fixed (int* ptr = &effects[0]) { Delegates.alDeleteEffects(size, ptr); } } } public static void alDeleteEffects(int size, int effect) { unsafe { Delegates.alDeleteEffects(size, &effect); } } public static bool alIsEffect(int effect) { return Delegates.alIsEffect(effect); } public static void alEffecti(int effect, int param, int value) { Delegates.alEffecti(effect, param, value); } public static void alEffectiv(int effect, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alEffectiv(effect, param, ptr); } } } public static void alEffectf(int effect, int param, float value) { Delegates.alEffectf(effect, param, value); } public static void alEffectfv(int effect, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alEffectfv(effect, param, ptr); } } } public static void alGetEffecti(int effect, int param, out int value) { unsafe { fixed (int* ptr = &value) { Delegates.alGetEffecti(effect, param, ptr); } } } public static void alGetEffectiv(int effect, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alGetEffectiv(effect, param, ptr); } } } public static void alGetEffectf(int effect, int param, out float value) { unsafe { fixed (float* ptr = &value) { Delegates.alGetEffectf(effect, param, ptr); } } } public static void alGetEffectfv(int effect, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alGetEffectfv(effect, param, ptr); } } } #endregion #region alFilter public static void alGenFilters(int size, int[] Filters) { unsafe { fixed (int* ptr = &Filters[0]) { Delegates.alGenFilters(size, ptr); } } } public static void alGenFilters(int size, out int Filter) { unsafe { fixed (int* ptr = &Filter) { Delegates.alGenFilters(size, ptr); } } } public static void alDeleteFilters(int size, int[] Filters) { unsafe { fixed (int* ptr = &Filters[0]) { Delegates.alDeleteFilters(size, ptr); } } } public static void alDeleteFilters(int size, int Filter) { unsafe { Delegates.alDeleteFilters(size, &Filter); } } public static bool alIsFilter(int Filter) { return Delegates.alIsFilter(Filter); } public static void alFilteri(int Filter, int param, int value) { Delegates.alFilteri(Filter, param, value); } public static void alFilteriv(int Filter, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alFilteriv(Filter, param, ptr); } } } public static void alFilterf(int Filter, int param, float value) { Delegates.alFilterf(Filter, param, value); } public static void alFilterfv(int Filter, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alFilterfv(Filter, param, ptr); } } } public static void alGetFilteri(int Filter, int param, out int value) { unsafe { fixed (int* ptr = &value) { Delegates.alGetFilteri(Filter, param, ptr); } } } public static void alGetFilteriv(int Filter, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alGetFilteriv(Filter, param, ptr); } } } public static void alGetFilterf(int Filter, int param, out float value) { unsafe { fixed (float* ptr = &value) { Delegates.alGetFilterf(Filter, param, ptr); } } } public static void alGetFilterfv(int Filter, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alGetFilterfv(Filter, param, ptr); } } } #endregion #region alAuxiliaryEffectSlot public static void alGenAuxiliaryEffectSlots(int size, int[] AuxiliaryEffectSlots) { unsafe { fixed (int* ptr = &AuxiliaryEffectSlots[0]) { Delegates.alGenAuxiliaryEffectSlots(size, ptr); } } } public static void alGenAuxiliaryEffectSlots(int size, out int AuxiliaryEffectSlot) { unsafe { fixed (int* ptr = &AuxiliaryEffectSlot) { Delegates.alGenAuxiliaryEffectSlots(size, ptr); } } } public static void alDeleteAuxiliaryEffectSlots(int size, int[] AuxiliaryEffectSlots) { unsafe { fixed (int* ptr = &AuxiliaryEffectSlots[0]) { Delegates.alDeleteAuxiliaryEffectSlots(size, ptr); } } } public static void alDeleteAuxiliaryEffectSlots(int size, int AuxiliaryEffectSlot) { unsafe { Delegates.alDeleteAuxiliaryEffectSlots(size, &AuxiliaryEffectSlot); } } public static bool alIsAuxiliaryEffectSlot(int AuxiliaryEffectSlot) { return Delegates.alIsAuxiliaryEffectSlot(AuxiliaryEffectSlot); } public static void alAuxiliaryEffectSloti(int AuxiliaryEffectSlot, int param, int value) { Delegates.alAuxiliaryEffectSloti(AuxiliaryEffectSlot, param, value); } public static void alAuxiliaryEffectSlotiv(int AuxiliaryEffectSlot, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alAuxiliaryEffectSlotiv(AuxiliaryEffectSlot, param, ptr); } } } public static void alAuxiliaryEffectSlotf(int AuxiliaryEffectSlot, int param, float value) { Delegates.alAuxiliaryEffectSlotf(AuxiliaryEffectSlot, param, value); } public static void alAuxiliaryEffectSlotfv(int AuxiliaryEffectSlot, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alAuxiliaryEffectSlotfv(AuxiliaryEffectSlot, param, ptr); } } } public static void alGetAuxiliaryEffectSloti(int AuxiliaryEffectSlot, int param, out int value) { unsafe { fixed (int* ptr = &value) { Delegates.alGetAuxiliaryEffectSloti(AuxiliaryEffectSlot, param, ptr); } } } public static void alGetAuxiliaryEffectSlotiv(int AuxiliaryEffectSlot, int param, int[] value) { unsafe { fixed (int* ptr = &value[0]) { Delegates.alGetAuxiliaryEffectSlotiv(AuxiliaryEffectSlot, param, ptr); } } } public static void alGetAuxiliaryEffectSlotf(int AuxiliaryEffectSlot, int param, out float value) { unsafe { fixed (float* ptr = &value) { Delegates.alGetAuxiliaryEffectSlotf(AuxiliaryEffectSlot, param, ptr); } } } public static void alGetAuxiliaryEffectSlotfv(int AuxiliaryEffectSlot, int param, float[] value) { unsafe { fixed (float* ptr = &value[0]) { Delegates.alGetAuxiliaryEffectSlotfv(AuxiliaryEffectSlot, param, ptr); } } } #endregion #endregion #endregion Public OpenAL Extension Methods #region Public Delegates /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALENABLEDelegate(int capability); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDISABLEDelegate(int capability); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALISENABLEDDelegate(int capability); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate string LPALGETSTRINGDelegate(int param); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBOOLEANVDelegate(int param, out int data); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETINTEGERVDelegate(int param, out int data); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETFLOATVDelegate(int param, out float data); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETDOUBLEVDelegate(int param, out double data); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALGETBOOLEANDelegate(int param); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALGETINTEGERDelegate(int param); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate float LPALGETFLOATDelegate(int param); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate double LPALGETDOUBLEDelegate(int param); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALGETERRORDelegate(); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALISEXTENSIONPRESENTDelegate(string extname); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALGETPROCADDRESSDelegate(string fname); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALGETENUMVALUEDelegate(string ename); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENERFDelegate(int param, float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENER3FDelegate(int param, float value1, float value2, float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENERFVDelegate(int param, [In] ref float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENERIDelegate(int param, int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENER3IDelegate(int param, int value1, int value2, int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALLISTENERIVDelegate(int param, [In] ref int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENERFDelegate(int param, out float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENER3FDelegate(int param, out float value1, out float value2, out float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENERFVDelegate(int param, out float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENERIDelegate(int param, out int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENER3IDelegate(int param, out int value1, out int value2, out int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETLISTENERIVDelegate(int param, out int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGENSOURCESDelegate(int n, out int sources); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDELETESOURCESDelegate(int n, out int sources); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALISSOURCEDelegate(int sid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEFDelegate(int sid, int param, float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCE3FDelegate(int sid, int param, float value1, float value2, float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEFVDelegate(int sid, int param, out float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEIDelegate(int sid, int param, int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCE3IDelegate(int sid, int param, int value1, int value2, int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEIVDelegate(int sid, int param, out int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCEFDelegate(int sid, int param, out float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCE3FDelegate(int sid, int param, out float value1, out float value2, out float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCEFVDelegate(int sid, int param, out float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCEIDelegate(int sid, int param, out int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCE3IDelegate(int sid, int param, out int value1, out int value2, out int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETSOURCEIVDelegate(int sid, int param, out int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEPLAYVDelegate(int ns, out int sids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCESTOPVDelegate(int ns, out int sids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEREWINDVDelegate(int ns, out int sids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEPAUSEVDelegate(int ns, out int sids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEPLAYDelegate(int sid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCESTOPDelegate(int sid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEREWINDDelegate(int sid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEPAUSEDelegate(int sid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEQUEUEBUFFERSDelegate(int sid, int numEntries, out int bids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSOURCEUNQUEUEBUFFERSDelegate(int sid, int numEntries, out int bids); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGENBUFFERSDelegate(int n, out int buffers); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDELETEBUFFERSDelegate(int n, out int buffers); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALISBUFFERDelegate(int bid); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFERDATADelegate(int bid, int format, IntPtr data, int size, int freq); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFERFDelegate(int bid, int param, float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFER3FDelegate(int bid, int param, float value1, float value2, float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFERFVDelegate(int bid, int param, out float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFERIDelegate(int bid, int param, int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFER3IDelegate(int bid, int param, int value1, int value2, int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALBUFFERIVDelegate(int bid, int param, out int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFERFDelegate(int bid, int param, out float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFER3FDelegate(int bid, int param, out float value1, out float value2, out float value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFERFVDelegate(int bid, int param, out float values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFERIDelegate(int bid, int param, out int val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFER3IDelegate(int bid, int param, out int value1, out int value2, out int value3); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALGETBUFFERIVDelegate(int bid, int param, out int values); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDOPPLERFACTORDelegate(float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDOPPLERVELOCITYDelegate(float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALSPEEDOFSOUNDDelegate(float val); /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALDISTANCEMODELDelegate(int distanceModel); #endregion Public Delegates #region Extension Support /// /// Reloads OpenAL extension functions. /// /// /// /// Call this function to reload context-dependent extension OpenAL entry points. This should be done /// whenever you change the current OpenAL context, or in the case you cannot (or do not want) /// to use the automatic initialisation. /// /// /// Calling this function before the automatic initialisation has taken place will result /// in the Al class being initialised twice. This is harmless, but, given the choice, /// the automatic initialisation should be preferred. /// /// public static void ReloadFunctions() { Assembly asm = Assembly.Load("Tao.OpenAl"); Type delegates_class = asm.GetType("Tao.OpenAl.Delegates"); FieldInfo[] v = delegates_class.GetFields(); foreach (FieldInfo f in v) { f.SetValue(null, Delegates.GetDelegateForExtensionMethod(f.Name, f.FieldType)); } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenAl/ALDelegates.cs0000664000175000017500000004036511453131430023164 0ustar laneylaney#region License /* MIT License Copyright ©2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License namespace Tao.OpenAl { using System; using System.Runtime.InteropServices; [Obsolete] internal static class Delegates { static Delegates() { } /// /// Creates a System.Delegate that can be used to call a dynamically exported OpenAL function. /// /// The function string for the OpenAL function /// The signature of the OpenAL function. /// /// A System.Delegate that can be used to call this OpenAL function or null /// if the function is not available in the current OpenAL context. /// public static Delegate GetDelegateForExtensionMethod(string name, Type signature) { IntPtr address = Al.alGetProcAddress(name); if (address == IntPtr.Zero) { return null; } else { return Marshal.GetDelegateForFunctionPointer(address, signature); } } #region X-RAM [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EAXSetBufferModeDelegate(int n, [Out] int* buffers, int value); internal static EAXSetBufferModeDelegate EAXSetBufferMode = (EAXSetBufferModeDelegate)GetDelegateForExtensionMethod("EAXSetBufferMode", typeof(EAXSetBufferModeDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate int EAXGetBufferModeDelegate(int buffer, [Out] int* reserved); internal static EAXGetBufferModeDelegate EAXGetBufferMode = (EAXGetBufferModeDelegate)GetDelegateForExtensionMethod("EAXGetBufferMode", typeof(EAXGetBufferModeDelegate)); #endregion #region EFX_EXT #region alEffect [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGenEffectsDelegate(int size, [Out] int* effects); internal static alGenEffectsDelegate alGenEffects = (alGenEffectsDelegate)GetDelegateForExtensionMethod("alGenEffects", typeof(alGenEffectsDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alDeleteEffectsDelegate(int size, int* effects); internal static alDeleteEffectsDelegate alDeleteEffects = (alDeleteEffectsDelegate)GetDelegateForExtensionMethod("alDeleteEffects", typeof(alDeleteEffectsDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool alIsEffectDelegate(int effect); internal static alIsEffectDelegate alIsEffect = (alIsEffectDelegate)GetDelegateForExtensionMethod("alIsEffect", typeof(alIsEffectDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alEffectiDelegate(int effect, int param, int value); internal static alEffectiDelegate alEffecti = (alEffectiDelegate)GetDelegateForExtensionMethod("alEffecti", typeof(alEffectiDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alEffectivDelegate(int effect, int param, int* value); internal static alEffectivDelegate alEffectiv = (alEffectivDelegate)GetDelegateForExtensionMethod("alEffectiv", typeof(alEffectivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alEffectfDelegate(int effect, int param, float value); internal static alEffectfDelegate alEffectf = (alEffectfDelegate)GetDelegateForExtensionMethod("alEffectf", typeof(alEffectfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alEffectfvDelegate(int effect, int param, float* value); internal static alEffectfvDelegate alEffectfv = (alEffectfvDelegate)GetDelegateForExtensionMethod("alEffectfv", typeof(alEffectfvDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetEffectiDelegate(int effect, int param, [Out] int* value); internal static alGetEffectiDelegate alGetEffecti = (alGetEffectiDelegate)GetDelegateForExtensionMethod("alGetEffecti", typeof(alGetEffectiDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetEffectivDelegate(int effect, int param, [Out] int* value); internal static alGetEffectivDelegate alGetEffectiv = (alGetEffectivDelegate)GetDelegateForExtensionMethod("alGetEffectiv", typeof(alGetEffectivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetEffectfDelegate(int effect, int param, [Out] float* value); internal static alGetEffectfDelegate alGetEffectf = (alGetEffectfDelegate)GetDelegateForExtensionMethod("alGetEffectf", typeof(alGetEffectfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetEffectfvDelegate(int effect, int param, [Out] float* value); internal static alGetEffectfvDelegate alGetEffectfv = (alGetEffectfvDelegate)GetDelegateForExtensionMethod("alGetEffectfv", typeof(alGetEffectfvDelegate)); #endregion #region alFilter [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGenFiltersDelegate(int size, [Out] int* Filters); internal static alGenFiltersDelegate alGenFilters = (alGenFiltersDelegate)GetDelegateForExtensionMethod("alGenFilters", typeof(alGenFiltersDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alDeleteFiltersDelegate(int size, int* Filters); internal static alDeleteFiltersDelegate alDeleteFilters = (alDeleteFiltersDelegate)GetDelegateForExtensionMethod("alDeleteFilters", typeof(alDeleteFiltersDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool alIsFilterDelegate(int Filter); internal static alIsFilterDelegate alIsFilter = (alIsFilterDelegate)GetDelegateForExtensionMethod("alIsFilter", typeof(alIsFilterDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alFilteriDelegate(int Filter, int param, int value); internal static alFilteriDelegate alFilteri = (alFilteriDelegate)GetDelegateForExtensionMethod("alFilteri", typeof(alFilteriDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alFilterivDelegate(int Filter, int param, int* value); internal static alFilterivDelegate alFilteriv = (alFilterivDelegate)GetDelegateForExtensionMethod("alFilteriv", typeof(alFilterivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alFilterfDelegate(int Filter, int param, float value); internal static alFilterfDelegate alFilterf = (alFilterfDelegate)GetDelegateForExtensionMethod("alFilterf", typeof(alFilterfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alFilterfvDelegate(int Filter, int param, float* value); internal static alFilterfvDelegate alFilterfv = (alFilterfvDelegate)GetDelegateForExtensionMethod("alFilterfv", typeof(alFilterfvDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetFilteriDelegate(int Filter, int param, [Out] int* value); internal static alGetFilteriDelegate alGetFilteri = (alGetFilteriDelegate)GetDelegateForExtensionMethod("alGetFilteri", typeof(alGetFilteriDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetFilterivDelegate(int Filter, int param, [Out] int* value); internal static alGetFilterivDelegate alGetFilteriv = (alGetFilterivDelegate)GetDelegateForExtensionMethod("alGetFilteriv", typeof(alGetFilterivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetFilterfDelegate(int Filter, int param, [Out] float* value); internal static alGetFilterfDelegate alGetFilterf = (alGetFilterfDelegate)GetDelegateForExtensionMethod("alGetFilterf", typeof(alGetFilterfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetFilterfvDelegate(int Filter, int param, [Out] float* value); internal static alGetFilterfvDelegate alGetFilterfv = (alGetFilterfvDelegate)GetDelegateForExtensionMethod("alGetFilterfv", typeof(alGetFilterfvDelegate)); #endregion #region alFilter [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGenAuxiliaryEffectSlotsDelegate(int size, [Out] int* AuxiliaryEffectSlots); internal static alGenAuxiliaryEffectSlotsDelegate alGenAuxiliaryEffectSlots = (alGenAuxiliaryEffectSlotsDelegate)GetDelegateForExtensionMethod("alGenAuxiliaryEffectSlots", typeof(alGenAuxiliaryEffectSlotsDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alDeleteAuxiliaryEffectSlotsDelegate(int size, int* AuxiliaryEffectSlots); internal static alDeleteAuxiliaryEffectSlotsDelegate alDeleteAuxiliaryEffectSlots = (alDeleteAuxiliaryEffectSlotsDelegate)GetDelegateForExtensionMethod("alDeleteAuxiliaryEffectSlots", typeof(alDeleteAuxiliaryEffectSlotsDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool alIsAuxiliaryEffectSlotDelegate(int AuxiliaryEffectSlot); internal static alIsAuxiliaryEffectSlotDelegate alIsAuxiliaryEffectSlot = (alIsAuxiliaryEffectSlotDelegate)GetDelegateForExtensionMethod("alIsAuxiliaryEffectSlot", typeof(alIsAuxiliaryEffectSlotDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alAuxiliaryEffectSlotiDelegate(int AuxiliaryEffectSlot, int param, int value); internal static alAuxiliaryEffectSlotiDelegate alAuxiliaryEffectSloti = (alAuxiliaryEffectSlotiDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSloti", typeof(alAuxiliaryEffectSlotiDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alAuxiliaryEffectSlotivDelegate(int AuxiliaryEffectSlot, int param, int* value); internal static alAuxiliaryEffectSlotivDelegate alAuxiliaryEffectSlotiv = (alAuxiliaryEffectSlotivDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotiv", typeof(alAuxiliaryEffectSlotivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void alAuxiliaryEffectSlotfDelegate(int AuxiliaryEffectSlot, int param, float value); internal static alAuxiliaryEffectSlotfDelegate alAuxiliaryEffectSlotf = (alAuxiliaryEffectSlotfDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotf", typeof(alAuxiliaryEffectSlotfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alAuxiliaryEffectSlotfvDelegate(int AuxiliaryEffectSlot, int param, float* value); internal static alAuxiliaryEffectSlotfvDelegate alAuxiliaryEffectSlotfv = (alAuxiliaryEffectSlotfvDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotfv", typeof(alAuxiliaryEffectSlotfvDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetAuxiliaryEffectSlotiDelegate(int AuxiliaryEffectSlot, int param, [Out] int* value); internal static alGetAuxiliaryEffectSlotiDelegate alGetAuxiliaryEffectSloti = (alGetAuxiliaryEffectSlotiDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSloti", typeof(alGetAuxiliaryEffectSlotiDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetAuxiliaryEffectSlotivDelegate(int AuxiliaryEffectSlot, int param, [Out] int* value); internal static alGetAuxiliaryEffectSlotivDelegate alGetAuxiliaryEffectSlotiv = (alGetAuxiliaryEffectSlotivDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotiv", typeof(alGetAuxiliaryEffectSlotivDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetAuxiliaryEffectSlotfDelegate(int AuxiliaryEffectSlot, int param, [Out] float* value); internal static alGetAuxiliaryEffectSlotfDelegate alGetAuxiliaryEffectSlotf = (alGetAuxiliaryEffectSlotfDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotf", typeof(alGetAuxiliaryEffectSlotfDelegate)); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void alGetAuxiliaryEffectSlotfvDelegate(int AuxiliaryEffectSlot, int param, [Out] float* value); internal static alGetAuxiliaryEffectSlotfvDelegate alGetAuxiliaryEffectSlotfv = (alGetAuxiliaryEffectSlotfvDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotfv", typeof(alGetAuxiliaryEffectSlotfvDelegate)); #endregion #endregion } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenAl/Alc.cs0000664000175000017500000012640411453131430021550 0ustar laneylaney#region License /* MIT License Copyright 2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License // Disable missing XML comment warnings #pragma warning disable 1591 using System; using System.Runtime.InteropServices; using System.Security; using System.Collections.Generic; using System.Text; namespace Tao.OpenAl { #region Class Documentation /// /// OpenAL binding for .NET, implementing ALC 1.1. /// /// /// Binds functions and definitions in OpenAL32.dll or libAL.so. /// #endregion Class Documentation [Obsolete("Use OpenTK.Audio.OpenAL instead.")] public static class Alc { // --- Fields --- #region Private Constants #region string ALC_NATIVE_LIBRARY /// /// Specifies OpenAl's native library archive. /// /// /// Specifies OpenAl32.dll everywhere; will be mapped via .config for mono. /// private const string ALC_NATIVE_LIBRARY = "OpenAL32.dll"; #endregion string ALC_NATIVE_LIBRARY #region CallingConvention CALLING_CONVENTION /// /// Specifies the calling convention. /// /// /// Specifies . /// private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl; #endregion CallingConvention CALLING_CONVENTION #endregion Private Constants #region Public OpenAL 1.1 Constants #region ALC_INVALID /// /// Bad value. /// // #define ALC_INVALID (0) public const int ALC_INVALID = (0); #endregion ALC_INVALID #region ALC_FALSE /// /// bool false. /// // #define ALC_FALSE 0 public const int ALC_FALSE = 0; #endregion ALC_FALSE #region ALC_TRUE /// /// bool true. /// // #define ALC_TRUE 1 public const int ALC_TRUE = 1; #endregion ALC_TRUE #region ALC_NO_ERROR /// /// No error. /// // #define ALC_NO_ERROR ALC_FALSE public const int ALC_NO_ERROR = ALC_FALSE; #endregion ALC_NO_ERROR #region ALC_MAJOR_VERSION /// /// Major version. /// // #define ALC_MAJOR_VERSION 0x1000 public const int ALC_MAJOR_VERSION = 0x1000; #endregion ALC_MAJOR_VERSION #region ALC_MINOR_VERSION /// /// Minor version. /// // #define ALC_MINOR_VERSION 0x1001 public const int ALC_MINOR_VERSION = 0x1001; #endregion ALC_MINOR_VERSION #region ALC_ATTRIBUTES_SIZE /// /// Attributes size. /// // #define ALC_ATTRIBUTES_SIZE 0x1002 public const int ALC_ATTRIBUTES_SIZE = 0x1002; #endregion ALC_ATTRIBUTES_SIZE #region ALC_ALL_ATTRIBUTES /// /// All attributes. /// // #define ALC_ALL_ATTRIBUTES 0x1003 public const int ALC_ALL_ATTRIBUTES = 0x1003; #endregion ALC_ALL_ATTRIBUTES #region ALC_CAPTURE_DEVICE_SPECIFIER /// /// Capture device specifier. /// // #define ALC_CAPTURE_DEVICE_SPECIFIER 0x310 public const int ALC_CAPTURE_DEVICE_SPECIFIER = 0x310; #endregion ALC_CAPTURE_DEVICE_SPECIFIER #region ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER /// /// Capture default device specifier. /// // #define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311 public const int ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311; #endregion ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER #region ALC_CAPTURE_SAMPLES /// /// Capture samples. /// // #define ALC_CAPTURE_SAMPLES 0x312 public const int ALC_CAPTURE_SAMPLES = 0x312; #endregion ALC_CAPTURE_SAMPLES #region ALC_DEFAULT_DEVICE_SPECIFIER /// /// Default device specifier. /// // #define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 public const int ALC_DEFAULT_DEVICE_SPECIFIER = 0x1004; #endregion ALC_DEFAULT_DEVICE_SPECIFIER #region ALC_DEVICE_SPECIFIER /// /// Device specifier. /// // #define ALC_DEVICE_SPECIFIER 0x1005 public const int ALC_DEVICE_SPECIFIER = 0x1005; #endregion ALC_DEVICE_SPECIFIER #region ALC_EXTENSIONS /// /// Extensions. /// // #define ALC_EXTENSIONS 0x1006 public const int ALC_EXTENSIONS = 0x1006; #endregion ALC_EXTENSIONS #region ALC_FREQUENCY /// /// Frequency. /// // #define ALC_FREQUENCY 0x1007 public const int ALC_FREQUENCY = 0x1007; #endregion ALC_FREQUENCY #region ALC_REFRESH /// /// Refresh. /// // #define ALC_REFRESH 0x1008 public const int ALC_REFRESH = 0x1008; #endregion ALC_REFRESH #region ALC_SYNC /// /// Sync. /// // #define ALC_SYNC 0x1009 public const int ALC_SYNC = 0x1009; #endregion ALC_SYNC #region ALC_MONO_SOURCES /// /// Num of requested Mono (3D) Sources /// // #define ALC_MONO_SOURCES 0x1010 public const int ALC_MONO_SOURCES = 0x1010; #endregion ALC_MONO_SOURCES #region ALC_STEREO_SOURCES /// /// Num of requested Stereo Sources /// // #define ALC_STEREO_SOURCES 0x1011 public const int ALC_STEREO_SOURCES = 0x1011; #endregion ALC_STEREO_SOURCES #region ALC_INVALID_DEVICE /// /// The device argument does not name a valid device. /// // #define ALC_INVALID_DEVICE 0xA001 public const int ALC_INVALID_DEVICE = 0xA001; #endregion ALC_INVALID_DEVICE #region ALC_INVALID_CONTEXT /// /// The context argument does not name a valid context. /// // #define ALC_INVALID_CONTEXT 0xA002 public const int ALC_INVALID_CONTEXT = 0xA002; #endregion ALC_INVALID_CONTEXT #region ALC_INVALID_ENUM /// /// A function was called at inappropriate time, or in an inappropriate way, causing /// an illegal state. This can be an incompatible value, object ID, and/or function. /// // #define ALC_INVALID_ENUM 0xA003 public const int ALC_INVALID_ENUM = 0xA003; #endregion ALC_INVALID_ENUM #region ALC_INVALID_VALUE /// /// Illegal value passed as an argument to an AL call. Applies to parameter values, /// but not to enumerations. /// // #define ALC_INVALID_VALUE 0xA004 public const int ALC_INVALID_VALUE = 0xA004; #endregion ALC_INVALID_VALUE #region ALC_OUT_OF_MEMORY /// /// A function could not be completed, because there is not enough memory available. /// // #define ALC_OUT_OF_MEMORY 0xA005 public const int ALC_OUT_OF_MEMORY = 0xA005; #endregion ALC_OUT_OF_MEMORY #region ALC_ENUMERATE_ALL_EXT public const int ALC_DEFAULT_ALL_DEVICES_SPECIFIER = 0x1012; public const int ALC_ALL_DEVICES_SPECIFIER = 0x1013; #endregion #region ALC_EFX_EXT public const string ALC_EXT_EFX_NAME = "ALC_EXT_EFX"; public const int ALC_EFX_MAJOR_VERSION = 0x20001; public const int ALC_EFX_MINOR_VERSION = 0x20002; public const int ALC_MAX_AUXILIARY_SENDS = 0x20003; #endregion #endregion Public OpenAL 1.0 Constants // --- Public Externs --- #region Public OpenAL 1.1 Methods #region alcCloseDevice([In] IntPtr device) /// /// Closes a device. /// /// /// A pointer to an opened device. /// // ALCAPI ALCvoid ALCAPIENTRY alcCloseDevice(ALCdevice *device); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcCloseDevice([In] IntPtr device); #endregion alcCloseDevice([In] IntPtr device) #region IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute) /// /// Creates a context using a specified device. /// /// /// A pointer to a device. /// /// /// /// A pointer to a set of attributes: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to the new context (IntPtr.Zero on failure). /// // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute); #endregion IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute) #region IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute) /// /// Creates a context using a specified device. /// /// /// A pointer to a device. /// /// /// /// A pointer to a set of attributes: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to the new context (IntPtr.Zero on failure). /// // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute); #endregion IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute) #region IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute) /// /// Creates a context using a specified device. /// /// /// A pointer to a device. /// /// /// /// A pointer to a set of attributes: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to the new context (IntPtr.Zero on failure). /// // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute); #endregion IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute) #region IntPtr alcCreateContext([In] IntPtr device, [In] int *attribute) /// /// Creates a context using a specified device. /// /// /// A pointer to a device. /// /// /// /// A pointer to a set of attributes: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to the new context (IntPtr.Zero on failure). /// // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern IntPtr alcCreateContext([In] IntPtr device, [In] int* attribute); #endregion IntPtr alcCreateContext([In] IntPtr device, [In] int *attribute) #region alcDestroyContext([In] IntPtr context) /// /// Destroys a context. /// /// /// Pointer to the context to be destroyed. /// // ALCAPI ALCvoid ALCAPIENTRY alcDestroyContext(ALCcontext *context); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcDestroyContext([In] IntPtr context); #endregion alcDestroyContext([In] IntPtr context) #region IntPtr alcGetContextsDevice([In] IntPtr context) /// /// Gets the device for a context. /// /// /// The context to query. /// /// /// A pointer to a device or IntPtr.Zero on failue. /// // ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcGetContextsDevice([In] IntPtr context); #endregion IntPtr alcGetContextsDevice([In] IntPtr context) #region IntPtr alcGetCurrentContext() /// /// Retrieves the current context. /// /// /// Returns a pointer to the current context or IntPtr.Zero on failure. /// // ALCAPI ALCcontext* ALCAPIENTRY alcGetCurrentContext(ALCvoid); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcGetCurrentContext(); #endregion IntPtr alcGetCurrentContext() #region int alcGetEnumValue([In] IntPtr device, string enumName) /// /// Retrieves the enum value for a specified enumeration name. /// /// /// The device to be queried. /// /// /// A null terminated string describing the enum value. /// /// /// Returns the enum value described by the enumName string. /// // ALCAPI ALCenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device, ALCubyte *enumName); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity] public static extern int alcGetEnumValue([In] IntPtr device, string enumName); #endregion int alcGetEnumValue([In] IntPtr device, string enumName) #region int alcGetError([In] IntPtr device) /// /// Retrieves the current context error state. /// /// /// The device to query. /// /// /// The current context error state will be returned. /// // ALCAPI ALCenum ALCAPIENTRY alcGetError(ALCdevice *device); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alcGetError([In] IntPtr device); #endregion int alcGetError([In] IntPtr device) #region alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data) /// /// Returns integers related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// The size of the destination buffer provided. /// /// /// A pointer to the data to be returned. /// // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data); #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data) #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data) /// /// Returns integers related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// The size of the destination buffer provided. /// /// /// A pointer to the data to be returned. /// // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data); #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data) #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data) /// /// Returns integers related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// The size of the destination buffer provided. /// /// /// A pointer to the data to be returned. /// // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data); #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data) #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int *data) /// /// Returns integers related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// /// The size of the destination buffer provided. /// /// /// A pointer to the data to be returned. /// // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int* data); #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int *data) #region IntPtr alcGetProcAddress([In] IntPtr device, string functionName) /// /// Retrieves the address of a specified context extension function. /// /// /// The device to be queried for the function. /// /// /// A null terminated string describing the function. /// /// /// Returns the address of the function, or IntPtr.Zero if it is not found. /// // ALCAPI ALCvoid* ALCAPIENTRY alcGetProcAddress(ALCdevice *device, ALCubyte *funcName); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcGetProcAddress([In] IntPtr device, string functionName); #endregion IntPtr alcGetProcAddress([In] IntPtr device, string functionName) #region string alcGetString([In] IntPtr device, int attribute) /// /// Returns strings related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to a string. /// // ALCAPI ALCubyte* ALCAPIENTRY alcGetString(ALCdevice *device, ALCenum param); //[DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi, EntryPoint = "alcGetString"), SuppressUnmanagedCodeSecurity] //public static extern string alcGetString([In] IntPtr device, int attribute); public static string alcGetString([In] IntPtr device, int attribute) { return Marshal.PtrToStringAnsi(alcGetStringInternal(device, attribute)); } [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi, EntryPoint = "alcGetString"), SuppressUnmanagedCodeSecurity] private static extern IntPtr alcGetStringInternal([In] IntPtr device, int attribute); /// /// Returns strings related to the context. /// /// /// The device to be queried. /// /// /// /// An attribute to be retrieved: /// /// /// /// /// /// /// /// /// /// /// Returns a pointer to a string. /// public static string[] alcGetStringv([In] IntPtr device, int attribute) { return GetStringArray(alcGetStringInternal(device, attribute)); } private static string[] GetStringArray(IntPtr ptr) { if (ptr == IntPtr.Zero) { return null; } List rv = new List(); StringBuilder builder = new StringBuilder(); for (int index = 0; ; index++) { char ch = (char)Marshal.ReadByte(ptr, index); if (ch == '\0') { if (builder.Length == 0) { break; } else { rv.Add(builder.ToString()); builder.Length = 0; } } else { builder.Append(ch); } } return rv.ToArray(); } #endregion string alcGetString([In] IntPtr device, int attribute) #region int alcIsExtensionPresent([In] IntPtr device, string extensionName) /// /// Queries if a specified context extension is available. /// /// /// The device to be queried for an extension. /// /// /// A null terminated string describing the extension. /// /// /// Returns if the extension is available, /// if the extension is not available. /// // ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device, ALCubyte *extName); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity] public static extern int alcIsExtensionPresent([In] IntPtr device, string extensionName); #endregion int alcIsExtensionPresent([In] IntPtr device, string extensionName) #region int alcMakeContextCurrent([In] IntPtr context) /// /// Makes a specified context the current context. /// /// /// Pointer to the new context. /// /// /// Returns an error code on failure. /// // ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent(ALCcontext *context); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alcMakeContextCurrent([In] IntPtr context); #endregion int alcMakeContextCurrent([In] IntPtr context) #region IntPtr alcOpenDevice(string deviceName) /// /// Opens a device by name. /// /// /// A null-terminated string describing a device. /// /// /// Returns a pointer to the opened device. /// // ALCAPI ALCdevice* ALCAPIENTRY alcOpenDevice(ALCubyte *deviceName); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcOpenDevice(string deviceName); #endregion IntPtr alcOpenDevice(string deviceName) #region alcProcessContext([In] IntPtr context) /// /// Tells a context to begin processing. /// /// /// Pointer to the new context. /// // ALCAPI ALCvoid ALCAPIENTRY alcProcessContext(ALCcontext *context); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcProcessContext([In] IntPtr context); #endregion alcProcessContext([In] IntPtr context) #region alcSuspendContext([In] IntPtr context) /// /// Suspends processing on a specified context. /// /// /// A pointer to the context to be suspended. /// // ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *context); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcSuspendContext([In] IntPtr context); #endregion alcSuspendContext([In] IntPtr context) #region IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize) /// /// /// /// /// The Open Device will be captured /// // ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize); #endregion IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize) #region int alcCaptureCloseDevice([In] IntPtr device) /// /// /// /// /// /// // ALC_API ALCboolean ALC_APIENTRY alcCaptureStart( ALCdevice *device ); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int alcCaptureCloseDevice([In] IntPtr device); #endregion int alcCaptureCloseDevice([In] IntPtr device) #region void alcCaptureStart([In] IntPtr device) /// /// /// /// /// /// // ALC_API ALCboolean ALC_APIENTRY alcCaptureStart( ALCdevice *device ); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcCaptureStart([In] IntPtr device); #endregion void alcCaptureStart([In] IntPtr device) #region void alcCaptureStop([In] IntPtr device) /// /// /// /// /// /// // ALC_API ALCboolean ALC_APIENTRY alcCaptureStop( ALCdevice *device ); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcCaptureStop([In] IntPtr device); #endregion void alcCaptureStop([In] IntPtr device) #region void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples) /// /// /// /// /// /// // ALC_API ALCboolean ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples); #endregion void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples) #endregion Public OpenAL 1.1 Methods #region Public OpenAL 1.1 Delegates #region IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist); #endregion IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist) #region int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context); #endregion int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context) #region void LPALCPROCESSCONTEXTDelegate([In] IntPtr context) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCPROCESSCONTEXTDelegate([In] IntPtr context); #endregion void LPALCPROCESSCONTEXTDelegate([In] IntPtr context) #region void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context); #endregion void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context) #region void LPALCDESTROYCONTEXTDelegate([In] IntPtr context) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCDESTROYCONTEXTDelegate([In] IntPtr context); #endregion void LPALCDESTROYCONTEXTDelegate([In] IntPtr context) #region IntPtr LPALCGETCURRENTECONTEXTDelegate() /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALCGETCURRENTECONTEXTDelegate(); #endregion IntPtr LPALCGETCURRENTECONTEXTDelegate() #region IntPtr LPALCCONTEXTSDEVICEDelegate([In] IntPtr context) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALCGETCONTEXTSDEVICEDelegate([In] IntPtr context); #endregion IntPtr LPALCGETCONTEXTSDEVICEDelegate([In] IntPtr context) #region IntPtr LPALCOPENDEVICEDelegate(string devicename) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALCOPENDEVICEDelegate(string devicename); #endregion IntPtr LPALCOPENDEVICEDelegate(string devicename) #region int LPALCCLOSEDEVICEDelegate([In] IntPtr device) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCCLOSEDEVICEDelegate([In] IntPtr device); #endregion int LPALCCLOSEDEVICEDelegate([In] IntPtr device) #region int LPALCCLOSEDEVICEDelegate([In] IntPtr device) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCGETERRORDelegate([In] IntPtr device); #endregion int LPALCCLOSEDEVICEDelegate([In] IntPtr device) #region int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname); #endregion int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname) #region IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname); #endregion IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname) #region int LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname); #endregion int LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname) #region string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname); #endregion string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname) #region void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data); #endregion void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data) #region void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize); #endregion void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize) #region int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device); #endregion int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device) #region void LPALCCAPTURESTARTDelegate([In] IntPtr device) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCCAPTURESTARTDelegate([In] IntPtr device); #endregion void LPALCCAPTURESTARTDelegate([In] IntPtr device) #region void LPALCCAPTURESTOPDelegate([In] IntPtr device) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCCAPTURESTOPDelegate([In] IntPtr device); #endregion void LPALCCAPTURESTOPDelegate([In] IntPtr device) #region void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples) /// /// /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples); #endregion void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples) #endregion Public OpenAL 1.1 Delegates } } opentk-1.0.20101006/Source/Compatibility/Tao/Platform/0000775000175000017500000000000011453142152021124 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/Platform/Windows/0000775000175000017500000000000011453142152022556 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.cs0000664000175000017500000003462111453131430027007 0ustar laneylaney#region License /* MIT License Copyright 2003-2006 Tao Framework Team http://www.taoframework.com Copyright 2009 the Open Toolkit library http://www.opentk.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.IO; using System.Reflection; using System.Runtime.InteropServices; using System.Windows.Forms; using OpenTK.Graphics.OpenGL; namespace Tao.Platform.Windows { /// /// Provides a simple OpenGL control allowing quick development of Windows.Forms-based /// OpenGL applications. Relies on OpenTK.GLControl for cross-platform compatibility. /// [Obsolete("Use OpenTK.GLControl instead.")] public partial class SimpleOpenGlControl : OpenTK.GLControl { #region Fields private bool autoCheckErrors = false; // Should we provide glGetError()? private bool autoFinish = false; // Should we provide a glFinish()? private bool autoMakeCurrent = true; // Should we automatically make the rendering context current? private bool autoSwapBuffers = true; // Should we automatically swap buffers? private byte accumBits = 0; // Accumulation buffer bits private byte colorBits = 32; // Color buffer bits private byte depthBits = 16; // Depth buffer bits private byte stencilBits = 0; // Stencil buffer bits private ErrorCode errorCode = ErrorCode.NoError; // The GL error code private int logScaleX = 96; // DPI Resolution in X dir private int logScaleY = 96; // DPI Resolution in Y dir #endregion #region Constructors #region SimpleOpenGlControl() /// /// Constructor. Creates contexts and sets properties. /// public SimpleOpenGlControl() { InitializeStyles(); InitializeComponent(); InitializeBackground(); } #endregion SimpleOpenGlControl() #endregion #region Public Members #region DestroyContexts() /// /// /// public void DestroyContexts() { Context.Dispose(); } #endregion DestroyContexts() #region Draw() /// /// Sends an see cref="UserControl.Invalidate" command to this control, thus /// forcing a redraw to occur. /// public void Draw() { this.Invalidate(); } #endregion Draw() #region InitializeContexts() /// /// Creates the OpenGL contexts. /// public void InitializeContexts() { // No need to do anything, handled by the GLControl. } #endregion InitializeContexts() #region LogScaleX /// /// Gets the number of logical pixels or dots per inch (dpi) in X-direction /// [Category("OpenGL Properties"), Description("Logical pixels per inch in X-direction.")] public int LogScaleX { get { return logScaleX; } } #endregion #region LogScaleY /// /// Gets the number of logical pixels or dots per inch (dpi) in Y-direction /// [Category("OpenGL Properties"), Description("Logical pixels per inch in Y-direction.")] public int LogScaleY { get { return logScaleY; } } #endregion #region AccumBits /// /// Gets and sets the OpenGL control's accumulation buffer depth. /// [Category("OpenGL Properties"), Description("Accumulation buffer depth in bits.")] public byte AccumBits { get { return accumBits; } set { accumBits = value; } } #endregion #region ColorBits /// /// Gets and sets the OpenGL control's color buffer depth. /// [Category("OpenGL Properties"), Description("Color buffer depth in bits.")] public byte ColorBits { get { return colorBits; } set { colorBits = value; } } #endregion #region DepthBits /// /// Gets and sets the OpenGL control's depth buffer (Z-buffer) depth. /// [Category("OpenGL Properties"), Description("Depth buffer (Z-buffer) depth in bits.")] public byte DepthBits { get { return depthBits; } set { depthBits = value; } } #endregion #region StencilBits /// /// Gets and sets the OpenGL control's stencil buffer depth. /// [Category("OpenGL Properties"), Description("Stencil buffer depth in bits.")] public byte StencilBits { get { return stencilBits; } set { stencilBits = value; } } #endregion #region AutoCheckErrors /// /// Gets and sets the OpenGL control's automatic sending of a glGetError command /// after drawing. /// [Category("OpenGL Properties"), Description("Automatically send a glGetError command after drawing?")] public bool AutoCheckErrors { get { return autoCheckErrors; } set { autoCheckErrors = value; } } #endregion #region AutoFinish /// /// Gets and sets the OpenGL control's automatic sending of a glFinish command /// after drawing. /// [Category("OpenGL Properties"), Description("Automatically send a glFinish command after drawing?")] public bool AutoFinish { get { return autoFinish; } set { autoFinish = value; } } #endregion #region AutoMakeCurrent /// /// Gets and sets the OpenGL control's automatic forcing of the rendering context to /// be current before drawing. /// [Category("OpenGL Properties"), Description("Automatically make the rendering context current before drawing?")] public bool AutoMakeCurrent { get { return autoMakeCurrent; } set { autoMakeCurrent = value; } } #endregion #region AutoSwapBuffers /// /// Gets and sets the OpenGL control's automatic sending of a SwapBuffers command /// after drawing. /// [Category("OpenGL Properties"), Description("Automatically send a SwapBuffers command after drawing?")] public bool AutoSwapBuffers { get { return autoSwapBuffers; } set { autoSwapBuffers = value; } } #endregion #endregion #region Protected Members #region OnPaint /// /// Paints the control. /// /// The paint event arguments. protected override void OnPaint(PaintEventArgs e) { if (this.DesignMode) { e.Graphics.Clear(this.BackColor); if (this.BackgroundImage != null) e.Graphics.DrawImage(this.BackgroundImage, this.ClientRectangle, 0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height, GraphicsUnit.Pixel); e.Graphics.Flush(); return; } if (autoMakeCurrent) { MakeCurrent(); } base.OnPaint(e); if (autoFinish) { GL.Finish(); } if (autoCheckErrors) { errorCode = GL.GetError(); if (errorCode != ErrorCode.NoError) { switch (errorCode) { case ErrorCode.InvalidEnum: MessageBox.Show("GL_INVALID_ENUM - An unacceptable value has been specified for an enumerated argument. The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; case ErrorCode.InvalidValue: MessageBox.Show("GL_INVALID_VALUE - A numeric argument is out of range. The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; case ErrorCode.InvalidOperation: MessageBox.Show("GL_INVALID_OPERATION - The specified operation is not allowed in the current state. The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; case ErrorCode.StackOverflow: MessageBox.Show("GL_STACK_OVERFLOW - This function would cause a stack overflow. The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; case ErrorCode.StackUnderflow: MessageBox.Show("GL_STACK_UNDERFLOW - This function would cause a stack underflow. The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; case ErrorCode.OutOfMemory: MessageBox.Show("GL_OUT_OF_MEMORY - There is not enough memory left to execute the function. The state of OpenGL has been left undefined.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; default: MessageBox.Show("Unknown GL error. This should never happen.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); break; } } } if (autoSwapBuffers) { SwapBuffers(); } } #endregion #region CreateParams /// /// Overrides the control's class style parameters. /// protected override CreateParams CreateParams { get { Int32 CS_VREDRAW = 0x1; Int32 CS_HREDRAW = 0x2; Int32 CS_OWNDC = 0x20; CreateParams cp = base.CreateParams; cp.ClassStyle = cp.ClassStyle | CS_VREDRAW | CS_HREDRAW | CS_OWNDC; return cp; } } #endregion #endregion #region Private Members #region InitializeBackground /// /// Loads the bitmap from the assembly's manifest resource. /// private void InitializeBackground() { try { this.BackgroundImage = OpenTK.Compatibility.Properties.Resources.TaoButton; } catch (Exception) { this.BackgroundImage = null; } } #endregion #region InitializeStyles /// /// Initializes the control's styles. /// private void InitializeStyles() { this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this.SetStyle(ControlStyles.DoubleBuffer, false); this.SetStyle(ControlStyles.Opaque, true); this.SetStyle(ControlStyles.ResizeRedraw, true); this.SetStyle(ControlStyles.UserPaint, true); } #endregion #endregion } }opentk-1.0.20101006/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.Designer.cs0000664000175000017500000000257611453131430030552 0ustar laneylaneynamespace Tao.Platform.Windows { partial class SimpleOpenGlControl { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.SuspendLayout(); // // NewGLControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Black; this.Name = "NewGLControl"; this.ResumeLayout(false); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.resx0000664000175000017500000001050411453131430027355 0ustar laneylaney text/microsoft-resx 1.3 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/0000775000175000017500000000000011453142152020524 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/GlHelper.cs0000664000175000017500000005616411453131430022566 0ustar laneylaney#region License /* MIT License Copyright 2003-2007 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License #region --- Using Directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Reflection; using System.Diagnostics; using System.Reflection.Emit; using System.IO; #endregion namespace Tao.OpenGl { /// /// OpenGL binding for .NET, implementing OpenGL 2.1, plus extensions. /// /// /// /// This class contains all OpenGL enums and functions defined in the 2.1 specification. /// The official .spec files can be found at: http://opengl.org/registry/. /// /// /// We rely on static initialization to obtain the entry points for OpenGL functions. /// Please ensure that a valid OpenGL context has been made current in the pertinent thread before /// any OpenGL functions are called (toolkits like GLUT, SDL or GLFW will automatically take care of /// the context initialization process). Without a valid OpenGL context, we will only be able /// to retrieve statically exported entry points (typically corresponding to OpenGL version 1.1 under Windows, /// 1.3 under Linux and 1.4 under Windows Vista), and extension methods will need to be loaded manually. /// /// /// If you prefer to have more control on extension loading, you can use the /// ReloadFunctions or ReloadFunction methods to manually force the initialisation of OpenGL entry points. /// The ReloadFunctions method should be called whenever you change an existing visual or pixelformat. This /// generally happens when you change the color/stencil/depth buffer associated with a window (but probably /// not the resolution). This may or may not be necessary under Linux/MacOS, but is generally required for /// Windows. /// /// /// You can use the Gl.IsExtensionSupported method to check whether any given category of extension functions /// exists in the current OpenGL context. The results can be cached to speed up future searches. /// Keep in mind that different OpenGL contexts may support different extensions, and under different entry /// points. Always check if all required extensions are still supported when changing visuals or pixel /// formats. /// /// /// You may retrieve the entry point for an OpenGL function using the Gl.GetDelegate method. /// /// /// /// /// /// /// /// [Obsolete("Use OpenTK.Graphics.OpenGL instead.")] public static partial class Gl { #region --- Fields --- static StringBuilder sb = new StringBuilder(); static object gl_lock = new object(); internal const string Library = "opengl32.dll"; //private static Dictionary AvailableExtensions = new Dictionary(); private static SortedList AvailableExtensions = new SortedList(); private static bool rebuildExtensionList; private static Type glClass; private static Type delegatesClass; private static Type importsClass; private static FieldInfo[] delegates; #endregion #region --- Static Constructor --- static Gl() { glClass = typeof(Gl); delegatesClass = glClass.GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic); importsClass = glClass.GetNestedType("Imports", BindingFlags.Static | BindingFlags.NonPublic); // 'Touch' Imports class to force initialization. We don't want anything yet, just to have // this class ready. if (Imports.FunctionMap != null) { } ReloadFunctions(); } #endregion #region --- Methods --- #region internal static partial class Imports /// /// Contains DllImports for the core OpenGL functions. /// internal static partial class Imports { /// /// Build a string->MethodInfo map to speed up extension loading. /// internal static SortedList FunctionMap; // This is faster than either Dictionary or SortedDictionary static Imports() { MethodInfo[] methods = importsClass.GetMethods(BindingFlags.Static | BindingFlags.NonPublic); FunctionMap = new SortedList(methods.Length); foreach (MethodInfo m in methods) FunctionMap.Add(m.Name, m); } } #endregion #region public static bool IsExtensionSupported(string name) /// /// Determines whether the specified OpenGL extension category is available in /// the current OpenGL context. Equivalent to IsExtensionSupported(name, true) /// /// The string for the OpenGL extension category (eg. "GL_ARB_multitexture") /// True if the specified extension is available, false otherwise. public static bool IsExtensionSupported(string name) { if (rebuildExtensionList) BuildExtensionList(); lock (gl_lock) { sb.Remove(0, sb.Length); if (!name.StartsWith("GL_")) sb.Append("gl_"); sb.Append(name.ToLower()); // Search the cache for the string. return AvailableExtensions.ContainsKey(sb.ToString()); } } #endregion #region public static Delegate GetDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call an OpenGL function, core or extension. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function, or null if the specified /// function name did not correspond to an OpenGL function. /// public static Delegate GetDelegate(string name, Type signature) { MethodInfo m; return GetExtensionDelegate(name, signature) ?? (Imports.FunctionMap.TryGetValue((name.Substring(2)), out m) ? Delegate.CreateDelegate(signature, m) : null); } #endregion #region public static void ReloadFunctions() /// /// Loads all OpenGL functions (core and extensions). /// /// /// /// This function will be automatically called the first time you use any opengl function. There is /// /// /// Call this function manually whenever you need to update OpenGL entry points. /// This need may arise if you change the pixelformat/visual, or in case you cannot /// (or do not want) to use the automatic initialization of the GL class. /// /// public static void ReloadFunctions() { // Using reflection is more than 3 times faster than directly loading delegates on the first // run, probably due to code generation overhead. Subsequent runs are faster with direct loading // than with reflection, but the first time is more significant. if (delegates == null) delegates = delegatesClass.GetFields(BindingFlags.Static | BindingFlags.NonPublic); foreach (FieldInfo f in delegates) f.SetValue(null, GetDelegate(f.Name, f.FieldType)); rebuildExtensionList = true; } static void set(object d, Delegate value) { d = value; } #endregion #region public static bool ReloadFunction(string function) /// /// Tries to reload the given OpenGL function (core or extension). /// /// The name of the OpenGL function (i.e. glShaderSource) /// True if the function was found and reloaded, false otherwise. /// /// /// Use this function if you require greater granularity when loading OpenGL entry points. /// /// /// While the automatic initialisation will load all OpenGL entry points, in some cases /// the initialisation can take place before an OpenGL Context has been established. /// In this case, use this function to load the entry points for the OpenGL functions /// you will need, or use ReloadFunctions() to load all available entry points. /// /// /// This function returns true if the given OpenGL function is supported, false otherwise. /// /// /// To query for supported extensions use the IsExtensionSupported() function instead. /// /// public static bool Load(string function) { FieldInfo f = delegatesClass.GetField(function, BindingFlags.Static | BindingFlags.NonPublic); if (f == null) return false; Delegate old = f.GetValue(null) as Delegate; Delegate @new = GetDelegate(f.Name, f.FieldType); if (old.Target != @new.Target) { f.SetValue(null, @new); rebuildExtensionList = true; } return @new != null; } #endregion #region private static void BuildExtensionList() /// /// Builds a cache of all supported extensions. /// private static void BuildExtensionList() { // Assumes there is an opengl context current. AvailableExtensions.Clear(); string version_string = Gl.glGetString(Gl.GL_VERSION); if (String.IsNullOrEmpty(version_string)) throw new ApplicationException("Failed to retrieve OpenGL version. Is there an opengl context current?"); string version; // Most drivers return the version in the 3 first characters of the version string, // (e.g. on Ati X1950 with Catalyst 7.10 -> "2.0.6956 Release"). However, Mesa seems // to do something strange: "1.4 (2.1 Mesa 7.0.1).". // We'll do some trickery to get the second version number (2.1), but this may break on // some implementations... // This works on Ati, Mesa, Nvidia, but I'd like someone to test on Intel, too. if (version_string.ToLower().Contains("mesa")) { int index = version_string.IndexOf('('); if (index != -1) version = version_string.Substring(index + 1, 3); else version = version_string.TrimStart(' '); } else version = version_string.TrimStart(' '); // Ugh, this look ugly. if (version.StartsWith("1.2")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); } else if (version.StartsWith("1.3")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); AvailableExtensions.Add("gl_version_1_3", true); } else if (version.StartsWith("1.4")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); AvailableExtensions.Add("gl_version_1_3", true); AvailableExtensions.Add("gl_version_1_4", true); } else if (version.StartsWith("1.5")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); AvailableExtensions.Add("gl_version_1_3", true); AvailableExtensions.Add("gl_version_1_4", true); AvailableExtensions.Add("gl_version_1_5", true); } else if (version.StartsWith("2.0")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); AvailableExtensions.Add("gl_version_1_3", true); AvailableExtensions.Add("gl_version_1_4", true); AvailableExtensions.Add("gl_version_1_5", true); AvailableExtensions.Add("gl_version_2_0", true); } else if (version.StartsWith("2.1")) { AvailableExtensions.Add("gl_version_1_1", true); AvailableExtensions.Add("gl_version_1_2", true); AvailableExtensions.Add("gl_version_1_3", true); AvailableExtensions.Add("gl_version_1_4", true); AvailableExtensions.Add("gl_version_1_5", true); AvailableExtensions.Add("gl_version_2_0", true); AvailableExtensions.Add("gl_version_2_1", true); } string extension_string = Gl.glGetString(Gl.GL_EXTENSIONS); if (String.IsNullOrEmpty(extension_string)) return; // no extensions are available string[] extensions = extension_string.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string ext in extensions) AvailableExtensions.Add(ext.ToLower(), true); rebuildExtensionList = false; } #endregion #endregion #region --- GetProcAddress --- private static IGetProcAddress getProcAddress; internal interface IGetProcAddress { IntPtr GetProcAddress(string function); } internal class GetProcAddressWindows : IGetProcAddress { [System.Runtime.InteropServices.DllImport(Library, EntryPoint = "wglGetProcAddress", ExactSpelling = true)] private static extern IntPtr wglGetProcAddress(String lpszProc); public IntPtr GetProcAddress(string function) { return wglGetProcAddress(function); } } internal class GetProcAddressX11 : IGetProcAddress { [DllImport(Library, EntryPoint = "glXGetProcAddress")] private static extern IntPtr glxGetProcAddress([MarshalAs(UnmanagedType.LPTStr)] string procName); public IntPtr GetProcAddress(string function) { return glxGetProcAddress(function); } } internal class GetProcAddressOSX : IGetProcAddress { private const string Library = "libdl.dylib"; [DllImport(Library, EntryPoint = "NSIsSymbolNameDefined")] private static extern bool NSIsSymbolNameDefined(string s); [DllImport(Library, EntryPoint = "NSLookupAndBindSymbol")] private static extern IntPtr NSLookupAndBindSymbol(string s); [DllImport(Library, EntryPoint = "NSAddressOfSymbol")] private static extern IntPtr NSAddressOfSymbol(IntPtr symbol); public IntPtr GetProcAddress(string function) { string fname = "_" + function; if (!NSIsSymbolNameDefined(fname)) return IntPtr.Zero; IntPtr symbol = NSLookupAndBindSymbol(fname); if (symbol != IntPtr.Zero) symbol = NSAddressOfSymbol(symbol); return symbol; } } #region private static IntPtr GetAddress(string function) /// /// Retrieves the entry point for a dynamically exported OpenGL function. /// /// The function string for the OpenGL function (eg. "glNewList") /// /// An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified /// OpenGL function is not dynamically exported. /// /// /// /// The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value /// into a call-able delegate. /// /// /// This function is cross-platform. It determines the underlying platform and uses the /// correct wgl, glx or agl GetAddress function to retrieve the function pointer. /// /// /// private static IntPtr GetAddress(string function) { if (getProcAddress == null) { if (System.Environment.OSVersion.Platform == PlatformID.Win32NT || System.Environment.OSVersion.Platform == PlatformID.Win32S || System.Environment.OSVersion.Platform == PlatformID.Win32Windows || System.Environment.OSVersion.Platform == PlatformID.WinCE) { getProcAddress = new GetProcAddressWindows(); } else if (System.Environment.OSVersion.Platform == PlatformID.Unix || System.Environment.OSVersion.Platform == (PlatformID)4) { // Distinguish between Unix and Mac OS X kernels. switch (DetectUnixKernel()) { case "Unix": case "Linux": getProcAddress = new GetProcAddressX11(); break; case "Darwin": getProcAddress = new GetProcAddressOSX(); break; default: throw new PlatformNotSupportedException( DetectUnixKernel() + ": Unknown Unix platform - cannot load extensions. Please report a bug at http://taoframework.com"); } } else { throw new PlatformNotSupportedException( "Extension loading is only supported under Mac OS X, Unix/X11 and Windows. We are sorry for the inconvience."); } } return getProcAddress.GetProcAddress(function); } #endregion #region private static string DetectUnixKernel() /// /// Executes "uname" which returns a string representing the name of the /// underlying Unix kernel. /// /// "Unix", "Linux", "Darwin" or null. /// Source code from "Mono: A Developer's Notebook" private static string DetectUnixKernel() { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.Arguments = "-s"; startInfo.RedirectStandardOutput = true; startInfo.RedirectStandardError = true; startInfo.UseShellExecute = false; foreach (string unameprog in new string[] { "/usr/bin/uname", "/bin/uname", "uname" }) { try { startInfo.FileName = unameprog; Process uname = Process.Start(startInfo); StreamReader stdout = uname.StandardOutput; return stdout.ReadLine().Trim(); } catch (System.IO.FileNotFoundException) { // The requested executable doesn't exist, try next one. continue; } catch (System.ComponentModel.Win32Exception) { continue; } } return null; } #endregion #region internal static Delegate GetExtensionDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function or null /// if the function is not available in the current OpenGL context. /// internal static Delegate GetExtensionDelegate(string name, Type signature) { IntPtr address = GetAddress(name); if (address == IntPtr.Zero || address == new IntPtr(1) || // Workaround for buggy nvidia drivers which return address == new IntPtr(2)) // 1 or 2 instead of IntPtr.Zero for some extensions. { return null; } else { return Marshal.GetDelegateForFunctionPointer(address, signature); } } #endregion #endregion } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/Glu.cs0000664000175000017500001361505111453131430021613 0ustar laneylaney#region License /* MIT License Copyright 2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License using System; using System.Runtime.InteropServices; using System.Security; namespace Tao.OpenGl { #region Class Documentation /// /// GLU (OpenGL Utility) binding for .NET, implementing GLU 1.3. /// /// /// /// Binds functions and definitions in glu32.dll or libGLU.so. /// /// /// The OpenGL Utility (GLU) library contains several groups of functions that /// complement the core OpenGL interface by providing support for auxiliary features. /// These features include: mipmapping, matrix manipulation, polygon tessellation, /// quadrics, NURBS, and error handling. /// /// /// Mipmapping routines include image scaling and automatic mipmap generation. A /// variety of matrix manipulation functions build projection and viewing matrices, /// or project vertices from one coordinate system to another. Polygon tessellation /// routines convert concave polygons into triangles for easy rendering. Quadrics /// support renders a few basic quadrics such as spheres and cones. NURBS code maps /// complicated NURBS curves and trimmed surfaces into simpler OpenGL evaluators. /// Lastly, an error lookup routine translates OpenGL and GLU error codes into /// strings. GLU library routines may call OpenGL library routines. Thus, an OpenGL /// context should be made current before calling any GLU functions. Otherwise an /// OpenGL error may occur. /// /// /// These utility functions make use of core OpenGL functions, so any OpenGL /// implementation is guaranteed to support the utility functions. /// /// #endregion Class Documentation [Obsolete] public static class Glu { // --- Fields --- #region Private Constants #region CallingConvention CALLING_CONVENTION /// /// Specifies the calling convention. /// /// /// Specifies for Windows and /// Linux, to indicate that the default should be used. /// private const CallingConvention CALLING_CONVENTION = CallingConvention.Winapi; #endregion CallingConvention CALLING_CONVENTION #endregion Private Constants #region Public Constants #region Version #region bool GLU_VERSION_1_1 /// /// GLU API revision. /// /// /// Specifies GLU 1.1. /// // #define GLU_VERSION_1_1 1 public const bool GLU_VERSION_1_1 = true; #endregion bool GLU_VERSION_1_1 #region bool GLU_VERSION_1_2 /// /// GLU API revision. /// /// /// Specifies GLU 1.2. /// // #define GLU_VERSION_1_2 1 public const bool GLU_VERSION_1_2 = true; #endregion bool GLU_VERSION_1_2 #region bool GLU_VERSION_1_3 /// /// GLU API revision. /// /// /// Specifies GLU 1.3. /// // #define GLU_VERSION_1_3 1 public const bool GLU_VERSION_1_3 = true; #endregion bool GLU_VERSION_1_3 #endregion Version #region Errors #region int GLU_INVALID_ENUM /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_ENUM 100900 public const int GLU_INVALID_ENUM = 100900; #endregion int GLU_INVALID_ENUM #region int GLU_INVALID_VALUE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_VALUE 100901 public const int GLU_INVALID_VALUE = 100901; #endregion int GLU_INVALID_VALUE #region int GLU_OUT_OF_MEMORY /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUT_OF_MEMORY 100902 public const int GLU_OUT_OF_MEMORY = 100902; #endregion int GLU_OUT_OF_MEMORY #region int GLU_INCOMPATIBLE_GL_VERSION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INCOMPATIBLE_GL_VERSION 100903 public const int GLU_INCOMPATIBLE_GL_VERSION = 100903; #endregion int GLU_INCOMPATIBLE_GL_VERSION #region int GLU_INVALID_OPERATION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_OPERATION 100904 public const int GLU_INVALID_OPERATION = 100904; #endregion int GLU_INVALID_OPERATION #endregion Errors #region StringName #region int GLU_VERSION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_VERSION 100800 public const int GLU_VERSION = 100800; #endregion int GLU_VERSION #region int GLU_EXTENSIONS /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXTENSIONS 100801 public const int GLU_EXTENSIONS = 100801; #endregion int GLU_EXTENSIONS #endregion StringName #region bool #region int GLU_TRUE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TRUE GL_TRUE public const int GLU_TRUE = 1; #endregion int GLU_TRUE #region int GLU_FALSE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FALSE GL_FALSE public const int GLU_FALSE = 0; #endregion int GLU_FALSE #endregion bool #region QuadricNormal #region int GLU_SMOOTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SMOOTH 100000 public const int GLU_SMOOTH = 100000; #endregion int GLU_SMOOTH #region int GLU_FLAT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FLAT 100001 public const int GLU_FLAT = 100001; #endregion int GLU_FLAT #region int GLU_NONE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NONE 100002 public const int GLU_NONE = 100002; #endregion int GLU_NONE #endregion QuadricNormal #region QuadricDrawStyle #region int GLU_POINT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_POINT 100010 public const int GLU_POINT = 100010; #endregion int GLU_POINT #region int GLU_LINE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_LINE 100011 public const int GLU_LINE = 100011; #endregion int GLU_LINE #region int GLU_FILL /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FILL 100012 public const int GLU_FILL = 100012; #endregion int GLU_FILL #region int GLU_SILHOUETTE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SILHOUETTE 100013 public const int GLU_SILHOUETTE = 100013; #endregion int GLU_SILHOUETTE #endregion QuadricDrawStyle #region QuadraticOrientation #region int GLU_OUTSIDE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTSIDE 100020 public const int GLU_OUTSIDE = 100020; #endregion int GLU_OUTSIDE #region int GLU_INSIDE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INSIDE 100021 public const int GLU_INSIDE = 100021; #endregion int GLU_INSIDE #endregion QuadraticOrientation #region Tesselation Limits #region double GLU_TESS_MAX_COORD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MAX_COORD 1.0e150 public const double GLU_TESS_MAX_COORD = 1.0e150; #endregion double GLU_TESS_MAX_COORD #endregion Tesselation Limits #region TessProperty #region int GLU_TESS_WINDING_RULE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_RULE 100140 public const int GLU_TESS_WINDING_RULE = 100140; #endregion int GLU_TESS_WINDING_RULE #region int GLU_TESS_BOUNDARY_ONLY /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BOUNDARY_ONLY 100141 public const int GLU_TESS_BOUNDARY_ONLY = 100141; #endregion int GLU_TESS_BOUNDARY_ONLY #region int GLU_TESS_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_TOLERANCE 100142 public const int GLU_TESS_TOLERANCE = 100142; #endregion int GLU_TESS_TOLERANCE #endregion TessProperty #region TessWinding #region int GLU_TESS_WINDING_ODD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_ODD 100130 public const int GLU_TESS_WINDING_ODD = 100130; #endregion int GLU_TESS_WINDING_ODD #region int GLU_TESS_WINDING_NONZERO /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_NONZERO 100131 public const int GLU_TESS_WINDING_NONZERO = 100131; #endregion int GLU_TESS_WINDING_NONZERO #region int GLU_TESS_WINDING_POSITIVE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_POSITIVE 100132 public const int GLU_TESS_WINDING_POSITIVE = 100132; #endregion int GLU_TESS_WINDING_POSITIVE #region int GLU_TESS_WINDING_NEGATIVE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_NEGATIVE 100133 public const int GLU_TESS_WINDING_NEGATIVE = 100133; #endregion int GLU_TESS_WINDING_NEGATIVE #region int GLU_TESS_WINDING_ABS_GEQ_TWO /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 public const int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134; #endregion int GLU_TESS_WINDING_ABS_GEQ_TWO #endregion TessWinding #region TessCallback #region int GLU_TESS_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BEGIN 100100 public const int GLU_TESS_BEGIN = 100100; #endregion int GLU_TESS_BEGIN #region int GLU_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_BEGIN 100100 public const int GLU_BEGIN = 100100; #endregion int GLU_BEGIN #region int GLU_TESS_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_VERTEX 100101 public const int GLU_TESS_VERTEX = 100101; #endregion int GLU_TESS_VERTEX #region int GLU_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_VERTEX 100101 public const int GLU_VERTEX = 100101; #endregion int GLU_VERTEX #region int GLU_TESS_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_END 100102 public const int GLU_TESS_END = 100102; #endregion int GLU_TESS_END #region int GLU_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_END 100102 public const int GLU_END = 100102; #endregion int GLU_END #region int GLU_TESS_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR 100103 public const int GLU_TESS_ERROR = 100103; #endregion int GLU_TESS_ERROR #region int GLU_TESS_EDGE_FLAG /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_EDGE_FLAG 100104 public const int GLU_TESS_EDGE_FLAG = 100104; #endregion int GLU_TESS_EDGE_FLAG #region int GLU_EDGE_FLAG /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EDGE_FLAG 100104 public const int GLU_EDGE_FLAG = 100104; #endregion int GLU_EDGE_FLAG #region int GLU_TESS_COMBINE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COMBINE 100105 public const int GLU_TESS_COMBINE = 100105; #endregion int GLU_TESS_COMBINE #region int GLU_TESS_BEGIN_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BEGIN_DATA 100106 public const int GLU_TESS_BEGIN_DATA = 100106; #endregion int GLU_TESS_BEGIN_DATA #region int GLU_TESS_VERTEX_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_VERTEX_DATA 100107 public const int GLU_TESS_VERTEX_DATA = 100107; #endregion int GLU_TESS_VERTEX_DATA #region int GLU_TESS_END_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_END_DATA 100108 public const int GLU_TESS_END_DATA = 100108; #endregion int GLU_TESS_END_DATA #region int GLU_TESS_ERROR_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR_DATA 100109 public const int GLU_TESS_ERROR_DATA = 100109; #endregion int GLU_TESS_ERROR_DATA #region int GLU_TESS_EDGE_FLAG_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_EDGE_FLAG_DATA 100110 public const int GLU_TESS_EDGE_FLAG_DATA = 100110; #endregion int GLU_TESS_EDGE_FLAG_DATA #region int GLU_TESS_COMBINE_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COMBINE_DATA 100111 public const int GLU_TESS_COMBINE_DATA = 100111; #endregion int GLU_TESS_COMBINE_DATA #endregion TessCallback #region TessError #region int GLU_TESS_ERROR1 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR1 100151 public const int GLU_TESS_ERROR1 = 100151; #endregion int GLU_TESS_ERROR1 #region int GLU_TESS_ERROR2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR2 100152 public const int GLU_TESS_ERROR2 = 100152; #endregion int GLU_TESS_ERROR2 #region int GLU_TESS_ERROR3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR3 100153 public const int GLU_TESS_ERROR3 = 100153; #endregion int GLU_TESS_ERROR3 #region int GLU_TESS_ERROR4 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR4 100154 public const int GLU_TESS_ERROR4 = 100154; #endregion int GLU_TESS_ERROR4 #region int GLU_TESS_ERROR5 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR5 100155 public const int GLU_TESS_ERROR5 = 100155; #endregion int GLU_TESS_ERROR5 #region int GLU_TESS_ERROR6 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR6 100156 public const int GLU_TESS_ERROR6 = 100156; #endregion int GLU_TESS_ERROR6 #region int GLU_TESS_ERROR7 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR7 100157 public const int GLU_TESS_ERROR7 = 100157; #endregion int GLU_TESS_ERROR7 #region int GLU_TESS_ERROR8 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR8 100158 public const int GLU_TESS_ERROR8 = 100158; #endregion int GLU_TESS_ERROR8 #region int GLU_TESS_MISSING_BEGIN_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_BEGIN_POLYGON GLU_TESS_ERROR1 public const int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1; #endregion int GLU_TESS_MISSING_BEGIN_POLYGON #region int GLU_TESS_MISSING_BEGIN_CONTOUR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_BEGIN_CONTOUR GLU_TESS_ERROR2 public const int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2; #endregion int GLU_TESS_MISSING_BEGIN_CONTOUR #region int GLU_TESS_MISSING_END_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_END_POLYGON GLU_TESS_ERROR3 public const int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3; #endregion int GLU_TESS_MISSING_END_POLYGON #region int GLU_TESS_MISSING_END_CONTOUR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_END_CONTOUR GLU_TESS_ERROR4 public const int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4; #endregion int GLU_TESS_MISSING_END_CONTOUR #region int GLU_TESS_COORD_TOO_LARGE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COORD_TOO_LARGE GLU_TESS_ERROR5 public const int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5; #endregion int GLU_TESS_COORD_TOO_LARGE #region int GLU_TESS_NEED_COMBINE_CALLBACK /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_NEED_COMBINE_CALLBACK GLU_TESS_ERROR6 public const int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6; #endregion int GLU_TESS_NEED_COMBINE_CALLBACK #endregion TessError #region NurbsProperty #region int GLU_AUTO_LOAD_MATRIX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_AUTO_LOAD_MATRIX 100200 public const int GLU_AUTO_LOAD_MATRIX = 100200; #endregion int GLU_AUTO_LOAD_MATRIX #region int GLU_CULLING /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CULLING 100201 public const int GLU_CULLING = 100201; #endregion int GLU_CULLING #region int GLU_PARAMETRIC_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PARAMETRIC_TOLERANCE 100202 public const int GLU_PARAMETRIC_TOLERANCE = 100202; #endregion int GLU_PARAMETRIC_TOLERANCE #region int GLU_SAMPLING_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SAMPLING_TOLERANCE 100203 public const int GLU_SAMPLING_TOLERANCE = 100203; #endregion int GLU_SAMPLING_TOLERANCE #region int GLU_DISPLAY_MODE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_DISPLAY_MODE 100204 public const int GLU_DISPLAY_MODE = 100204; #endregion int GLU_DISPLAY_MODE #region int GLU_SAMPLING_METHOD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SAMPLING_METHOD 100205 public const int GLU_SAMPLING_METHOD = 100205; #endregion int GLU_SAMPLING_METHOD #region int GLU_U_STEP /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_U_STEP 100206 public const int GLU_U_STEP = 100206; #endregion int GLU_U_STEP #region int GLU_V_STEP /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_V_STEP 100207 public const int GLU_V_STEP = 100207; #endregion int GLU_V_STEP #region int GLU_NURBS_MODE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_MODE 100160 public const int GLU_NURBS_MODE = 100160; #endregion int GLU_NURBS_MODE #region int GLU_NURBS_MODE_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_MODE_EXT 100160 public const int GLU_NURBS_MODE_EXT = 100160; #endregion int GLU_NURBS_MODE_EXT #region int GLU_NURBS_TESSELLATOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TESSELLATOR 100161 public const int GLU_NURBS_TESSELLATOR = 100161; #endregion int GLU_NURBS_TESSELLATOR #region int GLU_NURBS_TESSELLATOR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TESSELLATOR_EXT 100161 public const int GLU_NURBS_TESSELLATOR_EXT = 100161; #endregion int GLU_NURBS_TESSELLATOR_EXT #region int GLU_NURBS_RENDERER /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_RENDERER 100162 public const int GLU_NURBS_RENDERER = 100162; #endregion int GLU_NURBS_RENDERER #region int GLU_NURBS_RENDERER_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_RENDERER_EXT 100162 public const int GLU_NURBS_RENDERER_EXT = 100162; #endregion int GLU_NURBS_RENDERER_EXT #endregion NurbsProperty #region NurbsSampling #region int GLU_OBJECT_PARAMETRIC_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PARAMETRIC_ERROR 100208 public const int GLU_OBJECT_PARAMETRIC_ERROR = 100208; #endregion int GLU_OBJECT_PARAMETRIC_ERROR #region int GLU_OBJECT_PARAMETRIC_ERROR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208 public const int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208; #endregion int GLU_OBJECT_PARAMETRIC_ERROR_EXT #region int GLU_OBJECT_PATH_LENGTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PATH_LENGTH 100209 public const int GLU_OBJECT_PATH_LENGTH = 100209; #endregion int GLU_OBJECT_PATH_LENGTH #region int GLU_OBJECT_PATH_LENGTH_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PATH_LENGTH_EXT 100209 public const int GLU_OBJECT_PATH_LENGTH_EXT = 100209; #endregion int GLU_OBJECT_PATH_LENGTH_EXT #region int GLU_PATH_LENGTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PATH_LENGTH 100215 public const int GLU_PATH_LENGTH = 100215; #endregion int GLU_PATH_LENGTH #region int GLU_PARAMETRIC_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PARAMETRIC_ERROR 100216 public const int GLU_PARAMETRIC_ERROR = 100216; #endregion int GLU_PARAMETRIC_ERROR #region int GLU_DOMAIN_DISTANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_DOMAIN_DISTANCE 100217 public const int GLU_DOMAIN_DISTANCE = 100217; #endregion int GLU_DOMAIN_DISTANCE #endregion NurbsSampling #region NurbsTrim #region int GLU_MAP1_TRIM_2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_MAP1_TRIM_2 100210 public const int GLU_MAP1_TRIM_2 = 100210; #endregion int GLU_MAP1_TRIM_2 #region int GLU_MAP1_TRIM_3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_MAP1_TRIM_3 100211 public const int GLU_MAP1_TRIM_3 = 100211; #endregion int GLU_MAP1_TRIM_3 #endregion NurbsTrim #region NurbsDisplay #region int GLU_OUTLINE_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTLINE_POLYGON 100240 public const int GLU_OUTLINE_POLYGON = 100240; #endregion int GLU_OUTLINE_POLYGON #region int GLU_OUTLINE_PATCH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTLINE_PATCH 100241 public const int GLU_OUTLINE_PATCH = 100241; #endregion int GLU_OUTLINE_PATCH #endregion NurbsDisplay #region NurbsCallback #region int GLU_NURBS_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR 100103 public const int GLU_NURBS_ERROR = 100103; #endregion int GLU_NURBS_ERROR #region int GLU_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_ERROR 100103 public const int GLU_ERROR = 100103; #endregion int GLU_ERROR #region int GLU_NURBS_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN 100164 public const int GLU_NURBS_BEGIN = 100164; #endregion int GLU_NURBS_BEGIN #region int GLU_NURBS_BEGIN_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_EXT 100164 public const int GLU_NURBS_BEGIN_EXT = 100164; #endregion int GLU_NURBS_BEGIN_EXT #region int GLU_NURBS_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX 100165 public const int GLU_NURBS_VERTEX = 100165; #endregion int GLU_NURBS_VERTEX #region int GLU_NURBS_VERTEX_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_EXT 100165 public const int GLU_NURBS_VERTEX_EXT = 100165; #endregion int GLU_NURBS_VERTEX_EXT #region int GLU_NURBS_NORMAL /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL 100166 public const int GLU_NURBS_NORMAL = 100166; #endregion int GLU_NURBS_NORMAL #region int GLU_NURBS_NORMAL_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_EXT 100166 public const int GLU_NURBS_NORMAL_EXT = 100166; #endregion int GLU_NURBS_NORMAL_EXT #region int GLU_NURBS_COLOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR 100167 public const int GLU_NURBS_COLOR = 100167; #endregion int GLU_NURBS_COLOR #region int GLU_NURBS_COLOR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_EXT 100167 public const int GLU_NURBS_COLOR_EXT = 100167; #endregion int GLU_NURBS_COLOR_EXT #region int GLU_NURBS_TEXTURE_COORD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEXTURE_COORD 100168 public const int GLU_NURBS_TEXTURE_COORD = 100168; #endregion int GLU_NURBS_TEXTURE_COORD #region int GLU_NURBS_TEX_COORD_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEX_COORD_EXT 100168 public const int GLU_NURBS_TEX_COORD_EXT = 100168; #endregion int GLU_NURBS_TEX_COORD_EXT #region int GLU_NURBS_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END 100169 public const int GLU_NURBS_END = 100169; #endregion int GLU_NURBS_END #region int GLU_NURBS_END_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_EXT 100169 public const int GLU_NURBS_END_EXT = 100169; #endregion int GLU_NURBS_END_EXT #region int GLU_NURBS_BEGIN_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_DATA 100170 public const int GLU_NURBS_BEGIN_DATA = 100170; #endregion int GLU_NURBS_BEGIN_DATA #region int GLU_NURBS_BEGIN_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_DATA_EXT 100170 public const int GLU_NURBS_BEGIN_DATA_EXT = 100170; #endregion int GLU_NURBS_BEGIN_DATA_EXT #region int GLU_NURBS_VERTEX_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_DATA 100171 public const int GLU_NURBS_VERTEX_DATA = 100171; #endregion int GLU_NURBS_VERTEX_DATA #region int GLU_NURBS_VERTEX_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_DATA_EXT 100171 public const int GLU_NURBS_VERTEX_DATA_EXT = 100171; #endregion int GLU_NURBS_VERTEX_DATA_EXT #region int GLU_NURBS_NORMAL_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_DATA 100172 public const int GLU_NURBS_NORMAL_DATA = 100172; #endregion int GLU_NURBS_NORMAL_DATA #region int GLU_NURBS_NORMAL_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_DATA_EXT 100172 public const int GLU_NURBS_NORMAL_DATA_EXT = 100172; #endregion int GLU_NURBS_NORMAL_DATA_EXT #region int GLU_NURBS_COLOR_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_DATA 100173 public const int GLU_NURBS_COLOR_DATA = 100173; #endregion int GLU_NURBS_COLOR_DATA #region int GLU_NURBS_COLOR_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_DATA_EXT 100173 public const int GLU_NURBS_COLOR_DATA_EXT = 100173; #endregion int GLU_NURBS_COLOR_DATA_EXT #region int GLU_NURBS_TEXTURE_COORD_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEXTURE_COORD_DATA 100174 public const int GLU_NURBS_TEXTURE_COORD_DATA = 100174; #endregion int GLU_NURBS_TEXTURE_COORD_DATA #region int GLU_NURBS_TEX_COORD_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEX_COORD_DATA_EXT 100174 public const int GLU_NURBS_TEX_COORD_DATA_EXT = 100174; #endregion int GLU_NURBS_TEX_COORD_DATA_EXT #region int GLU_NURBS_END_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_DATA 100175 public const int GLU_NURBS_END_DATA = 100175; #endregion int GLU_NURBS_END_DATA #region int GLU_NURBS_END_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_DATA_EXT 100175 public const int GLU_NURBS_END_DATA_EXT = 100175; #endregion int GLU_NURBS_END_DATA_EXT #endregion NurbsCallback #region NurbsErrors #region int GLU_NURBS_ERROR1 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR1 100251 public const int GLU_NURBS_ERROR1 = 100251; #endregion int GLU_NURBS_ERROR1 #region int GLU_NURBS_ERROR2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR2 100252 public const int GLU_NURBS_ERROR2 = 100252; #endregion int GLU_NURBS_ERROR2 #region int GLU_NURBS_ERROR3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR3 100253 public const int GLU_NURBS_ERROR3 = 100253; #endregion int GLU_NURBS_ERROR3 #region int GLU_NURBS_ERROR4 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR4 100254 public const int GLU_NURBS_ERROR4 = 100254; #endregion int GLU_NURBS_ERROR4 #region int GLU_NURBS_ERROR5 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR5 100255 public const int GLU_NURBS_ERROR5 = 100255; #endregion int GLU_NURBS_ERROR5 #region int GLU_NURBS_ERROR6 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR6 100256 public const int GLU_NURBS_ERROR6 = 100256; #endregion int GLU_NURBS_ERROR6 #region int GLU_NURBS_ERROR7 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR7 100257 public const int GLU_NURBS_ERROR7 = 100257; #endregion int GLU_NURBS_ERROR7 #region int GLU_NURBS_ERROR8 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR8 100258 public const int GLU_NURBS_ERROR8 = 100258; #endregion int GLU_NURBS_ERROR8 #region int GLU_NURBS_ERROR9 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR9 100259 public const int GLU_NURBS_ERROR9 = 100259; #endregion int GLU_NURBS_ERROR9 #region int GLU_NURBS_ERROR10 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR10 100260 public const int GLU_NURBS_ERROR10 = 100260; #endregion int GLU_NURBS_ERROR10 #region int GLU_NURBS_ERROR11 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR11 100261 public const int GLU_NURBS_ERROR11 = 100261; #endregion int GLU_NURBS_ERROR11 #region int GLU_NURBS_ERROR12 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR12 100262 public const int GLU_NURBS_ERROR12 = 100262; #endregion int GLU_NURBS_ERROR12 #region int GLU_NURBS_ERROR13 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR13 100263 public const int GLU_NURBS_ERROR13 = 100263; #endregion int GLU_NURBS_ERROR13 #region int GLU_NURBS_ERROR14 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR14 100264 public const int GLU_NURBS_ERROR14 = 100264; #endregion int GLU_NURBS_ERROR14 #region int GLU_NURBS_ERROR15 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR15 100265 public const int GLU_NURBS_ERROR15 = 100265; #endregion int GLU_NURBS_ERROR15 #region int GLU_NURBS_ERROR16 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR16 100266 public const int GLU_NURBS_ERROR16 = 100266; #endregion int GLU_NURBS_ERROR16 #region int GLU_NURBS_ERROR17 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR17 100267 public const int GLU_NURBS_ERROR17 = 100267; #endregion int GLU_NURBS_ERROR17 #region int GLU_NURBS_ERROR18 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR18 100268 public const int GLU_NURBS_ERROR18 = 100268; #endregion int GLU_NURBS_ERROR18 #region int GLU_NURBS_ERROR19 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR19 100269 public const int GLU_NURBS_ERROR19 = 100269; #endregion int GLU_NURBS_ERROR19 #region int GLU_NURBS_ERROR20 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR20 100270 public const int GLU_NURBS_ERROR20 = 100270; #endregion int GLU_NURBS_ERROR20 #region int GLU_NURBS_ERROR21 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR21 100271 public const int GLU_NURBS_ERROR21 = 100271; #endregion int GLU_NURBS_ERROR21 #region int GLU_NURBS_ERROR22 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR22 100272 public const int GLU_NURBS_ERROR22 = 100272; #endregion int GLU_NURBS_ERROR22 #region int GLU_NURBS_ERROR23 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR23 100273 public const int GLU_NURBS_ERROR23 = 100273; #endregion int GLU_NURBS_ERROR23 #region int GLU_NURBS_ERROR24 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR24 100274 public const int GLU_NURBS_ERROR24 = 100274; #endregion int GLU_NURBS_ERROR24 #region int GLU_NURBS_ERROR25 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR25 100275 public const int GLU_NURBS_ERROR25 = 100275; #endregion int GLU_NURBS_ERROR25 #region int GLU_NURBS_ERROR26 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR26 100276 public const int GLU_NURBS_ERROR26 = 100276; #endregion int GLU_NURBS_ERROR26 #region int GLU_NURBS_ERROR27 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR27 100277 public const int GLU_NURBS_ERROR27 = 100277; #endregion int GLU_NURBS_ERROR27 #region int GLU_NURBS_ERROR28 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR28 100278 public const int GLU_NURBS_ERROR28 = 100278; #endregion int GLU_NURBS_ERROR28 #region int GLU_NURBS_ERROR29 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR29 100279 public const int GLU_NURBS_ERROR29 = 100279; #endregion int GLU_NURBS_ERROR29 #region int GLU_NURBS_ERROR30 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR30 100280 public const int GLU_NURBS_ERROR30 = 100280; #endregion int GLU_NURBS_ERROR30 #region int GLU_NURBS_ERROR31 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR31 100281 public const int GLU_NURBS_ERROR31 = 100281; #endregion int GLU_NURBS_ERROR31 #region int GLU_NURBS_ERROR32 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR32 100282 public const int GLU_NURBS_ERROR32 = 100282; #endregion int GLU_NURBS_ERROR32 #region int GLU_NURBS_ERROR33 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR33 100283 public const int GLU_NURBS_ERROR33 = 100283; #endregion int GLU_NURBS_ERROR33 #region int GLU_NURBS_ERROR34 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR34 100284 public const int GLU_NURBS_ERROR34 = 100284; #endregion int GLU_NURBS_ERROR34 #region int GLU_NURBS_ERROR35 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR35 100285 public const int GLU_NURBS_ERROR35 = 100285; #endregion int GLU_NURBS_ERROR35 #region int GLU_NURBS_ERROR36 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR36 100286 public const int GLU_NURBS_ERROR36 = 100286; #endregion int GLU_NURBS_ERROR36 #region int GLU_NURBS_ERROR37 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR37 100287 public const int GLU_NURBS_ERROR37 = 100287; #endregion int GLU_NURBS_ERROR37 #endregion NurbsErrors #region Contours types #region int GLU_CW /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CW 100120 public const int GLU_CW = 100120; #endregion int GLU_CW #region int GLU_CCW /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CCW 100121 public const int GLU_CCW = 100121; #endregion int GLU_CCW #region int GLU_INTERIOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INTERIOR 100122 public const int GLU_INTERIOR = 100122; #endregion int GLU_INTERIOR #region int GLU_EXTERIOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXTERIOR 100123 public const int GLU_EXTERIOR = 100123; #endregion int GLU_EXTERIOR #region int GLU_UNKNOWN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_UNKNOWN 100124 public const int GLU_UNKNOWN = 100124; #endregion int GLU_UNKNOWN #endregion Contours types #region Extensions #region int GLU_EXT_object_space_tess /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXT_object_space_tess 1 public const int GLU_EXT_object_space_tess = 1; #endregion int GLU_EXT_object_space_tess #region int GLU_EXT_nurbs_tessellator /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXT_nurbs_tessellator 1 public const int GLU_EXT_nurbs_tessellator = 1; #endregion int GLU_EXT_nurbs_tessellator #endregion Extensions #endregion Public Constants #region Public Structs #region GLUnurbs /// /// Defines a GLU NURBS object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUnurbs { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUnurbs #region GLUquadric /// /// Defines a GLU quadric object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUquadric { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUquadric #region GLUtesselator /// /// Defines a GLU tesselator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtesselator { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtesselator #region GLUnurbsObj /// /// Defines a GLU NURBS object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUnurbsObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUnurbsObj #region GLUquadricObj /// /// Defines a GLU quadric object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUquadricObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUquadricObj #region GLUtesselatorObj /// /// Defines a GLU tesselator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtesselatorObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtesselatorObj #region GLUtriangulatorObj /// /// Defines a GLU triangulator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtriangulatorObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtriangulatorObj #endregion Public Structs #region Private Fields // These fields hold references to any callbacks used so as to prevent the garbage // collector from sweeping the delegates even though the application may not be done // with them. private static NurbsBeginCallback nurbsBeginCallback; private static NurbsBeginDataCallback nurbsBeginDataCallback; private static NurbsColorCallback nurbsColorCallback; private static NurbsColorDataCallback nurbsColorDataCallback; private static NurbsEndCallback nurbsEndCallback; private static NurbsEndDataCallback nurbsEndDataCallback; private static NurbsErrorCallback nurbsErrorCallback; private static NurbsNormalCallback nurbsNormalCallback; private static NurbsNormalDataCallback nurbsNormalDataCallback; private static NurbsTexCoordCallback nurbsTexCoordCallback; private static NurbsTexCoordDataCallback nurbsTexCoordDataCallback; private static NurbsVertexCallback nurbsVertexCallback; private static NurbsVertexDataCallback nurbsVertexDataCallback; private static QuadricErrorCallback quadricErrorCallback; private static TessBeginCallback tessBeginCallback; private static TessBeginDataCallback tessBeginDataCallback; private static TessCombineCallback tessCombineCallback; private static TessCombineCallback1 tessCombineCallback1; private static TessCombineDataCallback tessCombineDataCallback; private static TessEdgeFlagCallback tessEdgeFlagCallback; private static TessEdgeFlagDataCallback tessEdgeFlagDataCallback; private static TessEndCallback tessEndCallback; private static TessEndDataCallback tessEndDataCallback; private static TessErrorCallback tessErrorCallback; private static TessErrorDataCallback tessErrorDataCallback; private static TessVertexCallback tessVertexCallback; private static TessVertexCallback1 tessVertexCallback1; private static TessVertexDataCallback tessVertexDataCallback; #endregion Private Fields // --- Public Delegates --- #region NurbsBeginCallback(int type) /// /// Callback (delegate) for use with . /// /// // void begin(GLenum type); public delegate void NurbsBeginCallback(int type); #endregion NurbsBeginCallback(int type) #region NurbsBeginDataCallback(int type, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void beginData(GLenum type, void *userData); public delegate void NurbsBeginDataCallback(int type, [In] IntPtr[] userData); #endregion NurbsBeginDataCallback(int type, [In] IntPtr[] userData) #region NurbsColorCallback([In] float[] colorData) /// /// Callback (delegate) for use with . /// /// // void color(GLfloat *color); public delegate void NurbsColorCallback([In] float[] colorData); #endregion NurbsColorCallback([In] float[] colorData) #region NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void colorData(GLfloat *color, void *userData); public delegate void NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData); #endregion NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData) #region NurbsEndCallback() /// /// Callback (delegate) for use with . /// /// // void end(void); public delegate void NurbsEndCallback(); #endregion NurbsEndCallback() #region NurbsEndDataCallback([In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void endData(void *userData); public delegate void NurbsEndDataCallback([In] IntPtr[] userData); #endregion NurbsEndDataCallback([In] IntPtr[] userData) #region NurbsErrorCallback(int type) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUnurbsErrorProc) (GLenum); public delegate void NurbsErrorCallback(int type); #endregion NurbsErrorCallback(int type) #region NurbsNormalCallback([In] float[] normalData) /// /// Callback (delegate) for use with . /// /// // void normal(GLfloat *normal); public delegate void NurbsNormalCallback([In] float[] normalData); #endregion NurbsNormalCallback([In] float[] normalData) #region NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void normalData(GLfloat *normal, void *userData); public delegate void NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData); #endregion NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData) #region NurbsTexCoordCallback([In] float[] texCoord) /// /// Callback (delegate) for use with . /// /// // void texCoord(GLfloat *tex coord); public delegate void NurbsTexCoordCallback([In] float[] texCoord); #endregion NurbsTexCoordCallback([In] float[] texCoord) #region NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void texCoordData(GLfloat *tex coord, void *userData); public delegate void NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData); #endregion NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData) #region NurbsVertexCallback([In] float[] vertexData) /// /// Callback (delegate) for use with . /// /// // void vertex(GLfloat *vertex); public delegate void NurbsVertexCallback([In] float[] vertexData); #endregion NurbsVertexCallback([In] float[] vertexData) #region NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void vertexData(GLfloat *vertex, void *userData); public delegate void NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData); #endregion NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData) #region QuadricErrorCallback(int errorCode) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUquadricErrorProc) (GLenum); public delegate void QuadricErrorCallback(int errorCode); #endregion QuadricErrorCallback(int errorCode) #region TessBeginCallback(int type) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessBeginProc) (GLenum); public delegate void TessBeginCallback(int type); #endregion TessBeginCallback(int type) #region TessBeginDataCallback(int type, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessBeginDataProc) (GLenum, void *); public delegate void TessBeginDataCallback(int type, [In] IntPtr polygonData); #endregion TessBeginDataCallback(int type, [In] IntPtr polygonData) #region TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**); public delegate void TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData); #endregion TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData) #region TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**); public delegate void TessCombineCallback1([MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] [In] double[] coordinates, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] double[] vertexData, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] float[] weight, [Out] double[] outData); #endregion TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData) #region TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineDataProc) (GLdouble[3], void*[4], GLfloat[4], void**, void*); public delegate void TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData); #endregion TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData) #region TessEdgeFlagCallback(int flag) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEdgeFlagProc) (GLboolean); public delegate void TessEdgeFlagCallback(int flag); #endregion TessEdgeFlagCallback(int flag) #region TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEdgeFlagDataProc) (GLboolean, void *); public delegate void TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData); #endregion TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData) #region TessEndCallback() /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEndProc) (void); public delegate void TessEndCallback(); #endregion TessEndCallback() #region TessEndDataCallback([In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEndDataProc) (void *); public delegate void TessEndDataCallback(IntPtr polygonData); #endregion TessEndDataCallback(IntPtr polygonData) #region TessErrorCallback(int errorCode) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessErrorProc) (GLenum); public delegate void TessErrorCallback(int errorCode); #endregion TessErrorCallback(int errorCode) #region TessErrorDataCallback(int errorCode, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessErrorDataProc) (GLenum, void *); public delegate void TessErrorDataCallback(int errorCode, [In] IntPtr polygonData); #endregion TessErrorDataCallback(int errorCode, [In] IntPtr polygonData) #region TessVertexCallback([In] IntPtr vertexData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexProc) (void *); public delegate void TessVertexCallback([In] IntPtr vertexData); #endregion TessVertexCallback([In] IntPtr vertexData) #region TessVertexCallback1([In] double[] vertexData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexProc) (void *); public delegate void TessVertexCallback1([In] double[] vertexData); #endregion TessVertexCallback1([In] double[] vertexData) #region TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexDataProc) (void *, void *); public delegate void TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData); #endregion TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData) // --- Private Externs --- #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) #region __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluQuadricCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func); #endregion __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) // --- Public Externs --- #region gluBeginCurve([In] GLUnurbs nurb) /// /// Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginCurve to mark the beginning of a NURBS curve definition. /// After calling gluBeginCurve, make one or more calls to /// to define the attributes of the curve. Exactly /// one of the calls to must have a curve type of /// or . To /// mark the end of the NURBS curve definition, call . /// /// /// OpenGL evaluators are used to render the NURBS curve as a series of line /// segments. Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For /// information on exactly what state these calls preserve, see /// . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals; texture /// coordinates and normals are also specified as NURBS curves: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginCurve(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginCurve([In] GLUnurbs nurb); #endregion gluBeginCurve([In] GLUnurbs nurb) #region gluBeginPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// gluBeginPolygon delimits the definition of a nonconvex polygon. To /// define such a polygon, first call gluBeginPolygon. Then define the /// contours of the polygon by calling for each /// vertex and to start each new contour. Finally, /// call to signal the end of the definition. See /// the and reference /// pages for more details. /// /// /// Once is called, the polygon is tessellated, and /// the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// NOTES /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to gluBeginPolygon are mapped to /// followed by /// . Calls to /// are mapped to followed by /// . /// /// /// EXAMPLE /// /// /// A quadrilateral with a triangular hole in it can be described like this: /// /// /// /// Glu.gluBeginPolygon(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluEndPolygon(tobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginPolygon([In] GLUtesselator tess); #endregion gluBeginPolygon([In] GLUtesselator tess) #region gluBeginSurface([In] GLUnurbs nurb) /// /// Delimits a NURBS surface definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginSurface to mark the beginning of a NURBS surface /// definition. After calling gluBeginSurface, make one or more calls to /// to define the attributes of the surface. /// Exactly one of these calls to must have a /// surface type of or /// . To mark the end of the NURBS surface /// definition, call . /// /// /// Trimming of NURBS surfaces is supported with , /// , , and /// . See the reference /// page for details. /// /// /// OpenGL evaluators are used to render the NURBS surface as a set of polygons. /// Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the /// reference page for details on exactly what /// state these calls preserve. /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS surface with normals; the /// texture coordinates and normals are also described as NURBS surfaces: /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginSurface(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginSurface([In] GLUnurbs nurb); #endregion gluBeginSurface([In] GLUnurbs nurb) #region gluBeginTrim([In] GLUnurbs nurb) /// /// Delimits a NURBS trimming loop definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginTrim to mark the beginning of a trimming loop, and /// to mark the end of a trimming loop. A trimming /// loop is a set of oriented curve segments (forming a closed curve) that define /// boundaries of a NURBS surface. You include these trimming loops in the /// definition of a NURBS surface, between calls to /// and . /// /// /// The definition for a NURBS surface can contain many trimming loops. For /// example, if you wrote a definition for a NURBS surface that resembled a /// rectangle with a hole punched out, the definition would contain two trimming /// loops. One loop would define the outer edge of the rectangle; the other /// would define the hole punched out of the rectangle. The definitions of each /// of these trimming loops would be bracketed by a gluBeginTrim and /// pair. /// /// /// The definition of a single closed trimming loop can consist of multiple curve /// segments, each described as a piecewise linear curve (see /// ) or as a single NURBS curve (see /// ), or as a combination of both in any order. The /// only library calls that can appear in a trimming loop definition (between the /// calls to gluBeginTrim and ) are /// and . /// /// /// The area of the NURBS surface that is displayed is the region in the domain /// to the left of the trimming curve as the curve parameter increases. Thus, /// the retained region of the NURBS surface is inside a counterclockwise /// trimming loop and outside a clockwise trimming loop. For the rectangle /// mentioned earlier, the trimming loop for the outer edge of the rectangle runs /// counterclockwise, while the trimming loop for the punched-out hole runs /// clockwise. /// /// /// If you use more than one curve to define a single trimming loop, the curve /// segments must form a closed loop (that is, the endpoint of each curve must be /// the starting point of the next curve, and the endpoint of the final curve /// must be the starting point of the first curve). If the endpoints of the /// curve are sufficiently close together but not exactly coincident, they will /// be coerced to match. If the endpoints are not sufficiently close, an error /// results (see ). /// /// /// If a trimming loop definition contains multiple curves, the direction of the /// curves must be consistent (that is, the inside must be to the left of all of /// the curves). Nested trimming loops are legal as long as the curve /// orientations alternate correctly. If trimming curves are self-intersecting, /// or intersect one another, an error results. /// /// /// If no trimming information is given for a NURBS surface, the entire surface /// is drawn. /// /// /// EXAMPLE /// /// /// This code fragment defines a trimming loop that consists of one piecewise /// linear curve, and two NURBS curves: /// /// /// /// Glu.gluBeginTrim(nobj); /// Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); /// Glu.gluEndTrim(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginTrim(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginTrim([In] GLUnurbs nurb); #endregion gluBeginTrim([In] GLUnurbs nurb) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 11 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 161, 81, 41, 21, 11. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 81, 41 and 21 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 11 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 641, 321, 161, 81, 41, /// 21 and 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void* data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 11 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N1 or 1N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 168, 84, 42, 21, 11. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 84, 42 and 21 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 11 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N1 or 1N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 6416, 328, 164, 82, 41, 21 and /// 11. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void* data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 111 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 1684, 842, /// 421, 211, 111. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 842, /// 421 and 211 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 111 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 641632, /// 32816, 1648, 824, 412, 211 and 111. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void* data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data) #region int gluCheckExtension(string extensionName, string extensionString) /// /// Determines if an extension name is supported. /// /// /// Specifies an extension name. /// /// /// Specifies a space-separated list of extension names supported. /// /// /// Returns if extensionName is supported /// otherwise is returned. /// /// /// /// gluCheckExtension is used to check for the presence for OpenGL, GLU or /// GLX extension names by passing the extension strings returned by /// , , /// /*see cref="glXGetClientString" />*/, /*see cref="glXQueryExtensionsString" />*/, /// or /*see cref="glXQueryServerString" />*/, respectively, as /// extensionString. /// /// /// Returns if extensionName is supported /// otherwise is returned. /// /// /// NOTES /// /// /// Cases where one extension name is a substring of another are correctly /// handled. /// /// /// There may or may not be leading or trailing blanks in extensionString. /// /// /// Extension names should not contain embedded spaces. /// /// /// All strings are null-terminated. /// /// /// /// /// /*seealso cref="glXGetClientString" />*/ /// /*seealso cref="glXQueryExtensionsString" />*/ /// /*seealso cref="glXQueryServerString" />*/ // GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluCheckExtension(string extensionName, string extensionString); #endregion int gluCheckExtension(string extensionName, string extensionString) #region gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks) /// /// Draws a cylinder. /// /// /// Specifies the quadrics object (created with ). /// /// /// Specifies the radius of the cylinder at z = 0. /// /// /// Specifies the radius of the cylinder at z = height. If top is /// set to 0, this subroutine generates a cone. /// /// /// Specifies the height of the cylinder. /// /// /// Specifies the number of subdivisions around the z axis. /// /// /// Specifies the number of subdivisions along the z axis. /// /// /// /// gluCylinder draws a cylinder oriented along the z axis. The base of /// the cylinder is placed at z = 0, and the top at z = height. Like a sphere, /// a cylinder is subdivided around the z axis into slices, and along the z axis /// into stacks. /// /// /// Note that if top is set to 0.0, this routine generates a cone. /// /// /// If the orientation is set to (with /// ), then any generated normals point away /// from the z axis. Otherwise, they point toward the z axis. /// /// /// If texturing is turned on using the /// subroutine, texture coordinates are generated so that t ranges linearly from /// 0.0 at z = 0 to 1.0 at z = height, and s ranges from 0.0 at the +y axis to /// 0.25 at the +x axis, as well as up to 0.5 at the -y axis and 0.75 at the /// -x axis, then back to 1.0 at the +y axis. /// /// /// /// /// /// /// /// // void APIENTRY gluCylinder(GLUquadric *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks); #endregion gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks) #region gluDeleteNurbsRenderer([In] GLUnurbs nurb) /// /// Destroys a NURBS object. /// /// /// The NURBS object to be destroyed (created with /// ). /// /// /// gluDeleteNurbsRenderer destroys the NURBS object (which was created with /// ) and frees any memory it uses. Once /// gluDeleteNurbsRenderer has been called, nurb cannot be used again. /// /// // void APIENTRY gluDeleteNurbsRenderer(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteNurbsRenderer([In] GLUnurbs nurb); #endregion gluDeleteNurbsRenderer([In] GLUnurbs nurb) #region gluDeleteQuadric([In] GLUquadric quad) /// /// Destroys a quadrics object. /// /// /// The quadric object to be destroyed (created with /// ). /// /// /// gluDeleteQuadric destroys the quadrics object (created with /// ) and frees any memory it uses. Once /// gluDeleteQuadric has been called, quad cannot be used again. /// /// // void APIENTRY gluDeleteQuadric(GLUquadric *state); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteQuadric([In] GLUquadric quad); #endregion gluDeleteQuadric([In] GLUquadric quad) #region gluDeleteTess([In] GLUtesselator tess) /// /// Destroys a tessellation object. /// /// /// The tessellation object to destroy (created with ). /// /// /// gluDeleteTess destroys the indicated tessellation object (which was /// created with ) and frees any memory that it used. /// Once gluDeleteTess has been called, tess cannot be used again. /// /// /// /// // void APIENTRY gluDeleteTess(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteTess([In] GLUtesselator tess); #endregion gluDeleteTess([In] GLUtesselator tess) #region gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops) /// /// Draws a disk. /// /// /// The quadric object (created with ). /// /// /// The inner radius of the disk (may be zero). /// /// /// The outer radius of the disk. /// /// /// The number of subdivisions around the z-axis. /// /// /// The number of concentric rings about the origin into which the disk is subdivided. /// /// /// /// gluDisk renders a disk on the z = 0 plane. The disk has a radius of /// outerRadius, and contains a concentric circular hole with a radius of /// innerRadius. If innerRadius is 0, then no hole is generated. /// The disk is subdivided around the z axis into slices (like pizza slices), /// and also about the z axis into rings (as specified by slices and /// loops, respectively). /// /// /// With respect to orientation, the +z side of the disk is considered to be /// "outside" (see ). This means that if the /// orientation is set to , then any normals generated /// point along the +z axis. Otherwise, they point along the -z axis. /// /// /// If texturing has been turned on (with ), /// texture coordinates are generated linearly such that where r = outerRadius, /// the value at (r, 0, 0) is (1, 0.5), at (0, r, 0) it is (0.5, 1), at /// (-r, 0, 0) it is (0, 0.5), and at (0, -r, 0) it is (0.5, 0). /// /// /// /// /// /// /// /// // void APIENTRY gluDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops); #endregion gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops) #region gluEndCurve([In] GLUnurbs nurb) /// /// Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a NURBS curve /// definition. After calling , make one or more /// calls to to define the attributes of the curve. /// Exactly one of the calls to must have a curve /// type of or /// . To mark the end of the NURBS curve /// definition, call gluEndCurve. /// /// /// OpenGL evaluators are used to render the NURBS curve as a series of line /// segments. Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For /// information on exactly what state these calls preserve, see /// . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals; texture /// coordinates and normals are also specified as NURBS curves: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndCurve(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndCurve([In] GLUnurbs nurb); #endregion gluEndCurve([In] GLUnurbs nurb) #region gluEndPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// delimits the definition of a nonconvex /// polygon. To define such a polygon, first call /// . Then define the contours of the polygon by /// calling for each vertex and /// to start each new contour. Finally, call /// gluEndPolygon to signal the end of the definition. See the /// and reference /// pages for more details. /// /// /// Once gluEndPolygon is called, the polygon is tessellated, and the /// resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// NOTES /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to are mapped to /// followed by /// . Calls to gluEndPolygon are mapped /// to followed by /// . /// /// /// EXAMPLE /// /// /// A quadrilateral with a triangular hole in it can be described like this: /// /// /// /// Glu.gluBeginPolygon(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluEndPolygon(tobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndPolygon([In] GLUtesselator tess); #endregion gluEndPolygon([In] GLUtesselator tess) #region gluEndSurface([In] GLUnurbs nurb) /// /// Delimits a NURBS surface definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a NURBS surface /// definition. After calling , make one or more /// calls to to define the attributes of the /// surface. Exactly one of these calls to must /// have a surface type of or /// . To mark the end of the NURBS surface /// definition, call gluEndSurface. /// /// /// Trimming of NURBS surfaces is supported with , /// , , and /// . See the reference /// page for details. /// /// /// OpenGL evaluators are used to render the NURBS surface as a set of polygons. /// Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the /// reference page for details on exactly what /// state these calls preserve. /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS surface with normals; the /// texture coordinates and normals are also described as NURBS surfaces: /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndSurface(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndSurface([In] GLUnurbs nurb); #endregion gluEndSurface([In] GLUnurbs nurb) #region gluEndTrim([In] GLUnurbs nurb) /// /// Delimits a NURBS trimming loop definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a trimming loop, and /// gluEndTrim to mark the end of a trimming loop. A trimming loop is a /// set of oriented curve segments (forming a closed curve) that define /// boundaries of a NURBS surface. You include these trimming loops in the /// definition of a NURBS surface, between calls to /// and . /// /// /// The definition for a NURBS surface can contain many trimming loops. For /// example, if you wrote a definition for a NURBS surface that resembled a /// rectangle with a hole punched out, the definition would contain two trimming /// loops. One loop would define the outer edge of the rectangle; the other /// would define the hole punched out of the rectangle. The definitions of each /// of these trimming loops would be bracketed by a /// and gluEndTrim pair. /// /// /// The definition of a single closed trimming loop can consist of multiple curve /// segments, each described as a piecewise linear curve (see /// ) or as a single NURBS curve (see /// ), or as a combination of both in any order. The /// only library calls that can appear in a trimming loop definition (between the /// calls to and gluEndTrim are /// and . /// /// /// The area of the NURBS surface that is displayed is the region in the domain /// to the left of the trimming curve as the curve parameter increases. Thus, /// the retained region of the NURBS surface is inside a counterclockwise /// trimming loop and outside a clockwise trimming loop. For the rectangle /// mentioned earlier, the trimming loop for the outer edge of the rectangle runs /// counterclockwise, while the trimming loop for the punched-out hole runs /// clockwise. /// /// /// If you use more than one curve to define a single trimming loop, the curve /// segments must form a closed loop (that is, the endpoint of each curve must be /// the starting point of the next curve, and the endpoint of the final curve /// must be the starting point of the first curve). If the endpoints of the /// curve are sufficiently close together but not exactly coincident, they will /// be coerced to match. If the endpoints are not sufficiently close, an error /// results (see ). /// /// /// If a trimming loop definition contains multiple curves, the direction of the /// curves must be consistent (that is, the inside must be to the left of all of /// the curves). Nested trimming loops are legal as long as the curve /// orientations alternate correctly. If trimming curves are self-intersecting, /// or intersect one another, an error results. /// /// /// If no trimming information is given for a NURBS surface, the entire surface /// is drawn. /// /// /// EXAMPLE /// /// /// This code fragment defines a trimming loop that consists of one piecewise /// linear curve, and two NURBS curves: /// /// /// /// Glu.gluBeginTrim(nobj); /// Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); /// Glu.gluEndTrim(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndTrim(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndTrim([In] GLUnurbs nurb); #endregion gluEndTrim([In] GLUnurbs nurb) #region string gluErrorString(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A string representation of the error. /// /// /// /// gluErrorString produces an error string from a GL or GLU error code. /// The string is in ISO Latin 1 format. For example, /// gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const GLubyte* APIENTRY gluErrorString(GLenum errCode); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorString"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluErrorStringUnsafe(int errorCode); public static string gluErrorString(int errorCode) { return Marshal.PtrToStringAnsi(gluErrorStringUnsafe(errorCode)); } #endregion string gluErrorString(int errorCode) #region string gluErrorStringWIN(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A string representation of the error. /// /// /// /// gluErrorStringWIN produces an error string from a GL or GLU error /// code. The string is in UNICODE format. For example, /// gluErrorStringWIN(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const GLubyte* APIENTRY gluErrorStringWIN(GLenum errCode); public static string gluErrorStringWIN(int errorCode) { return gluErrorUnicodeStringEXT(errorCode); } #endregion string gluErrorStringWIN(int errorCode) #region string gluErrorUnicodeStringEXT(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A Unicode string representation of the error. /// /// /// /// gluErrorString produces an error string from a GL or GLU error code. /// The string is in UNICODE format. For example, /// gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const wchar_t* APIENTRY gluErrorUnicodeStringEXT(GLenum errCode); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorUnicodeStringEXT"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluErrorUnicodeStringEXTUnsafe(int errorCode); public static string gluErrorUnicodeStringEXT(int errorCode) { return Marshal.PtrToStringAnsi(gluErrorUnicodeStringEXTUnsafe(errorCode)); } #endregion string gluErrorUnicodeStringEXT(int errorCode) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data) #region string gluGetString(int name) /// /// Gets a string that describes the GLU version number or supported GLU extension /// calls. /// /// /// Either the version number of GLU () or available /// vendor-specific extension calls (). /// /// /// Returns a string describing the GLU version or the GLU extensions that are /// supported. /// /// /// /// gluGetString returns a string describing the GLU version or the GLU /// extensions that are supported. When name is /// , the returned string is a value that represents /// the version number of GLU. The format of the version number is as follows: /// /// /// <version number><space><vendor-specific information> /// (for example, "1.2.11 Microsoft Windows NT") /// /// /// The version number has the form "major_number.minor_number" or /// "major_number.minor_number.release_number". The vendor-specific information /// is optional, and the format and contents depend on the implementation. /// /// /// When name is , the returned string /// contains a list of names of supported GLU extensions that are separated by /// spaces. The format of the returned list of names is as follows: /// /// /// <extension_name><space><extension_name><space> . . . /// (for example, "GLU_NURBS GL_TESSELATION") /// /// /// The extension names cannot contain any spaces. /// /// /// NOTES /// /// /// The gluGetString function is valid for GLU version 1.1 or later. /// /// /// All strings are NULL-terminated. /// /// /// gluGetString only returns information about GLU extensions. Call /// to get a list of GL extensions. /// /// /// gluGetString is an initialization routine. Calling it after a /// results in undefined behavior. /// /// /// ERRORS /// /// /// NULL is returned if name is not or /// . /// /// /// // const GLubyte* APIENTRY gluGetString(GLenum name); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluGetString"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluGetStringUnsafe(int name); public static string gluGetString(int name) { return Marshal.PtrToStringAnsi(gluGetStringUnsafe(name)); } #endregion string gluGetString(int name) #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data) #region gluGetTessProperty([In] GLUtesselator tess, int which, out double data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, out double data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, out double data) #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data) #region gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport) /// /// Loads NURBS sampling and culling matrices. /// /// /// The NURBS object (created with ). /// /// /// A modelview matrix (as from a call). /// /// /// A projection matrix (as from a call). /// /// /// A viewport (as from a call). /// /// /// /// gluLoadSamplingMatrices uses modelMatrix, /// projectionMatrix, and viewport to recompute the sampling and /// culling matrices stored in nurb. The sampling matrix determines how /// finely a NURBS curve or surface must be tessellated to satisfy the sampling /// tolerance (as determined by the /// property). The culling matrix is used in deciding if a NURBS curve or /// surface should be culled before rendering (when the /// property is turned on). /// /// /// gluLoadSamplingMatrices is necessary only if the /// property is turned off (see /// ). Although it can be convenient to leave the /// property turned on, there can be a /// performance penalty for doing so. (A round trip to the GL server is needed /// to fetch the current values of the modelview matrix, projection matrix, and /// viewport.) /// /// /// /// /// /// /// // void APIENTRY gluLoadSamplingMatrices(GLUnurbs *nobj, const GLfloat modelMatrix[16], const GLfloat projMatrix[16], const GLint viewport[4]); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport); #endregion gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport) #region gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) /// /// Defines a viewing transformation. /// /// /// The x axis position of the eye point. /// /// /// The y axis position of the eye point. /// /// /// The z axis position of the eye point. /// /// /// The x axis position of the reference point. /// /// /// The y axis position of the reference point. /// /// /// The z axis position of the reference point. /// /// /// The x axis direction of the up vector. /// /// /// The y axis direction of the up vector. /// /// /// The z axis direction of the up vector. /// /// /// /// gluLookAt creates a viewing matrix derived from an eye point, a /// reference point indicating the center of the scene, and an UP vector. /// /// /// The matrix maps the reference point to the negative z axis and the eye point /// to the origin. When a typical projection matrix is used, the center of the /// scene therefore maps to the center of the viewport. Similarly, the direction /// described by the UP vector projected onto the viewing plane is mapped to the /// positive y axis so that it points upward in the viewport. The UP vector must /// not be parallel to the line of sight from the eye point to the reference /// point. /// /// /// The matrix generated by gluLookAt postmultiplies the current matrix. /// /// /// The matrix M generated by the OpenGL could be computed as follows: /// /// /// Let E be the 3d column vector (eyeX, eyeY, eyeZ). /// Let C be the 3d column vector (centerX, centerY, centerZ). /// Let U be the 3d column vector (upX, upY, upZ). /// Compute L = C - E. /// Normalize L. /// Compute S = L x U. /// Normalize S. /// Compute U' = S x L. /// /// /// M is the matrix whose columns are, in order: /// /// /// (S, 0), (U', 0), (-L, 0), (-E, 1) (all column vectors) /// /// /// Note: This matrix is defined for use in systems where the the modelling /// coordinate vector is a column vector and is multiplied on the left by the /// matrices. If you prefer a row vector which gets multiplied by matrices to /// its right, then use the transpose of this matrix M. /// /// /// Note: It is necessary that the UP vector NOT be parallel to the line /// connecting the center point with the eye point. /// /// /// /// // void APIENTRY gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ); #endregion gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) #region GLUnurbs gluNewNurbsRenderer() /// /// Creates a NURBS object. /// /// /// Returns a pointer to a new NURBS object. /// /// /// gluNewNurbsRenderer creates and returns a pointer to a new NURBS /// object. This object must be referred to when calling NURBS rendering and /// control functions. A return value of 0 means that there is not enough memory /// to allocate the object. /// /// /// /// /// /// /// // GLUnurbs* APIENTRY gluNewNurbsRenderer(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUnurbs gluNewNurbsRenderer(); #endregion GLUnurbs gluNewNurbsRenderer() #region GLUquadric gluNewQuadric() /// /// Creates a quadrics object. /// /// /// Returns a pointer to a new quadrics object. /// /// /// gluNewQuadric creates and returns a pointer to a new quadrics object. /// This object must be referred to when calling quadrics rendering and control /// functions. A return value of 0 means that there is not enough memory to /// allocate the object. /// /// /// /// /// /// /// /// /// /// /// // GLUquadric* APIENTRY gluNewQuadric(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUquadric gluNewQuadric(); #endregion GLUquadric gluNewQuadric() #region GLUtesselator gluNewTess() /// /// Creates a tessellation object. /// /// /// Returns a pointer to a new tessellation object. /// /// /// gluNewTess creates and returns a pointer to a new tessellation object. /// This object must be referred to when calling tessellation functions. A /// return value of 0 means that there is not enough memory to allocate the /// object. /// /// /// /// // GLUtesselator* APIENTRY gluNewTess(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUtesselator gluNewTess(); #endregion GLUtesselator gluNewTess() #region gluNextContour([In] GLUtesselator tess, int type) /// /// Marks the beginning of another contour. /// /// /// The tessellation object (created with ). /// /// /// /// The type of the contour being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// An exterior contour defines an exterior boundary of the polygon. /// /// /// /// /// /// An interior contour defines an interior boundary of the polygon /// (such as a hole). /// /// /// /// /// /// An unknown contour is analyzed by the library to determine /// whether it is interior or exterior. /// /// /// /// , /// /// /// The first or /// contour defined is considered to be exterior. All other /// contours are considered to be exterior if they are oriented /// in the same direction (clockwise or counterclockwise) as the /// first contour, and interior if they are not. /// /// /// If one contour is of type or /// , then all contours must be of the same /// type (if they are not, then all and /// contours will be changed to /// ). Note that there is no real /// difference between the and /// contour types. /// /// /// /// /// /// /// /// /// gluNextContour is used in describing polygons with multiple contours. /// After the first contour has been described through a series of /// calls, a gluNextContour call indicates /// that the previous contour is complete and that the next contour is about to /// begin. Another series of calls is then used to /// describe the new contour. This process can be repeated until all contours /// have been described. /// /// /// Before the first contour is described, gluNextContour can be called to /// define the type of the first contour. If gluNextContour is not called /// before the first contour, then the first contour is marked /// . /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to gluNextContour are mapped to /// followed by . /// /// /// EXAMPLE /// /// /// You can describe a quadrilateral with a triangular hole in it as follows: /// /// /// /// Glu.gluBeginPolygon(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluEndPolygon(tess); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNextContour(GLUtesselator *tess, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNextContour([In] GLUtesselator tess, int type); #endregion gluNextContour([In] GLUtesselator tess, int type) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) { nurbsBeginCallback = func; __gluNurbsCallback(nurb, which, nurbsBeginCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) { nurbsBeginDataCallback = func; __gluNurbsCallback(nurb, which, nurbsBeginDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) { nurbsColorCallback = func; __gluNurbsCallback(nurb, which, nurbsColorCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) { nurbsColorDataCallback = func; __gluNurbsCallback(nurb, which, nurbsColorDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) { nurbsEndCallback = func; __gluNurbsCallback(nurb, which, nurbsEndCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) { nurbsEndDataCallback = func; __gluNurbsCallback(nurb, which, nurbsEndDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) { nurbsErrorCallback = func; __gluNurbsCallback(nurb, which, nurbsErrorCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) { nurbsNormalCallback = func; __gluNurbsCallback(nurb, which, nurbsNormalCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) { nurbsNormalDataCallback = func; __gluNurbsCallback(nurb, which, nurbsNormalDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) { nurbsTexCoordCallback = func; __gluNurbsCallback(nurb, which, nurbsTexCoordCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) { nurbsTexCoordDataCallback = func; __gluNurbsCallback(nurb, which, nurbsTexCoordDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) { nurbsVertexCallback = func; __gluNurbsCallback(nurb, which, nurbsVertexCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) { nurbsVertexDataCallback = func; __gluNurbsCallback(nurb, which, nurbsVertexDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] void* userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void* userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData) #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type) /// /// Defines the shape of a NURBS curve. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in knot. The knotCount parameter equals /// the number of control points plus the order. /// /// /// An array of knotCount nondecreasing knot values. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive curve control points. /// /// /// A pointer to an array of control points. The coordinates must agree with /// type. /// /// /// The order of the NURBS curve. The order parameter equals degree + 1; /// hence a cubic curve has an order of 4. /// /// /// The type of the curve. If this curve is defined within a /// / pair, then the type /// can be any of the valid one-dimensional evaluator types (such as /// or ). /// Between a / pair, the /// only valid types are and /// . /// /// /// /// Use gluNurbsCurve to describe a NURBS curve. /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a curve to be rendered. Positional, texture, and color coordinates /// are associated by presenting each as a separate gluNurbsCurve between /// a / pair. No more than /// one call to gluNurbsCurve for each of color, position, and texture /// data can be made within a single /// / pair. Exactly one /// call must be made to describe the position of the curve (a type of /// or ). /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a trimming curve on a NURBS surface. If type is /// , then it describes a curve in two-dimensional /// (u and v) parameter space. If it is , then it /// describes a curve in two-dimensional homogeneous (u, v, and w) parameter /// space. See the reference page for more /// discussion about trimming curves. /// /// /// NOTES /// /// /// To define trim curves which stitch well, use . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type); #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type) #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type) /// /// Defines the shape of a NURBS curve. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in knot. The knotCount parameter equals /// the number of control points plus the order. /// /// /// An array of knotCount nondecreasing knot values. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive curve control points. /// /// /// A pointer to an array of control points. The coordinates must agree with /// type. /// /// /// The order of the NURBS curve. The order parameter equals degree + 1; /// hence a cubic curve has an order of 4. /// /// /// The type of the curve. If this curve is defined within a /// / pair, then the type /// can be any of the valid one-dimensional evaluator types (such as /// or ). /// Between a / pair, the /// only valid types are and /// . /// /// /// /// Use gluNurbsCurve to describe a NURBS curve. /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a curve to be rendered. Positional, texture, and color coordinates /// are associated by presenting each as a separate gluNurbsCurve between /// a / pair. No more than /// one call to gluNurbsCurve for each of color, position, and texture /// data can be made within a single /// / pair. Exactly one /// call must be made to describe the position of the curve (a type of /// or ). /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a trimming curve on a NURBS surface. If type is /// , then it describes a curve in two-dimensional /// (u and v) parameter space. If it is , then it /// describes a curve in two-dimensional homogeneous (u, v, and w) parameter /// space. See the reference page for more /// discussion about trimming curves. /// /// /// NOTES /// /// /// To define trim curves which stitch well, use . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[,] control, int order, int type); #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type) #region gluNurbsProperty([In] GLUnurbs nurb, int property, float val) /// /// Sets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property to be set. Valid values are /// , , /// , , /// , , /// , , or /// . /// /// /// The value of the indicated property. It may be a numeric value, or one of /// , , /// , , /// , , /// , , /// , or . /// /// /// /// gluNurbsProperty is used to control properties stored in a NURBS /// object. These properties affect the way that a NURBS curve is rendered. The /// accepted values for property are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// val should be set to be either /// or /// . When set to /// , NURBS objects are tessellated /// into OpenGL primitives and sent to the pipeline for rendering. /// When set to , NURBS objects /// are tessellated into OpenGL primitives but the vertices, normals, /// colors, and/or textures are retrieved back through a callback /// interface (see ). This allows the /// user to cache the tessellated results for further processing. /// The initial value is . /// /// /// /// /// /// /// Specifies how a NURBS surface should be tessellated. /// val may be one of , /// , /// , /// , or /// . When set to /// , the surface is rendered so /// that the maximum length, in pixels, of the edges of the /// tessellation polygons is no greater than what is specified by /// . /// /// /// specifies that the /// surface is rendered in such a way that the value specified by /// describes the maximum /// distance, in pixels, between the tessellation polygons and /// the surfaces they approximate. /// /// /// allows users to specify, /// in parametric coordinates, how many sample points per unit /// length are taken in u, v direction. /// /// /// is similar to /// except that it is view /// independent, that is, the surface is rendered so that the /// maximum length, in object space, of edges of the tessellation /// polygons is no greater than what is specified by /// . /// /// /// is similar to /// except that it is view /// independent, that is, the surface is rendered in such a way /// that the value specified by /// describes the maximum /// distance, in object space, between the tessellation polygons /// and the surfaces they approximate. /// /// /// The initial value of is /// . /// /// /// /// /// /// /// Specifies the maximum length, in pixels or in object space length /// unit, to use when the sampling method is set to /// or /// . The NURBS code is /// conservative when rendering a curve or surface, so the actual /// length can be somewhat shorter. The initial value is 50.0 /// pixels. /// /// /// /// /// /// Specifies the maximum distance, in pixels or in object space /// length unit, to use when the sampling method is /// or /// . The initial value is /// 0.5. /// /// /// /// /// /// Specifies the number of sample points per unit length taken along /// the u axis in parametric coordinates. It is needed when /// is set to /// . The initial value is 100. /// /// /// /// /// /// Specifies the number of sample points per unit length taken along /// the v axis in parametric coordinate. It is needed when /// is set to /// . The initial value is 100. /// /// /// /// /// /// /// val can be set to , /// , or . /// When is set to be /// , val defines how a /// NURBS surface should be rendered. When val is set to /// , the surface is rendered as a set of /// polygons. When val is set to /// , the NURBS library draws /// only the outlines of the polygons created by tessellation. /// When val is set to /// just the outlines of patches /// and trim curves defined by the user are drawn. /// /// /// When is set to be /// , val defines how /// a NURBS surface should be tessellated. When /// is set to /// or /// , the NURBS surface is /// tessellated into OpenGL triangle primitives which can be /// retrieved back through callback functions. If /// is set to /// , only the outlines of the /// patches and trim curves are generated as a sequence of /// line strips which can be retrieved back through callback /// functions. /// /// /// The initial value is . /// /// /// /// /// /// /// val is a boolean value that, when set to /// , indicates that a NURBS curve should be /// discarded prior to tessellation if its control points lie outside /// the current viewport. The initial value is /// . /// /// /// /// /// /// /// val is a boolean value. When set to /// , the NURBS code downloads the /// projection matrix, the modelview matrix, and the viewport /// from the GL server to compute sampling and culling matrices /// for each NURBS curve that is rendered. Sampling and culling /// matrices are required to determine the tessellation of a /// NURBS surface into line segments or polygons and to cull a /// NURBS surface if it lies outside the viewport. /// /// /// If this mode is set to , then the /// program needs to provide a projection matrix, a modelview /// matrix, and a viewport for the NURBS renderer to use to /// construct sampling and culling matrices. This can be done /// with the function. /// This mode is initially set to . /// Changing it from to /// does not affect the sampling and /// culling matrices until /// is called. /// /// /// /// /// /// /// NOTES /// /// /// If is true, sampling and culling may be /// executed incorrectly if NURBS routines are compiled into a display list. /// /// /// A property of , /// , , or /// , or a val of , /// , are /// only available if the GLU version is 1.1 or greater. They are not valid /// parameters in GLU 1.0. /// /// /// can be used to determine the GLU version. /// /// /// is only availble if the GLU version is 1.3 or /// greater. /// /// /// The and /// values for the /// property are only available if the GLU /// version is 1.3 or greater. /// /// /// /// /// /// /// // void APIENTRY gluNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsProperty([In] GLUnurbs nurb, int property, float val); #endregion gluNurbsProperty([In] GLUnurbs nurb, int property, float val) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , ] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[,] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , ] control, int sOrder, int tOrder, int type) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , , ] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[, ,] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , , ] control, int sOrder, int tOrder, int type) #region gluOrtho2D(double left, double right, double bottom, double top) /// /// Defines a 2D orthographic projection matrix. /// /// /// The coordinates for the leftvertical clipping planes. /// /// /// The coordinates for the right vertical clipping planes. /// /// /// The coordinates for the bottom horizontal clipping planes. /// /// /// The coordinates for the top horizontal clipping planes. /// /// /// The gluOrtho2D function sets up a two-dimensional orthographic viewing /// region. This is equivalent to calling with /// near = 1 and far = 1. /// /// /// // void APIENTRY gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluOrtho2D(double left, double right, double bottom, double top); #endregion gluOrtho2D(double left, double right, double bottom, double top) #region gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle) /// /// Draws an arc of a disk. /// /// /// A quadric object (created with ). /// /// /// The inner radius of the partial disk (can be zero). /// /// /// The outer radius of the partial disk. /// /// /// The number of subdivisions around the z-axis. /// /// /// The number of concentric rings about the origin into which the partial disk /// is subdivided. /// /// /// The starting angle, in degrees, of the disk portion. /// /// /// The sweep angle, in degrees, of the disk portion. /// /// /// /// gluPartialDisk renders a partial disk on the z = 0 plane. A partial /// disk is similar to a full disk, except that only the subset of the disk from /// startAngle through startAngle + sweepAngle is included /// (where 0 degrees is along the +y axis, 90 degrees along the +x axis, 180 /// degrees along the -y axis, and 270 degrees along the -x axis). /// /// /// The partial disk has a radius of outerRadius, and contains a /// concentric circular hole with a radius of innerRadius. If /// innerRadius is 0, then no hole is generated. The partial disk is /// subdivided around the z axis into slices (like pizza slices), and also about /// the z axis into rings (as specified by slices and loops, /// respectively). /// /// /// With respect to orientation, the +z side of the partial disk is considered /// to be outside (see ). This means that if /// the orientation is set to , then any normals /// generated point along the +z axis. Otherwise, they point along the -z axis. /// /// /// If texturing is turned on (with ), texture /// coordinates are generated linearly such that where r = outerRadius, /// the value at (r, 0, 0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at /// (-r, 0, 0) it is (0.0, 0.5), and at (0, -r, 0) it is (0.5, 0.0). /// /// /// /// /// /// /// /// // void APIENTRY gluPartialDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle); #endregion gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle) #region gluPerspective(double fovY, double aspectRatio, double zNear, double zFar) /// /// Sets up a perspective projection matrix. /// /// /// The field of view angle, in degrees, in the y-direction. /// /// /// The aspect ratio that determines the field of view in the x-direction. The /// aspect ratio is the ratio of x (width) to y (height). /// /// /// The distance from the viewer to the near clipping plane (always positive). /// /// /// The distance from the viewer to the far clipping plane (always positive). /// /// /// /// The gluPerspective subroutine specifies a viewing frustum into the /// world coordinate system. Generally, the aspect ratio used with this /// subroutine should match that of its associated viewport. For example, an /// aspect ratio value of aspect = 2.0 means the viewer's angle of view is twice /// as wide in x as it is in y. If the viewport is twice as wide as it is tall, /// it displays the image without distortion. /// /// /// The matrix generated by gluPerspective is multipled by the current /// matrix, just as if Gl.glMultMatrix* were called with the generated matrix. /// To load the perspective matrix onto the current matrix stack instead, /// precede the call to gluPerspective with a call to /// . /// /// /// Given f defined as follows: /// /// /// f = cotangent(fovY / 2) /// /// /// The generated matrix is: /// /// /// /// ( f ) /// | ------ 0 0 0 | /// | aspectRatio | /// | | /// | | /// | 0 f 0 0 | /// | | /// | | /// | zFar+zNear 2*zFar*zNear | /// | 0 0 ---------- ------------ | /// | zNear-zFar zNear-zFar | /// | | /// | | /// | 0 0 -1 0 | /// ( ) /// /// /// /// NOTES /// /// /// Depth buffer precision is affected by the values specified for zNear /// and zFar. The greater the ratio of zFar to zNear is, /// the less effective the depth buffer will be at distinguishing between /// surfaces that are near each other. If r = zFar / zNear roughly /// log2(r) bits of depth buffer precision are lost. Because r approaches /// infinity as zNear approaches 0, zNear must never be set to 0. /// /// /// /// /// // void APIENTRY gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPerspective(double fovY, double aspectRatio, double zNear, double zFar); #endregion gluPerspective(double fovY, double aspectRatio, double zNear, double zFar) #region gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport) /// /// Defines a picking region. /// /// /// The center of a picking region in x axis window coordinates. /// /// /// The center of a picking region in y axis window coordinates. /// /// /// The width of the picking region in window coordinates. /// /// /// The height of the picking region in window coordinates. /// /// /// The current viewport (as from a call). /// /// /// /// gluPickMatrix creates a projection matrix that can be used to restrict /// drawing to a small region of the viewport. This is typically useful to /// determine what objects are being drawn near the cursor. Use /// gluPickMatrix to restrict drawing to a small region around the cursor. /// Then, enter selection mode (with ) and rerender /// the scene. All primitives that would have been drawn near the cursor are /// identified and stored in the selection buffer. /// /// /// The matrix created by gluPickMatrix is multiplied by the current /// matrix just as if Gl.glMultMatrix* is called with the generated matrix. /// To effectively use the generated pick matrix for picking, first call /// to load an identity matrix onto the /// perspective matrix stack. Then call gluPickMatrix, and finally, call /// a command (such as ) to multiply the perspective /// matrix by the pick matrix. /// /// /// When using gluPickMatrix to pick NURBS, be careful to turn off the /// NURBS property . If /// is not turned off, then any NURBS /// surface rendered is subdivided differently with the pick matrix than the way /// it was subdivided without the pick matrix. /// /// /// EXAMPLE /// /// /// When rendering a scene as follows: /// /// /// /// Gl.glMatrixMode(Gl.GL_PROJECTION); /// Gl.glLoadIdentity(); /// Glu.gluPerspective(. . .); /// Gl.glMatrixMode(Gl.GL_MODELVIEW); /// // Draw the scene /// /// /// /// The following code selects a portion of the viewport: /// /// /// /// Gl.glMatrixMode(Gl.GL_PROJECTION); /// Gl.glLoadIdentity(); /// Glu.gluPickMatrix(x, y, width, height, viewport); /// Glu.gluPerspective(. . .); /// Gl.glMatrixMode(Gl.GL_MODELVIEW); /// // Draw the scene /// /// /// /// /// /// // void APIENTRY gluPickMatrix(GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4]); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport); #endregion gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport) #region int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ) /// /// Maps object coordinates to window coordinates. /// /// /// The object's x axis coordinate. /// /// /// The object's y axis coordinate. /// /// /// The object's z axis coordinate. /// /// /// The current modelview matrix (as from a call). /// /// /// The current projection matrix (as from a /// call). /// /// /// The current viewport (as from a call). /// /// /// The computed window's x axis coordinate. /// /// /// The computed window's y axis coordinate. /// /// /// The computed window's z axis coordinate. /// /// /// Returns indicates success, a return value of /// indicates failure. /// /// /// /// gluProject transforms the specified object coordinates into window /// coordinates using modelMatrix, projectionMatrix, and /// viewport. The result is stored in winX, winY, and /// winZ. A return value of indicates success, /// a return value of indicates failure. /// /// /// To compute the coordinates, let v = (objX, objY, objZ, 1.0) /// represented as a matrix with 4 rows and 1 column. Then gluProject /// computes v' as follows: /// /// /// v' = P x M x v /// /// /// Where P is the current projection matrix projectionMatrix, M is the /// current modelview matrix modelMatrix (both represented as 4x4 matrices /// in column-major order) and 'x' represents matrix multiplication. /// /// /// The window coordinates are then computed as follows: /// /// /// /// winX = view(0) + view(2) * (v'(0) + 1) / 2 /// winY = view(1) + view(3) * (v'(1) + 1) / 2 /// winZ = (v'(2) + 1) / 2 /// /// /// /// /// /// // int APIENTRY gluProject(GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *winx, GLdouble *winy, GLdouble *winz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ); #endregion int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ) #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type) /// /// Describes a piecewise linear NURBS trimming curve. /// /// /// The NURBS object (created with ). /// /// /// The number of points on the curve. /// /// /// An array containing the curve points. /// /// /// The offset (a number of single-precision floating-point values) between /// points on the curve. /// /// /// The type of curve. Must be either or /// . /// /// /// /// gluPwlCurve describes a piecewise linear trimming curve for a NURBS /// surface. A piecewise linear curve consists of a list of coordinates of /// points in the parameter space for the NURBS surface to be trimmed. These /// points are connected with line segments to form a curve. If the curve is an /// approximation to a curve that is not piecewise linear, the points should be /// close enough in parameter space that the resulting path appears curved at the /// resolution used in the application. /// /// /// If type is , then it describes a curve in /// two-dimensional (u and v) parameter space. If it is /// , then it describes a curve in two-dimensional /// homogeneous (u, v, and w) parameter space. See the /// reference page for more information about /// trimming curves. /// /// /// NOTES /// /// /// To describe a trim curve that closely follows the contours of a NURBS /// surface, call . /// /// /// /// /// /// // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type); #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type) #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type) /// /// Describes a piecewise linear NURBS trimming curve. /// /// /// The NURBS object (created with ). /// /// /// The number of points on the curve. /// /// /// An array containing the curve points. /// /// /// The offset (a number of single-precision floating-point values) between /// points on the curve. /// /// /// The type of curve. Must be either or /// . /// /// /// /// gluPwlCurve describes a piecewise linear trimming curve for a NURBS /// surface. A piecewise linear curve consists of a list of coordinates of /// points in the parameter space for the NURBS surface to be trimmed. These /// points are connected with line segments to form a curve. If the curve is an /// approximation to a curve that is not piecewise linear, the points should be /// close enough in parameter space that the resulting path appears curved at the /// resolution used in the application. /// /// /// If type is , then it describes a curve in /// two-dimensional (u and v) parameter space. If it is /// , then it describes a curve in two-dimensional /// homogeneous (u, v, and w) parameter space. See the /// reference page for more information about /// trimming curves. /// /// /// NOTES /// /// /// To describe a trim curve that closely follows the contours of a NURBS /// surface, call . /// /// /// /// /// /// // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[,] data, int stride, int type); #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type) #region gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) /// /// Defines a callback for a quadric object. /// /// /// The quadric object (created with ). /// /// /// The callback being defined. The only valid value is /// . /// /// /// The function to be called. /// /// /// /// gluQuadricCallback is used to define a new callback to be used by a /// quadrics object. If the specified callback is already defined, then it is /// replaced. If func is null, then any existing callback is /// erased. /// /// /// The one legal callback is : /// /// /// /// /// Value /// Description /// /// /// /// /// The function is called when an error is encountered. Its single /// argument is of type , and it indicates the /// specific error that occurred. Character strings describing these /// errors can be retrieved with the /// call. /// /// /// /// /// /// /// /// // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); public static void gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) { quadricErrorCallback = func; __gluQuadricCallback(quad, which, quadricErrorCallback); } #endregion gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) #region gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle) /// /// Specifies the draw style desired for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired draw style. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Quadrics are rendered with polygon primitives. The polygons are /// drawn in a counterclockwise fashion with respect to their normals /// (as defined with ). /// /// /// /// /// /// Quadrics are rendered as a set of lines. /// /// /// /// /// /// Quadrics are rendered as a set of lines, except that edges /// separating coplanar faces will not be drawn. /// /// /// /// /// /// Quadrics are rendered as a set of points. /// /// /// /// /// /// /// gluQuadricDrawStyle specifies the draw style for quadrics rendered /// with quad. /// /// /// /// /// // void APIENTRY gluQuadricDrawStyle(GLUquadric *quadObject, GLenum drawStyle); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle); #endregion gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle) #region gluQuadricNormals([In] GLUquadric quad, int normal) /// /// Specifies what kind of normals are to be used for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired type of normals. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// No normals are generated. /// /// /// /// /// /// One normal is generated for every facet of a quadric. /// /// /// /// /// /// One normal is generated for every vertex of a quadric. This is /// the default value. /// /// /// /// /// /// /// gluQuadricNormals specifies what kind of normals are desired for /// quadrics rendered with quad. /// /// /// /// /// // void APIENTRY gluQuadricNormals(GLUquadric *quadObject, GLenum normals); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricNormals([In] GLUquadric quad, int normal); #endregion gluQuadricNormals([In] GLUquadric quad, int normal) #region gluQuadricOrientation([In] GLUquadric quad, int orientation) /// /// Specifies inside or outside orientation for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired orientation. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Draw quadrics with normals pointing outward. This is the default /// value. /// /// /// /// /// /// Draw quadrics with normals pointing inward. /// /// /// /// /// /// /// /// gluQuadricOrientation specifies what kind of orientation is desired /// for quadrics rendered with quad. /// /// /// The interpretation of outward and inward depends on the quadric being drawn. /// /// /// /// /// /// // void APIENTRY gluQuadricOrientation(GLUquadric *quadObject, GLenum orientation); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricOrientation([In] GLUquadric quad, int orientation); #endregion gluQuadricOrientation([In] GLUquadric quad, int orientation) #region gluQuadricTexture([In] GLUquadric quad, int texture) /// /// Specifies whether quadrics are to be textured. /// /// /// The quadric object (created with ). /// /// /// /// A flag indicating whether texture coordinates are to be generated. The /// following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Generate texture coordinates. /// /// /// /// /// /// Do not generate texture coordinates. This is the default value. /// /// /// /// /// /// /// /// gluQuadricTexture specifies if texture coordinates should be generated /// for quadrics rendered with quad. /// /// /// The manner in which texture coordinates are generated depends upon the /// specific quadric rendered. /// /// /// /// /// /// // void APIENTRY gluQuadricTexture(GLUquadric *quadObject, GLboolean textureCoords); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricTexture([In] GLUquadric quad, int texture); #endregion gluQuadricTexture([In] GLUquadric quad, int texture) #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut) /// /// Scales an image to an arbitrary size. /// /// /// The format of the pixel data. The following symbolic values are valid: /// , , /// , , /// , , /// , , /// , , /// , , and /// . /// /// /// The width of the source image that is scaled. /// /// /// The height of the source image that is scaled. /// /// /// The data type for dataIn. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// . /// /// /// A pointer to the source image. /// /// /// The width of the destination image. /// /// /// The height of the destination image. /// /// /// The data type for dataOut. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// A pointer to the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluScaleImage scales a pixel image using the appropriate pixel store /// modes to unpack data from the source image and pack data into the /// destination image. /// /// /// When shrinking an image, gluScaleImage uses a box filter to sample the /// source image and create pixels for the destination image. When magnifying an /// image, the pixels from the source image are linearly interpolated to create /// the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// See the reference page for a description of /// the acceptable values for the format, typeIn, and /// typeOut parameters. /// /// /// NOTES /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if widthIn, /// heightIn, widthOut, or heightOut is negative. /// /// /// is returned if format, typeIn, /// or typeOut is not legal. /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// /// /// /// /// /// // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut); #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut) #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut) /// /// Scales an image to an arbitrary size. /// /// /// The format of the pixel data. The following symbolic values are valid: /// , , /// , , /// , , /// , , /// , , /// , , and /// . /// /// /// The width of the source image that is scaled. /// /// /// The height of the source image that is scaled. /// /// /// The data type for dataIn. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// . /// /// /// A pointer to the source image. /// /// /// The width of the destination image. /// /// /// The height of the destination image. /// /// /// The data type for dataOut. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// A pointer to the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluScaleImage scales a pixel image using the appropriate pixel store /// modes to unpack data from the source image and pack data into the /// destination image. /// /// /// When shrinking an image, gluScaleImage uses a box filter to sample the /// source image and create pixels for the destination image. When magnifying an /// image, the pixels from the source image are linearly interpolated to create /// the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// See the reference page for a description of /// the acceptable values for the format, typeIn, and /// typeOut parameters. /// /// /// NOTES /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if widthIn, /// heightIn, widthOut, or heightOut is negative. /// /// /// is returned if format, typeIn, /// or typeOut is not legal. /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// /// /// /// /// /// // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut); #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut) #region gluSphere([In] GLUquadric quad, double radius, int slices, int stacks) /// /// Draws a sphere. /// /// /// The quadric object (created with ). /// /// /// The radius of the sphere. /// /// /// The number of subdivisions around the z-axis (similar to lines of longitude. /// /// /// The number of subdivisions along the z-axis (similar to lines of latitude). /// /// /// /// gluSphere draws a sphere of the given radius centered around the /// origin. The sphere is subdivided around the z axis into slices and along the /// z axis into stacks (similar to lines of longitude and latitude). /// /// /// If the orientation is set to (with /// ), then any normals generated point away /// from the center of the sphere. Otherwise, they point toward the center of /// the sphere. /// /// /// If texturing is turned on (with ), then /// texture coordinates are generated so that t ranges from 0.0 at z = -radius /// to 1.0 at z = radius (t increases linearly along longitudinal lines), and /// s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y /// axis, to 0.75 at the -x axis, and back to 1.0 at the +y axis. /// /// /// /// /// /// /// /// // void APIENTRY gluSphere(GLUquadric *qobj, GLdouble radius, GLint slices, GLint stacks); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluSphere([In] GLUquadric quad, double radius, int slices, int stacks); #endregion gluSphere([In] GLUquadric quad, double radius, int slices, int stacks) #region gluTessBeginContour([In] GLUtesselator tess) /// /// Delimits a contour description. /// /// /// The tessellation object (created with ). /// /// /// gluTessBeginContour and delimit the /// definition of a polygon contour. Within each /// gluTessBeginContour/ pair, there can /// be zero or more calls to . The vertices specify /// a closed contour (the last vertex of each contour is automatically linked to /// the first). See the reference page for more /// details. gluTessBeginContour can only be called between /// and . /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginContour(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginContour([In] GLUtesselator tess); #endregion gluTessBeginContour([In] GLUtesselator tess) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer definedpolygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] void* data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) { tessBeginCallback = func; __gluTessCallback(tess, which, tessBeginCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) { tessBeginDataCallback = func; __gluTessCallback(tess, which, tessBeginDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) { tessCombineCallback = func; __gluTessCallback(tess, which, tessCombineCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) { tessCombineCallback1 = func; __gluTessCallback(tess, which, tessCombineCallback1); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) { tessCombineDataCallback = func; __gluTessCallback(tess, which, tessCombineDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) { tessEdgeFlagCallback = func; __gluTessCallback(tess, which, tessEdgeFlagCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) { tessEdgeFlagDataCallback = func; __gluTessCallback(tess, which, tessEdgeFlagDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) { tessEndCallback = func; __gluTessCallback(tess, which, tessEndCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) { tessEndDataCallback = func; __gluTessCallback(tess, which, tessEndDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) { tessErrorCallback = func; __gluTessCallback(tess, which, tessErrorCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) { tessErrorDataCallback = func; __gluTessCallback(tess, which, tessErrorDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) { tessVertexCallback = func; __gluTessCallback(tess, which, tessVertexCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) { tessVertexCallback1 = func; __gluTessCallback(tess, which, tessVertexCallback1); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) { tessVertexDataCallback = func; __gluTessCallback(tess, which, tessVertexDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) #region gluTessEndContour([In] GLUtesselator tess) /// /// Delimits a contour description. /// /// /// The tessellation object (created with ). /// /// /// and gluTessEndContour delimit the /// definition of a polygon contour. Within each /// /gluTessEndContour pair, there can /// be zero or more calls to . The vertices specify /// a closed contour (the last vertex of each contour is automatically linked to /// the first). See the reference page for more /// details. can only be called between /// and . /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessEndContour(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessEndContour([In] GLUtesselator tess); #endregion gluTessEndContour([In] GLUtesselator tess) #region gluTessEndPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// and gluTessEndPolygon delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// /gluTessEndPolygon pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// Once gluTessEndPolygon is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessEndPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessEndPolygon([In] GLUtesselator tess); #endregion gluTessEndPolygon([In] GLUtesselator tess) #region gluTessNormal([In] GLUtesselator tess, double x, double y, double z) /// /// Specifies a normal for a polygon. /// /// /// The tessellation object (created with ). /// /// /// The x-coordinate component of a normal. /// /// /// The y-coordinate component of a normal. /// /// /// The z-coordinate component of a normal. /// /// /// /// gluTessNormal describes a normal for a polygon that the program is /// defining. All input data will be projected onto a plane perpendicular to one /// of the three coordinate axes before tessellation and all output triangles /// will be oriented CCW with respect to the normal (CW orientation can be /// obtained by reversing the sign of the supplied normal). For example, if you /// know that all polygons lie in the x-y plane, call /// Glu.gluTessNormal(tess, 0.0, 0.0, 1.0) before rendering any polygons. /// /// /// If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is /// determined as follows. The direction of the normal, up to its sign, is found /// by fitting a plane to the vertices, without regard to how the vertices are /// connected. It is expected that the input data lies approximately in the /// plane; otherwise, projection perpendicular to one of the three coordinate /// axes may substantially change the geometry. The sign of the normal is chosen /// so that the sum of the signed areas of all input contours is nonnegative /// (where a CCW contour has positive area). /// /// /// The supplied normal persists until it is changed by another call to /// gluTessNormal. /// /// /// /// /// // void APIENTRY gluTessNormal(GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessNormal([In] GLUtesselator tess, double x, double y, double z); #endregion gluTessNormal([In] GLUtesselator tess, double x, double y, double z) #region gluTessProperty([In] GLUtesselator tess, int which, double data) /// /// Sets the property of a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The property value to set. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// /// Determines which parts of the polygon are on the "interior". /// data may be set to one of /// , /// , /// , or /// , or /// . /// /// /// To understand how the winding rule works, consider that the /// input contours partition the plane into regions. The winding /// rule determines which of these regions are inside the /// polygon. /// /// /// For a single contour C, the winding number of a point x is /// simply the signed number of revolutions we make around x as /// we travel once around C (where CCW is positive). When there /// are several contours, the individual winding numbers are /// summed. This procedure associates a signed integer value /// with each point x in the plane. Note that the winding number /// is the same for all points in a single region. /// /// /// The winding rule classifies a region as "inside" if its /// winding number belongs to the chosen category (odd, nonzero, /// positive, negative, or absolute value of at least two). The /// previous GLU tessellator (prior to GLU 1.2) used the "odd" /// rule. The "nonzero" rule is another common way to define the /// interior. The other three rules are useful for polygon CSG /// operations. /// /// /// /// /// /// /// Is a boolean value ("value" should be set to /// or ). When /// set to , a set of closed contours /// separating the polygon interior and exterior are returned instead /// of a tessellation. Exterior contours are oriented CCW with /// respect to the normal; interior contours are oriented CW. The /// and /// callbacks use the type /// for each contour. /// /// /// /// /// /// /// Specifies a tolerance for merging features to reduce the size /// of the output. For example, two vertices that are very close /// to each other might be replaced by a single vertex. The /// tolerance is multiplied by the largest coordinate magnitude /// of any input vertex; this specifies the maximum distance that /// any feature can move as the result of a single merge /// operation. If a single feature takes part in several merge /// operations, the total distance moved could be larger. /// /// /// Feature merging is completely optional; the tolerance is only /// a hint. The implementation is free to merge in some cases /// and not in others, or to never merge features at all. The /// initial tolerance is 0. /// /// /// The current implementation merges vertices only if they are /// exactly coincident, regardless of the current tolerance. A /// vertex is spliced into an edge only if the implementation is /// unable to distinguish which side of the edge the vertex lies /// on. Two edges are merged only when both endpoints are /// identical. /// /// /// /// /// /// /// /// The value of the indicated property. /// /// /// gluTessProperty is used to control properties stored in a tessellation /// object. These properties affect the way that the polygons are interpreted /// and rendered. /// /// /// // void APIENTRY gluTessProperty(GLUtesselator *tess, GLenum which, GLdouble value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessProperty([In] GLUtesselator tess, int which, double data); #endregion gluTessProperty([In] GLUtesselator tess, int which, double data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void* data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data) #region int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ) /// /// Maps window coordinates to object coordinates. /// /// /// The window's x axis coordinate to be mapped. /// /// /// The window's y axis coordinate to be mapped. /// /// /// The window's z axis coordinate to be mapped. /// /// /// The modelview matrix (as from a call). /// /// /// The projection matrix (as from a call). /// /// /// The viewport (as from a call). /// /// /// The computed object's x axis coordinate. /// /// /// The computed object's y axis coordinate. /// /// /// The computed object's z axis coordinate. /// /// /// A return value of indicates success; a return value /// of indicates failure. /// /// /// /// gluUnProject maps the specified window coordinates into object /// coordinates using modelMatrix, projectionMatrix, and /// viewport. The result is stored in objX, objY, and /// objZ. A return value of indicates success; /// a return value of indicates failure. /// /// /// To compute the coordinates (objX, objY, and objZ), /// gluUnProject multiplies the normalized device coordinates by the /// inverse of modelMatrix multiplied by projectionMatrix as /// follows: /// /// /// /// ( 2(winX - viewport[0]) ) /// | ----------------- - 1 | /// | viewport[2] | /// ( ) | | /// | objX | | 2(winY - viewport[1]) | /// | objY | = INV(PM)| ----------------- - 1 | /// | objZ | | viewport[3] | /// ( W ) | | /// | 2(winZ) - 1 | /// | | /// ( 1 ) /// /// /// /// INV() denotes matrix inversion. W is an unused variable, included for /// consistent matrix notation. /// /// /// /// /// // int APIENTRY gluUnProject(GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *objx, GLdouble *objy, GLdouble *objz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ); #endregion int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ) #region int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW) /// /// Maps window and clip coordinates to object coordinates. /// /// /// The window's x axis coordinate to be mapped. /// /// /// The window's y axis coordinate to be mapped. /// /// /// The window's z axis coordinate to be mapped. /// /// /// The clip w coordinate to be mapped. /// /// /// The modelview matrix (as from a call). /// /// /// The projection matrix (as from a call). /// /// /// The viewport (as from a call). /// /// /// The near plane (as from a call). /// /// /// The far plane (as from a call). /// /// /// The computed object's x axis coordinate. /// /// /// The computed object's y axis coordinate. /// /// /// The computed object's z axis coordinate. /// /// /// The computed object's clip w coordinate. /// /// /// A return value of indicates success; a return /// value of indicates failure. /// /// /// /// gluUnProject4 maps the specified window coordinates winX, /// winY and winZ and its clip w coordinate clipW into /// object coordinates (objX, objY, objZ, objW) /// using modelMatrix, projectionMatrix and viewport. /// clipW can be other than 1 as for vertices in /// when data type /// is returned. This also handles the /// case where the nearVal and farVal planes are different from the /// default, 0 and 1, respectively. A return value of /// indicates success; a return value of indicates /// failure. /// /// /// To compute the coordinates (objX, objY, objZ and /// objW), gluUnProject4 multiplies the normalized device /// coordinates by the inverse of modelMatrix multiplied by /// projectionMatrix as follows: /// /// /// /// ( 2(winX - viewport[0] ) /// | ---------------- - 1 | /// | viewport[2] | /// | | /// | 2(winY - viewport[1] | /// ( objX ) | ---------------- - 1 | /// | objY | = INV(PM) * | viewport[3] | /// | objZ | | | /// ( objW ) | 2(winZ - nearVal) | /// | -------------- - 1 | /// | farVal - nearVal | /// | | /// ( clipW ) /// /// /// /// INV() denotes matrix inversion. /// /// /// gluUnProject4 is equivalent to when /// clipW is 1, nearVal is 0 and farVal is 1. /// /// /// gluUnProject4 is available only if the GLU version is 1.3 or greater. /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW); #endregion int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW) } }opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/GLEnums.cs0000664000175000017500000060436711453131430022402 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace Tao.OpenGl { #pragma warning disable 3019 #pragma warning disable 1591 public static partial class Gl { public const int GL_TEXTURE_BLUE_SIZE = ((int)0x805E); public const int GL_MATRIX_INDEX_ARRAY_ARB = ((int)0x8844); public const int GL_BLEND_DST_RGB = ((int)0x80C8); public const int GL_DONT_CARE = ((int)0x1100); public const int GL_OP_FRAC_EXT = ((int)0x8789); public const int GL_SOURCE0_RGB = ((int)0x8580); public const int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = ((int)0x880E); public const int GL_POLYGON_TOKEN = ((int)0x0703); public const int GL_VARIABLE_C_NV = ((int)0x8525); public const int GL_TRIANGLE_FAN = ((int)0x0006); public const int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = ((int)0x87F1); public const int GL_TEXTURE2 = ((int)0x84C2); public const int GL_VERTEX_ARRAY_STRIDE = ((int)0x807C); public const int GL_SWIZZLE_STRQ_ATI = ((int)0x897A); public const int GL_ALPHA_MIN_SGIX = ((int)0x8320); public const int GL_CULL_FACE = ((int)0x0B44); public const int GL_FLOAT_MAT2 = ((int)0x8B5A); public const int GL_MATRIX7_ARB = ((int)0x88C7); public const int GL_POST_CONVOLUTION_GREEN_SCALE = ((int)0x801D); public const int GL_UNSIGNED_INT_SAMPLER_1D_EXT = ((int)0x8DD1); public const int GL_PIXEL_MAP_S_TO_S = ((int)0x0C71); public const int GL_DOT3_RGBA_EXT = ((int)0x8741); public const int GL_OP_FLOOR_EXT = ((int)0x878F); public const int GL_LINE_WIDTH = ((int)0x0B21); public const int GL_ATTRIB_ARRAY_POINTER_NV = ((int)0x8645); public const int GL_SUBTRACT_ARB = ((int)0x84E7); public const int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = ((int)0x8909); public const int GL_BUFFER_MAPPED_ARB = ((int)0x88BC); public const int GL_LOWER_LEFT = ((int)0x8CA1); public const int GL_MODELVIEW10_ARB = ((int)0x872A); public const int GL_POINT_SIZE_MAX_ARB = ((int)0x8127); public const int GL_TEXTURE3 = ((int)0x84C3); public const int GL_MAX_4D_TEXTURE_SIZE_SGIS = ((int)0x8138); public const int GL_SPRITE_OBJECT_ALIGNED_SGIX = ((int)0x814D); public const int GL_OP_LOG_BASE_2_EXT = ((int)0x8792); public const int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = ((int)0x8178); public const int GL_MATRIX3_ARB = ((int)0x88C3); public const int GL_SRC2_RGB = ((int)GL_SOURCE2_RGB); public const int GL_UPPER_LEFT = ((int)0x8CA2); public const int GL_LINE_STRIP = ((int)0x0003); public const int GL_SECONDARY_COLOR_NV = ((int)0x852D); public const int GL_Y_EXT = ((int)0x87D6); public const int GL_ARRAY_BUFFER_BINDING = ((int)0x8894); public const int GL_MAX_PROGRAM_LOOP_DEPTH_NV = ((int)0x88F7); public const int GL_EVAL_VERTEX_ATTRIB1_NV = ((int)0x86C7); public const int GL_MODELVIEW27_ARB = ((int)0x873B); public const int GL_SRGB8_ALPHA8_EXT = ((int)0x8C43); public const int GL_CONSTANT_EXT = ((int)0x8576); public const int GL_TEXTURE_CONSTANT_DATA_SUNX = ((int)0x81D6); public const int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = ((int)0x8162); public const int GL_TEXTURE0 = ((int)0x84C0); public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = ((int)0x8CD2); public const int GL_REPLACEMENT_CODE_SUN = ((int)0x81D8); public const int GL_STENCIL_INDEX = ((int)0x1901); public const int GL_WRITE_ONLY = ((int)0x88B9); public const int GL_DUAL_LUMINANCE_ALPHA4_SGIS = ((int)0x811C); public const int GL_CLIP_NEAR_HINT_PGI = ((int)0x1A220); public const int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = ((int)0x88F4); public const int GL_UNSIGNED_SHORT_8_8_APPLE = ((int)0x85BA); public const int GL_T2F_IUI_V3F_EXT = ((int)0x81B2); public const int GL_INTERLACE_OML = ((int)0x8980); public const int GL_DRAW_BUFFER2_ARB = ((int)0x8827); public const int GL_REG_23_ATI = ((int)0x8938); public const int GL_CLAMP_TO_EDGE_SGIS = ((int)0x812F); public const int GL_POINT_SIZE_MIN_ARB = ((int)0x8126); public const int GL_CURRENT_INDEX = ((int)0x0B01); public const int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = ((int)0x8022); public const int GL_TEXTURE_WRAP_Q_SGIS = ((int)0x8137); public const int GL_POINT_SIZE_MAX_EXT = ((int)0x8127); public const int GL_MAP1_COLOR_4 = ((int)0x0D90); public const int GL_STATIC_READ = ((int)0x88E5); public const int GL_PASS_THROUGH_TOKEN = ((int)0x0700); public const int GL_TEXTURE1 = ((int)0x84C1); public const int GL_PERTURB_EXT = ((int)0x85AE); public const int GL_DRAW_BUFFER0_ARB = ((int)0x8825); public const int GL_ALPHA_TEST = ((int)0x0BC0); public const int GL_STENCIL_FUNC = ((int)0x0B92); public const int GL_DOT3_RGB_EXT = ((int)0x8740); public const int GL_INDEX_ARRAY_TYPE_EXT = ((int)0x8085); public const int GL_STENCIL_FAIL = ((int)0x0B94); public const int GL_SCREEN_COORDINATES_REND = ((int)0x8490); public const int GL_RGBA4 = ((int)0x8056); public const int GL_MATRIX7_NV = ((int)0x8637); public const int GL_POST_COLOR_MATRIX_RED_SCALE = ((int)0x80B4); public const int GL_INDEX_ARRAY_TYPE = ((int)0x8085); public const int GL_PIXEL_SUBSAMPLE_4242_SGIX = ((int)0x85A4); public const int GL_STENCIL_CLEAR_TAG_VALUE_EXT = ((int)0x88F3); public const int GL_TEXTURE_STACK_DEPTH = ((int)0x0BA5); public const int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = ((int)0x845C); public const int GL_SOURCE0_ALPHA = ((int)0x8588); public const int GL_LUMINANCE12_ALPHA12 = ((int)0x8047); public const int GL_MAP2_VERTEX_ATTRIB9_4_NV = ((int)0x8679); public const int GL_DEPTH_COMPONENT24_ARB = ((int)0x81A6); public const int GL_ACTIVE_UNIFORMS = ((int)0x8B86); public const int GL_GREEN_BITS = ((int)0x0D53); public const int GL_TEXTURE6 = ((int)0x84C6); public const int GL_TEXTURE_LEQUAL_R_SGIX = ((int)0x819C); public const int GL_ALPHA_TEST_REF = ((int)0x0BC2); public const int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = ((int)0x801F); public const int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = ((int)103077); public const int GL_STREAM_READ_ARB = ((int)0x88E1); public const int GL_UNSIGNED_BYTE = ((int)0x1401); public const int GL_X_EXT = ((int)0x87D5); public const int GL_GREEN_BIAS = ((int)0x0D19); public const int GL_UNSIGNED_SHORT_4_4_4_4 = ((int)0x8033); public const int GL_ALLOW_DRAW_OBJ_HINT_PGI = ((int)0x1A20E); public const int GL_MODELVIEW0_ARB = ((int)0x1700); public const int GL_MODULATE_SUBTRACT_ATI = ((int)0x8746); public const int GL_ARRAY_OBJECT_OFFSET_ATI = ((int)0x8767); public const int GL_UNPACK_CMYK_HINT_EXT = ((int)0x800F); public const int GL_EDGE_FLAG_ARRAY_EXT = ((int)0x8079); public const int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = ((int)0x801E); public const int GL_LO_BIAS_NV = ((int)0x8715); public const int GL_ALPHA_SCALE = ((int)0x0D1C); public const int GL_VARIANT_ARRAY_TYPE_EXT = ((int)0x87E7); public const int GL_VERTEX_PRECLIP_HINT_SGIX = ((int)0x83EF); public const int GL_TEXTURE7 = ((int)0x84C7); public const int GL_TEXTURE_WRAP_R_EXT = ((int)0x8072); public const int GL_TEXTURE18_ARB = ((int)0x84D2); public const int GL_SOURCE1_RGB_ARB = ((int)0x8581); public const int GL_VARIABLE_E_NV = ((int)0x8527); public const int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = ((int)0x8B87); public const int GL_MAP1_VERTEX_ATTRIB15_4_NV = ((int)0x866F); public const int GL_MAX_3D_TEXTURE_SIZE = ((int)0x8073); public const int GL_PROGRAM_ADDRESS_REGISTERS_ARB = ((int)0x88B0); public const int GL_QUAD_INTENSITY8_SGIS = ((int)0x8123); public const int GL_CURRENT_WEIGHT_ARB = ((int)0x86A8); public const int GL_OP_DOT4_EXT = ((int)0x8785); public const int GL_TEXTURE_RESIDENT_EXT = ((int)0x8067); public const int GL_ALPHA12 = ((int)0x803D); public const int GL_INSTRUMENT_MEASUREMENTS_SGIX = ((int)0x8181); public const int GL_EQUAL = ((int)0x0202); public const int GL_MAP2_INDEX = ((int)0x0DB1); public const int GL_SOURCE1_ALPHA = ((int)0x8589); public const int GL_PIXEL_PACK_BUFFER_BINDING_EXT = ((int)0x88ED); public const int GL_FRAGMENT_PROGRAM_BINDING_NV = ((int)0x8873); public const int GL_OP_SUB_EXT = ((int)0x8796); public const int GL_BUMP_ROT_MATRIX_SIZE_ATI = ((int)0x8776); public const int GL_UNPACK_IMAGE_HEIGHT = ((int)0x806E); public const int GL_RESAMPLE_DECIMATE_SGIX = ((int)0x8430); public const int GL_COLOR_TABLE = ((int)0x80D0); public const int GL_DEPTH = ((int)0x1801); public const int GL_SHADER_CONSISTENT_NV = ((int)0x86DD); public const int GL_UNSIGNED_BYTE_2_3_3_REV = ((int)0x8362); public const int GL_OFFSET_HILO_TEXTURE_2D_NV = ((int)0x8854); public const int GL_FLOAT_R16_NV = ((int)0x8884); public const int GL_MATRIX1_ARB = ((int)0x88C1); public const int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = ((int)0x817C); public const int GL_VERTEX_ATTRIB_ARRAY_TYPE = ((int)0x8625); public const int GL_FOG_COORDINATE_EXT = ((int)0x8451); public const int GL_LINES_ADJACENCY_EXT = ((int)0x000A); public const int GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = ((int)0x8311); public const int GL_TEXTURE_1D_ARRAY_EXT = ((int)0x8C18); public const int GL_COMBINER_INPUT_NV = ((int)0x8542); public const int GL_UNSIGNED_SHORT_8_8_MESA = ((int)0x85BA); public const int GL_TEXTURE_LUMINANCE_SIZE_EXT = ((int)0x8060); public const int GL_DRAW_BUFFER2_ATI = ((int)0x8827); public const int GL_STENCIL_BACK_FAIL = ((int)0x8801); public const int GL_RGB_S3TC = ((int)0x83A0); public const int GL_TEXTURE5 = ((int)0x84C5); public const int GL_FLOAT_VEC4_ARB = ((int)0x8B52); public const int GL_VERTEX_ARRAY = ((int)0x8074); public const int GL_FUNC_SUBTRACT = ((int)0x800A); public const int GL_REPLACE_OLDEST_SUN = ((int)0x0003); public const int GL_4X_BIT_ATI = ((int)0x00000002); public const int GL_PER_STAGE_CONSTANTS_NV = ((int)0x8535); public const int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F5); public const int GL_RGBA16 = ((int)0x805B); public const int GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = ((int)0x8187); public const int GL_STORAGE_CACHED_APPLE = ((int)0x85BE); public const int GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = ((int)0x8184); public const int GL_SRGB_ALPHA_EXT = ((int)0x8C42); public const int GL_CONSTANT_COLOR0_NV = ((int)0x852A); public const int GL_EVAL_VERTEX_ATTRIB0_NV = ((int)0x86C6); public const int GL_COMBINE_ALPHA_ARB = ((int)0x8572); public const int GL_MATRIX31_ARB = ((int)0x88DF); public const int GL_LINE_STIPPLE_REPEAT = ((int)0x0B26); public const int GL_ACTIVE_VERTEX_UNITS_ARB = ((int)0x86A5); public const int GL_INDEX_SHIFT = ((int)0x0D12); public const int GL_FOG_OFFSET_SGIX = ((int)0x8198); public const int GL_GEOMETRY_VERTICES_OUT_EXT = ((int)0x8DDA); public const int GL_DETAIL_TEXTURE_LEVEL_SGIS = ((int)0x809A); public const int GL_SAMPLE_ALPHA_TO_ONE_EXT = ((int)0x809F); public const int GL_TEXTURE13_ARB = ((int)0x84CD); public const int GL_TEXTURE_3D = ((int)0x806F); public const int GL_TEXTURE_2D = ((int)0x0DE1); public const int GL_SIGNED_NEGATE_NV = ((int)0x853D); public const int GL_DEPTH_CLAMP_NV = ((int)0x864F); public const int GL_COLOR_TABLE_WIDTH_SGI = ((int)0x80D9); public const int GL_RENDERBUFFER_EXT = ((int)0x8D41); public const int GL_VERTEX_ATTRIB_ARRAY_STRIDE = ((int)0x8624); public const int GL_TEXTURE14 = ((int)0x84CE); public const int GL_TEXTURE17 = ((int)0x84D1); public const int GL_TEXTURE16 = ((int)0x84D0); public const int GL_TEXTURE11 = ((int)0x84CB); public const int GL_TEXTURE10 = ((int)0x84CA); public const int GL_R5_G6_B5_A8_ICC_SGIX = ((int)0x8467); public const int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = ((int)0x84EB); public const int GL_RGBA16_EXT = ((int)0x805B); public const int GL_MAX_MODELVIEW_STACK_DEPTH = ((int)0x0D36); public const int GL_COLOR_ATTACHMENT4_EXT = ((int)0x8CE4); public const int GL_TEXTURE19 = ((int)0x84D3); public const int GL_TEXTURE18 = ((int)0x84D2); public const int GL_PRIMITIVE_ID_NV = ((int)0x8C7C); public const int GL_QUERY_RESULT = ((int)0x8866); public const int GL_DRAW_BUFFER3_ARB = ((int)0x8828); public const int GL_UNSIGNED_SHORT_5_6_5_REV = ((int)0x8364); public const int GL_COMPRESSED_RGB_FXT1_3DFX = ((int)0x86B0); public const int GL_OBJECT_POINT_SGIS = ((int)0x81F5); public const int GL_TEXTURE_COLOR_WRITEMASK_SGIS = ((int)0x81EF); public const int GL_COLOR_MATERIAL_PARAMETER = ((int)0x0B56); public const int GL_FRAGMENT_PROGRAM_ARB = ((int)0x8804); public const int GL_FOG_START = ((int)0x0B63); public const int GL_COLOR_TABLE_FORMAT_SGI = ((int)0x80D8); public const int GL_CLIP_PLANE3 = ((int)0x3003); public const int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = ((int)0x8CD7); public const int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = ((int)0x88AB); public const int GL_ENABLE_BIT = ((int)0x00002000); public const int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = ((int)0x83F3); public const int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = ((int)0x88FD); public const int GL_PIXEL_MAP_I_TO_I_SIZE = ((int)0x0CB0); public const int GL_FLOAT_MAT3x2 = ((int)0x8B67); public const int GL_DSDT_MAG_VIB_NV = ((int)0x86F7); public const int GL_SECONDARY_COLOR_ARRAY_STRIDE = ((int)0x845C); public const int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = ((int)0x8C8A); public const int GL_SRGB8_ALPHA8 = ((int)0x8C43); public const int GL_COMPRESSED_RGBA_FXT1_3DFX = ((int)0x86B1); public const int GL_INFO_LOG_LENGTH = ((int)0x8B84); public const int GL_VECTOR_EXT = ((int)0x87BF); public const int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = ((int)0x8DD8); public const int GL_FOG_COORD_SRC = ((int)GL_FOG_COORDINATE_SOURCE); public const int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = ((int)0x8DD6); public const int GL_MAD_ATI = ((int)0x8968); public const int GL_REG_26_ATI = ((int)0x893B); public const int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = ((int)0x840B); public const int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = ((int)0x886A); public const int GL_TEXTURE_MAG_SIZE_NV = ((int)0x871F); public const int GL_DYNAMIC_READ_ARB = ((int)0x88E9); public const int GL_OUTPUT_TEXTURE_COORD31_EXT = ((int)0x87BC); public const int GL_DEPENDENT_GB_TEXTURE_2D_NV = ((int)0x86EA); public const int GL_DRAW_BUFFER7_ARB = ((int)0x882C); public const int GL_TEXTURE10_ARB = ((int)0x84CA); public const int GL_PIXEL_MAP_G_TO_G = ((int)0x0C77); public const int GL_VALIDATE_STATUS = ((int)0x8B83); public const int GL_DOT3_RGBA_ARB = ((int)0x86AF); public const int GL_PROXY_TEXTURE_CUBE_MAP = ((int)0x851B); public const int GL_MAGNITUDE_BIAS_NV = ((int)0x8718); public const int GL_ALPHA_MAX_SGIX = ((int)0x8321); public const int GL_MATRIX19_ARB = ((int)0x88D3); public const int GL_ONE_MINUS_CONSTANT_COLOR_EXT = ((int)0x8002); public const int GL_DELETE_STATUS = ((int)0x8B80); public const int GL_SHADER_OPERATION_NV = ((int)0x86DF); public const int GL_R1UI_C4UB_V3F_SUN = ((int)0x85C5); public const int GL_MAX_DRAW_BUFFERS_ARB = ((int)0x8824); public const int GL_PROGRAM_TARGET_NV = ((int)0x8646); public const int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = ((int)0x8971); public const int GL_STATIC_COPY = ((int)0x88E6); public const int GL_SEPARABLE_2D = ((int)0x8012); public const int GL_STENCIL_INDEX4_EXT = ((int)0x8D47); public const int GL_OUTPUT_TEXTURE_COORD24_EXT = ((int)0x87B5); public const int GL_BLUE_BIT_ATI = ((int)0x00000004); public const int GL_BLEND_EQUATION_RGB = ((int)GL_BLEND_EQUATION); public const int GL_COLOR_TABLE_RED_SIZE = ((int)0x80DA); public const int GL_LINEAR = ((int)0x2601); public const int GL_MAX_VIEWPORT_DIMS = ((int)0x0D3A); public const int GL_BOOL = ((int)0x8B56); public const int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = ((int)0x80D4); public const int GL_MAX_ELEMENTS_VERTICES_EXT = ((int)0x80E8); public const int GL_MAX_ASYNC_TEX_IMAGE_SGIX = ((int)0x835F); public const int GL_DS_BIAS_NV = ((int)0x8716); public const int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = ((int)0x8096); public const int GL_DEPENDENT_AR_TEXTURE_2D_NV = ((int)0x86E9); public const int GL_FOG_COORDINATE_ARRAY_LIST_IBM = ((int)103076); public const int GL_COLOR_ATTACHMENT0_EXT = ((int)0x8CE0); public const int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = ((int)0x8336); public const int GL_STENCIL_BACK_FUNC_ATI = ((int)0x8800); public const int GL_ACCUM_GREEN_BITS = ((int)0x0D59); public const int GL_ATTACHED_SHADERS = ((int)0x8B85); public const int GL_VERTEX_ARRAY_EXT = ((int)0x8074); public const int GL_INDEX_BITS = ((int)0x0D51); public const int GL_SOURCE1_RGB = ((int)0x8581); public const int GL_CURRENT_SECONDARY_COLOR = ((int)0x8459); public const int GL_MAX_ELEMENTS_INDICES_EXT = ((int)0x80E9); public const int GL_MIRROR_CLAMP_TO_BORDER_EXT = ((int)0x8912); public const int GL_CONSTANT_COLOR1_NV = ((int)0x852B); public const int GL_DUAL_LUMINANCE12_SGIS = ((int)0x8116); public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE = ((int)0x851C); public const int GL_INTENSITY16I_EXT = ((int)0x8D8B); public const int GL_BUFFER_USAGE_ARB = ((int)0x8765); public const int GL_SAMPLE_BUFFERS = ((int)0x80A8); public const int GL_EVAL_VERTEX_ATTRIB3_NV = ((int)0x86C9); public const int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = ((int)0x83F1); public const int GL_MATRIX29_ARB = ((int)0x88DD); public const int GL_R11F_G11F_B10F_EXT = ((int)0x8C3A); public const int GL_DRAW_BUFFER13 = ((int)0x8832); public const int GL_DRAW_BUFFER12 = ((int)0x8831); public const int GL_DRAW_BUFFER11 = ((int)0x8830); public const int GL_DRAW_BUFFER10 = ((int)0x882F); public const int GL_IUI_N3F_V3F_EXT = ((int)0x81B0); public const int GL_CONSERVE_MEMORY_HINT_PGI = ((int)0x1A1FD); public const int GL_DRAW_BUFFER15 = ((int)0x8834); public const int GL_COLOR_MATRIX_STACK_DEPTH = ((int)0x80B2); public const int GL_VIBRANCE_SCALE_NV = ((int)0x8713); public const int GL_COMPRESSED_TEXTURE_FORMATS_ARB = ((int)0x86A3); public const int GL_FORMAT_SUBSAMPLE_244_244_OML = ((int)0x8983); public const int GL_UNPACK_SKIP_IMAGES_EXT = ((int)0x806D); public const int GL_FLOAT_R32_NV = ((int)0x8885); public const int GL_TEXTURE_COORD_ARRAY_EXT = ((int)0x8078); public const int GL_SHADING_LANGUAGE_VERSION = ((int)0x8B8C); public const int GL_SATURATE_BIT_ATI = ((int)0x00000040); public const int GL_LIST_INDEX = ((int)0x0B33); public const int GL_CONST_EYE_NV = ((int)0x86E5); public const int GL_BLEND_SRC_ALPHA = ((int)0x80CB); public const int GL_POINT_FADE_THRESHOLD_SIZE_EXT = ((int)0x8128); public const int GL_TEXTURE_WRAP_R = ((int)0x8072); public const int GL_OUTPUT_COLOR0_EXT = ((int)0x879B); public const int GL_FUNC_REVERSE_SUBTRACT = ((int)0x800B); public const int GL_INDEX_LOGIC_OP = ((int)0x0BF1); public const int GL_BUFFER_ACCESS_ARB = ((int)0x88BB); public const int GL_SHARED_TEXTURE_PALETTE_EXT = ((int)0x81FB); public const int GL_TEXTURE_ALPHA_SIZE = ((int)0x805F); public const int GL_ARRAY_OBJECT_BUFFER_ATI = ((int)0x8766); public const int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = ((int)0x888F); public const int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = ((int)0x8403); public const int GL_1PASS_EXT = ((int)0x80A1); public const int GL_CON_29_ATI = ((int)0x895E); public const int GL_RGBA_SIGNED_COMPONENTS_EXT = ((int)0x8C3C); public const int GL_CLAMP_FRAGMENT_COLOR_ARB = ((int)0x891B); public const int GL_AMBIENT = ((int)0x1200); public const int GL_TEXTURE_DEFORMATION_BIT_SGIX = ((int)0x00000001); public const int GL_STACK_OVERFLOW = ((int)0x0503); public const int GL_CLIP_PLANE2 = ((int)0x3002); public const int GL_LOAD = ((int)0x0101); public const int GL_BINORMAL_ARRAY_STRIDE_EXT = ((int)0x8441); public const int GL_DSDT_NV = ((int)0x86F5); public const int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87D2); public const int GL_SMOOTH_LINE_WIDTH_GRANULARITY = ((int)0x0B23); public const int GL_COLOR_ARRAY_LIST_STRIDE_IBM = ((int)103082); public const int GL_OBJECT_VALIDATE_STATUS_ARB = ((int)0x8B83); public const int GL_GREEN_MIN_CLAMP_INGR = ((int)0x8561); public const int GL_MAX_COLOR_ATTACHMENTS_EXT = ((int)0x8CDF); public const int GL_SECONDARY_COLOR_ARRAY_TYPE = ((int)0x845B); public const int GL_SOURCE0_ALPHA_ARB = ((int)0x8588); public const int GL_MAP2_TEXTURE_COORD_1 = ((int)0x0DB3); public const int GL_POINT = ((int)0x1B00); public const int GL_REG_16_ATI = ((int)0x8931); public const int GL_GENERIC_ATTRIB_NV = ((int)0x8C7D); public const int GL_EYE_PLANE_ABSOLUTE_NV = ((int)0x855C); public const int GL_STREAM_DRAW = ((int)0x88E0); public const int GL_ASYNC_READ_PIXELS_SGIX = ((int)0x835E); public const int GL_FRAMEZOOM_FACTOR_SGIX = ((int)0x818C); public const int GL_SAMPLER_2D_SHADOW = ((int)0x8B62); public const int GL_T2F_V3F = ((int)0x2A27); public const int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = ((int)0x880C); public const int GL_RGB32I_EXT = ((int)0x8D83); public const int GL_WEIGHT_ARRAY_TYPE_ARB = ((int)0x86A9); public const int GL_STATIC_READ_ARB = ((int)0x88E5); public const int GL_VERTEX_ARRAY_RANGE_POINTER_NV = ((int)0x8521); public const int GL_LINE_STIPPLE_PATTERN = ((int)0x0B25); public const int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = ((int)0x81A9); public const int GL_NUM_GENERAL_COMBINERS_NV = ((int)0x854E); public const int GL_SAMPLE_BUFFERS_ARB = ((int)0x80A8); public const int GL_PACK_IMAGE_HEIGHT_EXT = ((int)0x806C); public const int GL_SPRITE_EYE_ALIGNED_SGIX = ((int)0x814E); public const int GL_TEXTURE_APPLICATION_MODE_EXT = ((int)0x834F); public const int GL_POINTS = ((int)0x0000); public const int GL_ONE_EXT = ((int)0x87DE); public const int GL_TEXTURE_BINDING_CUBE_MAP_EXT = ((int)0x8514); public const int GL_TRANSFORM_BIT = ((int)0x00001000); public const int GL_SRC1_ALPHA = ((int)GL_SOURCE1_ALPHA); public const int GL_INVARIANT_VALUE_EXT = ((int)0x87EA); public const int GL_FRAGMENT_NORMAL_EXT = ((int)0x834A); public const int GL_4PASS_1_EXT = ((int)0x80A5); public const int GL_LINEAR_MIPMAP_LINEAR = ((int)0x2703); public const int GL_DEPTH_TEXTURE_MODE_ARB = ((int)0x884B); public const int GL_SAMPLE_BUFFERS_3DFX = ((int)0x86B3); public const int GL_OBJECT_DELETE_STATUS_ARB = ((int)0x8B80); public const int GL_VERTEX_PROGRAM_ARB = ((int)0x8620); public const int GL_RGBA12 = ((int)0x805A); public const int GL_TEXTURE1_ARB = ((int)0x84C1); public const int GL_W_EXT = ((int)0x87D8); public const int GL_MODELVIEW3_ARB = ((int)0x8723); public const int GL_EVAL_VERTEX_ATTRIB7_NV = ((int)0x86CD); public const int GL_EDGE_FLAG_ARRAY_LIST_IBM = ((int)103075); public const int GL_BUFFER_MAPPED = ((int)0x88BC); public const int GL_DOMAIN = ((int)0x0A02); public const int GL_FRAGMENT_DEPTH_EXT = ((int)0x8452); public const int GL_LEQUAL = ((int)0x0203); public const int GL_RENDERBUFFER_DEPTH_SIZE_EXT = ((int)0x8D54); public const int GL_4PASS_2_EXT = ((int)0x80A6); public const int GL_TEXTURE19_ARB = ((int)0x84D3); public const int GL_FRONT_LEFT = ((int)0x0400); public const int GL_COLOR4_BIT_PGI = ((int)0x00020000); public const int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = ((int)0x8624); public const int GL_SMOOTH_POINT_SIZE_GRANULARITY = ((int)0x0B13); public const int GL_INTENSITY4 = ((int)0x804A); public const int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = ((int)0x8520); public const int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = ((int)0x8C2B); public const int GL_TRANSPOSE_CURRENT_MATRIX_ARB = ((int)0x88B7); public const int GL_EVAL_VERTEX_ATTRIB13_NV = ((int)0x86D3); public const int GL_OP_ROUND_EXT = ((int)0x8790); public const int GL_VARIANT_ARRAY_EXT = ((int)0x87E8); public const int GL_VIBRANCE_BIAS_NV = ((int)0x8719); public const int GL_WRITE_ONLY_ARB = ((int)0x88B9); public const int GL_REFERENCE_PLANE_EQUATION_SGIX = ((int)0x817E); public const int GL_MAX_SPOT_EXPONENT_NV = ((int)0x8505); public const int GL_POSITION = ((int)0x1203); public const int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = ((int)0x86ED); public const int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = ((int)0x84E5); public const int GL_PROGRAM_STRING_ARB = ((int)0x8628); public const int GL_EVAL_VERTEX_ATTRIB2_NV = ((int)0x86C8); public const int GL_PN_TRIANGLES_ATI = ((int)0x87F0); public const int GL_T4F_C4F_N3F_V4F = ((int)0x2A2D); public const int GL_TEXTURE_BINDING_RECTANGLE_NV = ((int)0x84F6); public const int GL_VERTEX_ARRAY_SIZE_EXT = ((int)0x807A); public const int GL_CLIENT_PIXEL_STORE_BIT = ((int)0x00000001); public const int GL_SCALE_BY_ONE_HALF_NV = ((int)0x8540); public const int GL_IUI_V3F_EXT = ((int)0x81AE); public const int GL_LUMINANCE16UI_EXT = ((int)0x8D7A); public const int GL_VARIANT_VALUE_EXT = ((int)0x87E4); public const int GL_SRC0_RGB = ((int)GL_SOURCE0_RGB); public const int GL_POST_CONVOLUTION_GREEN_BIAS = ((int)0x8021); public const int GL_POLYGON_STIPPLE = ((int)0x0B42); public const int GL_INT_VEC3_ARB = ((int)0x8B54); public const int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = ((int)0x8092); public const int GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = ((int)0x88EF); public const int GL_BUFFER_SIZE = ((int)0x8764); public const int GL_MAX_TEXTURE_LOD_BIAS = ((int)0x84FD); public const int GL_OFFSET_TEXTURE_MATRIX_NV = ((int)0x86E1); public const int GL_ALPHA_FLOAT16_ATI = ((int)0x881C); public const int GL_MATRIX14_ARB = ((int)0x88CE); public const int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = ((int)0x80B4); public const int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = ((int)0x88B2); public const int GL_STATIC_ATI = ((int)0x8760); public const int GL_ALPHA4_EXT = ((int)0x803B); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = ((int)0x8518); public const int GL_INDEX_ARRAY_POINTER = ((int)0x8091); public const int GL_TEXTURE_2D_STACK_MESAX = ((int)0x875A); public const int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = ((int)0x889B); public const int GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = ((int)0x8312); public const int GL_CND_ATI = ((int)0x896A); public const int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = ((int)0x8DBA); public const int GL_LIGHT_MODEL_TWO_SIDE = ((int)0x0B52); public const int GL_TEXTURE_FLOAT_COMPONENTS_NV = ((int)0x888C); public const int GL_NEGATIVE_W_EXT = ((int)0x87DC); public const int GL_DRAW_BUFFER6_ATI = ((int)0x882B); public const int GL_PIXEL_UNPACK_BUFFER_BINDING = ((int)0x88EF); public const int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = ((int)0x8128); public const int GL_POINT_SPRITE_COORD_ORIGIN = ((int)0x8CA0); public const int GL_LINE_TOKEN = ((int)0x0702); public const int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = ((int)0x864E); public const int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = ((int)0x850D); public const int GL_OP_MADD_EXT = ((int)0x8788); public const int GL_SIGNED_RGB8_NV = ((int)0x86FF); public const int GL_SECONDARY_COLOR_ARRAY_SIZE = ((int)0x845A); public const int GL_CLIP_PLANE5 = ((int)0x3005); public const int GL_MAX_ELEMENTS_INDICES = ((int)0x80E9); public const int GL_LINE_STRIP_ADJACENCY_EXT = ((int)0x000B); public const int GL_422_REV_EXT = ((int)0x80CD); public const int GL_INT_VEC4_ARB = ((int)0x8B55); public const int GL_YCBCR_422_APPLE = ((int)0x85B9); public const int GL_SIGNED_HILO16_NV = ((int)0x86FA); public const int GL_TEXTURE_ENV = ((int)0x2300); public const int GL_RGB9_E5_EXT = ((int)0x8C3D); public const int GL_UNPACK_CONSTANT_DATA_SUNX = ((int)0x81D5); public const int GL_TEXTURE_PRIORITY = ((int)0x8066); public const int GL_CON_16_ATI = ((int)0x8951); public const int GL_INDEX_WRITEMASK = ((int)0x0C21); public const int GL_SAMPLES = ((int)0x80A9); public const int GL_SIGNED_LUMINANCE8_NV = ((int)0x8702); public const int GL_NORMAL_ARRAY_COUNT_EXT = ((int)0x8080); public const int GL_DUAL_TEXTURE_SELECT_SGIS = ((int)0x8124); public const int GL_DRAW_BUFFER9 = ((int)0x882E); public const int GL_OPERAND1_ALPHA_EXT = ((int)0x8599); public const int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = ((int)0x8835); public const int GL_COMPARE_R_TO_TEXTURE = ((int)0x884E); public const int GL_UNSIGNED_BYTE_3_3_2 = ((int)0x8032); public const int GL_MAX_ASYNC_HISTOGRAM_SGIX = ((int)0x832D); public const int GL_OPERAND0_RGB = ((int)0x8590); public const int GL_COLOR_ARRAY_STRIDE = ((int)0x8083); public const int GL_INTERLACE_SGIX = ((int)0x8094); public const int GL_CONVOLUTION_FILTER_SCALE_EXT = ((int)0x8014); public const int GL_REG_14_ATI = ((int)0x892F); public const int GL_FLOAT_VEC4 = ((int)0x8B52); public const int GL_SAMPLER_2D_RECT_SHADOW_ARB = ((int)0x8B64); public const int GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = ((int)0x8366); public const int GL_PROGRAM_PARAMETERS_ARB = ((int)0x88A8); public const int GL_ALWAYS_SOFT_HINT_PGI = ((int)0x1A20D); public const int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = ((int)0x8B9B); public const int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = ((int)0x8B4A); public const int GL_DRAW_BUFFER8 = ((int)0x882D); public const int GL_TEXTURE31_ARB = ((int)0x84DF); public const int GL_SRGB_ALPHA = ((int)0x8C42); public const int GL_INCR = ((int)0x1E02); public const int GL_TEXTURE12_ARB = ((int)0x84CC); public const int GL_DEPTH_ATTACHMENT_EXT = ((int)0x8D00); public const int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = ((int)0x85C3); public const int GL_CLAMP_TO_BORDER = ((int)0x812D); public const int GL_T2F_IUI_N3F_V2F_EXT = ((int)0x81B3); public const int GL_PIXEL_MAP_S_TO_S_SIZE = ((int)0x0CB1); public const int GL_ORDER = ((int)0x0A01); public const int GL_MODELVIEW_PROJECTION_NV = ((int)0x8629); public const int GL_R1UI_T2F_C4F_N3F_V3F_SUN = ((int)0x85CB); public const int GL_RESAMPLE_ZERO_FILL_OML = ((int)0x8987); public const int GL_SAMPLES_PASSED = ((int)0x8914); public const int GL_LUMINANCE6_ALPHA2 = ((int)0x8044); public const int GL_POST_COLOR_MATRIX_ALPHA_SCALE = ((int)0x80B7); public const int GL_FRAGMENT_COLOR_MATERIAL_SGIX = ((int)0x8401); public const int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = ((int)0x8C83); public const int GL_PROGRAM_ATTRIB_COMPONENTS_NV = ((int)0x8906); public const int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = ((int)0x8B89); public const int GL_MULTISAMPLE_3DFX = ((int)0x86B2); public const int GL_REG_4_ATI = ((int)0x8925); public const int GL_DRAW_BUFFER7 = ((int)0x882C); public const int GL_EDGE_FLAG = ((int)0x0B43); public const int GL_NORMAL_ARRAY_BUFFER_BINDING = ((int)0x8897); public const int GL_DEPTH24_STENCIL8_EXT = ((int)0x88F0); public const int GL_MULTISAMPLE_FILTER_HINT_NV = ((int)0x8534); public const int GL_REG_19_ATI = ((int)0x8934); public const int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = ((int)0x8908); public const int GL_TEXTURE_DEPTH_TYPE_ARB = ((int)0x8C16); public const int GL_INVALID_VALUE = ((int)0x0501); public const int GL_OPERAND1_RGB = ((int)0x8591); public const int GL_TEXCOORD3_BIT_PGI = ((int)0x40000000); public const int GL_LUMINANCE16_ALPHA16 = ((int)0x8048); public const int GL_LUMINANCE_FLOAT32_ATI = ((int)0x8818); public const int GL_VERTEX_PROGRAM_TWO_SIDE = ((int)0x8643); public const int GL_OR = ((int)0x1507); public const int GL_ALL_COMPLETED_NV = ((int)0x84F2); public const int GL_REG_5_ATI = ((int)0x8926); public const int GL_COLOR_ARRAY_BUFFER_BINDING = ((int)0x8898); public const int GL_NEGATE_BIT_ATI = ((int)0x00000004); public const int GL_DRAW_BUFFER6 = ((int)0x882B); public const int GL_EVAL_VERTEX_ATTRIB5_NV = ((int)0x86CB); public const int GL_NATIVE_GRAPHICS_HANDLE_PGI = ((int)0x1A202); public const int GL_TEXTURE_BINDING_BUFFER_EXT = ((int)0x8C2C); public const int GL_BUFFER_SERIALIZED_MODIFY_APPLE = ((int)0x8A12); public const int GL_UNSIGNED_INT_2_10_10_10_REV_EXT = ((int)0x8368); public const int GL_RGB5 = ((int)0x8050); public const int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = ((int)0x8337); public const int GL_COMBINER_MUX_SUM_NV = ((int)0x8547); public const int GL_OUTPUT_TEXTURE_COORD8_EXT = ((int)0x87A5); public const int GL_CURRENT_VERTEX_ATTRIB = ((int)0x8626); public const int GL_TRANSPOSE_PROJECTION_MATRIX = ((int)0x84E4); public const int GL_MAT_DIFFUSE_BIT_PGI = ((int)0x00400000); public const int GL_DRAW_FRAMEBUFFER_BINDING_EXT = ((int)0x8CAA); public const int GL_PACK_RESAMPLE_OML = ((int)0x8984); public const int GL_ALPHA_MIN_CLAMP_INGR = ((int)0x8563); public const int GL_DOUBLE_EXT = ((int)0x140A); public const int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = ((int)0x81F8); public const int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = ((int)0x8455); public const int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = ((int)103085); public const int GL_NORMAL_ARRAY = ((int)0x8075); public const int GL_SOURCE3_ALPHA_NV = ((int)0x858B); public const int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = ((int)0x870D); public const int GL_HISTOGRAM_LUMINANCE_SIZE = ((int)0x802C); public const int GL_SIGNED_RGBA8_NV = ((int)0x86FC); public const int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = ((int)0x8533); public const int GL_UNPACK_SKIP_ROWS = ((int)0x0CF3); public const int GL_POLYGON_OFFSET_FACTOR = ((int)0x8038); public const int GL_HISTOGRAM_WIDTH_EXT = ((int)0x8026); public const int GL_DEPTH_COMPONENT32F_NV = ((int)0x8DAB); public const int GL_MAP_ATTRIB_U_ORDER_NV = ((int)0x86C3); public const int GL_OUTPUT_TEXTURE_COORD15_EXT = ((int)0x87AC); public const int GL_COLOR_TABLE_BLUE_SIZE = ((int)0x80DC); public const int GL_INTENSITY32UI_EXT = ((int)0x8D73); public const int GL_CON_4_ATI = ((int)0x8945); public const int GL_CLAMP = ((int)0x2900); public const int GL_4PASS_0_EXT = ((int)0x80A4); public const int GL_POST_CONVOLUTION_ALPHA_SCALE = ((int)0x801F); public const int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = ((int)0x809C); public const int GL_TEXTURE_COMPONENTS = ((int)0x1003); public const int GL_VERTEX4_BIT_PGI = ((int)0x00000008); public const int GL_NORMAL_MAP_NV = ((int)0x8511); public const int GL_INT_SAMPLER_1D_ARRAY_EXT = ((int)0x8DCE); public const int GL_DRAW_BUFFER4 = ((int)0x8829); public const int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = ((int)0x8510); public const int GL_8X_BIT_ATI = ((int)0x00000004); public const int GL_REG_24_ATI = ((int)0x8939); public const int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = ((int)0x8CD1); public const int GL_DUAL_LUMINANCE16_SGIS = ((int)0x8117); public const int GL_MODELVIEW30_ARB = ((int)0x873E); public const int GL_TEXTURE_INTENSITY_SIZE = ((int)0x8061); public const int GL_RGBA_S3TC = ((int)0x83A2); public const int GL_INTENSITY_FLOAT32_ATI = ((int)0x8817); public const int GL_BLEND_COLOR = ((int)0x8005); public const int GL_COMPRESSED_LUMINANCE = ((int)0x84EA); public const int GL_TABLE_TOO_LARGE = ((int)0x8031); public const int GL_MAP2_VERTEX_ATTRIB8_4_NV = ((int)0x8678); public const int GL_UNIFORM_BUFFER_EXT = ((int)0x8DEE); public const int GL_FLOAT_MAT3_ARB = ((int)0x8B5B); public const int GL_HALF_BIT_ATI = ((int)0x00000008); public const int GL_LINEAR_MIPMAP_NEAREST = ((int)0x2701); public const int GL_MAP1_GRID_SEGMENTS = ((int)0x0DD1); public const int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = ((int)0x8DA0); public const int GL_OBJECT_INFO_LOG_LENGTH_ARB = ((int)0x8B84); public const int GL_PIXEL_CUBIC_WEIGHT_EXT = ((int)0x8333); public const int GL_COMBINER0_NV = ((int)0x8550); public const int GL_COMBINER1_NV = ((int)0x8551); public const int GL_DRAW_BUFFER3 = ((int)0x8828); public const int GL_MODELVIEW11_ARB = ((int)0x872B); public const int GL_CURRENT_PROGRAM = ((int)0x8B8D); public const int GL_COMPRESSED_RGBA = ((int)0x84EE); public const int GL_PREVIOUS_TEXTURE_INPUT_NV = ((int)0x86E4); public const int GL_TEXTURE_CUBE_MAP = ((int)0x8513); public const int GL_MATRIX2_ARB = ((int)0x88C2); public const int GL_TEXTURE4_ARB = ((int)0x84C4); public const int GL_INDEX_ARRAY_LIST_STRIDE_IBM = ((int)103083); public const int GL_UNSIGNED_SHORT_1_5_5_5_REV = ((int)0x8366); public const int GL_GEQUAL = ((int)0x0206); public const int GL_MULT = ((int)0x0103); public const int GL_RED_BIAS = ((int)0x0D15); public const int GL_INTENSITY8 = ((int)0x804B); public const int GL_REG_1_ATI = ((int)0x8922); public const int GL_INT = ((int)0x1404); public const int GL_TEXTURE28_ARB = ((int)0x84DC); public const int GL_INDEX_ARRAY_STRIDE_EXT = ((int)0x8086); public const int GL_HISTOGRAM_ALPHA_SIZE = ((int)0x802B); public const int GL_PACK_LSB_FIRST = ((int)0x0D01); public const int GL_COLOR_ARRAY_POINTER = ((int)0x8090); public const int GL_MAX_ELEMENTS_VERTICES = ((int)0x80E8); public const int GL_COMBINER_CD_OUTPUT_NV = ((int)0x854B); public const int GL_UNPACK_SKIP_VOLUMES_SGIS = ((int)0x8132); public const int GL_DYNAMIC_DRAW = ((int)0x88E8); public const int GL_INSTRUMENT_BUFFER_POINTER_SGIX = ((int)0x8180); public const int GL_2PASS_0_SGIS = ((int)0x80A2); public const int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = ((int)0x851E); public const int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = ((int)0x88B6); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = ((int)0x8515); public const int GL_OUTPUT_TEXTURE_COORD4_EXT = ((int)0x87A1); public const int GL_LUMINANCE_FLOAT16_ATI = ((int)0x881E); public const int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = ((int)0x8CD9); public const int GL_FOG_COORD = ((int)GL_FOG_COORDINATE); public const int GL_REG_6_ATI = ((int)0x8927); public const int GL_EDGE_FLAG_ARRAY_POINTER_EXT = ((int)0x8093); public const int GL_SLUMINANCE8_ALPHA8 = ((int)0x8C45); public const int GL_TABLE_TOO_LARGE_EXT = ((int)0x8031); public const int GL_MULTISAMPLE_BIT_ARB = ((int)0x20000000); public const int GL_RED_INTEGER_EXT = ((int)0x8D94); public const int GL_POLYGON = ((int)0x0009); public const int GL_TEXTURE_WRAP_T = ((int)0x2803); public const int GL_TEXTURE_LOD_BIAS = ((int)0x8501); public const int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = ((int)0x880A); public const int GL_POST_CONVOLUTION_RED_BIAS = ((int)0x8020); public const int GL_OBJECT_COMPILE_STATUS_ARB = ((int)0x8B81); public const int GL_SIGNED_ALPHA_NV = ((int)0x8705); public const int GL_PROXY_TEXTURE_3D_EXT = ((int)0x8070); public const int GL_LINEAR_ATTENUATION = ((int)0x1208); public const int GL_OUTPUT_TEXTURE_COORD3_EXT = ((int)0x87A0); public const int GL_VERTEX_SHADER_BINDING_EXT = ((int)0x8781); public const int GL_FLOAT_RG16_NV = ((int)0x8886); public const int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = ((int)0x00200000); public const int GL_BLEND_DST_RGB_EXT = ((int)0x80C8); public const int GL_COLOR_INDEX12_EXT = ((int)0x80E6); public const int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = ((int)0x8809); public const int GL_VERTEX_ARRAY_RANGE_NV = ((int)0x851D); public const int GL_FUNC_SUBTRACT_EXT = ((int)0x800A); public const int GL_LOGIC_OP = ((int)0x0BF1); public const int GL_BLUE_MIN_CLAMP_INGR = ((int)0x8562); public const int GL_CURRENT_RASTER_SECONDARY_COLOR = ((int)0x845F); public const int GL_TEXTURE_COMPARE_SGIX = ((int)0x819A); public const int GL_EVAL_VERTEX_ATTRIB14_NV = ((int)0x86D4); public const int GL_MODELVIEW2_ARB = ((int)0x8722); public const int GL_OUTPUT_TEXTURE_COORD6_EXT = ((int)0x87A3); public const int GL_MAX_PROGRAM_MATRICES_ARB = ((int)0x862F); public const int GL_ELEMENT_ARRAY_BUFFER_ARB = ((int)0x8893); public const int GL_DRAW_BUFFER11_ARB = ((int)0x8830); public const int GL_RGB32F_ARB = ((int)0x8815); public const int GL_RGB10_EXT = ((int)0x8052); public const int GL_TEXTURE_POST_SPECULAR_HP = ((int)0x8168); public const int GL_ALIASED_POINT_SIZE_RANGE = ((int)0x846D); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = ((int)0x8516); public const int GL_OUTPUT_TEXTURE_COORD25_EXT = ((int)0x87B6); public const int GL_DS_SCALE_NV = ((int)0x8710); public const int GL_TEXTURE_ALPHA_SIZE_EXT = ((int)0x805F); public const int GL_POINT_SPRITE_ARB = ((int)0x8861); public const int GL_STENCIL_TEST = ((int)0x0B90); public const int GL_SAMPLER_2D_SHADOW_ARB = ((int)0x8B62); public const int GL_POST_TEXTURE_FILTER_SCALE_SGIX = ((int)0x817A); public const int GL_FLOAT_VEC3 = ((int)0x8B51); public const int GL_NEGATIVE_Z_EXT = ((int)0x87DB); public const int GL_DUDV_ATI = ((int)0x8779); public const int GL_OUTPUT_TEXTURE_COORD5_EXT = ((int)0x87A2); public const int GL_OP_MUL_EXT = ((int)0x8786); public const int GL_MODELVIEW13_ARB = ((int)0x872D); public const int GL_PN_TRIANGLES_NORMAL_MODE_ATI = ((int)0x87F3); public const int GL_FOG_COORDINATE_ARRAY_STRIDE = ((int)0x8455); public const int GL_DRAW_BUFFER10_ARB = ((int)0x882F); public const int GL_MATRIX4_NV = ((int)0x8634); public const int GL_SAMPLE_COVERAGE_VALUE = ((int)0x80AA); public const int GL_READ_PIXEL_DATA_RANGE_NV = ((int)0x8879); public const int GL_FOG_COORDINATE_ARRAY = ((int)0x8457); public const int GL_VERTEX_STATE_PROGRAM_NV = ((int)0x8621); public const int GL_MATRIX5_NV = ((int)0x8635); public const int GL_LESS = ((int)0x0201); public const int GL_TEXTURE5_ARB = ((int)0x84C5); public const int GL_TRANSFORM_FEEDBACK_BUFFER_NV = ((int)0x8C8E); public const int GL_POLYGON_OFFSET_FACTOR_EXT = ((int)0x8038); public const int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = ((int)0x8DED); public const int GL_PREFER_DOUBLEBUFFER_HINT_PGI = ((int)0x1A1F8); public const int GL_SAMPLES_SGIS = ((int)0x80A9); public const int GL_DRAW_BUFFER13_ARB = ((int)0x8832); public const int GL_MODELVIEW14_ARB = ((int)0x872E); public const int GL_REG_2_ATI = ((int)0x8923); public const int GL_FASTEST = ((int)0x1101); public const int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = ((int)0x88FF); public const int GL_RGB16_EXT = ((int)0x8054); public const int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = ((int)0x8841); public const int GL_BUFFER_SIZE_ARB = ((int)0x8764); public const int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = ((int)0x8B9A); public const int GL_CON_27_ATI = ((int)0x895C); public const int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = ((int)0x8C84); public const int GL_UNPACK_RESAMPLE_SGIX = ((int)0x842D); public const int GL_CONVOLUTION_FILTER_SCALE = ((int)0x8014); public const int GL_FRAMEZOOM_SGIX = ((int)0x818B); public const int GL_MATRIX9_ARB = ((int)0x88C9); public const int GL_DRAW_BUFFER12_ARB = ((int)0x8831); public const int GL_COMPRESSED_LUMINANCE_ALPHA = ((int)0x84EB); public const int GL_CLIENT_VERTEX_ARRAY_BIT = ((int)0x00000002); public const int GL_MAX_LIST_NESTING = ((int)0x0B31); public const int GL_NORMAL_MAP = ((int)0x8511); public const int GL_VERTEX_ATTRIB_ARRAY8_NV = ((int)0x8658); public const int GL_FEEDBACK_BUFFER_POINTER = ((int)0x0DF0); public const int GL_CONSTANT_BORDER_HP = ((int)0x8151); public const int GL_COLOR_TABLE_GREEN_SIZE = ((int)0x80DB); public const int GL_DEPTH_COMPONENT16_SGIX = ((int)0x81A5); public const int GL_MAX_VERTEX_SHADER_LOCALS_EXT = ((int)0x87C9); public const int GL_STENCIL_BACK_PASS_DEPTH_PASS = ((int)0x8803); public const int GL_TEXTURE14_ARB = ((int)0x84CE); public const int GL_MAX_PROGRAM_TEMPORARIES_ARB = ((int)0x88A5); public const int GL_IDENTITY_NV = ((int)0x862A); public const int GL_INTENSITY16 = ((int)0x804D); public const int GL_TRANSFORM_HINT_APPLE = ((int)0x85B1); public const int GL_CONSTANT_ATTENUATION = ((int)0x1207); public const int GL_DUAL_INTENSITY4_SGIS = ((int)0x8118); public const int GL_FIXED_ONLY_ARB = ((int)0x891D); public const int GL_TEXTURE_DEFORMATION_SGIX = ((int)0x8195); public const int GL_REG_8_ATI = ((int)0x8929); public const int GL_DRAW_BUFFER15_ARB = ((int)0x8834); public const int GL_BLEND_DST_ALPHA_EXT = ((int)0x80CA); public const int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = ((int)0x889D); public const int GL_MATRIX30_ARB = ((int)0x88DE); public const int GL_MATRIX25_ARB = ((int)0x88D9); public const int GL_DRAW_PIXELS_APPLE = ((int)0x8A0A); public const int GL_STENCIL = ((int)0x1802); public const int GL_SPRITE_AXIAL_SGIX = ((int)0x814C); public const int GL_RGBA16F_ARB = ((int)0x881A); public const int GL_DRAW_BUFFER12_ATI = ((int)0x8831); public const int GL_MAX_PROGRAM_LOOP_COUNT_NV = ((int)0x88F8); public const int GL_COLOR_ARRAY_SIZE = ((int)0x8081); public const int GL_PROGRAM_ERROR_POSITION_ARB = ((int)0x864B); public const int GL_BGRA_EXT = ((int)0x80E1); public const int GL_REG_9_ATI = ((int)0x892A); public const int GL_DRAW_BUFFER14_ARB = ((int)0x8833); public const int GL_OUTPUT_TEXTURE_COORD1_EXT = ((int)0x879E); public const int GL_CURRENT_RASTER_DISTANCE = ((int)0x0B09); public const int GL_INVERT = ((int)0x150A); public const int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = ((int)0x80D4); public const int GL_MINMAX = ((int)0x802E); public const int GL_INDEX_MATERIAL_PARAMETER_EXT = ((int)0x81B9); public const int GL_INT_SAMPLER_CUBE_EXT = ((int)0x8DCC); public const int GL_REPLICATE_BORDER = ((int)0x8153); public const int GL_GREEN = ((int)0x1904); public const int GL_MIRROR_CLAMP_ATI = ((int)0x8742); public const int GL_VERTEX_ARRAY_RANGE_VALID_NV = ((int)0x851F); public const int GL_FUNC_REVERSE_SUBTRACT_EXT = ((int)0x800B); public const int GL_SAMPLE_ALPHA_TO_ONE_ARB = ((int)0x809F); public const int GL_STREAM_COPY_ARB = ((int)0x88E2); public const int GL_COMBINE_ALPHA_EXT = ((int)0x8572); public const int GL_MODELVIEW16_ARB = ((int)0x8730); public const int GL_EQUIV = ((int)0x1509); public const int GL_COLOR_SUM_CLAMP_NV = ((int)0x854F); public const int GL_VARIANT_EXT = ((int)0x87C1); public const int GL_GREEN_MAX_CLAMP_INGR = ((int)0x8565); public const int GL_HILO_NV = ((int)0x86F4); public const int GL_TEXTURE_RED_SIZE = ((int)0x805C); public const int GL_NEGATIVE_Y_EXT = ((int)0x87DA); public const int GL_RGB12_EXT = ((int)0x8053); public const int GL_MULTISAMPLE_BIT = ((int)0x20000000); public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = ((int)0x851C); public const int GL_DRAW_BUFFER15_ATI = ((int)0x8834); public const int GL_PIXEL_MAP_B_TO_B = ((int)0x0C78); public const int GL_VERTEX_SHADER_OPTIMIZED_EXT = ((int)0x87D4); public const int GL_POLYGON_OFFSET_POINT = ((int)0x2A01); public const int GL_DYNAMIC_COPY_ARB = ((int)0x88EA); public const int GL_INTERPOLATE_ARB = ((int)0x8575); public const int GL_COMPRESSED_RED_RGTC1_EXT = ((int)0x8DBB); public const int GL_PIXEL_MODE_BIT = ((int)0x00000020); public const int GL_DRAW_BUFFER5_ARB = ((int)0x882A); public const int GL_GENERATE_MIPMAP_SGIS = ((int)0x8191); public const int GL_STENCIL_BACK_FUNC = ((int)0x8800); public const int GL_MAGNITUDE_SCALE_NV = ((int)0x8712); public const int GL_COMPRESSED_ALPHA = ((int)0x84E9); public const int GL_CON_8_ATI = ((int)0x8949); public const int GL_PROGRAM_LENGTH_ARB = ((int)0x8627); public const int GL_DSDT8_NV = ((int)0x8709); public const int GL_OPERAND2_ALPHA_ARB = ((int)0x859A); public const int GL_PIXEL_COUNT_AVAILABLE_NV = ((int)0x8867); public const int GL_DRAW_BUFFER14_ATI = ((int)0x8833); public const int GL_MATERIAL_SIDE_HINT_PGI = ((int)0x1A22C); public const int GL_ALPHA_FLOAT32_ATI = ((int)0x8816); public const int GL_TRIANGLE_STRIP_ADJACENCY_EXT = ((int)0x000D); public const int GL_MIRROR_CLAMP_TO_EDGE_EXT = ((int)0x8743); public const int GL_DYNAMIC_ATI = ((int)0x8761); public const int GL_UNSIGNED_INT_8_8_8_8_EXT = ((int)0x8035); public const int GL_PIXEL_GROUP_COLOR_SGIS = ((int)0x8356); public const int GL_MODULATE_SIGNED_ADD_ATI = ((int)0x8745); public const int GL_COMPRESSED_RGBA_ARB = ((int)0x84EE); public const int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = ((int)0x8023); public const int GL_OPERAND0_RGB_EXT = ((int)0x8590); public const int GL_TEXTURE_RED_TYPE_ARB = ((int)0x8C10); public const int GL_DT_SCALE_NV = ((int)0x8711); public const int GL_FOG = ((int)0x0B60); public const int GL_MAX_VERTEX_ATTRIBS_ARB = ((int)0x8869); public const int GL_EXP = ((int)0x0800); public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = ((int)0x8CD3); public const int GL_TEXTURE_COMPRESSED_ARB = ((int)0x86A1); public const int GL_E_TIMES_F_NV = ((int)0x8531); public const int GL_DT_BIAS_NV = ((int)0x8717); public const int GL_CURRENT_OCCLUSION_QUERY_ID_NV = ((int)0x8865); public const int GL_WEIGHT_ARRAY_STRIDE_ARB = ((int)0x86AA); public const int GL_MAP2_VERTEX_ATTRIB6_4_NV = ((int)0x8676); public const int GL_BLEND_COLOR_EXT = ((int)0x8005); public const int GL_TEXTURE_RECTANGLE_ARB = ((int)0x84F5); public const int GL_ALPHA32UI_EXT = ((int)0x8D72); public const int GL_MAP2_VERTEX_ATTRIB3_4_NV = ((int)0x8673); public const int GL_DRAW_BUFFER4_ARB = ((int)0x8829); public const int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = ((int)0x8808); public const int GL_CURRENT_RASTER_POSITION_VALID = ((int)0x0B08); public const int GL_GEOMETRY_DEFORMATION_BIT_SGIX = ((int)0x00000002); public const int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = ((int)0x1A203); public const int GL_DSDT8_MAG8_INTENSITY8_NV = ((int)0x870B); public const int GL_SOURCE1_RGB_EXT = ((int)0x8581); public const int GL_POINT_SPRITE = ((int)0x8861); public const int GL_ELEMENT_ARRAY_TYPE_APPLE = ((int)0x8769); public const int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = ((int)0x80DF); public const int GL_COLOR_SUM = ((int)0x8458); public const int GL_TEXTURE_LOD_BIAS_EXT = ((int)0x8501); public const int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = ((int)0x8B8B); public const int GL_OBJECT_DISTANCE_TO_POINT_SGIS = ((int)0x81F1); public const int GL_COMPRESSED_SLUMINANCE = ((int)0x8C4A); public const int GL_UNPACK_SWAP_BYTES = ((int)0x0CF0); public const int GL_MODELVIEW20_ARB = ((int)0x8734); public const int GL_COPY = ((int)0x1503); public const int GL_SAMPLE_ALPHA_TO_ONE = ((int)0x809F); public const int GL_OP_RECIP_EXT = ((int)0x8794); public const int GL_ONE_MINUS_DST_COLOR = ((int)0x0307); public const int GL_MAP2_TEXTURE_COORD_3 = ((int)0x0DB5); public const int GL_PIXEL_MAG_FILTER_EXT = ((int)0x8331); public const int GL_BLEND = ((int)0x0BE2); public const int GL_SHININESS = ((int)0x1601); public const int GL_TEXTURE = ((int)0x1702); public const int GL_EYE_DISTANCE_TO_LINE_SGIS = ((int)0x81F2); public const int GL_INTENSITY16F_ARB = ((int)0x881D); public const int GL_TEXTURE_MATERIAL_FACE_EXT = ((int)0x8351); public const int GL_TEXTURE_INTENSITY_TYPE_ARB = ((int)0x8C15); public const int GL_MATRIX1_NV = ((int)0x8631); public const int GL_COLOR_TABLE_SGI = ((int)0x80D0); public const int GL_DEPENDENT_HILO_TEXTURE_2D_NV = ((int)0x8858); public const int GL_MAX_VARYING_FLOATS_ARB = ((int)0x8B4B); public const int GL_TEXTURE_FILTER_CONTROL_EXT = ((int)0x8500); public const int GL_CON_26_ATI = ((int)0x895B); public const int GL_MINMAX_SINK_EXT = ((int)0x8030); public const int GL_LIGHT5 = ((int)0x4005); public const int GL_RGBA12_EXT = ((int)0x805A); public const int GL_UNSIGNED_NORMALIZED_ARB = ((int)0x8C17); public const int GL_ALLOW_DRAW_FRG_HINT_PGI = ((int)0x1A210); public const int GL_MAP2_TEXTURE_COORD_2 = ((int)0x0DB4); public const int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = ((int)0x88A7); public const int GL_OPERAND1_ALPHA = ((int)0x8599); public const int GL_IUI_V2F_EXT = ((int)0x81AD); public const int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = ((int)0x88A1); public const int GL_BLEND_EQUATION = ((int)0x8009); public const int GL_RGBA16I_EXT = ((int)0x8D88); public const int GL_BGR = ((int)0x80E0); public const int GL_TEXTURE0_ARB = ((int)0x84C0); public const int GL_RESCALE_NORMAL = ((int)0x803A); public const int GL_ELEMENT_ARRAY_BUFFER_BINDING = ((int)0x8895); public const int GL_PROGRAM_STRING_NV = ((int)0x8628); public const int GL_MIRROR_CLAMP_EXT = ((int)0x8742); public const int GL_CON_13_ATI = ((int)0x894E); public const int GL_ASYNC_TEX_IMAGE_SGIX = ((int)0x835C); public const int GL_CONSTANT = ((int)0x8576); public const int GL_VARIANT_ARRAY_STRIDE_EXT = ((int)0x87E6); public const int GL_NUM_PASSES_ATI = ((int)0x8970); public const int GL_MAP2_VERTEX_ATTRIB15_4_NV = ((int)0x867F); public const int GL_MATRIX12_ARB = ((int)0x88CC); public const int GL_CMYKA_EXT = ((int)0x800D); public const int GL_SEPARATE_SPECULAR_COLOR = ((int)0x81FA); public const int GL_BLUE_INTEGER_EXT = ((int)0x8D96); public const int GL_INTENSITY8I_EXT = ((int)0x8D91); public const int GL_SIGNED_IDENTITY_NV = ((int)0x853C); public const int GL_MAP2_VERTEX_ATTRIB0_4_NV = ((int)0x8670); public const int GL_LUMINANCE16F_ARB = ((int)0x881E); public const int GL_MAP2_NORMAL = ((int)0x0DB2); public const int GL_LIGHT_MODEL_AMBIENT = ((int)0x0B53); public const int GL_RGB5_A1 = ((int)0x8057); public const int GL_OFFSET_TEXTURE_2D_SCALE_NV = ((int)GL_OFFSET_TEXTURE_SCALE_NV); public const int GL_COLOR_INDEX4_EXT = ((int)0x80E4); public const int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = ((int)0x8B49); public const int GL_WRAP_BORDER_SUN = ((int)0x81D4); public const int GL_MATRIX2_NV = ((int)0x8632); public const int GL_SAMPLES_PASSED_ARB = ((int)0x8914); public const int GL_RGB16 = ((int)0x8054); public const int GL_HISTOGRAM_BLUE_SIZE_EXT = ((int)0x802A); public const int GL_RGB10 = ((int)0x8052); public const int GL_RGB12 = ((int)0x8053); public const int GL_INTERPOLATE = ((int)0x8575); public const int GL_MIN_EXT = ((int)0x8007); public const int GL_RGBA2 = ((int)0x8055); public const int GL_DUAL_INTENSITY8_SGIS = ((int)0x8119); public const int GL_TEXTURE_FILTER4_SIZE_SGIS = ((int)0x8147); public const int GL_RGBA8 = ((int)0x8058); public const int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = ((int)0x870C); public const int GL_DYNAMIC_READ = ((int)0x88E9); public const int GL_INT_VEC2 = ((int)0x8B53); public const int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = ((int)0x83F2); public const int GL_SOURCE0_RGB_ARB = ((int)0x8580); public const int GL_SOURCE2_ALPHA = ((int)0x858A); public const int GL_TEXTURE_GREEN_SIZE = ((int)0x805D); public const int GL_SAMPLE_MASK_VALUE_SGIS = ((int)0x80AA); public const int GL_INTENSITY4_EXT = ((int)0x804A); public const int GL_MODELVIEW22_ARB = ((int)0x8736); public const int GL_COMPRESSED_LUMINANCE_ARB = ((int)0x84EA); public const int GL_OP_INDEX_EXT = ((int)0x8782); public const int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = ((int)0x86F3); public const int GL_LINEAR_DETAIL_COLOR_SGIS = ((int)0x8099); public const int GL_MATRIX23_ARB = ((int)0x88D7); public const int GL_TEXTURE_BINDING_3D = ((int)0x806A); public const int GL_TEXTURE_BINDING_2D = ((int)0x8069); public const int GL_TEXTURE_BINDING_1D = ((int)0x8068); public const int GL_NORMAL_ARRAY_TYPE_EXT = ((int)0x807E); public const int GL_COLOR_ARRAY_SIZE_EXT = ((int)0x8081); public const int GL_VARIABLE_F_NV = ((int)0x8528); public const int GL_REPLACE_EXT = ((int)0x8062); public const int GL_MODULATE = ((int)0x2100); public const int GL_COLOR_MATRIX_SGI = ((int)0x80B1); public const int GL_PIXEL_TILE_WIDTH_SGIX = ((int)0x8140); public const int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = ((int)0x88B5); public const int GL_BYTE = ((int)0x1400); public const int GL_QUAD_MESH_SUN = ((int)0x8614); public const int GL_422_AVERAGE_EXT = ((int)0x80CE); public const int GL_ALPHA_MAX_CLAMP_INGR = ((int)0x8567); public const int GL_CULL_FACE_MODE = ((int)0x0B45); public const int GL_DOT4_ATI = ((int)0x8967); public const int GL_INDEX_ARRAY_EXT = ((int)0x8077); public const int GL_SAMPLE_COVERAGE_VALUE_ARB = ((int)0x80AA); public const int GL_SOURCE2_RGB_EXT = ((int)0x8582); public const int GL_POINT_DISTANCE_ATTENUATION = ((int)0x8129); public const int GL_ELEMENT_ARRAY_BUFFER = ((int)0x8893); public const int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = ((int)0x81A8); public const int GL_OUTPUT_TEXTURE_COORD26_EXT = ((int)0x87B7); public const int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = ((int)0x8852); public const int GL_R5_G6_B5_ICC_SGIX = ((int)0x8466); public const int GL_GENERATE_MIPMAP_HINT_SGIS = ((int)0x8192); public const int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = ((int)0x8DE4); public const int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = ((int)0x802C); public const int GL_ALL_ATTRIB_BITS = unchecked((int)0xFFFFFFFF); public const int GL_YCRCB_444_SGIX = ((int)0x81BC); public const int GL_RGBA_MODE = ((int)0x0C31); public const int GL_RED_SCALE = ((int)0x0D14); public const int GL_SAMPLE_BUFFERS_SGIS = ((int)0x80A8); public const int GL_LIST_MODE = ((int)0x0B30); public const int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = ((int)0x8163); public const int GL_OBJECT_LINEAR = ((int)0x2401); public const int GL_CON_19_ATI = ((int)0x8954); public const int GL_LIGHT7 = ((int)0x4007); public const int GL_ALPHA16_ICC_SGIX = ((int)0x8468); public const int GL_STENCIL_PASS_DEPTH_PASS = ((int)0x0B96); public const int GL_OUTPUT_TEXTURE_COORD16_EXT = ((int)0x87AD); public const int GL_MAX_PROJECTION_STACK_DEPTH = ((int)0x0D38); public const int GL_SAMPLE_COVERAGE_INVERT = ((int)0x80AB); public const int GL_CURRENT_RASTER_POSITION = ((int)0x0B07); public const int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = ((int)0x850E); public const int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = ((int)0x8D56); public const int GL_MAP1_VERTEX_ATTRIB2_4_NV = ((int)0x8662); public const int GL_COLOR_TABLE_BIAS = ((int)0x80D7); public const int GL_IGNORE_BORDER_HP = ((int)0x8150); public const int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = ((int)0x8896); public const int GL_NOOP = ((int)0x1505); public const int GL_SCISSOR_TEST = ((int)0x0C11); public const int GL_RGBA = ((int)0x1908); public const int GL_RGB8_EXT = ((int)0x8051); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = ((int)0x8516); public const int GL_SAMPLER_3D = ((int)0x8B5F); public const int GL_SAMPLER_2D = ((int)0x8B5E); public const int GL_YCRCBA_SGIX = ((int)0x8319); public const int GL_STENCIL_BUFFER_BIT = ((int)0x00000400); public const int GL_BUFFER_USAGE = ((int)0x8765); public const int GL_PROXY_TEXTURE_RECTANGLE_ARB = ((int)0x84F7); public const int GL_BUFFER_MAP_POINTER_ARB = ((int)0x88BD); public const int GL_SINGLE_COLOR_EXT = ((int)0x81F9); public const int GL_SIGNED_LUMINANCE8_ALPHA8_NV = ((int)0x8704); public const int GL_LUMINANCE4_ALPHA4 = ((int)0x8043); public const int GL_VERTEX_STREAM0_ATI = ((int)0x876C); public const int GL_NORMAL_MAP_ARB = ((int)0x8511); public const int GL_RGB_SCALE_ARB = ((int)0x8573); public const int GL_T2F_C3F_V3F = ((int)0x2A2A); public const int GL_BITMAP_TOKEN = ((int)0x0704); public const int GL_ASYNC_HISTOGRAM_SGIX = ((int)0x832C); public const int GL_COLOR_ARRAY_TYPE_EXT = ((int)0x8082); public const int GL_BINORMAL_ARRAY_TYPE_EXT = ((int)0x8440); public const int GL_MODELVIEW9_ARB = ((int)0x8729); public const int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = ((int)0x8354); public const int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = ((int)0x851E); public const int GL_MULTISAMPLE_SGIS = ((int)0x809D); public const int GL_UNSIGNED_INT_10_10_10_2_EXT = ((int)0x8036); public const int GL_UNSIGNED_INT = ((int)0x1405); public const int GL_INDEX_TEST_EXT = ((int)0x81B5); public const int GL_ONE_MINUS_SRC_COLOR = ((int)0x0301); public const int GL_MAX_TEXTURE_STACK_DEPTH = ((int)0x0D39); public const int GL_PROGRAM_ERROR_POSITION_NV = ((int)0x864B); public const int GL_INTENSITY = ((int)0x8049); public const int GL_MODELVIEW12_ARB = ((int)0x872C); public const int GL_VERTEX_CONSISTENT_HINT_PGI = ((int)0x1A22B); public const int GL_COMBINE_EXT = ((int)0x8570); public const int GL_MAP1_VERTEX_4 = ((int)0x0D98); public const int GL_UNSIGNED_INT_24_8_NV = ((int)0x84FA); public const int GL_OBJECT_SUBTYPE_ARB = ((int)0x8B4F); public const int GL_OUTPUT_TEXTURE_COORD23_EXT = ((int)0x87B4); public const int GL_MAP1_VERTEX_3 = ((int)0x0D97); public const int GL_RETURN = ((int)0x0102); public const int GL_TANGENT_ARRAY_EXT = ((int)0x8439); public const int GL_FLOAT_MAT3x4 = ((int)0x8B68); public const int GL_DEPENDENT_RGB_TEXTURE_3D_NV = ((int)0x8859); public const int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = ((int)0x80B0); public const int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = ((int)0x8C85); public const int GL_INDEX_MODE = ((int)0x0C30); public const int GL_OUTPUT_TEXTURE_COORD12_EXT = ((int)0x87A9); public const int GL_INTENSITY16_ICC_SGIX = ((int)0x846A); public const int GL_REG_28_ATI = ((int)0x893D); public const int GL_POINT_SMOOTH_HINT = ((int)0x0C51); public const int GL_COLOR_ARRAY_EXT = ((int)0x8076); public const int GL_CLIP_PLANE4 = ((int)0x3004); public const int GL_HALF_FLOAT_NV = ((int)0x140B); public const int GL_TEXTURE_COMPRESSED = ((int)0x86A1); public const int GL_LINE = ((int)0x1B01); public const int GL_BINORMAL_ARRAY_EXT = ((int)0x843A); public const int GL_PROGRAM_LENGTH_NV = ((int)0x8627); public const int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = ((int)0x88AF); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = ((int)0x8518); public const int GL_TRACK_MATRIX_TRANSFORM_NV = ((int)0x8649); public const int GL_SELECTION_BUFFER_POINTER = ((int)0x0DF3); public const int GL_DRAW_FRAMEBUFFER_EXT = ((int)0x8CA9); public const int GL_OUTPUT_TEXTURE_COORD13_EXT = ((int)0x87AA); public const int GL_TEXTURE_INDEX_SIZE_EXT = ((int)0x80ED); public const int GL_MAP2_VERTEX_ATTRIB2_4_NV = ((int)0x8672); public const int GL_POST_CONVOLUTION_RED_SCALE_EXT = ((int)0x801C); public const int GL_RECLAIM_MEMORY_HINT_PGI = ((int)0x1A1FE); public const int GL_RENDERBUFFER_WIDTH_EXT = ((int)0x8D42); public const int GL_DEPTH_BIAS = ((int)0x0D1F); public const int GL_FOG_COORDINATE_ARRAY_POINTER = ((int)0x8456); public const int GL_VERTEX_SHADER = ((int)0x8B31); public const int GL_VARIABLE_D_NV = ((int)0x8526); public const int GL_AUX_BUFFERS = ((int)0x0C00); public const int GL_TANGENT_ARRAY_POINTER_EXT = ((int)0x8442); public const int GL_CON_12_ATI = ((int)0x894D); public const int GL_MODELVIEW1_EXT = ((int)0x850A); public const int GL_HISTOGRAM_GREEN_SIZE_EXT = ((int)0x8029); public const int GL_T2F_N3F_V3F = ((int)0x2A2B); public const int GL_ZOOM_Y = ((int)0x0D17); public const int GL_FOG_COORD_ARRAY_STRIDE = ((int)GL_FOG_COORDINATE_ARRAY_STRIDE); public const int GL_MAX_PROGRAM_CALL_DEPTH_NV = ((int)0x88F5); public const int GL_TEXTURE_MAX_CLAMP_S_SGIX = ((int)0x8369); public const int GL_COLOR = ((int)0x1800); public const int GL_TEXTURE_PRIORITY_EXT = ((int)0x8066); public const int GL_INCR_WRAP_EXT = ((int)0x8507); public const int GL_LUMINANCE16 = ((int)0x8042); public const int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8B4D); public const int GL_CONVOLUTION_BORDER_MODE = ((int)0x8013); public const int GL_LUMINANCE_ALPHA16UI_EXT = ((int)0x8D7B); public const int GL_FLOAT_MAT4x2 = ((int)0x8B69); public const int GL_TEXTURE30_ARB = ((int)0x84DE); public const int GL_TEXTURE_MATERIAL_PARAMETER_EXT = ((int)0x8352); public const int GL_BUMP_TARGET_ATI = ((int)0x877C); public const int GL_FRAGMENT_SHADER_ARB = ((int)0x8B30); public const int GL_LIGHT1 = ((int)0x4001); public const int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = ((int)0x8021); public const int GL_UNPACK_IMAGE_HEIGHT_EXT = ((int)0x806E); public const int GL_FRAGMENT_SHADER = ((int)0x8B30); public const int GL_POLYGON_STIPPLE_BIT = ((int)0x00000010); public const int GL_TEXTURE_CUBE_MAP_EXT = ((int)0x8513); public const int GL_DRAW_BUFFER2 = ((int)0x8827); public const int GL_STREAM_DRAW_ARB = ((int)0x88E0); public const int GL_DEPTH_STENCIL_TO_BGRA_NV = ((int)0x886F); public const int GL_UNPACK_SUBSAMPLE_RATE_SGIX = ((int)0x85A1); public const int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = ((int)0x8C8F); public const int GL_TEXCOORD2_BIT_PGI = ((int)0x20000000); public const int GL_MAX_VARYING_COMPONENTS_EXT = ((int)0x8B4B); public const int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = ((int)0x8848); public const int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = ((int)0x8853); public const int GL_OUTPUT_TEXTURE_COORD27_EXT = ((int)0x87B8); public const int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = ((int)0x80F0); public const int GL_DECAL = ((int)0x2101); public const int GL_CONVOLUTION_1D = ((int)0x8010); public const int GL_CONVOLUTION_2D = ((int)0x8011); public const int GL_UNSIGNED_SHORT_5_5_5_1 = ((int)0x8034); public const int GL_PRIMARY_COLOR = ((int)0x8577); public const int GL_LUMINANCE_ALPHA8UI_EXT = ((int)0x8D81); public const int GL_CONVOLUTION_WIDTH_EXT = ((int)0x8018); public const int GL_MAP_TESSELLATION_NV = ((int)0x86C2); public const int GL_EVAL_VERTEX_ATTRIB10_NV = ((int)0x86D0); public const int GL_COLOR_ARRAY_LIST_IBM = ((int)103072); public const int GL_MAT_SPECULAR_BIT_PGI = ((int)0x04000000); public const int GL_LIGHT_MODEL_LOCAL_VIEWER = ((int)0x0B51); public const int GL_DRAW_BUFFER1 = ((int)0x8826); public const int GL_DEPTH_BITS = ((int)0x0D56); public const int GL_OPERAND0_ALPHA_EXT = ((int)0x8598); public const int GL_PIXEL_UNPACK_BUFFER_ARB = ((int)0x88EC); public const int GL_HINT_BIT = ((int)0x00008000); public const int GL_ONE_MINUS_SRC_ALPHA = ((int)0x0303); public const int GL_NORMAL_ARRAY_TYPE = ((int)0x807E); public const int GL_PRIMITIVE_RESTART_INDEX_NV = ((int)0x8559); public const int GL_EVAL_2D_NV = ((int)0x86C0); public const int GL_VIEWPORT_BIT = ((int)0x00000800); public const int GL_OUTPUT_TEXTURE_COORD17_EXT = ((int)0x87AE); public const int GL_PIXEL_PACK_BUFFER_ARB = ((int)0x88EB); public const int GL_SRGB8 = ((int)0x8C41); public const int GL_LOCAL_EXT = ((int)0x87C4); public const int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = ((int)0x889B); public const int GL_REFLECTION_MAP = ((int)0x8512); public const int GL_EVAL_VERTEX_ATTRIB4_NV = ((int)0x86CA); public const int GL_MATRIX26_ARB = ((int)0x88DA); public const int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = ((int)103086); public const int GL_FOG_COORD_ARRAY_TYPE = ((int)GL_FOG_COORDINATE_ARRAY_TYPE); public const int GL_ONE_MINUS_CONSTANT_COLOR = ((int)0x8002); public const int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = ((int)103081); public const int GL_DRAW_BUFFER8_ARB = ((int)0x882D); public const int GL_CON_22_ATI = ((int)0x8957); public const int GL_DRAW_BUFFER0 = ((int)0x8825); public const int GL_MAP2_VERTEX_ATTRIB13_4_NV = ((int)0x867D); public const int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA3); public const int GL_TRANSFORM_FEEDBACK_RECORD_NV = ((int)0x8C86); public const int GL_2PASS_1_SGIS = ((int)0x80A3); public const int GL_BACK = ((int)0x0405); public const int GL_PACK_RESAMPLE_SGIX = ((int)0x842C); public const int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = ((int)0x8DE1); public const int GL_CURRENT_FOG_COORDINATE = ((int)0x8453); public const int GL_FOG_SCALE_SGIX = ((int)0x81FC); public const int GL_BLEND_SRC_RGB = ((int)0x80C9); public const int GL_CURRENT_TANGENT_EXT = ((int)0x843B); public const int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = ((int)0x8806); public const int GL_MODELVIEW31_ARB = ((int)0x873F); public const int GL_TEXTURE_3D_BINDING_EXT = ((int)0x806A); public const int GL_RGBA4_EXT = ((int)0x8056); public const int GL_GREEN_SCALE = ((int)0x0D18); public const int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = ((int)0x8B8B); public const int GL_POINT_SIZE_MIN_EXT = ((int)0x8126); public const int GL_CON_18_ATI = ((int)0x8953); public const int GL_ALPHA32I_EXT = ((int)0x8D84); public const int GL_LINE_BIT = ((int)0x00000004); public const int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = ((int)0x809E); public const int GL_DEPTH_TEST = ((int)0x0B71); public const int GL_HISTOGRAM_FORMAT = ((int)0x8027); public const int GL_FLOAT_VEC3_ARB = ((int)0x8B51); public const int GL_COORD_REPLACE = ((int)0x8862); public const int GL_STENCIL_REF = ((int)0x0B97); public const int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = ((int)0x808A); public const int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = ((int)0x80B5); public const int GL_RGBA32UI_EXT = ((int)0x8D70); public const int GL_STEREO = ((int)0x0C33); public const int GL_DOT3_ATI = ((int)0x8966); public const int GL_REG_18_ATI = ((int)0x8933); public const int GL_LIGHT2 = ((int)0x4002); public const int GL_UNSIGNED_BYTE_3_3_2_EXT = ((int)0x8032); public const int GL_SRC2_ALPHA = ((int)GL_SOURCE2_ALPHA); public const int GL_MODELVIEW1_MATRIX_EXT = ((int)0x8506); public const int GL_LUMINANCE32UI_EXT = ((int)0x8D74); public const int GL_ALPHA12_EXT = ((int)0x803D); public const int GL_TEXTURE15 = ((int)0x84CF); public const int GL_LUMINANCE = ((int)0x1909); public const int GL_MAP2_VERTEX_ATTRIB7_4_NV = ((int)0x8677); public const int GL_COLOR_SUM_EXT = ((int)0x8458); public const int GL_ADD = ((int)0x0104); public const int GL_TEXTURE13 = ((int)0x84CD); public const int GL_TEXTURE12 = ((int)0x84CC); public const int GL_FOG_COORDINATE_ARRAY_EXT = ((int)0x8457); public const int GL_COMPRESSED_RGB = ((int)0x84ED); public const int GL_TRANSPOSE_NV = ((int)0x862C); public const int GL_RENDERBUFFER_RED_SIZE_EXT = ((int)0x8D50); public const int GL_TANGENT_ARRAY_STRIDE_EXT = ((int)0x843F); public const int GL_SECONDARY_COLOR_ARRAY_POINTER = ((int)0x845D); public const int GL_LIGHT3 = ((int)0x4003); public const int GL_CULL_VERTEX_EXT = ((int)0x81AA); public const int GL_SOURCE2_RGB_ARB = ((int)0x8582); public const int GL_FRAGMENT_LIGHT7_SGIX = ((int)0x8413); public const int GL_VERTEX_ARRAY_TYPE_EXT = ((int)0x807B); public const int GL_TEXTURE_LOD_BIAS_T_SGIX = ((int)0x818F); public const int GL_MAP2_VERTEX_ATTRIB11_4_NV = ((int)0x867B); public const int GL_TRANSPOSE_MODELVIEW_MATRIX = ((int)0x84E3); public const int GL_PROXY_HISTOGRAM = ((int)0x8025); public const int GL_DSDT_MAG_INTENSITY_NV = ((int)0x86DC); public const int GL_COPY_PIXEL_TOKEN = ((int)0x0706); public const int GL_POINT_SPRITE_NV = ((int)0x8861); public const int GL_IMAGE_TRANSLATE_Y_HP = ((int)0x8158); public const int GL_PROGRAM_BINDING_ARB = ((int)0x8677); public const int GL_LUMINANCE_ALPHA_ICC_SGIX = ((int)0x8465); public const int GL_CON_15_ATI = ((int)0x8950); public const int GL_REDUCE = ((int)0x8016); public const int GL_RESAMPLE_ZERO_FILL_SGIX = ((int)0x842F); public const int GL_SPRITE_MODE_SGIX = ((int)0x8149); public const int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = ((int)0x8855); public const int GL_INTENSITY_EXT = ((int)0x8049); public const int GL_RGB16UI_EXT = ((int)0x8D77); public const int GL_INTENSITY12 = ((int)0x804C); public const int GL_COMPRESSED_TEXTURE_FORMATS = ((int)0x86A3); public const int GL_ALLOW_DRAW_WIN_HINT_PGI = ((int)0x1A20F); public const int GL_MAX_EXT = ((int)0x8008); public const int GL_MAX_VERTEX_STREAMS_ATI = ((int)0x876B); public const int GL_HI_BIAS_NV = ((int)0x8714); public const int GL_POLYGON_OFFSET_LINE = ((int)0x2A02); public const int GL_LUMINANCE_ALPHA32F_ARB = ((int)0x8819); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = ((int)0x851A); public const int GL_READ_BUFFER = ((int)0x0C02); public const int GL_PIXEL_MAP_A_TO_A_SIZE = ((int)0x0CB9); public const int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = ((int)0x8C7F); public const int GL_BITMAP = ((int)0x1A00); public const int GL_UNSIGNED_SHORT_5_6_5 = ((int)0x8363); public const int GL_LUMINANCE8_ALPHA8_EXT = ((int)0x8045); public const int GL_CURRENT_MATRIX_NV = ((int)0x8641); public const int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = ((int)0x80BB); public const int GL_CONVOLUTION_FILTER_BIAS = ((int)0x8015); public const int GL_4PASS_3_EXT = ((int)0x80A7); public const int GL_COMBINE_RGB = ((int)0x8571); public const int GL_OPERAND3_ALPHA_NV = ((int)0x859B); public const int GL_SOURCE1_ALPHA_EXT = ((int)0x8589); public const int GL_ALPHA_TEST_FUNC = ((int)0x0BC1); public const int GL_FLOAT_RGB32_NV = ((int)0x8889); public const int GL_BLEND_DST = ((int)0x0BE0); public const int GL_READ_ONLY_ARB = ((int)0x88B8); public const int GL_MODELVIEW18_ARB = ((int)0x8732); public const int GL_LIGHT_MODEL_COLOR_CONTROL = ((int)0x81F8); public const int GL_MAP2_VERTEX_ATTRIB12_4_NV = ((int)0x867C); public const int GL_DEPTH_SCALE = ((int)0x0D1E); public const int GL_TEXTURE_BASE_LEVEL = ((int)0x813C); public const int GL_BLEND_EQUATION_RGB_EXT = ((int)GL_BLEND_EQUATION); public const int GL_CLAMP_TO_BORDER_ARB = ((int)0x812D); public const int GL_MATRIX_MODE = ((int)0x0BA0); public const int GL_MAX_RATIONAL_EVAL_ORDER_NV = ((int)0x86D7); public const int GL_TEXTURE_RESIDENT = ((int)0x8067); public const int GL_MAX_DRAW_BUFFERS_ATI = ((int)0x8824); public const int GL_PIXEL_TILE_GRID_DEPTH_SGIX = ((int)0x8144); public const int GL_CURRENT_VERTEX_EXT = ((int)0x87E2); public const int GL_SRGB = ((int)0x8C40); public const int GL_MODELVIEW15_ARB = ((int)0x872F); public const int GL_VERTEX_ATTRIB_ARRAY7_NV = ((int)0x8657); public const int GL_FOG_COORDINATE_SOURCE = ((int)0x8450); public const int GL_COMPRESSED_LUMINANCE_LATC1_EXT = ((int)0x8C70); public const int GL_FOUR = ((int)4); public const int GL_LUMINANCE4_EXT = ((int)0x803F); public const int GL_COLOR_INDEX16_EXT = ((int)0x80E7); public const int GL_COLOR_TABLE_BIAS_SGI = ((int)0x80D7); public const int GL_AUX3 = ((int)0x040C); public const int GL_BUMP_NUM_TEX_UNITS_ATI = ((int)0x8777); public const int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = ((int)0x8402); public const int GL_RGBA8I_EXT = ((int)0x8D8E); public const int GL_OUTPUT_FOG_EXT = ((int)0x87BD); public const int GL_GENERATE_MIPMAP = ((int)0x8191); public const int GL_INVERTED_SCREEN_W_REND = ((int)0x8491); public const int GL_CON_25_ATI = ((int)0x895A); public const int GL_PIXEL_TEXTURE_SGIS = ((int)0x8353); public const int GL_UNSIGNED_INT_8_8_8_8_REV_EXT = ((int)0x8367); public const int GL_RGBA8UI_EXT = ((int)0x8D7C); public const int GL_TEXTURE21 = ((int)0x84D5); public const int GL_TANGENT_ARRAY_TYPE_EXT = ((int)0x843E); public const int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = ((int)0x845B); public const int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = ((int)0x8802); public const int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = ((int)0x0506); public const int GL_RASTER_POSITION_UNCLIPPED_IBM = ((int)0x19262); public const int GL_AUX2 = ((int)0x040B); public const int GL_NOTEQUAL = ((int)0x0205); public const int GL_POST_CONVOLUTION_BLUE_SCALE = ((int)0x801E); public const int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = ((int)0x8DE0); public const int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = ((int)0x8847); public const int GL_ATTRIB_ARRAY_TYPE_NV = ((int)0x8625); public const int GL_COLOR_ARRAY_TYPE = ((int)0x8082); public const int GL_XOR = ((int)0x1506); public const int GL_TEXTURE_ENV_COLOR = ((int)0x2201); public const int GL_ZERO_EXT = ((int)0x87DD); public const int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = ((int)0x80B8); public const int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = ((int)0x8089); public const int GL_BACK_LEFT = ((int)0x0402); public const int GL_VERTEX_ATTRIB_ARRAY0_NV = ((int)0x8650); public const int GL_COLOR_MATERIAL = ((int)0x0B57); public const int GL_POLYGON_OFFSET_BIAS_EXT = ((int)0x8039); public const int GL_TEXTURE_COMPARE_FUNC = ((int)0x884D); public const int GL_MAT_EMISSION_BIT_PGI = ((int)0x00800000); public const int GL_DRAW_BUFFER5 = ((int)0x882A); public const int GL_DRAW_BUFFER6_ARB = ((int)0x882B); public const int GL_DEPTH_BUFFER_BIT = ((int)0x00000100); public const int GL_NOR = ((int)0x1508); public const int GL_MAP1_VERTEX_ATTRIB14_4_NV = ((int)0x866E); public const int GL_DSDT8_MAG8_NV = ((int)0x870A); public const int GL_AUX1 = ((int)0x040A); public const int GL_MAX_TRACK_MATRICES_NV = ((int)0x862F); public const int GL_QUERY_RESULT_ARB = ((int)0x8866); public const int GL_OPERAND0_ALPHA = ((int)0x8598); public const int GL_FOG_SCALE_VALUE_SGIX = ((int)0x81FD); public const int GL_TEXTURE_MAX_LEVEL = ((int)0x813D); public const int GL_LINE_WIDTH_GRANULARITY = ((int)0x0B23); public const int GL_MODELVIEW7_ARB = ((int)0x8727); public const int GL_LINE_STIPPLE = ((int)0x0B24); public const int GL_PROGRAM_ERROR_STRING_ARB = ((int)0x8874); public const int GL_T4F_V4F = ((int)0x2A28); public const int GL_CONVOLUTION_HINT_SGIX = ((int)0x8316); public const int GL_CURRENT_RASTER_INDEX = ((int)0x0B05); public const int GL_ALPHA16UI_EXT = ((int)0x8D78); public const int GL_TEXTURE_BIT = ((int)0x00040000); public const int GL_VERTEX_WEIGHTING_EXT = ((int)0x8509); public const int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = ((int)0x8DC4); public const int GL_RGB2_EXT = ((int)0x804E); public const int GL_BLUE_BITS = ((int)0x0D54); public const int GL_GEOMETRY_INPUT_TYPE_EXT = ((int)0x8DDB); public const int GL_ABGR_EXT = ((int)0x8000); public const int GL_RED_MAX_CLAMP_INGR = ((int)0x8564); public const int GL_UNPACK_ROW_LENGTH = ((int)0x0CF2); public const int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = ((int)0x8B4C); public const int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = ((int)0x8905); public const int GL_AUX0 = ((int)0x0409); public const int GL_FOG_DENSITY = ((int)0x0B62); public const int GL_INTENSITY16_EXT = ((int)0x804D); public const int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = ((int)0x87F5); public const int GL_POST_COLOR_MATRIX_BLUE_SCALE = ((int)0x80B6); public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = ((int)0x87CE); public const int GL_CONVOLUTION_BORDER_MODE_EXT = ((int)0x8013); public const int GL_DUAL_ALPHA4_SGIS = ((int)0x8110); public const int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = ((int)0x8849); public const int GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = ((int)0x8189); public const int GL_CLAMP_TO_BORDER_SGIS = ((int)0x812D); public const int GL_SAMPLE_MASK_INVERT_EXT = ((int)0x80AB); public const int GL_TEXT_FRAGMENT_SHADER_ATI = ((int)0x8200); public const int GL_MODELVIEW17_ARB = ((int)0x8731); public const int GL_CMYK_EXT = ((int)0x800C); public const int GL_RGBA2_EXT = ((int)0x8055); public const int GL_MODELVIEW0_EXT = ((int)GL_MODELVIEW); public const int GL_PERSPECTIVE_CORRECTION_HINT = ((int)0x0C50); public const int GL_UNPACK_CLIENT_STORAGE_APPLE = ((int)0x85B2); public const int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = ((int)0x8532); public const int GL_LINEAR_SHARPEN_COLOR_SGIS = ((int)0x80AF); public const int GL_COPY_INVERTED = ((int)0x150C); public const int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = ((int)0x88A6); public const int GL_FRAGMENT_LIGHT5_SGIX = ((int)0x8411); public const int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA4); public const int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = ((int)0x884E); public const int GL_COMPRESSED_SRGB = ((int)0x8C48); public const int GL_PROXY_TEXTURE_2D_EXT = ((int)0x8064); public const int GL_TEXTURE_1D = ((int)0x0DE0); public const int GL_PACK_INVERT_MESA = ((int)0x8758); public const int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = ((int)0x8DBD); public const int GL_UNPACK_SKIP_PIXELS = ((int)0x0CF4); public const int GL_VERTEX_PRECLIP_SGIX = ((int)0x83EE); public const int GL_UNPACK_IMAGE_DEPTH_SGIS = ((int)0x8133); public const int GL_EDGE_FLAG_ARRAY = ((int)0x8079); public const int GL_FRAGMENT_SHADER_ATI = ((int)0x8920); public const int GL_EVAL_VERTEX_ATTRIB6_NV = ((int)0x86CC); public const int GL_SELECTION_BUFFER_SIZE = ((int)0x0DF4); public const int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = ((int)0x8088); public const int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = ((int)0x87F6); public const int GL_BUMP_TEX_UNITS_ATI = ((int)0x8778); public const int GL_MAX_ACTIVE_LIGHTS_SGIX = ((int)0x8405); public const int GL_DEPTH_TEXTURE_MODE = ((int)0x884B); public const int GL_FULL_STIPPLE_HINT_PGI = ((int)0x1A219); public const int GL_POINT_SIZE_GRANULARITY = ((int)0x0B13); public const int GL_CONSTANT_ALPHA = ((int)0x8003); public const int GL_LUMINANCE16I_EXT = ((int)0x8D8C); public const int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = ((int)0x889D); public const int GL_QUAD_ALPHA4_SGIS = ((int)0x811E); public const int GL_CURRENT_RASTER_NORMAL_SGIX = ((int)0x8406); public const int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = ((int)0x80D5); public const int GL_MAX_EVAL_ORDER = ((int)0x0D30); public const int GL_UNIFORM_BUFFER_BINDING_EXT = ((int)0x8DEF); public const int GL_RGBA8_EXT = ((int)0x8058); public const int GL_INDEX_BIT_PGI = ((int)0x00080000); public const int GL_SHADER_OBJECT_ARB = ((int)0x8B48); public const int GL_VARIANT_ARRAY_POINTER_EXT = ((int)0x87E9); public const int GL_TEXTURE_CLIPMAP_FRAME_SGIX = ((int)0x8172); public const int GL_STENCIL_BACK_FAIL_ATI = ((int)0x8801); public const int GL_MAX_ASYNC_READ_PIXELS_SGIX = ((int)0x8361); public const int GL_TEXTURE25 = ((int)0x84D9); public const int GL_MIRRORED_REPEAT_IBM = ((int)0x8370); public const int GL_LUMINANCE16_ALPHA16_EXT = ((int)0x8048); public const int GL_TEXTURE26 = ((int)0x84DA); public const int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = ((int)0x812E); public const int GL_ALPHA8I_EXT = ((int)0x8D90); public const int GL_TEXTURE22 = ((int)0x84D6); public const int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = ((int)0x8175); public const int GL_OP_NEGATE_EXT = ((int)0x8783); public const int GL_NORMAL_ARRAY_STRIDE_EXT = ((int)0x807F); public const int GL_CURRENT_BINORMAL_EXT = ((int)0x843C); public const int GL_TEXTURE29 = ((int)0x84DD); public const int GL_SAMPLE_COVERAGE_INVERT_ARB = ((int)0x80AB); public const int GL_PIXEL_TEX_GEN_SGIX = ((int)0x8139); public const int GL_SCALE_BY_FOUR_NV = ((int)0x853F); public const int GL_PIXEL_MAP_R_TO_R = ((int)0x0C76); public const int GL_VERTEX_ARRAY_LIST_IBM = ((int)103070); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = ((int)0x8517); public const int GL_RESAMPLE_REPLICATE_SGIX = ((int)0x842E); public const int GL_ALIASED_LINE_WIDTH_RANGE = ((int)0x846E); public const int GL_FRAGMENT_LIGHT3_SGIX = ((int)0x840F); public const int GL_TEXTURE_COMPARE_MODE_ARB = ((int)0x884C); public const int GL_TEXTURE7_ARB = ((int)0x84C7); public const int GL_CON_14_ATI = ((int)0x894F); public const int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = ((int)0x85C2); public const int GL_TEXTURE22_ARB = ((int)0x84D6); public const int GL_SAMPLER_CUBE_SHADOW_EXT = ((int)0x8DC5); public const int GL_QUADS = ((int)0x0007); public const int GL_TEXTURE_BLUE_SIZE_EXT = ((int)0x805E); public const int GL_OUT_OF_MEMORY = ((int)0x0505); public const int GL_MAT_SHININESS_BIT_PGI = ((int)0x02000000); public const int GL_MAP1_VERTEX_ATTRIB9_4_NV = ((int)0x8669); public const int GL_VIEWPORT = ((int)0x0BA2); public const int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = ((int)0x813E); public const int GL_MODELVIEW25_ARB = ((int)0x8739); public const int GL_OBJECT_PLANE = ((int)0x2501); public const int GL_FOG_COORDINATE_SOURCE_EXT = ((int)0x8450); public const int GL_MODELVIEW28_ARB = ((int)0x873C); public const int GL_ALPHA8UI_EXT = ((int)0x8D7E); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = ((int)0x8519); public const int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = ((int)0x8C8B); public const int GL_2_BYTES = ((int)0x1407); public const int GL_READ_FRAMEBUFFER_BINDING_EXT = ((int)GL_FRAMEBUFFER_BINDING_EXT); public const int GL_IMAGE_ROTATE_ORIGIN_Y_HP = ((int)0x815B); public const int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = ((int)0x850F); public const int GL_INDEX_ARRAY_BUFFER_BINDING = ((int)0x8899); public const int GL_OPERAND2_ALPHA = ((int)0x859A); public const int GL_REFERENCE_PLANE_SGIX = ((int)0x817D); public const int GL_POINT_SIZE_RANGE = ((int)0x0B12); public const int GL_STACK_UNDERFLOW = ((int)0x0504); public const int GL_BOOL_VEC3_ARB = ((int)0x8B58); public const int GL_SIGNED_RGB_NV = ((int)0x86FE); public const int GL_CLEAR = ((int)0x1500); public const int GL_TEXTURE9_ARB = ((int)0x84C9); public const int GL_OPERAND1_RGB_EXT = ((int)0x8591); public const int GL_TEXTURE_COMPRESSED_IMAGE_SIZE = ((int)0x86A0); public const int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = ((int)0x864D); public const int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = ((int)0x887A); public const int GL_AND_INVERTED = ((int)0x1504); public const int GL_CONSTANT_ALPHA_EXT = ((int)0x8003); public const int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = ((int)0x8DDD); public const int GL_BLEND_EQUATION_ALPHA_EXT = ((int)0x883D); public const int GL_PIXEL_MAP_A_TO_A = ((int)0x0C79); public const int GL_RGB10_A2_EXT = ((int)0x8059); public const int GL_CURRENT_PALETTE_MATRIX_ARB = ((int)0x8843); public const int GL_TEXCOORD1_BIT_PGI = ((int)0x10000000); public const int GL_LUMINANCE_ALPHA8I_EXT = ((int)0x8D93); public const int GL_MODELVIEW19_ARB = ((int)0x8733); public const int GL_T2F_IUI_N3F_V3F_EXT = ((int)0x81B4); public const int GL_SEPARATE_ATTRIBS_NV = ((int)0x8C8D); public const int GL_INT_SAMPLER_2D_EXT = ((int)0x8DCA); public const int GL_EYE_RADIAL_NV = ((int)0x855B); public const int GL_RGB5_EXT = ((int)0x8050); public const int GL_ACTIVE_ATTRIBUTES = ((int)0x8B89); public const int GL_PIXEL_TEX_GEN_MODE_SGIX = ((int)0x832B); public const int GL_UNSIGNED_SHORT_4_4_4_4_REV = ((int)0x8365); public const int GL_OFFSET_TEXTURE_2D_MATRIX_NV = ((int)GL_OFFSET_TEXTURE_MATRIX_NV); public const int GL_COORD_REPLACE_NV = ((int)0x8862); public const int GL_COLOR_ATTACHMENT11_EXT = ((int)0x8CEB); public const int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = ((int)0x889C); public const int GL_LINEAR_DETAIL_SGIS = ((int)0x8097); public const int GL_AVERAGE_HP = ((int)0x8160); public const int GL_TEXTURE_LOD_BIAS_S_SGIX = ((int)0x818E); public const int GL_TRIANGLE_MESH_SUN = ((int)0x8615); public const int GL_CLIP_DISTANCE_NV = ((int)0x8C7A); public const int GL_4PASS_0_SGIS = ((int)0x80A4); public const int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87C5); public const int GL_TEXTURE4 = ((int)0x84C4); public const int GL_ELEMENT_ARRAY_POINTER_ATI = ((int)0x876A); public const int GL_MAX_DEFORMATION_ORDER_SGIX = ((int)0x8197); public const int GL_FILTER4_SGIS = ((int)0x8146); public const int GL_INT_SAMPLER_1D_EXT = ((int)0x8DC9); public const int GL_TEXTURE8_ARB = ((int)0x84C8); public const int GL_FEEDBACK_BUFFER_SIZE = ((int)0x0DF1); public const int GL_CURRENT_SECONDARY_COLOR_EXT = ((int)0x8459); public const int GL_ACCUM_BLUE_BITS = ((int)0x0D5A); public const int GL_STRICT_DEPTHFUNC_HINT_PGI = ((int)0x1A216); public const int GL_ACCUM_ALPHA_BITS = ((int)0x0D5B); public const int GL_LERP_ATI = ((int)0x8969); public const int GL_EVAL_VERTEX_ATTRIB9_NV = ((int)0x86CF); public const int GL_PROXY_TEXTURE_1D_EXT = ((int)0x8063); public const int GL_CLIENT_ATTRIB_STACK_DEPTH = ((int)0x0BB1); public const int GL_CURRENT_MATRIX_STACK_DEPTH_NV = ((int)0x8640); public const int GL_DUAL_INTENSITY12_SGIS = ((int)0x811A); public const int GL_IMAGE_TRANSFORM_2D_HP = ((int)0x8161); public const int GL_TEXTURE_WIDTH = ((int)0x1000); public const int GL_INT_VEC4 = ((int)0x8B55); public const int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = ((int)0x8DA5); public const int GL_MAP1_BINORMAL_EXT = ((int)0x8446); public const int GL_MIRROR_CLAMP_TO_EDGE_ATI = ((int)0x8743); public const int GL_LUMINANCE_ALPHA = ((int)0x190A); public const int GL_AND = ((int)0x1501); public const int GL_FLOAT_MAT4 = ((int)0x8B5C); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = ((int)0x851A); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = ((int)0x8519); public const int GL_MODELVIEW23_ARB = ((int)0x8737); public const int GL_TRIANGLE_LIST_SUN = ((int)0x81D7); public const int GL_PASS_THROUGH_NV = ((int)0x86E6); public const int GL_UNSIGNED_SHORT_5_6_5_REV_EXT = ((int)0x8364); public const int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = ((int)0x8803); public const int GL_OP_POWER_EXT = ((int)0x8793); public const int GL_DRAW_BUFFER1_ATI = ((int)0x8826); public const int GL_RESAMPLE_REPLICATE_OML = ((int)0x8986); public const int GL_UNPACK_ALIGNMENT = ((int)0x0CF5); public const int GL_TEXTURE_BINDING_CUBE_MAP = ((int)0x8514); public const int GL_INT_SAMPLER_3D_EXT = ((int)0x8DCB); public const int GL_PROGRAM_NATIVE_PARAMETERS_ARB = ((int)0x88AA); public const int GL_TEXTURE_DEPTH_EXT = ((int)0x8071); public const int GL_INT_VEC3 = ((int)0x8B54); public const int GL_MATRIX3_NV = ((int)0x8633); public const int GL_PROXY_TEXTURE_1D_STACK_MESAX = ((int)0x875B); public const int GL_MAX_SAMPLES_EXT = ((int)0x8D57); public const int GL_COMBINE4_NV = ((int)0x8503); public const int GL_EYE_POINT_SGIS = ((int)0x81F4); public const int GL_MODELVIEW = ((int)0x1700); public const int GL_TEXTURE_COMPRESSION_HINT_ARB = ((int)0x84EF); public const int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = ((int)0x8810); public const int GL_MODELVIEW24_ARB = ((int)0x8738); public const int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = ((int)0x889F); public const int GL_VERTEX_ATTRIB_ARRAY9_NV = ((int)0x8659); public const int GL_VERTEX_ATTRIB_ARRAY_POINTER = ((int)0x8645); public const int GL_CLIP_FAR_HINT_PGI = ((int)0x1A221); public const int GL_DUAL_ALPHA8_SGIS = ((int)0x8111); public const int GL_PIXEL_MAP_I_TO_G_SIZE = ((int)0x0CB3); public const int GL_FUNC_ADD_EXT = ((int)0x8006); public const int GL_QUAD_INTENSITY4_SGIS = ((int)0x8122); public const int GL_MATRIX27_ARB = ((int)0x88DB); public const int GL_LINE_RESET_TOKEN = ((int)0x0707); public const int GL_FOG_INDEX = ((int)0x0B61); public const int GL_MODELVIEW0_STACK_DEPTH_EXT = ((int)GL_MODELVIEW_STACK_DEPTH); public const int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = ((int)0x8CAB); public const int GL_VERTEX_ATTRIB_ARRAY14_NV = ((int)0x865E); public const int GL_SRGB8_EXT = ((int)0x8C41); public const int GL_PIXEL_SUBSAMPLE_4444_SGIX = ((int)0x85A2); public const int GL_VERTEX_ATTRIB_ARRAY13_NV = ((int)0x865D); public const int GL_VERTEX_ATTRIB_ARRAY10_NV = ((int)0x865A); public const int GL_LINE_LOOP = ((int)0x0002); public const int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = ((int)0x8DD5); public const int GL_VERTEX_ATTRIB_ARRAY5_NV = ((int)0x8655); public const int GL_REPLACEMENT_CODE_ARRAY_SUN = ((int)0x85C0); public const int GL_OPERAND1_ALPHA_ARB = ((int)0x8599); public const int GL_PROGRAM_TEX_INDIRECTIONS_ARB = ((int)0x8807); public const int GL_FLOAT_MAT2_ARB = ((int)0x8B5A); public const int GL_ASYNC_MARKER_SGIX = ((int)0x8329); public const int GL_4_BYTES = ((int)0x1409); public const int GL_SPARE0_NV = ((int)0x852E); public const int GL_UNSIGNED_INT_VEC2_EXT = ((int)0x8DC6); public const int GL_RGBA_FLOAT_MODE_ARB = ((int)0x8820); public const int GL_TEXTURE_COMPARE_FUNC_ARB = ((int)0x884D); public const int GL_TEXTURE_INTERNAL_FORMAT = ((int)0x1003); public const int GL_MAP1_VERTEX_ATTRIB4_4_NV = ((int)0x8664); public const int GL_NICEST = ((int)0x1102); public const int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = ((int)0x862E); public const int GL_MAX_FRAMEZOOM_FACTOR_SGIX = ((int)0x818D); public const int GL_IMAGE_MAG_FILTER_HP = ((int)0x815C); public const int GL_COMBINER_SUM_OUTPUT_NV = ((int)0x854C); public const int GL_R1UI_T2F_V3F_SUN = ((int)0x85C9); public const int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = ((int)0x8456); public const int GL_RGB_FLOAT32_ATI = ((int)0x8815); public const int GL_CURRENT_RASTER_TEXTURE_COORDS = ((int)0x0B06); public const int GL_MAX_TEXTURE_IMAGE_UNITS_NV = ((int)0x8872); public const int GL_ASYNC_DRAW_PIXELS_SGIX = ((int)0x835D); public const int GL_EMISSION = ((int)0x1600); public const int GL_COLOR_ATTACHMENT3_EXT = ((int)0x8CE3); public const int GL_TEXTURE_LIGHT_EXT = ((int)0x8350); public const int GL_VERTEX_ATTRIB_ARRAY15_NV = ((int)0x865F); public const int GL_PROGRAM_INSTRUCTIONS_ARB = ((int)0x88A0); public const int GL_LUMINANCE_ALPHA16F_ARB = ((int)0x881F); public const int GL_OP_SET_GE_EXT = ((int)0x878C); public const int GL_VERTEX_ATTRIB_ARRAY11_NV = ((int)0x865B); public const int GL_TEXTURE_2D_BINDING_EXT = ((int)0x8069); public const int GL_RENDERBUFFER_COLOR_SAMPLES_NV = ((int)0x8E10); public const int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = ((int)0x8B49); public const int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = ((int)0x885D); public const int GL_OBJECT_BUFFER_USAGE_ATI = ((int)0x8765); public const int GL_TEXCOORD4_BIT_PGI = unchecked((int)0x80000000); public const int GL_REFLECTION_MAP_ARB = ((int)0x8512); public const int GL_LUMINANCE_ALPHA32I_EXT = ((int)0x8D87); public const int GL_TRACK_MATRIX_NV = ((int)0x8648); public const int GL_MATRIX10_ARB = ((int)0x88CA); public const int GL_GLOBAL_ALPHA_FACTOR_SUN = ((int)0x81DA); public const int GL_RGBA16UI_EXT = ((int)0x8D76); public const int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = ((int)0x8355); public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = ((int)0x8C4F); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = ((int)0x8519); public const int GL_OUTPUT_TEXTURE_COORD7_EXT = ((int)0x87A4); public const int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = ((int)0x8898); public const int GL_MODELVIEW1_STACK_DEPTH_EXT = ((int)0x8502); public const int GL_MAP1_GRID_DOMAIN = ((int)0x0DD0); public const int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = ((int)0x8895); public const int GL_ALPHA_BITS = ((int)0x0D55); public const int GL_PIXEL_TILE_GRID_WIDTH_SGIX = ((int)0x8142); public const int GL_LUMINANCE16_EXT = ((int)0x8042); public const int GL_COMPILE_AND_EXECUTE = ((int)0x1301); public const int GL_YCRCB_422_SGIX = ((int)0x81BB); public const int GL_TEXTURE_CLIPMAP_CENTER_SGIX = ((int)0x8171); public const int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = ((int)0x8DC3); public const int GL_MATRIX0_ARB = ((int)0x88C0); public const int GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = ((int)0x8186); public const int GL_RGB8 = ((int)0x8051); public const int GL_PACK_SKIP_IMAGES_EXT = ((int)0x806B); public const int GL_FORCE_BLUE_TO_ONE_NV = ((int)0x8860); public const int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = ((int)0x8642); public const int GL_PACK_SKIP_PIXELS = ((int)0x0D04); public const int GL_VERTEX_ARRAY_RANGE_APPLE = ((int)0x851D); public const int GL_ALPHA_BIAS = ((int)0x0D1D); public const int GL_MODELVIEW26_ARB = ((int)0x873A); public const int GL_GENERATE_MIPMAP_HINT = ((int)0x8192); public const int GL_EYE_DISTANCE_TO_POINT_SGIS = ((int)0x81F0); public const int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = ((int)0x8DDE); public const int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = ((int)0x8173); public const int GL_EXTENSIONS = ((int)0x1F03); public const int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = ((int)0x887C); public const int GL_OFFSET_TEXTURE_2D_BIAS_NV = ((int)GL_OFFSET_TEXTURE_BIAS_NV); public const int GL_PROGRAM_NATIVE_ATTRIBS_ARB = ((int)0x88AE); public const int GL_PREVIOUS_EXT = ((int)0x8578); public const int GL_DEPTH_BOUNDS_TEST_EXT = ((int)0x8890); public const int GL_BOOL_VEC4_ARB = ((int)0x8B59); public const int GL_DEPTH32F_STENCIL8_NV = ((int)0x8DAC); public const int GL_TEXTURE_BINDING_1D_ARRAY_EXT = ((int)0x8C1C); public const int GL_VERTEX_WEIGHT_ARRAY_EXT = ((int)0x850C); public const int GL_TEXTURE_COORD_NV = ((int)0x8C79); public const int GL_VERTEX_ATTRIB_ARRAY12_NV = ((int)0x865C); public const int GL_OBJECT_ACTIVE_UNIFORMS_ARB = ((int)0x8B86); public const int GL_COLOR_TABLE_LUMINANCE_SIZE = ((int)0x80DE); public const int GL_RGBA_INTEGER_EXT = ((int)0x8D99); public const int GL_MAX_TEXTURE_UNITS = ((int)0x84E2); public const int GL_MIRRORED_REPEAT_ARB = ((int)0x8370); public const int GL_PACK_IMAGE_HEIGHT = ((int)0x806C); public const int GL_SHADER_SOURCE_LENGTH = ((int)0x8B88); public const int GL_MAX_SHININESS_NV = ((int)0x8504); public const int GL_OUTPUT_TEXTURE_COORD9_EXT = ((int)0x87A6); public const int GL_NEAREST_MIPMAP_NEAREST = ((int)0x2700); public const int GL_TEXTURE_BUFFER_EXT = ((int)0x8C2A); public const int GL_HISTOGRAM_RED_SIZE = ((int)0x8028); public const int GL_MATRIX0_NV = ((int)0x8630); public const int GL_SLUMINANCE8_ALPHA8_EXT = ((int)0x8C45); public const int GL_TEXTURE_LOD_BIAS_R_SGIX = ((int)0x8190); public const int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = ((int)0x8004); public const int GL_R1UI_N3F_V3F_SUN = ((int)0x85C7); public const int GL_SIGNED_HILO_NV = ((int)0x86F9); public const int GL_SRC0_ALPHA = ((int)GL_SOURCE0_ALPHA); public const int GL_POST_TEXTURE_FILTER_BIAS_SGIX = ((int)0x8179); public const int GL_COLOR_MATERIAL_FACE = ((int)0x0B55); public const int GL_INTENSITY32F_ARB = ((int)0x8817); public const int GL_OCCLUSION_TEST_HP = ((int)0x8165); public const int GL_VERTEX_ATTRIB_ARRAY_ENABLED = ((int)0x8622); public const int GL_RGBA_FLOAT32_ATI = ((int)0x8814); public const int GL_LINEAR_CLIPMAP_LINEAR_SGIX = ((int)0x8170); public const int GL_LUMINANCE_ALPHA32UI_EXT = ((int)0x8D75); public const int GL_TEXTURE_COMPARE_OPERATOR_SGIX = ((int)0x819B); public const int GL_RGBA_INTEGER_MODE_EXT = ((int)0x8D9E); public const int GL_ALPHA16F_ARB = ((int)0x881C); public const int GL_OBJECT_LINK_STATUS_ARB = ((int)0x8B82); public const int GL_MAP2_VERTEX_ATTRIB14_4_NV = ((int)0x867E); public const int GL_MAX_ATTRIB_STACK_DEPTH = ((int)0x0D35); public const int GL_MULTISAMPLE_EXT = ((int)0x809D); public const int GL_PROXY_TEXTURE_2D_STACK_MESAX = ((int)0x875C); public const int GL_SPECULAR = ((int)0x1202); public const int GL_PARALLEL_ARRAYS_INTEL = ((int)0x83F4); public const int GL_OUTPUT_COLOR1_EXT = ((int)0x879C); public const int GL_BGRA_INTEGER_EXT = ((int)0x8D9B); public const int GL_VERTEX_ARRAY_POINTER = ((int)0x808E); public const int GL_SAMPLES_3DFX = ((int)0x86B4); public const int GL_LINE_SMOOTH = ((int)0x0B20); public const int GL_LINE_SMOOTH_HINT = ((int)0x0C52); public const int GL_CONVOLUTION_HEIGHT_EXT = ((int)0x8019); public const int GL_EYE_LINEAR = ((int)0x2400); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X = ((int)0x8515); public const int GL_RED_MIN_CLAMP_INGR = ((int)0x8560); public const int GL_MAP1_TANGENT_EXT = ((int)0x8444); public const int GL_MATRIX16_ARB = ((int)0x88D0); public const int GL_QUAD_ALPHA8_SGIS = ((int)0x811F); public const int GL_MINMAX_EXT = ((int)0x802E); public const int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = ((int)0x8DA6); public const int GL_FRAGMENT_MATERIAL_EXT = ((int)0x8349); public const int GL_DRAW_BUFFER9_ATI = ((int)0x882E); public const int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = ((int)0x887B); public const int GL_MAX_FRAGMENT_LIGHTS_SGIX = ((int)0x8404); public const int GL_TEXTURE_DT_SIZE_NV = ((int)0x871E); public const int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = ((int)0x87F7); public const int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = ((int)0x80D1); public const int GL_TEXTURE_CUBE_MAP_ARB = ((int)0x8513); public const int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = ((int)0x8643); public const int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = ((int)0x8DE3); public const int GL_COMPRESSED_ALPHA_ARB = ((int)0x84E9); public const int GL_REPEAT = ((int)0x2901); public const int GL_CONVOLUTION_FORMAT_EXT = ((int)0x8017); public const int GL_DRAW_BUFFER5_ATI = ((int)0x882A); public const int GL_HISTOGRAM_WIDTH = ((int)0x8026); public const int GL_TEXTURE29_ARB = ((int)0x84DD); public const int GL_MULTISAMPLE = ((int)0x809D); public const int GL_POINT_SIZE_MIN = ((int)0x8126); public const int GL_OUTPUT_TEXTURE_COORD30_EXT = ((int)0x87BB); public const int GL_IR_INSTRUMENT1_SGIX = ((int)0x817F); public const int GL_DRAW_BUFFER10_ATI = ((int)0x882F); public const int GL_DEPTH_STENCIL_NV = ((int)0x84F9); public const int GL_TEXTURE3_ARB = ((int)0x84C3); public const int GL_FRAMEBUFFER_UNSUPPORTED_EXT = ((int)0x8CDD); public const int GL_SET = ((int)0x150F); public const int GL_COMPRESSED_SLUMINANCE_EXT = ((int)0x8C4A); public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = ((int)0x851C); public const int GL_R3_G3_B2 = ((int)0x2A10); public const int GL_NORMAL_ARRAY_EXT = ((int)0x8075); public const int GL_HISTOGRAM_EXT = ((int)0x8024); public const int GL_CURRENT_MATRIX_ARB = ((int)0x8641); public const int GL_COMPILE = ((int)0x1300); public const int GL_DOT_PRODUCT_NV = ((int)0x86EC); public const int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = ((int)0x8C88); public const int GL_POINT_SIZE_MIN_SGIS = ((int)0x8126); public const int GL_SHADING_LANGUAGE_VERSION_ARB = ((int)0x8B8C); public const int GL_SELECT = ((int)0x1C02); public const int GL_READ_FRAMEBUFFER_EXT = ((int)0x8CA8); public const int GL_CUBIC_EXT = ((int)0x8334); public const int GL_COMBINER7_NV = ((int)0x8557); public const int GL_COMBINER4_NV = ((int)0x8554); public const int GL_COLOR_ARRAY_STRIDE_EXT = ((int)0x8083); public const int GL_SOURCE0_RGB_EXT = ((int)0x8580); public const int GL_OBJECT_LINE_SGIS = ((int)0x81F7); public const int GL_CONSTANT_BORDER = ((int)0x8151); public const int GL_FRONT_RIGHT = ((int)0x0401); public const int GL_POST_CONVOLUTION_BLUE_BIAS = ((int)0x8022); public const int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = ((int)0x8C73); public const int GL_MODELVIEW_MATRIX = ((int)0x0BA6); public const int GL_IMAGE_ROTATE_ORIGIN_X_HP = ((int)0x815A); public const int GL_CW = ((int)0x0900); public const int GL_OUTPUT_TEXTURE_COORD0_EXT = ((int)0x879D); public const int GL_STENCIL_VALUE_MASK = ((int)0x0B93); public const int GL_SRC_ALPHA = ((int)0x0302); public const int GL_DUAL_LUMINANCE4_SGIS = ((int)0x8114); public const int GL_ALPHA_ICC_SGIX = ((int)0x8462); public const int GL_UNPACK_SKIP_IMAGES = ((int)0x806D); public const int GL_TEXTURE_PRE_SPECULAR_HP = ((int)0x8169); public const int GL_LIGHT_ENV_MODE_SGIX = ((int)0x8407); public const int GL_HALF_FLOAT_ARB = ((int)0x140B); public const int GL_FRAGMENT_PROGRAM_NV = ((int)0x8870); public const int GL_FRAMEBUFFER_COMPLETE_EXT = ((int)0x8CD5); public const int GL_OFFSET_TEXTURE_SCALE_NV = ((int)0x86E2); public const int GL_RGB5_A1_EXT = ((int)0x8057); public const int GL_CURRENT_VERTEX_WEIGHT_EXT = ((int)0x850B); public const int GL_C4UB_V3F = ((int)0x2A23); public const int GL_REG_27_ATI = ((int)0x893C); public const int GL_TRIANGLES = ((int)0x0004); public const int GL_BLUE_MAX_CLAMP_INGR = ((int)0x8566); public const int GL_CUBIC_HP = ((int)0x815F); public const int GL_PROGRAM_PARAMETER_NV = ((int)0x8644); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = ((int)0x8516); public const int GL_DUAL_ALPHA12_SGIS = ((int)0x8112); public const int GL_INDEX_TEST_FUNC_EXT = ((int)0x81B6); public const int GL_EIGHTH_BIT_ATI = ((int)0x00000020); public const int GL_RGB_SCALE_EXT = ((int)0x8573); public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87CD); public const int GL_TEXTURE_4D_BINDING_SGIS = ((int)0x814F); public const int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = ((int)0x80BD); public const int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = ((int)0x8C29); public const int GL_HISTOGRAM_FORMAT_EXT = ((int)0x8027); public const int GL_LUMINANCE8UI_EXT = ((int)0x8D80); public const int GL_CURRENT_QUERY = ((int)0x8865); public const int GL_VERTEX_ARRAY_POINTER_EXT = ((int)0x808E); public const int GL_R1UI_C4F_N3F_V3F_SUN = ((int)0x85C8); public const int GL_QUAD_LUMINANCE4_SGIS = ((int)0x8120); public const int GL_PIXEL_PACK_BUFFER_BINDING_ARB = ((int)0x88ED); public const int GL_ELEMENT_ARRAY_TYPE_ATI = ((int)0x8769); public const int GL_FOG_COORD_ARRAY_POINTER = ((int)GL_FOG_COORDINATE_ARRAY_POINTER); public const int GL_PRIMARY_COLOR_EXT = ((int)0x8577); public const int GL_CULL_VERTEX_IBM = ((int)103050); public const int GL_OCCLUSION_TEST_RESULT_HP = ((int)0x8166); public const int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = ((int)0x8C2D); public const int GL_CURRENT_MATRIX_INDEX_ARB = ((int)0x8845); public const int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = ((int)0x8E11); public const int GL_ONE_MINUS_DST_ALPHA = ((int)0x0305); public const int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = ((int)0x8521); public const int GL_NEGATIVE_X_EXT = ((int)0x87D9); public const int GL_CLIENT_ALL_ATTRIB_BITS = unchecked((int)0xFFFFFFFF); public const int GL_COMBINE_ALPHA = ((int)0x8572); public const int GL_INCR_WRAP = ((int)0x8507); public const int GL_SAMPLER_2D_ARRAY_EXT = ((int)0x8DC1); public const int GL_PIXEL_UNPACK_BUFFER_EXT = ((int)0x88EC); public const int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = ((int)0x8B8A); public const int GL_SHADER_TYPE = ((int)0x8B4F); public const int GL_VERTEX_ATTRIB_ARRAY_SIZE = ((int)0x8623); public const int GL_MUL_ATI = ((int)0x8964); public const int GL_GREEN_BIT_ATI = ((int)0x00000002); public const int GL_PIXEL_MAP_I_TO_B_SIZE = ((int)0x0CB4); public const int GL_LUMINANCE_ICC_SGIX = ((int)0x8463); public const int GL_REPLACE_MIDDLE_SUN = ((int)0x0002); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = ((int)0x8517); public const int GL_FALSE = ((int)0); public const int GL_OFFSET_TEXTURE_RECTANGLE_NV = ((int)0x864C); public const int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = ((int)0x80B6); public const int GL_PACK_SKIP_ROWS = ((int)0x0D03); public const int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = ((int)0x889F); public const int GL_BLEND_SRC_RGB_EXT = ((int)0x80C9); public const int GL_PREVIOUS_ARB = ((int)0x8578); public const int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = ((int)0x80D5); public const int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = ((int)0x85B0); public const int GL_LUMINANCE_ALPHA_FLOAT16_ATI = ((int)0x881F); public const int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = ((int)0x8846); public const int GL_NUM_LOOPBACK_COMPONENTS_ATI = ((int)0x8974); public const int GL_ALLOW_DRAW_MEM_HINT_PGI = ((int)0x1A211); public const int GL_POST_COLOR_MATRIX_GREEN_SCALE = ((int)0x80B5); public const int GL_TEXTURE_GEN_MODE = ((int)0x2500); public const int GL_CONVOLUTION_FILTER_BIAS_EXT = ((int)0x8015); public const int GL_PIXEL_PACK_BUFFER_BINDING = ((int)0x88ED); public const int GL_RASTERIZER_DISCARD_NV = ((int)0x8C89); public const int GL_COLOR_INDEXES = ((int)0x1603); public const int GL_POST_COLOR_MATRIX_RED_BIAS = ((int)0x80B8); public const int GL_PIXEL_UNPACK_BUFFER = ((int)0x88EC); public const int GL_SAMPLER_2D_RECT_ARB = ((int)0x8B63); public const int GL_LUMINANCE8_ALPHA8 = ((int)0x8045); public const int GL_PIXEL_MAP_I_TO_R = ((int)0x0C72); public const int GL_COLOR_CLEAR_VALUE = ((int)0x0C22); public const int GL_BOOL_VEC2_ARB = ((int)0x8B57); public const int GL_RGB16I_EXT = ((int)0x8D89); public const int GL_LUMINANCE4 = ((int)0x803F); public const int GL_T2F_C4UB_V3F = ((int)0x2A29); public const int GL_SAMPLER_1D = ((int)0x8B5D); public const int GL_INDEX_ARRAY_LIST_IBM = ((int)103073); public const int GL_FRAGMENT_LIGHT2_SGIX = ((int)0x840E); public const int GL_V2F = ((int)0x2A20); public const int GL_LUMINANCE32F_ARB = ((int)0x8818); public const int GL_ACCUM_BUFFER_BIT = ((int)0x00000200); public const int GL_DSDT_MAG_NV = ((int)0x86F6); public const int GL_TEXTURE_BORDER = ((int)0x1005); public const int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = ((int)0x84FF); public const int GL_SPARE1_NV = ((int)0x852F); public const int GL_OP_DOT3_EXT = ((int)0x8784); public const int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = ((int)0x84F8); public const int GL_RENDERBUFFER_BINDING_EXT = ((int)0x8CA7); public const int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = ((int)0x8CDA); public const int GL_OBJECT_BUFFER_SIZE_ATI = ((int)0x8764); public const int GL_UNSIGNED_SHORT_8_8_REV_MESA = ((int)0x85BB); public const int GL_POLYGON_BIT = ((int)0x00000008); public const int GL_TEXTURE_4D_SGIS = ((int)0x8134); public const int GL_TEXTURE_3D_EXT = ((int)0x806F); public const int GL_TEXTURE_COMPARE_MODE = ((int)0x884C); public const int GL_PN_TRIANGLES_POINT_MODE_ATI = ((int)0x87F2); public const int GL_OP_ADD_EXT = ((int)0x8787); public const int GL_MAX_TEXTURE_COORDS_ARB = ((int)0x8871); public const int GL_TEXTURE_COORD_ARRAY_POINTER = ((int)0x8092); public const int GL_TEXTURE_HEIGHT = ((int)0x1001); public const int GL_TEXTURE_BINDING_RECTANGLE_ARB = ((int)0x84F6); public const int GL_ALPHA4 = ((int)0x803B); public const int GL_NAME_STACK_DEPTH = ((int)0x0D70); public const int GL_STENCIL_BACK_PASS_DEPTH_FAIL = ((int)0x8802); public const int GL_TEXTURE_WRAP_S = ((int)0x2802); public const int GL_DOUBLE = ((int)0x140A); public const int GL_RGB_ICC_SGIX = ((int)0x8460); public const int GL_QUAD_LUMINANCE8_SGIS = ((int)0x8121); public const int GL_TEXTURE_ENV_MODE = ((int)0x2200); public const int GL_MAX_PROGRAM_PARAMETERS_ARB = ((int)0x88A9); public const int GL_DOT3_RGBA = ((int)0x86AF); public const int GL_UNSIGNED_INT_24_8_EXT = ((int)0x84FA); public const int GL_VERTEX_ARRAY_STRIDE_EXT = ((int)0x807C); public const int GL_LUMINANCE12_ALPHA12_EXT = ((int)0x8047); public const int GL_CURRENT_NORMAL = ((int)0x0B02); public const int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = ((int)0x8CDC); public const int GL_TEXTURE30 = ((int)0x84DE); public const int GL_DRAW_BUFFER3_ATI = ((int)0x8828); public const int GL_COLOR_INDEX8_EXT = ((int)0x80E5); public const int GL_SAMPLE_PATTERN_EXT = ((int)0x80AC); public const int GL_DU8DV8_ATI = ((int)0x877A); public const int GL_UNSIGNED_INT_S8_S8_8_8_NV = ((int)0x86DA); public const int GL_C4UB_V2F = ((int)0x2A22); public const int GL_COMPARE_R_TO_TEXTURE_ARB = ((int)0x884E); public const int GL_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87D1); public const int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = ((int)0x8622); public const int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F6); public const int GL_CLAMP_TO_EDGE = ((int)0x812F); public const int GL_POLYGON_SMOOTH = ((int)0x0B41); public const int GL_EYE_PLANE = ((int)0x2502); public const int GL_IMAGE_TRANSLATE_X_HP = ((int)0x8157); public const int GL_DYNAMIC_COPY = ((int)0x88EA); public const int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = ((int)0x8904); public const int GL_MAX_NAME_STACK_DEPTH = ((int)0x0D37); public const int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = ((int)0x85C1); public const int GL_TEXTURE_HI_SIZE_NV = ((int)0x871B); public const int GL_SWIZZLE_STQ_DQ_ATI = ((int)0x8979); public const int GL_SPOT_DIRECTION = ((int)0x1204); public const int GL_TEXTURE_DS_SIZE_NV = ((int)0x871D); public const int GL_REFLECTION_MAP_EXT = ((int)0x8512); public const int GL_CON_7_ATI = ((int)0x8948); public const int GL_OBJECT_TYPE_ARB = ((int)0x8B4E); public const int GL_DITHER = ((int)0x0BD0); public const int GL_VERTEX_PROGRAM_NV = ((int)0x8620); public const int GL_MAP1_VERTEX_ATTRIB11_4_NV = ((int)0x866B); public const int GL_FLOAT_R_NV = ((int)0x8880); public const int GL_PRIMITIVES_GENERATED_NV = ((int)0x8C87); public const int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = ((int)0x8C7E); public const int GL_RGB32UI_EXT = ((int)0x8D71); public const int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = ((int)0x8408); public const int GL_SIGNED_ALPHA8_NV = ((int)0x8706); public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = ((int)0x8CD4); public const int GL_BGR_EXT = ((int)0x80E0); public const int GL_MAP1_VERTEX_ATTRIB3_4_NV = ((int)0x8663); public const int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = ((int)0x8645); public const int GL_FORMAT_SUBSAMPLE_24_24_OML = ((int)0x8982); public const int GL_RENDERBUFFER_BLUE_SIZE_EXT = ((int)0x8D52); public const int GL_DRAW_BUFFER0_ATI = ((int)0x8825); public const int GL_DETAIL_TEXTURE_2D_SGIS = ((int)0x8095); public const int GL_SHADE_MODEL = ((int)0x0B54); public const int GL_MAX_PIXEL_MAP_TABLE = ((int)0x0D34); public const int GL_NORMAL_BIT_PGI = ((int)0x08000000); public const int GL_OPERAND2_RGB_EXT = ((int)0x8592); public const int GL_STREAM_READ = ((int)0x88E1); public const int GL_PROXY_TEXTURE_1D = ((int)0x8063); public const int GL_DST_ALPHA = ((int)0x0304); public const int GL_COLOR_ALPHA_PAIRING_ATI = ((int)0x8975); public const int GL_BLUE_SCALE = ((int)0x0D1A); public const int GL_LUMINANCE_INTEGER_EXT = ((int)0x8D9C); public const int GL_SWIZZLE_STRQ_DQ_ATI = ((int)0x897B); public const int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = ((int)0x83F0); public const int GL_POINT_SIZE_MAX_SGIS = ((int)0x8127); public const int GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = ((int)0x8365); public const int GL_ACTIVE_TEXTURE = ((int)0x84E0); public const int GL_MAX_GENERAL_COMBINERS_NV = ((int)0x854D); public const int GL_DISTANCE_ATTENUATION_EXT = ((int)0x8129); public const int GL_MAX_TEXTURE_UNITS_ARB = ((int)0x84E2); public const int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8872); public const int GL_LINES = ((int)0x0001); public const int GL_PIXEL_MAP_I_TO_I = ((int)0x0C70); public const int GL_R1UI_V3F_SUN = ((int)0x85C4); public const int GL_CON_5_ATI = ((int)0x8946); public const int GL_MAP2_GRID_DOMAIN = ((int)0x0DD2); public const int GL_PROXY_COLOR_TABLE = ((int)0x80D3); public const int GL_TEXTURE_1D_BINDING_EXT = ((int)0x8068); public const int GL_ELEMENT_ARRAY_POINTER_APPLE = ((int)0x876A); public const int GL_PIXEL_TILE_HEIGHT_SGIX = ((int)0x8141); public const int GL_DISCARD_NV = ((int)0x8530); public const int GL_OUTPUT_VERTEX_EXT = ((int)0x879A); public const int GL_TRANSPOSE_COLOR_MATRIX = ((int)0x84E6); public const int GL_SCISSOR_BIT = ((int)0x00080000); public const int GL_FOG_HINT = ((int)0x0C54); public const int GL_STRICT_SCISSOR_HINT_PGI = ((int)0x1A218); public const int GL_COLOR_TABLE_INTENSITY_SIZE = ((int)0x80DF); public const int GL_T2F_C4F_N3F_V3F = ((int)0x2A2C); public const int GL_DRAW_BUFFER9_ARB = ((int)0x882E); public const int GL_SCALAR_EXT = ((int)0x87BE); public const int GL_NUM_INSTRUCTIONS_TOTAL_ATI = ((int)0x8972); public const int GL_TEXTURE27 = ((int)0x84DB); public const int GL_VERTEX_ARRAY_COUNT_EXT = ((int)0x807D); public const int GL_OPERAND3_RGB_NV = ((int)0x8593); public const int GL_NORMAL_ARRAY_LIST_IBM = ((int)103071); public const int GL_TEXTURE23 = ((int)0x84D7); public const int GL_EDGEFLAG_BIT_PGI = ((int)0x00040000); public const int GL_QUERY_COUNTER_BITS_ARB = ((int)0x8864); public const int GL_LOCAL_CONSTANT_VALUE_EXT = ((int)0x87EC); public const int GL_OP_MIN_EXT = ((int)0x878B); public const int GL_SOURCE3_RGB_NV = ((int)0x8583); public const int GL_CON_0_ATI = ((int)0x8941); public const int GL_WEIGHT_ARRAY_ARB = ((int)0x86AD); public const int GL_BOOL_VEC4 = ((int)0x8B59); public const int GL_MAX_TEXTURE_SIZE = ((int)0x0D33); public const int GL_EVAL_VERTEX_ATTRIB8_NV = ((int)0x86CE); public const int GL_BOOL_VEC3 = ((int)0x8B58); public const int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = ((int)0x8B88); public const int GL_INT_SAMPLER_2D_RECT_EXT = ((int)0x8DCD); public const int GL_SPRITE_AXIS_SGIX = ((int)0x814A); public const int GL_OP_MOV_EXT = ((int)0x8799); public const int GL_RGBA_ICC_SGIX = ((int)0x8461); public const int GL_QUERY_RESULT_AVAILABLE_ARB = ((int)0x8867); public const int GL_LUMINANCE12_EXT = ((int)0x8041); public const int GL_DRAW_BUFFER = ((int)0x0C01); public const int GL_EMBOSS_MAP_NV = ((int)0x855F); public const int GL_ADD_ATI = ((int)0x8963); public const int GL_IMAGE_SCALE_Y_HP = ((int)0x8156); public const int GL_IMAGE_SCALE_X_HP = ((int)0x8155); public const int GL_EVAL_VERTEX_ATTRIB12_NV = ((int)0x86D2); public const int GL_BGR_INTEGER_EXT = ((int)0x8D9A); public const int GL_COLOR_ATTACHMENT5_EXT = ((int)0x8CE5); public const int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = ((int)0x880D); public const int GL_ALPHA8_EXT = ((int)0x803C); public const int GL_NEAREST = ((int)0x2600); public const int GL_PROGRAM_FORMAT_ARB = ((int)0x8876); public const int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = ((int)0x88A2); public const int GL_DEPTH_FUNC = ((int)0x0B74); public const int GL_DOT_PRODUCT_TEXTURE_3D_NV = ((int)0x86EF); public const int GL_NORMAL_ARRAY_POINTER_EXT = ((int)0x808F); public const int GL_REG_12_ATI = ((int)0x892D); public const int GL_NORMALIZE = ((int)0x0BA1); public const int GL_FOG_COORDINATE = ((int)0x8451); public const int GL_SLICE_ACCUM_SUN = ((int)0x85CC); public const int GL_TEXTURE_MAX_LEVEL_SGIS = ((int)0x813D); public const int GL_COLOR_TABLE_WIDTH = ((int)0x80D9); public const int GL_FOG_MODE = ((int)0x0B65); public const int GL_EVAL_BIT = ((int)0x00010000); public const int GL_RGBA32F_ARB = ((int)0x8814); public const int GL_3_BYTES = ((int)0x1408); public const int GL_POST_CONVOLUTION_RED_BIAS_EXT = ((int)0x8020); public const int GL_ATTRIB_STACK_DEPTH = ((int)0x0BB0); public const int GL_TEXTURE_BINDING_CUBE_MAP_ARB = ((int)0x8514); public const int GL_CON_6_ATI = ((int)0x8947); public const int GL_TEXTURE_LIGHTING_MODE_HP = ((int)0x8167); public const int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = ((int)0x8C3B); public const int GL_QUADRATIC_ATTENUATION = ((int)0x1209); public const int GL_ADD_SIGNED_EXT = ((int)0x8574); public const int GL_LUMINANCE16_ALPHA8_ICC_SGIX = ((int)0x846B); public const int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = ((int)0x885A); public const int GL_4PASS_1_SGIS = ((int)0x80A5); public const int GL_GREATER = ((int)0x0204); public const int GL_MAX = ((int)0x8008); public const int GL_OP_MAX_EXT = ((int)0x878A); public const int GL_RENDERER = ((int)0x1F01); public const int GL_VERTEX_ARRAY_TYPE = ((int)0x807B); public const int GL_MULTISAMPLE_BIT_EXT = ((int)0x20000000); public const int GL_FLOAT_RGB_NV = ((int)0x8882); public const int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = ((int)0x88A3); public const int GL_TEXTURE_BORDER_VALUES_NV = ((int)0x871A); public const int GL_INDEX_TEST_REF_EXT = ((int)0x81B7); public const int GL_CON_1_ATI = ((int)0x8942); public const int GL_MAP2_VERTEX_ATTRIB4_4_NV = ((int)0x8674); public const int GL_VERTEX_STREAM4_ATI = ((int)0x8770); public const int GL_POINT_SMOOTH = ((int)0x0B10); public const int GL_PRIMARY_COLOR_NV = ((int)0x852C); public const int GL_SUBPIXEL_BITS = ((int)0x0D50); public const int GL_REPLACE = ((int)0x1E01); public const int GL_CONSTANT_COLOR = ((int)0x8001); public const int GL_LINEAR_CLIPMAP_NEAREST_SGIX = ((int)0x844F); public const int GL_EDGE_FLAG_ARRAY_COUNT_EXT = ((int)0x808D); public const int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = ((int)0x86A2); public const int GL_VERTEX_ARRAY_SIZE = ((int)0x807A); public const int GL_BUFFER_ACCESS = ((int)0x88BB); public const int GL_EVAL_VERTEX_ATTRIB11_NV = ((int)0x86D1); public const int GL_BLUE = ((int)0x1905); public const int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = ((int)0x8899); public const int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = ((int)0x80D2); public const int GL_BACK_SECONDARY_COLOR_NV = ((int)0x8C78); public const int GL_CURRENT_ATTRIB_NV = ((int)0x8626); public const int GL_PROXY_TEXTURE_4D_SGIS = ((int)0x8135); public const int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = ((int)0x80DE); public const int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = ((int)0x8174); public const int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = ((int)0x8850); public const int GL_OR_INVERTED = ((int)0x150D); public const int GL_MATRIX17_ARB = ((int)0x88D1); public const int GL_MAX_TEXTURE_LOD_BIAS_EXT = ((int)0x84FD); public const int GL_PROXY_TEXTURE_CUBE_MAP_EXT = ((int)0x851B); public const int GL_MAP1_VERTEX_ATTRIB1_4_NV = ((int)0x8661); public const int GL_VERTEX_PROGRAM_TWO_SIDE_NV = ((int)0x8643); public const int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = ((int)0x8DBE); public const int GL_UNSIGNED_INT_8_8_8_8_REV = ((int)0x8367); public const int GL_INVARIANT_EXT = ((int)0x87C2); public const int GL_MAX_CLIPMAP_DEPTH_SGIX = ((int)0x8177); public const int GL_CURRENT_FOG_COORDINATE_EXT = ((int)0x8453); public const int GL_COLOR_ATTACHMENT1_EXT = ((int)0x8CE1); public const int GL_LUMINANCE6_ALPHA2_EXT = ((int)0x8044); public const int GL_OR_REVERSE = ((int)0x150B); public const int GL_COLOR_INDEX2_EXT = ((int)0x80E3); public const int GL_MIN = ((int)0x8007); public const int GL_PIXEL_SUBSAMPLE_2424_SGIX = ((int)0x85A3); public const int GL_CONVOLUTION_BORDER_COLOR_HP = ((int)0x8154); public const int GL_ALPHA16 = ((int)0x803E); public const int GL_BLUE_BIAS = ((int)0x0D1B); public const int GL_TEXTURE_COORD_ARRAY = ((int)0x8078); public const int GL_MATRIX20_ARB = ((int)0x88D4); public const int GL_SEPARATE_SPECULAR_COLOR_EXT = ((int)0x81FA); public const int GL_MAP2_BINORMAL_EXT = ((int)0x8447); public const int GL_PROJECTION = ((int)0x1701); public const int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = ((int)0x8623); public const int GL_SHADOW_ATTENUATION_EXT = ((int)0x834E); public const int GL_COLOR_TABLE_ALPHA_SIZE = ((int)0x80DD); public const int GL_FRAGMENT_LIGHT1_SGIX = ((int)0x840D); public const int GL_COMPRESSED_RGB_ARB = ((int)0x84ED); public const int GL_HISTOGRAM = ((int)0x8024); public const int GL_VARIABLE_B_NV = ((int)0x8524); public const int GL_ALPHA8 = ((int)0x803C); public const int GL_NEAREST_CLIPMAP_NEAREST_SGIX = ((int)0x844D); public const int GL_TEXTURE_INTENSITY_SIZE_EXT = ((int)0x8061); public const int GL_COLOR_ATTACHMENT6_EXT = ((int)0x8CE6); public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87CA); public const int GL_BOOL_VEC2 = ((int)0x8B57); public const int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = ((int)0x8C4C); public const int GL_DEPTH_COMPONENT16_ARB = ((int)0x81A5); public const int GL_OPERAND1_RGB_ARB = ((int)0x8591); public const int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = ((int)0x8DE2); public const int GL_TEXTURE_LO_SIZE_NV = ((int)0x871C); public const int GL_COLOR_TABLE_GREEN_SIZE_SGI = ((int)0x80DB); public const int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = ((int)0x8856); public const int GL_CONVOLUTION_WIDTH = ((int)0x8018); public const int GL_OUTPUT_TEXTURE_COORD21_EXT = ((int)0x87B2); public const int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = ((int)103084); public const int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = ((int)0x80BA); public const int GL_DOT_PRODUCT_TEXTURE_2D_NV = ((int)0x86EE); public const int GL_DOT3_RGB = ((int)0x86AE); public const int GL_COLOR_ATTACHMENT7_EXT = ((int)0x8CE7); public const int GL_REG_22_ATI = ((int)0x8937); public const int GL_VERTEX_ATTRIB_ARRAY4_NV = ((int)0x8654); public const int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = ((int)0x8851); public const int GL_POST_CONVOLUTION_COLOR_TABLE = ((int)0x80D1); public const int GL_INDEX_ARRAY_STRIDE = ((int)0x8086); public const int GL_LUMINANCE12_ALPHA4 = ((int)0x8046); public const int GL_STENCIL_WRITEMASK = ((int)0x0B98); public const int GL_OP_CLAMP_EXT = ((int)0x878E); public const int GL_SUB_ATI = ((int)0x8965); public const int GL_FOG_COLOR = ((int)0x0B66); public const int GL_BACK_RIGHT = ((int)0x0403); public const int GL_LIST_PRIORITY_SGIX = ((int)0x8182); public const int GL_TEXTURE_MAG_FILTER = ((int)0x2800); public const int GL_PIXEL_MAP_I_TO_A_SIZE = ((int)0x0CB5); public const int GL_MAX_CONVOLUTION_HEIGHT_EXT = ((int)0x801B); public const int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = ((int)0x8DDF); public const int GL_OUTPUT_TEXTURE_COORD11_EXT = ((int)0x87A8); public const int GL_PROGRAM_OBJECT_ARB = ((int)0x8B40); public const int GL_CLAMP_READ_COLOR_ARB = ((int)0x891C); public const int GL_MAX_PROGRAM_ATTRIBS_ARB = ((int)0x88AD); public const int GL_R1UI_T2F_N3F_V3F_SUN = ((int)0x85CA); public const int GL_2X_BIT_ATI = ((int)0x00000001); public const int GL_TRIANGLE_STRIP = ((int)0x0005); public const int GL_DUAL_LUMINANCE8_SGIS = ((int)0x8115); public const int GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = ((int)0x818A); public const int GL_POLYGON_OFFSET_EXT = ((int)0x8037); public const int GL_CONVOLUTION_HEIGHT = ((int)0x8019); public const int GL_ONE = ((int)1); public const int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = ((int)0x817B); public const int GL_PACK_SKIP_VOLUMES_SGIS = ((int)0x8130); public const int GL_VERTEX_SHADER_LOCALS_EXT = ((int)0x87D3); public const int GL_MAX_CONVOLUTION_WIDTH_EXT = ((int)0x801A); public const int GL_INVARIANT_DATATYPE_EXT = ((int)0x87EB); public const int GL_STENCIL_BACK_VALUE_MASK = ((int)0x8CA4); public const int GL_TEXTURE_DEPTH = ((int)0x8071); public const int GL_BOOL_ARB = ((int)0x8B56); public const int GL_PIXEL_PACK_BUFFER = ((int)0x88EB); public const int GL_SMOOTH = ((int)0x1D01); public const int GL_WEIGHT_ARRAY_POINTER_ARB = ((int)0x86AC); public const int GL_SCISSOR_BOX = ((int)0x0C10); public const int GL_GREEN_INTEGER_EXT = ((int)0x8D95); public const int GL_RESAMPLE_DECIMATE_OML = ((int)0x8989); public const int GL_TEXTURE_GEN_S = ((int)0x0C60); public const int GL_TEXTURE_GEN_R = ((int)0x0C62); public const int GL_TEXTURE_GEN_Q = ((int)0x0C63); public const int GL_UNSIGNED_INT_10_10_10_2 = ((int)0x8036); public const int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = ((int)0x8DA8); public const int GL_TEXTURE_GEN_T = ((int)0x0C61); public const int GL_COLOR_INDEX1_EXT = ((int)0x80E2); public const int GL_EMBOSS_LIGHT_NV = ((int)0x855D); public const int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = ((int)0x87F4); public const int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = ((int)0x889C); public const int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = ((int)0x8B8A); public const int GL_DEPTH_COMPONENT32_SGIX = ((int)0x81A7); public const int GL_RGBA32I_EXT = ((int)0x8D82); public const int GL_CULL_VERTEX_EYE_POSITION_EXT = ((int)0x81AB); public const int GL_FLOAT_VEC2_ARB = ((int)0x8B50); public const int GL_RGB_FLOAT16_ATI = ((int)0x881B); public const int GL_V3F = ((int)0x2A21); public const int GL_FOG_COORDINATE_ARRAY_TYPE = ((int)0x8454); public const int GL_RED_BITS = ((int)0x0D52); public const int GL_POINT_SPRITE_R_MODE_NV = ((int)0x8863); public const int GL_NORMALIZED_RANGE_EXT = ((int)0x87E0); public const int GL_READ_WRITE_ARB = ((int)0x88BA); public const int GL_REGISTER_COMBINERS_NV = ((int)0x8522); public const int GL_RESTART_SUN = ((int)0x0001); public const int GL_COLOR_ATTACHMENT2_EXT = ((int)0x8CE2); public const int GL_STENCIL_INDEX16_EXT = ((int)0x8D49); public const int GL_R = ((int)0x2002); public const int GL_REG_15_ATI = ((int)0x8930); public const int GL_OUTPUT_TEXTURE_COORD14_EXT = ((int)0x87AB); public const int GL_PROGRAM_RESULT_COMPONENTS_NV = ((int)0x8907); public const int GL_TEXTURE_2D_STACK_BINDING_MESAX = ((int)0x875E); public const int GL_PROXY_TEXTURE_1D_ARRAY_EXT = ((int)0x8C19); public const int GL_VERTEX_BLEND_ARB = ((int)0x86A7); public const int GL_OUTPUT_TEXTURE_COORD29_EXT = ((int)0x87BA); public const int GL_LIST_BIT = ((int)0x00020000); public const int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = ((int)103080); public const int GL_BLEND_DST_ALPHA = ((int)0x80CA); public const int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = ((int)0x889A); public const int GL_CON_28_ATI = ((int)0x895D); public const int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = ((int)0x886A); public const int GL_COMBINE_ARB = ((int)0x8570); public const int GL_FRONT_FACE = ((int)0x0B46); public const int GL_TEXTURE_COMPRESSION_HINT = ((int)0x84EF); public const int GL_INDEX_OFFSET = ((int)0x0D13); public const int GL_CON_17_ATI = ((int)0x8952); public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87CB); public const int GL_DRAW_BUFFER7_ATI = ((int)0x882C); public const int GL_BGRA = ((int)0x80E1); public const int GL_TEXTURE_ALPHA_TYPE_ARB = ((int)0x8C13); public const int GL_INDEX_CLEAR_VALUE = ((int)0x0C20); public const int GL_TEXTURE_FILTER_CONTROL = ((int)0x8500); public const int GL_VERTEX_PROGRAM_POINT_SIZE = ((int)0x8642); public const int GL_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87D0); public const int GL_LINEAR_DETAIL_ALPHA_SGIS = ((int)0x8098); public const int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = ((int)0x8CD6); public const int GL_OUTPUT_TEXTURE_COORD19_EXT = ((int)0x87B0); public const int GL_RENDER_MODE = ((int)0x0C40); public const int GL_FEEDBACK = ((int)0x1C01); public const int GL_OPERAND0_ALPHA_ARB = ((int)0x8598); public const int GL_HISTOGRAM_GREEN_SIZE = ((int)0x8029); public const int GL_PACK_SUBSAMPLE_RATE_SGIX = ((int)0x85A0); public const int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = ((int)0x87F8); public const int GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = ((int)0x8188); public const int GL_SRC1_RGB = ((int)GL_SOURCE1_RGB); public const int GL_SCALEBIAS_HINT_SGIX = ((int)0x8322); public const int GL_QUAD_TEXTURE_SELECT_SGIS = ((int)0x8125); public const int GL_MAX_TEXTURE_COORDS_NV = ((int)0x8871); public const int GL_TEXTURE_COORD_ARRAY_TYPE = ((int)0x8089); public const int GL_VERTEX_STREAM7_ATI = ((int)0x8773); public const int GL_PIXEL_MAP_I_TO_R_SIZE = ((int)0x0CB2); public const int GL_QUAD_STRIP = ((int)0x0008); public const int GL_NORMAL_ARRAY_POINTER = ((int)0x808F); public const int GL_MAX_COLOR_MATRIX_STACK_DEPTH = ((int)0x80B3); public const int GL_HISTOGRAM_SINK_EXT = ((int)0x802D); public const int GL_SHORT = ((int)0x1402); public const int GL_ATTENUATION_EXT = ((int)0x834D); public const int GL_TEXTURE_BUFFER_FORMAT_EXT = ((int)0x8C2E); public const int GL_SEPARABLE_2D_EXT = ((int)0x8012); public const int GL_SECONDARY_COLOR_ARRAY = ((int)0x845E); public const int GL_DISCARD_ATI = ((int)0x8763); public const int GL_GEOMETRY_OUTPUT_TYPE_EXT = ((int)0x8DDC); public const int GL_3D_COLOR = ((int)0x0602); public const int GL_VERTEX_STREAM3_ATI = ((int)0x876F); public const int GL_COLOR_ATTACHMENT8_EXT = ((int)0x8CE8); public const int GL_FLOAT_VEC2 = ((int)0x8B50); public const int GL_MAP2_GRID_SEGMENTS = ((int)0x0DD3); public const int GL_CALLIGRAPHIC_FRAGMENT_SGIX = ((int)0x8183); public const int GL_TEXTURE_MAX_CLAMP_T_SGIX = ((int)0x836A); public const int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = ((int)0x8868); public const int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = ((int)0x840A); public const int GL_MAT_AMBIENT_BIT_PGI = ((int)0x00100000); public const int GL_FLOAT_RGBA32_NV = ((int)0x888B); public const int GL_IMAGE_ROTATE_ANGLE_HP = ((int)0x8159); public const int GL_MULTISAMPLE_COVERAGE_MODES_NV = ((int)0x8E12); public const int GL_CURRENT_TEXTURE_COORDS = ((int)0x0B03); public const int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = ((int)0x862E); public const int GL_DISTANCE_ATTENUATION_SGIS = ((int)0x8129); public const int GL_MULTISAMPLE_BIT_3DFX = ((int)0x20000000); public const int GL_COMBINER_SCALE_NV = ((int)0x8548); public const int GL_SAMPLER_BUFFER_EXT = ((int)0x8DC2); public const int GL_AND_REVERSE = ((int)0x1502); public const int GL_ACTIVE_VARYINGS_NV = ((int)0x8C81); public const int GL_UNSIGNED_SHORT_8_8_REV_APPLE = ((int)0x85BB); public const int GL_TRIANGLES_ADJACENCY_EXT = ((int)0x000C); public const int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = ((int)0x8C72); public const int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = ((int)0x86F0); public const int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = ((int)0x8338); public const int GL_SAMPLE_ALPHA_TO_COVERAGE = ((int)0x809E); public const int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA2); public const int GL_LIGHTING = ((int)0x0B50); public const int GL_RGB_INTEGER_EXT = ((int)0x8D98); public const int GL_VERTEX_ATTRIB_ARRAY1_NV = ((int)0x8651); public const int GL_FENCE_APPLE = ((int)0x8A0B); public const int GL_LUMINANCE32I_EXT = ((int)0x8D86); public const int GL_REG_0_ATI = ((int)0x8921); public const int GL_COMPRESSED_INTENSITY_ARB = ((int)0x84EC); public const int GL_ONE_MINUS_CONSTANT_ALPHA = ((int)0x8004); public const int GL_SAMPLE_MASK_INVERT_SGIS = ((int)0x80AB); public const int GL_TEXTURE_COORD_ARRAY_LIST_IBM = ((int)103074); public const int GL_VERTEX_DATA_HINT_PGI = ((int)0x1A22A); public const int GL_GEOMETRY_PROGRAM_NV = ((int)0x8C26); public const int GL_RGB4_S3TC = ((int)0x83A1); public const int GL_MAX_PROGRAM_IF_DEPTH_NV = ((int)0x88F6); public const int GL_REG_25_ATI = ((int)0x893A); public const int GL_TEXTURE_TOO_LARGE_EXT = ((int)0x8065); public const int GL_QUERY_COUNTER_BITS = ((int)0x8864); public const int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F7); public const int GL_INVALID_OPERATION = ((int)0x0502); public const int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = ((int)0x80B3); public const int GL_TEXTURE27_ARB = ((int)0x84DB); public const int GL_UNSIGNED_INT_VEC4_EXT = ((int)0x8DC8); public const int GL_PROGRAM_ATTRIBS_ARB = ((int)0x88AC); public const int GL_STREAM_COPY = ((int)0x88E2); public const int GL_RGB = ((int)0x1907); public const int GL_INTENSITY16UI_EXT = ((int)0x8D79); public const int GL_RENDER = ((int)0x1C00); public const int GL_MAP1_VERTEX_ATTRIB10_4_NV = ((int)0x866A); public const int GL_CLIENT_ACTIVE_TEXTURE = ((int)0x84E1); public const int GL_MAP_STENCIL = ((int)0x0D11); public const int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = ((int)0x8176); public const int GL_SOURCE0_ALPHA_EXT = ((int)0x8588); public const int GL_RGBA_FLOAT16_ATI = ((int)0x881A); public const int GL_POST_COLOR_MATRIX_GREEN_BIAS = ((int)0x80B9); public const int GL_TWO = ((int)2); public const int GL_DEPTH_COMPONENT32_ARB = ((int)0x81A7); public const int GL_CULL_FRAGMENT_NV = ((int)0x86E7); public const int GL_NORMAL_MAP_EXT = ((int)0x8511); public const int GL_MAP1_INDEX = ((int)0x0D91); public const int GL_DUAL_INTENSITY16_SGIS = ((int)0x811B); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = ((int)0x8515); public const int GL_R1UI_C3F_V3F_SUN = ((int)0x85C6); public const int GL_TEXTURE_4DSIZE_SGIS = ((int)0x8136); public const int GL_UNSIGNED_BYTE_2_3_3_REV_EXT = ((int)0x8362); public const int GL_TEXTURE26_ARB = ((int)0x84DA); public const int GL_MODELVIEW1_ARB = ((int)0x850A); public const int GL_EDGE_FLAG_ARRAY_STRIDE = ((int)0x808C); public const int GL_Q = ((int)0x2003); public const int GL_LUMINANCE16_ICC_SGIX = ((int)0x8469); public const int GL_S = ((int)0x2000); public const int GL_T = ((int)0x2001); public const int GL_MAX_VARYING_FLOATS = ((int)0x8B4B); public const int GL_COLOR_TABLE_ALPHA_SIZE_SGI = ((int)0x80DD); public const int GL_BLEND_SRC_ALPHA_EXT = ((int)0x80CB); public const int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = ((int)0x8640); public const int GL_NEAREST_CLIPMAP_LINEAR_SGIX = ((int)0x844E); public const int GL_DUAL_ALPHA16_SGIS = ((int)0x8113); public const int GL_SHADOW_AMBIENT_SGIX = ((int)0x80BF); public const int GL_FLOAT_RGBA16_NV = ((int)0x888A); public const int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = ((int)0x80B9); public const int GL_UNSIGNED_SHORT_5_5_5_1_EXT = ((int)0x8034); public const int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = ((int)0x84E3); public const int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = ((int)0x889A); public const int GL_POLYGON_SMOOTH_HINT = ((int)0x0C53); public const int GL_TEXTURE25_ARB = ((int)0x84D9); public const int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = ((int)0x880F); public const int GL_SLUMINANCE8 = ((int)0x8C47); public const int GL_MODELVIEW29_ARB = ((int)0x873D); public const int GL_ZERO = ((int)0); public const int GL_REG_7_ATI = ((int)0x8928); public const int GL_COMP_BIT_ATI = ((int)0x00000002); public const int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = ((int)0x88EF); public const int GL_SAMPLER_1D_SHADOW_ARB = ((int)0x8B61); public const int GL_COLOR_ATTACHMENT9_EXT = ((int)0x8CE9); public const int GL_MAP2_TANGENT_EXT = ((int)0x8445); public const int GL_NONE = ((int)0); public const int GL_UNPACK_LSB_FIRST = ((int)0x0CF1); public const int GL_COMPRESSED_SRGB_ALPHA = ((int)0x8C49); public const int GL_SAMPLER_3D_ARB = ((int)0x8B5F); public const int GL_MATRIX_EXT = ((int)0x87C0); public const int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = ((int)0x86F1); public const int GL_PROGRAM_FORMAT_ASCII_ARB = ((int)0x8875); public const int GL_UNSIGNED_SHORT = ((int)0x1403); public const int GL_COLOR_MATRIX_STACK_DEPTH_SGI = ((int)0x80B2); public const int GL_TEXTURE24_ARB = ((int)0x84D8); public const int GL_CON_3_ATI = ((int)0x8944); public const int GL_FUNC_ADD = ((int)0x8006); public const int GL_POLYGON_OFFSET_UNITS = ((int)0x2A00); public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87CC); public const int GL_MINMAX_SINK = ((int)0x8030); public const int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = ((int)0x8897); public const int GL_WIDE_LINE_HINT_PGI = ((int)0x1A222); public const int GL_ELEMENT_ARRAY_APPLE = ((int)0x8768); public const int GL_REG_10_ATI = ((int)0x892B); public const int GL_TEXTURE_DEPTH_SIZE = ((int)0x884A); public const int GL_DRAW_BUFFER4_ATI = ((int)0x8829); public const int GL_BIAS_BIT_ATI = ((int)0x00000008); public const int GL_VERTEX_PROGRAM_BINDING_NV = ((int)0x864A); public const int GL_MODELVIEW8_ARB = ((int)0x8728); public const int GL_CON_31_ATI = ((int)0x8960); public const int GL_SAMPLER_2D_ARB = ((int)0x8B5E); public const int GL_STENCIL_BACK_REF = ((int)0x8CA3); public const int GL_MINMAX_FORMAT_EXT = ((int)0x802F); public const int GL_DEPTH_COMPONENT24 = ((int)0x81A6); public const int GL_COLOR_TABLE_SCALE_SGI = ((int)0x80D6); public const int GL_4PASS_2_SGIS = ((int)0x80A6); public const int GL_MAP1_VERTEX_ATTRIB12_4_NV = ((int)0x866C); public const int GL_DUAL_LUMINANCE_ALPHA8_SGIS = ((int)0x811D); public const int GL_MAX_CLIP_PLANES = ((int)0x0D32); public const int GL_TEXTURE23_ARB = ((int)0x84D7); public const int GL_RESAMPLE_AVERAGE_OML = ((int)0x8988); public const int GL_INTENSITY_ICC_SGIX = ((int)0x8464); public const int GL_VENDOR = ((int)0x1F00); public const int GL_TIME_ELAPSED_EXT = ((int)0x88BF); public const int GL_NAND = ((int)0x150E); public const int GL_UNSIGNED_IDENTITY_NV = ((int)0x8536); public const int GL_ACCUM = ((int)0x0100); public const int GL_MAX_3D_TEXTURE_SIZE_EXT = ((int)0x8073); public const int GL_DEPTH_COMPONENT32 = ((int)0x81A7); public const int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = ((int)0x86F2); public const int GL_ALWAYS_FAST_HINT_PGI = ((int)0x1A20C); public const int GL_GEOMETRY_DEFORMATION_SGIX = ((int)0x8194); public const int GL_OP_MULTIPLY_MATRIX_EXT = ((int)0x8798); public const int GL_TEXTURE8 = ((int)0x84C8); public const int GL_UNSIGNED_INT_VEC3_EXT = ((int)0x8DC7); public const int GL_STORAGE_SHARED_APPLE = ((int)0x85BF); public const int GL_SLUMINANCE_ALPHA = ((int)0x8C44); public const int GL_CON_11_ATI = ((int)0x894C); public const int GL_PHONG_WIN = ((int)0x80EA); public const int GL_UNSIGNED_INVERT_NV = ((int)0x8537); public const int GL_COLOR_TABLE_SCALE = ((int)0x80D6); public const int GL_KEEP = ((int)0x1E00); public const int GL_ADD_SIGNED = ((int)0x8574); public const int GL_MULTISAMPLE_ARB = ((int)0x809D); public const int GL_COMBINER_AB_OUTPUT_NV = ((int)0x854A); public const int GL_REG_3_ATI = ((int)0x8924); public const int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = ((int)0x889E); public const int GL_FOG_FACTOR_TO_ALPHA_SGIX = ((int)0x836F); public const int GL_INVALID_ENUM = ((int)0x0500); public const int GL_IMAGE_MIN_FILTER_HP = ((int)0x815D); public const int GL_INTERLEAVED_ATTRIBS_NV = ((int)0x8C8C); public const int GL_TEXTURE21_ARB = ((int)0x84D5); public const int GL_STATIC_COPY_ARB = ((int)0x88E6); public const int GL_SMOOTH_LINE_WIDTH_RANGE = ((int)0x0B22); public const int GL_TEXTURE9 = ((int)0x84C9); public const int GL_FENCE_STATUS_NV = ((int)0x84F3); public const int GL_RENDERBUFFER_STENCIL_SIZE_EXT = ((int)0x8D55); public const int GL_OBJECT_DISTANCE_TO_LINE_SGIS = ((int)0x81F3); public const int GL_COMBINER_COMPONENT_USAGE_NV = ((int)0x8544); public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = ((int)0x8CD4); public const int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = ((int)0x851F); public const int GL_CULL_VERTEX_OBJECT_POSITION_EXT = ((int)0x81AC); public const int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = ((int)0x88B1); public const int GL_MAP2_TEXTURE_COORD_4 = ((int)0x0DB6); public const int GL_DRAW_BUFFER1_ARB = ((int)0x8826); public const int GL_FEEDBACK_BUFFER_TYPE = ((int)0x0DF2); public const int GL_INDEX_MATERIAL_FACE_EXT = ((int)0x81BA); public const int GL_COMBINE = ((int)0x8570); public const int GL_READ_WRITE = ((int)0x88BA); public const int GL_DEPTH_COMPONENT16 = ((int)0x81A5); public const int GL_TEXTURE20_ARB = ((int)0x84D4); public const int GL_COLOR_ATTACHMENT14_EXT = ((int)0x8CEE); public const int GL_RGB4_EXT = ((int)0x804F); public const int GL_FOG_FUNC_SGIS = ((int)0x812A); public const int GL_MAP1_TEXTURE_COORD_4 = ((int)0x0D96); public const int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = ((int)0x8C3E); public const int GL_MATRIX28_ARB = ((int)0x88DC); public const int GL_LUMINANCE12_ALPHA4_EXT = ((int)0x8046); public const int GL_PACK_ALIGNMENT = ((int)0x0D05); public const int GL_MODELVIEW21_ARB = ((int)0x8735); public const int GL_LEFT = ((int)0x0406); public const int GL_SOURCE2_ALPHA_ARB = ((int)0x858A); public const int GL_MAP2_VERTEX_ATTRIB10_4_NV = ((int)0x867A); public const int GL_PROXY_TEXTURE_RECTANGLE_NV = ((int)0x84F7); public const int GL_TEXTURE_MAX_LOD_SGIS = ((int)0x813B); public const int GL_PROJECTION_STACK_DEPTH = ((int)0x0BA4); public const int GL_RENDERBUFFER_HEIGHT_EXT = ((int)0x8D43); public const int GL_RENDERBUFFER_GREEN_SIZE_EXT = ((int)0x8D51); public const int GL_MAX_TEXTURE_IMAGE_UNITS = ((int)0x8872); public const int GL_MATRIX24_ARB = ((int)0x88D8); public const int GL_CONVOLUTION_BORDER_COLOR = ((int)0x8154); public const int GL_TEXTURE_BINDING_2D_ARRAY_EXT = ((int)0x8C1D); public const int GL_RENDERBUFFER_SAMPLES_EXT = ((int)0x8CAB); public const int GL_COMBINER6_NV = ((int)0x8556); public const int GL_LINEAR_SHARPEN_SGIS = ((int)0x80AD); public const int GL_LIGHT4 = ((int)0x4004); public const int GL_COMBINER5_NV = ((int)0x8555); public const int GL_COMBINER2_NV = ((int)0x8552); public const int GL_COMBINER3_NV = ((int)0x8553); public const int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = ((int)0x808C); public const int GL_CON_2_ATI = ((int)0x8943); public const int GL_BLEND_EQUATION_EXT = ((int)0x8009); public const int GL_VERTEX_PROGRAM_POINT_SIZE_NV = ((int)0x8642); public const int GL_STATIC_DRAW = ((int)0x88E4); public const int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = ((int)0x8973); public const int GL_MAX_VERTEX_UNITS_ARB = ((int)0x86A4); public const int GL_MAP1_VERTEX_ATTRIB5_4_NV = ((int)0x8665); public const int GL_CON_21_ATI = ((int)0x8956); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = ((int)0x851A); public const int GL_4PASS_3_SGIS = ((int)0x80A7); public const int GL_MATRIX5_ARB = ((int)0x88C5); public const int GL_STATIC_DRAW_ARB = ((int)0x88E4); public const int GL_PIXEL_COUNT_NV = ((int)0x8866); public const int GL_TEXTURE_COLOR_TABLE_SGI = ((int)0x80BC); public const int GL_MATRIX4_ARB = ((int)0x88C4); public const int GL_MAP2_VERTEX_ATTRIB1_4_NV = ((int)0x8671); public const int GL_INDEX_ARRAY_POINTER_EXT = ((int)0x8091); public const int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87C8); public const int GL_VERTEX_STREAM1_ATI = ((int)0x876D); public const int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = ((int)0x8DA9); public const int GL_CULL_MODES_NV = ((int)0x86E0); public const int GL_COMBINER_MAPPING_NV = ((int)0x8543); public const int GL_MAP1_TEXTURE_COORD_2 = ((int)0x0D94); public const int GL_TEXTURE_SHARED_SIZE_EXT = ((int)0x8C3F); public const int GL_DEPTH_RANGE = ((int)0x0B70); public const int GL_EXP2 = ((int)0x0801); public const int GL_COLOR_TABLE_FORMAT = ((int)0x80D8); public const int GL_DEPTH_STENCIL_EXT = ((int)0x84F9); public const int GL_WRITE_PIXEL_DATA_RANGE_NV = ((int)0x8878); public const int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = ((int)0x813F); public const int GL_UNSIGNED_SHORT_5_6_5_EXT = ((int)0x8363); public const int GL_PROJECTION_MATRIX = ((int)0x0BA7); public const int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = ((int)0x8409); public const int GL_MINMAX_FORMAT = ((int)0x802F); public const int GL_MAP_COLOR = ((int)0x0D10); public const int GL_VERTEX_STREAM6_ATI = ((int)0x8772); public const int GL_CLIP_PLANE1 = ((int)0x3001); public const int GL_SAMPLER_1D_ARB = ((int)0x8B5D); public const int GL_OPERAND2_ALPHA_EXT = ((int)0x859A); public const int GL_POINT_SIZE_MAX = ((int)0x8127); public const int GL_SAMPLE_ALPHA_TO_MASK_EXT = ((int)0x809E); public const int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = ((int)0x8C80); public const int GL_STENCIL_BACK_WRITEMASK = ((int)0x8CA5); public const int GL_SLUMINANCE = ((int)0x8C46); public const int GL_MAP1_TEXTURE_COORD_3 = ((int)0x0D95); public const int GL_POLYGON_MODE = ((int)0x0B40); public const int GL_PRESERVE_ATI = ((int)0x8762); public const int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = ((int)0x84F8); public const int GL_INTERLACE_READ_OML = ((int)0x8981); public const int GL_SAMPLE_MASK_VALUE_EXT = ((int)0x80AA); public const int GL_LUMINANCE8 = ((int)0x8040); public const int GL_UNPACK_RESAMPLE_OML = ((int)0x8985); public const int GL_SUBTRACT = ((int)0x84E7); public const int GL_LOCAL_CONSTANT_DATATYPE_EXT = ((int)0x87ED); public const int GL_FLOAT_MAT3 = ((int)0x8B5B); public const int GL_CONSTANT_COLOR_EXT = ((int)0x8001); public const int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = ((int)0x86DB); public const int GL_TEXTURE_SHADER_NV = ((int)0x86DE); public const int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = ((int)103087); public const int GL_TYPE_RGBA_FLOAT_ATI = ((int)0x8820); public const int GL_FLOAT_MAT2x3 = ((int)0x8B65); public const int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = ((int)0x808B); public const int GL_VERTEX_STREAM2_ATI = ((int)0x876E); public const int GL_PREVIOUS = ((int)0x8578); public const int GL_FRAGMENT_COLOR_EXT = ((int)0x834C); public const int GL_OFFSET_TEXTURE_BIAS_NV = ((int)0x86E3); public const int GL_MATRIX6_NV = ((int)0x8636); public const int GL_PRIMITIVE_RESTART_NV = ((int)0x8558); public const int GL_OPERAND2_RGB = ((int)0x8592); public const int GL_INTENSITY8_EXT = ((int)0x804B); public const int GL_DOT3_RGB_ARB = ((int)0x86AE); public const int GL_PROGRAM_POINT_SIZE_EXT = ((int)0x8642); public const int GL_1PASS_SGIS = ((int)0x80A1); public const int GL_LIGHTING_BIT = ((int)0x00000040); public const int GL_SAMPLE_COVERAGE = ((int)0x80A0); public const int GL_ALPHA = ((int)0x1906); public const int GL_4D_COLOR_TEXTURE = ((int)0x0604); public const int GL_N3F_V3F = ((int)0x2A25); public const int GL_MAX_CONVOLUTION_HEIGHT = ((int)0x801B); public const int GL_C4F_N3F_V3F = ((int)0x2A26); public const int GL_RGB_SCALE = ((int)0x8573); public const int GL_FRONT_AND_BACK = ((int)0x0408); public const int GL_LUMINANCE4_ALPHA4_EXT = ((int)0x8043); public const int GL_PROXY_HISTOGRAM_EXT = ((int)0x8025); public const int GL_RESCALE_NORMAL_EXT = ((int)0x803A); public const int GL_FOG_BIT = ((int)0x00000080); public const int GL_CON_30_ATI = ((int)0x895F); public const int GL_QUERY_RESULT_AVAILABLE = ((int)0x8867); public const int GL_FRAGMENT_LIGHT6_SGIX = ((int)0x8412); public const int GL_MAP1_TEXTURE_COORD_1 = ((int)0x0D93); public const int GL_FOG_OFFSET_VALUE_SGIX = ((int)0x8199); public const int GL_SAMPLE_MASK_EXT = ((int)0x80A0); public const int GL_MODELVIEW6_ARB = ((int)0x8726); public const int GL_LOGIC_OP_MODE = ((int)0x0BF0); public const int GL_MAP1_VERTEX_ATTRIB7_4_NV = ((int)0x8667); public const int GL_ALWAYS = ((int)0x0207); public const int GL_GLOBAL_ALPHA_SUN = ((int)0x81D9); public const int GL_PROXY_COLOR_TABLE_SGI = ((int)0x80D3); public const int GL_CURRENT_FOG_COORD = ((int)GL_CURRENT_FOG_COORDINATE); public const int GL_WEIGHT_SUM_UNITY_ARB = ((int)0x86A6); public const int GL_FULL_RANGE_EXT = ((int)0x87E1); public const int GL_PRIMARY_COLOR_ARB = ((int)0x8577); public const int GL_MAX_VERTEX_ATTRIBS = ((int)0x8869); public const int GL_DOT_PRODUCT_PASS_THROUGH_NV = ((int)0x885B); public const int GL_RGB10_A2 = ((int)0x8059); public const int GL_OPERAND0_RGB_ARB = ((int)0x8590); public const int GL_ACTIVE_STENCIL_FACE_EXT = ((int)0x8911); public const int GL_UNSIGNED_INT_2_10_10_10_REV = ((int)0x8368); public const int GL_LIGHT6 = ((int)0x4006); public const int GL_COMBINER_BIAS_NV = ((int)0x8549); public const int GL_MAT_COLOR_INDEXES_BIT_PGI = ((int)0x01000000); public const int GL_DEPTH_PASS_INSTRUMENT_SGIX = ((int)0x8310); public const int GL_TEXTURE6_ARB = ((int)0x84C6); public const int GL_CON_9_ATI = ((int)0x894A); public const int GL_TEXTURE_MIN_LOD_SGIS = ((int)0x813A); public const int GL_WEIGHT_ARRAY_SIZE_ARB = ((int)0x86AB); public const int GL_PACK_ROW_LENGTH = ((int)0x0D02); public const int GL_CND0_ATI = ((int)0x896B); public const int GL_TEXTURE_1D_STACK_BINDING_MESAX = ((int)0x875D); public const int GL_TEXTURE_1D_STACK_MESAX = ((int)0x8759); public const int GL_VERTEX_STREAM5_ATI = ((int)0x8771); public const int GL_STENCIL_TEST_TWO_SIDE_EXT = ((int)0x8910); public const int GL_FLOAT_RG32_NV = ((int)0x8887); public const int GL_INTERPOLATE_EXT = ((int)0x8575); public const int GL_CON_10_ATI = ((int)0x894B); public const int GL_SPOT_EXPONENT = ((int)0x1205); public const int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = ((int)0x801D); public const int GL_COLOR_INDEX = ((int)0x1900); public const int GL_SLUMINANCE8_EXT = ((int)0x8C47); public const int GL_FLOAT_MAT4_ARB = ((int)0x8B5C); public const int GL_PIXEL_MAP_I_TO_G = ((int)0x0C73); public const int GL_YCBCR_MESA = ((int)0x8757); public const int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = ((int)0x8D44); public const int GL_RGB8UI_EXT = ((int)0x8D7D); public const int GL_PIXEL_MAP_G_TO_G_SIZE = ((int)0x0CB7); public const int GL_SECONDARY_INTERPOLATOR_ATI = ((int)0x896D); public const int GL_COLOR3_BIT_PGI = ((int)0x00010000); public const int GL_MAX_FOG_FUNC_POINTS_SGIS = ((int)0x812C); public const int GL_SINGLE_COLOR = ((int)0x81F9); public const int GL_QUARTER_BIT_ATI = ((int)0x00000010); public const int GL_TRUE = ((int)1); public const int GL_ACCUM_CLEAR_VALUE = ((int)0x0B80); public const int GL_HISTOGRAM_SINK = ((int)0x802D); public const int GL_PIXEL_MIN_FILTER_EXT = ((int)0x8332); public const int GL_MVP_MATRIX_EXT = ((int)0x87E3); public const int GL_NO_ERROR = ((int)0); public const int GL_PACK_SKIP_IMAGES = ((int)0x806B); public const int GL_CURRENT_QUERY_ARB = ((int)0x8865); public const int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = ((int)0x8541); public const int GL_IUI_N3F_V2F_EXT = ((int)0x81AF); public const int GL_TEXTURE_COORD_ARRAY_SIZE = ((int)0x8088); public const int GL_POST_COLOR_MATRIX_COLOR_TABLE = ((int)0x80D2); public const int GL_COLOR_ATTACHMENT12_EXT = ((int)0x8CEC); public const int GL_FOG_COORD_ARRAY_BUFFER_BINDING = ((int)GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING); public const int GL_DOUBLEBUFFER = ((int)0x0C32); public const int GL_SPRITE_TRANSLATION_SGIX = ((int)0x814B); public const int GL_FOG_DISTANCE_MODE_NV = ((int)0x855A); public const int GL_INDEX_MATERIAL_EXT = ((int)0x81B8); public const int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = ((int)0x86D9); public const int GL_INT_VEC2_ARB = ((int)0x8B53); public const int GL_MODELVIEW5_ARB = ((int)0x8725); public const int GL_INVERSE_NV = ((int)0x862B); public const int GL_CLIP_PLANE0 = ((int)0x3000); public const int GL_LUMINANCE_ALPHA_INTEGER_EXT = ((int)0x8D9D); public const int GL_TEXTURE_STENCIL_SIZE_EXT = ((int)0x88F1); public const int GL_POINT_DISTANCE_ATTENUATION_ARB = ((int)0x8129); public const int GL_ADD_SIGNED_ARB = ((int)0x8574); public const int GL_ALPHA_INTEGER_EXT = ((int)0x8D97); public const int GL_2D = ((int)0x0600); public const int GL_3D = ((int)0x0601); public const int GL_DRAW_BUFFER8_ATI = ((int)0x882D); public const int GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = ((int)0x8185); public const int GL_EXPAND_NORMAL_NV = ((int)0x8538); public const int GL_PIXEL_MAP_I_TO_A = ((int)0x0C75); public const int GL_SIGNED_INTENSITY_NV = ((int)0x8707); public const int GL_FLOAT_MAT2x4 = ((int)0x8B66); public const int GL_STENCIL_TAG_BITS_EXT = ((int)0x88F2); public const int GL_TEXTURE_MIN_FILTER = ((int)0x2801); public const int GL_TEXTURE_GREEN_TYPE_ARB = ((int)0x8C11); public const int GL_ARRAY_BUFFER = ((int)0x8892); public const int GL_C3F_V3F = ((int)0x2A24); public const int GL_VARIABLE_G_NV = ((int)0x8529); public const int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = ((int)0x8625); public const int GL_PROGRAM_TEMPORARIES_ARB = ((int)0x88A4); public const int GL_422_REV_AVERAGE_EXT = ((int)0x80CF); public const int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = ((int)0x8C27); public const int GL_COLOR_TABLE_RED_SIZE_SGI = ((int)0x80DA); public const int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = ((int)0x8B4D); public const int GL_EVAL_TRIANGULAR_2D_NV = ((int)0x86C1); public const int GL_STRICT_LIGHTING_HINT_PGI = ((int)0x1A217); public const int GL_INTENSITY12_EXT = ((int)0x804C); public const int GL_CON_20_ATI = ((int)0x8955); public const int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = ((int)0x8360); public const int GL_BUMP_ROT_MATRIX_ATI = ((int)0x8775); public const int GL_POST_COLOR_MATRIX_ALPHA_BIAS = ((int)0x80BB); public const int GL_2PASS_1_EXT = ((int)0x80A3); public const int GL_DEPTH_WRITEMASK = ((int)0x0B72); public const int GL_COEFF = ((int)0x0A00); public const int GL_TEXTURE24 = ((int)0x84D8); public const int GL_RED = ((int)0x1903); public const int GL_MAX_PALETTE_MATRICES_ARB = ((int)0x8842); public const int GL_TEXTURE_RED_SIZE_EXT = ((int)0x805C); public const int GL_TEXTURE20 = ((int)0x84D4); public const int GL_UNSIGNED_INT_8_8_8_8 = ((int)0x8035); public const int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = ((int)0x80B7); public const int GL_Z_EXT = ((int)0x87D7); public const int GL_BLEND_EQUATION_ALPHA = ((int)0x883D); public const int GL_SECONDARY_COLOR_ARRAY_EXT = ((int)0x845E); public const int GL_TEXTURE28 = ((int)0x84DC); public const int GL_DECR_WRAP = ((int)0x8508); public const int GL_ZOOM_X = ((int)0x0D16); public const int GL_FLOAT_RG_NV = ((int)0x8881); public const int GL_STENCIL_CLEAR_VALUE = ((int)0x0B91); public const int GL_DRAW_BUFFER14 = ((int)0x8833); public const int GL_BINORMAL_ARRAY_POINTER_EXT = ((int)0x8443); public const int GL_TEXTURE_MAX_ANISOTROPY_EXT = ((int)0x84FE); public const int GL_IMAGE_CUBIC_WEIGHT_HP = ((int)0x815E); public const int GL_NATIVE_GRAPHICS_END_HINT_PGI = ((int)0x1A204); public const int GL_OPERAND2_RGB_ARB = ((int)0x8592); public const int GL_COMBINE_RGB_ARB = ((int)0x8571); public const int GL_CURRENT_COLOR = ((int)0x0B00); public const int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = ((int)0x8DD7); public const int GL_SRC_COLOR = ((int)0x0300); public const int GL_LIGHT0 = ((int)0x4000); public const int GL_TEXTURE31 = ((int)0x84DF); public const int GL_STENCIL_ATTACHMENT_EXT = ((int)0x8D20); public const int GL_LUMINANCE12 = ((int)0x8041); public const int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87C6); public const int GL_MAP2_VERTEX_4 = ((int)0x0DB8); public const int GL_SIGNED_HILO8_NV = ((int)0x885F); public const int GL_3D_COLOR_TEXTURE = ((int)0x0603); public const int GL_NORMAL_ARRAY_STRIDE = ((int)0x807F); public const int GL_OBJECT_ATTACHED_OBJECTS_ARB = ((int)0x8B85); public const int GL_MAP2_VERTEX_3 = ((int)0x0DB7); public const int GL_PIXEL_MAP_B_TO_B_SIZE = ((int)0x0CB8); public const int GL_MATRIX21_ARB = ((int)0x88D5); public const int GL_PROXY_TEXTURE_3D = ((int)0x8070); public const int GL_TEXTURE_GREEN_SIZE_EXT = ((int)0x805D); public const int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = ((int)0x88B4); public const int GL_SPRITE_SGIX = ((int)0x8148); public const int GL_VERTEX_ATTRIB_ARRAY2_NV = ((int)0x8652); public const int GL_PIXEL_MAP_I_TO_B = ((int)0x0C74); public const int GL_INT_SAMPLER_BUFFER_EXT = ((int)0x8DD0); public const int GL_PACK_IMAGE_DEPTH_SGIS = ((int)0x8131); public const int GL_ACTIVE_TEXTURE_ARB = ((int)0x84E0); public const int GL_VERTEX_ARRAY_BINDING_APPLE = ((int)0x85B5); public const int GL_NUM_COMPRESSED_TEXTURE_FORMATS = ((int)0x86A2); public const int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = ((int)0x0D3B); public const int GL_ACTIVE_VARYING_MAX_LENGTH_NV = ((int)0x8C82); public const int GL_PROXY_TEXTURE_2D_ARRAY_EXT = ((int)0x8C1B); public const int GL_MATRIX8_ARB = ((int)0x88C8); public const int GL_FRAMEBUFFER_SRGB_EXT = ((int)0x8DB9); public const int GL_MATRIX18_ARB = ((int)0x88D2); public const int GL_FRAGMENT_LIGHT4_SGIX = ((int)0x8410); public const int GL_ARRAY_BUFFER_BINDING_ARB = ((int)0x8894); public const int GL_ELEMENT_ARRAY_ATI = ((int)0x8768); public const int GL_FOG_SPECULAR_TEXTURE_WIN = ((int)0x80EC); public const int GL_REDUCE_EXT = ((int)0x8016); public const int GL_SIGNED_RGBA_NV = ((int)0x86FB); public const int GL_MAX_VERTEX_UNIFORM_COMPONENTS = ((int)0x8B4A); public const int GL_LO_SCALE_NV = ((int)0x870F); public const int GL_FRAMEBUFFER_BINDING_EXT = ((int)0x8CA6); public const int GL_DEFORMATIONS_MASK_SGIX = ((int)0x8196); public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = ((int)0x8517); public const int GL_HISTOGRAM_RED_SIZE_EXT = ((int)0x8028); public const int GL_MAX_CONVOLUTION_WIDTH = ((int)0x801A); public const int GL_TEXTURE_BASE_LEVEL_SGIS = ((int)0x813C); public const int GL_POLYGON_OFFSET_FILL = ((int)0x8037); public const int GL_LUMINANCE_ALPHA16I_EXT = ((int)0x8D8D); public const int GL_FRONT = ((int)0x0404); public const int GL_LINEAR_SHARPEN_ALPHA_SGIS = ((int)0x80AE); public const int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = ((int)0x8DA7); public const int GL_MATRIX11_ARB = ((int)0x88CB); public const int GL_MAX_MAP_TESSELLATION_NV = ((int)0x86D6); public const int GL_DRAW_BUFFER11_ATI = ((int)0x8830); public const int GL_CCW = ((int)0x0901); public const int GL_2PASS_0_EXT = ((int)0x80A2); public const int GL_INVERSE_TRANSPOSE_NV = ((int)0x862D); public const int GL_BACK_NORMALS_HINT_PGI = ((int)0x1A223); public const int GL_FLOAT_RGBA_MODE_NV = ((int)0x888E); public const int GL_COLOR_ARRAY_POINTER_EXT = ((int)0x8090); public const int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = ((int)0x8DAD); public const int GL_T2F_IUI_V2F_EXT = ((int)0x81B1); public const int GL_MAP1_VERTEX_ATTRIB13_4_NV = ((int)0x866D); public const int GL_MATRIX13_ARB = ((int)0x88CD); public const int GL_VERTEX_ARRAY_BUFFER_BINDING = ((int)0x8896); public const int GL_SAMPLE_ALPHA_TO_MASK_SGIS = ((int)0x809E); public const int GL_COMBINE_RGB_EXT = ((int)0x8571); public const int GL_HILO8_NV = ((int)0x885E); public const int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = ((int)0x8143); public const int GL_PIXEL_TILE_CACHE_SIZE_SGIX = ((int)0x8145); public const int GL_SCALE_BY_TWO_NV = ((int)0x853E); public const int GL_PIXEL_TRANSFORM_2D_EXT = ((int)0x8330); public const int GL_COMPILE_STATUS = ((int)0x8B81); public const int GL_CONSTANT_ARB = ((int)0x8576); public const int GL_LIST_BASE = ((int)0x0B32); public const int GL_EMBOSS_CONSTANT_NV = ((int)0x855E); public const int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = ((int)0x845D); public const int GL_DYNAMIC_DRAW_ARB = ((int)0x88E8); public const int GL_CURRENT_BIT = ((int)0x00000001); public const int GL_TEXTURE_MIN_LOD = ((int)0x813A); public const int GL_MAP1_VERTEX_ATTRIB6_4_NV = ((int)0x8666); public const int GL_VERSION = ((int)0x1F02); public const int GL_FILL = ((int)0x1B02); public const int GL_REG_17_ATI = ((int)0x8932); public const int GL_MAP2_COLOR_4 = ((int)0x0DB0); public const int GL_SWIZZLE_STQ_ATI = ((int)0x8977); public const int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = ((int)0x8CDB); public const int GL_DRAW_BUFFER13_ATI = ((int)0x8832); public const int GL_TEXTURE_LUMINANCE_TYPE_ARB = ((int)0x8C14); public const int GL_COMPRESSED_SRGB_ALPHA_EXT = ((int)0x8C49); public const int GL_UNSIGNED_INT_SAMPLER_3D_EXT = ((int)0x8DD3); public const int GL_BUFFER_FLUSHING_UNMAP_APPLE = ((int)0x8A13); public const int GL_VERTEX_ATTRIB_ARRAY3_NV = ((int)0x8653); public const int GL_STENCIL_PASS_DEPTH_FAIL = ((int)0x0B95); public const int GL_422_EXT = ((int)0x80CC); public const int GL_FOG_COORD_ARRAY = ((int)GL_FOG_COORDINATE_ARRAY); public const int GL_AUTO_NORMAL = ((int)0x0D80); public const int GL_TEXTURE_ENV_BIAS_SGIX = ((int)0x80BE); public const int GL_SAMPLER_1D_SHADOW = ((int)0x8B61); public const int GL_PIXEL_MAP_R_TO_R_SIZE = ((int)0x0CB6); public const int GL_DEPTH_BOUNDS_EXT = ((int)0x8891); public const int GL_LUMINANCE_ALPHA_FLOAT32_ATI = ((int)0x8819); public const int GL_SIGNED_LUMINANCE_NV = ((int)0x8701); public const int GL_COLOR_LOGIC_OP = ((int)0x0BF2); public const int GL_SAMPLE_PATTERN_SGIS = ((int)0x80AC); public const int GL_PIXEL_COUNTER_BITS_NV = ((int)0x8864); public const int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = ((int)0x887D); public const int GL_HISTOGRAM_BLUE_SIZE = ((int)0x802A); public const int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8B4C); public const int GL_STENCIL_INDEX8_EXT = ((int)0x8D48); public const int GL_BLEND_SRC = ((int)0x0BE1); public const int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = ((int)0x845A); public const int GL_MODELVIEW0_MATRIX_EXT = ((int)GL_MODELVIEW_MATRIX); public const int GL_MODELVIEW4_ARB = ((int)0x8724); public const int GL_DECR_WRAP_EXT = ((int)0x8508); public const int GL_FRAMEBUFFER_EXT = ((int)0x8D40); public const int GL_NUM_FRAGMENT_REGISTERS_ATI = ((int)0x896E); public const int GL_POINT_FADE_THRESHOLD_SIZE = ((int)0x8128); public const int GL_VARIABLE_A_NV = ((int)0x8523); public const int GL_DECR = ((int)0x1E03); public const int GL_CURRENT_RASTER_COLOR = ((int)0x0B04); public const int GL_TEXTURE_RECTANGLE_NV = ((int)0x84F5); public const int GL_MIRRORED_REPEAT = ((int)0x8370); public const int GL_OUTPUT_TEXTURE_COORD20_EXT = ((int)0x87B1); public const int GL_SWIZZLE_STR_DR_ATI = ((int)0x8978); public const int GL_TEXTURE_MATRIX = ((int)0x0BA8); public const int GL_COMPRESSED_SLUMINANCE_ALPHA = ((int)0x8C4B); public const int GL_ATTRIB_ARRAY_STRIDE_NV = ((int)0x8624); public const int GL_TEXTURE_MAX_CLAMP_R_SGIX = ((int)0x836B); public const int GL_RIGHT = ((int)0x0407); public const int GL_STENCIL_BITS = ((int)0x0D57); public const int GL_HILO16_NV = ((int)0x86F8); public const int GL_POINT_BIT = ((int)0x00000002); public const int GL_INTERLACE_READ_INGR = ((int)0x8568); public const int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = ((int)0x880B); public const int GL_COLOR_TABLE_BLUE_SIZE_SGI = ((int)0x80DC); public const int GL_LUMINANCE8I_EXT = ((int)0x8D92); public const int GL_FRAGMENT_DEPTH = ((int)0x8452); public const int GL_PROXY_TEXTURE_2D = ((int)0x8064); public const int GL_PACK_SWAP_BYTES = ((int)0x0D00); public const int GL_ACCUM_RED_BITS = ((int)0x0D58); public const int GL_RGBA4_S3TC = ((int)0x83A3); public const int GL_CON_24_ATI = ((int)0x8959); public const int GL_POST_COLOR_MATRIX_BLUE_BIAS = ((int)0x80BA); public const int GL_OUTPUT_TEXTURE_COORD10_EXT = ((int)0x87A7); public const int GL_SIGNED_INTENSITY8_NV = ((int)0x8708); public const int GL_EDGE_FLAG_ARRAY_POINTER = ((int)0x8093); public const int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = ((int)0x8454); public const int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = ((int)0x80BF); public const int GL_DEPTH_COMPONENT = ((int)0x1902); public const int GL_READ_ONLY = ((int)0x88B8); public const int GL_MAX_VERTEX_HINT_PGI = ((int)0x1A22D); public const int GL_YCRCB_SGIX = ((int)0x8318); public const int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F8); public const int GL_OUTPUT_TEXTURE_COORD28_EXT = ((int)0x87B9); public const int GL_PROXY_TEXTURE_CUBE_MAP_ARB = ((int)0x851B); public const int GL_SRGB_EXT = ((int)0x8C40); public const int GL_TEXTURE17_ARB = ((int)0x84D1); public const int GL_REG_29_ATI = ((int)0x893E); public const int GL_RGB16F_ARB = ((int)0x881B); public const int GL_SIGNED_LUMINANCE_ALPHA_NV = ((int)0x8703); public const int GL_POINT_TOKEN = ((int)0x0701); public const int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = ((int)0x88B3); public const int GL_MAX_TEXTURE_COORDS = ((int)0x8871); public const int GL_FLOAT = ((int)0x1406); public const int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = ((int)0x8C28); public const int GL_PIXEL_PACK_BUFFER_EXT = ((int)0x88EB); public const int GL_GEOMETRY_SHADER_EXT = ((int)0x8DD9); public const int GL_MAP1_VERTEX_ATTRIB8_4_NV = ((int)0x8668); public const int GL_EVAL_FRACTIONAL_TESSELLATION_NV = ((int)0x86C5); public const int GL_OP_CROSS_PRODUCT_EXT = ((int)0x8797); public const int GL_MAX_LIGHTS = ((int)0x0D31); public const int GL_SAMPLE_BUFFERS_EXT = ((int)0x80A8); public const int GL_REG_11_ATI = ((int)0x892C); public const int GL_DOT_PRODUCT_TEXTURE_1D_NV = ((int)0x885C); public const int GL_OUTPUT_TEXTURE_COORD18_EXT = ((int)0x87AF); public const int GL_MAX_RENDERBUFFER_SIZE_EXT = ((int)0x84E8); public const int GL_COLOR_MATRIX = ((int)0x80B1); public const int GL_FLOAT_MAT4x3 = ((int)0x8B6A); public const int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = ((int)0x8857); public const int GL_DIFFUSE = ((int)0x1201); public const int GL_POINT_SIZE = ((int)0x0B11); public const int GL_TEXTURE16_ARB = ((int)0x84D0); public const int GL_OFFSET_TEXTURE_2D_NV = ((int)0x86E8); public const int GL_PROGRAM_ERROR_STRING_NV = ((int)0x8874); public const int GL_COLOR_ATTACHMENT10_EXT = ((int)0x8CEA); public const int GL_TEXTURE_COORD_ARRAY_STRIDE = ((int)0x808A); public const int GL_EVAL_VERTEX_ATTRIB15_NV = ((int)0x86D5); public const int GL_FLAT = ((int)0x1D00); public const int GL_CLIENT_ACTIVE_TEXTURE_ARB = ((int)0x84E1); public const int GL_BUFFER_MAP_POINTER = ((int)0x88BD); public const int GL_OP_SET_LT_EXT = ((int)0x878D); public const int GL_SAMPLES_ARB = ((int)0x80A9); public const int GL_AVERAGE_EXT = ((int)0x8335); public const int GL_SMOOTH_POINT_SIZE_RANGE = ((int)0x0B12); public const int GL_CLAMP_VERTEX_COLOR_ARB = ((int)0x891A); public const int GL_HALF_BIAS_NEGATE_NV = ((int)0x853B); public const int GL_CON_23_ATI = ((int)0x8958); public const int GL_SAMPLER_CUBE_ARB = ((int)0x8B60); public const int GL_TEXTURE_NORMAL_EXT = ((int)0x85AF); public const int GL_FRAGMENT_LIGHTING_SGIX = ((int)0x8400); public const int GL_REFLECTION_MAP_NV = ((int)0x8512); public const int GL_TEXTURE15_ARB = ((int)0x84CF); public const int GL_MAP1_VERTEX_ATTRIB0_4_NV = ((int)0x8660); public const int GL_TEXTURE_GEQUAL_R_SGIX = ((int)0x819D); public const int GL_NEGATIVE_ONE_EXT = ((int)0x87DF); public const int GL_DST_COLOR = ((int)0x0306); public const int GL_ALPHA16I_EXT = ((int)0x8D8A); public const int GL_TEXTURE2_ARB = ((int)0x84C2); public const int GL_BACK_PRIMARY_COLOR_NV = ((int)0x8C77); public const int GL_MATRIX15_ARB = ((int)0x88CF); public const int GL_MODULATE_ADD_ATI = ((int)0x8744); public const int GL_PROGRAM_RESIDENT_NV = ((int)0x8647); public const int GL_VERTEX_SHADER_ARB = ((int)0x8B31); public const int GL_SOURCE1_ALPHA_ARB = ((int)0x8589); public const int GL_DEPTH_CLEAR_VALUE = ((int)0x0B73); public const int GL_COMBINER_CD_DOT_PRODUCT_NV = ((int)0x8546); public const int GL_COMPRESSED_SRGB_EXT = ((int)0x8C48); public const int GL_OUTPUT_TEXTURE_COORD2_EXT = ((int)0x879F); public const int GL_FENCE_CONDITION_NV = ((int)0x84F4); public const int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = ((int)0x8805); public const int GL_SPHERE_MAP = ((int)0x2402); public const int GL_PHONG_HINT_WIN = ((int)0x80EB); public const int GL_TEXTURE_LUMINANCE_SIZE = ((int)0x8060); public const int GL_TEXTURE_MAX_LOD = ((int)0x813B); public const int GL_INDEX_ARRAY = ((int)0x8077); public const int GL_EYE_LINE_SGIS = ((int)0x81F6); public const int GL_MATRIX22_ARB = ((int)0x88D6); public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = ((int)0x8C4E); public const int GL_COLOR_SUM_ARB = ((int)0x8458); public const int GL_NUM_FRAGMENT_CONSTANTS_ATI = ((int)0x896F); public const int GL_COLOR_ATTACHMENT13_EXT = ((int)0x8CED); public const int GL_DEPTH_BUFFER_FLOAT_MODE_NV = ((int)0x8DAF); public const int GL_REG_20_ATI = ((int)0x8935); public const int GL_COLOR_ATTACHMENT15_EXT = ((int)0x8CEF); public const int GL_ARRAY_BUFFER_ARB = ((int)0x8892); public const int GL_VERTEX_SOURCE_ATI = ((int)0x8774); public const int GL_MAX_DRAW_BUFFERS = ((int)0x8824); public const int GL_SOURCE2_RGB = ((int)0x8582); public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = ((int)0x8C4D); public const int GL_FLOAT_RGB16_NV = ((int)0x8888); public const int GL_CURRENT_VERTEX_ATTRIB_ARB = ((int)0x8626); public const int GL_DEPTH_STENCIL_TO_RGBA_NV = ((int)0x886E); public const int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = ((int)0x86A0); public const int GL_INDEX_ARRAY_COUNT_EXT = ((int)0x8087); public const int GL_SPOT_CUTOFF = ((int)0x1206); public const int GL_VERTEX23_BIT_PGI = ((int)0x00000004); public const int GL_COORD_REPLACE_ARB = ((int)0x8862); public const int GL_RENDERBUFFER_ALPHA_SIZE_EXT = ((int)0x8D53); public const int GL_SWIZZLE_STR_ATI = ((int)0x8976); public const int GL_CONVOLUTION_1D_EXT = ((int)0x8010); public const int GL_LINE_WIDTH_RANGE = ((int)0x0B22); public const int GL_SLUMINANCE_EXT = ((int)0x8C46); public const int GL_FOG_END = ((int)0x0B64); public const int GL_RGB4 = ((int)0x804F); public const int GL_VERTEX_ID_NV = ((int)0x8C7B); public const int GL_NEAREST_MIPMAP_LINEAR = ((int)0x2702); public const int GL_COMPRESSED_INTENSITY = ((int)0x84EC); public const int GL_REG_30_ATI = ((int)0x893F); public const int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87CF); public const int GL_CONVOLUTION_2D_EXT = ((int)0x8011); public const int GL_REPLICATE_BORDER_HP = ((int)0x8153); public const int GL_OP_RECIP_SQRT_EXT = ((int)0x8795); public const int GL_FRAGMENT_LIGHT0_SGIX = ((int)0x840C); public const int GL_VERTEX_SHADER_EXT = ((int)0x8780); public const int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = ((int)0x8CD0); public const int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = ((int)0x8DA1); public const int GL_DEPTH_COMPONENT24_SGIX = ((int)0x81A6); public const int GL_HALF_BIAS_NORMAL_NV = ((int)0x853A); public const int GL_SLUMINANCE_ALPHA_EXT = ((int)0x8C44); public const int GL_SRC_ALPHA_SATURATE = ((int)0x0308); public const int GL_DETAIL_TEXTURE_MODE_SGIS = ((int)0x809B); public const int GL_POST_CONVOLUTION_ALPHA_BIAS = ((int)0x8023); public const int GL_RED_BIT_ATI = ((int)0x00000001); public const int GL_FOG_FUNC_POINTS_SGIS = ((int)0x812B); public const int GL_NEVER = ((int)0x0200); public const int GL_TEXTURE_BLUE_TYPE_ARB = ((int)0x8C12); public const int GL_MOV_ATI = ((int)0x8961); public const int GL_MATRIX_PALETTE_ARB = ((int)0x8840); public const int GL_MATRIX6_ARB = ((int)0x88C6); public const int GL_SAMPLE_ALPHA_TO_ONE_SGIS = ((int)0x809F); public const int GL_SOURCE2_ALPHA_EXT = ((int)0x858A); public const int GL_ALPHA16_EXT = ((int)0x803E); public const int GL_OP_EXP_BASE_2_EXT = ((int)0x8791); public const int GL_REG_21_ATI = ((int)0x8936); public const int GL_STENCIL_INDEX1_EXT = ((int)0x8D46); public const int GL_TEXTURE11_ARB = ((int)0x84CB); public const int GL_COMBINER_AB_DOT_PRODUCT_NV = ((int)0x8545); public const int GL_HI_SCALE_NV = ((int)0x870E); public const int GL_BUMP_ENVMAP_ATI = ((int)0x877B); public const int GL_RGB8I_EXT = ((int)0x8D8F); public const int GL_LINK_STATUS = ((int)0x8B82); public const int GL_SAMPLE_COVERAGE_ARB = ((int)0x80A0); public const int GL_CONVOLUTION_FORMAT = ((int)0x8017); public const int GL_COLOR_ARRAY = ((int)0x8076); public const int GL_THREE = ((int)3); public const int GL_HISTOGRAM_ALPHA_SIZE_EXT = ((int)0x802B); public const int GL_PACK_CMYK_HINT_EXT = ((int)0x800E); public const int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = ((int)0x8C71); public const int GL_OUTPUT_TEXTURE_COORD22_EXT = ((int)0x87B3); public const int GL_UNSIGNED_INT_SAMPLER_2D_EXT = ((int)0x8DD2); public const int GL_POST_CONVOLUTION_RED_SCALE = ((int)0x801C); public const int GL_UNSIGNED_SHORT_4_4_4_4_EXT = ((int)0x8033); public const int GL_LUMINANCE8_EXT = ((int)0x8040); public const int GL_COLOR_WRITEMASK = ((int)0x0C23); public const int GL_REG_13_ATI = ((int)0x892E); public const int GL_INTENSITY32I_EXT = ((int)0x8D85); public const int GL_REG_31_ATI = ((int)0x8940); public const int GL_TRANSPOSE_TEXTURE_MATRIX = ((int)0x84E5); public const int GL_EXPAND_NEGATE_NV = ((int)0x8539); public const int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87C7); public const int GL_TEXTURE_BORDER_COLOR = ((int)0x1004); public const int GL_WEIGHT_ARRAY_BUFFER_BINDING = ((int)0x889E); public const int GL_COLOR_ARRAY_COUNT_EXT = ((int)0x8084); public const int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = ((int)0x8C4B); public const int GL_SAMPLE_MASK_SGIS = ((int)0x80A0); public const int GL_DRAW_PIXEL_TOKEN = ((int)0x0705); public const int GL_MAP2_VERTEX_ATTRIB5_4_NV = ((int)0x8675); public const int GL_AMBIENT_AND_DIFFUSE = ((int)0x1602); public const int GL_DOT2_ADD_ATI = ((int)0x896C); public const int GL_ACTIVE_UNIFORM_MAX_LENGTH = ((int)0x8B87); public const int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = ((int)0x84E4); public const int GL_SAMPLES_EXT = ((int)0x80A9); public const int GL_LOCAL_CONSTANT_EXT = ((int)0x87C3); public const int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = ((int)0x8DBC); public const int GL_TEXTURE_2D_ARRAY_EXT = ((int)0x8C1A); public const int GL_MAP1_NORMAL = ((int)0x0D92); public const int GL_SAMPLER_1D_ARRAY_EXT = ((int)0x8DC0); public const int GL_FLOAT_RGBA_NV = ((int)0x8883); public const int GL_INTENSITY8UI_EXT = ((int)0x8D7F); public const int GL_FLOAT_CLEAR_COLOR_VALUE_NV = ((int)0x888D); public const int GL_TRANSPOSE_COLOR_MATRIX_ARB = ((int)0x84E6); public const int GL_VERTEX_ATTRIB_ARRAY6_NV = ((int)0x8656); public const int GL_SAMPLER_CUBE = ((int)0x8B60); public const int GL_COLOR_BUFFER_BIT = ((int)0x00004000); public const int GL_MODELVIEW_STACK_DEPTH = ((int)0x0BA3); public const int GL_POINT_FADE_THRESHOLD_SIZE_ARB = ((int)0x8128); public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = ((int)0x8518); public const int GL_ATTRIB_ARRAY_SIZE_NV = ((int)0x8623); public const int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = ((int)0x8DD4); public const int GL_ALPHA32F_ARB = ((int)0x8816); public const int GL_MAP_ATTRIB_V_ORDER_NV = ((int)0x86C4); public const int GL_VARIANT_DATATYPE_EXT = ((int)0x87E5); public const int GL_INT_SAMPLER_2D_ARRAY_EXT = ((int)0x8DCF); public const int GL_TEXTURE_DEPTH_SIZE_ARB = ((int)0x884A); public const int GL_INTENSITY_FLOAT16_ATI = ((int)0x881D); } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/Gl.cs0000664000175000017500001026275711453131430021436 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace Tao.OpenGl { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 public static partial class Gl { [System.CLSCompliant(false)] public static void glNewList(UInt32 list, int mode) { Delegates.glNewList((UInt32)list, (int)mode); } public static void glNewList(Int32 list, int mode) { Delegates.glNewList((UInt32)list, (int)mode); } public static void glEndList() { Delegates.glEndList(); } [System.CLSCompliant(false)] public static void glCallList(UInt32 list) { Delegates.glCallList((UInt32)list); } public static void glCallList(Int32 list) { Delegates.glCallList((UInt32)list); } public static void glCallLists(Int32 n, int type, IntPtr lists) { unsafe { Delegates.glCallLists((Int32)n, (int)type, (IntPtr)lists); } } public static void glCallLists(Int32 n, int type, [In, Out] object lists) { unsafe { System.Runtime.InteropServices.GCHandle lists_ptr = System.Runtime.InteropServices.GCHandle.Alloc(lists, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCallLists((Int32)n, (int)type, (IntPtr)lists_ptr.AddrOfPinnedObject()); } finally { lists_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glDeleteLists(UInt32 list, Int32 range) { Delegates.glDeleteLists((UInt32)list, (Int32)range); } public static void glDeleteLists(Int32 list, Int32 range) { Delegates.glDeleteLists((UInt32)list, (Int32)range); } public static Int32 glGenLists(Int32 range) { return Delegates.glGenLists((Int32)range); } [System.CLSCompliant(false)] public static void glListBase(UInt32 @base) { Delegates.glListBase((UInt32)@base); } public static void glListBase(Int32 @base) { Delegates.glListBase((UInt32)@base); } public static void glBegin(int mode) { Delegates.glBegin((int)mode); } public static void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, IntPtr bitmap) { unsafe { Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap); } } public static void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte[] bitmap) { unsafe { fixed (Byte* bitmap_ptr = bitmap) { Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr); } } } public static void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, ref Byte bitmap) { unsafe { fixed (Byte* bitmap_ptr = &bitmap) { Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr); } } } [System.CLSCompliant(false)] public static void glColor3b(SByte red, SByte green, SByte blue) { Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue); } public static void glColor3b(Byte red, Byte green, Byte blue) { Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue); } public static void glColor3bv(IntPtr v) { unsafe { Delegates.glColor3bv((SByte*)v); } } [System.CLSCompliant(false)] public static void glColor3bv(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glColor3bv((SByte*)v_ptr); } } } public static void glColor3bv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor3bv((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3bv(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glColor3bv((SByte*)v_ptr); } } } public static void glColor3bv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor3bv((SByte*)v_ptr); } } } public static void glColor3d(Double red, Double green, Double blue) { Delegates.glColor3d((Double)red, (Double)green, (Double)blue); } public static void glColor3dv(IntPtr v) { unsafe { Delegates.glColor3dv((Double*)v); } } public static void glColor3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glColor3dv((Double*)v_ptr); } } } public static void glColor3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glColor3dv((Double*)v_ptr); } } } public static void glColor3f(Single red, Single green, Single blue) { Delegates.glColor3f((Single)red, (Single)green, (Single)blue); } public static void glColor3fv(IntPtr v) { unsafe { Delegates.glColor3fv((Single*)v); } } public static void glColor3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor3fv((Single*)v_ptr); } } } public static void glColor3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor3fv((Single*)v_ptr); } } } public static void glColor3i(Int32 red, Int32 green, Int32 blue) { Delegates.glColor3i((Int32)red, (Int32)green, (Int32)blue); } public static void glColor3iv(IntPtr v) { unsafe { Delegates.glColor3iv((Int32*)v); } } public static void glColor3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor3iv((Int32*)v_ptr); } } } public static void glColor3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor3iv((Int32*)v_ptr); } } } public static void glColor3s(Int16 red, Int16 green, Int16 blue) { Delegates.glColor3s((Int16)red, (Int16)green, (Int16)blue); } public static void glColor3sv(IntPtr v) { unsafe { Delegates.glColor3sv((Int16*)v); } } public static void glColor3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor3sv((Int16*)v_ptr); } } } public static void glColor3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor3sv((Int16*)v_ptr); } } } public static void glColor3ub(Byte red, Byte green, Byte blue) { Delegates.glColor3ub((Byte)red, (Byte)green, (Byte)blue); } public static void glColor3ubv(IntPtr v) { unsafe { Delegates.glColor3ubv((Byte*)v); } } public static void glColor3ubv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor3ubv((Byte*)v_ptr); } } } public static void glColor3ubv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor3ubv((Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3ui(UInt32 red, UInt32 green, UInt32 blue) { Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glColor3ui(Int32 red, Int32 green, Int32 blue) { Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glColor3uiv(IntPtr v) { unsafe { Delegates.glColor3uiv((UInt32*)v); } } [System.CLSCompliant(false)] public static void glColor3uiv(UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } } public static void glColor3uiv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3uiv(ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } } public static void glColor3uiv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3us(UInt16 red, UInt16 green, UInt16 blue) { Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glColor3us(Int16 red, Int16 green, Int16 blue) { Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glColor3usv(IntPtr v) { unsafe { Delegates.glColor3usv((UInt16*)v); } } [System.CLSCompliant(false)] public static void glColor3usv(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor3usv((UInt16*)v_ptr); } } } public static void glColor3usv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor3usv((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3usv(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor3usv((UInt16*)v_ptr); } } } public static void glColor3usv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor3usv((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4b(SByte red, SByte green, SByte blue, SByte alpha) { Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha); } public static void glColor4b(Byte red, Byte green, Byte blue, Byte alpha) { Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha); } public static void glColor4bv(IntPtr v) { unsafe { Delegates.glColor4bv((SByte*)v); } } [System.CLSCompliant(false)] public static void glColor4bv(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glColor4bv((SByte*)v_ptr); } } } public static void glColor4bv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor4bv((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4bv(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glColor4bv((SByte*)v_ptr); } } } public static void glColor4bv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor4bv((SByte*)v_ptr); } } } public static void glColor4d(Double red, Double green, Double blue, Double alpha) { Delegates.glColor4d((Double)red, (Double)green, (Double)blue, (Double)alpha); } public static void glColor4dv(IntPtr v) { unsafe { Delegates.glColor4dv((Double*)v); } } public static void glColor4dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glColor4dv((Double*)v_ptr); } } } public static void glColor4dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glColor4dv((Double*)v_ptr); } } } public static void glColor4f(Single red, Single green, Single blue, Single alpha) { Delegates.glColor4f((Single)red, (Single)green, (Single)blue, (Single)alpha); } public static void glColor4fv(IntPtr v) { unsafe { Delegates.glColor4fv((Single*)v); } } public static void glColor4fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor4fv((Single*)v_ptr); } } } public static void glColor4fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor4fv((Single*)v_ptr); } } } public static void glColor4i(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glColor4i((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); } public static void glColor4iv(IntPtr v) { unsafe { Delegates.glColor4iv((Int32*)v); } } public static void glColor4iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor4iv((Int32*)v_ptr); } } } public static void glColor4iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor4iv((Int32*)v_ptr); } } } public static void glColor4s(Int16 red, Int16 green, Int16 blue, Int16 alpha) { Delegates.glColor4s((Int16)red, (Int16)green, (Int16)blue, (Int16)alpha); } public static void glColor4sv(IntPtr v) { unsafe { Delegates.glColor4sv((Int16*)v); } } public static void glColor4sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor4sv((Int16*)v_ptr); } } } public static void glColor4sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor4sv((Int16*)v_ptr); } } } public static void glColor4ub(Byte red, Byte green, Byte blue, Byte alpha) { Delegates.glColor4ub((Byte)red, (Byte)green, (Byte)blue, (Byte)alpha); } public static void glColor4ubv(IntPtr v) { unsafe { Delegates.glColor4ubv((Byte*)v); } } public static void glColor4ubv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor4ubv((Byte*)v_ptr); } } } public static void glColor4ubv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor4ubv((Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha) { Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); } public static void glColor4ui(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); } public static void glColor4uiv(IntPtr v) { unsafe { Delegates.glColor4uiv((UInt32*)v); } } [System.CLSCompliant(false)] public static void glColor4uiv(UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } } public static void glColor4uiv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4uiv(ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } } public static void glColor4uiv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha) { Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha); } public static void glColor4us(Int16 red, Int16 green, Int16 blue, Int16 alpha) { Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha); } public static void glColor4usv(IntPtr v) { unsafe { Delegates.glColor4usv((UInt16*)v); } } [System.CLSCompliant(false)] public static void glColor4usv(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor4usv((UInt16*)v_ptr); } } } public static void glColor4usv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor4usv((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4usv(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor4usv((UInt16*)v_ptr); } } } public static void glColor4usv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor4usv((UInt16*)v_ptr); } } } public static void glEdgeFlag(Int32 flag) { Delegates.glEdgeFlag((Int32)flag); } public static void glEdgeFlagv(IntPtr flag) { unsafe { Delegates.glEdgeFlagv((Int32*)flag); } } public static void glEdgeFlagv(Int32[] flag) { unsafe { fixed (Int32* flag_ptr = flag) { Delegates.glEdgeFlagv((Int32*)flag_ptr); } } } public static void glEdgeFlagv(ref Int32 flag) { unsafe { fixed (Int32* flag_ptr = &flag) { Delegates.glEdgeFlagv((Int32*)flag_ptr); } } } public static void glEnd() { Delegates.glEnd(); } public static void glIndexd(Double c) { Delegates.glIndexd((Double)c); } public static void glIndexdv(IntPtr c) { unsafe { Delegates.glIndexdv((Double*)c); } } public static void glIndexdv(Double[] c) { unsafe { fixed (Double* c_ptr = c) { Delegates.glIndexdv((Double*)c_ptr); } } } public static void glIndexdv(ref Double c) { unsafe { fixed (Double* c_ptr = &c) { Delegates.glIndexdv((Double*)c_ptr); } } } public static void glIndexf(Single c) { Delegates.glIndexf((Single)c); } public static void glIndexfv(IntPtr c) { unsafe { Delegates.glIndexfv((Single*)c); } } public static void glIndexfv(Single[] c) { unsafe { fixed (Single* c_ptr = c) { Delegates.glIndexfv((Single*)c_ptr); } } } public static void glIndexfv(ref Single c) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glIndexfv((Single*)c_ptr); } } } public static void glIndexi(Int32 c) { Delegates.glIndexi((Int32)c); } public static void glIndexiv(IntPtr c) { unsafe { Delegates.glIndexiv((Int32*)c); } } public static void glIndexiv(Int32[] c) { unsafe { fixed (Int32* c_ptr = c) { Delegates.glIndexiv((Int32*)c_ptr); } } } public static void glIndexiv(ref Int32 c) { unsafe { fixed (Int32* c_ptr = &c) { Delegates.glIndexiv((Int32*)c_ptr); } } } public static void glIndexs(Int16 c) { Delegates.glIndexs((Int16)c); } public static void glIndexsv(IntPtr c) { unsafe { Delegates.glIndexsv((Int16*)c); } } public static void glIndexsv(Int16[] c) { unsafe { fixed (Int16* c_ptr = c) { Delegates.glIndexsv((Int16*)c_ptr); } } } public static void glIndexsv(ref Int16 c) { unsafe { fixed (Int16* c_ptr = &c) { Delegates.glIndexsv((Int16*)c_ptr); } } } [System.CLSCompliant(false)] public static void glNormal3b(SByte nx, SByte ny, SByte nz) { Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz); } public static void glNormal3b(Byte nx, Byte ny, Byte nz) { Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz); } public static void glNormal3bv(IntPtr v) { unsafe { Delegates.glNormal3bv((SByte*)v); } } [System.CLSCompliant(false)] public static void glNormal3bv(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glNormal3bv((SByte*)v_ptr); } } } public static void glNormal3bv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glNormal3bv((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glNormal3bv(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glNormal3bv((SByte*)v_ptr); } } } public static void glNormal3bv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glNormal3bv((SByte*)v_ptr); } } } public static void glNormal3d(Double nx, Double ny, Double nz) { Delegates.glNormal3d((Double)nx, (Double)ny, (Double)nz); } public static void glNormal3dv(IntPtr v) { unsafe { Delegates.glNormal3dv((Double*)v); } } public static void glNormal3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glNormal3dv((Double*)v_ptr); } } } public static void glNormal3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glNormal3dv((Double*)v_ptr); } } } public static void glNormal3f(Single nx, Single ny, Single nz) { Delegates.glNormal3f((Single)nx, (Single)ny, (Single)nz); } public static void glNormal3fv(IntPtr v) { unsafe { Delegates.glNormal3fv((Single*)v); } } public static void glNormal3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glNormal3fv((Single*)v_ptr); } } } public static void glNormal3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glNormal3fv((Single*)v_ptr); } } } public static void glNormal3i(Int32 nx, Int32 ny, Int32 nz) { Delegates.glNormal3i((Int32)nx, (Int32)ny, (Int32)nz); } public static void glNormal3iv(IntPtr v) { unsafe { Delegates.glNormal3iv((Int32*)v); } } public static void glNormal3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glNormal3iv((Int32*)v_ptr); } } } public static void glNormal3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glNormal3iv((Int32*)v_ptr); } } } public static void glNormal3s(Int16 nx, Int16 ny, Int16 nz) { Delegates.glNormal3s((Int16)nx, (Int16)ny, (Int16)nz); } public static void glNormal3sv(IntPtr v) { unsafe { Delegates.glNormal3sv((Int16*)v); } } public static void glNormal3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glNormal3sv((Int16*)v_ptr); } } } public static void glNormal3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glNormal3sv((Int16*)v_ptr); } } } public static void glRasterPos2d(Double x, Double y) { Delegates.glRasterPos2d((Double)x, (Double)y); } public static void glRasterPos2dv(IntPtr v) { unsafe { Delegates.glRasterPos2dv((Double*)v); } } public static void glRasterPos2dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos2dv((Double*)v_ptr); } } } public static void glRasterPos2dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos2dv((Double*)v_ptr); } } } public static void glRasterPos2f(Single x, Single y) { Delegates.glRasterPos2f((Single)x, (Single)y); } public static void glRasterPos2fv(IntPtr v) { unsafe { Delegates.glRasterPos2fv((Single*)v); } } public static void glRasterPos2fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos2fv((Single*)v_ptr); } } } public static void glRasterPos2fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos2fv((Single*)v_ptr); } } } public static void glRasterPos2i(Int32 x, Int32 y) { Delegates.glRasterPos2i((Int32)x, (Int32)y); } public static void glRasterPos2iv(IntPtr v) { unsafe { Delegates.glRasterPos2iv((Int32*)v); } } public static void glRasterPos2iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos2iv((Int32*)v_ptr); } } } public static void glRasterPos2iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos2iv((Int32*)v_ptr); } } } public static void glRasterPos2s(Int16 x, Int16 y) { Delegates.glRasterPos2s((Int16)x, (Int16)y); } public static void glRasterPos2sv(IntPtr v) { unsafe { Delegates.glRasterPos2sv((Int16*)v); } } public static void glRasterPos2sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos2sv((Int16*)v_ptr); } } } public static void glRasterPos2sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos2sv((Int16*)v_ptr); } } } public static void glRasterPos3d(Double x, Double y, Double z) { Delegates.glRasterPos3d((Double)x, (Double)y, (Double)z); } public static void glRasterPos3dv(IntPtr v) { unsafe { Delegates.glRasterPos3dv((Double*)v); } } public static void glRasterPos3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos3dv((Double*)v_ptr); } } } public static void glRasterPos3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos3dv((Double*)v_ptr); } } } public static void glRasterPos3f(Single x, Single y, Single z) { Delegates.glRasterPos3f((Single)x, (Single)y, (Single)z); } public static void glRasterPos3fv(IntPtr v) { unsafe { Delegates.glRasterPos3fv((Single*)v); } } public static void glRasterPos3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos3fv((Single*)v_ptr); } } } public static void glRasterPos3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos3fv((Single*)v_ptr); } } } public static void glRasterPos3i(Int32 x, Int32 y, Int32 z) { Delegates.glRasterPos3i((Int32)x, (Int32)y, (Int32)z); } public static void glRasterPos3iv(IntPtr v) { unsafe { Delegates.glRasterPos3iv((Int32*)v); } } public static void glRasterPos3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos3iv((Int32*)v_ptr); } } } public static void glRasterPos3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos3iv((Int32*)v_ptr); } } } public static void glRasterPos3s(Int16 x, Int16 y, Int16 z) { Delegates.glRasterPos3s((Int16)x, (Int16)y, (Int16)z); } public static void glRasterPos3sv(IntPtr v) { unsafe { Delegates.glRasterPos3sv((Int16*)v); } } public static void glRasterPos3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos3sv((Int16*)v_ptr); } } } public static void glRasterPos3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos3sv((Int16*)v_ptr); } } } public static void glRasterPos4d(Double x, Double y, Double z, Double w) { Delegates.glRasterPos4d((Double)x, (Double)y, (Double)z, (Double)w); } public static void glRasterPos4dv(IntPtr v) { unsafe { Delegates.glRasterPos4dv((Double*)v); } } public static void glRasterPos4dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos4dv((Double*)v_ptr); } } } public static void glRasterPos4dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos4dv((Double*)v_ptr); } } } public static void glRasterPos4f(Single x, Single y, Single z, Single w) { Delegates.glRasterPos4f((Single)x, (Single)y, (Single)z, (Single)w); } public static void glRasterPos4fv(IntPtr v) { unsafe { Delegates.glRasterPos4fv((Single*)v); } } public static void glRasterPos4fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos4fv((Single*)v_ptr); } } } public static void glRasterPos4fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos4fv((Single*)v_ptr); } } } public static void glRasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glRasterPos4i((Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glRasterPos4iv(IntPtr v) { unsafe { Delegates.glRasterPos4iv((Int32*)v); } } public static void glRasterPos4iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos4iv((Int32*)v_ptr); } } } public static void glRasterPos4iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos4iv((Int32*)v_ptr); } } } public static void glRasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glRasterPos4s((Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glRasterPos4sv(IntPtr v) { unsafe { Delegates.glRasterPos4sv((Int16*)v); } } public static void glRasterPos4sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos4sv((Int16*)v_ptr); } } } public static void glRasterPos4sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos4sv((Int16*)v_ptr); } } } public static void glRectd(Double x1, Double y1, Double x2, Double y2) { Delegates.glRectd((Double)x1, (Double)y1, (Double)x2, (Double)y2); } public static void glRectdv(IntPtr v1, IntPtr v2) { unsafe { Delegates.glRectdv((Double*)v1, (Double*)v2); } } public static void glRectdv(IntPtr v1, Double[] v2) { unsafe { fixed (Double* v2_ptr = v2) { Delegates.glRectdv((Double*)v1, (Double*)v2_ptr); } } } public static void glRectdv(IntPtr v1, ref Double v2) { unsafe { fixed (Double* v2_ptr = &v2) { Delegates.glRectdv((Double*)v1, (Double*)v2_ptr); } } } public static void glRectdv(Double[] v1, IntPtr v2) { unsafe { fixed (Double* v1_ptr = v1) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2); } } } public static void glRectdv(Double[] v1, Double[] v2) { unsafe { fixed (Double* v1_ptr = v1) fixed (Double* v2_ptr = v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } } public static void glRectdv(Double[] v1, ref Double v2) { unsafe { fixed (Double* v1_ptr = v1) fixed (Double* v2_ptr = &v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } } public static void glRectdv(ref Double v1, IntPtr v2) { unsafe { fixed (Double* v1_ptr = &v1) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2); } } } public static void glRectdv(ref Double v1, Double[] v2) { unsafe { fixed (Double* v1_ptr = &v1) fixed (Double* v2_ptr = v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } } public static void glRectdv(ref Double v1, ref Double v2) { unsafe { fixed (Double* v1_ptr = &v1) fixed (Double* v2_ptr = &v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } } public static void glRectf(Single x1, Single y1, Single x2, Single y2) { Delegates.glRectf((Single)x1, (Single)y1, (Single)x2, (Single)y2); } public static void glRectfv(IntPtr v1, IntPtr v2) { unsafe { Delegates.glRectfv((Single*)v1, (Single*)v2); } } public static void glRectfv(IntPtr v1, Single[] v2) { unsafe { fixed (Single* v2_ptr = v2) { Delegates.glRectfv((Single*)v1, (Single*)v2_ptr); } } } public static void glRectfv(IntPtr v1, ref Single v2) { unsafe { fixed (Single* v2_ptr = &v2) { Delegates.glRectfv((Single*)v1, (Single*)v2_ptr); } } } public static void glRectfv(Single[] v1, IntPtr v2) { unsafe { fixed (Single* v1_ptr = v1) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2); } } } public static void glRectfv(Single[] v1, Single[] v2) { unsafe { fixed (Single* v1_ptr = v1) fixed (Single* v2_ptr = v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } } public static void glRectfv(Single[] v1, ref Single v2) { unsafe { fixed (Single* v1_ptr = v1) fixed (Single* v2_ptr = &v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } } public static void glRectfv(ref Single v1, IntPtr v2) { unsafe { fixed (Single* v1_ptr = &v1) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2); } } } public static void glRectfv(ref Single v1, Single[] v2) { unsafe { fixed (Single* v1_ptr = &v1) fixed (Single* v2_ptr = v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } } public static void glRectfv(ref Single v1, ref Single v2) { unsafe { fixed (Single* v1_ptr = &v1) fixed (Single* v2_ptr = &v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } } public static void glRecti(Int32 x1, Int32 y1, Int32 x2, Int32 y2) { Delegates.glRecti((Int32)x1, (Int32)y1, (Int32)x2, (Int32)y2); } public static void glRectiv(IntPtr v1, IntPtr v2) { unsafe { Delegates.glRectiv((Int32*)v1, (Int32*)v2); } } public static void glRectiv(IntPtr v1, Int32[] v2) { unsafe { fixed (Int32* v2_ptr = v2) { Delegates.glRectiv((Int32*)v1, (Int32*)v2_ptr); } } } public static void glRectiv(IntPtr v1, ref Int32 v2) { unsafe { fixed (Int32* v2_ptr = &v2) { Delegates.glRectiv((Int32*)v1, (Int32*)v2_ptr); } } } public static void glRectiv(Int32[] v1, IntPtr v2) { unsafe { fixed (Int32* v1_ptr = v1) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2); } } } public static void glRectiv(Int32[] v1, Int32[] v2) { unsafe { fixed (Int32* v1_ptr = v1) fixed (Int32* v2_ptr = v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } } public static void glRectiv(Int32[] v1, ref Int32 v2) { unsafe { fixed (Int32* v1_ptr = v1) fixed (Int32* v2_ptr = &v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } } public static void glRectiv(ref Int32 v1, IntPtr v2) { unsafe { fixed (Int32* v1_ptr = &v1) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2); } } } public static void glRectiv(ref Int32 v1, Int32[] v2) { unsafe { fixed (Int32* v1_ptr = &v1) fixed (Int32* v2_ptr = v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } } public static void glRectiv(ref Int32 v1, ref Int32 v2) { unsafe { fixed (Int32* v1_ptr = &v1) fixed (Int32* v2_ptr = &v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } } public static void glRects(Int16 x1, Int16 y1, Int16 x2, Int16 y2) { Delegates.glRects((Int16)x1, (Int16)y1, (Int16)x2, (Int16)y2); } public static void glRectsv(IntPtr v1, IntPtr v2) { unsafe { Delegates.glRectsv((Int16*)v1, (Int16*)v2); } } public static void glRectsv(IntPtr v1, Int16[] v2) { unsafe { fixed (Int16* v2_ptr = v2) { Delegates.glRectsv((Int16*)v1, (Int16*)v2_ptr); } } } public static void glRectsv(IntPtr v1, ref Int16 v2) { unsafe { fixed (Int16* v2_ptr = &v2) { Delegates.glRectsv((Int16*)v1, (Int16*)v2_ptr); } } } public static void glRectsv(Int16[] v1, IntPtr v2) { unsafe { fixed (Int16* v1_ptr = v1) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2); } } } public static void glRectsv(Int16[] v1, Int16[] v2) { unsafe { fixed (Int16* v1_ptr = v1) fixed (Int16* v2_ptr = v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } } public static void glRectsv(Int16[] v1, ref Int16 v2) { unsafe { fixed (Int16* v1_ptr = v1) fixed (Int16* v2_ptr = &v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } } public static void glRectsv(ref Int16 v1, IntPtr v2) { unsafe { fixed (Int16* v1_ptr = &v1) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2); } } } public static void glRectsv(ref Int16 v1, Int16[] v2) { unsafe { fixed (Int16* v1_ptr = &v1) fixed (Int16* v2_ptr = v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } } public static void glRectsv(ref Int16 v1, ref Int16 v2) { unsafe { fixed (Int16* v1_ptr = &v1) fixed (Int16* v2_ptr = &v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } } public static void glTexCoord1d(Double s) { Delegates.glTexCoord1d((Double)s); } public static void glTexCoord1dv(IntPtr v) { unsafe { Delegates.glTexCoord1dv((Double*)v); } } public static void glTexCoord1dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord1dv((Double*)v_ptr); } } } public static void glTexCoord1dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord1dv((Double*)v_ptr); } } } public static void glTexCoord1f(Single s) { Delegates.glTexCoord1f((Single)s); } public static void glTexCoord1fv(IntPtr v) { unsafe { Delegates.glTexCoord1fv((Single*)v); } } public static void glTexCoord1fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord1fv((Single*)v_ptr); } } } public static void glTexCoord1fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord1fv((Single*)v_ptr); } } } public static void glTexCoord1i(Int32 s) { Delegates.glTexCoord1i((Int32)s); } public static void glTexCoord1iv(IntPtr v) { unsafe { Delegates.glTexCoord1iv((Int32*)v); } } public static void glTexCoord1iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord1iv((Int32*)v_ptr); } } } public static void glTexCoord1iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord1iv((Int32*)v_ptr); } } } public static void glTexCoord1s(Int16 s) { Delegates.glTexCoord1s((Int16)s); } public static void glTexCoord1sv(IntPtr v) { unsafe { Delegates.glTexCoord1sv((Int16*)v); } } public static void glTexCoord1sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord1sv((Int16*)v_ptr); } } } public static void glTexCoord1sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord1sv((Int16*)v_ptr); } } } public static void glTexCoord2d(Double s, Double t) { Delegates.glTexCoord2d((Double)s, (Double)t); } public static void glTexCoord2dv(IntPtr v) { unsafe { Delegates.glTexCoord2dv((Double*)v); } } public static void glTexCoord2dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord2dv((Double*)v_ptr); } } } public static void glTexCoord2dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord2dv((Double*)v_ptr); } } } public static void glTexCoord2f(Single s, Single t) { Delegates.glTexCoord2f((Single)s, (Single)t); } public static void glTexCoord2fv(IntPtr v) { unsafe { Delegates.glTexCoord2fv((Single*)v); } } public static void glTexCoord2fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fv((Single*)v_ptr); } } } public static void glTexCoord2fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fv((Single*)v_ptr); } } } public static void glTexCoord2i(Int32 s, Int32 t) { Delegates.glTexCoord2i((Int32)s, (Int32)t); } public static void glTexCoord2iv(IntPtr v) { unsafe { Delegates.glTexCoord2iv((Int32*)v); } } public static void glTexCoord2iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord2iv((Int32*)v_ptr); } } } public static void glTexCoord2iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord2iv((Int32*)v_ptr); } } } public static void glTexCoord2s(Int16 s, Int16 t) { Delegates.glTexCoord2s((Int16)s, (Int16)t); } public static void glTexCoord2sv(IntPtr v) { unsafe { Delegates.glTexCoord2sv((Int16*)v); } } public static void glTexCoord2sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord2sv((Int16*)v_ptr); } } } public static void glTexCoord2sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord2sv((Int16*)v_ptr); } } } public static void glTexCoord3d(Double s, Double t, Double r) { Delegates.glTexCoord3d((Double)s, (Double)t, (Double)r); } public static void glTexCoord3dv(IntPtr v) { unsafe { Delegates.glTexCoord3dv((Double*)v); } } public static void glTexCoord3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord3dv((Double*)v_ptr); } } } public static void glTexCoord3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord3dv((Double*)v_ptr); } } } public static void glTexCoord3f(Single s, Single t, Single r) { Delegates.glTexCoord3f((Single)s, (Single)t, (Single)r); } public static void glTexCoord3fv(IntPtr v) { unsafe { Delegates.glTexCoord3fv((Single*)v); } } public static void glTexCoord3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord3fv((Single*)v_ptr); } } } public static void glTexCoord3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord3fv((Single*)v_ptr); } } } public static void glTexCoord3i(Int32 s, Int32 t, Int32 r) { Delegates.glTexCoord3i((Int32)s, (Int32)t, (Int32)r); } public static void glTexCoord3iv(IntPtr v) { unsafe { Delegates.glTexCoord3iv((Int32*)v); } } public static void glTexCoord3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord3iv((Int32*)v_ptr); } } } public static void glTexCoord3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord3iv((Int32*)v_ptr); } } } public static void glTexCoord3s(Int16 s, Int16 t, Int16 r) { Delegates.glTexCoord3s((Int16)s, (Int16)t, (Int16)r); } public static void glTexCoord3sv(IntPtr v) { unsafe { Delegates.glTexCoord3sv((Int16*)v); } } public static void glTexCoord3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord3sv((Int16*)v_ptr); } } } public static void glTexCoord3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord3sv((Int16*)v_ptr); } } } public static void glTexCoord4d(Double s, Double t, Double r, Double q) { Delegates.glTexCoord4d((Double)s, (Double)t, (Double)r, (Double)q); } public static void glTexCoord4dv(IntPtr v) { unsafe { Delegates.glTexCoord4dv((Double*)v); } } public static void glTexCoord4dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord4dv((Double*)v_ptr); } } } public static void glTexCoord4dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord4dv((Double*)v_ptr); } } } public static void glTexCoord4f(Single s, Single t, Single r, Single q) { Delegates.glTexCoord4f((Single)s, (Single)t, (Single)r, (Single)q); } public static void glTexCoord4fv(IntPtr v) { unsafe { Delegates.glTexCoord4fv((Single*)v); } } public static void glTexCoord4fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord4fv((Single*)v_ptr); } } } public static void glTexCoord4fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fv((Single*)v_ptr); } } } public static void glTexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q) { Delegates.glTexCoord4i((Int32)s, (Int32)t, (Int32)r, (Int32)q); } public static void glTexCoord4iv(IntPtr v) { unsafe { Delegates.glTexCoord4iv((Int32*)v); } } public static void glTexCoord4iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord4iv((Int32*)v_ptr); } } } public static void glTexCoord4iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord4iv((Int32*)v_ptr); } } } public static void glTexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q) { Delegates.glTexCoord4s((Int16)s, (Int16)t, (Int16)r, (Int16)q); } public static void glTexCoord4sv(IntPtr v) { unsafe { Delegates.glTexCoord4sv((Int16*)v); } } public static void glTexCoord4sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord4sv((Int16*)v_ptr); } } } public static void glTexCoord4sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord4sv((Int16*)v_ptr); } } } public static void glVertex2d(Double x, Double y) { Delegates.glVertex2d((Double)x, (Double)y); } public static void glVertex2dv(IntPtr v) { unsafe { Delegates.glVertex2dv((Double*)v); } } public static void glVertex2dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex2dv((Double*)v_ptr); } } } public static void glVertex2dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex2dv((Double*)v_ptr); } } } public static void glVertex2f(Single x, Single y) { Delegates.glVertex2f((Single)x, (Single)y); } public static void glVertex2fv(IntPtr v) { unsafe { Delegates.glVertex2fv((Single*)v); } } public static void glVertex2fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex2fv((Single*)v_ptr); } } } public static void glVertex2fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex2fv((Single*)v_ptr); } } } public static void glVertex2i(Int32 x, Int32 y) { Delegates.glVertex2i((Int32)x, (Int32)y); } public static void glVertex2iv(IntPtr v) { unsafe { Delegates.glVertex2iv((Int32*)v); } } public static void glVertex2iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex2iv((Int32*)v_ptr); } } } public static void glVertex2iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex2iv((Int32*)v_ptr); } } } public static void glVertex2s(Int16 x, Int16 y) { Delegates.glVertex2s((Int16)x, (Int16)y); } public static void glVertex2sv(IntPtr v) { unsafe { Delegates.glVertex2sv((Int16*)v); } } public static void glVertex2sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex2sv((Int16*)v_ptr); } } } public static void glVertex2sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex2sv((Int16*)v_ptr); } } } public static void glVertex3d(Double x, Double y, Double z) { Delegates.glVertex3d((Double)x, (Double)y, (Double)z); } public static void glVertex3dv(IntPtr v) { unsafe { Delegates.glVertex3dv((Double*)v); } } public static void glVertex3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex3dv((Double*)v_ptr); } } } public static void glVertex3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex3dv((Double*)v_ptr); } } } public static void glVertex3f(Single x, Single y, Single z) { Delegates.glVertex3f((Single)x, (Single)y, (Single)z); } public static void glVertex3fv(IntPtr v) { unsafe { Delegates.glVertex3fv((Single*)v); } } public static void glVertex3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex3fv((Single*)v_ptr); } } } public static void glVertex3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex3fv((Single*)v_ptr); } } } public static void glVertex3i(Int32 x, Int32 y, Int32 z) { Delegates.glVertex3i((Int32)x, (Int32)y, (Int32)z); } public static void glVertex3iv(IntPtr v) { unsafe { Delegates.glVertex3iv((Int32*)v); } } public static void glVertex3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex3iv((Int32*)v_ptr); } } } public static void glVertex3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex3iv((Int32*)v_ptr); } } } public static void glVertex3s(Int16 x, Int16 y, Int16 z) { Delegates.glVertex3s((Int16)x, (Int16)y, (Int16)z); } public static void glVertex3sv(IntPtr v) { unsafe { Delegates.glVertex3sv((Int16*)v); } } public static void glVertex3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex3sv((Int16*)v_ptr); } } } public static void glVertex3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex3sv((Int16*)v_ptr); } } } public static void glVertex4d(Double x, Double y, Double z, Double w) { Delegates.glVertex4d((Double)x, (Double)y, (Double)z, (Double)w); } public static void glVertex4dv(IntPtr v) { unsafe { Delegates.glVertex4dv((Double*)v); } } public static void glVertex4dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex4dv((Double*)v_ptr); } } } public static void glVertex4dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex4dv((Double*)v_ptr); } } } public static void glVertex4f(Single x, Single y, Single z, Single w) { Delegates.glVertex4f((Single)x, (Single)y, (Single)z, (Single)w); } public static void glVertex4fv(IntPtr v) { unsafe { Delegates.glVertex4fv((Single*)v); } } public static void glVertex4fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex4fv((Single*)v_ptr); } } } public static void glVertex4fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex4fv((Single*)v_ptr); } } } public static void glVertex4i(Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glVertex4i((Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glVertex4iv(IntPtr v) { unsafe { Delegates.glVertex4iv((Int32*)v); } } public static void glVertex4iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex4iv((Int32*)v_ptr); } } } public static void glVertex4iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex4iv((Int32*)v_ptr); } } } public static void glVertex4s(Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertex4s((Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glVertex4sv(IntPtr v) { unsafe { Delegates.glVertex4sv((Int16*)v); } } public static void glVertex4sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex4sv((Int16*)v_ptr); } } } public static void glVertex4sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex4sv((Int16*)v_ptr); } } } public static void glClipPlane(int plane, IntPtr equation) { unsafe { Delegates.glClipPlane((int)plane, (Double*)equation); } } public static void glClipPlane(int plane, Double[] equation) { unsafe { fixed (Double* equation_ptr = equation) { Delegates.glClipPlane((int)plane, (Double*)equation_ptr); } } } public static void glClipPlane(int plane, ref Double equation) { unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glClipPlane((int)plane, (Double*)equation_ptr); } } } public static void glColorMaterial(int face, int mode) { Delegates.glColorMaterial((int)face, (int)mode); } public static void glCullFace(int mode) { Delegates.glCullFace((int)mode); } public static void glFogf(int pname, Single param) { Delegates.glFogf((int)pname, (Single)param); } public static void glFogfv(int pname, IntPtr @params) { unsafe { Delegates.glFogfv((int)pname, (Single*)@params); } } public static void glFogfv(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFogfv((int)pname, (Single*)@params_ptr); } } } public static void glFogfv(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glFogfv((int)pname, (Single*)@params_ptr); } } } public static void glFogi(int pname, Int32 param) { Delegates.glFogi((int)pname, (Int32)param); } public static void glFogiv(int pname, IntPtr @params) { unsafe { Delegates.glFogiv((int)pname, (Int32*)@params); } } public static void glFogiv(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFogiv((int)pname, (Int32*)@params_ptr); } } } public static void glFogiv(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glFogiv((int)pname, (Int32*)@params_ptr); } } } public static void glFrontFace(int mode) { Delegates.glFrontFace((int)mode); } public static void glHint(int target, int mode) { Delegates.glHint((int)target, (int)mode); } public static void glLightf(int light, int pname, Single param) { Delegates.glLightf((int)light, (int)pname, (Single)param); } public static void glLightfv(int light, int pname, IntPtr @params) { unsafe { Delegates.glLightfv((int)light, (int)pname, (Single*)@params); } } public static void glLightfv(int light, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glLightfv((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glLightfv(int light, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glLightfv((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glLighti(int light, int pname, Int32 param) { Delegates.glLighti((int)light, (int)pname, (Int32)param); } public static void glLightiv(int light, int pname, IntPtr @params) { unsafe { Delegates.glLightiv((int)light, (int)pname, (Int32*)@params); } } public static void glLightiv(int light, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glLightiv((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glLightiv(int light, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glLightiv((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glLightModelf(int pname, Single param) { Delegates.glLightModelf((int)pname, (Single)param); } public static void glLightModelfv(int pname, IntPtr @params) { unsafe { Delegates.glLightModelfv((int)pname, (Single*)@params); } } public static void glLightModelfv(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glLightModelfv((int)pname, (Single*)@params_ptr); } } } public static void glLightModelfv(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glLightModelfv((int)pname, (Single*)@params_ptr); } } } public static void glLightModeli(int pname, Int32 param) { Delegates.glLightModeli((int)pname, (Int32)param); } public static void glLightModeliv(int pname, IntPtr @params) { unsafe { Delegates.glLightModeliv((int)pname, (Int32*)@params); } } public static void glLightModeliv(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glLightModeliv((int)pname, (Int32*)@params_ptr); } } } public static void glLightModeliv(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glLightModeliv((int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glLineStipple(Int32 factor, UInt16 pattern) { unsafe { Delegates.glLineStipple((Int32)factor, (UInt16)pattern); } } public static void glLineStipple(Int32 factor, Int16 pattern) { unsafe { Delegates.glLineStipple((Int32)factor, (UInt16)pattern); } } public static void glLineWidth(Single width) { Delegates.glLineWidth((Single)width); } public static void glMaterialf(int face, int pname, Single param) { Delegates.glMaterialf((int)face, (int)pname, (Single)param); } public static void glMaterialfv(int face, int pname, IntPtr @params) { unsafe { Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params); } } public static void glMaterialfv(int face, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glMaterialfv(int face, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glMateriali(int face, int pname, Int32 param) { Delegates.glMateriali((int)face, (int)pname, (Int32)param); } public static void glMaterialiv(int face, int pname, IntPtr @params) { unsafe { Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params); } } public static void glMaterialiv(int face, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glMaterialiv(int face, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glPointSize(Single size) { Delegates.glPointSize((Single)size); } public static void glPolygonMode(int face, int mode) { Delegates.glPolygonMode((int)face, (int)mode); } public static void glPolygonStipple(IntPtr mask) { unsafe { Delegates.glPolygonStipple((Byte*)mask); } } public static void glPolygonStipple(Byte[] mask) { unsafe { fixed (Byte* mask_ptr = mask) { Delegates.glPolygonStipple((Byte*)mask_ptr); } } } public static void glPolygonStipple(ref Byte mask) { unsafe { fixed (Byte* mask_ptr = &mask) { Delegates.glPolygonStipple((Byte*)mask_ptr); } } } public static void glScissor(Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glScissor((Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glShadeModel(int mode) { Delegates.glShadeModel((int)mode); } public static void glTexParameterf(int target, int pname, Single param) { Delegates.glTexParameterf((int)target, (int)pname, (Single)param); } public static void glTexParameterfv(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glTexParameterfv(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glTexParameterfv(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glTexParameteri(int target, int pname, Int32 param) { Delegates.glTexParameteri((int)target, (int)pname, (Int32)param); } public static void glTexParameteriv(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glTexParameteriv(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexParameteriv(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexEnvf(int target, int pname, Single param) { Delegates.glTexEnvf((int)target, (int)pname, (Single)param); } public static void glTexEnvfv(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params); } } public static void glTexEnvfv(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glTexEnvfv(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glTexEnvi(int target, int pname, Int32 param) { Delegates.glTexEnvi((int)target, (int)pname, (Int32)param); } public static void glTexEnviv(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params); } } public static void glTexEnviv(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexEnviv(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexGend(int coord, int pname, Double param) { Delegates.glTexGend((int)coord, (int)pname, (Double)param); } public static void glTexGendv(int coord, int pname, IntPtr @params) { unsafe { Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params); } } public static void glTexGendv(int coord, int pname, Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params_ptr); } } } public static void glTexGendv(int coord, int pname, ref Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params_ptr); } } } public static void glTexGenf(int coord, int pname, Single param) { Delegates.glTexGenf((int)coord, (int)pname, (Single)param); } public static void glTexGenfv(int coord, int pname, IntPtr @params) { unsafe { Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params); } } public static void glTexGenfv(int coord, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params_ptr); } } } public static void glTexGenfv(int coord, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params_ptr); } } } public static void glTexGeni(int coord, int pname, Int32 param) { Delegates.glTexGeni((int)coord, (int)pname, (Int32)param); } public static void glTexGeniv(int coord, int pname, IntPtr @params) { unsafe { Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params); } } public static void glTexGeniv(int coord, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr); } } } public static void glTexGeniv(int coord, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr); } } } public static void glFeedbackBuffer(Int32 size, int type, [Out] IntPtr buffer) { unsafe { Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer); } } public static void glFeedbackBuffer(Int32 size, int type, [Out] Single[] buffer) { unsafe { fixed (Single* buffer_ptr = buffer) { Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer_ptr); } } } public static void glFeedbackBuffer(Int32 size, int type, [Out] out Single buffer) { unsafe { fixed (Single* buffer_ptr = &buffer) { Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer_ptr); buffer = *buffer_ptr; } } } public static void glSelectBuffer(Int32 size, [Out] IntPtr buffer) { unsafe { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer); } } [System.CLSCompliant(false)] public static void glSelectBuffer(Int32 size, [Out] UInt32[] buffer) { unsafe { fixed (UInt32* buffer_ptr = buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); } } } public static void glSelectBuffer(Int32 size, [Out] Int32[] buffer) { unsafe { fixed (Int32* buffer_ptr = buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); } } } [System.CLSCompliant(false)] public static void glSelectBuffer(Int32 size, [Out] out UInt32 buffer) { unsafe { fixed (UInt32* buffer_ptr = &buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); buffer = *buffer_ptr; } } } public static void glSelectBuffer(Int32 size, [Out] out Int32 buffer) { unsafe { fixed (Int32* buffer_ptr = &buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); buffer = *buffer_ptr; } } } public static Int32 glRenderMode(int mode) { return Delegates.glRenderMode((int)mode); } public static void glInitNames() { Delegates.glInitNames(); } [System.CLSCompliant(false)] public static void glLoadName(UInt32 name) { Delegates.glLoadName((UInt32)name); } public static void glLoadName(Int32 name) { Delegates.glLoadName((UInt32)name); } public static void glPassThrough(Single token) { Delegates.glPassThrough((Single)token); } public static void glPopName() { Delegates.glPopName(); } [System.CLSCompliant(false)] public static void glPushName(UInt32 name) { Delegates.glPushName((UInt32)name); } public static void glPushName(Int32 name) { Delegates.glPushName((UInt32)name); } public static void glDrawBuffer(int mode) { Delegates.glDrawBuffer((int)mode); } public static void glClear(int mask) { Delegates.glClear((int)mask); } public static void glClearAccum(Single red, Single green, Single blue, Single alpha) { Delegates.glClearAccum((Single)red, (Single)green, (Single)blue, (Single)alpha); } public static void glClearIndex(Single c) { Delegates.glClearIndex((Single)c); } public static void glClearColor(Single red, Single green, Single blue, Single alpha) { Delegates.glClearColor((Single)red, (Single)green, (Single)blue, (Single)alpha); } public static void glClearStencil(Int32 s) { Delegates.glClearStencil((Int32)s); } public static void glClearDepth(Double depth) { Delegates.glClearDepth((Double)depth); } [System.CLSCompliant(false)] public static void glStencilMask(UInt32 mask) { Delegates.glStencilMask((UInt32)mask); } public static void glStencilMask(Int32 mask) { Delegates.glStencilMask((UInt32)mask); } public static void glColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glColorMask((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); } public static void glDepthMask(Int32 flag) { Delegates.glDepthMask((Int32)flag); } [System.CLSCompliant(false)] public static void glIndexMask(UInt32 mask) { Delegates.glIndexMask((UInt32)mask); } public static void glIndexMask(Int32 mask) { Delegates.glIndexMask((UInt32)mask); } public static void glAccum(int op, Single value) { Delegates.glAccum((int)op, (Single)value); } public static void glDisable(int cap) { Delegates.glDisable((int)cap); } public static void glEnable(int cap) { Delegates.glEnable((int)cap); } public static void glFinish() { Delegates.glFinish(); } public static void glFlush() { Delegates.glFlush(); } public static void glPopAttrib() { Delegates.glPopAttrib(); } public static void glPushAttrib(int mask) { Delegates.glPushAttrib((int)mask); } public static void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, IntPtr points) { unsafe { Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points); } } public static void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double[] points) { unsafe { fixed (Double* points_ptr = points) { Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } } public static void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, ref Double points) { unsafe { fixed (Double* points_ptr = &points) { Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } } public static void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, IntPtr points) { unsafe { Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points); } } public static void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } } public static void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } } public static void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, IntPtr points) { unsafe { Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points); } } public static void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points) { unsafe { fixed (Double* points_ptr = points) { Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } } public static void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points) { unsafe { fixed (Double* points_ptr = &points) { Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } } public static void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, IntPtr points) { unsafe { Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points); } } public static void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } } public static void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } } public static void glMapGrid1d(Int32 un, Double u1, Double u2) { Delegates.glMapGrid1d((Int32)un, (Double)u1, (Double)u2); } public static void glMapGrid1f(Int32 un, Single u1, Single u2) { Delegates.glMapGrid1f((Int32)un, (Single)u1, (Single)u2); } public static void glMapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2) { Delegates.glMapGrid2d((Int32)un, (Double)u1, (Double)u2, (Int32)vn, (Double)v1, (Double)v2); } public static void glMapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2) { Delegates.glMapGrid2f((Int32)un, (Single)u1, (Single)u2, (Int32)vn, (Single)v1, (Single)v2); } public static void glEvalCoord1d(Double u) { Delegates.glEvalCoord1d((Double)u); } public static void glEvalCoord1dv(IntPtr u) { unsafe { Delegates.glEvalCoord1dv((Double*)u); } } public static void glEvalCoord1dv(Double[] u) { unsafe { fixed (Double* u_ptr = u) { Delegates.glEvalCoord1dv((Double*)u_ptr); } } } public static void glEvalCoord1dv(ref Double u) { unsafe { fixed (Double* u_ptr = &u) { Delegates.glEvalCoord1dv((Double*)u_ptr); } } } public static void glEvalCoord1f(Single u) { Delegates.glEvalCoord1f((Single)u); } public static void glEvalCoord1fv(IntPtr u) { unsafe { Delegates.glEvalCoord1fv((Single*)u); } } public static void glEvalCoord1fv(Single[] u) { unsafe { fixed (Single* u_ptr = u) { Delegates.glEvalCoord1fv((Single*)u_ptr); } } } public static void glEvalCoord1fv(ref Single u) { unsafe { fixed (Single* u_ptr = &u) { Delegates.glEvalCoord1fv((Single*)u_ptr); } } } public static void glEvalCoord2d(Double u, Double v) { Delegates.glEvalCoord2d((Double)u, (Double)v); } public static void glEvalCoord2dv(IntPtr u) { unsafe { Delegates.glEvalCoord2dv((Double*)u); } } public static void glEvalCoord2dv(Double[] u) { unsafe { fixed (Double* u_ptr = u) { Delegates.glEvalCoord2dv((Double*)u_ptr); } } } public static void glEvalCoord2dv(ref Double u) { unsafe { fixed (Double* u_ptr = &u) { Delegates.glEvalCoord2dv((Double*)u_ptr); } } } public static void glEvalCoord2f(Single u, Single v) { Delegates.glEvalCoord2f((Single)u, (Single)v); } public static void glEvalCoord2fv(IntPtr u) { unsafe { Delegates.glEvalCoord2fv((Single*)u); } } public static void glEvalCoord2fv(Single[] u) { unsafe { fixed (Single* u_ptr = u) { Delegates.glEvalCoord2fv((Single*)u_ptr); } } } public static void glEvalCoord2fv(ref Single u) { unsafe { fixed (Single* u_ptr = &u) { Delegates.glEvalCoord2fv((Single*)u_ptr); } } } public static void glEvalMesh1(int mode, Int32 i1, Int32 i2) { Delegates.glEvalMesh1((int)mode, (Int32)i1, (Int32)i2); } public static void glEvalPoint1(Int32 i) { Delegates.glEvalPoint1((Int32)i); } public static void glEvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2) { Delegates.glEvalMesh2((int)mode, (Int32)i1, (Int32)i2, (Int32)j1, (Int32)j2); } public static void glEvalPoint2(Int32 i, Int32 j) { Delegates.glEvalPoint2((Int32)i, (Int32)j); } public static void glAlphaFunc(int func, Single @ref) { Delegates.glAlphaFunc((int)func, (Single)@ref); } public static void glBlendFunc(int sfactor, int dfactor) { Delegates.glBlendFunc((int)sfactor, (int)dfactor); } public static void glLogicOp(int opcode) { Delegates.glLogicOp((int)opcode); } [System.CLSCompliant(false)] public static void glStencilFunc(int func, Int32 @ref, UInt32 mask) { Delegates.glStencilFunc((int)func, (Int32)@ref, (UInt32)mask); } public static void glStencilFunc(int func, Int32 @ref, Int32 mask) { Delegates.glStencilFunc((int)func, (Int32)@ref, (UInt32)mask); } public static void glStencilOp(int fail, int zfail, int zpass) { Delegates.glStencilOp((int)fail, (int)zfail, (int)zpass); } public static void glDepthFunc(int func) { Delegates.glDepthFunc((int)func); } public static void glPixelZoom(Single xfactor, Single yfactor) { Delegates.glPixelZoom((Single)xfactor, (Single)yfactor); } public static void glPixelTransferf(int pname, Single param) { Delegates.glPixelTransferf((int)pname, (Single)param); } public static void glPixelTransferi(int pname, Int32 param) { Delegates.glPixelTransferi((int)pname, (Int32)param); } public static void glPixelStoref(int pname, Single param) { Delegates.glPixelStoref((int)pname, (Single)param); } public static void glPixelStorei(int pname, Int32 param) { Delegates.glPixelStorei((int)pname, (Int32)param); } public static void glPixelMapfv(int map, Int32 mapsize, IntPtr values) { unsafe { Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values); } } public static void glPixelMapfv(int map, Int32 mapsize, Single[] values) { unsafe { fixed (Single* values_ptr = values) { Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values_ptr); } } } public static void glPixelMapfv(int map, Int32 mapsize, ref Single values) { unsafe { fixed (Single* values_ptr = &values) { Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values_ptr); } } } public static void glPixelMapuiv(int map, Int32 mapsize, IntPtr values) { unsafe { Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values); } } [System.CLSCompliant(false)] public static void glPixelMapuiv(int map, Int32 mapsize, UInt32[] values) { unsafe { fixed (UInt32* values_ptr = values) { Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr); } } } public static void glPixelMapuiv(int map, Int32 mapsize, Int32[] values) { unsafe { fixed (Int32* values_ptr = values) { Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr); } } } [System.CLSCompliant(false)] public static void glPixelMapuiv(int map, Int32 mapsize, ref UInt32 values) { unsafe { fixed (UInt32* values_ptr = &values) { Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr); } } } public static void glPixelMapuiv(int map, Int32 mapsize, ref Int32 values) { unsafe { fixed (Int32* values_ptr = &values) { Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr); } } } public static void glPixelMapusv(int map, Int32 mapsize, IntPtr values) { unsafe { Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values); } } [System.CLSCompliant(false)] public static void glPixelMapusv(int map, Int32 mapsize, UInt16[] values) { unsafe { fixed (UInt16* values_ptr = values) { Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr); } } } public static void glPixelMapusv(int map, Int32 mapsize, Int16[] values) { unsafe { fixed (Int16* values_ptr = values) { Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr); } } } [System.CLSCompliant(false)] public static void glPixelMapusv(int map, Int32 mapsize, ref UInt16 values) { unsafe { fixed (UInt16* values_ptr = &values) { Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr); } } } public static void glPixelMapusv(int map, Int32 mapsize, ref Int16 values) { unsafe { fixed (Int16* values_ptr = &values) { Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr); } } } public static void glReadBuffer(int mode) { Delegates.glReadBuffer((int)mode); } public static void glCopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type) { Delegates.glCopyPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)type); } public static void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels) { unsafe { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels); } } public static void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glDrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels) { unsafe { Delegates.glDrawPixels((Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels); } } public static void glDrawPixels(Int32 width, Int32 height, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawPixels((Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glGetBooleanv(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetBooleanv((int)pname, (Int32*)@params); } } public static void glGetBooleanv(int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetBooleanv((int)pname, (Int32*)@params_ptr); } } } public static void glGetBooleanv(int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetBooleanv((int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetClipPlane(int plane, [Out] IntPtr equation) { unsafe { Delegates.glGetClipPlane((int)plane, (Double*)equation); } } public static void glGetClipPlane(int plane, [Out] Double[] equation) { unsafe { fixed (Double* equation_ptr = equation) { Delegates.glGetClipPlane((int)plane, (Double*)equation_ptr); } } } public static void glGetClipPlane(int plane, [Out] out Double equation) { unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glGetClipPlane((int)plane, (Double*)equation_ptr); equation = *equation_ptr; } } } public static void glGetDoublev(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetDoublev((int)pname, (Double*)@params); } } public static void glGetDoublev(int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetDoublev((int)pname, (Double*)@params_ptr); } } } public static void glGetDoublev(int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetDoublev((int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static int glGetError() { return Delegates.glGetError(); } public static void glGetFloatv(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFloatv((int)pname, (Single*)@params); } } public static void glGetFloatv(int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFloatv((int)pname, (Single*)@params_ptr); } } } public static void glGetFloatv(int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFloatv((int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetIntegerv(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetIntegerv((int)pname, (Int32*)@params); } } public static void glGetIntegerv(int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetIntegerv((int)pname, (Int32*)@params_ptr); } } } public static void glGetIntegerv(int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetIntegerv((int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetLightfv(int light, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params); } } public static void glGetLightfv(int light, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glGetLightfv(int light, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetLightiv(int light, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params); } } public static void glGetLightiv(int light, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glGetLightiv(int light, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMapdv(int target, int query, [Out] IntPtr v) { unsafe { Delegates.glGetMapdv((int)target, (int)query, (Double*)v); } } public static void glGetMapdv(int target, int query, [Out] Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glGetMapdv((int)target, (int)query, (Double*)v_ptr); } } } public static void glGetMapdv(int target, int query, [Out] out Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glGetMapdv((int)target, (int)query, (Double*)v_ptr); v = *v_ptr; } } } public static void glGetMapfv(int target, int query, [Out] IntPtr v) { unsafe { Delegates.glGetMapfv((int)target, (int)query, (Single*)v); } } public static void glGetMapfv(int target, int query, [Out] Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glGetMapfv((int)target, (int)query, (Single*)v_ptr); } } } public static void glGetMapfv(int target, int query, [Out] out Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glGetMapfv((int)target, (int)query, (Single*)v_ptr); v = *v_ptr; } } } public static void glGetMapiv(int target, int query, [Out] IntPtr v) { unsafe { Delegates.glGetMapiv((int)target, (int)query, (Int32*)v); } } public static void glGetMapiv(int target, int query, [Out] Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glGetMapiv((int)target, (int)query, (Int32*)v_ptr); } } } public static void glGetMapiv(int target, int query, [Out] out Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glGetMapiv((int)target, (int)query, (Int32*)v_ptr); v = *v_ptr; } } } public static void glGetMaterialfv(int face, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params); } } public static void glGetMaterialfv(int face, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glGetMaterialfv(int face, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMaterialiv(int face, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params); } } public static void glGetMaterialiv(int face, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glGetMaterialiv(int face, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetPixelMapfv(int map, [Out] IntPtr values) { unsafe { Delegates.glGetPixelMapfv((int)map, (Single*)values); } } public static void glGetPixelMapfv(int map, [Out] Single[] values) { unsafe { fixed (Single* values_ptr = values) { Delegates.glGetPixelMapfv((int)map, (Single*)values_ptr); } } } public static void glGetPixelMapfv(int map, [Out] out Single values) { unsafe { fixed (Single* values_ptr = &values) { Delegates.glGetPixelMapfv((int)map, (Single*)values_ptr); values = *values_ptr; } } } public static void glGetPixelMapuiv(int map, [Out] IntPtr values) { unsafe { Delegates.glGetPixelMapuiv((int)map, (UInt32*)values); } } [System.CLSCompliant(false)] public static void glGetPixelMapuiv(int map, [Out] UInt32[] values) { unsafe { fixed (UInt32* values_ptr = values) { Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr); } } } public static void glGetPixelMapuiv(int map, [Out] Int32[] values) { unsafe { fixed (Int32* values_ptr = values) { Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr); } } } [System.CLSCompliant(false)] public static void glGetPixelMapuiv(int map, [Out] out UInt32 values) { unsafe { fixed (UInt32* values_ptr = &values) { Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr); values = *values_ptr; } } } public static void glGetPixelMapuiv(int map, [Out] out Int32 values) { unsafe { fixed (Int32* values_ptr = &values) { Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr); values = *values_ptr; } } } public static void glGetPixelMapusv(int map, [Out] IntPtr values) { unsafe { Delegates.glGetPixelMapusv((int)map, (UInt16*)values); } } [System.CLSCompliant(false)] public static void glGetPixelMapusv(int map, [Out] UInt16[] values) { unsafe { fixed (UInt16* values_ptr = values) { Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr); } } } public static void glGetPixelMapusv(int map, [Out] Int16[] values) { unsafe { fixed (Int16* values_ptr = values) { Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr); } } } [System.CLSCompliant(false)] public static void glGetPixelMapusv(int map, [Out] out UInt16 values) { unsafe { fixed (UInt16* values_ptr = &values) { Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr); values = *values_ptr; } } } public static void glGetPixelMapusv(int map, [Out] out Int16 values) { unsafe { fixed (Int16* values_ptr = &values) { Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr); values = *values_ptr; } } } public static void glGetPolygonStipple([Out] IntPtr mask) { unsafe { Delegates.glGetPolygonStipple((Byte*)mask); } } public static void glGetPolygonStipple([Out] Byte[] mask) { unsafe { fixed (Byte* mask_ptr = mask) { Delegates.glGetPolygonStipple((Byte*)mask_ptr); } } } public static void glGetPolygonStipple([Out] out Byte mask) { unsafe { fixed (Byte* mask_ptr = &mask) { Delegates.glGetPolygonStipple((Byte*)mask_ptr); mask = *mask_ptr; } } } public static string glGetString(int name) { unsafe { return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetString((int)name)); } } public static void glGetTexEnvfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params); } } public static void glGetTexEnvfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetTexEnvfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexEnviv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params); } } public static void glGetTexEnviv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTexEnviv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexGendv(int coord, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params); } } public static void glGetTexGendv(int coord, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params_ptr); } } } public static void glGetTexGendv(int coord, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexGenfv(int coord, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params); } } public static void glGetTexGenfv(int coord, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params_ptr); } } } public static void glGetTexGenfv(int coord, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexGeniv(int coord, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params); } } public static void glGetTexGeniv(int coord, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTexGeniv(int coord, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels) { unsafe { Delegates.glGetTexImage((int)target, (Int32)level, (int)format, (int)type, (IntPtr)pixels); } } public static void glGetTexImage(int target, Int32 level, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetTexImage((int)target, (Int32)level, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glGetTexParameterfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glGetTexParameterfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetTexParameterfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetTexParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTexParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params); } } public static void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params_ptr); } } } public static void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params); } } public static void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static Int32 glIsEnabled(int cap) { return Delegates.glIsEnabled((int)cap); } [System.CLSCompliant(false)] public static Int32 glIsList(UInt32 list) { return Delegates.glIsList((UInt32)list); } public static Int32 glIsList(Int32 list) { return Delegates.glIsList((UInt32)list); } public static void glDepthRange(Double near, Double far) { Delegates.glDepthRange((Double)near, (Double)far); } public static void glFrustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { Delegates.glFrustum((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); } public static void glLoadIdentity() { Delegates.glLoadIdentity(); } public static void glLoadMatrixf(IntPtr m) { unsafe { Delegates.glLoadMatrixf((Single*)m); } } public static void glLoadMatrixf(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadMatrixf((Single*)m_ptr); } } } public static void glLoadMatrixf(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadMatrixf((Single*)m_ptr); } } } public static void glLoadMatrixd(IntPtr m) { unsafe { Delegates.glLoadMatrixd((Double*)m); } } public static void glLoadMatrixd(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadMatrixd((Double*)m_ptr); } } } public static void glLoadMatrixd(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadMatrixd((Double*)m_ptr); } } } public static void glMatrixMode(int mode) { Delegates.glMatrixMode((int)mode); } public static void glMultMatrixf(IntPtr m) { unsafe { Delegates.glMultMatrixf((Single*)m); } } public static void glMultMatrixf(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glMultMatrixf((Single*)m_ptr); } } } public static void glMultMatrixf(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultMatrixf((Single*)m_ptr); } } } public static void glMultMatrixd(IntPtr m) { unsafe { Delegates.glMultMatrixd((Double*)m); } } public static void glMultMatrixd(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glMultMatrixd((Double*)m_ptr); } } } public static void glMultMatrixd(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultMatrixd((Double*)m_ptr); } } } public static void glOrtho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { Delegates.glOrtho((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); } public static void glPopMatrix() { Delegates.glPopMatrix(); } public static void glPushMatrix() { Delegates.glPushMatrix(); } public static void glRotated(Double angle, Double x, Double y, Double z) { Delegates.glRotated((Double)angle, (Double)x, (Double)y, (Double)z); } public static void glRotatef(Single angle, Single x, Single y, Single z) { Delegates.glRotatef((Single)angle, (Single)x, (Single)y, (Single)z); } public static void glScaled(Double x, Double y, Double z) { Delegates.glScaled((Double)x, (Double)y, (Double)z); } public static void glScalef(Single x, Single y, Single z) { Delegates.glScalef((Single)x, (Single)y, (Single)z); } public static void glTranslated(Double x, Double y, Double z) { Delegates.glTranslated((Double)x, (Double)y, (Double)z); } public static void glTranslatef(Single x, Single y, Single z) { Delegates.glTranslatef((Single)x, (Single)y, (Single)z); } public static void glViewport(Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glViewport((Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glArrayElement(Int32 i) { Delegates.glArrayElement((Int32)i); } public static void glColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glColorPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glDisableClientState(int array) { Delegates.glDisableClientState((int)array); } public static void glDrawArrays(int mode, Int32 first, Int32 count) { Delegates.glDrawArrays((int)mode, (Int32)first, (Int32)count); } public static void glDrawElements(int mode, Int32 count, int type, IntPtr indices) { unsafe { Delegates.glDrawElements((int)mode, (Int32)count, (int)type, (IntPtr)indices); } } public static void glDrawElements(int mode, Int32 count, int type, [In, Out] object indices) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawElements((int)mode, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } } } public static void glEdgeFlagPointer(Int32 stride, IntPtr pointer) { unsafe { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer); } } public static void glEdgeFlagPointer(Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glEnableClientState(int array) { Delegates.glEnableClientState((int)array); } public static void glGetPointerv(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetPointerv((int)pname, (IntPtr)@params); } } public static void glGetPointerv(int pname, [In, Out] object @params) { unsafe { System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetPointerv((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } } } public static void glIndexPointer(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glIndexPointer((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glIndexPointer(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glIndexPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glInterleavedArrays(int format, Int32 stride, IntPtr pointer) { unsafe { Delegates.glInterleavedArrays((int)format, (Int32)stride, (IntPtr)pointer); } } public static void glInterleavedArrays(int format, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glInterleavedArrays((int)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glNormalPointer(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glNormalPointer((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glNormalPointer(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glNormalPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glTexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glTexCoordPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glTexCoordPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexCoordPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glVertexPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glPolygonOffset(Single factor, Single units) { Delegates.glPolygonOffset((Single)factor, (Single)units); } public static void glCopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { Delegates.glCopyTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); } public static void glCopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { Delegates.glCopyTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); } public static void glCopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { Delegates.glCopyTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); } public static void glCopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] IntPtr residences) { unsafe { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences); } } public static Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] Int32[] residences) { unsafe { fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] out Int32 residences) { unsafe { fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] IntPtr residences) { unsafe { fixed (UInt32* textures_ptr = textures) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } public static Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] IntPtr residences) { unsafe { fixed (Int32* textures_ptr = textures) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] Int32[] residences) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] Int32[] residences) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] out Int32 residences) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] out Int32 residences) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] IntPtr residences) { unsafe { fixed (UInt32* textures_ptr = &textures) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } public static Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] IntPtr residences) { unsafe { fixed (Int32* textures_ptr = &textures) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] Int32[] residences) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] Int32[] residences) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] out Int32 residences) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] out Int32 residences) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static void glBindTexture(int target, UInt32 texture) { Delegates.glBindTexture((int)target, (UInt32)texture); } public static void glBindTexture(int target, Int32 texture) { Delegates.glBindTexture((int)target, (UInt32)texture); } public static void glDeleteTextures(Int32 n, IntPtr textures) { unsafe { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures); } } [System.CLSCompliant(false)] public static void glDeleteTextures(Int32 n, UInt32[] textures) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } } public static void glDeleteTextures(Int32 n, Int32[] textures) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteTextures(Int32 n, ref UInt32 textures) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } } public static void glDeleteTextures(Int32 n, ref Int32 textures) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } } public static void glGenTextures(Int32 n, [Out] IntPtr textures) { unsafe { Delegates.glGenTextures((Int32)n, (UInt32*)textures); } } [System.CLSCompliant(false)] public static void glGenTextures(Int32 n, [Out] UInt32[] textures) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); } } } public static void glGenTextures(Int32 n, [Out] Int32[] textures) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); } } } [System.CLSCompliant(false)] public static void glGenTextures(Int32 n, [Out] out UInt32 textures) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } } public static void glGenTextures(Int32 n, [Out] out Int32 textures) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsTexture(UInt32 texture) { return Delegates.glIsTexture((UInt32)texture); } public static Int32 glIsTexture(Int32 texture) { return Delegates.glIsTexture((UInt32)texture); } public static void glPrioritizeTextures(Int32 n, IntPtr textures, IntPtr priorities) { unsafe { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities); } } public static void glPrioritizeTextures(Int32 n, IntPtr textures, Single[] priorities) { unsafe { fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities_ptr); } } } public static void glPrioritizeTextures(Int32 n, IntPtr textures, ref Single priorities) { unsafe { fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, UInt32[] textures, IntPtr priorities) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } public static void glPrioritizeTextures(Int32 n, Int32[] textures, IntPtr priorities) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, UInt32[] textures, ref Single priorities) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTextures(Int32 n, Int32[] textures, ref Single priorities) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, ref UInt32 textures, IntPtr priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } public static void glPrioritizeTextures(Int32 n, ref Int32 textures, IntPtr priorities) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, ref UInt32 textures, Single[] priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTextures(Int32 n, ref Int32 textures, Single[] priorities) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glIndexub(Byte c) { Delegates.glIndexub((Byte)c); } public static void glIndexubv(IntPtr c) { unsafe { Delegates.glIndexubv((Byte*)c); } } public static void glIndexubv(Byte[] c) { unsafe { fixed (Byte* c_ptr = c) { Delegates.glIndexubv((Byte*)c_ptr); } } } public static void glIndexubv(ref Byte c) { unsafe { fixed (Byte* c_ptr = &c) { Delegates.glIndexubv((Byte*)c_ptr); } } } public static void glPopClientAttrib() { Delegates.glPopClientAttrib(); } public static void glPushClientAttrib(int mask) { Delegates.glPushClientAttrib((int)mask); } public static void glBlendColor(Single red, Single green, Single blue, Single alpha) { Delegates.glBlendColor((Single)red, (Single)green, (Single)blue, (Single)alpha); } public static void glBlendEquation(int mode) { Delegates.glBlendEquation((int)mode); } [System.CLSCompliant(false)] public static void glDrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices) { unsafe { Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices); } } public static void glDrawRangeElements(int mode, Int32 start, Int32 end, Int32 count, int type, IntPtr indices) { unsafe { Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices); } } [System.CLSCompliant(false)] public static void glDrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, [In, Out] object indices) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } } } public static void glDrawRangeElements(int mode, Int32 start, Int32 end, Int32 count, int type, [In, Out] object indices) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } } } public static void glColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table) { unsafe { Delegates.glColorTable((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table); } } public static void glColorTable(int target, int internalformat, Int32 width, int format, int type, [In, Out] object table) { unsafe { System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorTable((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } } } public static void glColorTableParameterfv(int target, int pname, IntPtr @params) { unsafe { Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glColorTableParameterfv(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glColorTableParameterfv(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glColorTableParameteriv(int target, int pname, IntPtr @params) { unsafe { Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glColorTableParameteriv(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glColorTableParameteriv(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glCopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width) { Delegates.glCopyColorTable((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width); } public static void glGetColorTable(int target, int format, int type, [Out] IntPtr table) { unsafe { Delegates.glGetColorTable((int)target, (int)format, (int)type, (IntPtr)table); } } public static void glGetColorTable(int target, int format, int type, [In, Out] object table) { unsafe { System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetColorTable((int)target, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } } } public static void glGetColorTableParameterfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glGetColorTableParameterfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetColorTableParameterfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetColorTableParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetColorTableParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetColorTableParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data) { unsafe { Delegates.glColorSubTable((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data); } } public static void glColorSubTable(int target, Int32 start, Int32 count, int format, int type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorSubTable((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width) { Delegates.glCopyColorSubTable((int)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width); } public static void glConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image) { unsafe { Delegates.glConvolutionFilter1D((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image); } } public static void glConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glConvolutionFilter1D((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image) { unsafe { Delegates.glConvolutionFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image); } } public static void glConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glConvolutionFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glConvolutionParameterf(int target, int pname, Single @params) { Delegates.glConvolutionParameterf((int)target, (int)pname, (Single)@params); } public static void glConvolutionParameterfv(int target, int pname, IntPtr @params) { unsafe { Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glConvolutionParameterfv(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glConvolutionParameterfv(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glConvolutionParameteri(int target, int pname, Int32 @params) { Delegates.glConvolutionParameteri((int)target, (int)pname, (Int32)@params); } public static void glConvolutionParameteriv(int target, int pname, IntPtr @params) { unsafe { Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glConvolutionParameteriv(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glConvolutionParameteriv(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glCopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width) { Delegates.glCopyConvolutionFilter1D((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width); } public static void glCopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyConvolutionFilter2D((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glGetConvolutionFilter(int target, int format, int type, [Out] IntPtr image) { unsafe { Delegates.glGetConvolutionFilter((int)target, (int)format, (int)type, (IntPtr)image); } } public static void glGetConvolutionFilter(int target, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetConvolutionFilter((int)target, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glGetConvolutionParameterfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glGetConvolutionParameterfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetConvolutionParameterfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetConvolutionParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetConvolutionParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetConvolutionParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span) { unsafe { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span); } } public static void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span); } finally { column_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span); } finally { row_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); span_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [In, Out] object column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span); } finally { row_ptr.Free(); column_ptr.Free(); } } } public static void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [In, Out] object column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } } } public static void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column) { unsafe { Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column); } } public static void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, [In, Out] object column) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } } } public static void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, IntPtr column) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column); } finally { row_ptr.Free(); } } } public static void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, [In, Out] object column) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } } } public static void glGetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values) { unsafe { Delegates.glGetHistogram((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values); } } public static void glGetHistogram(int target, Int32 reset, int format, int type, [In, Out] object values) { unsafe { System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetHistogram((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } } } public static void glGetHistogramParameterfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glGetHistogramParameterfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetHistogramParameterfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetHistogramParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetHistogramParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetHistogramParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values) { unsafe { Delegates.glGetMinmax((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values); } } public static void glGetMinmax(int target, Int32 reset, int format, int type, [In, Out] object values) { unsafe { System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetMinmax((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } } } public static void glGetMinmaxParameterfv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params); } } public static void glGetMinmaxParameterfv(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetMinmaxParameterfv(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMinmaxParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetMinmaxParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetMinmaxParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glHistogram(int target, Int32 width, int internalformat, Int32 sink) { Delegates.glHistogram((int)target, (Int32)width, (int)internalformat, (Int32)sink); } public static void glMinmax(int target, int internalformat, Int32 sink) { Delegates.glMinmax((int)target, (int)internalformat, (Int32)sink); } public static void glResetHistogram(int target) { Delegates.glResetHistogram((int)target); } public static void glResetMinmax(int target) { Delegates.glResetMinmax((int)target); } public static void glTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glCopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glActiveTexture(int texture) { Delegates.glActiveTexture((int)texture); } public static void glClientActiveTexture(int texture) { Delegates.glClientActiveTexture((int)texture); } public static void glMultiTexCoord1d(int target, Double s) { Delegates.glMultiTexCoord1d((int)target, (Double)s); } public static void glMultiTexCoord1dv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1dv((int)target, (Double*)v); } } public static void glMultiTexCoord1dv(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord1dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord1dv(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord1dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord1f(int target, Single s) { Delegates.glMultiTexCoord1f((int)target, (Single)s); } public static void glMultiTexCoord1fv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1fv((int)target, (Single*)v); } } public static void glMultiTexCoord1fv(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord1fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord1fv(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord1fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord1i(int target, Int32 s) { Delegates.glMultiTexCoord1i((int)target, (Int32)s); } public static void glMultiTexCoord1iv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1iv((int)target, (Int32*)v); } } public static void glMultiTexCoord1iv(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord1iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord1iv(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord1iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord1s(int target, Int16 s) { Delegates.glMultiTexCoord1s((int)target, (Int16)s); } public static void glMultiTexCoord1sv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1sv((int)target, (Int16*)v); } } public static void glMultiTexCoord1sv(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord1sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord1sv(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord1sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord2d(int target, Double s, Double t) { Delegates.glMultiTexCoord2d((int)target, (Double)s, (Double)t); } public static void glMultiTexCoord2dv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2dv((int)target, (Double*)v); } } public static void glMultiTexCoord2dv(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord2dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord2dv(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord2dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord2f(int target, Single s, Single t) { Delegates.glMultiTexCoord2f((int)target, (Single)s, (Single)t); } public static void glMultiTexCoord2fv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2fv((int)target, (Single*)v); } } public static void glMultiTexCoord2fv(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord2fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord2fv(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord2fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord2i(int target, Int32 s, Int32 t) { Delegates.glMultiTexCoord2i((int)target, (Int32)s, (Int32)t); } public static void glMultiTexCoord2iv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2iv((int)target, (Int32*)v); } } public static void glMultiTexCoord2iv(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord2iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord2iv(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord2iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord2s(int target, Int16 s, Int16 t) { Delegates.glMultiTexCoord2s((int)target, (Int16)s, (Int16)t); } public static void glMultiTexCoord2sv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2sv((int)target, (Int16*)v); } } public static void glMultiTexCoord2sv(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord2sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord2sv(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord2sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord3d(int target, Double s, Double t, Double r) { Delegates.glMultiTexCoord3d((int)target, (Double)s, (Double)t, (Double)r); } public static void glMultiTexCoord3dv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3dv((int)target, (Double*)v); } } public static void glMultiTexCoord3dv(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord3dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord3dv(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord3dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord3f(int target, Single s, Single t, Single r) { Delegates.glMultiTexCoord3f((int)target, (Single)s, (Single)t, (Single)r); } public static void glMultiTexCoord3fv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3fv((int)target, (Single*)v); } } public static void glMultiTexCoord3fv(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord3fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord3fv(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord3fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r) { Delegates.glMultiTexCoord3i((int)target, (Int32)s, (Int32)t, (Int32)r); } public static void glMultiTexCoord3iv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3iv((int)target, (Int32*)v); } } public static void glMultiTexCoord3iv(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord3iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord3iv(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord3iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r) { Delegates.glMultiTexCoord3s((int)target, (Int16)s, (Int16)t, (Int16)r); } public static void glMultiTexCoord3sv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3sv((int)target, (Int16*)v); } } public static void glMultiTexCoord3sv(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord3sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord3sv(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord3sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord4d(int target, Double s, Double t, Double r, Double q) { Delegates.glMultiTexCoord4d((int)target, (Double)s, (Double)t, (Double)r, (Double)q); } public static void glMultiTexCoord4dv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4dv((int)target, (Double*)v); } } public static void glMultiTexCoord4dv(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord4dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord4dv(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord4dv((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord4f(int target, Single s, Single t, Single r, Single q) { Delegates.glMultiTexCoord4f((int)target, (Single)s, (Single)t, (Single)r, (Single)q); } public static void glMultiTexCoord4fv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4fv((int)target, (Single*)v); } } public static void glMultiTexCoord4fv(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord4fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord4fv(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord4fv((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q) { Delegates.glMultiTexCoord4i((int)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q); } public static void glMultiTexCoord4iv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4iv((int)target, (Int32*)v); } } public static void glMultiTexCoord4iv(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord4iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord4iv(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord4iv((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q) { Delegates.glMultiTexCoord4s((int)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q); } public static void glMultiTexCoord4sv(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4sv((int)target, (Int16*)v); } } public static void glMultiTexCoord4sv(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord4sv((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord4sv(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord4sv((int)target, (Int16*)v_ptr); } } } public static void glLoadTransposeMatrixf(IntPtr m) { unsafe { Delegates.glLoadTransposeMatrixf((Single*)m); } } public static void glLoadTransposeMatrixf(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadTransposeMatrixf((Single*)m_ptr); } } } public static void glLoadTransposeMatrixf(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadTransposeMatrixf((Single*)m_ptr); } } } public static void glLoadTransposeMatrixd(IntPtr m) { unsafe { Delegates.glLoadTransposeMatrixd((Double*)m); } } public static void glLoadTransposeMatrixd(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadTransposeMatrixd((Double*)m_ptr); } } } public static void glLoadTransposeMatrixd(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadTransposeMatrixd((Double*)m_ptr); } } } public static void glMultTransposeMatrixf(IntPtr m) { unsafe { Delegates.glMultTransposeMatrixf((Single*)m); } } public static void glMultTransposeMatrixf(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glMultTransposeMatrixf((Single*)m_ptr); } } } public static void glMultTransposeMatrixf(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultTransposeMatrixf((Single*)m_ptr); } } } public static void glMultTransposeMatrixd(IntPtr m) { unsafe { Delegates.glMultTransposeMatrixd((Double*)m); } } public static void glMultTransposeMatrixd(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glMultTransposeMatrixd((Double*)m_ptr); } } } public static void glMultTransposeMatrixd(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultTransposeMatrixd((Double*)m_ptr); } } } public static void glSampleCoverage(Single value, Int32 invert) { Delegates.glSampleCoverage((Single)value, (Int32)invert); } public static void glCompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetCompressedTexImage(int target, Int32 level, [Out] IntPtr img) { unsafe { Delegates.glGetCompressedTexImage((int)target, (Int32)level, (IntPtr)img); } } public static void glGetCompressedTexImage(int target, Int32 level, [In, Out] object img) { unsafe { System.Runtime.InteropServices.GCHandle img_ptr = System.Runtime.InteropServices.GCHandle.Alloc(img, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetCompressedTexImage((int)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } } } public static void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { Delegates.glBlendFuncSeparate((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha); } public static void glFogCoordf(Single coord) { Delegates.glFogCoordf((Single)coord); } public static void glFogCoordfv(IntPtr coord) { unsafe { Delegates.glFogCoordfv((Single*)coord); } } public static void glFogCoordfv(Single[] coord) { unsafe { fixed (Single* coord_ptr = coord) { Delegates.glFogCoordfv((Single*)coord_ptr); } } } public static void glFogCoordfv(ref Single coord) { unsafe { fixed (Single* coord_ptr = &coord) { Delegates.glFogCoordfv((Single*)coord_ptr); } } } public static void glFogCoordd(Double coord) { Delegates.glFogCoordd((Double)coord); } public static void glFogCoorddv(IntPtr coord) { unsafe { Delegates.glFogCoorddv((Double*)coord); } } public static void glFogCoorddv(Double[] coord) { unsafe { fixed (Double* coord_ptr = coord) { Delegates.glFogCoorddv((Double*)coord_ptr); } } } public static void glFogCoorddv(ref Double coord) { unsafe { fixed (Double* coord_ptr = &coord) { Delegates.glFogCoorddv((Double*)coord_ptr); } } } public static void glFogCoordPointer(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glFogCoordPointer((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glFogCoordPointer(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glFogCoordPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] IntPtr count, Int32 primcount) { unsafe { Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount); } } public static void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); count = *count_ptr; } } } public static void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); count = *count_ptr; } } } public static void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); first = *first_ptr; } } } public static void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; } } } public static void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; count = *count_ptr; } } } public static void glMultiDrawElements(int mode, IntPtr count, int type, IntPtr indices, Int32 primcount) { unsafe { Delegates.glMultiDrawElements((int)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount); } } public static void glMultiDrawElements(int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElements((int)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } public static void glMultiDrawElements(int mode, Int32[] count, int type, IntPtr indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount); } } } public static void glMultiDrawElements(int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } } public static void glMultiDrawElements(int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount); } } } public static void glMultiDrawElements(int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } } public static void glPointParameterf(int pname, Single param) { Delegates.glPointParameterf((int)pname, (Single)param); } public static void glPointParameterfv(int pname, IntPtr @params) { unsafe { Delegates.glPointParameterfv((int)pname, (Single*)@params); } } public static void glPointParameterfv(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfv((int)pname, (Single*)@params_ptr); } } } public static void glPointParameterfv(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPointParameterfv((int)pname, (Single*)@params_ptr); } } } public static void glPointParameteri(int pname, Int32 param) { Delegates.glPointParameteri((int)pname, (Int32)param); } public static void glPointParameteriv(int pname, IntPtr @params) { unsafe { Delegates.glPointParameteriv((int)pname, (Int32*)@params); } } public static void glPointParameteriv(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPointParameteriv((int)pname, (Int32*)@params_ptr); } } } public static void glPointParameteriv(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glPointParameteriv((int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3b(SByte red, SByte green, SByte blue) { Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue); } public static void glSecondaryColor3b(Byte red, Byte green, Byte blue) { Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue); } public static void glSecondaryColor3bv(IntPtr v) { unsafe { Delegates.glSecondaryColor3bv((SByte*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3bv(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } } public static void glSecondaryColor3bv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3bv(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } } public static void glSecondaryColor3bv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } } public static void glSecondaryColor3d(Double red, Double green, Double blue) { Delegates.glSecondaryColor3d((Double)red, (Double)green, (Double)blue); } public static void glSecondaryColor3dv(IntPtr v) { unsafe { Delegates.glSecondaryColor3dv((Double*)v); } } public static void glSecondaryColor3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glSecondaryColor3dv((Double*)v_ptr); } } } public static void glSecondaryColor3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glSecondaryColor3dv((Double*)v_ptr); } } } public static void glSecondaryColor3f(Single red, Single green, Single blue) { Delegates.glSecondaryColor3f((Single)red, (Single)green, (Single)blue); } public static void glSecondaryColor3fv(IntPtr v) { unsafe { Delegates.glSecondaryColor3fv((Single*)v); } } public static void glSecondaryColor3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glSecondaryColor3fv((Single*)v_ptr); } } } public static void glSecondaryColor3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glSecondaryColor3fv((Single*)v_ptr); } } } public static void glSecondaryColor3i(Int32 red, Int32 green, Int32 blue) { Delegates.glSecondaryColor3i((Int32)red, (Int32)green, (Int32)blue); } public static void glSecondaryColor3iv(IntPtr v) { unsafe { Delegates.glSecondaryColor3iv((Int32*)v); } } public static void glSecondaryColor3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3iv((Int32*)v_ptr); } } } public static void glSecondaryColor3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3iv((Int32*)v_ptr); } } } public static void glSecondaryColor3s(Int16 red, Int16 green, Int16 blue) { Delegates.glSecondaryColor3s((Int16)red, (Int16)green, (Int16)blue); } public static void glSecondaryColor3sv(IntPtr v) { unsafe { Delegates.glSecondaryColor3sv((Int16*)v); } } public static void glSecondaryColor3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3sv((Int16*)v_ptr); } } } public static void glSecondaryColor3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3sv((Int16*)v_ptr); } } } public static void glSecondaryColor3ub(Byte red, Byte green, Byte blue) { Delegates.glSecondaryColor3ub((Byte)red, (Byte)green, (Byte)blue); } public static void glSecondaryColor3ubv(IntPtr v) { unsafe { Delegates.glSecondaryColor3ubv((Byte*)v); } } public static void glSecondaryColor3ubv(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3ubv((Byte*)v_ptr); } } } public static void glSecondaryColor3ubv(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3ubv((Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue) { Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glSecondaryColor3ui(Int32 red, Int32 green, Int32 blue) { Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glSecondaryColor3uiv(IntPtr v) { unsafe { Delegates.glSecondaryColor3uiv((UInt32*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3uiv(UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } } public static void glSecondaryColor3uiv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3uiv(ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } } public static void glSecondaryColor3uiv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue) { Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3us(Int16 red, Int16 green, Int16 blue) { Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3usv(IntPtr v) { unsafe { Delegates.glSecondaryColor3usv((UInt16*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3usv(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } } public static void glSecondaryColor3usv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3usv(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } } public static void glSecondaryColor3usv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } } public static void glSecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glSecondaryColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glSecondaryColorPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSecondaryColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glWindowPos2d(Double x, Double y) { Delegates.glWindowPos2d((Double)x, (Double)y); } public static void glWindowPos2dv(IntPtr v) { unsafe { Delegates.glWindowPos2dv((Double*)v); } } public static void glWindowPos2dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dv((Double*)v_ptr); } } } public static void glWindowPos2dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dv((Double*)v_ptr); } } } public static void glWindowPos2f(Single x, Single y) { Delegates.glWindowPos2f((Single)x, (Single)y); } public static void glWindowPos2fv(IntPtr v) { unsafe { Delegates.glWindowPos2fv((Single*)v); } } public static void glWindowPos2fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fv((Single*)v_ptr); } } } public static void glWindowPos2fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fv((Single*)v_ptr); } } } public static void glWindowPos2i(Int32 x, Int32 y) { Delegates.glWindowPos2i((Int32)x, (Int32)y); } public static void glWindowPos2iv(IntPtr v) { unsafe { Delegates.glWindowPos2iv((Int32*)v); } } public static void glWindowPos2iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2iv((Int32*)v_ptr); } } } public static void glWindowPos2iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2iv((Int32*)v_ptr); } } } public static void glWindowPos2s(Int16 x, Int16 y) { Delegates.glWindowPos2s((Int16)x, (Int16)y); } public static void glWindowPos2sv(IntPtr v) { unsafe { Delegates.glWindowPos2sv((Int16*)v); } } public static void glWindowPos2sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2sv((Int16*)v_ptr); } } } public static void glWindowPos2sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2sv((Int16*)v_ptr); } } } public static void glWindowPos3d(Double x, Double y, Double z) { Delegates.glWindowPos3d((Double)x, (Double)y, (Double)z); } public static void glWindowPos3dv(IntPtr v) { unsafe { Delegates.glWindowPos3dv((Double*)v); } } public static void glWindowPos3dv(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dv((Double*)v_ptr); } } } public static void glWindowPos3dv(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dv((Double*)v_ptr); } } } public static void glWindowPos3f(Single x, Single y, Single z) { Delegates.glWindowPos3f((Single)x, (Single)y, (Single)z); } public static void glWindowPos3fv(IntPtr v) { unsafe { Delegates.glWindowPos3fv((Single*)v); } } public static void glWindowPos3fv(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fv((Single*)v_ptr); } } } public static void glWindowPos3fv(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fv((Single*)v_ptr); } } } public static void glWindowPos3i(Int32 x, Int32 y, Int32 z) { Delegates.glWindowPos3i((Int32)x, (Int32)y, (Int32)z); } public static void glWindowPos3iv(IntPtr v) { unsafe { Delegates.glWindowPos3iv((Int32*)v); } } public static void glWindowPos3iv(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3iv((Int32*)v_ptr); } } } public static void glWindowPos3iv(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3iv((Int32*)v_ptr); } } } public static void glWindowPos3s(Int16 x, Int16 y, Int16 z) { Delegates.glWindowPos3s((Int16)x, (Int16)y, (Int16)z); } public static void glWindowPos3sv(IntPtr v) { unsafe { Delegates.glWindowPos3sv((Int16*)v); } } public static void glWindowPos3sv(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3sv((Int16*)v_ptr); } } } public static void glWindowPos3sv(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3sv((Int16*)v_ptr); } } } public static void glGenQueries(Int32 n, [Out] IntPtr ids) { unsafe { Delegates.glGenQueries((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glGenQueries(Int32 n, [Out] UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); } } } public static void glGenQueries(Int32 n, [Out] Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glGenQueries(Int32 n, [Out] out UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glGenQueries(Int32 n, [Out] out Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glDeleteQueries(Int32 n, IntPtr ids) { unsafe { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glDeleteQueries(Int32 n, UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteQueries(Int32 n, Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteQueries(Int32 n, ref UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteQueries(Int32 n, ref Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static Int32 glIsQuery(UInt32 id) { return Delegates.glIsQuery((UInt32)id); } public static Int32 glIsQuery(Int32 id) { return Delegates.glIsQuery((UInt32)id); } [System.CLSCompliant(false)] public static void glBeginQuery(int target, UInt32 id) { Delegates.glBeginQuery((int)target, (UInt32)id); } public static void glBeginQuery(int target, Int32 id) { Delegates.glBeginQuery((int)target, (UInt32)id); } public static void glEndQuery(int target) { Delegates.glEndQuery((int)target); } public static void glGetQueryiv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params); } } public static void glGetQueryiv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetQueryiv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetQueryObjectiv(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params); } } public static void glGetQueryObjectiv(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjectiv(UInt32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } public static void glGetQueryObjectiv(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjectiv(UInt32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjectiv(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetQueryObjectuiv(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params); } } public static void glGetQueryObjectuiv(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetQueryObjectuiv(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjectuiv(UInt32 id, int pname, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjectuiv(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glBindBuffer(int target, UInt32 buffer) { Delegates.glBindBuffer((int)target, (UInt32)buffer); } public static void glBindBuffer(int target, Int32 buffer) { Delegates.glBindBuffer((int)target, (UInt32)buffer); } public static void glDeleteBuffers(Int32 n, IntPtr buffers) { unsafe { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers); } } [System.CLSCompliant(false)] public static void glDeleteBuffers(Int32 n, UInt32[] buffers) { unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } } public static void glDeleteBuffers(Int32 n, Int32[] buffers) { unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteBuffers(Int32 n, ref UInt32 buffers) { unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } } public static void glDeleteBuffers(Int32 n, ref Int32 buffers) { unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } } public static void glGenBuffers(Int32 n, [Out] IntPtr buffers) { unsafe { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers); } } [System.CLSCompliant(false)] public static void glGenBuffers(Int32 n, [Out] UInt32[] buffers) { unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); } } } public static void glGenBuffers(Int32 n, [Out] Int32[] buffers) { unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); } } } [System.CLSCompliant(false)] public static void glGenBuffers(Int32 n, [Out] out UInt32 buffers) { unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } } public static void glGenBuffers(Int32 n, [Out] out Int32 buffers) { unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsBuffer(UInt32 buffer) { return Delegates.glIsBuffer((UInt32)buffer); } public static Int32 glIsBuffer(Int32 buffer) { return Delegates.glIsBuffer((UInt32)buffer); } public static void glBufferData(int target, IntPtr size, IntPtr data, int usage) { unsafe { Delegates.glBufferData((int)target, (IntPtr)size, (IntPtr)data, (int)usage); } } public static void glBufferData(int target, IntPtr size, [In, Out] object data, int usage) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glBufferData((int)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (int)usage); } finally { data_ptr.Free(); } } } public static void glBufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data) { unsafe { Delegates.glBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); } } public static void glBufferSubData(int target, IntPtr offset, IntPtr size, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data) { unsafe { Delegates.glGetBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); } } public static void glGetBufferSubData(int target, IntPtr offset, IntPtr size, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static IntPtr glMapBuffer(int target, int access) { return Delegates.glMapBuffer((int)target, (int)access); } public static Int32 glUnmapBuffer(int target) { return Delegates.glUnmapBuffer((int)target); } public static void glGetBufferParameteriv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params); } } public static void glGetBufferParameteriv(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetBufferParameteriv(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetBufferPointerv(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetBufferPointerv((int)target, (int)pname, (IntPtr)@params); } } public static void glGetBufferPointerv(int target, int pname, [In, Out] object @params) { unsafe { System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetBufferPointerv((int)target, (int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } } } public static void glBlendEquationSeparate(int modeRGB, int modeAlpha) { Delegates.glBlendEquationSeparate((int)modeRGB, (int)modeAlpha); } public static void glDrawBuffers(Int32 n, IntPtr bufs) { unsafe { Delegates.glDrawBuffers((Int32)n, (int*)bufs); } } public static void glDrawBuffers(Int32 n, int[] bufs) { unsafe { fixed (int* bufs_ptr = bufs) { Delegates.glDrawBuffers((Int32)n, (int*)bufs_ptr); } } } public static void glDrawBuffers(Int32 n, ref int bufs) { unsafe { fixed (int* bufs_ptr = &bufs) { Delegates.glDrawBuffers((Int32)n, (int*)bufs_ptr); } } } public static void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass) { Delegates.glStencilOpSeparate((int)face, (int)sfail, (int)dpfail, (int)dppass); } [System.CLSCompliant(false)] public static void glStencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask) { Delegates.glStencilFuncSeparate((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask); } public static void glStencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, Int32 mask) { Delegates.glStencilFuncSeparate((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask); } [System.CLSCompliant(false)] public static void glStencilMaskSeparate(int face, UInt32 mask) { Delegates.glStencilMaskSeparate((int)face, (UInt32)mask); } public static void glStencilMaskSeparate(int face, Int32 mask) { Delegates.glStencilMaskSeparate((int)face, (UInt32)mask); } [System.CLSCompliant(false)] public static void glAttachShader(UInt32 program, UInt32 shader) { Delegates.glAttachShader((UInt32)program, (UInt32)shader); } public static void glAttachShader(Int32 program, Int32 shader) { Delegates.glAttachShader((UInt32)program, (UInt32)shader); } [System.CLSCompliant(false)] public static void glBindAttribLocation(UInt32 program, UInt32 index, System.String name) { Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (System.String)name); } public static void glBindAttribLocation(Int32 program, Int32 index, System.String name) { Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (System.String)name); } [System.CLSCompliant(false)] public static void glCompileShader(UInt32 shader) { Delegates.glCompileShader((UInt32)shader); } public static void glCompileShader(Int32 shader) { Delegates.glCompileShader((UInt32)shader); } public static Int32 glCreateProgram() { return Delegates.glCreateProgram(); } public static Int32 glCreateShader(int type) { return Delegates.glCreateShader((int)type); } [System.CLSCompliant(false)] public static void glDeleteProgram(UInt32 program) { Delegates.glDeleteProgram((UInt32)program); } public static void glDeleteProgram(Int32 program) { Delegates.glDeleteProgram((UInt32)program); } [System.CLSCompliant(false)] public static void glDeleteShader(UInt32 shader) { Delegates.glDeleteShader((UInt32)shader); } public static void glDeleteShader(Int32 shader) { Delegates.glDeleteShader((UInt32)shader); } [System.CLSCompliant(false)] public static void glDetachShader(UInt32 program, UInt32 shader) { Delegates.glDetachShader((UInt32)program, (UInt32)shader); } public static void glDetachShader(Int32 program, Int32 shader) { Delegates.glDetachShader((UInt32)program, (UInt32)shader); } [System.CLSCompliant(false)] public static void glDisableVertexAttribArray(UInt32 index) { Delegates.glDisableVertexAttribArray((UInt32)index); } public static void glDisableVertexAttribArray(Int32 index) { Delegates.glDisableVertexAttribArray((UInt32)index); } [System.CLSCompliant(false)] public static void glEnableVertexAttribArray(UInt32 index) { Delegates.glEnableVertexAttribArray((UInt32)index); } public static void glEnableVertexAttribArray(Int32 index) { Delegates.glEnableVertexAttribArray((UInt32)index); } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj) { unsafe { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj); } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj) { unsafe { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj); } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] UInt32[] obj) { unsafe { fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] Int32[] obj) { unsafe { fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] out UInt32 obj) { unsafe { fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); obj = *obj_ptr; } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] out Int32 obj) { unsafe { fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] UInt32[] obj) { unsafe { fixed (Int32* count_ptr = count) fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] Int32[] obj) { unsafe { fixed (Int32* count_ptr = count) fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] out UInt32 obj) { unsafe { fixed (Int32* count_ptr = count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); obj = *obj_ptr; } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] out Int32 obj) { unsafe { fixed (Int32* count_ptr = count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); count = *count_ptr; } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); count = *count_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] UInt32[] obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] Int32[] obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } } public static void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static Int32 glGetAttribLocation(UInt32 program, System.String name) { return Delegates.glGetAttribLocation((UInt32)program, (System.String)name); } public static Int32 glGetAttribLocation(Int32 program, System.String name) { return Delegates.glGetAttribLocation((UInt32)program, (System.String)name); } [System.CLSCompliant(false)] public static void glGetProgramiv(UInt32 program, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params); } } public static void glGetProgramiv(Int32 program, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramiv(UInt32 program, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr); } } } public static void glGetProgramiv(Int32 program, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramiv(UInt32 program, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramiv(Int32 program, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); } } public static void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); } } [System.CLSCompliant(false)] public static void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } public static void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } [System.CLSCompliant(false)] public static void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } public static void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetShaderiv(UInt32 shader, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params); } } public static void glGetShaderiv(Int32 shader, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetShaderiv(UInt32 shader, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr); } } } public static void glGetShaderiv(Int32 shader, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetShaderiv(UInt32 shader, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetShaderiv(Int32 shader, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); } } public static void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); } } [System.CLSCompliant(false)] public static void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } public static void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } [System.CLSCompliant(false)] public static void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } public static void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source) { unsafe { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder[])source); } } public static void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source) { unsafe { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder[])source); } } [System.CLSCompliant(false)] public static void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source); } } } public static void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source); } } } [System.CLSCompliant(false)] public static void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source); length = *length_ptr; } } } public static void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source); length = *length_ptr; } } } [System.CLSCompliant(false)] public static Int32 glGetUniformLocation(UInt32 program, System.String name) { return Delegates.glGetUniformLocation((UInt32)program, (System.String)name); } public static Int32 glGetUniformLocation(Int32 program, System.String name) { return Delegates.glGetUniformLocation((UInt32)program, (System.String)name); } [System.CLSCompliant(false)] public static void glGetUniformfv(UInt32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params); } } public static void glGetUniformfv(Int32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetUniformfv(UInt32 program, Int32 location, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); } } } public static void glGetUniformfv(Int32 program, Int32 location, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetUniformfv(UInt32 program, Int32 location, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetUniformfv(Int32 program, Int32 location, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetUniformiv(UInt32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params); } } public static void glGetUniformiv(Int32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetUniformiv(UInt32 program, Int32 location, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); } } } public static void glGetUniformiv(Int32 program, Int32 location, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetUniformiv(UInt32 program, Int32 location, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetUniformiv(Int32 program, Int32 location, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdv(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params); } } public static void glGetVertexAttribdv(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribdv(UInt32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr); } } } public static void glGetVertexAttribdv(Int32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdv(UInt32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribdv(Int32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfv(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params); } } public static void glGetVertexAttribfv(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribfv(UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetVertexAttribfv(Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfv(UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribfv(Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribiv(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetVertexAttribiv(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribiv(UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVertexAttribiv(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribiv(UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribiv(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer); } } public static void glGetVertexAttribPointerv(Int32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointerv(UInt32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glGetVertexAttribPointerv(Int32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static Int32 glIsProgram(UInt32 program) { return Delegates.glIsProgram((UInt32)program); } public static Int32 glIsProgram(Int32 program) { return Delegates.glIsProgram((UInt32)program); } [System.CLSCompliant(false)] public static Int32 glIsShader(UInt32 shader) { return Delegates.glIsShader((UInt32)shader); } public static Int32 glIsShader(Int32 shader) { return Delegates.glIsShader((UInt32)shader); } [System.CLSCompliant(false)] public static void glLinkProgram(UInt32 program) { Delegates.glLinkProgram((UInt32)program); } public static void glLinkProgram(Int32 program) { Delegates.glLinkProgram((UInt32)program); } [System.CLSCompliant(false)] public static void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, IntPtr length) { unsafe { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length); } } public static void glShaderSource(Int32 shader, Int32 count, System.String[] @string, IntPtr length) { unsafe { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length); } } [System.CLSCompliant(false)] public static void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32[] length) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } public static void glShaderSource(Int32 shader, Int32 count, System.String[] @string, Int32[] length) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } [System.CLSCompliant(false)] public static void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, ref Int32 length) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } public static void glShaderSource(Int32 shader, Int32 count, System.String[] @string, ref Int32 length) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } [System.CLSCompliant(false)] public static void glUseProgram(UInt32 program) { Delegates.glUseProgram((UInt32)program); } public static void glUseProgram(Int32 program) { Delegates.glUseProgram((UInt32)program); } public static void glUniform1f(Int32 location, Single v0) { Delegates.glUniform1f((Int32)location, (Single)v0); } public static void glUniform2f(Int32 location, Single v0, Single v1) { Delegates.glUniform2f((Int32)location, (Single)v0, (Single)v1); } public static void glUniform3f(Int32 location, Single v0, Single v1, Single v2) { Delegates.glUniform3f((Int32)location, (Single)v0, (Single)v1, (Single)v2); } public static void glUniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3) { Delegates.glUniform4f((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); } public static void glUniform1i(Int32 location, Int32 v0) { Delegates.glUniform1i((Int32)location, (Int32)v0); } public static void glUniform2i(Int32 location, Int32 v0, Int32 v1) { Delegates.glUniform2i((Int32)location, (Int32)v0, (Int32)v1); } public static void glUniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2) { Delegates.glUniform3i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); } public static void glUniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { Delegates.glUniform4i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); } public static void glUniform1fv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform1fv(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform1fv(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform2fv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform2fv(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform2fv(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform3fv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform3fv(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform3fv(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform4fv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform4fv(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform4fv(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform1iv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform1iv(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform1iv(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform2iv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform2iv(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform2iv(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform3iv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform3iv(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform3iv(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform4iv(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform4iv(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform4iv(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } [System.CLSCompliant(false)] public static void glValidateProgram(UInt32 program) { Delegates.glValidateProgram((UInt32)program); } public static void glValidateProgram(Int32 program) { Delegates.glValidateProgram((UInt32)program); } [System.CLSCompliant(false)] public static void glVertexAttrib1d(UInt32 index, Double x) { Delegates.glVertexAttrib1d((UInt32)index, (Double)x); } public static void glVertexAttrib1d(Int32 index, Double x) { Delegates.glVertexAttrib1d((UInt32)index, (Double)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1dv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v); } } public static void glVertexAttrib1dv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1dv(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dv(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1dv(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dv(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1f(UInt32 index, Single x) { Delegates.glVertexAttrib1f((UInt32)index, (Single)x); } public static void glVertexAttrib1f(Int32 index, Single x) { Delegates.glVertexAttrib1f((UInt32)index, (Single)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1fv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v); } } public static void glVertexAttrib1fv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1fv(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fv(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1fv(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fv(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1s(UInt32 index, Int16 x) { Delegates.glVertexAttrib1s((UInt32)index, (Int16)x); } public static void glVertexAttrib1s(Int32 index, Int16 x) { Delegates.glVertexAttrib1s((UInt32)index, (Int16)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1sv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v); } } public static void glVertexAttrib1sv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1sv(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1sv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1sv(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1sv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2d(UInt32 index, Double x, Double y) { Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y); } public static void glVertexAttrib2d(Int32 index, Double x, Double y) { Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2dv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v); } } public static void glVertexAttrib2dv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2dv(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dv(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2dv(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dv(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2f(UInt32 index, Single x, Single y) { Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y); } public static void glVertexAttrib2f(Int32 index, Single x, Single y) { Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2fv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v); } } public static void glVertexAttrib2fv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2fv(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fv(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2fv(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fv(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2s(UInt32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y); } public static void glVertexAttrib2s(Int32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2sv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v); } } public static void glVertexAttrib2sv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2sv(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2sv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2sv(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2sv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3d(UInt32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z); } public static void glVertexAttrib3d(Int32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3dv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v); } } public static void glVertexAttrib3dv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3dv(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dv(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3dv(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dv(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3f(UInt32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z); } public static void glVertexAttrib3f(Int32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3fv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v); } } public static void glVertexAttrib3fv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3fv(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fv(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3fv(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fv(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } public static void glVertexAttrib3s(Int32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3sv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v); } } public static void glVertexAttrib3sv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3sv(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3sv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3sv(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3sv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nbv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v); } } public static void glVertexAttrib4Nbv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nbv(UInt32 index, SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4Nbv(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nbv(UInt32 index, ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4Nbv(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Niv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v); } } public static void glVertexAttrib4Niv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Niv(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4Niv(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Niv(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4Niv(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nsv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v); } } public static void glVertexAttrib4Nsv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nsv(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4Nsv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nsv(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4Nsv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } public static void glVertexAttrib4Nub(Int32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4Nubv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v); } } public static void glVertexAttrib4Nubv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nubv(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4Nubv(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nubv(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4Nubv(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nuiv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v); } } public static void glVertexAttrib4Nuiv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nuiv(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4Nuiv(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nuiv(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4Nuiv(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nusv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib4Nusv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nusv(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4Nusv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4Nusv(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4Nusv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4bv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v); } } public static void glVertexAttrib4bv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4bv(UInt32 index, SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4bv(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4bv(UInt32 index, ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4bv(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glVertexAttrib4d(Int32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4dv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v); } } public static void glVertexAttrib4dv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4dv(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dv(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4dv(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dv(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glVertexAttrib4f(Int32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4fv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v); } } public static void glVertexAttrib4fv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4fv(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fv(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4fv(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fv(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4iv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v); } } public static void glVertexAttrib4iv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4iv(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4iv(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4iv(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4iv(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glVertexAttrib4s(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4sv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v); } } public static void glVertexAttrib4sv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4sv(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4sv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4sv(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4sv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v); } } public static void glVertexAttrib4ubv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubv(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubv(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubv(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubv(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4uiv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v); } } public static void glVertexAttrib4uiv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4uiv(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4uiv(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4uiv(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4uiv(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4usv(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib4usv(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4usv(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4usv(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4usv(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4usv(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer); } } public static void glVertexAttribPointer(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glVertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexAttribPointer(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glActiveTextureARB(int texture) { Delegates.glActiveTextureARB((int)texture); } public static void glClientActiveTextureARB(int texture) { Delegates.glClientActiveTextureARB((int)texture); } public static void glMultiTexCoord1dARB(int target, Double s) { Delegates.glMultiTexCoord1dARB((int)target, (Double)s); } public static void glMultiTexCoord1dvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v); } } public static void glMultiTexCoord1dvARB(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord1dvARB(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord1fARB(int target, Single s) { Delegates.glMultiTexCoord1fARB((int)target, (Single)s); } public static void glMultiTexCoord1fvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v); } } public static void glMultiTexCoord1fvARB(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord1fvARB(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord1iARB(int target, Int32 s) { Delegates.glMultiTexCoord1iARB((int)target, (Int32)s); } public static void glMultiTexCoord1ivARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v); } } public static void glMultiTexCoord1ivARB(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord1ivARB(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord1sARB(int target, Int16 s) { Delegates.glMultiTexCoord1sARB((int)target, (Int16)s); } public static void glMultiTexCoord1svARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v); } } public static void glMultiTexCoord1svARB(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord1svARB(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord2dARB(int target, Double s, Double t) { Delegates.glMultiTexCoord2dARB((int)target, (Double)s, (Double)t); } public static void glMultiTexCoord2dvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v); } } public static void glMultiTexCoord2dvARB(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord2dvARB(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord2fARB(int target, Single s, Single t) { Delegates.glMultiTexCoord2fARB((int)target, (Single)s, (Single)t); } public static void glMultiTexCoord2fvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v); } } public static void glMultiTexCoord2fvARB(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord2fvARB(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord2iARB(int target, Int32 s, Int32 t) { Delegates.glMultiTexCoord2iARB((int)target, (Int32)s, (Int32)t); } public static void glMultiTexCoord2ivARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v); } } public static void glMultiTexCoord2ivARB(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord2ivARB(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord2sARB(int target, Int16 s, Int16 t) { Delegates.glMultiTexCoord2sARB((int)target, (Int16)s, (Int16)t); } public static void glMultiTexCoord2svARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v); } } public static void glMultiTexCoord2svARB(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord2svARB(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord3dARB(int target, Double s, Double t, Double r) { Delegates.glMultiTexCoord3dARB((int)target, (Double)s, (Double)t, (Double)r); } public static void glMultiTexCoord3dvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v); } } public static void glMultiTexCoord3dvARB(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord3dvARB(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord3fARB(int target, Single s, Single t, Single r) { Delegates.glMultiTexCoord3fARB((int)target, (Single)s, (Single)t, (Single)r); } public static void glMultiTexCoord3fvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v); } } public static void glMultiTexCoord3fvARB(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord3fvARB(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord3iARB(int target, Int32 s, Int32 t, Int32 r) { Delegates.glMultiTexCoord3iARB((int)target, (Int32)s, (Int32)t, (Int32)r); } public static void glMultiTexCoord3ivARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v); } } public static void glMultiTexCoord3ivARB(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord3ivARB(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord3sARB(int target, Int16 s, Int16 t, Int16 r) { Delegates.glMultiTexCoord3sARB((int)target, (Int16)s, (Int16)t, (Int16)r); } public static void glMultiTexCoord3svARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v); } } public static void glMultiTexCoord3svARB(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord3svARB(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord4dARB(int target, Double s, Double t, Double r, Double q) { Delegates.glMultiTexCoord4dARB((int)target, (Double)s, (Double)t, (Double)r, (Double)q); } public static void glMultiTexCoord4dvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v); } } public static void glMultiTexCoord4dvARB(int target, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord4dvARB(int target, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v_ptr); } } } public static void glMultiTexCoord4fARB(int target, Single s, Single t, Single r, Single q) { Delegates.glMultiTexCoord4fARB((int)target, (Single)s, (Single)t, (Single)r, (Single)q); } public static void glMultiTexCoord4fvARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v); } } public static void glMultiTexCoord4fvARB(int target, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord4fvARB(int target, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v_ptr); } } } public static void glMultiTexCoord4iARB(int target, Int32 s, Int32 t, Int32 r, Int32 q) { Delegates.glMultiTexCoord4iARB((int)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q); } public static void glMultiTexCoord4ivARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v); } } public static void glMultiTexCoord4ivARB(int target, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord4ivARB(int target, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v_ptr); } } } public static void glMultiTexCoord4sARB(int target, Int16 s, Int16 t, Int16 r, Int16 q) { Delegates.glMultiTexCoord4sARB((int)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q); } public static void glMultiTexCoord4svARB(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v); } } public static void glMultiTexCoord4svARB(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v_ptr); } } } public static void glMultiTexCoord4svARB(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v_ptr); } } } public static void glLoadTransposeMatrixfARB(IntPtr m) { unsafe { Delegates.glLoadTransposeMatrixfARB((Single*)m); } } public static void glLoadTransposeMatrixfARB(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr); } } } public static void glLoadTransposeMatrixfARB(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr); } } } public static void glLoadTransposeMatrixdARB(IntPtr m) { unsafe { Delegates.glLoadTransposeMatrixdARB((Double*)m); } } public static void glLoadTransposeMatrixdARB(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr); } } } public static void glLoadTransposeMatrixdARB(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr); } } } public static void glMultTransposeMatrixfARB(IntPtr m) { unsafe { Delegates.glMultTransposeMatrixfARB((Single*)m); } } public static void glMultTransposeMatrixfARB(Single[] m) { unsafe { fixed (Single* m_ptr = m) { Delegates.glMultTransposeMatrixfARB((Single*)m_ptr); } } } public static void glMultTransposeMatrixfARB(ref Single m) { unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultTransposeMatrixfARB((Single*)m_ptr); } } } public static void glMultTransposeMatrixdARB(IntPtr m) { unsafe { Delegates.glMultTransposeMatrixdARB((Double*)m); } } public static void glMultTransposeMatrixdARB(Double[] m) { unsafe { fixed (Double* m_ptr = m) { Delegates.glMultTransposeMatrixdARB((Double*)m_ptr); } } } public static void glMultTransposeMatrixdARB(ref Double m) { unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultTransposeMatrixdARB((Double*)m_ptr); } } } public static void glSampleCoverageARB(Single value, Int32 invert) { Delegates.glSampleCoverageARB((Single)value, (Int32)invert); } public static void glCompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage3DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage3DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage2DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage2DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexImage1DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexImage1DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage3DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage2DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data) { unsafe { Delegates.glCompressedTexSubImage1DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data); } } public static void glCompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetCompressedTexImageARB(int target, Int32 level, [Out] IntPtr img) { unsafe { Delegates.glGetCompressedTexImageARB((int)target, (Int32)level, (IntPtr)img); } } public static void glGetCompressedTexImageARB(int target, Int32 level, [In, Out] object img) { unsafe { System.Runtime.InteropServices.GCHandle img_ptr = System.Runtime.InteropServices.GCHandle.Alloc(img, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetCompressedTexImageARB((int)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } } } public static void glPointParameterfARB(int pname, Single param) { Delegates.glPointParameterfARB((int)pname, (Single)param); } public static void glPointParameterfvARB(int pname, IntPtr @params) { unsafe { Delegates.glPointParameterfvARB((int)pname, (Single*)@params); } } public static void glPointParameterfvARB(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvARB((int)pname, (Single*)@params_ptr); } } } public static void glPointParameterfvARB(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPointParameterfvARB((int)pname, (Single*)@params_ptr); } } } public static void glWeightbvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightbvARB((Int32)size, (SByte*)weights); } } [System.CLSCompliant(false)] public static void glWeightbvARB(Int32 size, SByte[] weights) { unsafe { fixed (SByte* weights_ptr = weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } } public static void glWeightbvARB(Int32 size, Byte[] weights) { unsafe { fixed (Byte* weights_ptr = weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } } [System.CLSCompliant(false)] public static void glWeightbvARB(Int32 size, ref SByte weights) { unsafe { fixed (SByte* weights_ptr = &weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } } public static void glWeightbvARB(Int32 size, ref Byte weights) { unsafe { fixed (Byte* weights_ptr = &weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } } public static void glWeightsvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightsvARB((Int32)size, (Int16*)weights); } } public static void glWeightsvARB(Int32 size, Int16[] weights) { unsafe { fixed (Int16* weights_ptr = weights) { Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr); } } } public static void glWeightsvARB(Int32 size, ref Int16 weights) { unsafe { fixed (Int16* weights_ptr = &weights) { Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr); } } } public static void glWeightivARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightivARB((Int32)size, (Int32*)weights); } } public static void glWeightivARB(Int32 size, Int32[] weights) { unsafe { fixed (Int32* weights_ptr = weights) { Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr); } } } public static void glWeightivARB(Int32 size, ref Int32 weights) { unsafe { fixed (Int32* weights_ptr = &weights) { Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr); } } } public static void glWeightfvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightfvARB((Int32)size, (Single*)weights); } } public static void glWeightfvARB(Int32 size, Single[] weights) { unsafe { fixed (Single* weights_ptr = weights) { Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr); } } } public static void glWeightfvARB(Int32 size, ref Single weights) { unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr); } } } public static void glWeightdvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightdvARB((Int32)size, (Double*)weights); } } public static void glWeightdvARB(Int32 size, Double[] weights) { unsafe { fixed (Double* weights_ptr = weights) { Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr); } } } public static void glWeightdvARB(Int32 size, ref Double weights) { unsafe { fixed (Double* weights_ptr = &weights) { Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr); } } } public static void glWeightubvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightubvARB((Int32)size, (Byte*)weights); } } public static void glWeightubvARB(Int32 size, Byte[] weights) { unsafe { fixed (Byte* weights_ptr = weights) { Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr); } } } public static void glWeightubvARB(Int32 size, ref Byte weights) { unsafe { fixed (Byte* weights_ptr = &weights) { Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr); } } } public static void glWeightusvARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights); } } [System.CLSCompliant(false)] public static void glWeightusvARB(Int32 size, UInt16[] weights) { unsafe { fixed (UInt16* weights_ptr = weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } } public static void glWeightusvARB(Int32 size, Int16[] weights) { unsafe { fixed (Int16* weights_ptr = weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } } [System.CLSCompliant(false)] public static void glWeightusvARB(Int32 size, ref UInt16 weights) { unsafe { fixed (UInt16* weights_ptr = &weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } } public static void glWeightusvARB(Int32 size, ref Int16 weights) { unsafe { fixed (Int16* weights_ptr = &weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } } public static void glWeightuivARB(Int32 size, IntPtr weights) { unsafe { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights); } } [System.CLSCompliant(false)] public static void glWeightuivARB(Int32 size, UInt32[] weights) { unsafe { fixed (UInt32* weights_ptr = weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } } public static void glWeightuivARB(Int32 size, Int32[] weights) { unsafe { fixed (Int32* weights_ptr = weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } } [System.CLSCompliant(false)] public static void glWeightuivARB(Int32 size, ref UInt32 weights) { unsafe { fixed (UInt32* weights_ptr = &weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } } public static void glWeightuivARB(Int32 size, ref Int32 weights) { unsafe { fixed (Int32* weights_ptr = &weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } } public static void glWeightPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glWeightPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glWeightPointerARB(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glWeightPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexBlendARB(Int32 count) { Delegates.glVertexBlendARB((Int32)count); } public static void glCurrentPaletteMatrixARB(Int32 index) { Delegates.glCurrentPaletteMatrixARB((Int32)index); } public static void glMatrixIndexubvARB(Int32 size, IntPtr indices) { unsafe { Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices); } } public static void glMatrixIndexubvARB(Int32 size, Byte[] indices) { unsafe { fixed (Byte* indices_ptr = indices) { Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr); } } } public static void glMatrixIndexubvARB(Int32 size, ref Byte indices) { unsafe { fixed (Byte* indices_ptr = &indices) { Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr); } } } public static void glMatrixIndexusvARB(Int32 size, IntPtr indices) { unsafe { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices); } } [System.CLSCompliant(false)] public static void glMatrixIndexusvARB(Int32 size, UInt16[] indices) { unsafe { fixed (UInt16* indices_ptr = indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } } public static void glMatrixIndexusvARB(Int32 size, Int16[] indices) { unsafe { fixed (Int16* indices_ptr = indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } } [System.CLSCompliant(false)] public static void glMatrixIndexusvARB(Int32 size, ref UInt16 indices) { unsafe { fixed (UInt16* indices_ptr = &indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } } public static void glMatrixIndexusvARB(Int32 size, ref Int16 indices) { unsafe { fixed (Int16* indices_ptr = &indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } } public static void glMatrixIndexuivARB(Int32 size, IntPtr indices) { unsafe { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices); } } [System.CLSCompliant(false)] public static void glMatrixIndexuivARB(Int32 size, UInt32[] indices) { unsafe { fixed (UInt32* indices_ptr = indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } } public static void glMatrixIndexuivARB(Int32 size, Int32[] indices) { unsafe { fixed (Int32* indices_ptr = indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } } [System.CLSCompliant(false)] public static void glMatrixIndexuivARB(Int32 size, ref UInt32 indices) { unsafe { fixed (UInt32* indices_ptr = &indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } } public static void glMatrixIndexuivARB(Int32 size, ref Int32 indices) { unsafe { fixed (Int32* indices_ptr = &indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } } public static void glMatrixIndexPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glMatrixIndexPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glMatrixIndexPointerARB(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMatrixIndexPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glWindowPos2dARB(Double x, Double y) { Delegates.glWindowPos2dARB((Double)x, (Double)y); } public static void glWindowPos2dvARB(IntPtr v) { unsafe { Delegates.glWindowPos2dvARB((Double*)v); } } public static void glWindowPos2dvARB(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dvARB((Double*)v_ptr); } } } public static void glWindowPos2dvARB(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dvARB((Double*)v_ptr); } } } public static void glWindowPos2fARB(Single x, Single y) { Delegates.glWindowPos2fARB((Single)x, (Single)y); } public static void glWindowPos2fvARB(IntPtr v) { unsafe { Delegates.glWindowPos2fvARB((Single*)v); } } public static void glWindowPos2fvARB(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fvARB((Single*)v_ptr); } } } public static void glWindowPos2fvARB(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fvARB((Single*)v_ptr); } } } public static void glWindowPos2iARB(Int32 x, Int32 y) { Delegates.glWindowPos2iARB((Int32)x, (Int32)y); } public static void glWindowPos2ivARB(IntPtr v) { unsafe { Delegates.glWindowPos2ivARB((Int32*)v); } } public static void glWindowPos2ivARB(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2ivARB((Int32*)v_ptr); } } } public static void glWindowPos2ivARB(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2ivARB((Int32*)v_ptr); } } } public static void glWindowPos2sARB(Int16 x, Int16 y) { Delegates.glWindowPos2sARB((Int16)x, (Int16)y); } public static void glWindowPos2svARB(IntPtr v) { unsafe { Delegates.glWindowPos2svARB((Int16*)v); } } public static void glWindowPos2svARB(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2svARB((Int16*)v_ptr); } } } public static void glWindowPos2svARB(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2svARB((Int16*)v_ptr); } } } public static void glWindowPos3dARB(Double x, Double y, Double z) { Delegates.glWindowPos3dARB((Double)x, (Double)y, (Double)z); } public static void glWindowPos3dvARB(IntPtr v) { unsafe { Delegates.glWindowPos3dvARB((Double*)v); } } public static void glWindowPos3dvARB(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dvARB((Double*)v_ptr); } } } public static void glWindowPos3dvARB(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dvARB((Double*)v_ptr); } } } public static void glWindowPos3fARB(Single x, Single y, Single z) { Delegates.glWindowPos3fARB((Single)x, (Single)y, (Single)z); } public static void glWindowPos3fvARB(IntPtr v) { unsafe { Delegates.glWindowPos3fvARB((Single*)v); } } public static void glWindowPos3fvARB(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fvARB((Single*)v_ptr); } } } public static void glWindowPos3fvARB(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fvARB((Single*)v_ptr); } } } public static void glWindowPos3iARB(Int32 x, Int32 y, Int32 z) { Delegates.glWindowPos3iARB((Int32)x, (Int32)y, (Int32)z); } public static void glWindowPos3ivARB(IntPtr v) { unsafe { Delegates.glWindowPos3ivARB((Int32*)v); } } public static void glWindowPos3ivARB(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3ivARB((Int32*)v_ptr); } } } public static void glWindowPos3ivARB(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3ivARB((Int32*)v_ptr); } } } public static void glWindowPos3sARB(Int16 x, Int16 y, Int16 z) { Delegates.glWindowPos3sARB((Int16)x, (Int16)y, (Int16)z); } public static void glWindowPos3svARB(IntPtr v) { unsafe { Delegates.glWindowPos3svARB((Int16*)v); } } public static void glWindowPos3svARB(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3svARB((Int16*)v_ptr); } } } public static void glWindowPos3svARB(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3svARB((Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1dARB(UInt32 index, Double x) { Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x); } public static void glVertexAttrib1dARB(Int32 index, Double x) { Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1dvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v); } } public static void glVertexAttrib1dvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1dvARB(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dvARB(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1dvARB(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dvARB(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1fARB(UInt32 index, Single x) { Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x); } public static void glVertexAttrib1fARB(Int32 index, Single x) { Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1fvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v); } } public static void glVertexAttrib1fvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1fvARB(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fvARB(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1fvARB(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fvARB(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1sARB(UInt32 index, Int16 x) { Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x); } public static void glVertexAttrib1sARB(Int32 index, Int16 x) { Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1svARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v); } } public static void glVertexAttrib1svARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1svARB(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1svARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1svARB(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1svARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2dARB(UInt32 index, Double x, Double y) { Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y); } public static void glVertexAttrib2dARB(Int32 index, Double x, Double y) { Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2dvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v); } } public static void glVertexAttrib2dvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2dvARB(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dvARB(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2dvARB(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dvARB(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2fARB(UInt32 index, Single x, Single y) { Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y); } public static void glVertexAttrib2fARB(Int32 index, Single x, Single y) { Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2fvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v); } } public static void glVertexAttrib2fvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2fvARB(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fvARB(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2fvARB(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fvARB(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2sARB(UInt32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y); } public static void glVertexAttrib2sARB(Int32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2svARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v); } } public static void glVertexAttrib2svARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2svARB(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2svARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2svARB(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2svARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3dARB(UInt32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z); } public static void glVertexAttrib3dARB(Int32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3dvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v); } } public static void glVertexAttrib3dvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3dvARB(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dvARB(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3dvARB(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dvARB(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3fARB(UInt32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z); } public static void glVertexAttrib3fARB(Int32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3fvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v); } } public static void glVertexAttrib3fvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3fvARB(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fvARB(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3fvARB(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fvARB(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } public static void glVertexAttrib3sARB(Int32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3svARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v); } } public static void glVertexAttrib3svARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3svARB(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3svARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3svARB(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3svARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NbvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v); } } public static void glVertexAttrib4NbvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NbvARB(UInt32 index, SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4NbvARB(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NbvARB(UInt32 index, ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4NbvARB(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NivARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v); } } public static void glVertexAttrib4NivARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NivARB(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4NivARB(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NivARB(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4NivARB(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NsvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v); } } public static void glVertexAttrib4NsvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NsvARB(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4NsvARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NsvARB(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4NsvARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } public static void glVertexAttrib4NubARB(Int32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4NubvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v); } } public static void glVertexAttrib4NubvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NubvARB(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4NubvARB(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NubvARB(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4NubvARB(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NuivARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v); } } public static void glVertexAttrib4NuivARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NuivARB(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4NuivARB(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NuivARB(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4NuivARB(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NusvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib4NusvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4NusvARB(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4NusvARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4NusvARB(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4NusvARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4bvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v); } } public static void glVertexAttrib4bvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4bvARB(UInt32 index, SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4bvARB(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4bvARB(UInt32 index, ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttrib4bvARB(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glVertexAttrib4dARB(Int32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4dvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v); } } public static void glVertexAttrib4dvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4dvARB(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dvARB(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4dvARB(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dvARB(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glVertexAttrib4fARB(Int32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4fvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v); } } public static void glVertexAttrib4fvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4fvARB(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fvARB(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4fvARB(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fvARB(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ivARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v); } } public static void glVertexAttrib4ivARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4ivARB(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4ivARB(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ivARB(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttrib4ivARB(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glVertexAttrib4sARB(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4svARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v); } } public static void glVertexAttrib4svARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4svARB(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4svARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4svARB(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4svARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v); } } public static void glVertexAttrib4ubvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvARB(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubvARB(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvARB(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubvARB(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4uivARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v); } } public static void glVertexAttrib4uivARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4uivARB(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4uivARB(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4uivARB(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttrib4uivARB(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4usvARB(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib4usvARB(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4usvARB(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4usvARB(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4usvARB(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4usvARB(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer); } } public static void glVertexAttribPointerARB(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glVertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexAttribPointerARB(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glEnableVertexAttribArrayARB(UInt32 index) { Delegates.glEnableVertexAttribArrayARB((UInt32)index); } public static void glEnableVertexAttribArrayARB(Int32 index) { Delegates.glEnableVertexAttribArrayARB((UInt32)index); } [System.CLSCompliant(false)] public static void glDisableVertexAttribArrayARB(UInt32 index) { Delegates.glDisableVertexAttribArrayARB((UInt32)index); } public static void glDisableVertexAttribArrayARB(Int32 index) { Delegates.glDisableVertexAttribArrayARB((UInt32)index); } public static void glProgramStringARB(int target, int format, Int32 len, IntPtr @string) { unsafe { Delegates.glProgramStringARB((int)target, (int)format, (Int32)len, (IntPtr)@string); } } public static void glProgramStringARB(int target, int format, Int32 len, [In, Out] object @string) { unsafe { System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glProgramStringARB((int)target, (int)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glBindProgramARB(int target, UInt32 program) { Delegates.glBindProgramARB((int)target, (UInt32)program); } public static void glBindProgramARB(int target, Int32 program) { Delegates.glBindProgramARB((int)target, (UInt32)program); } public static void glDeleteProgramsARB(Int32 n, IntPtr programs) { unsafe { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs); } } [System.CLSCompliant(false)] public static void glDeleteProgramsARB(Int32 n, UInt32[] programs) { unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } public static void glDeleteProgramsARB(Int32 n, Int32[] programs) { unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteProgramsARB(Int32 n, ref UInt32 programs) { unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } public static void glDeleteProgramsARB(Int32 n, ref Int32 programs) { unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } public static void glGenProgramsARB(Int32 n, [Out] IntPtr programs) { unsafe { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs); } } [System.CLSCompliant(false)] public static void glGenProgramsARB(Int32 n, [Out] UInt32[] programs) { unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } public static void glGenProgramsARB(Int32 n, [Out] Int32[] programs) { unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glGenProgramsARB(Int32 n, [Out] out UInt32 programs) { unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } } public static void glGenProgramsARB(Int32 n, [Out] out Int32 programs) { unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramEnvParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glProgramEnvParameter4dARB(int target, Int32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramEnvParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glProgramEnvParameter4dvARB(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params); } } public static void glProgramEnvParameter4dvARB(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4dvARB(int target, UInt32 index, Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glProgramEnvParameter4dvARB(int target, Int32 index, Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4dvARB(int target, UInt32 index, ref Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glProgramEnvParameter4dvARB(int target, Int32 index, ref Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramEnvParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glProgramEnvParameter4fARB(int target, Int32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramEnvParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glProgramEnvParameter4fvARB(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params); } } public static void glProgramEnvParameter4fvARB(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4fvARB(int target, UInt32 index, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glProgramEnvParameter4fvARB(int target, Int32 index, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameter4fvARB(int target, UInt32 index, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glProgramEnvParameter4fvARB(int target, Int32 index, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramLocalParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glProgramLocalParameter4dARB(int target, Int32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramLocalParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glProgramLocalParameter4dvARB(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params); } } public static void glProgramLocalParameter4dvARB(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4dvARB(int target, UInt32 index, Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glProgramLocalParameter4dvARB(int target, Int32 index, Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4dvARB(int target, UInt32 index, ref Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glProgramLocalParameter4dvARB(int target, Int32 index, ref Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramLocalParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glProgramLocalParameter4fARB(int target, Int32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramLocalParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glProgramLocalParameter4fvARB(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params); } } public static void glProgramLocalParameter4fvARB(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4fvARB(int target, UInt32 index, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glProgramLocalParameter4fvARB(int target, Int32 index, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameter4fvARB(int target, UInt32 index, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glProgramLocalParameter4fvARB(int target, Int32 index, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params); } } public static void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params); } } public static void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params); } } public static void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } public static void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params); } } public static void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } public static void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramivARB(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params); } } public static void glGetProgramivARB(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetProgramivARB(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramStringARB(int target, int pname, [Out] IntPtr @string) { unsafe { Delegates.glGetProgramStringARB((int)target, (int)pname, (IntPtr)@string); } } public static void glGetProgramStringARB(int target, int pname, [In, Out] object @string) { unsafe { System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetProgramStringARB((int)target, (int)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params); } } public static void glGetVertexAttribdvARB(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr); } } } public static void glGetVertexAttribdvARB(Int32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribdvARB(Int32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params); } } public static void glGetVertexAttribfvARB(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetVertexAttribfvARB(Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribfvARB(Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribivARB(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetVertexAttribivARB(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribivARB(UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVertexAttribivARB(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribivARB(UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribivARB(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointervARB(UInt32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer); } } public static void glGetVertexAttribPointervARB(Int32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointervARB(UInt32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glGetVertexAttribPointervARB(Int32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static Int32 glIsProgramARB(UInt32 program) { return Delegates.glIsProgramARB((UInt32)program); } public static Int32 glIsProgramARB(Int32 program) { return Delegates.glIsProgramARB((UInt32)program); } [System.CLSCompliant(false)] public static void glBindBufferARB(int target, UInt32 buffer) { Delegates.glBindBufferARB((int)target, (UInt32)buffer); } public static void glBindBufferARB(int target, Int32 buffer) { Delegates.glBindBufferARB((int)target, (UInt32)buffer); } public static void glDeleteBuffersARB(Int32 n, IntPtr buffers) { unsafe { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers); } } [System.CLSCompliant(false)] public static void glDeleteBuffersARB(Int32 n, UInt32[] buffers) { unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } public static void glDeleteBuffersARB(Int32 n, Int32[] buffers) { unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteBuffersARB(Int32 n, ref UInt32 buffers) { unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } public static void glDeleteBuffersARB(Int32 n, ref Int32 buffers) { unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } public static void glGenBuffersARB(Int32 n, [Out] IntPtr buffers) { unsafe { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers); } } [System.CLSCompliant(false)] public static void glGenBuffersARB(Int32 n, [Out] UInt32[] buffers) { unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } public static void glGenBuffersARB(Int32 n, [Out] Int32[] buffers) { unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } } [System.CLSCompliant(false)] public static void glGenBuffersARB(Int32 n, [Out] out UInt32 buffers) { unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } } public static void glGenBuffersARB(Int32 n, [Out] out Int32 buffers) { unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsBufferARB(UInt32 buffer) { return Delegates.glIsBufferARB((UInt32)buffer); } public static Int32 glIsBufferARB(Int32 buffer) { return Delegates.glIsBufferARB((UInt32)buffer); } public static void glBufferDataARB(int target, IntPtr size, IntPtr data, int usage) { unsafe { Delegates.glBufferDataARB((int)target, (IntPtr)size, (IntPtr)data, (int)usage); } } public static void glBufferDataARB(int target, IntPtr size, [In, Out] object data, int usage) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glBufferDataARB((int)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (int)usage); } finally { data_ptr.Free(); } } } public static void glBufferSubDataARB(int target, IntPtr offset, IntPtr size, IntPtr data) { unsafe { Delegates.glBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); } } public static void glBufferSubDataARB(int target, IntPtr offset, IntPtr size, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [Out] IntPtr data) { unsafe { Delegates.glGetBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); } } public static void glGetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static IntPtr glMapBufferARB(int target, int access) { return Delegates.glMapBufferARB((int)target, (int)access); } public static Int32 glUnmapBufferARB(int target) { return Delegates.glUnmapBufferARB((int)target); } public static void glGetBufferParameterivARB(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params); } } public static void glGetBufferParameterivARB(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetBufferParameterivARB(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetBufferPointervARB(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetBufferPointervARB((int)target, (int)pname, (IntPtr)@params); } } public static void glGetBufferPointervARB(int target, int pname, [In, Out] object @params) { unsafe { System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetBufferPointervARB((int)target, (int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } } } public static void glGenQueriesARB(Int32 n, [Out] IntPtr ids) { unsafe { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glGenQueriesARB(Int32 n, [Out] UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } public static void glGenQueriesARB(Int32 n, [Out] Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glGenQueriesARB(Int32 n, [Out] out UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glGenQueriesARB(Int32 n, [Out] out Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glDeleteQueriesARB(Int32 n, IntPtr ids) { unsafe { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glDeleteQueriesARB(Int32 n, UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteQueriesARB(Int32 n, Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteQueriesARB(Int32 n, ref UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteQueriesARB(Int32 n, ref Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static Int32 glIsQueryARB(UInt32 id) { return Delegates.glIsQueryARB((UInt32)id); } public static Int32 glIsQueryARB(Int32 id) { return Delegates.glIsQueryARB((UInt32)id); } [System.CLSCompliant(false)] public static void glBeginQueryARB(int target, UInt32 id) { Delegates.glBeginQueryARB((int)target, (UInt32)id); } public static void glBeginQueryARB(int target, Int32 id) { Delegates.glBeginQueryARB((int)target, (UInt32)id); } public static void glEndQueryARB(int target) { Delegates.glEndQueryARB((int)target); } public static void glGetQueryivARB(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params); } } public static void glGetQueryivARB(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetQueryivARB(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetQueryObjectivARB(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params); } } public static void glGetQueryObjectivARB(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjectivARB(UInt32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } public static void glGetQueryObjectivARB(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjectivARB(UInt32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjectivARB(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params); } } public static void glGetQueryObjectuivARB(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetQueryObjectuivARB(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjectuivARB(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glDeleteObjectARB(UInt32 obj) { Delegates.glDeleteObjectARB((UInt32)obj); } public static void glDeleteObjectARB(Int32 obj) { Delegates.glDeleteObjectARB((UInt32)obj); } public static Int32 glGetHandleARB(int pname) { return Delegates.glGetHandleARB((int)pname); } [System.CLSCompliant(false)] public static void glDetachObjectARB(UInt32 containerObj, UInt32 attachedObj) { Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj); } public static void glDetachObjectARB(Int32 containerObj, Int32 attachedObj) { Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj); } public static Int32 glCreateShaderObjectARB(int shaderType) { return Delegates.glCreateShaderObjectARB((int)shaderType); } [System.CLSCompliant(false)] public static void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, IntPtr length) { unsafe { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length); } } public static void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, IntPtr length) { unsafe { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length); } } [System.CLSCompliant(false)] public static void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, Int32[] length) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } public static void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, Int32[] length) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } [System.CLSCompliant(false)] public static void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, ref Int32 length) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } public static void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, ref Int32 length) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr); } } } [System.CLSCompliant(false)] public static void glCompileShaderARB(UInt32 shaderObj) { Delegates.glCompileShaderARB((UInt32)shaderObj); } public static void glCompileShaderARB(Int32 shaderObj) { Delegates.glCompileShaderARB((UInt32)shaderObj); } public static Int32 glCreateProgramObjectARB() { return Delegates.glCreateProgramObjectARB(); } [System.CLSCompliant(false)] public static void glAttachObjectARB(UInt32 containerObj, UInt32 obj) { Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj); } public static void glAttachObjectARB(Int32 containerObj, Int32 obj) { Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj); } [System.CLSCompliant(false)] public static void glLinkProgramARB(UInt32 programObj) { Delegates.glLinkProgramARB((UInt32)programObj); } public static void glLinkProgramARB(Int32 programObj) { Delegates.glLinkProgramARB((UInt32)programObj); } [System.CLSCompliant(false)] public static void glUseProgramObjectARB(UInt32 programObj) { Delegates.glUseProgramObjectARB((UInt32)programObj); } public static void glUseProgramObjectARB(Int32 programObj) { Delegates.glUseProgramObjectARB((UInt32)programObj); } [System.CLSCompliant(false)] public static void glValidateProgramARB(UInt32 programObj) { Delegates.glValidateProgramARB((UInt32)programObj); } public static void glValidateProgramARB(Int32 programObj) { Delegates.glValidateProgramARB((UInt32)programObj); } public static void glUniform1fARB(Int32 location, Single v0) { Delegates.glUniform1fARB((Int32)location, (Single)v0); } public static void glUniform2fARB(Int32 location, Single v0, Single v1) { Delegates.glUniform2fARB((Int32)location, (Single)v0, (Single)v1); } public static void glUniform3fARB(Int32 location, Single v0, Single v1, Single v2) { Delegates.glUniform3fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2); } public static void glUniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3) { Delegates.glUniform4fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); } public static void glUniform1iARB(Int32 location, Int32 v0) { Delegates.glUniform1iARB((Int32)location, (Int32)v0); } public static void glUniform2iARB(Int32 location, Int32 v0, Int32 v1) { Delegates.glUniform2iARB((Int32)location, (Int32)v0, (Int32)v1); } public static void glUniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2) { Delegates.glUniform3iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); } public static void glUniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { Delegates.glUniform4iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); } public static void glUniform1fvARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform1fvARB(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform1fvARB(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform2fvARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform2fvARB(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform2fvARB(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform3fvARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform3fvARB(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform3fvARB(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform4fvARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value); } } public static void glUniform4fvARB(Int32 location, Int32 count, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform4fvARB(Int32 location, Int32 count, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } } public static void glUniform1ivARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform1ivARB(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform1ivARB(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform2ivARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform2ivARB(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform2ivARB(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform3ivARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform3ivARB(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform3ivARB(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform4ivARB(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value); } } public static void glUniform4ivARB(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniform4ivARB(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } } public static void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value) { unsafe { Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value); } } public static void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } public static void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr); } } } [System.CLSCompliant(false)] public static void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params); } } public static void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr); } } } public static void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params); } } public static void glGetObjectParameterivARB(Int32 obj, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr); } } } public static void glGetObjectParameterivARB(Int32 obj, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetObjectParameterivARB(Int32 obj, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog); } } public static void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog) { unsafe { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog); } } [System.CLSCompliant(false)] public static void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } public static void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); } } } [System.CLSCompliant(false)] public static void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } public static void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj) { unsafe { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj); } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj) { unsafe { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj); } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] UInt32[] obj) { unsafe { fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] Int32[] obj) { unsafe { fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] out UInt32 obj) { unsafe { fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); obj = *obj_ptr; } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] out Int32 obj) { unsafe { fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] UInt32[] obj) { unsafe { fixed (Int32* count_ptr = count) fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] Int32[] obj) { unsafe { fixed (Int32* count_ptr = count) fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] out UInt32 obj) { unsafe { fixed (Int32* count_ptr = count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); obj = *obj_ptr; } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] out Int32 obj) { unsafe { fixed (Int32* count_ptr = count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); count = *count_ptr; } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj); count = *count_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] UInt32[] obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] Int32[] obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; } } } [System.CLSCompliant(false)] public static void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } } public static void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj) { unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } } [System.CLSCompliant(false)] public static Int32 glGetUniformLocationARB(UInt32 programObj, System.String name) { return Delegates.glGetUniformLocationARB((UInt32)programObj, (System.String)name); } public static Int32 glGetUniformLocationARB(Int32 programObj, System.String name) { return Delegates.glGetUniformLocationARB((UInt32)programObj, (System.String)name); } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params); } } public static void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); } } } public static void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params); } } public static void glGetUniformivARB(Int32 programObj, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); } } } public static void glGetUniformivARB(Int32 programObj, Int32 location, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetUniformivARB(Int32 programObj, Int32 location, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source) { unsafe { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder[])source); } } public static void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source) { unsafe { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder[])source); } } [System.CLSCompliant(false)] public static void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source); } } } public static void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source); } } } [System.CLSCompliant(false)] public static void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source); length = *length_ptr; } } } public static void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glBindAttribLocationARB(UInt32 programObj, UInt32 index, System.String name) { Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (System.String)name); } public static void glBindAttribLocationARB(Int32 programObj, Int32 index, System.String name) { Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (System.String)name); } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static Int32 glGetAttribLocationARB(UInt32 programObj, System.String name) { return Delegates.glGetAttribLocationARB((UInt32)programObj, (System.String)name); } public static Int32 glGetAttribLocationARB(Int32 programObj, System.String name) { return Delegates.glGetAttribLocationARB((UInt32)programObj, (System.String)name); } public static void glDrawBuffersARB(Int32 n, IntPtr bufs) { unsafe { Delegates.glDrawBuffersARB((Int32)n, (int*)bufs); } } public static void glDrawBuffersARB(Int32 n, int[] bufs) { unsafe { fixed (int* bufs_ptr = bufs) { Delegates.glDrawBuffersARB((Int32)n, (int*)bufs_ptr); } } } public static void glDrawBuffersARB(Int32 n, ref int bufs) { unsafe { fixed (int* bufs_ptr = &bufs) { Delegates.glDrawBuffersARB((Int32)n, (int*)bufs_ptr); } } } public static void glClampColorARB(int target, int clamp) { Delegates.glClampColorARB((int)target, (int)clamp); } public static void glBlendColorEXT(Single red, Single green, Single blue, Single alpha) { Delegates.glBlendColorEXT((Single)red, (Single)green, (Single)blue, (Single)alpha); } public static void glPolygonOffsetEXT(Single factor, Single bias) { Delegates.glPolygonOffsetEXT((Single)factor, (Single)bias); } public static void glTexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexImage3DEXT((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexImage3DEXT((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glCopyTexImage1DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { Delegates.glCopyTexImage1DEXT((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); } public static void glCopyTexImage2DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { Delegates.glCopyTexImage2DEXT((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); } public static void glCopyTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { Delegates.glCopyTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); } public static void glCopyTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glCopyTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glGetHistogramEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values) { unsafe { Delegates.glGetHistogramEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values); } } public static void glGetHistogramEXT(int target, Int32 reset, int format, int type, [In, Out] object values) { unsafe { System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetHistogramEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } } } public static void glGetHistogramParameterfvEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glGetHistogramParameterfvEXT(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetHistogramParameterfvEXT(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetHistogramParameterivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetHistogramParameterivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetHistogramParameterivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMinmaxEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values) { unsafe { Delegates.glGetMinmaxEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values); } } public static void glGetMinmaxEXT(int target, Int32 reset, int format, int type, [In, Out] object values) { unsafe { System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetMinmaxEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } } } public static void glGetMinmaxParameterfvEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glGetMinmaxParameterfvEXT(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetMinmaxParameterfvEXT(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMinmaxParameterivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetMinmaxParameterivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetMinmaxParameterivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glHistogramEXT(int target, Int32 width, int internalformat, Int32 sink) { Delegates.glHistogramEXT((int)target, (Int32)width, (int)internalformat, (Int32)sink); } public static void glMinmaxEXT(int target, int internalformat, Int32 sink) { Delegates.glMinmaxEXT((int)target, (int)internalformat, (Int32)sink); } public static void glResetHistogramEXT(int target) { Delegates.glResetHistogramEXT((int)target); } public static void glResetMinmaxEXT(int target) { Delegates.glResetMinmaxEXT((int)target); } public static void glConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, IntPtr image) { unsafe { Delegates.glConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image); } } public static void glConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image) { unsafe { Delegates.glConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image); } } public static void glConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glConvolutionParameterfEXT(int target, int pname, Single @params) { Delegates.glConvolutionParameterfEXT((int)target, (int)pname, (Single)@params); } public static void glConvolutionParameterfvEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glConvolutionParameterfvEXT(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glConvolutionParameterfvEXT(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glConvolutionParameteriEXT(int target, int pname, Int32 @params) { Delegates.glConvolutionParameteriEXT((int)target, (int)pname, (Int32)@params); } public static void glConvolutionParameterivEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glConvolutionParameterivEXT(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glConvolutionParameterivEXT(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glCopyConvolutionFilter1DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width) { Delegates.glCopyConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width); } public static void glCopyConvolutionFilter2DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height) { Delegates.glCopyConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height); } public static void glGetConvolutionFilterEXT(int target, int format, int type, [Out] IntPtr image) { unsafe { Delegates.glGetConvolutionFilterEXT((int)target, (int)format, (int)type, (IntPtr)image); } } public static void glGetConvolutionFilterEXT(int target, int format, int type, [In, Out] object image) { unsafe { System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetConvolutionFilterEXT((int)target, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } } } public static void glGetConvolutionParameterfvEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glGetConvolutionParameterfvEXT(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetConvolutionParameterfvEXT(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetConvolutionParameterivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetConvolutionParameterivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetConvolutionParameterivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span) { unsafe { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span); } } public static void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span); } finally { column_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span); } finally { row_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); span_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [In, Out] object column, [Out] IntPtr span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span); } finally { row_ptr.Free(); column_ptr.Free(); } } } public static void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [In, Out] object column, [In, Out] object span) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } } } public static void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column) { unsafe { Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column); } } public static void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, [In, Out] object column) { unsafe { System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } } } public static void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, IntPtr column) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column); } finally { row_ptr.Free(); } } } public static void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, [In, Out] object column) { unsafe { System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] IntPtr residences) { unsafe { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences); } } public static Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] Int32[] residences) { unsafe { fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] out Int32 residences) { unsafe { fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] IntPtr residences) { unsafe { fixed (UInt32* textures_ptr = textures) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] IntPtr residences) { unsafe { fixed (Int32* textures_ptr = textures) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] Int32[] residences) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] Int32[] residences) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] out Int32 residences) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] out Int32 residences) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] IntPtr residences) { unsafe { fixed (UInt32* textures_ptr = &textures) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] IntPtr residences) { unsafe { fixed (Int32* textures_ptr = &textures) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] Int32[] residences) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] Int32[] residences) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Int32* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] out Int32 residences) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] out Int32 residences) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static void glBindTextureEXT(int target, UInt32 texture) { Delegates.glBindTextureEXT((int)target, (UInt32)texture); } public static void glBindTextureEXT(int target, Int32 texture) { Delegates.glBindTextureEXT((int)target, (UInt32)texture); } public static void glDeleteTexturesEXT(Int32 n, IntPtr textures) { unsafe { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures); } } [System.CLSCompliant(false)] public static void glDeleteTexturesEXT(Int32 n, UInt32[] textures) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } public static void glDeleteTexturesEXT(Int32 n, Int32[] textures) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteTexturesEXT(Int32 n, ref UInt32 textures) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } public static void glDeleteTexturesEXT(Int32 n, ref Int32 textures) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } public static void glGenTexturesEXT(Int32 n, [Out] IntPtr textures) { unsafe { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures); } } [System.CLSCompliant(false)] public static void glGenTexturesEXT(Int32 n, [Out] UInt32[] textures) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } public static void glGenTexturesEXT(Int32 n, [Out] Int32[] textures) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } } [System.CLSCompliant(false)] public static void glGenTexturesEXT(Int32 n, [Out] out UInt32 textures) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } } public static void glGenTexturesEXT(Int32 n, [Out] out Int32 textures) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsTextureEXT(UInt32 texture) { return Delegates.glIsTextureEXT((UInt32)texture); } public static Int32 glIsTextureEXT(Int32 texture) { return Delegates.glIsTextureEXT((UInt32)texture); } public static void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, IntPtr priorities) { unsafe { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities); } } public static void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, Single[] priorities) { unsafe { fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities_ptr); } } } public static void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, ref Single priorities) { unsafe { fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, IntPtr priorities) { unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } public static void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, IntPtr priorities) { unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, Single[] priorities) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, Single[] priorities) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, ref Single priorities) { unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, ref Single priorities) { unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, IntPtr priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } public static void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, IntPtr priorities) { unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, Single[] priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, Single[] priorities) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } [System.CLSCompliant(false)] public static void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, ref Single priorities) { unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, ref Single priorities) { unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } } public static void glArrayElementEXT(Int32 i) { Delegates.glArrayElementEXT((Int32)i); } public static void glColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glColorPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer); } } public static void glColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glDrawArraysEXT(int mode, Int32 first, Int32 count) { Delegates.glDrawArraysEXT((int)mode, (Int32)first, (Int32)count); } public static void glEdgeFlagPointerEXT(Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer); } } public static void glEdgeFlagPointerEXT(Int32 stride, Int32 count, Int32[] pointer) { unsafe { fixed (Int32* pointer_ptr = pointer) { Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer_ptr); } } } public static void glEdgeFlagPointerEXT(Int32 stride, Int32 count, ref Int32 pointer) { unsafe { fixed (Int32* pointer_ptr = &pointer) { Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer_ptr); } } } public static void glGetPointervEXT(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetPointervEXT((int)pname, (IntPtr)@params); } } public static void glGetPointervEXT(int pname, [In, Out] object @params) { unsafe { System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetPointervEXT((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } } } public static void glIndexPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glIndexPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer); } } public static void glIndexPointerEXT(int type, Int32 stride, Int32 count, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glIndexPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glNormalPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glNormalPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer); } } public static void glNormalPointerEXT(int type, Int32 stride, Int32 count, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glNormalPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glTexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glTexCoordPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer); } } public static void glTexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexCoordPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer) { unsafe { Delegates.glVertexPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer); } } public static void glVertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glBlendEquationEXT(int mode) { Delegates.glBlendEquationEXT((int)mode); } public static void glPointParameterfEXT(int pname, Single param) { Delegates.glPointParameterfEXT((int)pname, (Single)param); } public static void glPointParameterfvEXT(int pname, IntPtr @params) { unsafe { Delegates.glPointParameterfvEXT((int)pname, (Single*)@params); } } public static void glPointParameterfvEXT(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvEXT((int)pname, (Single*)@params_ptr); } } } public static void glPointParameterfvEXT(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPointParameterfvEXT((int)pname, (Single*)@params_ptr); } } } public static void glColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, IntPtr data) { unsafe { Delegates.glColorSubTableEXT((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data); } } public static void glColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorSubTableEXT((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glCopyColorSubTableEXT(int target, Int32 start, Int32 x, Int32 y, Int32 width) { Delegates.glCopyColorSubTableEXT((int)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width); } public static void glColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, IntPtr table) { unsafe { Delegates.glColorTableEXT((int)target, (int)internalFormat, (Int32)width, (int)format, (int)type, (IntPtr)table); } } public static void glColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, [In, Out] object table) { unsafe { System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorTableEXT((int)target, (int)internalFormat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } } } public static void glGetColorTableEXT(int target, int format, int type, [Out] IntPtr data) { unsafe { Delegates.glGetColorTableEXT((int)target, (int)format, (int)type, (IntPtr)data); } } public static void glGetColorTableEXT(int target, int format, int type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetColorTableEXT((int)target, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetColorTableParameterivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetColorTableParameterivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetColorTableParameterivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetColorTableParameterfvEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glGetColorTableParameterfvEXT(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetColorTableParameterfvEXT(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glIndexMaterialEXT(int face, int mode) { Delegates.glIndexMaterialEXT((int)face, (int)mode); } public static void glIndexFuncEXT(int func, Single @ref) { Delegates.glIndexFuncEXT((int)func, (Single)@ref); } public static void glLockArraysEXT(Int32 first, Int32 count) { Delegates.glLockArraysEXT((Int32)first, (Int32)count); } public static void glUnlockArraysEXT() { Delegates.glUnlockArraysEXT(); } public static void glCullParameterdvEXT(int pname, [Out] IntPtr @params) { unsafe { Delegates.glCullParameterdvEXT((int)pname, (Double*)@params); } } public static void glCullParameterdvEXT(int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glCullParameterdvEXT((int)pname, (Double*)@params_ptr); } } } public static void glCullParameterdvEXT(int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glCullParameterdvEXT((int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glCullParameterfvEXT(int pname, [Out] IntPtr @params) { unsafe { Delegates.glCullParameterfvEXT((int)pname, (Single*)@params); } } public static void glCullParameterfvEXT(int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCullParameterfvEXT((int)pname, (Single*)@params_ptr); } } } public static void glCullParameterfvEXT(int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glCullParameterfvEXT((int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glDrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices) { unsafe { Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices); } } public static void glDrawRangeElementsEXT(int mode, Int32 start, Int32 end, Int32 count, int type, IntPtr indices) { unsafe { Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices); } } [System.CLSCompliant(false)] public static void glDrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, [In, Out] object indices) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } } } public static void glDrawRangeElementsEXT(int mode, Int32 start, Int32 end, Int32 count, int type, [In, Out] object indices) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } } } public static void glApplyTextureEXT(int mode) { Delegates.glApplyTextureEXT((int)mode); } public static void glTextureLightEXT(int pname) { Delegates.glTextureLightEXT((int)pname); } public static void glTextureMaterialEXT(int face, int mode) { Delegates.glTextureMaterialEXT((int)face, (int)mode); } public static void glPixelTransformParameteriEXT(int target, int pname, Int32 param) { Delegates.glPixelTransformParameteriEXT((int)target, (int)pname, (Int32)param); } public static void glPixelTransformParameterfEXT(int target, int pname, Single param) { Delegates.glPixelTransformParameterfEXT((int)target, (int)pname, (Single)param); } public static void glPixelTransformParameterivEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glPixelTransformParameterivEXT(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glPixelTransformParameterivEXT(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glPixelTransformParameterfvEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params); } } public static void glPixelTransformParameterfvEXT(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glPixelTransformParameterfvEXT(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3bEXT(SByte red, SByte green, SByte blue) { Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue); } public static void glSecondaryColor3bEXT(Byte red, Byte green, Byte blue) { Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue); } public static void glSecondaryColor3bvEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3bvEXT((SByte*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3bvEXT(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } } public static void glSecondaryColor3bvEXT(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3bvEXT(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } } public static void glSecondaryColor3bvEXT(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } } public static void glSecondaryColor3dEXT(Double red, Double green, Double blue) { Delegates.glSecondaryColor3dEXT((Double)red, (Double)green, (Double)blue); } public static void glSecondaryColor3dvEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3dvEXT((Double*)v); } } public static void glSecondaryColor3dvEXT(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glSecondaryColor3dvEXT((Double*)v_ptr); } } } public static void glSecondaryColor3dvEXT(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glSecondaryColor3dvEXT((Double*)v_ptr); } } } public static void glSecondaryColor3fEXT(Single red, Single green, Single blue) { Delegates.glSecondaryColor3fEXT((Single)red, (Single)green, (Single)blue); } public static void glSecondaryColor3fvEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3fvEXT((Single*)v); } } public static void glSecondaryColor3fvEXT(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glSecondaryColor3fvEXT((Single*)v_ptr); } } } public static void glSecondaryColor3fvEXT(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glSecondaryColor3fvEXT((Single*)v_ptr); } } } public static void glSecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue) { Delegates.glSecondaryColor3iEXT((Int32)red, (Int32)green, (Int32)blue); } public static void glSecondaryColor3ivEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3ivEXT((Int32*)v); } } public static void glSecondaryColor3ivEXT(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr); } } } public static void glSecondaryColor3ivEXT(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr); } } } public static void glSecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue) { Delegates.glSecondaryColor3sEXT((Int16)red, (Int16)green, (Int16)blue); } public static void glSecondaryColor3svEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3svEXT((Int16*)v); } } public static void glSecondaryColor3svEXT(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3svEXT((Int16*)v_ptr); } } } public static void glSecondaryColor3svEXT(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3svEXT((Int16*)v_ptr); } } } public static void glSecondaryColor3ubEXT(Byte red, Byte green, Byte blue) { Delegates.glSecondaryColor3ubEXT((Byte)red, (Byte)green, (Byte)blue); } public static void glSecondaryColor3ubvEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3ubvEXT((Byte*)v); } } public static void glSecondaryColor3ubvEXT(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr); } } } public static void glSecondaryColor3ubvEXT(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue) { Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glSecondaryColor3uiEXT(Int32 red, Int32 green, Int32 blue) { Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue); } public static void glSecondaryColor3uivEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3uivEXT((UInt32*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3uivEXT(UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } } public static void glSecondaryColor3uivEXT(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3uivEXT(ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } } public static void glSecondaryColor3uivEXT(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue) { Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3usEXT(Int16 red, Int16 green, Int16 blue) { Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3usvEXT(IntPtr v) { unsafe { Delegates.glSecondaryColor3usvEXT((UInt16*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3usvEXT(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } } public static void glSecondaryColor3usvEXT(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3usvEXT(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } } public static void glSecondaryColor3usvEXT(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } } public static void glSecondaryColorPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glSecondaryColorPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glSecondaryColorPointerEXT(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glTextureNormalEXT(int mode) { Delegates.glTextureNormalEXT((int)mode); } public static void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] IntPtr count, Int32 primcount) { unsafe { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount); } } public static void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); count = *count_ptr; } } } public static void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); count = *count_ptr; } } } public static void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); first = *first_ptr; } } } public static void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; } } } public static void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; count = *count_ptr; } } } public static void glMultiDrawElementsEXT(int mode, IntPtr count, int type, IntPtr indices, Int32 primcount) { unsafe { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount); } } public static void glMultiDrawElementsEXT(int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } public static void glMultiDrawElementsEXT(int mode, Int32[] count, int type, IntPtr indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount); } } } public static void glMultiDrawElementsEXT(int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } } public static void glMultiDrawElementsEXT(int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount); } } } public static void glMultiDrawElementsEXT(int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } } public static void glFogCoordfEXT(Single coord) { Delegates.glFogCoordfEXT((Single)coord); } public static void glFogCoordfvEXT(IntPtr coord) { unsafe { Delegates.glFogCoordfvEXT((Single*)coord); } } public static void glFogCoordfvEXT(Single[] coord) { unsafe { fixed (Single* coord_ptr = coord) { Delegates.glFogCoordfvEXT((Single*)coord_ptr); } } } public static void glFogCoordfvEXT(ref Single coord) { unsafe { fixed (Single* coord_ptr = &coord) { Delegates.glFogCoordfvEXT((Single*)coord_ptr); } } } public static void glFogCoorddEXT(Double coord) { Delegates.glFogCoorddEXT((Double)coord); } public static void glFogCoorddvEXT(IntPtr coord) { unsafe { Delegates.glFogCoorddvEXT((Double*)coord); } } public static void glFogCoorddvEXT(Double[] coord) { unsafe { fixed (Double* coord_ptr = coord) { Delegates.glFogCoorddvEXT((Double*)coord_ptr); } } } public static void glFogCoorddvEXT(ref Double coord) { unsafe { fixed (Double* coord_ptr = &coord) { Delegates.glFogCoorddvEXT((Double*)coord_ptr); } } } public static void glFogCoordPointerEXT(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glFogCoordPointerEXT((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glFogCoordPointerEXT(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glFogCoordPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glTangent3bEXT(SByte tx, SByte ty, SByte tz) { Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz); } public static void glTangent3bEXT(Byte tx, Byte ty, Byte tz) { Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz); } public static void glTangent3bvEXT(IntPtr v) { unsafe { Delegates.glTangent3bvEXT((SByte*)v); } } [System.CLSCompliant(false)] public static void glTangent3bvEXT(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } } public static void glTangent3bvEXT(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTangent3bvEXT(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } } public static void glTangent3bvEXT(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } } public static void glTangent3dEXT(Double tx, Double ty, Double tz) { Delegates.glTangent3dEXT((Double)tx, (Double)ty, (Double)tz); } public static void glTangent3dvEXT(IntPtr v) { unsafe { Delegates.glTangent3dvEXT((Double*)v); } } public static void glTangent3dvEXT(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glTangent3dvEXT((Double*)v_ptr); } } } public static void glTangent3dvEXT(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glTangent3dvEXT((Double*)v_ptr); } } } public static void glTangent3fEXT(Single tx, Single ty, Single tz) { Delegates.glTangent3fEXT((Single)tx, (Single)ty, (Single)tz); } public static void glTangent3fvEXT(IntPtr v) { unsafe { Delegates.glTangent3fvEXT((Single*)v); } } public static void glTangent3fvEXT(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTangent3fvEXT((Single*)v_ptr); } } } public static void glTangent3fvEXT(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTangent3fvEXT((Single*)v_ptr); } } } public static void glTangent3iEXT(Int32 tx, Int32 ty, Int32 tz) { Delegates.glTangent3iEXT((Int32)tx, (Int32)ty, (Int32)tz); } public static void glTangent3ivEXT(IntPtr v) { unsafe { Delegates.glTangent3ivEXT((Int32*)v); } } public static void glTangent3ivEXT(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glTangent3ivEXT((Int32*)v_ptr); } } } public static void glTangent3ivEXT(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTangent3ivEXT((Int32*)v_ptr); } } } public static void glTangent3sEXT(Int16 tx, Int16 ty, Int16 tz) { Delegates.glTangent3sEXT((Int16)tx, (Int16)ty, (Int16)tz); } public static void glTangent3svEXT(IntPtr v) { unsafe { Delegates.glTangent3svEXT((Int16*)v); } } public static void glTangent3svEXT(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTangent3svEXT((Int16*)v_ptr); } } } public static void glTangent3svEXT(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTangent3svEXT((Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glBinormal3bEXT(SByte bx, SByte by, SByte bz) { Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz); } public static void glBinormal3bEXT(Byte bx, Byte by, Byte bz) { Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz); } public static void glBinormal3bvEXT(IntPtr v) { unsafe { Delegates.glBinormal3bvEXT((SByte*)v); } } [System.CLSCompliant(false)] public static void glBinormal3bvEXT(SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } } public static void glBinormal3bvEXT(Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glBinormal3bvEXT(ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } } public static void glBinormal3bvEXT(ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } } public static void glBinormal3dEXT(Double bx, Double by, Double bz) { Delegates.glBinormal3dEXT((Double)bx, (Double)by, (Double)bz); } public static void glBinormal3dvEXT(IntPtr v) { unsafe { Delegates.glBinormal3dvEXT((Double*)v); } } public static void glBinormal3dvEXT(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glBinormal3dvEXT((Double*)v_ptr); } } } public static void glBinormal3dvEXT(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glBinormal3dvEXT((Double*)v_ptr); } } } public static void glBinormal3fEXT(Single bx, Single by, Single bz) { Delegates.glBinormal3fEXT((Single)bx, (Single)by, (Single)bz); } public static void glBinormal3fvEXT(IntPtr v) { unsafe { Delegates.glBinormal3fvEXT((Single*)v); } } public static void glBinormal3fvEXT(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glBinormal3fvEXT((Single*)v_ptr); } } } public static void glBinormal3fvEXT(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glBinormal3fvEXT((Single*)v_ptr); } } } public static void glBinormal3iEXT(Int32 bx, Int32 by, Int32 bz) { Delegates.glBinormal3iEXT((Int32)bx, (Int32)by, (Int32)bz); } public static void glBinormal3ivEXT(IntPtr v) { unsafe { Delegates.glBinormal3ivEXT((Int32*)v); } } public static void glBinormal3ivEXT(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glBinormal3ivEXT((Int32*)v_ptr); } } } public static void glBinormal3ivEXT(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glBinormal3ivEXT((Int32*)v_ptr); } } } public static void glBinormal3sEXT(Int16 bx, Int16 by, Int16 bz) { Delegates.glBinormal3sEXT((Int16)bx, (Int16)by, (Int16)bz); } public static void glBinormal3svEXT(IntPtr v) { unsafe { Delegates.glBinormal3svEXT((Int16*)v); } } public static void glBinormal3svEXT(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glBinormal3svEXT((Int16*)v_ptr); } } } public static void glBinormal3svEXT(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glBinormal3svEXT((Int16*)v_ptr); } } } public static void glTangentPointerEXT(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glTangentPointerEXT((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glTangentPointerEXT(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTangentPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glBinormalPointerEXT(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glBinormalPointerEXT((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glBinormalPointerEXT(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glBinormalPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { Delegates.glBlendFuncSeparateEXT((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha); } public static void glVertexWeightfEXT(Single weight) { Delegates.glVertexWeightfEXT((Single)weight); } public static void glVertexWeightfvEXT(IntPtr weight) { unsafe { Delegates.glVertexWeightfvEXT((Single*)weight); } } public static void glVertexWeightfvEXT(Single[] weight) { unsafe { fixed (Single* weight_ptr = weight) { Delegates.glVertexWeightfvEXT((Single*)weight_ptr); } } } public static void glVertexWeightfvEXT(ref Single weight) { unsafe { fixed (Single* weight_ptr = &weight) { Delegates.glVertexWeightfvEXT((Single*)weight_ptr); } } } public static void glVertexWeightPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexWeightPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glVertexWeightPointerEXT(Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexWeightPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glSampleMaskEXT(Single value, Int32 invert) { Delegates.glSampleMaskEXT((Single)value, (Int32)invert); } public static void glSamplePatternEXT(int pattern) { Delegates.glSamplePatternEXT((int)pattern); } public static void glBeginVertexShaderEXT() { Delegates.glBeginVertexShaderEXT(); } public static void glEndVertexShaderEXT() { Delegates.glEndVertexShaderEXT(); } [System.CLSCompliant(false)] public static void glBindVertexShaderEXT(UInt32 id) { Delegates.glBindVertexShaderEXT((UInt32)id); } public static void glBindVertexShaderEXT(Int32 id) { Delegates.glBindVertexShaderEXT((UInt32)id); } [System.CLSCompliant(false)] public static Int32 glGenVertexShadersEXT(UInt32 range) { return Delegates.glGenVertexShadersEXT((UInt32)range); } public static Int32 glGenVertexShadersEXT(Int32 range) { return Delegates.glGenVertexShadersEXT((UInt32)range); } [System.CLSCompliant(false)] public static void glDeleteVertexShaderEXT(UInt32 id) { Delegates.glDeleteVertexShaderEXT((UInt32)id); } public static void glDeleteVertexShaderEXT(Int32 id) { Delegates.glDeleteVertexShaderEXT((UInt32)id); } [System.CLSCompliant(false)] public static void glShaderOp1EXT(int op, UInt32 res, UInt32 arg1) { Delegates.glShaderOp1EXT((int)op, (UInt32)res, (UInt32)arg1); } public static void glShaderOp1EXT(int op, Int32 res, Int32 arg1) { Delegates.glShaderOp1EXT((int)op, (UInt32)res, (UInt32)arg1); } [System.CLSCompliant(false)] public static void glShaderOp2EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2) { Delegates.glShaderOp2EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2); } public static void glShaderOp2EXT(int op, Int32 res, Int32 arg1, Int32 arg2) { Delegates.glShaderOp2EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2); } [System.CLSCompliant(false)] public static void glShaderOp3EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3) { Delegates.glShaderOp3EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3); } public static void glShaderOp3EXT(int op, Int32 res, Int32 arg1, Int32 arg2, Int32 arg3) { Delegates.glShaderOp3EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3); } [System.CLSCompliant(false)] public static void glSwizzleEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW) { Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW); } public static void glSwizzleEXT(Int32 res, Int32 @in, int outX, int outY, int outZ, int outW) { Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW); } [System.CLSCompliant(false)] public static void glWriteMaskEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW) { Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW); } public static void glWriteMaskEXT(Int32 res, Int32 @in, int outX, int outY, int outZ, int outW) { Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW); } [System.CLSCompliant(false)] public static void glInsertComponentEXT(UInt32 res, UInt32 src, UInt32 num) { Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); } public static void glInsertComponentEXT(Int32 res, Int32 src, Int32 num) { Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); } [System.CLSCompliant(false)] public static void glExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num) { Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); } public static void glExtractComponentEXT(Int32 res, Int32 src, Int32 num) { Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); } [System.CLSCompliant(false)] public static Int32 glGenSymbolsEXT(int datatype, int storagetype, int range, UInt32 components) { return Delegates.glGenSymbolsEXT((int)datatype, (int)storagetype, (int)range, (UInt32)components); } public static Int32 glGenSymbolsEXT(int datatype, int storagetype, int range, Int32 components) { return Delegates.glGenSymbolsEXT((int)datatype, (int)storagetype, (int)range, (UInt32)components); } [System.CLSCompliant(false)] public static void glSetInvariantEXT(UInt32 id, int type, IntPtr addr) { unsafe { Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr); } } public static void glSetInvariantEXT(Int32 id, int type, IntPtr addr) { unsafe { Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr); } } [System.CLSCompliant(false)] public static void glSetInvariantEXT(UInt32 id, int type, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } public static void glSetInvariantEXT(Int32 id, int type, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glSetLocalConstantEXT(UInt32 id, int type, IntPtr addr) { unsafe { Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr); } } public static void glSetLocalConstantEXT(Int32 id, int type, IntPtr addr) { unsafe { Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr); } } [System.CLSCompliant(false)] public static void glSetLocalConstantEXT(UInt32 id, int type, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } public static void glSetLocalConstantEXT(Int32 id, int type, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glVariantbvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr); } } public static void glVariantbvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr); } } [System.CLSCompliant(false)] public static void glVariantbvEXT(UInt32 id, SByte[] addr) { unsafe { fixed (SByte* addr_ptr = addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } } public static void glVariantbvEXT(Int32 id, Byte[] addr) { unsafe { fixed (Byte* addr_ptr = addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantbvEXT(UInt32 id, ref SByte addr) { unsafe { fixed (SByte* addr_ptr = &addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } } public static void glVariantbvEXT(Int32 id, ref Byte addr) { unsafe { fixed (Byte* addr_ptr = &addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantsvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr); } } public static void glVariantsvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr); } } [System.CLSCompliant(false)] public static void glVariantsvEXT(UInt32 id, Int16[] addr) { unsafe { fixed (Int16* addr_ptr = addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } } public static void glVariantsvEXT(Int32 id, Int16[] addr) { unsafe { fixed (Int16* addr_ptr = addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantsvEXT(UInt32 id, ref Int16 addr) { unsafe { fixed (Int16* addr_ptr = &addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } } public static void glVariantsvEXT(Int32 id, ref Int16 addr) { unsafe { fixed (Int16* addr_ptr = &addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantivEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr); } } public static void glVariantivEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr); } } [System.CLSCompliant(false)] public static void glVariantivEXT(UInt32 id, Int32[] addr) { unsafe { fixed (Int32* addr_ptr = addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } } public static void glVariantivEXT(Int32 id, Int32[] addr) { unsafe { fixed (Int32* addr_ptr = addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantivEXT(UInt32 id, ref Int32 addr) { unsafe { fixed (Int32* addr_ptr = &addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } } public static void glVariantivEXT(Int32 id, ref Int32 addr) { unsafe { fixed (Int32* addr_ptr = &addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantfvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr); } } public static void glVariantfvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr); } } [System.CLSCompliant(false)] public static void glVariantfvEXT(UInt32 id, Single[] addr) { unsafe { fixed (Single* addr_ptr = addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } } public static void glVariantfvEXT(Int32 id, Single[] addr) { unsafe { fixed (Single* addr_ptr = addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantfvEXT(UInt32 id, ref Single addr) { unsafe { fixed (Single* addr_ptr = &addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } } public static void glVariantfvEXT(Int32 id, ref Single addr) { unsafe { fixed (Single* addr_ptr = &addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantdvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr); } } public static void glVariantdvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr); } } [System.CLSCompliant(false)] public static void glVariantdvEXT(UInt32 id, Double[] addr) { unsafe { fixed (Double* addr_ptr = addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } } public static void glVariantdvEXT(Int32 id, Double[] addr) { unsafe { fixed (Double* addr_ptr = addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantdvEXT(UInt32 id, ref Double addr) { unsafe { fixed (Double* addr_ptr = &addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } } public static void glVariantdvEXT(Int32 id, ref Double addr) { unsafe { fixed (Double* addr_ptr = &addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantubvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr); } } public static void glVariantubvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr); } } [System.CLSCompliant(false)] public static void glVariantubvEXT(UInt32 id, Byte[] addr) { unsafe { fixed (Byte* addr_ptr = addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } } public static void glVariantubvEXT(Int32 id, Byte[] addr) { unsafe { fixed (Byte* addr_ptr = addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantubvEXT(UInt32 id, ref Byte addr) { unsafe { fixed (Byte* addr_ptr = &addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } } public static void glVariantubvEXT(Int32 id, ref Byte addr) { unsafe { fixed (Byte* addr_ptr = &addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantusvEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr); } } public static void glVariantusvEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr); } } [System.CLSCompliant(false)] public static void glVariantusvEXT(UInt32 id, UInt16[] addr) { unsafe { fixed (UInt16* addr_ptr = addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } } public static void glVariantusvEXT(Int32 id, Int16[] addr) { unsafe { fixed (Int16* addr_ptr = addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantusvEXT(UInt32 id, ref UInt16 addr) { unsafe { fixed (UInt16* addr_ptr = &addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } } public static void glVariantusvEXT(Int32 id, ref Int16 addr) { unsafe { fixed (Int16* addr_ptr = &addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantuivEXT(UInt32 id, IntPtr addr) { unsafe { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr); } } public static void glVariantuivEXT(Int32 id, IntPtr addr) { unsafe { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr); } } [System.CLSCompliant(false)] public static void glVariantuivEXT(UInt32 id, UInt32[] addr) { unsafe { fixed (UInt32* addr_ptr = addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } } public static void glVariantuivEXT(Int32 id, Int32[] addr) { unsafe { fixed (Int32* addr_ptr = addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantuivEXT(UInt32 id, ref UInt32 addr) { unsafe { fixed (UInt32* addr_ptr = &addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } } public static void glVariantuivEXT(Int32 id, ref Int32 addr) { unsafe { fixed (Int32* addr_ptr = &addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } } [System.CLSCompliant(false)] public static void glVariantPointerEXT(UInt32 id, int type, UInt32 stride, IntPtr addr) { unsafe { Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr); } } public static void glVariantPointerEXT(Int32 id, int type, Int32 stride, IntPtr addr) { unsafe { Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr); } } [System.CLSCompliant(false)] public static void glVariantPointerEXT(UInt32 id, int type, UInt32 stride, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } public static void glVariantPointerEXT(Int32 id, int type, Int32 stride, [In, Out] object addr) { unsafe { System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glEnableVariantClientStateEXT(UInt32 id) { Delegates.glEnableVariantClientStateEXT((UInt32)id); } public static void glEnableVariantClientStateEXT(Int32 id) { Delegates.glEnableVariantClientStateEXT((UInt32)id); } [System.CLSCompliant(false)] public static void glDisableVariantClientStateEXT(UInt32 id) { Delegates.glDisableVariantClientStateEXT((UInt32)id); } public static void glDisableVariantClientStateEXT(Int32 id) { Delegates.glDisableVariantClientStateEXT((UInt32)id); } public static Int32 glBindLightParameterEXT(int light, int value) { return Delegates.glBindLightParameterEXT((int)light, (int)value); } public static Int32 glBindMaterialParameterEXT(int face, int value) { return Delegates.glBindMaterialParameterEXT((int)face, (int)value); } public static Int32 glBindTexGenParameterEXT(int unit, int coord, int value) { return Delegates.glBindTexGenParameterEXT((int)unit, (int)coord, (int)value); } public static Int32 glBindTextureUnitParameterEXT(int unit, int value) { return Delegates.glBindTextureUnitParameterEXT((int)unit, (int)value); } public static Int32 glBindParameterEXT(int value) { return Delegates.glBindParameterEXT((int)value); } [System.CLSCompliant(false)] public static Int32 glIsVariantEnabledEXT(UInt32 id, int cap) { return Delegates.glIsVariantEnabledEXT((UInt32)id, (int)cap); } public static Int32 glIsVariantEnabledEXT(Int32 id, int cap) { return Delegates.glIsVariantEnabledEXT((UInt32)id, (int)cap); } [System.CLSCompliant(false)] public static void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetVariantBooleanvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetVariantBooleanvEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetVariantBooleanvEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetVariantIntegervEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetVariantIntegervEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetVariantIntegervEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetVariantIntegervEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetVariantIntegervEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetVariantIntegervEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetVariantFloatvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } public static void glGetVariantFloatvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } [System.CLSCompliant(false)] public static void glGetVariantFloatvEXT(UInt32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } public static void glGetVariantFloatvEXT(Int32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetVariantFloatvEXT(UInt32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } public static void glGetVariantFloatvEXT(Int32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetVariantPointervEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data); } } public static void glGetVariantPointervEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data); } } [System.CLSCompliant(false)] public static void glGetVariantPointervEXT(UInt32 id, int value, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void glGetVariantPointervEXT(Int32 id, int value, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetInvariantIntegervEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetInvariantIntegervEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetInvariantIntegervEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } public static void glGetInvariantFloatvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } [System.CLSCompliant(false)] public static void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } public static void glGetInvariantFloatvEXT(Int32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } public static void glGetInvariantFloatvEXT(Int32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } public static void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } public static void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } public static void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] IntPtr data) { unsafe { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data); } } [System.CLSCompliant(false)] public static void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } public static void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] Single[] data) { unsafe { fixed (Single* data_ptr = data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } public static void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] out Single data) { unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr); data = *data_ptr; } } } public static void glActiveStencilFaceEXT(int face) { Delegates.glActiveStencilFaceEXT((int)face); } public static void glDepthBoundsEXT(Double zmin, Double zmax) { Delegates.glDepthBoundsEXT((Double)zmin, (Double)zmax); } public static void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha) { Delegates.glBlendEquationSeparateEXT((int)modeRGB, (int)modeAlpha); } [System.CLSCompliant(false)] public static Int32 glIsRenderbufferEXT(UInt32 renderbuffer) { return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer); } public static Int32 glIsRenderbufferEXT(Int32 renderbuffer) { return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer); } [System.CLSCompliant(false)] public static void glBindRenderbufferEXT(int target, UInt32 renderbuffer) { Delegates.glBindRenderbufferEXT((int)target, (UInt32)renderbuffer); } public static void glBindRenderbufferEXT(int target, Int32 renderbuffer) { Delegates.glBindRenderbufferEXT((int)target, (UInt32)renderbuffer); } public static void glDeleteRenderbuffersEXT(Int32 n, IntPtr renderbuffers) { unsafe { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); } } [System.CLSCompliant(false)] public static void glDeleteRenderbuffersEXT(Int32 n, UInt32[] renderbuffers) { unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } public static void glDeleteRenderbuffersEXT(Int32 n, Int32[] renderbuffers) { unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteRenderbuffersEXT(Int32 n, ref UInt32 renderbuffers) { unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } public static void glDeleteRenderbuffersEXT(Int32 n, ref Int32 renderbuffers) { unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } public static void glGenRenderbuffersEXT(Int32 n, [Out] IntPtr renderbuffers) { unsafe { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); } } [System.CLSCompliant(false)] public static void glGenRenderbuffersEXT(Int32 n, [Out] UInt32[] renderbuffers) { unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } public static void glGenRenderbuffersEXT(Int32 n, [Out] Int32[] renderbuffers) { unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } } [System.CLSCompliant(false)] public static void glGenRenderbuffersEXT(Int32 n, [Out] out UInt32 renderbuffers) { unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } } public static void glGenRenderbuffersEXT(Int32 n, [Out] out Int32 renderbuffers) { unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } } public static void glRenderbufferStorageEXT(int target, int internalformat, Int32 width, Int32 height) { Delegates.glRenderbufferStorageEXT((int)target, (int)internalformat, (Int32)width, (Int32)height); } public static void glGetRenderbufferParameterivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetRenderbufferParameterivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetRenderbufferParameterivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsFramebufferEXT(UInt32 framebuffer) { return Delegates.glIsFramebufferEXT((UInt32)framebuffer); } public static Int32 glIsFramebufferEXT(Int32 framebuffer) { return Delegates.glIsFramebufferEXT((UInt32)framebuffer); } [System.CLSCompliant(false)] public static void glBindFramebufferEXT(int target, UInt32 framebuffer) { Delegates.glBindFramebufferEXT((int)target, (UInt32)framebuffer); } public static void glBindFramebufferEXT(int target, Int32 framebuffer) { Delegates.glBindFramebufferEXT((int)target, (UInt32)framebuffer); } public static void glDeleteFramebuffersEXT(Int32 n, IntPtr framebuffers) { unsafe { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers); } } [System.CLSCompliant(false)] public static void glDeleteFramebuffersEXT(Int32 n, UInt32[] framebuffers) { unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } public static void glDeleteFramebuffersEXT(Int32 n, Int32[] framebuffers) { unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteFramebuffersEXT(Int32 n, ref UInt32 framebuffers) { unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } public static void glDeleteFramebuffersEXT(Int32 n, ref Int32 framebuffers) { unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } public static void glGenFramebuffersEXT(Int32 n, [Out] IntPtr framebuffers) { unsafe { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers); } } [System.CLSCompliant(false)] public static void glGenFramebuffersEXT(Int32 n, [Out] UInt32[] framebuffers) { unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } public static void glGenFramebuffersEXT(Int32 n, [Out] Int32[] framebuffers) { unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } } [System.CLSCompliant(false)] public static void glGenFramebuffersEXT(Int32 n, [Out] out UInt32 framebuffers) { unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } } public static void glGenFramebuffersEXT(Int32 n, [Out] out Int32 framebuffers) { unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } } public static int glCheckFramebufferStatusEXT(int target) { return Delegates.glCheckFramebufferStatusEXT((int)target); } [System.CLSCompliant(false)] public static void glFramebufferTexture1DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level) { Delegates.glFramebufferTexture1DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level); } public static void glFramebufferTexture1DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level) { Delegates.glFramebufferTexture1DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level); } [System.CLSCompliant(false)] public static void glFramebufferTexture2DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level) { Delegates.glFramebufferTexture2DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level); } public static void glFramebufferTexture2DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level) { Delegates.glFramebufferTexture2DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level); } [System.CLSCompliant(false)] public static void glFramebufferTexture3DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level, Int32 zoffset) { Delegates.glFramebufferTexture3DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); } public static void glFramebufferTexture3DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level, Int32 zoffset) { Delegates.glFramebufferTexture3DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); } [System.CLSCompliant(false)] public static void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, UInt32 renderbuffer) { Delegates.glFramebufferRenderbufferEXT((int)target, (int)attachment, (int)renderbuffertarget, (UInt32)renderbuffer); } public static void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, Int32 renderbuffer) { Delegates.glFramebufferRenderbufferEXT((int)target, (int)attachment, (int)renderbuffertarget, (UInt32)renderbuffer); } public static void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params); } } public static void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGenerateMipmapEXT(int target) { Delegates.glGenerateMipmapEXT((int)target); } [System.CLSCompliant(false)] public static void glStencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag) { Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag); } public static void glStencilClearTagEXT(Int32 stencilTagBits, Int32 stencilClearTag) { Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag); } public static void glBlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, int mask, int filter) { Delegates.glBlitFramebufferEXT((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (int)mask, (int)filter); } public static void glRenderbufferStorageMultisampleEXT(int target, Int32 samples, int internalformat, Int32 width, Int32 height) { Delegates.glRenderbufferStorageMultisampleEXT((int)target, (Int32)samples, (int)internalformat, (Int32)width, (Int32)height); } [System.CLSCompliant(false)] public static void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params); } } public static void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] Int64[] @params) { unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr); } } } public static void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] Int64[] @params) { unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] out Int64 @params) { unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] out Int64 @params) { unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params); } } public static void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params); } } [System.CLSCompliant(false)] public static void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] UInt64[] @params) { unsafe { fixed (UInt64* @params_ptr = @params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr); } } } public static void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] Int64[] @params) { unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] out UInt64 @params) { unsafe { fixed (UInt64* @params_ptr = &@params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } } public static void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] out Int64 @params) { unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params); } } public static void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params); } } public static void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glFramebufferTextureEXT(int target, int attachment, UInt32 texture, Int32 level) { Delegates.glFramebufferTextureEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level); } public static void glFramebufferTextureEXT(int target, int attachment, Int32 texture, Int32 level) { Delegates.glFramebufferTextureEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level); } [System.CLSCompliant(false)] public static void glFramebufferTextureLayerEXT(int target, int attachment, UInt32 texture, Int32 level, Int32 layer) { Delegates.glFramebufferTextureLayerEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (Int32)layer); } public static void glFramebufferTextureLayerEXT(int target, int attachment, Int32 texture, Int32 level, Int32 layer) { Delegates.glFramebufferTextureLayerEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (Int32)layer); } [System.CLSCompliant(false)] public static void glFramebufferTextureFaceEXT(int target, int attachment, UInt32 texture, Int32 level, int face) { Delegates.glFramebufferTextureFaceEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (int)face); } public static void glFramebufferTextureFaceEXT(int target, int attachment, Int32 texture, Int32 level, int face) { Delegates.glFramebufferTextureFaceEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (int)face); } [System.CLSCompliant(false)] public static void glProgramParameteriEXT(UInt32 program, int pname, Int32 value) { Delegates.glProgramParameteriEXT((UInt32)program, (int)pname, (Int32)value); } public static void glProgramParameteriEXT(Int32 program, int pname, Int32 value) { Delegates.glProgramParameteriEXT((UInt32)program, (int)pname, (Int32)value); } [System.CLSCompliant(false)] public static void glVertexAttribI1iEXT(UInt32 index, Int32 x) { Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x); } public static void glVertexAttribI1iEXT(Int32 index, Int32 x) { Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x); } [System.CLSCompliant(false)] public static void glVertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y) { Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y); } public static void glVertexAttribI2iEXT(Int32 index, Int32 x, Int32 y) { Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y); } [System.CLSCompliant(false)] public static void glVertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z) { Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z); } public static void glVertexAttribI3iEXT(Int32 index, Int32 x, Int32 y, Int32 z) { Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z); } [System.CLSCompliant(false)] public static void glVertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glVertexAttribI4iEXT(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } [System.CLSCompliant(false)] public static void glVertexAttribI1uiEXT(UInt32 index, UInt32 x) { Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x); } public static void glVertexAttribI1uiEXT(Int32 index, Int32 x) { Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x); } [System.CLSCompliant(false)] public static void glVertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y) { Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y); } public static void glVertexAttribI2uiEXT(Int32 index, Int32 x, Int32 y) { Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y); } [System.CLSCompliant(false)] public static void glVertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z) { Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z); } public static void glVertexAttribI3uiEXT(Int32 index, Int32 x, Int32 y, Int32 z) { Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z); } [System.CLSCompliant(false)] public static void glVertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } public static void glVertexAttribI4uiEXT(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } [System.CLSCompliant(false)] public static void glVertexAttribI1ivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v); } } public static void glVertexAttribI1ivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI1ivEXT(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI1ivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI1ivEXT(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI1ivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI2ivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v); } } public static void glVertexAttribI2ivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI2ivEXT(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI2ivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI2ivEXT(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI2ivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI3ivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v); } } public static void glVertexAttribI3ivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI3ivEXT(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI3ivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI3ivEXT(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI3ivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4ivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v); } } public static void glVertexAttribI4ivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4ivEXT(UInt32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI4ivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4ivEXT(UInt32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } } public static void glVertexAttribI4ivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI1uivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v); } } public static void glVertexAttribI1uivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI1uivEXT(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI1uivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI1uivEXT(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI1uivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI2uivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v); } } public static void glVertexAttribI2uivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI2uivEXT(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI2uivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI2uivEXT(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI2uivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI3uivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v); } } public static void glVertexAttribI3uivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI3uivEXT(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI3uivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI3uivEXT(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI3uivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4uivEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v); } } public static void glVertexAttribI4uivEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4uivEXT(UInt32 index, UInt32[] v) { unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI4uivEXT(Int32 index, Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4uivEXT(UInt32 index, ref UInt32 v) { unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } } public static void glVertexAttribI4uivEXT(Int32 index, ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4bvEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v); } } public static void glVertexAttribI4bvEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4bvEXT(UInt32 index, SByte[] v) { unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttribI4bvEXT(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4bvEXT(UInt32 index, ref SByte v) { unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } } public static void glVertexAttribI4bvEXT(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4svEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v); } } public static void glVertexAttribI4svEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4svEXT(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttribI4svEXT(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4svEXT(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttribI4svEXT(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4ubvEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v); } } public static void glVertexAttribI4ubvEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4ubvEXT(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttribI4ubvEXT(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4ubvEXT(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttribI4ubvEXT(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4usvEXT(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v); } } public static void glVertexAttribI4usvEXT(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribI4usvEXT(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttribI4usvEXT(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribI4usvEXT(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttribI4usvEXT(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glVertexAttribIPointerEXT(Int32 index, Int32 size, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glVertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexAttribIPointerEXT(Int32 index, Int32 size, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params); } } public static void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params); } } public static void glGetUniformuivEXT(Int32 program, Int32 location, [Out] IntPtr @params) { unsafe { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); } } } public static void glGetUniformuivEXT(Int32 program, Int32 location, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetUniformuivEXT(Int32 program, Int32 location, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glBindFragDataLocationEXT(UInt32 program, UInt32 color, System.String name) { Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (System.String)name); } public static void glBindFragDataLocationEXT(Int32 program, Int32 color, System.String name) { Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (System.String)name); } [System.CLSCompliant(false)] public static Int32 glGetFragDataLocationEXT(UInt32 program, System.String name) { return Delegates.glGetFragDataLocationEXT((UInt32)program, (System.String)name); } public static Int32 glGetFragDataLocationEXT(Int32 program, System.String name) { return Delegates.glGetFragDataLocationEXT((UInt32)program, (System.String)name); } [System.CLSCompliant(false)] public static void glUniform1uiEXT(Int32 location, UInt32 v0) { Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0); } public static void glUniform1uiEXT(Int32 location, Int32 v0) { Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0); } [System.CLSCompliant(false)] public static void glUniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1) { Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1); } public static void glUniform2uiEXT(Int32 location, Int32 v0, Int32 v1) { Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1); } [System.CLSCompliant(false)] public static void glUniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2) { Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); } public static void glUniform3uiEXT(Int32 location, Int32 v0, Int32 v1, Int32 v2) { Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); } [System.CLSCompliant(false)] public static void glUniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3) { Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); } public static void glUniform4uiEXT(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); } public static void glUniform1uivEXT(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value); } } [System.CLSCompliant(false)] public static void glUniform1uivEXT(Int32 location, Int32 count, UInt32[] value) { unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform1uivEXT(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } [System.CLSCompliant(false)] public static void glUniform1uivEXT(Int32 location, Int32 count, ref UInt32 value) { unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform1uivEXT(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform2uivEXT(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value); } } [System.CLSCompliant(false)] public static void glUniform2uivEXT(Int32 location, Int32 count, UInt32[] value) { unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform2uivEXT(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } [System.CLSCompliant(false)] public static void glUniform2uivEXT(Int32 location, Int32 count, ref UInt32 value) { unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform2uivEXT(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform3uivEXT(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value); } } [System.CLSCompliant(false)] public static void glUniform3uivEXT(Int32 location, Int32 count, UInt32[] value) { unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform3uivEXT(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } [System.CLSCompliant(false)] public static void glUniform3uivEXT(Int32 location, Int32 count, ref UInt32 value) { unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform3uivEXT(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform4uivEXT(Int32 location, Int32 count, IntPtr value) { unsafe { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value); } } [System.CLSCompliant(false)] public static void glUniform4uivEXT(Int32 location, Int32 count, UInt32[] value) { unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform4uivEXT(Int32 location, Int32 count, Int32[] value) { unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } [System.CLSCompliant(false)] public static void glUniform4uivEXT(Int32 location, Int32 count, ref UInt32 value) { unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glUniform4uivEXT(Int32 location, Int32 count, ref Int32 value) { unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } } public static void glDrawArraysInstancedEXT(int mode, Int32 start, Int32 count, Int32 primcount) { Delegates.glDrawArraysInstancedEXT((int)mode, (Int32)start, (Int32)count, (Int32)primcount); } public static void glDrawElementsInstancedEXT(int mode, Int32 count, int type, IntPtr indices, Int32 primcount) { unsafe { Delegates.glDrawElementsInstancedEXT((int)mode, (Int32)count, (int)type, (IntPtr)indices, (Int32)primcount); } } public static void glDrawElementsInstancedEXT(int mode, Int32 count, int type, [In, Out] object indices, Int32 primcount) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedEXT((int)mode, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glTexBufferEXT(int target, int internalformat, UInt32 buffer) { Delegates.glTexBufferEXT((int)target, (int)internalformat, (UInt32)buffer); } public static void glTexBufferEXT(int target, int internalformat, Int32 buffer) { Delegates.glTexBufferEXT((int)target, (int)internalformat, (UInt32)buffer); } [System.CLSCompliant(false)] public static void glColorMaskIndexedEXT(UInt32 index, Int32 r, Int32 g, Int32 b, Int32 a) { Delegates.glColorMaskIndexedEXT((UInt32)index, (Int32)r, (Int32)g, (Int32)b, (Int32)a); } public static void glColorMaskIndexedEXT(Int32 index, Int32 r, Int32 g, Int32 b, Int32 a) { Delegates.glColorMaskIndexedEXT((UInt32)index, (Int32)r, (Int32)g, (Int32)b, (Int32)a); } [System.CLSCompliant(false)] public static void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] IntPtr data) { unsafe { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data); } } public static void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] IntPtr data) { unsafe { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); } } } public static void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] IntPtr data) { unsafe { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data); } } public static void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] IntPtr data) { unsafe { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data); } } [System.CLSCompliant(false)] public static void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); } } } public static void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] Int32[] data) { unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); } } } [System.CLSCompliant(false)] public static void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } } public static void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] out Int32 data) { unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static void glEnableIndexedEXT(int target, UInt32 index) { Delegates.glEnableIndexedEXT((int)target, (UInt32)index); } public static void glEnableIndexedEXT(int target, Int32 index) { Delegates.glEnableIndexedEXT((int)target, (UInt32)index); } [System.CLSCompliant(false)] public static void glDisableIndexedEXT(int target, UInt32 index) { Delegates.glDisableIndexedEXT((int)target, (UInt32)index); } public static void glDisableIndexedEXT(int target, Int32 index) { Delegates.glDisableIndexedEXT((int)target, (UInt32)index); } [System.CLSCompliant(false)] public static Int32 glIsEnabledIndexedEXT(int target, UInt32 index) { return Delegates.glIsEnabledIndexedEXT((int)target, (UInt32)index); } public static Int32 glIsEnabledIndexedEXT(int target, Int32 index) { return Delegates.glIsEnabledIndexedEXT((int)target, (UInt32)index); } [System.CLSCompliant(false)] public static void glUniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer) { Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer); } public static void glUniformBufferEXT(Int32 program, Int32 location, Int32 buffer) { Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer); } [System.CLSCompliant(false)] public static Int32 glGetUniformBufferSizeEXT(UInt32 program, Int32 location) { return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location); } public static Int32 glGetUniformBufferSizeEXT(Int32 program, Int32 location) { return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location); } [System.CLSCompliant(false)] public static IntPtr glGetUniformOffsetEXT(UInt32 program, Int32 location) { return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location); } public static IntPtr glGetUniformOffsetEXT(Int32 program, Int32 location) { return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location); } public static void glTexParameterIivEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glTexParameterIivEXT(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexParameterIivEXT(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glTexParameterIuivEXT(int target, int pname, IntPtr @params) { unsafe { Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glTexParameterIuivEXT(int target, int pname, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } public static void glTexParameterIuivEXT(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glTexParameterIuivEXT(int target, int pname, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } public static void glTexParameterIuivEXT(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetTexParameterIivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params); } } public static void glGetTexParameterIivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTexParameterIivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexParameterIuivEXT(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetTexParameterIuivEXT(int target, int pname, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetTexParameterIuivEXT(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetTexParameterIuivEXT(int target, int pname, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTexParameterIuivEXT(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glClearColorIiEXT((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); } [System.CLSCompliant(false)] public static void glClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha) { Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); } public static void glClearColorIuiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); } public static void glGetTexFilterFuncSGIS(int target, int filter, [Out] IntPtr weights) { unsafe { Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights); } } public static void glGetTexFilterFuncSGIS(int target, int filter, [Out] Single[] weights) { unsafe { fixed (Single* weights_ptr = weights) { Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights_ptr); } } } public static void glGetTexFilterFuncSGIS(int target, int filter, [Out] out Single weights) { unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights_ptr); weights = *weights_ptr; } } } public static void glTexFilterFuncSGIS(int target, int filter, Int32 n, IntPtr weights) { unsafe { Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights); } } public static void glTexFilterFuncSGIS(int target, int filter, Int32 n, Single[] weights) { unsafe { fixed (Single* weights_ptr = weights) { Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights_ptr); } } } public static void glTexFilterFuncSGIS(int target, int filter, Int32 n, ref Single weights) { unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights_ptr); } } } public static void glPixelTexGenParameteriSGIS(int pname, Int32 param) { Delegates.glPixelTexGenParameteriSGIS((int)pname, (Int32)param); } public static void glPixelTexGenParameterivSGIS(int pname, IntPtr @params) { unsafe { Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params); } } public static void glPixelTexGenParameterivSGIS(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr); } } } public static void glPixelTexGenParameterivSGIS(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr); } } } public static void glPixelTexGenParameterfSGIS(int pname, Single param) { Delegates.glPixelTexGenParameterfSGIS((int)pname, (Single)param); } public static void glPixelTexGenParameterfvSGIS(int pname, IntPtr @params) { unsafe { Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params); } } public static void glPixelTexGenParameterfvSGIS(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr); } } } public static void glPixelTexGenParameterfvSGIS(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr); } } } public static void glGetPixelTexGenParameterivSGIS(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params); } } public static void glGetPixelTexGenParameterivSGIS(int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr); } } } public static void glGetPixelTexGenParameterivSGIS(int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetPixelTexGenParameterfvSGIS(int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params); } } public static void glGetPixelTexGenParameterfvSGIS(int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr); } } } public static void glGetPixelTexGenParameterfvSGIS(int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glTexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexImage4DSGIS((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexImage4DSGIS((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glTexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, IntPtr pixels) { unsafe { Delegates.glTexSubImage4DSGIS((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (int)format, (int)type, (IntPtr)pixels); } } public static void glTexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, [In, Out] object pixels) { unsafe { System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexSubImage4DSGIS((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } } } public static void glDetailTexFuncSGIS(int target, Int32 n, IntPtr points) { unsafe { Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points); } } public static void glDetailTexFuncSGIS(int target, Int32 n, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr); } } } public static void glDetailTexFuncSGIS(int target, Int32 n, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr); } } } public static void glGetDetailTexFuncSGIS(int target, [Out] IntPtr points) { unsafe { Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points); } } public static void glGetDetailTexFuncSGIS(int target, [Out] Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points_ptr); } } } public static void glGetDetailTexFuncSGIS(int target, [Out] out Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points_ptr); points = *points_ptr; } } } public static void glSharpenTexFuncSGIS(int target, Int32 n, IntPtr points) { unsafe { Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points); } } public static void glSharpenTexFuncSGIS(int target, Int32 n, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr); } } } public static void glSharpenTexFuncSGIS(int target, Int32 n, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr); } } } public static void glGetSharpenTexFuncSGIS(int target, [Out] IntPtr points) { unsafe { Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points); } } public static void glGetSharpenTexFuncSGIS(int target, [Out] Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points_ptr); } } } public static void glGetSharpenTexFuncSGIS(int target, [Out] out Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points_ptr); points = *points_ptr; } } } public static void glSampleMaskSGIS(Single value, Int32 invert) { Delegates.glSampleMaskSGIS((Single)value, (Int32)invert); } public static void glSamplePatternSGIS(int pattern) { Delegates.glSamplePatternSGIS((int)pattern); } public static void glPointParameterfSGIS(int pname, Single param) { Delegates.glPointParameterfSGIS((int)pname, (Single)param); } public static void glPointParameterfvSGIS(int pname, IntPtr @params) { unsafe { Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params); } } public static void glPointParameterfvSGIS(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params_ptr); } } } public static void glPointParameterfvSGIS(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params_ptr); } } } public static void glFogFuncSGIS(Int32 n, IntPtr points) { unsafe { Delegates.glFogFuncSGIS((Int32)n, (Single*)points); } } public static void glFogFuncSGIS(Int32 n, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr); } } } public static void glFogFuncSGIS(Int32 n, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr); } } } public static void glGetFogFuncSGIS([Out] IntPtr points) { unsafe { Delegates.glGetFogFuncSGIS((Single*)points); } } public static void glGetFogFuncSGIS([Out] Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glGetFogFuncSGIS((Single*)points_ptr); } } } public static void glGetFogFuncSGIS([Out] out Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetFogFuncSGIS((Single*)points_ptr); points = *points_ptr; } } } public static void glTextureColorMaskSGIS(Int32 red, Int32 green, Int32 blue, Int32 alpha) { Delegates.glTextureColorMaskSGIS((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); } public static void glColorTableSGI(int target, int internalformat, Int32 width, int format, int type, IntPtr table) { unsafe { Delegates.glColorTableSGI((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table); } } public static void glColorTableSGI(int target, int internalformat, Int32 width, int format, int type, [In, Out] object table) { unsafe { System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorTableSGI((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } } } public static void glColorTableParameterfvSGI(int target, int pname, IntPtr @params) { unsafe { Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params); } } public static void glColorTableParameterfvSGI(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glColorTableParameterfvSGI(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glColorTableParameterivSGI(int target, int pname, IntPtr @params) { unsafe { Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params); } } public static void glColorTableParameterivSGI(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glColorTableParameterivSGI(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glCopyColorTableSGI(int target, int internalformat, Int32 x, Int32 y, Int32 width) { Delegates.glCopyColorTableSGI((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width); } public static void glGetColorTableSGI(int target, int format, int type, [Out] IntPtr table) { unsafe { Delegates.glGetColorTableSGI((int)target, (int)format, (int)type, (IntPtr)table); } } public static void glGetColorTableSGI(int target, int format, int type, [In, Out] object table) { unsafe { System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetColorTableSGI((int)target, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } } } public static void glGetColorTableParameterfvSGI(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params); } } public static void glGetColorTableParameterfvSGI(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetColorTableParameterfvSGI(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetColorTableParameterivSGI(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params); } } public static void glGetColorTableParameterivSGI(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetColorTableParameterivSGI(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glPixelTexGenSGIX(int mode) { Delegates.glPixelTexGenSGIX((int)mode); } public static void glSpriteParameterfSGIX(int pname, Single param) { Delegates.glSpriteParameterfSGIX((int)pname, (Single)param); } public static void glSpriteParameterfvSGIX(int pname, IntPtr @params) { unsafe { Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params); } } public static void glSpriteParameterfvSGIX(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params_ptr); } } } public static void glSpriteParameterfvSGIX(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params_ptr); } } } public static void glSpriteParameteriSGIX(int pname, Int32 param) { Delegates.glSpriteParameteriSGIX((int)pname, (Int32)param); } public static void glSpriteParameterivSGIX(int pname, IntPtr @params) { unsafe { Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params); } } public static void glSpriteParameterivSGIX(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params_ptr); } } } public static void glSpriteParameterivSGIX(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params_ptr); } } } public static Int32 glGetInstrumentsSGIX() { return Delegates.glGetInstrumentsSGIX(); } public static void glInstrumentsBufferSGIX(Int32 size, [Out] IntPtr buffer) { unsafe { Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer); } } public static void glInstrumentsBufferSGIX(Int32 size, [Out] Int32[] buffer) { unsafe { fixed (Int32* buffer_ptr = buffer) { Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr); } } } public static void glInstrumentsBufferSGIX(Int32 size, [Out] out Int32 buffer) { unsafe { fixed (Int32* buffer_ptr = &buffer) { Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr); buffer = *buffer_ptr; } } } public static Int32 glPollInstrumentsSGIX([Out] IntPtr marker_p) { unsafe { return Delegates.glPollInstrumentsSGIX((Int32*)marker_p); } } public static Int32 glPollInstrumentsSGIX([Out] Int32[] marker_p) { unsafe { fixed (Int32* marker_p_ptr = marker_p) { return Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr); } } } public static Int32 glPollInstrumentsSGIX([Out] out Int32 marker_p) { unsafe { fixed (Int32* marker_p_ptr = &marker_p) { Int32 retval = Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr); marker_p = *marker_p_ptr; return retval; } } } public static void glReadInstrumentsSGIX(Int32 marker) { Delegates.glReadInstrumentsSGIX((Int32)marker); } public static void glStartInstrumentsSGIX() { Delegates.glStartInstrumentsSGIX(); } public static void glStopInstrumentsSGIX(Int32 marker) { Delegates.glStopInstrumentsSGIX((Int32)marker); } public static void glFrameZoomSGIX(Int32 factor) { Delegates.glFrameZoomSGIX((Int32)factor); } public static void glTagSampleBufferSGIX() { Delegates.glTagSampleBufferSGIX(); } public static void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, IntPtr points) { unsafe { Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points); } } public static void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double[] points) { unsafe { fixed (Double* points_ptr = points) { Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr); } } } public static void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, ref Double points) { unsafe { fixed (Double* points_ptr = &points) { Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr); } } } public static void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, IntPtr points) { unsafe { Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points); } } public static void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single[] points) { unsafe { fixed (Single* points_ptr = points) { Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr); } } } public static void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, ref Single points) { unsafe { fixed (Single* points_ptr = &points) { Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr); } } } public static void glDeformSGIX(int mask) { Delegates.glDeformSGIX((int)mask); } public static void glLoadIdentityDeformationMapSGIX(int mask) { Delegates.glLoadIdentityDeformationMapSGIX((int)mask); } public static void glReferencePlaneSGIX(IntPtr equation) { unsafe { Delegates.glReferencePlaneSGIX((Double*)equation); } } public static void glReferencePlaneSGIX(Double[] equation) { unsafe { fixed (Double* equation_ptr = equation) { Delegates.glReferencePlaneSGIX((Double*)equation_ptr); } } } public static void glReferencePlaneSGIX(ref Double equation) { unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glReferencePlaneSGIX((Double*)equation_ptr); } } } public static void glFlushRasterSGIX() { Delegates.glFlushRasterSGIX(); } [System.CLSCompliant(false)] public static void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params); } } public static void glGetListParameterfvSGIX(Int32 list, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } public static void glGetListParameterfvSGIX(Int32 list, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetListParameterfvSGIX(Int32 list, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetListParameterivSGIX(UInt32 list, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params); } } public static void glGetListParameterivSGIX(Int32 list, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetListParameterivSGIX(UInt32 list, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } public static void glGetListParameterivSGIX(Int32 list, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetListParameterivSGIX(UInt32 list, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetListParameterivSGIX(Int32 list, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glListParameterfSGIX(UInt32 list, int pname, Single param) { Delegates.glListParameterfSGIX((UInt32)list, (int)pname, (Single)param); } public static void glListParameterfSGIX(Int32 list, int pname, Single param) { Delegates.glListParameterfSGIX((UInt32)list, (int)pname, (Single)param); } [System.CLSCompliant(false)] public static void glListParameterfvSGIX(UInt32 list, int pname, IntPtr @params) { unsafe { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params); } } public static void glListParameterfvSGIX(Int32 list, int pname, IntPtr @params) { unsafe { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glListParameterfvSGIX(UInt32 list, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } public static void glListParameterfvSGIX(Int32 list, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glListParameterfvSGIX(UInt32 list, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } public static void glListParameterfvSGIX(Int32 list, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glListParameteriSGIX(UInt32 list, int pname, Int32 param) { Delegates.glListParameteriSGIX((UInt32)list, (int)pname, (Int32)param); } public static void glListParameteriSGIX(Int32 list, int pname, Int32 param) { Delegates.glListParameteriSGIX((UInt32)list, (int)pname, (Int32)param); } [System.CLSCompliant(false)] public static void glListParameterivSGIX(UInt32 list, int pname, IntPtr @params) { unsafe { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params); } } public static void glListParameterivSGIX(Int32 list, int pname, IntPtr @params) { unsafe { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glListParameterivSGIX(UInt32 list, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } public static void glListParameterivSGIX(Int32 list, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glListParameterivSGIX(UInt32 list, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } public static void glListParameterivSGIX(Int32 list, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr); } } } public static void glFragmentColorMaterialSGIX(int face, int mode) { Delegates.glFragmentColorMaterialSGIX((int)face, (int)mode); } public static void glFragmentLightfSGIX(int light, int pname, Single param) { Delegates.glFragmentLightfSGIX((int)light, (int)pname, (Single)param); } public static void glFragmentLightfvSGIX(int light, int pname, IntPtr @params) { unsafe { Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params); } } public static void glFragmentLightfvSGIX(int light, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glFragmentLightfvSGIX(int light, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glFragmentLightiSGIX(int light, int pname, Int32 param) { Delegates.glFragmentLightiSGIX((int)light, (int)pname, (Int32)param); } public static void glFragmentLightivSGIX(int light, int pname, IntPtr @params) { unsafe { Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params); } } public static void glFragmentLightivSGIX(int light, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glFragmentLightivSGIX(int light, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glFragmentLightModelfSGIX(int pname, Single param) { Delegates.glFragmentLightModelfSGIX((int)pname, (Single)param); } public static void glFragmentLightModelfvSGIX(int pname, IntPtr @params) { unsafe { Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params); } } public static void glFragmentLightModelfvSGIX(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params_ptr); } } } public static void glFragmentLightModelfvSGIX(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params_ptr); } } } public static void glFragmentLightModeliSGIX(int pname, Int32 param) { Delegates.glFragmentLightModeliSGIX((int)pname, (Int32)param); } public static void glFragmentLightModelivSGIX(int pname, IntPtr @params) { unsafe { Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params); } } public static void glFragmentLightModelivSGIX(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params_ptr); } } } public static void glFragmentLightModelivSGIX(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params_ptr); } } } public static void glFragmentMaterialfSGIX(int face, int pname, Single param) { Delegates.glFragmentMaterialfSGIX((int)face, (int)pname, (Single)param); } public static void glFragmentMaterialfvSGIX(int face, int pname, IntPtr @params) { unsafe { Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params); } } public static void glFragmentMaterialfvSGIX(int face, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glFragmentMaterialfvSGIX(int face, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glFragmentMaterialiSGIX(int face, int pname, Int32 param) { Delegates.glFragmentMaterialiSGIX((int)face, (int)pname, (Int32)param); } public static void glFragmentMaterialivSGIX(int face, int pname, IntPtr @params) { unsafe { Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params); } } public static void glFragmentMaterialivSGIX(int face, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glFragmentMaterialivSGIX(int face, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFragmentLightfvSGIX(int light, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params); } } public static void glGetFragmentLightfvSGIX(int light, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr); } } } public static void glGetFragmentLightfvSGIX(int light, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFragmentLightivSGIX(int light, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params); } } public static void glGetFragmentLightivSGIX(int light, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFragmentLightivSGIX(int light, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params); } } public static void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr); } } } public static void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFragmentMaterialivSGIX(int face, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params); } } public static void glGetFragmentMaterialivSGIX(int face, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFragmentMaterialivSGIX(int face, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glLightEnviSGIX(int pname, Int32 param) { Delegates.glLightEnviSGIX((int)pname, (Int32)param); } [System.CLSCompliant(false)] public static void glAsyncMarkerSGIX(UInt32 marker) { Delegates.glAsyncMarkerSGIX((UInt32)marker); } public static void glAsyncMarkerSGIX(Int32 marker) { Delegates.glAsyncMarkerSGIX((UInt32)marker); } public static Int32 glFinishAsyncSGIX([Out] IntPtr markerp) { unsafe { return Delegates.glFinishAsyncSGIX((UInt32*)markerp); } } [System.CLSCompliant(false)] public static Int32 glFinishAsyncSGIX([Out] UInt32[] markerp) { unsafe { fixed (UInt32* markerp_ptr = markerp) { return Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); } } } public static Int32 glFinishAsyncSGIX([Out] Int32[] markerp) { unsafe { fixed (Int32* markerp_ptr = markerp) { return Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); } } } [System.CLSCompliant(false)] public static Int32 glFinishAsyncSGIX([Out] out UInt32 markerp) { unsafe { fixed (UInt32* markerp_ptr = &markerp) { Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } } public static Int32 glFinishAsyncSGIX([Out] out Int32 markerp) { unsafe { fixed (Int32* markerp_ptr = &markerp) { Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } } public static Int32 glPollAsyncSGIX([Out] IntPtr markerp) { unsafe { return Delegates.glPollAsyncSGIX((UInt32*)markerp); } } [System.CLSCompliant(false)] public static Int32 glPollAsyncSGIX([Out] UInt32[] markerp) { unsafe { fixed (UInt32* markerp_ptr = markerp) { return Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); } } } public static Int32 glPollAsyncSGIX([Out] Int32[] markerp) { unsafe { fixed (Int32* markerp_ptr = markerp) { return Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); } } } [System.CLSCompliant(false)] public static Int32 glPollAsyncSGIX([Out] out UInt32 markerp) { unsafe { fixed (UInt32* markerp_ptr = &markerp) { Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } } public static Int32 glPollAsyncSGIX([Out] out Int32 markerp) { unsafe { fixed (Int32* markerp_ptr = &markerp) { Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } } public static Int32 glGenAsyncMarkersSGIX(Int32 range) { return Delegates.glGenAsyncMarkersSGIX((Int32)range); } [System.CLSCompliant(false)] public static void glDeleteAsyncMarkersSGIX(UInt32 marker, Int32 range) { Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range); } public static void glDeleteAsyncMarkersSGIX(Int32 marker, Int32 range) { Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range); } [System.CLSCompliant(false)] public static Int32 glIsAsyncMarkerSGIX(UInt32 marker) { return Delegates.glIsAsyncMarkerSGIX((UInt32)marker); } public static Int32 glIsAsyncMarkerSGIX(Int32 marker) { return Delegates.glIsAsyncMarkerSGIX((UInt32)marker); } public static void glIglooInterfaceSGIX(int pname, IntPtr @params) { unsafe { Delegates.glIglooInterfaceSGIX((int)pname, (IntPtr)@params); } } public static void glIglooInterfaceSGIX(int pname, [In, Out] object @params) { unsafe { System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glIglooInterfaceSGIX((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } } } public static void glImageTransformParameteriHP(int target, int pname, Int32 param) { Delegates.glImageTransformParameteriHP((int)target, (int)pname, (Int32)param); } public static void glImageTransformParameterfHP(int target, int pname, Single param) { Delegates.glImageTransformParameterfHP((int)target, (int)pname, (Single)param); } public static void glImageTransformParameterivHP(int target, int pname, IntPtr @params) { unsafe { Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params); } } public static void glImageTransformParameterivHP(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glImageTransformParameterivHP(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glImageTransformParameterfvHP(int target, int pname, IntPtr @params) { unsafe { Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params); } } public static void glImageTransformParameterfvHP(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glImageTransformParameterfvHP(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetImageTransformParameterivHP(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params); } } public static void glGetImageTransformParameterivHP(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetImageTransformParameterivHP(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetImageTransformParameterfvHP(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params); } } public static void glGetImageTransformParameterfvHP(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetImageTransformParameterfvHP(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glHintPGI(int target, Int32 mode) { Delegates.glHintPGI((int)target, (Int32)mode); } public static void glVertexPointervINTEL(Int32 size, int type, IntPtr pointer) { unsafe { Delegates.glVertexPointervINTEL((Int32)size, (int)type, (IntPtr)pointer); } } public static void glVertexPointervINTEL(Int32 size, int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glNormalPointervINTEL(int type, IntPtr pointer) { unsafe { Delegates.glNormalPointervINTEL((int)type, (IntPtr)pointer); } } public static void glNormalPointervINTEL(int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glNormalPointervINTEL((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glColorPointervINTEL(Int32 size, int type, IntPtr pointer) { unsafe { Delegates.glColorPointervINTEL((Int32)size, (int)type, (IntPtr)pointer); } } public static void glColorPointervINTEL(Int32 size, int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glTexCoordPointervINTEL(Int32 size, int type, IntPtr pointer) { unsafe { Delegates.glTexCoordPointervINTEL((Int32)size, (int)type, (IntPtr)pointer); } } public static void glTexCoordPointervINTEL(Int32 size, int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexCoordPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glFinishTextureSUNX() { Delegates.glFinishTextureSUNX(); } [System.CLSCompliant(false)] public static void glGlobalAlphaFactorbSUN(SByte factor) { Delegates.glGlobalAlphaFactorbSUN((SByte)factor); } public static void glGlobalAlphaFactorbSUN(Byte factor) { Delegates.glGlobalAlphaFactorbSUN((SByte)factor); } public static void glGlobalAlphaFactorsSUN(Int16 factor) { Delegates.glGlobalAlphaFactorsSUN((Int16)factor); } public static void glGlobalAlphaFactoriSUN(Int32 factor) { Delegates.glGlobalAlphaFactoriSUN((Int32)factor); } public static void glGlobalAlphaFactorfSUN(Single factor) { Delegates.glGlobalAlphaFactorfSUN((Single)factor); } public static void glGlobalAlphaFactordSUN(Double factor) { Delegates.glGlobalAlphaFactordSUN((Double)factor); } public static void glGlobalAlphaFactorubSUN(Byte factor) { Delegates.glGlobalAlphaFactorubSUN((Byte)factor); } [System.CLSCompliant(false)] public static void glGlobalAlphaFactorusSUN(UInt16 factor) { Delegates.glGlobalAlphaFactorusSUN((UInt16)factor); } public static void glGlobalAlphaFactorusSUN(Int16 factor) { Delegates.glGlobalAlphaFactorusSUN((UInt16)factor); } [System.CLSCompliant(false)] public static void glGlobalAlphaFactoruiSUN(UInt32 factor) { Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor); } public static void glGlobalAlphaFactoruiSUN(Int32 factor) { Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor); } [System.CLSCompliant(false)] public static void glReplacementCodeuiSUN(UInt32 code) { Delegates.glReplacementCodeuiSUN((UInt32)code); } public static void glReplacementCodeuiSUN(Int32 code) { Delegates.glReplacementCodeuiSUN((UInt32)code); } [System.CLSCompliant(false)] public static void glReplacementCodeusSUN(UInt16 code) { Delegates.glReplacementCodeusSUN((UInt16)code); } public static void glReplacementCodeusSUN(Int16 code) { Delegates.glReplacementCodeusSUN((UInt16)code); } public static void glReplacementCodeubSUN(Byte code) { Delegates.glReplacementCodeubSUN((Byte)code); } public static void glReplacementCodeuivSUN(IntPtr code) { unsafe { Delegates.glReplacementCodeuivSUN((UInt32*)code); } } [System.CLSCompliant(false)] public static void glReplacementCodeuivSUN(UInt32[] code) { unsafe { fixed (UInt32* code_ptr = code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } } public static void glReplacementCodeuivSUN(Int32[] code) { unsafe { fixed (Int32* code_ptr = code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuivSUN(ref UInt32 code) { unsafe { fixed (UInt32* code_ptr = &code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } } public static void glReplacementCodeuivSUN(ref Int32 code) { unsafe { fixed (Int32* code_ptr = &code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } } public static void glReplacementCodeusvSUN(IntPtr code) { unsafe { Delegates.glReplacementCodeusvSUN((UInt16*)code); } } [System.CLSCompliant(false)] public static void glReplacementCodeusvSUN(UInt16[] code) { unsafe { fixed (UInt16* code_ptr = code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } } public static void glReplacementCodeusvSUN(Int16[] code) { unsafe { fixed (Int16* code_ptr = code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeusvSUN(ref UInt16 code) { unsafe { fixed (UInt16* code_ptr = &code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } } public static void glReplacementCodeusvSUN(ref Int16 code) { unsafe { fixed (Int16* code_ptr = &code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } } public static void glReplacementCodeubvSUN(IntPtr code) { unsafe { Delegates.glReplacementCodeubvSUN((Byte*)code); } } public static void glReplacementCodeubvSUN(Byte[] code) { unsafe { fixed (Byte* code_ptr = code) { Delegates.glReplacementCodeubvSUN((Byte*)code_ptr); } } } public static void glReplacementCodeubvSUN(ref Byte code) { unsafe { fixed (Byte* code_ptr = &code) { Delegates.glReplacementCodeubvSUN((Byte*)code_ptr); } } } public static void glReplacementCodePointerSUN(int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glReplacementCodePointerSUN((int)type, (Int32)stride, (IntPtr)pointer); } } public static void glReplacementCodePointerSUN(int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glReplacementCodePointerSUN((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glColor4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y) { Delegates.glColor4ubVertex2fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y); } public static void glColor4ubVertex2fvSUN(IntPtr c, IntPtr v) { unsafe { Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v); } } public static void glColor4ubVertex2fvSUN(IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v_ptr); } } } public static void glColor4ubVertex2fvSUN(IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v_ptr); } } } public static void glColor4ubVertex2fvSUN(Byte[] c, IntPtr v) { unsafe { fixed (Byte* c_ptr = c) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v); } } } public static void glColor4ubVertex2fvSUN(Byte[] c, Single[] v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex2fvSUN(Byte[] c, ref Single v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex2fvSUN(ref Byte c, IntPtr v) { unsafe { fixed (Byte* c_ptr = &c) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v); } } } public static void glColor4ubVertex2fvSUN(ref Byte c, Single[] v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex2fvSUN(ref Byte c, ref Single v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { Delegates.glColor4ubVertex3fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); } public static void glColor4ubVertex3fvSUN(IntPtr c, IntPtr v) { unsafe { Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v); } } public static void glColor4ubVertex3fvSUN(IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v_ptr); } } } public static void glColor4ubVertex3fvSUN(IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v_ptr); } } } public static void glColor4ubVertex3fvSUN(Byte[] c, IntPtr v) { unsafe { fixed (Byte* c_ptr = c) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v); } } } public static void glColor4ubVertex3fvSUN(Byte[] c, Single[] v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex3fvSUN(Byte[] c, ref Single v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex3fvSUN(ref Byte c, IntPtr v) { unsafe { fixed (Byte* c_ptr = &c) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v); } } } public static void glColor4ubVertex3fvSUN(ref Byte c, Single[] v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor4ubVertex3fvSUN(ref Byte c, ref Single v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } } public static void glColor3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z) { Delegates.glColor3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); } public static void glColor3fVertex3fvSUN(IntPtr c, IntPtr v) { unsafe { Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v); } } public static void glColor3fVertex3fvSUN(IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v_ptr); } } } public static void glColor3fVertex3fvSUN(IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v_ptr); } } } public static void glColor3fVertex3fvSUN(Single[] c, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v); } } } public static void glColor3fVertex3fvSUN(Single[] c, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } } public static void glColor3fVertex3fvSUN(Single[] c, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } } public static void glColor3fVertex3fvSUN(ref Single c, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v); } } } public static void glColor3fVertex3fvSUN(ref Single c, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } } public static void glColor3fVertex3fvSUN(ref Single c, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } } public static void glNormal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glNormal3fVertex3fSUN((Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glNormal3fVertex3fvSUN(IntPtr n, IntPtr v) { unsafe { Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v); } } public static void glNormal3fVertex3fvSUN(IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v_ptr); } } } public static void glNormal3fVertex3fvSUN(IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v_ptr); } } } public static void glNormal3fVertex3fvSUN(Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v); } } } public static void glNormal3fVertex3fvSUN(Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } } public static void glNormal3fVertex3fvSUN(Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } } public static void glNormal3fVertex3fvSUN(ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v); } } } public static void glNormal3fVertex3fvSUN(ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } } public static void glNormal3fVertex3fvSUN(ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glColor4fNormal3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, IntPtr v) { unsafe { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v); } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z) { Delegates.glTexCoord2fVertex3fSUN((Single)s, (Single)t, (Single)x, (Single)y, (Single)z); } public static void glTexCoord2fVertex3fvSUN(IntPtr tc, IntPtr v) { unsafe { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v); } } public static void glTexCoord2fVertex3fvSUN(IntPtr tc, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fvSUN(IntPtr tc, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fvSUN(Single[] tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v); } } } public static void glTexCoord2fVertex3fvSUN(Single[] tc, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fvSUN(Single[] tc, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fvSUN(ref Single tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v); } } } public static void glTexCoord2fVertex3fvSUN(ref Single tc, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fVertex3fvSUN(ref Single tc, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w) { Delegates.glTexCoord4fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glTexCoord4fVertex4fvSUN(IntPtr tc, IntPtr v) { unsafe { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v); } } public static void glTexCoord4fVertex4fvSUN(IntPtr tc, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fvSUN(IntPtr tc, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fvSUN(Single[] tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v); } } } public static void glTexCoord4fVertex4fvSUN(Single[] tc, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fvSUN(Single[] tc, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fvSUN(ref Single tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v); } } } public static void glTexCoord4fVertex4fvSUN(ref Single tc, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fVertex4fvSUN(ref Single tc, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { Delegates.glTexCoord2fColor4ubVertex3fSUN((Single)s, (Single)t, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v) { unsafe { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v); } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, IntPtr v) { unsafe { fixed (Byte* c_ptr = c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, Single[] v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, ref Single v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, IntPtr v) { unsafe { fixed (Byte* c_ptr = &c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, Single[] v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, ref Single v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = &c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = &c) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z) { Delegates.glTexCoord2fColor3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v) { unsafe { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v); } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glTexCoord2fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, IntPtr v) { unsafe { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v); } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glTexCoord2fColor4fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w) { Delegates.glTexCoord4fColor4fNormal3fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z) { Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiVertex3fSUN(Int32 rc, Single x, Single y, Single z) { Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiVertex3fvSUN(IntPtr rc, IntPtr v) { unsafe { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v); } } public static void glReplacementCodeuiVertex3fvSUN(IntPtr rc, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr); } } } public static void glReplacementCodeuiVertex3fvSUN(IntPtr rc, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v); } } } public static void glReplacementCodeuiVertex3fvSUN(Int32[] rc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiVertex3fvSUN(Int32[] rc, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiVertex3fvSUN(Int32[] rc, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v); } } } public static void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor4ubVertex3fSUN(Int32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v) { unsafe { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v); } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, IntPtr v) { unsafe { fixed (Byte* c_ptr = c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, Single[] v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, ref Single v) { unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, IntPtr v) { unsafe { fixed (Byte* c_ptr = &c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, Single[] v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, ref Single v) { unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = &c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = &c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor3fVertex3fSUN(Int32 rc, Single r, Single g, Single b, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v) { unsafe { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v); } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiNormal3fVertex3fSUN(Int32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, IntPtr v) { unsafe { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v); } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor4fNormal3fVertex3fSUN(Int32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, IntPtr v) { unsafe { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v); } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fVertex3fSUN(Int32 rc, Single s, Single t, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr v) { unsafe { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v); } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(Int32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, IntPtr v) { unsafe { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v); } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(Int32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, IntPtr v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, Single[] v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, ref Single v) { unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } } public static void glDrawMeshArraysSUN(int mode, Int32 first, Int32 count, Int32 width) { Delegates.glDrawMeshArraysSUN((int)mode, (Int32)first, (Int32)count, (Int32)width); } public static void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) { Delegates.glBlendFuncSeparateINGR((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha); } public static void glFlushVertexArrayRangeNV() { Delegates.glFlushVertexArrayRangeNV(); } public static void glVertexArrayRangeNV(Int32 length, IntPtr pointer) { unsafe { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer); } } public static void glVertexArrayRangeNV(Int32 length, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glCombinerParameterfvNV(int pname, IntPtr @params) { unsafe { Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params); } } public static void glCombinerParameterfvNV(int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params_ptr); } } } public static void glCombinerParameterfvNV(int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params_ptr); } } } public static void glCombinerParameterfNV(int pname, Single param) { Delegates.glCombinerParameterfNV((int)pname, (Single)param); } public static void glCombinerParameterivNV(int pname, IntPtr @params) { unsafe { Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params); } } public static void glCombinerParameterivNV(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params_ptr); } } } public static void glCombinerParameterivNV(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params_ptr); } } } public static void glCombinerParameteriNV(int pname, Int32 param) { Delegates.glCombinerParameteriNV((int)pname, (Int32)param); } public static void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage) { Delegates.glCombinerInputNV((int)stage, (int)portion, (int)variable, (int)input, (int)mapping, (int)componentUsage); } public static void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, Int32 abDotProduct, Int32 cdDotProduct, Int32 muxSum) { Delegates.glCombinerOutputNV((int)stage, (int)portion, (int)abOutput, (int)cdOutput, (int)sumOutput, (int)scale, (int)bias, (Int32)abDotProduct, (Int32)cdDotProduct, (Int32)muxSum); } public static void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage) { Delegates.glFinalCombinerInputNV((int)variable, (int)input, (int)mapping, (int)componentUsage); } public static void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params); } } public static void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params_ptr); } } } public static void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params); } } public static void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params_ptr); } } } public static void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params); } } public static void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params_ptr); } } } public static void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params); } } public static void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params_ptr); } } } public static void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params); } } public static void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params_ptr); } } } public static void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params); } } public static void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glDeleteFencesNV(Int32 n, IntPtr fences) { unsafe { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences); } } [System.CLSCompliant(false)] public static void glDeleteFencesNV(Int32 n, UInt32[] fences) { unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } } public static void glDeleteFencesNV(Int32 n, Int32[] fences) { unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteFencesNV(Int32 n, ref UInt32 fences) { unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } } public static void glDeleteFencesNV(Int32 n, ref Int32 fences) { unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } } public static void glGenFencesNV(Int32 n, [Out] IntPtr fences) { unsafe { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences); } } [System.CLSCompliant(false)] public static void glGenFencesNV(Int32 n, [Out] UInt32[] fences) { unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); } } } public static void glGenFencesNV(Int32 n, [Out] Int32[] fences) { unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); } } } [System.CLSCompliant(false)] public static void glGenFencesNV(Int32 n, [Out] out UInt32 fences) { unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } } public static void glGenFencesNV(Int32 n, [Out] out Int32 fences) { unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsFenceNV(UInt32 fence) { return Delegates.glIsFenceNV((UInt32)fence); } public static Int32 glIsFenceNV(Int32 fence) { return Delegates.glIsFenceNV((UInt32)fence); } [System.CLSCompliant(false)] public static Int32 glTestFenceNV(UInt32 fence) { return Delegates.glTestFenceNV((UInt32)fence); } public static Int32 glTestFenceNV(Int32 fence) { return Delegates.glTestFenceNV((UInt32)fence); } [System.CLSCompliant(false)] public static void glGetFenceivNV(UInt32 fence, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params); } } public static void glGetFenceivNV(Int32 fence, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetFenceivNV(UInt32 fence, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr); } } } public static void glGetFenceivNV(Int32 fence, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetFenceivNV(UInt32 fence, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetFenceivNV(Int32 fence, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glFinishFenceNV(UInt32 fence) { Delegates.glFinishFenceNV((UInt32)fence); } public static void glFinishFenceNV(Int32 fence) { Delegates.glFinishFenceNV((UInt32)fence); } [System.CLSCompliant(false)] public static void glSetFenceNV(UInt32 fence, int condition) { Delegates.glSetFenceNV((UInt32)fence, (int)condition); } public static void glSetFenceNV(Int32 fence, int condition) { Delegates.glSetFenceNV((UInt32)fence, (int)condition); } [System.CLSCompliant(false)] public static void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points) { unsafe { Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points); } } public static void glMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points) { unsafe { Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points); } } [System.CLSCompliant(false)] public static void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, [In, Out] object points) { unsafe { System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } } } public static void glMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, [In, Out] object points) { unsafe { System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } } } public static void glMapParameterivNV(int target, int pname, IntPtr @params) { unsafe { Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params); } } public static void glMapParameterivNV(int target, int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glMapParameterivNV(int target, int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glMapParameterfvNV(int target, int pname, IntPtr @params) { unsafe { Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params); } } public static void glMapParameterfvNV(int target, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glMapParameterfvNV(int target, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points) { unsafe { Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points); } } public static void glGetMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points) { unsafe { Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points); } } [System.CLSCompliant(false)] public static void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [In, Out] object points) { unsafe { System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } } } public static void glGetMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [In, Out] object points) { unsafe { System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } } } public static void glGetMapParameterivNV(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params); } } public static void glGetMapParameterivNV(int target, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr); } } } public static void glGetMapParameterivNV(int target, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMapParameterfvNV(int target, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params); } } public static void glGetMapParameterfvNV(int target, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr); } } } public static void glGetMapParameterfvNV(int target, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params); } } public static void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glEvalMapsNV(int target, int mode) { Delegates.glEvalMapsNV((int)target, (int)mode); } public static void glCombinerStageParameterfvNV(int stage, int pname, IntPtr @params) { unsafe { Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params); } } public static void glCombinerStageParameterfvNV(int stage, int pname, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr); } } } public static void glCombinerStageParameterfvNV(int stage, int pname, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr); } } } public static void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params); } } public static void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr); } } } public static void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] IntPtr residences) { unsafe { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences); } } public static Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] Int32[] residences) { unsafe { fixed (Int32* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences_ptr); } } } public static Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] out Int32 residences) { unsafe { fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] IntPtr residences) { unsafe { fixed (UInt32* programs_ptr = programs) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences); } } } public static Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] IntPtr residences) { unsafe { fixed (Int32* programs_ptr = programs) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] Int32[] residences) { unsafe { fixed (UInt32* programs_ptr = programs) fixed (Int32* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] Int32[] residences) { unsafe { fixed (Int32* programs_ptr = programs) fixed (Int32* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] out Int32 residences) { unsafe { fixed (UInt32* programs_ptr = programs) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] out Int32 residences) { unsafe { fixed (Int32* programs_ptr = programs) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] IntPtr residences) { unsafe { fixed (UInt32* programs_ptr = &programs) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences); } } } public static Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] IntPtr residences) { unsafe { fixed (Int32* programs_ptr = &programs) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences); } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] Int32[] residences) { unsafe { fixed (UInt32* programs_ptr = &programs) fixed (Int32* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); } } } public static Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] Int32[] residences) { unsafe { fixed (Int32* programs_ptr = &programs) fixed (Int32* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); } } } [System.CLSCompliant(false)] public static Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] out Int32 residences) { unsafe { fixed (UInt32* programs_ptr = &programs) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } public static Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] out Int32 residences) { unsafe { fixed (Int32* programs_ptr = &programs) fixed (Int32* residences_ptr = &residences) { Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr); residences = *residences_ptr; return retval; } } } [System.CLSCompliant(false)] public static void glBindProgramNV(int target, UInt32 id) { Delegates.glBindProgramNV((int)target, (UInt32)id); } public static void glBindProgramNV(int target, Int32 id) { Delegates.glBindProgramNV((int)target, (UInt32)id); } public static void glDeleteProgramsNV(Int32 n, IntPtr programs) { unsafe { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs); } } [System.CLSCompliant(false)] public static void glDeleteProgramsNV(Int32 n, UInt32[] programs) { unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } public static void glDeleteProgramsNV(Int32 n, Int32[] programs) { unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteProgramsNV(Int32 n, ref UInt32 programs) { unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } public static void glDeleteProgramsNV(Int32 n, ref Int32 programs) { unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glExecuteProgramNV(int target, UInt32 id, IntPtr @params) { unsafe { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params); } } public static void glExecuteProgramNV(int target, Int32 id, IntPtr @params) { unsafe { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params); } } [System.CLSCompliant(false)] public static void glExecuteProgramNV(int target, UInt32 id, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr); } } } public static void glExecuteProgramNV(int target, Int32 id, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glExecuteProgramNV(int target, UInt32 id, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr); } } } public static void glExecuteProgramNV(int target, Int32 id, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr); } } } public static void glGenProgramsNV(Int32 n, [Out] IntPtr programs) { unsafe { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs); } } [System.CLSCompliant(false)] public static void glGenProgramsNV(Int32 n, [Out] UInt32[] programs) { unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } public static void glGenProgramsNV(Int32 n, [Out] Int32[] programs) { unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glGenProgramsNV(Int32 n, [Out] out UInt32 programs) { unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } } public static void glGenProgramsNV(Int32 n, [Out] out Int32 programs) { unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params); } } public static void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr); } } } public static void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params); } } public static void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramivNV(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params); } } public static void glGetProgramivNV(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramivNV(UInt32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } public static void glGetProgramivNV(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramivNV(UInt32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramivNV(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramStringNV(UInt32 id, int pname, [Out] IntPtr program) { unsafe { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program); } } public static void glGetProgramStringNV(Int32 id, int pname, [Out] IntPtr program) { unsafe { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program); } } [System.CLSCompliant(false)] public static void glGetProgramStringNV(UInt32 id, int pname, [Out] Byte[] program) { unsafe { fixed (Byte* program_ptr = program) { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr); } } } public static void glGetProgramStringNV(Int32 id, int pname, [Out] Byte[] program) { unsafe { fixed (Byte* program_ptr = program) { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramStringNV(UInt32 id, int pname, [Out] out Byte program) { unsafe { fixed (Byte* program_ptr = &program) { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr); program = *program_ptr; } } } public static void glGetProgramStringNV(Int32 id, int pname, [Out] out Byte program) { unsafe { fixed (Byte* program_ptr = &program) { Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr); program = *program_ptr; } } } [System.CLSCompliant(false)] public static void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params); } } public static void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr); } } } public static void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params); } } public static void glGetVertexAttribdvNV(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr); } } } public static void glGetVertexAttribdvNV(Int32 index, int pname, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribdvNV(Int32 index, int pname, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params); } } public static void glGetVertexAttribfvNV(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetVertexAttribfvNV(Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribfvNV(Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribivNV(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetVertexAttribivNV(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribivNV(UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVertexAttribivNV(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribivNV(UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribivNV(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointervNV(UInt32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer); } } public static void glGetVertexAttribPointervNV(Int32 index, int pname, [Out] IntPtr pointer) { unsafe { Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glGetVertexAttribPointervNV(UInt32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glGetVertexAttribPointervNV(Int32 index, int pname, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static Int32 glIsProgramNV(UInt32 id) { return Delegates.glIsProgramNV((UInt32)id); } public static Int32 glIsProgramNV(Int32 id) { return Delegates.glIsProgramNV((UInt32)id); } [System.CLSCompliant(false)] public static void glLoadProgramNV(int target, UInt32 id, Int32 len, IntPtr program) { unsafe { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program); } } public static void glLoadProgramNV(int target, Int32 id, Int32 len, IntPtr program) { unsafe { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program); } } [System.CLSCompliant(false)] public static void glLoadProgramNV(int target, UInt32 id, Int32 len, Byte[] program) { unsafe { fixed (Byte* program_ptr = program) { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } } public static void glLoadProgramNV(int target, Int32 id, Int32 len, Byte[] program) { unsafe { fixed (Byte* program_ptr = program) { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } } [System.CLSCompliant(false)] public static void glLoadProgramNV(int target, UInt32 id, Int32 len, ref Byte program) { unsafe { fixed (Byte* program_ptr = &program) { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } } public static void glLoadProgramNV(int target, Int32 id, Int32 len, ref Byte program) { unsafe { fixed (Byte* program_ptr = &program) { Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameter4dNV(int target, UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramParameter4dNV((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glProgramParameter4dNV(int target, Int32 index, Double x, Double y, Double z, Double w) { Delegates.glProgramParameter4dNV((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glProgramParameter4dvNV(int target, UInt32 index, IntPtr v) { unsafe { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v); } } public static void glProgramParameter4dvNV(int target, Int32 index, IntPtr v) { unsafe { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glProgramParameter4dvNV(int target, UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr); } } } public static void glProgramParameter4dvNV(int target, Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameter4dvNV(int target, UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr); } } } public static void glProgramParameter4dvNV(int target, Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameter4fNV(int target, UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramParameter4fNV((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glProgramParameter4fNV(int target, Int32 index, Single x, Single y, Single z, Single w) { Delegates.glProgramParameter4fNV((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glProgramParameter4fvNV(int target, UInt32 index, IntPtr v) { unsafe { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v); } } public static void glProgramParameter4fvNV(int target, Int32 index, IntPtr v) { unsafe { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glProgramParameter4fvNV(int target, UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr); } } } public static void glProgramParameter4fvNV(int target, Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameter4fvNV(int target, UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr); } } } public static void glProgramParameter4fvNV(int target, Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, IntPtr v) { unsafe { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v); } } public static void glProgramParameters4dvNV(int target, Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v); } } [System.CLSCompliant(false)] public static void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } } public static void glProgramParameters4dvNV(int target, Int32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } } public static void glProgramParameters4dvNV(int target, Int32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, IntPtr v) { unsafe { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v); } } public static void glProgramParameters4fvNV(int target, Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v); } } [System.CLSCompliant(false)] public static void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } } public static void glProgramParameters4fvNV(int target, Int32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } } public static void glProgramParameters4fvNV(int target, Int32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } } public static void glRequestResidentProgramsNV(Int32 n, IntPtr programs) { unsafe { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs); } } [System.CLSCompliant(false)] public static void glRequestResidentProgramsNV(Int32 n, UInt32[] programs) { unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } public static void glRequestResidentProgramsNV(Int32 n, Int32[] programs) { unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glRequestResidentProgramsNV(Int32 n, ref UInt32 programs) { unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } public static void glRequestResidentProgramsNV(Int32 n, ref Int32 programs) { unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } } [System.CLSCompliant(false)] public static void glTrackMatrixNV(int target, UInt32 address, int matrix, int transform) { Delegates.glTrackMatrixNV((int)target, (UInt32)address, (int)matrix, (int)transform); } public static void glTrackMatrixNV(int target, Int32 address, int matrix, int transform) { Delegates.glTrackMatrixNV((int)target, (UInt32)address, (int)matrix, (int)transform); } [System.CLSCompliant(false)] public static void glVertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer); } } public static void glVertexAttribPointerNV(Int32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer) { unsafe { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer); } } [System.CLSCompliant(false)] public static void glVertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexAttribPointerNV(Int32 index, Int32 fsize, int type, Int32 stride, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1dNV(UInt32 index, Double x) { Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x); } public static void glVertexAttrib1dNV(Int32 index, Double x) { Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1dvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v); } } public static void glVertexAttrib1dvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1dvNV(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dvNV(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1dvNV(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib1dvNV(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1fNV(UInt32 index, Single x) { Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x); } public static void glVertexAttrib1fNV(Int32 index, Single x) { Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1fvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v); } } public static void glVertexAttrib1fvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1fvNV(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fvNV(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1fvNV(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib1fvNV(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1sNV(UInt32 index, Int16 x) { Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x); } public static void glVertexAttrib1sNV(Int32 index, Int16 x) { Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1svNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v); } } public static void glVertexAttrib1svNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1svNV(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1svNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1svNV(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib1svNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2dNV(UInt32 index, Double x, Double y) { Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y); } public static void glVertexAttrib2dNV(Int32 index, Double x, Double y) { Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2dvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v); } } public static void glVertexAttrib2dvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2dvNV(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dvNV(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2dvNV(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib2dvNV(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2fNV(UInt32 index, Single x, Single y) { Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y); } public static void glVertexAttrib2fNV(Int32 index, Single x, Single y) { Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2fvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v); } } public static void glVertexAttrib2fvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2fvNV(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fvNV(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2fvNV(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib2fvNV(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2sNV(UInt32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y); } public static void glVertexAttrib2sNV(Int32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2svNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v); } } public static void glVertexAttrib2svNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2svNV(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2svNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2svNV(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib2svNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3dNV(UInt32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z); } public static void glVertexAttrib3dNV(Int32 index, Double x, Double y, Double z) { Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3dvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v); } } public static void glVertexAttrib3dvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3dvNV(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dvNV(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3dvNV(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib3dvNV(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3fNV(UInt32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z); } public static void glVertexAttrib3fNV(Int32 index, Single x, Single y, Single z) { Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3fvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v); } } public static void glVertexAttrib3fvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3fvNV(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fvNV(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3fvNV(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib3fvNV(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } public static void glVertexAttrib3sNV(Int32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3svNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v); } } public static void glVertexAttrib3svNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3svNV(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3svNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3svNV(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib3svNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glVertexAttrib4dNV(Int32 index, Double x, Double y, Double z, Double w) { Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4dvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v); } } public static void glVertexAttrib4dvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4dvNV(UInt32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dvNV(Int32 index, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4dvNV(UInt32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } } public static void glVertexAttrib4dvNV(Int32 index, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glVertexAttrib4fNV(Int32 index, Single x, Single y, Single z, Single w) { Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4fvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v); } } public static void glVertexAttrib4fvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4fvNV(UInt32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fvNV(Int32 index, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4fvNV(UInt32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } } public static void glVertexAttrib4fvNV(Int32 index, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glVertexAttrib4sNV(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4svNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v); } } public static void glVertexAttrib4svNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4svNV(UInt32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4svNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4svNV(UInt32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } } public static void glVertexAttrib4svNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } public static void glVertexAttrib4ubNV(Int32 index, Byte x, Byte y, Byte z, Byte w) { Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v); } } public static void glVertexAttrib4ubvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvNV(UInt32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubvNV(Int32 index, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4ubvNV(UInt32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } } public static void glVertexAttrib4ubvNV(Int32 index, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1dvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v); } } public static void glVertexAttribs1dvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs1dvNV(UInt32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs1dvNV(Int32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1dvNV(UInt32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs1dvNV(Int32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1fvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v); } } public static void glVertexAttribs1fvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs1fvNV(UInt32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs1fvNV(Int32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1fvNV(UInt32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs1fvNV(Int32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1svNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v); } } public static void glVertexAttribs1svNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs1svNV(UInt32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs1svNV(Int32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1svNV(UInt32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs1svNV(Int32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2dvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v); } } public static void glVertexAttribs2dvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs2dvNV(UInt32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs2dvNV(Int32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2dvNV(UInt32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs2dvNV(Int32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2fvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v); } } public static void glVertexAttribs2fvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs2fvNV(UInt32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs2fvNV(Int32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2fvNV(UInt32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs2fvNV(Int32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2svNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v); } } public static void glVertexAttribs2svNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs2svNV(UInt32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs2svNV(Int32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2svNV(UInt32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs2svNV(Int32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3dvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v); } } public static void glVertexAttribs3dvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs3dvNV(UInt32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs3dvNV(Int32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3dvNV(UInt32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs3dvNV(Int32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3fvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v); } } public static void glVertexAttribs3fvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs3fvNV(UInt32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs3fvNV(Int32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3fvNV(UInt32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs3fvNV(Int32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3svNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v); } } public static void glVertexAttribs3svNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs3svNV(UInt32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs3svNV(Int32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3svNV(UInt32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs3svNV(Int32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4dvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v); } } public static void glVertexAttribs4dvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs4dvNV(UInt32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs4dvNV(Int32 index, Int32 count, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4dvNV(UInt32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } public static void glVertexAttribs4dvNV(Int32 index, Int32 count, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4fvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v); } } public static void glVertexAttribs4fvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs4fvNV(UInt32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs4fvNV(Int32 index, Int32 count, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4fvNV(UInt32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } public static void glVertexAttribs4fvNV(Int32 index, Int32 count, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4svNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v); } } public static void glVertexAttribs4svNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs4svNV(UInt32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs4svNV(Int32 index, Int32 count, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4svNV(UInt32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } public static void glVertexAttribs4svNV(Int32 index, Int32 count, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4ubvNV(UInt32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v); } } public static void glVertexAttribs4ubvNV(Int32 index, Int32 count, IntPtr v) { unsafe { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs4ubvNV(UInt32 index, Int32 count, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } } public static void glVertexAttribs4ubvNV(Int32 index, Int32 count, Byte[] v) { unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4ubvNV(UInt32 index, Int32 count, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } } public static void glVertexAttribs4ubvNV(Int32 index, Int32 count, ref Byte v) { unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } } public static void glGenOcclusionQueriesNV(Int32 n, [Out] IntPtr ids) { unsafe { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glGenOcclusionQueriesNV(Int32 n, [Out] UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } public static void glGenOcclusionQueriesNV(Int32 n, [Out] Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glGenOcclusionQueriesNV(Int32 n, [Out] out UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glGenOcclusionQueriesNV(Int32 n, [Out] out Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } } public static void glDeleteOcclusionQueriesNV(Int32 n, IntPtr ids) { unsafe { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids); } } [System.CLSCompliant(false)] public static void glDeleteOcclusionQueriesNV(Int32 n, UInt32[] ids) { unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteOcclusionQueriesNV(Int32 n, Int32[] ids) { unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteOcclusionQueriesNV(Int32 n, ref UInt32 ids) { unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } public static void glDeleteOcclusionQueriesNV(Int32 n, ref Int32 ids) { unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } } [System.CLSCompliant(false)] public static Int32 glIsOcclusionQueryNV(UInt32 id) { return Delegates.glIsOcclusionQueryNV((UInt32)id); } public static Int32 glIsOcclusionQueryNV(Int32 id) { return Delegates.glIsOcclusionQueryNV((UInt32)id); } [System.CLSCompliant(false)] public static void glBeginOcclusionQueryNV(UInt32 id) { Delegates.glBeginOcclusionQueryNV((UInt32)id); } public static void glBeginOcclusionQueryNV(Int32 id) { Delegates.glBeginOcclusionQueryNV((UInt32)id); } public static void glEndOcclusionQueryNV() { Delegates.glEndOcclusionQueryNV(); } [System.CLSCompliant(false)] public static void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params); } } public static void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } public static void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params); } } public static void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } public static void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glPointParameteriNV(int pname, Int32 param) { Delegates.glPointParameteriNV((int)pname, (Int32)param); } public static void glPointParameterivNV(int pname, IntPtr @params) { unsafe { Delegates.glPointParameterivNV((int)pname, (Int32*)@params); } } public static void glPointParameterivNV(int pname, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPointParameterivNV((int)pname, (Int32*)@params_ptr); } } } public static void glPointParameterivNV(int pname, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glPointParameterivNV((int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fNV(UInt32 id, Int32 len, IntPtr name, Single x, Single y, Single z, Single w) { unsafe { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w); } } public static void glProgramNamedParameter4fNV(Int32 id, Int32 len, IntPtr name, Single x, Single y, Single z, Single w) { unsafe { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w); } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte[] name, Single x, Single y, Single z, Single w) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } } public static void glProgramNamedParameter4fNV(Int32 id, Int32 len, Byte[] name, Single x, Single y, Single z, Single w) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fNV(UInt32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } } public static void glProgramNamedParameter4fNV(Int32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dNV(UInt32 id, Int32 len, IntPtr name, Double x, Double y, Double z, Double w) { unsafe { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w); } } public static void glProgramNamedParameter4dNV(Int32 id, Int32 len, IntPtr name, Double x, Double y, Double z, Double w) { unsafe { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w); } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte[] name, Double x, Double y, Double z, Double w) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } } public static void glProgramNamedParameter4dNV(Int32 id, Int32 len, Byte[] name, Double x, Double y, Double z, Double w) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dNV(UInt32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } } public static void glProgramNamedParameter4dNV(Int32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v) { unsafe { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v); } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, IntPtr v) { unsafe { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v); } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, IntPtr v) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, IntPtr v) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, Single[] v) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, Single[] v) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, ref Single v) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, ref Single v) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, IntPtr v) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, IntPtr v) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, Single[] v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, Single[] v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, ref Single v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } public static void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, ref Single v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v) { unsafe { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v); } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, IntPtr v) { unsafe { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v); } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, IntPtr v) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, IntPtr v) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, Double[] v) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, Double[] v) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, ref Double v) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, ref Double v) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, IntPtr v) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, IntPtr v) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, Double[] v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, Double[] v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, ref Double v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } public static void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, ref Double v) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params); } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params); } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] Single[] @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] Single[] @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] out Single @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] out Single @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params); } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] Single[] @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] Single[] @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] out Single @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] out Single @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params); } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] Double[] @params) { unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] out Double @params) { unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params); } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = name) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] Double[] @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] Double[] @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] out Double @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] out Double @params) { unsafe { fixed (Byte* name_ptr = name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params); } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] IntPtr @params) { unsafe { fixed (Byte* name_ptr = &name) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] Double[] @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] Double[] @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] out Double @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] out Double @params) { unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glVertex2hNV(UInt16 x, UInt16 y) { Delegates.glVertex2hNV((UInt16)x, (UInt16)y); } public static void glVertex2hNV(Int16 x, Int16 y) { Delegates.glVertex2hNV((UInt16)x, (UInt16)y); } public static void glVertex2hvNV(IntPtr v) { unsafe { Delegates.glVertex2hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertex2hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertex2hvNV((UInt16*)v_ptr); } } } public static void glVertex2hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex2hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertex2hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertex2hvNV((UInt16*)v_ptr); } } } public static void glVertex2hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex2hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertex3hNV(UInt16 x, UInt16 y, UInt16 z) { Delegates.glVertex3hNV((UInt16)x, (UInt16)y, (UInt16)z); } public static void glVertex3hNV(Int16 x, Int16 y, Int16 z) { Delegates.glVertex3hNV((UInt16)x, (UInt16)y, (UInt16)z); } public static void glVertex3hvNV(IntPtr v) { unsafe { Delegates.glVertex3hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertex3hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertex3hvNV((UInt16*)v_ptr); } } } public static void glVertex3hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertex3hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertex3hvNV((UInt16*)v_ptr); } } } public static void glVertex3hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w) { Delegates.glVertex4hNV((UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w); } public static void glVertex4hNV(Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertex4hNV((UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w); } public static void glVertex4hvNV(IntPtr v) { unsafe { Delegates.glVertex4hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertex4hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertex4hvNV((UInt16*)v_ptr); } } } public static void glVertex4hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertex4hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertex4hvNV((UInt16*)v_ptr); } } } public static void glVertex4hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glNormal3hNV(UInt16 nx, UInt16 ny, UInt16 nz) { Delegates.glNormal3hNV((UInt16)nx, (UInt16)ny, (UInt16)nz); } public static void glNormal3hNV(Int16 nx, Int16 ny, Int16 nz) { Delegates.glNormal3hNV((UInt16)nx, (UInt16)ny, (UInt16)nz); } public static void glNormal3hvNV(IntPtr v) { unsafe { Delegates.glNormal3hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glNormal3hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glNormal3hvNV((UInt16*)v_ptr); } } } public static void glNormal3hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glNormal3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glNormal3hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glNormal3hvNV((UInt16*)v_ptr); } } } public static void glNormal3hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glNormal3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3hNV(UInt16 red, UInt16 green, UInt16 blue) { Delegates.glColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glColor3hNV(Int16 red, Int16 green, Int16 blue) { Delegates.glColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glColor3hvNV(IntPtr v) { unsafe { Delegates.glColor3hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glColor3hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor3hvNV((UInt16*)v_ptr); } } } public static void glColor3hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor3hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor3hvNV((UInt16*)v_ptr); } } } public static void glColor3hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha) { Delegates.glColor4hNV((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha); } public static void glColor4hNV(Int16 red, Int16 green, Int16 blue, Int16 alpha) { Delegates.glColor4hNV((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha); } public static void glColor4hvNV(IntPtr v) { unsafe { Delegates.glColor4hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glColor4hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor4hvNV((UInt16*)v_ptr); } } } public static void glColor4hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glColor4hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor4hvNV((UInt16*)v_ptr); } } } public static void glColor4hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord1hNV(UInt16 s) { Delegates.glTexCoord1hNV((UInt16)s); } public static void glTexCoord1hNV(Int16 s) { Delegates.glTexCoord1hNV((UInt16)s); } public static void glTexCoord1hvNV(IntPtr v) { unsafe { Delegates.glTexCoord1hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glTexCoord1hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glTexCoord1hvNV((UInt16*)v_ptr); } } } public static void glTexCoord1hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord1hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord1hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glTexCoord1hvNV((UInt16*)v_ptr); } } } public static void glTexCoord1hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord1hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord2hNV(UInt16 s, UInt16 t) { Delegates.glTexCoord2hNV((UInt16)s, (UInt16)t); } public static void glTexCoord2hNV(Int16 s, Int16 t) { Delegates.glTexCoord2hNV((UInt16)s, (UInt16)t); } public static void glTexCoord2hvNV(IntPtr v) { unsafe { Delegates.glTexCoord2hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glTexCoord2hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glTexCoord2hvNV((UInt16*)v_ptr); } } } public static void glTexCoord2hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord2hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord2hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glTexCoord2hvNV((UInt16*)v_ptr); } } } public static void glTexCoord2hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord2hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord3hNV(UInt16 s, UInt16 t, UInt16 r) { Delegates.glTexCoord3hNV((UInt16)s, (UInt16)t, (UInt16)r); } public static void glTexCoord3hNV(Int16 s, Int16 t, Int16 r) { Delegates.glTexCoord3hNV((UInt16)s, (UInt16)t, (UInt16)r); } public static void glTexCoord3hvNV(IntPtr v) { unsafe { Delegates.glTexCoord3hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glTexCoord3hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glTexCoord3hvNV((UInt16*)v_ptr); } } } public static void glTexCoord3hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord3hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glTexCoord3hvNV((UInt16*)v_ptr); } } } public static void glTexCoord3hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q) { Delegates.glTexCoord4hNV((UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q); } public static void glTexCoord4hNV(Int16 s, Int16 t, Int16 r, Int16 q) { Delegates.glTexCoord4hNV((UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q); } public static void glTexCoord4hvNV(IntPtr v) { unsafe { Delegates.glTexCoord4hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glTexCoord4hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glTexCoord4hvNV((UInt16*)v_ptr); } } } public static void glTexCoord4hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glTexCoord4hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glTexCoord4hvNV((UInt16*)v_ptr); } } } public static void glTexCoord4hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord4hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord1hNV(int target, UInt16 s) { Delegates.glMultiTexCoord1hNV((int)target, (UInt16)s); } public static void glMultiTexCoord1hNV(int target, Int16 s) { Delegates.glMultiTexCoord1hNV((int)target, (UInt16)s); } public static void glMultiTexCoord1hvNV(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glMultiTexCoord1hvNV(int target, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord1hvNV(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord1hvNV(int target, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord1hvNV(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord2hNV(int target, UInt16 s, UInt16 t) { Delegates.glMultiTexCoord2hNV((int)target, (UInt16)s, (UInt16)t); } public static void glMultiTexCoord2hNV(int target, Int16 s, Int16 t) { Delegates.glMultiTexCoord2hNV((int)target, (UInt16)s, (UInt16)t); } public static void glMultiTexCoord2hvNV(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glMultiTexCoord2hvNV(int target, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord2hvNV(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord2hvNV(int target, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord2hvNV(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r) { Delegates.glMultiTexCoord3hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r); } public static void glMultiTexCoord3hNV(int target, Int16 s, Int16 t, Int16 r) { Delegates.glMultiTexCoord3hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r); } public static void glMultiTexCoord3hvNV(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glMultiTexCoord3hvNV(int target, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord3hvNV(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord3hvNV(int target, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord3hvNV(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q) { Delegates.glMultiTexCoord4hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q); } public static void glMultiTexCoord4hNV(int target, Int16 s, Int16 t, Int16 r, Int16 q) { Delegates.glMultiTexCoord4hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q); } public static void glMultiTexCoord4hvNV(int target, IntPtr v) { unsafe { Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glMultiTexCoord4hvNV(int target, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord4hvNV(int target, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glMultiTexCoord4hvNV(int target, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr); } } } public static void glMultiTexCoord4hvNV(int target, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glFogCoordhNV(UInt16 fog) { Delegates.glFogCoordhNV((UInt16)fog); } public static void glFogCoordhNV(Int16 fog) { Delegates.glFogCoordhNV((UInt16)fog); } public static void glFogCoordhvNV(IntPtr fog) { unsafe { Delegates.glFogCoordhvNV((UInt16*)fog); } } [System.CLSCompliant(false)] public static void glFogCoordhvNV(UInt16[] fog) { unsafe { fixed (UInt16* fog_ptr = fog) { Delegates.glFogCoordhvNV((UInt16*)fog_ptr); } } } public static void glFogCoordhvNV(Int16[] fog) { unsafe { fixed (Int16* fog_ptr = fog) { Delegates.glFogCoordhvNV((UInt16*)fog_ptr); } } } [System.CLSCompliant(false)] public static void glFogCoordhvNV(ref UInt16 fog) { unsafe { fixed (UInt16* fog_ptr = &fog) { Delegates.glFogCoordhvNV((UInt16*)fog_ptr); } } } public static void glFogCoordhvNV(ref Int16 fog) { unsafe { fixed (Int16* fog_ptr = &fog) { Delegates.glFogCoordhvNV((UInt16*)fog_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue) { Delegates.glSecondaryColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3hNV(Int16 red, Int16 green, Int16 blue) { Delegates.glSecondaryColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue); } public static void glSecondaryColor3hvNV(IntPtr v) { unsafe { Delegates.glSecondaryColor3hvNV((UInt16*)v); } } [System.CLSCompliant(false)] public static void glSecondaryColor3hvNV(UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr); } } } public static void glSecondaryColor3hvNV(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glSecondaryColor3hvNV(ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr); } } } public static void glSecondaryColor3hvNV(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexWeighthNV(UInt16 weight) { Delegates.glVertexWeighthNV((UInt16)weight); } public static void glVertexWeighthNV(Int16 weight) { Delegates.glVertexWeighthNV((UInt16)weight); } public static void glVertexWeighthvNV(IntPtr weight) { unsafe { Delegates.glVertexWeighthvNV((UInt16*)weight); } } [System.CLSCompliant(false)] public static void glVertexWeighthvNV(UInt16[] weight) { unsafe { fixed (UInt16* weight_ptr = weight) { Delegates.glVertexWeighthvNV((UInt16*)weight_ptr); } } } public static void glVertexWeighthvNV(Int16[] weight) { unsafe { fixed (Int16* weight_ptr = weight) { Delegates.glVertexWeighthvNV((UInt16*)weight_ptr); } } } [System.CLSCompliant(false)] public static void glVertexWeighthvNV(ref UInt16 weight) { unsafe { fixed (UInt16* weight_ptr = &weight) { Delegates.glVertexWeighthvNV((UInt16*)weight_ptr); } } } public static void glVertexWeighthvNV(ref Int16 weight) { unsafe { fixed (Int16* weight_ptr = &weight) { Delegates.glVertexWeighthvNV((UInt16*)weight_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1hNV(UInt32 index, UInt16 x) { Delegates.glVertexAttrib1hNV((UInt32)index, (UInt16)x); } public static void glVertexAttrib1hNV(Int32 index, Int16 x) { Delegates.glVertexAttrib1hNV((UInt32)index, (UInt16)x); } [System.CLSCompliant(false)] public static void glVertexAttrib1hvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib1hvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib1hvNV(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib1hvNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib1hvNV(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib1hvNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y) { Delegates.glVertexAttrib2hNV((UInt32)index, (UInt16)x, (UInt16)y); } public static void glVertexAttrib2hNV(Int32 index, Int16 x, Int16 y) { Delegates.glVertexAttrib2hNV((UInt32)index, (UInt16)x, (UInt16)y); } [System.CLSCompliant(false)] public static void glVertexAttrib2hvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib2hvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib2hvNV(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib2hvNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib2hvNV(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib2hvNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z) { Delegates.glVertexAttrib3hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z); } public static void glVertexAttrib3hNV(Int32 index, Int16 x, Int16 y, Int16 z) { Delegates.glVertexAttrib3hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z); } [System.CLSCompliant(false)] public static void glVertexAttrib3hvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib3hvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib3hvNV(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib3hvNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib3hvNV(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib3hvNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w) { Delegates.glVertexAttrib4hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w); } public static void glVertexAttrib4hNV(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexAttrib4hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w); } [System.CLSCompliant(false)] public static void glVertexAttrib4hvNV(UInt32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v); } } public static void glVertexAttrib4hvNV(Int32 index, IntPtr v) { unsafe { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttrib4hvNV(UInt32 index, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4hvNV(Int32 index, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttrib4hvNV(UInt32 index, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr); } } } public static void glVertexAttrib4hvNV(Int32 index, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1hvNV(UInt32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } public static void glVertexAttribs1hvNV(Int32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs1hvNV(UInt32 index, Int32 n, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs1hvNV(Int32 index, Int32 n, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs1hvNV(UInt32 index, Int32 n, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs1hvNV(Int32 index, Int32 n, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2hvNV(UInt32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } public static void glVertexAttribs2hvNV(Int32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs2hvNV(UInt32 index, Int32 n, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs2hvNV(Int32 index, Int32 n, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs2hvNV(UInt32 index, Int32 n, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs2hvNV(Int32 index, Int32 n, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3hvNV(UInt32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } public static void glVertexAttribs3hvNV(Int32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs3hvNV(UInt32 index, Int32 n, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs3hvNV(Int32 index, Int32 n, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs3hvNV(UInt32 index, Int32 n, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs3hvNV(Int32 index, Int32 n, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4hvNV(UInt32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } public static void glVertexAttribs4hvNV(Int32 index, Int32 n, IntPtr v) { unsafe { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v); } } [System.CLSCompliant(false)] public static void glVertexAttribs4hvNV(UInt32 index, Int32 n, UInt16[] v) { unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs4hvNV(Int32 index, Int32 n, Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } [System.CLSCompliant(false)] public static void glVertexAttribs4hvNV(UInt32 index, Int32 n, ref UInt16 v) { unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glVertexAttribs4hvNV(Int32 index, Int32 n, ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr); } } } public static void glPixelDataRangeNV(int target, Int32 length, [Out] IntPtr pointer) { unsafe { Delegates.glPixelDataRangeNV((int)target, (Int32)length, (IntPtr)pointer); } } public static void glPixelDataRangeNV(int target, Int32 length, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glPixelDataRangeNV((int)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glFlushPixelDataRangeNV(int target) { Delegates.glFlushPixelDataRangeNV((int)target); } public static void glPrimitiveRestartNV() { Delegates.glPrimitiveRestartNV(); } [System.CLSCompliant(false)] public static void glPrimitiveRestartIndexNV(UInt32 index) { Delegates.glPrimitiveRestartIndexNV((UInt32)index); } public static void glPrimitiveRestartIndexNV(Int32 index) { Delegates.glPrimitiveRestartIndexNV((UInt32)index); } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramLocalParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glProgramLocalParameterI4iNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramLocalParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4ivNV(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params); } } public static void glProgramLocalParameterI4ivNV(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4ivNV(int target, UInt32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glProgramLocalParameterI4ivNV(int target, Int32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4ivNV(int target, UInt32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glProgramLocalParameterI4ivNV(int target, Int32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params); } } public static void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { Delegates.glProgramLocalParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } public static void glProgramLocalParameterI4uiNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramLocalParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4uivNV(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params); } } public static void glProgramLocalParameterI4uivNV(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glProgramLocalParameterI4uivNV(int target, Int32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParameterI4uivNV(int target, UInt32 index, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glProgramLocalParameterI4uivNV(int target, Int32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params); } } public static void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramEnvParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glProgramEnvParameterI4iNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramEnvParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4ivNV(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params); } } public static void glProgramEnvParameterI4ivNV(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4ivNV(int target, UInt32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glProgramEnvParameterI4ivNV(int target, Int32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4ivNV(int target, UInt32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glProgramEnvParameterI4ivNV(int target, Int32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params); } } public static void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { Delegates.glProgramEnvParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } public static void glProgramEnvParameterI4uiNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glProgramEnvParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4uivNV(int target, UInt32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params); } } public static void glProgramEnvParameterI4uivNV(int target, Int32 index, IntPtr @params) { unsafe { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glProgramEnvParameterI4uivNV(int target, Int32 index, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParameterI4uivNV(int target, UInt32 index, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glProgramEnvParameterI4uivNV(int target, Int32 index, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params); } } public static void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params); } } public static void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params); } } public static void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params); } } public static void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } public static void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params); } } public static void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] IntPtr @params) { unsafe { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } public static void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] out UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } } public static void glProgramVertexLimitNV(int target, Int32 limit) { Delegates.glProgramVertexLimitNV((int)target, (Int32)limit); } public static void glDepthRangedNV(Double zNear, Double zFar) { Delegates.glDepthRangedNV((Double)zNear, (Double)zFar); } public static void glClearDepthdNV(Double depth) { Delegates.glClearDepthdNV((Double)depth); } public static void glDepthBoundsdNV(Double zmin, Double zmax) { Delegates.glDepthBoundsdNV((Double)zmin, (Double)zmax); } public static void glRenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height) { Delegates.glRenderbufferStorageMultisampleCoverageNV((int)target, (Int32)coverageSamples, (Int32)colorSamples, (int)internalformat, (Int32)width, (Int32)height); } [System.CLSCompliant(false)] public static void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params); } } public static void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params); } } [System.CLSCompliant(false)] public static void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } public static void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, ref Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params); } } public static void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } public static void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params); } } public static void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params) { unsafe { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params); } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32[] @params) { unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref UInt32 @params) { unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } } public static void glBeginTransformFeedbackNV(int primitiveMode) { Delegates.glBeginTransformFeedbackNV((int)primitiveMode); } public static void glEndTransformFeedbackNV() { Delegates.glEndTransformFeedbackNV(); } [System.CLSCompliant(false)] public static void glTransformFeedbackAttribsNV(UInt32 count, IntPtr attribs, int bufferMode) { unsafe { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (int)bufferMode); } } public static void glTransformFeedbackAttribsNV(Int32 count, IntPtr attribs, int bufferMode) { unsafe { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (int)bufferMode); } } [System.CLSCompliant(false)] public static void glTransformFeedbackAttribsNV(UInt32 count, Int32[] attribs, int bufferMode) { unsafe { fixed (Int32* attribs_ptr = attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode); } } } public static void glTransformFeedbackAttribsNV(Int32 count, Int32[] attribs, int bufferMode) { unsafe { fixed (Int32* attribs_ptr = attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode); } } } [System.CLSCompliant(false)] public static void glTransformFeedbackAttribsNV(UInt32 count, ref Int32 attribs, int bufferMode) { unsafe { fixed (Int32* attribs_ptr = &attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode); } } } public static void glTransformFeedbackAttribsNV(Int32 count, ref Int32 attribs, int bufferMode) { unsafe { fixed (Int32* attribs_ptr = &attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode); } } } [System.CLSCompliant(false)] public static void glBindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size) { Delegates.glBindBufferRangeNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); } public static void glBindBufferRangeNV(int target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size) { Delegates.glBindBufferRangeNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); } [System.CLSCompliant(false)] public static void glBindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset) { Delegates.glBindBufferOffsetNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); } public static void glBindBufferOffsetNV(int target, Int32 index, Int32 buffer, IntPtr offset) { Delegates.glBindBufferOffsetNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); } [System.CLSCompliant(false)] public static void glBindBufferBaseNV(int target, UInt32 index, UInt32 buffer) { Delegates.glBindBufferBaseNV((int)target, (UInt32)index, (UInt32)buffer); } public static void glBindBufferBaseNV(int target, Int32 index, Int32 buffer) { Delegates.glBindBufferBaseNV((int)target, (UInt32)index, (UInt32)buffer); } [System.CLSCompliant(false)] public static void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, IntPtr locations, int bufferMode) { unsafe { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations, (int)bufferMode); } } public static void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, IntPtr locations, int bufferMode) { unsafe { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations, (int)bufferMode); } } [System.CLSCompliant(false)] public static void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, Int32[] locations, int bufferMode) { unsafe { fixed (Int32* locations_ptr = locations) { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode); } } } public static void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, Int32[] locations, int bufferMode) { unsafe { fixed (Int32* locations_ptr = locations) { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode); } } } [System.CLSCompliant(false)] public static void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, ref Int32 locations, int bufferMode) { unsafe { fixed (Int32* locations_ptr = &locations) { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode); } } } public static void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, ref Int32 locations, int bufferMode) { unsafe { fixed (Int32* locations_ptr = &locations) { Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode); } } } [System.CLSCompliant(false)] public static void glActiveVaryingNV(UInt32 program, System.String name) { Delegates.glActiveVaryingNV((UInt32)program, (System.String)name); } public static void glActiveVaryingNV(Int32 program, System.String name) { Delegates.glActiveVaryingNV((UInt32)program, (System.String)name); } [System.CLSCompliant(false)] public static Int32 glGetVaryingLocationNV(UInt32 program, System.String name) { return Delegates.glGetVaryingLocationNV((UInt32)program, (System.String)name); } public static Int32 glGetVaryingLocationNV(Int32 program, System.String name) { return Delegates.glGetVaryingLocationNV((UInt32)program, (System.String)name); } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; } } } [System.CLSCompliant(false)] public static void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } public static void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name) { unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (int* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } } [System.CLSCompliant(false)] public static void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] IntPtr location) { unsafe { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location); } } public static void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] IntPtr location) { unsafe { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location); } } [System.CLSCompliant(false)] public static void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32[] location) { unsafe { fixed (Int32* location_ptr = location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); } } } public static void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] Int32[] location) { unsafe { fixed (Int32* location_ptr = location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); } } } [System.CLSCompliant(false)] public static void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] out Int32 location) { unsafe { fixed (Int32* location_ptr = &location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); location = *location_ptr; } } } public static void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] out Int32 location) { unsafe { fixed (Int32* location_ptr = &location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); location = *location_ptr; } } } public static void glResizeBuffersMESA() { Delegates.glResizeBuffersMESA(); } public static void glWindowPos2dMESA(Double x, Double y) { Delegates.glWindowPos2dMESA((Double)x, (Double)y); } public static void glWindowPos2dvMESA(IntPtr v) { unsafe { Delegates.glWindowPos2dvMESA((Double*)v); } } public static void glWindowPos2dvMESA(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dvMESA((Double*)v_ptr); } } } public static void glWindowPos2dvMESA(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dvMESA((Double*)v_ptr); } } } public static void glWindowPos2fMESA(Single x, Single y) { Delegates.glWindowPos2fMESA((Single)x, (Single)y); } public static void glWindowPos2fvMESA(IntPtr v) { unsafe { Delegates.glWindowPos2fvMESA((Single*)v); } } public static void glWindowPos2fvMESA(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fvMESA((Single*)v_ptr); } } } public static void glWindowPos2fvMESA(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fvMESA((Single*)v_ptr); } } } public static void glWindowPos2iMESA(Int32 x, Int32 y) { Delegates.glWindowPos2iMESA((Int32)x, (Int32)y); } public static void glWindowPos2ivMESA(IntPtr v) { unsafe { Delegates.glWindowPos2ivMESA((Int32*)v); } } public static void glWindowPos2ivMESA(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2ivMESA((Int32*)v_ptr); } } } public static void glWindowPos2ivMESA(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2ivMESA((Int32*)v_ptr); } } } public static void glWindowPos2sMESA(Int16 x, Int16 y) { Delegates.glWindowPos2sMESA((Int16)x, (Int16)y); } public static void glWindowPos2svMESA(IntPtr v) { unsafe { Delegates.glWindowPos2svMESA((Int16*)v); } } public static void glWindowPos2svMESA(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2svMESA((Int16*)v_ptr); } } } public static void glWindowPos2svMESA(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2svMESA((Int16*)v_ptr); } } } public static void glWindowPos3dMESA(Double x, Double y, Double z) { Delegates.glWindowPos3dMESA((Double)x, (Double)y, (Double)z); } public static void glWindowPos3dvMESA(IntPtr v) { unsafe { Delegates.glWindowPos3dvMESA((Double*)v); } } public static void glWindowPos3dvMESA(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dvMESA((Double*)v_ptr); } } } public static void glWindowPos3dvMESA(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dvMESA((Double*)v_ptr); } } } public static void glWindowPos3fMESA(Single x, Single y, Single z) { Delegates.glWindowPos3fMESA((Single)x, (Single)y, (Single)z); } public static void glWindowPos3fvMESA(IntPtr v) { unsafe { Delegates.glWindowPos3fvMESA((Single*)v); } } public static void glWindowPos3fvMESA(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fvMESA((Single*)v_ptr); } } } public static void glWindowPos3fvMESA(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fvMESA((Single*)v_ptr); } } } public static void glWindowPos3iMESA(Int32 x, Int32 y, Int32 z) { Delegates.glWindowPos3iMESA((Int32)x, (Int32)y, (Int32)z); } public static void glWindowPos3ivMESA(IntPtr v) { unsafe { Delegates.glWindowPos3ivMESA((Int32*)v); } } public static void glWindowPos3ivMESA(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3ivMESA((Int32*)v_ptr); } } } public static void glWindowPos3ivMESA(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3ivMESA((Int32*)v_ptr); } } } public static void glWindowPos3sMESA(Int16 x, Int16 y, Int16 z) { Delegates.glWindowPos3sMESA((Int16)x, (Int16)y, (Int16)z); } public static void glWindowPos3svMESA(IntPtr v) { unsafe { Delegates.glWindowPos3svMESA((Int16*)v); } } public static void glWindowPos3svMESA(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3svMESA((Int16*)v_ptr); } } } public static void glWindowPos3svMESA(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3svMESA((Int16*)v_ptr); } } } public static void glWindowPos4dMESA(Double x, Double y, Double z, Double w) { Delegates.glWindowPos4dMESA((Double)x, (Double)y, (Double)z, (Double)w); } public static void glWindowPos4dvMESA(IntPtr v) { unsafe { Delegates.glWindowPos4dvMESA((Double*)v); } } public static void glWindowPos4dvMESA(Double[] v) { unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos4dvMESA((Double*)v_ptr); } } } public static void glWindowPos4dvMESA(ref Double v) { unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos4dvMESA((Double*)v_ptr); } } } public static void glWindowPos4fMESA(Single x, Single y, Single z, Single w) { Delegates.glWindowPos4fMESA((Single)x, (Single)y, (Single)z, (Single)w); } public static void glWindowPos4fvMESA(IntPtr v) { unsafe { Delegates.glWindowPos4fvMESA((Single*)v); } } public static void glWindowPos4fvMESA(Single[] v) { unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos4fvMESA((Single*)v_ptr); } } } public static void glWindowPos4fvMESA(ref Single v) { unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos4fvMESA((Single*)v_ptr); } } } public static void glWindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glWindowPos4iMESA((Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glWindowPos4ivMESA(IntPtr v) { unsafe { Delegates.glWindowPos4ivMESA((Int32*)v); } } public static void glWindowPos4ivMESA(Int32[] v) { unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos4ivMESA((Int32*)v_ptr); } } } public static void glWindowPos4ivMESA(ref Int32 v) { unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos4ivMESA((Int32*)v_ptr); } } } public static void glWindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glWindowPos4sMESA((Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glWindowPos4svMESA(IntPtr v) { unsafe { Delegates.glWindowPos4svMESA((Int16*)v); } } public static void glWindowPos4svMESA(Int16[] v) { unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos4svMESA((Int16*)v_ptr); } } } public static void glWindowPos4svMESA(ref Int16 v) { unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos4svMESA((Int16*)v_ptr); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride); } } public static void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = first) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = &first) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = first) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = &first) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(IntPtr mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } public static void glMultiModeDrawElementsIBM(IntPtr mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } public static void glMultiModeDrawElementsIBM(IntPtr mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(IntPtr mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(IntPtr mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(IntPtr mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (Int32* count_ptr = &count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(int[] mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(int[] mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(int[] mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(int[] mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(int[] mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(int[] mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = mode) fixed (Int32* count_ptr = &count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(ref int mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(ref int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(ref int mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(ref int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glMultiModeDrawElementsIBM(ref int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } } public static void glMultiModeDrawElementsIBM(ref int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride) { unsafe { fixed (int* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } } public static void glColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glColorPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glSecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glSecondaryColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glSecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glEdgeFlagPointerListIBM(Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer, (Int32)ptrstride); } } public static void glEdgeFlagPointerListIBM(Int32 stride, Int32[] pointer, Int32 ptrstride) { unsafe { fixed (Int32* pointer_ptr = pointer) { Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer_ptr, (Int32)ptrstride); } } } public static void glEdgeFlagPointerListIBM(Int32 stride, ref Int32 pointer, Int32 ptrstride) { unsafe { fixed (Int32* pointer_ptr = &pointer) { Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer_ptr, (Int32)ptrstride); } } } public static void glFogCoordPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glFogCoordPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glFogCoordPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glFogCoordPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glIndexPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glIndexPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glIndexPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glIndexPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glNormalPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glNormalPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glNormalPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glNormalPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glTexCoordPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glTexCoordPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glTexCoordPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glTexCoordPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } public static void glVertexPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride) { unsafe { Delegates.glVertexPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); } } public static void glVertexPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glTbufferMask3DFX(UInt32 mask) { Delegates.glTbufferMask3DFX((UInt32)mask); } public static void glTbufferMask3DFX(Int32 mask) { Delegates.glTbufferMask3DFX((UInt32)mask); } public static void glTexBumpParameterivATI(int pname, IntPtr param) { unsafe { Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param); } } public static void glTexBumpParameterivATI(int pname, Int32[] param) { unsafe { fixed (Int32* param_ptr = param) { Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param_ptr); } } } public static void glTexBumpParameterivATI(int pname, ref Int32 param) { unsafe { fixed (Int32* param_ptr = ¶m) { Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param_ptr); } } } public static void glTexBumpParameterfvATI(int pname, IntPtr param) { unsafe { Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param); } } public static void glTexBumpParameterfvATI(int pname, Single[] param) { unsafe { fixed (Single* param_ptr = param) { Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param_ptr); } } } public static void glTexBumpParameterfvATI(int pname, ref Single param) { unsafe { fixed (Single* param_ptr = ¶m) { Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param_ptr); } } } public static void glGetTexBumpParameterivATI(int pname, [Out] IntPtr param) { unsafe { Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param); } } public static void glGetTexBumpParameterivATI(int pname, [Out] Int32[] param) { unsafe { fixed (Int32* param_ptr = param) { Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param_ptr); } } } public static void glGetTexBumpParameterivATI(int pname, [Out] out Int32 param) { unsafe { fixed (Int32* param_ptr = ¶m) { Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param_ptr); param = *param_ptr; } } } public static void glGetTexBumpParameterfvATI(int pname, [Out] IntPtr param) { unsafe { Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param); } } public static void glGetTexBumpParameterfvATI(int pname, [Out] Single[] param) { unsafe { fixed (Single* param_ptr = param) { Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param_ptr); } } } public static void glGetTexBumpParameterfvATI(int pname, [Out] out Single param) { unsafe { fixed (Single* param_ptr = ¶m) { Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param_ptr); param = *param_ptr; } } } [System.CLSCompliant(false)] public static Int32 glGenFragmentShadersATI(UInt32 range) { return Delegates.glGenFragmentShadersATI((UInt32)range); } public static Int32 glGenFragmentShadersATI(Int32 range) { return Delegates.glGenFragmentShadersATI((UInt32)range); } [System.CLSCompliant(false)] public static void glBindFragmentShaderATI(UInt32 id) { Delegates.glBindFragmentShaderATI((UInt32)id); } public static void glBindFragmentShaderATI(Int32 id) { Delegates.glBindFragmentShaderATI((UInt32)id); } [System.CLSCompliant(false)] public static void glDeleteFragmentShaderATI(UInt32 id) { Delegates.glDeleteFragmentShaderATI((UInt32)id); } public static void glDeleteFragmentShaderATI(Int32 id) { Delegates.glDeleteFragmentShaderATI((UInt32)id); } public static void glBeginFragmentShaderATI() { Delegates.glBeginFragmentShaderATI(); } public static void glEndFragmentShaderATI() { Delegates.glEndFragmentShaderATI(); } [System.CLSCompliant(false)] public static void glPassTexCoordATI(UInt32 dst, UInt32 coord, int swizzle) { Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (int)swizzle); } public static void glPassTexCoordATI(Int32 dst, Int32 coord, int swizzle) { Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (int)swizzle); } [System.CLSCompliant(false)] public static void glSampleMapATI(UInt32 dst, UInt32 interp, int swizzle) { Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (int)swizzle); } public static void glSampleMapATI(Int32 dst, Int32 interp, int swizzle) { Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (int)swizzle); } [System.CLSCompliant(false)] public static void glColorFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod) { Delegates.glColorFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); } public static void glColorFragmentOp1ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod) { Delegates.glColorFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); } [System.CLSCompliant(false)] public static void glColorFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod) { Delegates.glColorFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); } public static void glColorFragmentOp2ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod) { Delegates.glColorFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); } [System.CLSCompliant(false)] public static void glColorFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod) { Delegates.glColorFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); } public static void glColorFragmentOp3ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod) { Delegates.glColorFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); } [System.CLSCompliant(false)] public static void glAlphaFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod) { Delegates.glAlphaFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); } public static void glAlphaFragmentOp1ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod) { Delegates.glAlphaFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); } [System.CLSCompliant(false)] public static void glAlphaFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod) { Delegates.glAlphaFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); } public static void glAlphaFragmentOp2ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod) { Delegates.glAlphaFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); } [System.CLSCompliant(false)] public static void glAlphaFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod) { Delegates.glAlphaFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); } public static void glAlphaFragmentOp3ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod) { Delegates.glAlphaFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); } [System.CLSCompliant(false)] public static void glSetFragmentShaderConstantATI(UInt32 dst, IntPtr value) { unsafe { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value); } } public static void glSetFragmentShaderConstantATI(Int32 dst, IntPtr value) { unsafe { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value); } } [System.CLSCompliant(false)] public static void glSetFragmentShaderConstantATI(UInt32 dst, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } } public static void glSetFragmentShaderConstantATI(Int32 dst, Single[] value) { unsafe { fixed (Single* value_ptr = value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } } [System.CLSCompliant(false)] public static void glSetFragmentShaderConstantATI(UInt32 dst, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } } public static void glSetFragmentShaderConstantATI(Int32 dst, ref Single value) { unsafe { fixed (Single* value_ptr = &value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } } public static void glPNTrianglesiATI(int pname, Int32 param) { Delegates.glPNTrianglesiATI((int)pname, (Int32)param); } public static void glPNTrianglesfATI(int pname, Single param) { Delegates.glPNTrianglesfATI((int)pname, (Single)param); } public static Int32 glNewObjectBufferATI(Int32 size, IntPtr pointer, int usage) { unsafe { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer, (int)usage); } } public static Int32 glNewObjectBufferATI(Int32 size, [In, Out] object pointer, int usage) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)usage); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static Int32 glIsObjectBufferATI(UInt32 buffer) { return Delegates.glIsObjectBufferATI((UInt32)buffer); } public static Int32 glIsObjectBufferATI(Int32 buffer) { return Delegates.glIsObjectBufferATI((UInt32)buffer); } [System.CLSCompliant(false)] public static void glUpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, int preserve) { unsafe { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (int)preserve); } } public static void glUpdateObjectBufferATI(Int32 buffer, Int32 offset, Int32 size, IntPtr pointer, int preserve) { unsafe { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (int)preserve); } } [System.CLSCompliant(false)] public static void glUpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] object pointer, int preserve) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)preserve); } finally { pointer_ptr.Free(); } } } public static void glUpdateObjectBufferATI(Int32 buffer, Int32 offset, Int32 size, [In, Out] object pointer, int preserve) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)preserve); } finally { pointer_ptr.Free(); } } } [System.CLSCompliant(false)] public static void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params); } } public static void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr); } } } public static void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params); } } public static void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr); } } } public static void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glFreeObjectBufferATI(UInt32 buffer) { Delegates.glFreeObjectBufferATI((UInt32)buffer); } public static void glFreeObjectBufferATI(Int32 buffer) { Delegates.glFreeObjectBufferATI((UInt32)buffer); } [System.CLSCompliant(false)] public static void glArrayObjectATI(int array, Int32 size, int type, Int32 stride, UInt32 buffer, UInt32 offset) { Delegates.glArrayObjectATI((int)array, (Int32)size, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); } public static void glArrayObjectATI(int array, Int32 size, int type, Int32 stride, Int32 buffer, Int32 offset) { Delegates.glArrayObjectATI((int)array, (Int32)size, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); } public static void glGetArrayObjectfvATI(int array, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params); } } public static void glGetArrayObjectfvATI(int array, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params_ptr); } } } public static void glGetArrayObjectfvATI(int array, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetArrayObjectivATI(int array, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params); } } public static void glGetArrayObjectivATI(int array, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params_ptr); } } } public static void glGetArrayObjectivATI(int array, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glVariantArrayObjectATI(UInt32 id, int type, Int32 stride, UInt32 buffer, UInt32 offset) { Delegates.glVariantArrayObjectATI((UInt32)id, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); } public static void glVariantArrayObjectATI(Int32 id, int type, Int32 stride, Int32 buffer, Int32 offset) { Delegates.glVariantArrayObjectATI((UInt32)id, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params); } } public static void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr); } } } public static void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params); } } public static void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glVertexStream1sATI(int stream, Int16 x) { Delegates.glVertexStream1sATI((int)stream, (Int16)x); } public static void glVertexStream1svATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream1svATI((int)stream, (Int16*)coords); } } public static void glVertexStream1svATI(int stream, Int16[] coords) { unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream1svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream1svATI(int stream, ref Int16 coords) { unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream1svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream1iATI(int stream, Int32 x) { Delegates.glVertexStream1iATI((int)stream, (Int32)x); } public static void glVertexStream1ivATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords); } } public static void glVertexStream1ivATI(int stream, Int32[] coords) { unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream1ivATI(int stream, ref Int32 coords) { unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream1fATI(int stream, Single x) { Delegates.glVertexStream1fATI((int)stream, (Single)x); } public static void glVertexStream1fvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream1fvATI((int)stream, (Single*)coords); } } public static void glVertexStream1fvATI(int stream, Single[] coords) { unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream1fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream1fvATI(int stream, ref Single coords) { unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream1fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream1dATI(int stream, Double x) { Delegates.glVertexStream1dATI((int)stream, (Double)x); } public static void glVertexStream1dvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream1dvATI((int)stream, (Double*)coords); } } public static void glVertexStream1dvATI(int stream, Double[] coords) { unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream1dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream1dvATI(int stream, ref Double coords) { unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream1dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream2sATI(int stream, Int16 x, Int16 y) { Delegates.glVertexStream2sATI((int)stream, (Int16)x, (Int16)y); } public static void glVertexStream2svATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream2svATI((int)stream, (Int16*)coords); } } public static void glVertexStream2svATI(int stream, Int16[] coords) { unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream2svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream2svATI(int stream, ref Int16 coords) { unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream2svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream2iATI(int stream, Int32 x, Int32 y) { Delegates.glVertexStream2iATI((int)stream, (Int32)x, (Int32)y); } public static void glVertexStream2ivATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords); } } public static void glVertexStream2ivATI(int stream, Int32[] coords) { unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream2ivATI(int stream, ref Int32 coords) { unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream2fATI(int stream, Single x, Single y) { Delegates.glVertexStream2fATI((int)stream, (Single)x, (Single)y); } public static void glVertexStream2fvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream2fvATI((int)stream, (Single*)coords); } } public static void glVertexStream2fvATI(int stream, Single[] coords) { unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream2fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream2fvATI(int stream, ref Single coords) { unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream2fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream2dATI(int stream, Double x, Double y) { Delegates.glVertexStream2dATI((int)stream, (Double)x, (Double)y); } public static void glVertexStream2dvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream2dvATI((int)stream, (Double*)coords); } } public static void glVertexStream2dvATI(int stream, Double[] coords) { unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream2dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream2dvATI(int stream, ref Double coords) { unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream2dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream3sATI(int stream, Int16 x, Int16 y, Int16 z) { Delegates.glVertexStream3sATI((int)stream, (Int16)x, (Int16)y, (Int16)z); } public static void glVertexStream3svATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream3svATI((int)stream, (Int16*)coords); } } public static void glVertexStream3svATI(int stream, Int16[] coords) { unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream3svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream3svATI(int stream, ref Int16 coords) { unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream3svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream3iATI(int stream, Int32 x, Int32 y, Int32 z) { Delegates.glVertexStream3iATI((int)stream, (Int32)x, (Int32)y, (Int32)z); } public static void glVertexStream3ivATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords); } } public static void glVertexStream3ivATI(int stream, Int32[] coords) { unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream3ivATI(int stream, ref Int32 coords) { unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream3fATI(int stream, Single x, Single y, Single z) { Delegates.glVertexStream3fATI((int)stream, (Single)x, (Single)y, (Single)z); } public static void glVertexStream3fvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream3fvATI((int)stream, (Single*)coords); } } public static void glVertexStream3fvATI(int stream, Single[] coords) { unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream3fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream3fvATI(int stream, ref Single coords) { unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream3fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream3dATI(int stream, Double x, Double y, Double z) { Delegates.glVertexStream3dATI((int)stream, (Double)x, (Double)y, (Double)z); } public static void glVertexStream3dvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream3dvATI((int)stream, (Double*)coords); } } public static void glVertexStream3dvATI(int stream, Double[] coords) { unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream3dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream3dvATI(int stream, ref Double coords) { unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream3dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream4sATI(int stream, Int16 x, Int16 y, Int16 z, Int16 w) { Delegates.glVertexStream4sATI((int)stream, (Int16)x, (Int16)y, (Int16)z, (Int16)w); } public static void glVertexStream4svATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream4svATI((int)stream, (Int16*)coords); } } public static void glVertexStream4svATI(int stream, Int16[] coords) { unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream4svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream4svATI(int stream, ref Int16 coords) { unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream4svATI((int)stream, (Int16*)coords_ptr); } } } public static void glVertexStream4iATI(int stream, Int32 x, Int32 y, Int32 z, Int32 w) { Delegates.glVertexStream4iATI((int)stream, (Int32)x, (Int32)y, (Int32)z, (Int32)w); } public static void glVertexStream4ivATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords); } } public static void glVertexStream4ivATI(int stream, Int32[] coords) { unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream4ivATI(int stream, ref Int32 coords) { unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glVertexStream4fATI(int stream, Single x, Single y, Single z, Single w) { Delegates.glVertexStream4fATI((int)stream, (Single)x, (Single)y, (Single)z, (Single)w); } public static void glVertexStream4fvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream4fvATI((int)stream, (Single*)coords); } } public static void glVertexStream4fvATI(int stream, Single[] coords) { unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream4fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream4fvATI(int stream, ref Single coords) { unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream4fvATI((int)stream, (Single*)coords_ptr); } } } public static void glVertexStream4dATI(int stream, Double x, Double y, Double z, Double w) { Delegates.glVertexStream4dATI((int)stream, (Double)x, (Double)y, (Double)z, (Double)w); } public static void glVertexStream4dvATI(int stream, IntPtr coords) { unsafe { Delegates.glVertexStream4dvATI((int)stream, (Double*)coords); } } public static void glVertexStream4dvATI(int stream, Double[] coords) { unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream4dvATI((int)stream, (Double*)coords_ptr); } } } public static void glVertexStream4dvATI(int stream, ref Double coords) { unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream4dvATI((int)stream, (Double*)coords_ptr); } } } [System.CLSCompliant(false)] public static void glNormalStream3bATI(int stream, SByte nx, SByte ny, SByte nz) { Delegates.glNormalStream3bATI((int)stream, (SByte)nx, (SByte)ny, (SByte)nz); } public static void glNormalStream3bATI(int stream, Byte nx, Byte ny, Byte nz) { Delegates.glNormalStream3bATI((int)stream, (SByte)nx, (SByte)ny, (SByte)nz); } public static void glNormalStream3bvATI(int stream, IntPtr coords) { unsafe { Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords); } } [System.CLSCompliant(false)] public static void glNormalStream3bvATI(int stream, SByte[] coords) { unsafe { fixed (SByte* coords_ptr = coords) { Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr); } } } public static void glNormalStream3bvATI(int stream, Byte[] coords) { unsafe { fixed (Byte* coords_ptr = coords) { Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr); } } } [System.CLSCompliant(false)] public static void glNormalStream3bvATI(int stream, ref SByte coords) { unsafe { fixed (SByte* coords_ptr = &coords) { Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr); } } } public static void glNormalStream3bvATI(int stream, ref Byte coords) { unsafe { fixed (Byte* coords_ptr = &coords) { Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr); } } } public static void glNormalStream3sATI(int stream, Int16 nx, Int16 ny, Int16 nz) { Delegates.glNormalStream3sATI((int)stream, (Int16)nx, (Int16)ny, (Int16)nz); } public static void glNormalStream3svATI(int stream, IntPtr coords) { unsafe { Delegates.glNormalStream3svATI((int)stream, (Int16*)coords); } } public static void glNormalStream3svATI(int stream, Int16[] coords) { unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glNormalStream3svATI((int)stream, (Int16*)coords_ptr); } } } public static void glNormalStream3svATI(int stream, ref Int16 coords) { unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glNormalStream3svATI((int)stream, (Int16*)coords_ptr); } } } public static void glNormalStream3iATI(int stream, Int32 nx, Int32 ny, Int32 nz) { Delegates.glNormalStream3iATI((int)stream, (Int32)nx, (Int32)ny, (Int32)nz); } public static void glNormalStream3ivATI(int stream, IntPtr coords) { unsafe { Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords); } } public static void glNormalStream3ivATI(int stream, Int32[] coords) { unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glNormalStream3ivATI(int stream, ref Int32 coords) { unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords_ptr); } } } public static void glNormalStream3fATI(int stream, Single nx, Single ny, Single nz) { Delegates.glNormalStream3fATI((int)stream, (Single)nx, (Single)ny, (Single)nz); } public static void glNormalStream3fvATI(int stream, IntPtr coords) { unsafe { Delegates.glNormalStream3fvATI((int)stream, (Single*)coords); } } public static void glNormalStream3fvATI(int stream, Single[] coords) { unsafe { fixed (Single* coords_ptr = coords) { Delegates.glNormalStream3fvATI((int)stream, (Single*)coords_ptr); } } } public static void glNormalStream3fvATI(int stream, ref Single coords) { unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glNormalStream3fvATI((int)stream, (Single*)coords_ptr); } } } public static void glNormalStream3dATI(int stream, Double nx, Double ny, Double nz) { Delegates.glNormalStream3dATI((int)stream, (Double)nx, (Double)ny, (Double)nz); } public static void glNormalStream3dvATI(int stream, IntPtr coords) { unsafe { Delegates.glNormalStream3dvATI((int)stream, (Double*)coords); } } public static void glNormalStream3dvATI(int stream, Double[] coords) { unsafe { fixed (Double* coords_ptr = coords) { Delegates.glNormalStream3dvATI((int)stream, (Double*)coords_ptr); } } } public static void glNormalStream3dvATI(int stream, ref Double coords) { unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glNormalStream3dvATI((int)stream, (Double*)coords_ptr); } } } public static void glClientActiveVertexStreamATI(int stream) { Delegates.glClientActiveVertexStreamATI((int)stream); } public static void glVertexBlendEnviATI(int pname, Int32 param) { Delegates.glVertexBlendEnviATI((int)pname, (Int32)param); } public static void glVertexBlendEnvfATI(int pname, Single param) { Delegates.glVertexBlendEnvfATI((int)pname, (Single)param); } public static void glElementPointerATI(int type, IntPtr pointer) { unsafe { Delegates.glElementPointerATI((int)type, (IntPtr)pointer); } } public static void glElementPointerATI(int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glElementPointerATI((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glDrawElementArrayATI(int mode, Int32 count) { Delegates.glDrawElementArrayATI((int)mode, (Int32)count); } [System.CLSCompliant(false)] public static void glDrawRangeElementArrayATI(int mode, UInt32 start, UInt32 end, Int32 count) { Delegates.glDrawRangeElementArrayATI((int)mode, (UInt32)start, (UInt32)end, (Int32)count); } public static void glDrawRangeElementArrayATI(int mode, Int32 start, Int32 end, Int32 count) { Delegates.glDrawRangeElementArrayATI((int)mode, (UInt32)start, (UInt32)end, (Int32)count); } public static void glDrawBuffersATI(Int32 n, IntPtr bufs) { unsafe { Delegates.glDrawBuffersATI((Int32)n, (int*)bufs); } } public static void glDrawBuffersATI(Int32 n, int[] bufs) { unsafe { fixed (int* bufs_ptr = bufs) { Delegates.glDrawBuffersATI((Int32)n, (int*)bufs_ptr); } } } public static void glDrawBuffersATI(Int32 n, ref int bufs) { unsafe { fixed (int* bufs_ptr = &bufs) { Delegates.glDrawBuffersATI((Int32)n, (int*)bufs_ptr); } } } [System.CLSCompliant(false)] public static IntPtr glMapObjectBufferATI(UInt32 buffer) { return Delegates.glMapObjectBufferATI((UInt32)buffer); } public static IntPtr glMapObjectBufferATI(Int32 buffer) { return Delegates.glMapObjectBufferATI((UInt32)buffer); } [System.CLSCompliant(false)] public static void glUnmapObjectBufferATI(UInt32 buffer) { Delegates.glUnmapObjectBufferATI((UInt32)buffer); } public static void glUnmapObjectBufferATI(Int32 buffer) { Delegates.glUnmapObjectBufferATI((UInt32)buffer); } public static void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass) { Delegates.glStencilOpSeparateATI((int)face, (int)sfail, (int)dpfail, (int)dppass); } [System.CLSCompliant(false)] public static void glStencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, UInt32 mask) { Delegates.glStencilFuncSeparateATI((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask); } public static void glStencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, Int32 mask) { Delegates.glStencilFuncSeparateATI((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask); } [System.CLSCompliant(false)] public static void glVertexAttribArrayObjectATI(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, UInt32 buffer, UInt32 offset) { Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset); } public static void glVertexAttribArrayObjectATI(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, Int32 buffer, Int32 offset) { Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset); } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params); } } public static void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr); } } } public static void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] Single[] @params) { unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] out Single @params) { unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr); @params = *@params_ptr; } } } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params); } } public static void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] IntPtr @params) { unsafe { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params); } } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } public static void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] Int32[] @params) { unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr); } } } [System.CLSCompliant(false)] public static void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] out Int32 @params) { unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } } public static void glElementPointerAPPLE(int type, IntPtr pointer) { unsafe { Delegates.glElementPointerAPPLE((int)type, (IntPtr)pointer); } } public static void glElementPointerAPPLE(int type, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glElementPointerAPPLE((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glDrawElementArrayAPPLE(int mode, Int32 first, Int32 count) { Delegates.glDrawElementArrayAPPLE((int)mode, (Int32)first, (Int32)count); } [System.CLSCompliant(false)] public static void glDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32 first, Int32 count) { Delegates.glDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count); } public static void glDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32 first, Int32 count) { Delegates.glDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count); } public static void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, IntPtr count, Int32 primcount) { unsafe { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount); } } public static void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, IntPtr count, Int32 primcount) { unsafe { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount); } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, IntPtr count, Int32 primcount) { unsafe { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount); } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, IntPtr count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, Int32[] count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } [System.CLSCompliant(false)] public static void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, ref Int32 count, Int32 primcount) { unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } } public static void glGenFencesAPPLE(Int32 n, [Out] IntPtr fences) { unsafe { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences); } } [System.CLSCompliant(false)] public static void glGenFencesAPPLE(Int32 n, [Out] UInt32[] fences) { unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } public static void glGenFencesAPPLE(Int32 n, [Out] Int32[] fences) { unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } [System.CLSCompliant(false)] public static void glGenFencesAPPLE(Int32 n, [Out] out UInt32 fences) { unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } } public static void glGenFencesAPPLE(Int32 n, [Out] out Int32 fences) { unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } } public static void glDeleteFencesAPPLE(Int32 n, IntPtr fences) { unsafe { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences); } } [System.CLSCompliant(false)] public static void glDeleteFencesAPPLE(Int32 n, UInt32[] fences) { unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } public static void glDeleteFencesAPPLE(Int32 n, Int32[] fences) { unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteFencesAPPLE(Int32 n, ref UInt32 fences) { unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } public static void glDeleteFencesAPPLE(Int32 n, ref Int32 fences) { unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } } [System.CLSCompliant(false)] public static void glSetFenceAPPLE(UInt32 fence) { Delegates.glSetFenceAPPLE((UInt32)fence); } public static void glSetFenceAPPLE(Int32 fence) { Delegates.glSetFenceAPPLE((UInt32)fence); } [System.CLSCompliant(false)] public static Int32 glIsFenceAPPLE(UInt32 fence) { return Delegates.glIsFenceAPPLE((UInt32)fence); } public static Int32 glIsFenceAPPLE(Int32 fence) { return Delegates.glIsFenceAPPLE((UInt32)fence); } [System.CLSCompliant(false)] public static Int32 glTestFenceAPPLE(UInt32 fence) { return Delegates.glTestFenceAPPLE((UInt32)fence); } public static Int32 glTestFenceAPPLE(Int32 fence) { return Delegates.glTestFenceAPPLE((UInt32)fence); } [System.CLSCompliant(false)] public static void glFinishFenceAPPLE(UInt32 fence) { Delegates.glFinishFenceAPPLE((UInt32)fence); } public static void glFinishFenceAPPLE(Int32 fence) { Delegates.glFinishFenceAPPLE((UInt32)fence); } [System.CLSCompliant(false)] public static Int32 glTestObjectAPPLE(int @object, UInt32 name) { return Delegates.glTestObjectAPPLE((int)@object, (UInt32)name); } public static Int32 glTestObjectAPPLE(int @object, Int32 name) { return Delegates.glTestObjectAPPLE((int)@object, (UInt32)name); } public static void glFinishObjectAPPLE(int @object, Int32 name) { Delegates.glFinishObjectAPPLE((int)@object, (Int32)name); } [System.CLSCompliant(false)] public static void glBindVertexArrayAPPLE(UInt32 array) { Delegates.glBindVertexArrayAPPLE((UInt32)array); } public static void glBindVertexArrayAPPLE(Int32 array) { Delegates.glBindVertexArrayAPPLE((UInt32)array); } public static void glDeleteVertexArraysAPPLE(Int32 n, IntPtr arrays) { unsafe { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays); } } [System.CLSCompliant(false)] public static void glDeleteVertexArraysAPPLE(Int32 n, UInt32[] arrays) { unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } public static void glDeleteVertexArraysAPPLE(Int32 n, Int32[] arrays) { unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } [System.CLSCompliant(false)] public static void glDeleteVertexArraysAPPLE(Int32 n, ref UInt32 arrays) { unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } public static void glDeleteVertexArraysAPPLE(Int32 n, ref Int32 arrays) { unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } public static void glGenVertexArraysAPPLE(Int32 n, [Out] IntPtr arrays) { unsafe { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays); } } [System.CLSCompliant(false)] public static void glGenVertexArraysAPPLE(Int32 n, [Out] UInt32[] arrays) { unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } public static void glGenVertexArraysAPPLE(Int32 n, [Out] Int32[] arrays) { unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } } [System.CLSCompliant(false)] public static void glGenVertexArraysAPPLE(Int32 n, [Out] out UInt32 arrays) { unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } } public static void glGenVertexArraysAPPLE(Int32 n, [Out] out Int32 arrays) { unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } } [System.CLSCompliant(false)] public static Int32 glIsVertexArrayAPPLE(UInt32 array) { return Delegates.glIsVertexArrayAPPLE((UInt32)array); } public static Int32 glIsVertexArrayAPPLE(Int32 array) { return Delegates.glIsVertexArrayAPPLE((UInt32)array); } public static void glVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer) { unsafe { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer); } } public static void glVertexArrayRangeAPPLE(Int32 length, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glFlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer) { unsafe { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer); } } public static void glFlushVertexArrayRangeAPPLE(Int32 length, [In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } public static void glVertexArrayParameteriAPPLE(int pname, Int32 param) { Delegates.glVertexArrayParameteriAPPLE((int)pname, (Int32)param); } public static void glBufferParameteriAPPLE(int target, int pname, Int32 param) { Delegates.glBufferParameteriAPPLE((int)target, (int)pname, (Int32)param); } public static void glFlushMappedBufferRangeAPPLE(int target, IntPtr offset, IntPtr size) { Delegates.glFlushMappedBufferRangeAPPLE((int)target, (IntPtr)offset, (IntPtr)size); } public static void glStringMarkerGREMEDY(Int32 len, IntPtr @string) { unsafe { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string); } } public static void glStringMarkerGREMEDY(Int32 len, [In, Out] object @string) { unsafe { System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } } } } } opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/GLDelegates.cs0000664000175000017500000125072011453131430023177 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace Tao.OpenGl { using System; using System.Runtime.InteropServices; #pragma warning disable 0649 partial class Gl { internal static partial class Delegates { [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NewList(UInt32 list, int mode); internal static NewList glNewList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndList(); internal static EndList glEndList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CallList(UInt32 list); internal static CallList glCallList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CallLists(Int32 n, int type, IntPtr lists); internal static CallLists glCallLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteLists(UInt32 list, Int32 range); internal static DeleteLists glDeleteLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenLists(Int32 range); internal static GenLists glGenLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListBase(UInt32 @base); internal static ListBase glListBase; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Begin(int mode); internal static Begin glBegin; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap); internal unsafe static Bitmap glBitmap; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3b(SByte red, SByte green, SByte blue); internal static Color3b glColor3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3bv(SByte* v); internal unsafe static Color3bv glColor3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3d(Double red, Double green, Double blue); internal static Color3d glColor3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3dv(Double* v); internal unsafe static Color3dv glColor3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3f(Single red, Single green, Single blue); internal static Color3f glColor3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3fv(Single* v); internal unsafe static Color3fv glColor3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3i(Int32 red, Int32 green, Int32 blue); internal static Color3i glColor3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3iv(Int32* v); internal unsafe static Color3iv glColor3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3s(Int16 red, Int16 green, Int16 blue); internal static Color3s glColor3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3sv(Int16* v); internal unsafe static Color3sv glColor3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3ub(Byte red, Byte green, Byte blue); internal static Color3ub glColor3ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3ubv(Byte* v); internal unsafe static Color3ubv glColor3ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3ui(UInt32 red, UInt32 green, UInt32 blue); internal static Color3ui glColor3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3uiv(UInt32* v); internal unsafe static Color3uiv glColor3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3us(UInt16 red, UInt16 green, UInt16 blue); internal static Color3us glColor3us; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3usv(UInt16* v); internal unsafe static Color3usv glColor3usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4b(SByte red, SByte green, SByte blue, SByte alpha); internal static Color4b glColor4b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4bv(SByte* v); internal unsafe static Color4bv glColor4bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4d(Double red, Double green, Double blue, Double alpha); internal static Color4d glColor4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4dv(Double* v); internal unsafe static Color4dv glColor4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4f(Single red, Single green, Single blue, Single alpha); internal static Color4f glColor4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4fv(Single* v); internal unsafe static Color4fv glColor4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static Color4i glColor4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4iv(Int32* v); internal unsafe static Color4iv glColor4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha); internal static Color4s glColor4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4sv(Int16* v); internal unsafe static Color4sv glColor4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ub(Byte red, Byte green, Byte blue, Byte alpha); internal static Color4ub glColor4ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubv(Byte* v); internal unsafe static Color4ubv glColor4ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); internal static Color4ui glColor4ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4uiv(UInt32* v); internal unsafe static Color4uiv glColor4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha); internal static Color4us glColor4us; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4usv(UInt16* v); internal unsafe static Color4usv glColor4usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EdgeFlag(Int32 flag); internal static EdgeFlag glEdgeFlag; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagv(Int32* flag); internal unsafe static EdgeFlagv glEdgeFlagv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void End(); internal static End glEnd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexd(Double c); internal static Indexd glIndexd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexdv(Double* c); internal unsafe static Indexdv glIndexdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexf(Single c); internal static Indexf glIndexf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexfv(Single* c); internal unsafe static Indexfv glIndexfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexi(Int32 c); internal static Indexi glIndexi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexiv(Int32* c); internal unsafe static Indexiv glIndexiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexs(Int16 c); internal static Indexs glIndexs; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexsv(Int16* c); internal unsafe static Indexsv glIndexsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3b(SByte nx, SByte ny, SByte nz); internal static Normal3b glNormal3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3bv(SByte* v); internal unsafe static Normal3bv glNormal3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3d(Double nx, Double ny, Double nz); internal static Normal3d glNormal3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3dv(Double* v); internal unsafe static Normal3dv glNormal3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3f(Single nx, Single ny, Single nz); internal static Normal3f glNormal3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3fv(Single* v); internal unsafe static Normal3fv glNormal3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3i(Int32 nx, Int32 ny, Int32 nz); internal static Normal3i glNormal3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3iv(Int32* v); internal unsafe static Normal3iv glNormal3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3s(Int16 nx, Int16 ny, Int16 nz); internal static Normal3s glNormal3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3sv(Int16* v); internal unsafe static Normal3sv glNormal3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2d(Double x, Double y); internal static RasterPos2d glRasterPos2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2dv(Double* v); internal unsafe static RasterPos2dv glRasterPos2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2f(Single x, Single y); internal static RasterPos2f glRasterPos2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2fv(Single* v); internal unsafe static RasterPos2fv glRasterPos2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2i(Int32 x, Int32 y); internal static RasterPos2i glRasterPos2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2iv(Int32* v); internal unsafe static RasterPos2iv glRasterPos2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2s(Int16 x, Int16 y); internal static RasterPos2s glRasterPos2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2sv(Int16* v); internal unsafe static RasterPos2sv glRasterPos2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3d(Double x, Double y, Double z); internal static RasterPos3d glRasterPos3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3dv(Double* v); internal unsafe static RasterPos3dv glRasterPos3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3f(Single x, Single y, Single z); internal static RasterPos3f glRasterPos3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3fv(Single* v); internal unsafe static RasterPos3fv glRasterPos3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3i(Int32 x, Int32 y, Int32 z); internal static RasterPos3i glRasterPos3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3iv(Int32* v); internal unsafe static RasterPos3iv glRasterPos3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3s(Int16 x, Int16 y, Int16 z); internal static RasterPos3s glRasterPos3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3sv(Int16* v); internal unsafe static RasterPos3sv glRasterPos3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4d(Double x, Double y, Double z, Double w); internal static RasterPos4d glRasterPos4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4dv(Double* v); internal unsafe static RasterPos4dv glRasterPos4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4f(Single x, Single y, Single z, Single w); internal static RasterPos4f glRasterPos4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4fv(Single* v); internal unsafe static RasterPos4fv glRasterPos4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w); internal static RasterPos4i glRasterPos4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4iv(Int32* v); internal unsafe static RasterPos4iv glRasterPos4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w); internal static RasterPos4s glRasterPos4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4sv(Int16* v); internal unsafe static RasterPos4sv glRasterPos4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rectd(Double x1, Double y1, Double x2, Double y2); internal static Rectd glRectd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectdv(Double* v1, Double* v2); internal unsafe static Rectdv glRectdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rectf(Single x1, Single y1, Single x2, Single y2); internal static Rectf glRectf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectfv(Single* v1, Single* v2); internal unsafe static Rectfv glRectfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2); internal static Recti glRecti; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectiv(Int32* v1, Int32* v2); internal unsafe static Rectiv glRectiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2); internal static Rects glRects; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectsv(Int16* v1, Int16* v2); internal unsafe static Rectsv glRectsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1d(Double s); internal static TexCoord1d glTexCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1dv(Double* v); internal unsafe static TexCoord1dv glTexCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1f(Single s); internal static TexCoord1f glTexCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1fv(Single* v); internal unsafe static TexCoord1fv glTexCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1i(Int32 s); internal static TexCoord1i glTexCoord1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1iv(Int32* v); internal unsafe static TexCoord1iv glTexCoord1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1s(Int16 s); internal static TexCoord1s glTexCoord1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1sv(Int16* v); internal unsafe static TexCoord1sv glTexCoord1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2d(Double s, Double t); internal static TexCoord2d glTexCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2dv(Double* v); internal unsafe static TexCoord2dv glTexCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2f(Single s, Single t); internal static TexCoord2f glTexCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fv(Single* v); internal unsafe static TexCoord2fv glTexCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2i(Int32 s, Int32 t); internal static TexCoord2i glTexCoord2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2iv(Int32* v); internal unsafe static TexCoord2iv glTexCoord2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2s(Int16 s, Int16 t); internal static TexCoord2s glTexCoord2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2sv(Int16* v); internal unsafe static TexCoord2sv glTexCoord2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3d(Double s, Double t, Double r); internal static TexCoord3d glTexCoord3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3dv(Double* v); internal unsafe static TexCoord3dv glTexCoord3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3f(Single s, Single t, Single r); internal static TexCoord3f glTexCoord3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3fv(Single* v); internal unsafe static TexCoord3fv glTexCoord3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3i(Int32 s, Int32 t, Int32 r); internal static TexCoord3i glTexCoord3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3iv(Int32* v); internal unsafe static TexCoord3iv glTexCoord3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3s(Int16 s, Int16 t, Int16 r); internal static TexCoord3s glTexCoord3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3sv(Int16* v); internal unsafe static TexCoord3sv glTexCoord3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4d(Double s, Double t, Double r, Double q); internal static TexCoord4d glTexCoord4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4dv(Double* v); internal unsafe static TexCoord4dv glTexCoord4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4f(Single s, Single t, Single r, Single q); internal static TexCoord4f glTexCoord4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fv(Single* v); internal unsafe static TexCoord4fv glTexCoord4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q); internal static TexCoord4i glTexCoord4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4iv(Int32* v); internal unsafe static TexCoord4iv glTexCoord4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q); internal static TexCoord4s glTexCoord4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4sv(Int16* v); internal unsafe static TexCoord4sv glTexCoord4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2d(Double x, Double y); internal static Vertex2d glVertex2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2dv(Double* v); internal unsafe static Vertex2dv glVertex2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2f(Single x, Single y); internal static Vertex2f glVertex2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2fv(Single* v); internal unsafe static Vertex2fv glVertex2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2i(Int32 x, Int32 y); internal static Vertex2i glVertex2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2iv(Int32* v); internal unsafe static Vertex2iv glVertex2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2s(Int16 x, Int16 y); internal static Vertex2s glVertex2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2sv(Int16* v); internal unsafe static Vertex2sv glVertex2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3d(Double x, Double y, Double z); internal static Vertex3d glVertex3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3dv(Double* v); internal unsafe static Vertex3dv glVertex3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3f(Single x, Single y, Single z); internal static Vertex3f glVertex3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3fv(Single* v); internal unsafe static Vertex3fv glVertex3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3i(Int32 x, Int32 y, Int32 z); internal static Vertex3i glVertex3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3iv(Int32* v); internal unsafe static Vertex3iv glVertex3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3s(Int16 x, Int16 y, Int16 z); internal static Vertex3s glVertex3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3sv(Int16* v); internal unsafe static Vertex3sv glVertex3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4d(Double x, Double y, Double z, Double w); internal static Vertex4d glVertex4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4dv(Double* v); internal unsafe static Vertex4dv glVertex4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4f(Single x, Single y, Single z, Single w); internal static Vertex4f glVertex4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4fv(Single* v); internal unsafe static Vertex4fv glVertex4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w); internal static Vertex4i glVertex4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4iv(Int32* v); internal unsafe static Vertex4iv glVertex4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w); internal static Vertex4s glVertex4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4sv(Int16* v); internal unsafe static Vertex4sv glVertex4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClipPlane(int plane, Double* equation); internal unsafe static ClipPlane glClipPlane; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMaterial(int face, int mode); internal static ColorMaterial glColorMaterial; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CullFace(int mode); internal static CullFace glCullFace; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Fogf(int pname, Single param); internal static Fogf glFogf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Fogfv(int pname, Single* @params); internal unsafe static Fogfv glFogfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Fogi(int pname, Int32 param); internal static Fogi glFogi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Fogiv(int pname, Int32* @params); internal unsafe static Fogiv glFogiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FrontFace(int mode); internal static FrontFace glFrontFace; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Hint(int target, int mode); internal static Hint glHint; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Lightf(int light, int pname, Single param); internal static Lightf glLightf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Lightfv(int light, int pname, Single* @params); internal unsafe static Lightfv glLightfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Lighti(int light, int pname, Int32 param); internal static Lighti glLighti; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Lightiv(int light, int pname, Int32* @params); internal unsafe static Lightiv glLightiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightModelf(int pname, Single param); internal static LightModelf glLightModelf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LightModelfv(int pname, Single* @params); internal unsafe static LightModelfv glLightModelfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightModeli(int pname, Int32 param); internal static LightModeli glLightModeli; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LightModeliv(int pname, Int32* @params); internal unsafe static LightModeliv glLightModeliv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LineStipple(Int32 factor, UInt16 pattern); internal static LineStipple glLineStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LineWidth(Single width); internal static LineWidth glLineWidth; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Materialf(int face, int pname, Single param); internal static Materialf glMaterialf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Materialfv(int face, int pname, Single* @params); internal unsafe static Materialfv glMaterialfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Materiali(int face, int pname, Int32 param); internal static Materiali glMateriali; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Materialiv(int face, int pname, Int32* @params); internal unsafe static Materialiv glMaterialiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointSize(Single size); internal static PointSize glPointSize; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonMode(int face, int mode); internal static PolygonMode glPolygonMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PolygonStipple(Byte* mask); internal unsafe static PolygonStipple glPolygonStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scissor(Int32 x, Int32 y, Int32 width, Int32 height); internal static Scissor glScissor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShadeModel(int mode); internal static ShadeModel glShadeModel; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexParameterf(int target, int pname, Single param); internal static TexParameterf glTexParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterfv(int target, int pname, Single* @params); internal unsafe static TexParameterfv glTexParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexParameteri(int target, int pname, Int32 param); internal static TexParameteri glTexParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameteriv(int target, int pname, Int32* @params); internal unsafe static TexParameteriv glTexParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels); internal static TexImage1D glTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels); internal static TexImage2D glTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexEnvf(int target, int pname, Single param); internal static TexEnvf glTexEnvf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexEnvfv(int target, int pname, Single* @params); internal unsafe static TexEnvfv glTexEnvfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexEnvi(int target, int pname, Int32 param); internal static TexEnvi glTexEnvi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexEnviv(int target, int pname, Int32* @params); internal unsafe static TexEnviv glTexEnviv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGend(int coord, int pname, Double param); internal static TexGend glTexGend; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGendv(int coord, int pname, Double* @params); internal unsafe static TexGendv glTexGendv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGenf(int coord, int pname, Single param); internal static TexGenf glTexGenf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGenfv(int coord, int pname, Single* @params); internal unsafe static TexGenfv glTexGenfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGeni(int coord, int pname, Int32 param); internal static TexGeni glTexGeni; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGeniv(int coord, int pname, Int32* @params); internal unsafe static TexGeniv glTexGeniv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FeedbackBuffer(Int32 size, int type, [Out] Single* buffer); internal unsafe static FeedbackBuffer glFeedbackBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SelectBuffer(Int32 size, [Out] UInt32* buffer); internal unsafe static SelectBuffer glSelectBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 RenderMode(int mode); internal static RenderMode glRenderMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InitNames(); internal static InitNames glInitNames; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadName(UInt32 name); internal static LoadName glLoadName; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PassThrough(Single token); internal static PassThrough glPassThrough; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopName(); internal static PopName glPopName; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushName(UInt32 name); internal static PushName glPushName; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawBuffer(int mode); internal static DrawBuffer glDrawBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Clear(int mask); internal static Clear glClear; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearAccum(Single red, Single green, Single blue, Single alpha); internal static ClearAccum glClearAccum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearIndex(Single c); internal static ClearIndex glClearIndex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColor(Single red, Single green, Single blue, Single alpha); internal static ClearColor glClearColor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearStencil(Int32 s); internal static ClearStencil glClearStencil; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearDepth(Double depth); internal static ClearDepth glClearDepth; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilMask(UInt32 mask); internal static StencilMask glStencilMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static ColorMask glColorMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthMask(Int32 flag); internal static DepthMask glDepthMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexMask(UInt32 mask); internal static IndexMask glIndexMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Accum(int op, Single value); internal static Accum glAccum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Disable(int cap); internal static Disable glDisable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Enable(int cap); internal static Enable glEnable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Finish(); internal static Finish glFinish; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Flush(); internal static Flush glFlush; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopAttrib(); internal static PopAttrib glPopAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushAttrib(int mask); internal static PushAttrib glPushAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double* points); internal unsafe static Map1d glMap1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single* points); internal unsafe static Map1f glMap1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); internal unsafe static Map2d glMap2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); internal unsafe static Map2f glMap2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid1d(Int32 un, Double u1, Double u2); internal static MapGrid1d glMapGrid1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid1f(Int32 un, Single u1, Single u2); internal static MapGrid1f glMapGrid1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2); internal static MapGrid2d glMapGrid2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2); internal static MapGrid2f glMapGrid2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord1d(Double u); internal static EvalCoord1d glEvalCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord1dv(Double* u); internal unsafe static EvalCoord1dv glEvalCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord1f(Single u); internal static EvalCoord1f glEvalCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord1fv(Single* u); internal unsafe static EvalCoord1fv glEvalCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord2d(Double u, Double v); internal static EvalCoord2d glEvalCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord2dv(Double* u); internal unsafe static EvalCoord2dv glEvalCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord2f(Single u, Single v); internal static EvalCoord2f glEvalCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord2fv(Single* u); internal unsafe static EvalCoord2fv glEvalCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMesh1(int mode, Int32 i1, Int32 i2); internal static EvalMesh1 glEvalMesh1; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalPoint1(Int32 i); internal static EvalPoint1 glEvalPoint1; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2); internal static EvalMesh2 glEvalMesh2; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalPoint2(Int32 i, Int32 j); internal static EvalPoint2 glEvalPoint2; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFunc(int func, Single @ref); internal static AlphaFunc glAlphaFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFunc(int sfactor, int dfactor); internal static BlendFunc glBlendFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LogicOp(int opcode); internal static LogicOp glLogicOp; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFunc(int func, Int32 @ref, UInt32 mask); internal static StencilFunc glStencilFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOp(int fail, int zfail, int zpass); internal static StencilOp glStencilOp; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthFunc(int func); internal static DepthFunc glDepthFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelZoom(Single xfactor, Single yfactor); internal static PixelZoom glPixelZoom; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransferf(int pname, Single param); internal static PixelTransferf glPixelTransferf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransferi(int pname, Int32 param); internal static PixelTransferi glPixelTransferi; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelStoref(int pname, Single param); internal static PixelStoref glPixelStoref; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelStorei(int pname, Int32 param); internal static PixelStorei glPixelStorei; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapfv(int map, Int32 mapsize, Single* values); internal unsafe static PixelMapfv glPixelMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapuiv(int map, Int32 mapsize, UInt32* values); internal unsafe static PixelMapuiv glPixelMapuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapusv(int map, Int32 mapsize, UInt16* values); internal unsafe static PixelMapusv glPixelMapusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadBuffer(int mode); internal static ReadBuffer glReadBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type); internal static CopyPixels glCopyPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels); internal static ReadPixels glReadPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels); internal static DrawPixels glDrawPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBooleanv(int pname, [Out] Int32* @params); internal unsafe static GetBooleanv glGetBooleanv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetClipPlane(int plane, [Out] Double* equation); internal unsafe static GetClipPlane glGetClipPlane; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetDoublev(int pname, [Out] Double* @params); internal unsafe static GetDoublev glGetDoublev; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int GetError(); internal static GetError glGetError; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFloatv(int pname, [Out] Single* @params); internal unsafe static GetFloatv glGetFloatv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetIntegerv(int pname, [Out] Int32* @params); internal unsafe static GetIntegerv glGetIntegerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLightfv(int light, int pname, [Out] Single* @params); internal unsafe static GetLightfv glGetLightfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLightiv(int light, int pname, [Out] Int32* @params); internal unsafe static GetLightiv glGetLightiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapdv(int target, int query, [Out] Double* v); internal unsafe static GetMapdv glGetMapdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapfv(int target, int query, [Out] Single* v); internal unsafe static GetMapfv glGetMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapiv(int target, int query, [Out] Int32* v); internal unsafe static GetMapiv glGetMapiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMaterialfv(int face, int pname, [Out] Single* @params); internal unsafe static GetMaterialfv glGetMaterialfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMaterialiv(int face, int pname, [Out] Int32* @params); internal unsafe static GetMaterialiv glGetMaterialiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapfv(int map, [Out] Single* values); internal unsafe static GetPixelMapfv glGetPixelMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapuiv(int map, [Out] UInt32* values); internal unsafe static GetPixelMapuiv glGetPixelMapuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapusv(int map, [Out] UInt16* values); internal unsafe static GetPixelMapusv glGetPixelMapusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPolygonStipple([Out] Byte* mask); internal unsafe static GetPolygonStipple glGetPolygonStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetString(int name); internal static GetString glGetString; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexEnvfv(int target, int pname, [Out] Single* @params); internal unsafe static GetTexEnvfv glGetTexEnvfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexEnviv(int target, int pname, [Out] Int32* @params); internal unsafe static GetTexEnviv glGetTexEnviv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGendv(int coord, int pname, [Out] Double* @params); internal unsafe static GetTexGendv glGetTexGendv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGenfv(int coord, int pname, [Out] Single* @params); internal unsafe static GetTexGenfv glGetTexGenfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGeniv(int coord, int pname, [Out] Int32* @params); internal unsafe static GetTexGeniv glGetTexGeniv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels); internal static GetTexImage glGetTexImage; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterfv(int target, int pname, [Out] Single* @params); internal unsafe static GetTexParameterfv glGetTexParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetTexParameteriv glGetTexParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single* @params); internal unsafe static GetTexLevelParameterfv glGetTexLevelParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32* @params); internal unsafe static GetTexLevelParameteriv glGetTexLevelParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsEnabled(int cap); internal static IsEnabled glIsEnabled; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsList(UInt32 list); internal static IsList glIsList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthRange(Double near, Double far); internal static DepthRange glDepthRange; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static Frustum glFrustum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadIdentity(); internal static LoadIdentity glLoadIdentity; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadMatrixf(Single* m); internal unsafe static LoadMatrixf glLoadMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadMatrixd(Double* m); internal unsafe static LoadMatrixd glLoadMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixMode(int mode); internal static MatrixMode glMatrixMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultMatrixf(Single* m); internal unsafe static MultMatrixf glMultMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultMatrixd(Double* m); internal unsafe static MultMatrixd glMultMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static Ortho glOrtho; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopMatrix(); internal static PopMatrix glPopMatrix; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushMatrix(); internal static PushMatrix glPushMatrix; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rotated(Double angle, Double x, Double y, Double z); internal static Rotated glRotated; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rotatef(Single angle, Single x, Single y, Single z); internal static Rotatef glRotatef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scaled(Double x, Double y, Double z); internal static Scaled glScaled; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scalef(Single x, Single y, Single z); internal static Scalef glScalef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Translated(Double x, Double y, Double z); internal static Translated glTranslated; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Translatef(Single x, Single y, Single z); internal static Translatef glTranslatef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); internal static Viewport glViewport; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayElement(Int32 i); internal static ArrayElement glArrayElement; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer); internal static ColorPointer glColorPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableClientState(int array); internal static DisableClientState glDisableClientState; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArrays(int mode, Int32 first, Int32 count); internal static DrawArrays glDrawArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElements(int mode, Int32 count, int type, IntPtr indices); internal static DrawElements glDrawElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EdgeFlagPointer(Int32 stride, IntPtr pointer); internal static EdgeFlagPointer glEdgeFlagPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableClientState(int array); internal static EnableClientState glEnableClientState; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPointerv(int pname, [Out] IntPtr @params); internal static GetPointerv glGetPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointer(int type, Int32 stride, IntPtr pointer); internal static IndexPointer glIndexPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InterleavedArrays(int format, Int32 stride, IntPtr pointer); internal static InterleavedArrays glInterleavedArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointer(int type, Int32 stride, IntPtr pointer); internal static NormalPointer glNormalPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer); internal static TexCoordPointer glTexCoordPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer); internal static VertexPointer glVertexPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonOffset(Single factor, Single units); internal static PolygonOffset glPolygonOffset; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyTexImage1D glCopyTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyTexImage2D glCopyTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyTexSubImage1D glCopyTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage2D glCopyTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels); internal static TexSubImage1D glTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels); internal static TexSubImage2D glTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 AreTexturesResident(Int32 n, UInt32* textures, [Out] Int32* residences); internal unsafe static AreTexturesResident glAreTexturesResident; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindTexture(int target, UInt32 texture); internal static BindTexture glBindTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteTextures(Int32 n, UInt32* textures); internal unsafe static DeleteTextures glDeleteTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenTextures(Int32 n, [Out] UInt32* textures); internal unsafe static GenTextures glGenTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsTexture(UInt32 texture); internal static IsTexture glIsTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities); internal unsafe static PrioritizeTextures glPrioritizeTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexub(Byte c); internal static Indexub glIndexub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexubv(Byte* c); internal unsafe static Indexubv glIndexubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopClientAttrib(); internal static PopClientAttrib glPopClientAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushClientAttrib(int mask); internal static PushClientAttrib glPushClientAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendColor(Single red, Single green, Single blue, Single alpha); internal static BlendColor glBlendColor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquation(int mode); internal static BlendEquation glBlendEquation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices); internal static DrawRangeElements glDrawRangeElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table); internal static ColorTable glColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterfv(int target, int pname, Single* @params); internal unsafe static ColorTableParameterfv glColorTableParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameteriv(int target, int pname, Int32* @params); internal unsafe static ColorTableParameteriv glColorTableParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width); internal static CopyColorTable glCopyColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTable(int target, int format, int type, [Out] IntPtr table); internal static GetColorTable glGetColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfv(int target, int pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfv glGetColorTableParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetColorTableParameteriv glGetColorTableParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data); internal static ColorSubTable glColorSubTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width); internal static CopyColorSubTable glCopyColorSubTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image); internal static ConvolutionFilter1D glConvolutionFilter1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image); internal static ConvolutionFilter2D glConvolutionFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameterf(int target, int pname, Single @params); internal static ConvolutionParameterf glConvolutionParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterfv(int target, int pname, Single* @params); internal unsafe static ConvolutionParameterfv glConvolutionParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameteri(int target, int pname, Int32 @params); internal static ConvolutionParameteri glConvolutionParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameteriv(int target, int pname, Int32* @params); internal unsafe static ConvolutionParameteriv glConvolutionParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width); internal static CopyConvolutionFilter1D glCopyConvolutionFilter1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyConvolutionFilter2D glCopyConvolutionFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetConvolutionFilter(int target, int format, int type, [Out] IntPtr image); internal static GetConvolutionFilter glGetConvolutionFilter; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterfv(int target, int pname, [Out] Single* @params); internal unsafe static GetConvolutionParameterfv glGetConvolutionParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetConvolutionParameteriv glGetConvolutionParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); internal static GetSeparableFilter glGetSeparableFilter; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column); internal static SeparableFilter2D glSeparableFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values); internal static GetHistogram glGetHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterfv(int target, int pname, [Out] Single* @params); internal unsafe static GetHistogramParameterfv glGetHistogramParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetHistogramParameteriv glGetHistogramParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values); internal static GetMinmax glGetMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterfv(int target, int pname, [Out] Single* @params); internal unsafe static GetMinmaxParameterfv glGetMinmaxParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetMinmaxParameteriv glGetMinmaxParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Histogram(int target, Int32 width, int internalformat, Int32 sink); internal static Histogram glHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Minmax(int target, int internalformat, Int32 sink); internal static Minmax glMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetHistogram(int target); internal static ResetHistogram glResetHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetMinmax(int target); internal static ResetMinmax glResetMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels); internal static TexImage3D glTexImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels); internal static TexSubImage3D glTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage3D glCopyTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveTexture(int texture); internal static ActiveTexture glActiveTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveTexture(int texture); internal static ClientActiveTexture glClientActiveTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1d(int target, Double s); internal static MultiTexCoord1d glMultiTexCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1dv(int target, Double* v); internal unsafe static MultiTexCoord1dv glMultiTexCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1f(int target, Single s); internal static MultiTexCoord1f glMultiTexCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1fv(int target, Single* v); internal unsafe static MultiTexCoord1fv glMultiTexCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1i(int target, Int32 s); internal static MultiTexCoord1i glMultiTexCoord1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1iv(int target, Int32* v); internal unsafe static MultiTexCoord1iv glMultiTexCoord1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1s(int target, Int16 s); internal static MultiTexCoord1s glMultiTexCoord1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1sv(int target, Int16* v); internal unsafe static MultiTexCoord1sv glMultiTexCoord1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2d(int target, Double s, Double t); internal static MultiTexCoord2d glMultiTexCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2dv(int target, Double* v); internal unsafe static MultiTexCoord2dv glMultiTexCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2f(int target, Single s, Single t); internal static MultiTexCoord2f glMultiTexCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2fv(int target, Single* v); internal unsafe static MultiTexCoord2fv glMultiTexCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2i(int target, Int32 s, Int32 t); internal static MultiTexCoord2i glMultiTexCoord2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2iv(int target, Int32* v); internal unsafe static MultiTexCoord2iv glMultiTexCoord2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2s(int target, Int16 s, Int16 t); internal static MultiTexCoord2s glMultiTexCoord2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2sv(int target, Int16* v); internal unsafe static MultiTexCoord2sv glMultiTexCoord2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3d(int target, Double s, Double t, Double r); internal static MultiTexCoord3d glMultiTexCoord3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3dv(int target, Double* v); internal unsafe static MultiTexCoord3dv glMultiTexCoord3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3f(int target, Single s, Single t, Single r); internal static MultiTexCoord3f glMultiTexCoord3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3fv(int target, Single* v); internal unsafe static MultiTexCoord3fv glMultiTexCoord3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r); internal static MultiTexCoord3i glMultiTexCoord3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3iv(int target, Int32* v); internal unsafe static MultiTexCoord3iv glMultiTexCoord3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r); internal static MultiTexCoord3s glMultiTexCoord3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3sv(int target, Int16* v); internal unsafe static MultiTexCoord3sv glMultiTexCoord3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4d(int target, Double s, Double t, Double r, Double q); internal static MultiTexCoord4d glMultiTexCoord4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4dv(int target, Double* v); internal unsafe static MultiTexCoord4dv glMultiTexCoord4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4f(int target, Single s, Single t, Single r, Single q); internal static MultiTexCoord4f glMultiTexCoord4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4fv(int target, Single* v); internal unsafe static MultiTexCoord4fv glMultiTexCoord4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q); internal static MultiTexCoord4i glMultiTexCoord4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4iv(int target, Int32* v); internal unsafe static MultiTexCoord4iv glMultiTexCoord4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q); internal static MultiTexCoord4s glMultiTexCoord4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4sv(int target, Int16* v); internal unsafe static MultiTexCoord4sv glMultiTexCoord4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixf(Single* m); internal unsafe static LoadTransposeMatrixf glLoadTransposeMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixd(Double* m); internal unsafe static LoadTransposeMatrixd glLoadTransposeMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixf(Single* m); internal unsafe static MultTransposeMatrixf glMultTransposeMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixd(Double* m); internal unsafe static MultTransposeMatrixd glMultTransposeMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleCoverage(Single value, Int32 invert); internal static SampleCoverage glSampleCoverage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage3D glCompressedTexImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage2D glCompressedTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage1D glCompressedTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage3D glCompressedTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage2D glCompressedTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage1D glCompressedTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedTexImage(int target, Int32 level, [Out] IntPtr img); internal static GetCompressedTexImage glGetCompressedTexImage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); internal static BlendFuncSeparate glBlendFuncSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordf(Single coord); internal static FogCoordf glFogCoordf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordfv(Single* coord); internal unsafe static FogCoordfv glFogCoordfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordd(Double coord); internal static FogCoordd glFogCoordd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoorddv(Double* coord); internal unsafe static FogCoorddv glFogCoorddv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointer(int type, Int32 stride, IntPtr pointer); internal static FogCoordPointer glFogCoordPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawArrays(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); internal unsafe static MultiDrawArrays glMultiDrawArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElements(int mode, Int32* count, int type, IntPtr indices, Int32 primcount); internal unsafe static MultiDrawElements glMultiDrawElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterf(int pname, Single param); internal static PointParameterf glPointParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfv(int pname, Single* @params); internal unsafe static PointParameterfv glPointParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameteri(int pname, Int32 param); internal static PointParameteri glPointParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameteriv(int pname, Int32* @params); internal unsafe static PointParameteriv glPointParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3b(SByte red, SByte green, SByte blue); internal static SecondaryColor3b glSecondaryColor3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3bv(SByte* v); internal unsafe static SecondaryColor3bv glSecondaryColor3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3d(Double red, Double green, Double blue); internal static SecondaryColor3d glSecondaryColor3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3dv(Double* v); internal unsafe static SecondaryColor3dv glSecondaryColor3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3f(Single red, Single green, Single blue); internal static SecondaryColor3f glSecondaryColor3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3fv(Single* v); internal unsafe static SecondaryColor3fv glSecondaryColor3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3i(Int32 red, Int32 green, Int32 blue); internal static SecondaryColor3i glSecondaryColor3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3iv(Int32* v); internal unsafe static SecondaryColor3iv glSecondaryColor3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3s(Int16 red, Int16 green, Int16 blue); internal static SecondaryColor3s glSecondaryColor3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3sv(Int16* v); internal unsafe static SecondaryColor3sv glSecondaryColor3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ub(Byte red, Byte green, Byte blue); internal static SecondaryColor3ub glSecondaryColor3ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ubv(Byte* v); internal unsafe static SecondaryColor3ubv glSecondaryColor3ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue); internal static SecondaryColor3ui glSecondaryColor3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3uiv(UInt32* v); internal unsafe static SecondaryColor3uiv glSecondaryColor3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue); internal static SecondaryColor3us glSecondaryColor3us; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3usv(UInt16* v); internal unsafe static SecondaryColor3usv glSecondaryColor3usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer); internal static SecondaryColorPointer glSecondaryColorPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2d(Double x, Double y); internal static WindowPos2d glWindowPos2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dv(Double* v); internal unsafe static WindowPos2dv glWindowPos2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2f(Single x, Single y); internal static WindowPos2f glWindowPos2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fv(Single* v); internal unsafe static WindowPos2fv glWindowPos2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2i(Int32 x, Int32 y); internal static WindowPos2i glWindowPos2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2iv(Int32* v); internal unsafe static WindowPos2iv glWindowPos2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2s(Int16 x, Int16 y); internal static WindowPos2s glWindowPos2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2sv(Int16* v); internal unsafe static WindowPos2sv glWindowPos2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3d(Double x, Double y, Double z); internal static WindowPos3d glWindowPos3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dv(Double* v); internal unsafe static WindowPos3dv glWindowPos3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3f(Single x, Single y, Single z); internal static WindowPos3f glWindowPos3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fv(Single* v); internal unsafe static WindowPos3fv glWindowPos3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3i(Int32 x, Int32 y, Int32 z); internal static WindowPos3i glWindowPos3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3iv(Int32* v); internal unsafe static WindowPos3iv glWindowPos3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3s(Int16 x, Int16 y, Int16 z); internal static WindowPos3s glWindowPos3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3sv(Int16* v); internal unsafe static WindowPos3sv glWindowPos3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenQueries(Int32 n, [Out] UInt32* ids); internal unsafe static GenQueries glGenQueries; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteQueries(Int32 n, UInt32* ids); internal unsafe static DeleteQueries glDeleteQueries; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsQuery(UInt32 id); internal static IsQuery glIsQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginQuery(int target, UInt32 id); internal static BeginQuery glBeginQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndQuery(int target); internal static EndQuery glEndQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryiv(int target, int pname, [Out] Int32* @params); internal unsafe static GetQueryiv glGetQueryiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectiv(UInt32 id, int pname, [Out] Int32* @params); internal unsafe static GetQueryObjectiv glGetQueryObjectiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32* @params); internal unsafe static GetQueryObjectuiv glGetQueryObjectuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBuffer(int target, UInt32 buffer); internal static BindBuffer glBindBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteBuffers(Int32 n, UInt32* buffers); internal unsafe static DeleteBuffers glDeleteBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenBuffers(Int32 n, [Out] UInt32* buffers); internal unsafe static GenBuffers glGenBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsBuffer(UInt32 buffer); internal static IsBuffer glIsBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferData(int target, IntPtr size, IntPtr data, int usage); internal static BufferData glBufferData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data); internal static BufferSubData glBufferSubData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data); internal static GetBufferSubData glGetBufferSubData; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapBuffer(int target, int access); internal unsafe static MapBuffer glMapBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 UnmapBuffer(int target); internal static UnmapBuffer glUnmapBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBufferParameteriv(int target, int pname, [Out] Int32* @params); internal unsafe static GetBufferParameteriv glGetBufferParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferPointerv(int target, int pname, [Out] IntPtr @params); internal static GetBufferPointerv glGetBufferPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparate(int modeRGB, int modeAlpha); internal static BlendEquationSeparate glBlendEquationSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffers(Int32 n, int* bufs); internal unsafe static DrawBuffers glDrawBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOpSeparate(int face, int sfail, int dpfail, int dppass); internal static StencilOpSeparate glStencilOpSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask); internal static StencilFuncSeparate glStencilFuncSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilMaskSeparate(int face, UInt32 mask); internal static StencilMaskSeparate glStencilMaskSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AttachShader(UInt32 program, UInt32 shader); internal static AttachShader glAttachShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindAttribLocation(UInt32 program, UInt32 index, System.String name); internal static BindAttribLocation glBindAttribLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompileShader(UInt32 shader); internal static CompileShader glCompileShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateProgram(); internal static CreateProgram glCreateProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateShader(int type); internal static CreateShader glCreateShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteProgram(UInt32 program); internal static DeleteProgram glDeleteProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteShader(UInt32 shader); internal static DeleteShader glDeleteShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DetachShader(UInt32 program, UInt32 shader); internal static DetachShader glDetachShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVertexAttribArray(UInt32 index); internal static DisableVertexAttribArray glDisableVertexAttribArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVertexAttribArray(UInt32 index); internal static EnableVertexAttribArray glEnableVertexAttribArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveAttrib glGetActiveAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveUniform glGetActiveUniform; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); internal unsafe static GetAttachedShaders glGetAttachedShaders; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetAttribLocation(UInt32 program, System.String name); internal static GetAttribLocation glGetAttribLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramiv(UInt32 program, int pname, [Out] Int32* @params); internal unsafe static GetProgramiv glGetProgramiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetProgramInfoLog glGetProgramInfoLog; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderiv(UInt32 shader, int pname, [Out] Int32* @params); internal unsafe static GetShaderiv glGetShaderiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetShaderInfoLog glGetShaderInfoLog; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source); internal unsafe static GetShaderSource glGetShaderSource; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformLocation(UInt32 program, System.String name); internal static GetUniformLocation glGetUniformLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params); internal unsafe static GetUniformfv glGetUniformfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params); internal unsafe static GetUniformiv glGetUniformiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdv(UInt32 index, int pname, [Out] Double* @params); internal unsafe static GetVertexAttribdv glGetVertexAttribdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfv(UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetVertexAttribfv glGetVertexAttribfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribiv(UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetVertexAttribiv glGetVertexAttribiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer); internal static GetVertexAttribPointerv glGetVertexAttribPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsProgram(UInt32 program); internal static IsProgram glIsProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsShader(UInt32 shader); internal static IsShader glIsShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LinkProgram(UInt32 program); internal static LinkProgram glLinkProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length); internal unsafe static ShaderSource glShaderSource; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UseProgram(UInt32 program); internal static UseProgram glUseProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1f(Int32 location, Single v0); internal static Uniform1f glUniform1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2f(Int32 location, Single v0, Single v1); internal static Uniform2f glUniform2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3f(Int32 location, Single v0, Single v1, Single v2); internal static Uniform3f glUniform3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3); internal static Uniform4f glUniform4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1i(Int32 location, Int32 v0); internal static Uniform1i glUniform1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2i(Int32 location, Int32 v0, Int32 v1); internal static Uniform2i glUniform2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2); internal static Uniform3i glUniform3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); internal static Uniform4i glUniform4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform1fv glUniform1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform2fv glUniform2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform3fv glUniform3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform4fv glUniform4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform1iv glUniform1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform2iv glUniform2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform3iv glUniform3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform4iv glUniform4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix2fv glUniformMatrix2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix3fv glUniformMatrix3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix4fv glUniformMatrix4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ValidateProgram(UInt32 program); internal static ValidateProgram glValidateProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1d(UInt32 index, Double x); internal static VertexAttrib1d glVertexAttrib1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dv(UInt32 index, Double* v); internal unsafe static VertexAttrib1dv glVertexAttrib1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1f(UInt32 index, Single x); internal static VertexAttrib1f glVertexAttrib1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fv(UInt32 index, Single* v); internal unsafe static VertexAttrib1fv glVertexAttrib1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1s(UInt32 index, Int16 x); internal static VertexAttrib1s glVertexAttrib1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib1sv glVertexAttrib1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2d(UInt32 index, Double x, Double y); internal static VertexAttrib2d glVertexAttrib2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dv(UInt32 index, Double* v); internal unsafe static VertexAttrib2dv glVertexAttrib2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2f(UInt32 index, Single x, Single y); internal static VertexAttrib2f glVertexAttrib2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fv(UInt32 index, Single* v); internal unsafe static VertexAttrib2fv glVertexAttrib2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2s(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2s glVertexAttrib2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib2sv glVertexAttrib2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3d(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3d glVertexAttrib3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dv(UInt32 index, Double* v); internal unsafe static VertexAttrib3dv glVertexAttrib3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3f(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3f glVertexAttrib3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fv(UInt32 index, Single* v); internal unsafe static VertexAttrib3fv glVertexAttrib3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3s glVertexAttrib3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib3sv glVertexAttrib3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nbv(UInt32 index, SByte* v); internal unsafe static VertexAttrib4Nbv glVertexAttrib4Nbv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Niv(UInt32 index, Int32* v); internal unsafe static VertexAttrib4Niv glVertexAttrib4Niv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nsv(UInt32 index, Int16* v); internal unsafe static VertexAttrib4Nsv glVertexAttrib4Nsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4Nub glVertexAttrib4Nub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nubv(UInt32 index, Byte* v); internal unsafe static VertexAttrib4Nubv glVertexAttrib4Nubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nuiv(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4Nuiv glVertexAttrib4Nuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nusv(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4Nusv glVertexAttrib4Nusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4bv(UInt32 index, SByte* v); internal unsafe static VertexAttrib4bv glVertexAttrib4bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4d glVertexAttrib4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dv(UInt32 index, Double* v); internal unsafe static VertexAttrib4dv glVertexAttrib4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4f glVertexAttrib4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fv(UInt32 index, Single* v); internal unsafe static VertexAttrib4fv glVertexAttrib4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4iv(UInt32 index, Int32* v); internal unsafe static VertexAttrib4iv glVertexAttrib4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4s glVertexAttrib4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib4sv glVertexAttrib4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubv(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubv glVertexAttrib4ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4uiv glVertexAttrib4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4usv(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4usv glVertexAttrib4usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer); internal static VertexAttribPointer glVertexAttribPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix2x3fv glUniformMatrix2x3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix3x2fv glUniformMatrix3x2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix2x4fv glUniformMatrix2x4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix4x2fv glUniformMatrix4x2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix3x4fv glUniformMatrix3x4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix4x3fv glUniformMatrix4x3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveTextureARB(int texture); internal static ActiveTextureARB glActiveTextureARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveTextureARB(int texture); internal static ClientActiveTextureARB glClientActiveTextureARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1dARB(int target, Double s); internal static MultiTexCoord1dARB glMultiTexCoord1dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1dvARB(int target, Double* v); internal unsafe static MultiTexCoord1dvARB glMultiTexCoord1dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1fARB(int target, Single s); internal static MultiTexCoord1fARB glMultiTexCoord1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1fvARB(int target, Single* v); internal unsafe static MultiTexCoord1fvARB glMultiTexCoord1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1iARB(int target, Int32 s); internal static MultiTexCoord1iARB glMultiTexCoord1iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1ivARB(int target, Int32* v); internal unsafe static MultiTexCoord1ivARB glMultiTexCoord1ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1sARB(int target, Int16 s); internal static MultiTexCoord1sARB glMultiTexCoord1sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1svARB(int target, Int16* v); internal unsafe static MultiTexCoord1svARB glMultiTexCoord1svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2dARB(int target, Double s, Double t); internal static MultiTexCoord2dARB glMultiTexCoord2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2dvARB(int target, Double* v); internal unsafe static MultiTexCoord2dvARB glMultiTexCoord2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2fARB(int target, Single s, Single t); internal static MultiTexCoord2fARB glMultiTexCoord2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2fvARB(int target, Single* v); internal unsafe static MultiTexCoord2fvARB glMultiTexCoord2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2iARB(int target, Int32 s, Int32 t); internal static MultiTexCoord2iARB glMultiTexCoord2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2ivARB(int target, Int32* v); internal unsafe static MultiTexCoord2ivARB glMultiTexCoord2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2sARB(int target, Int16 s, Int16 t); internal static MultiTexCoord2sARB glMultiTexCoord2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2svARB(int target, Int16* v); internal unsafe static MultiTexCoord2svARB glMultiTexCoord2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3dARB(int target, Double s, Double t, Double r); internal static MultiTexCoord3dARB glMultiTexCoord3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3dvARB(int target, Double* v); internal unsafe static MultiTexCoord3dvARB glMultiTexCoord3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3fARB(int target, Single s, Single t, Single r); internal static MultiTexCoord3fARB glMultiTexCoord3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3fvARB(int target, Single* v); internal unsafe static MultiTexCoord3fvARB glMultiTexCoord3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3iARB(int target, Int32 s, Int32 t, Int32 r); internal static MultiTexCoord3iARB glMultiTexCoord3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3ivARB(int target, Int32* v); internal unsafe static MultiTexCoord3ivARB glMultiTexCoord3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3sARB(int target, Int16 s, Int16 t, Int16 r); internal static MultiTexCoord3sARB glMultiTexCoord3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3svARB(int target, Int16* v); internal unsafe static MultiTexCoord3svARB glMultiTexCoord3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4dARB(int target, Double s, Double t, Double r, Double q); internal static MultiTexCoord4dARB glMultiTexCoord4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4dvARB(int target, Double* v); internal unsafe static MultiTexCoord4dvARB glMultiTexCoord4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4fARB(int target, Single s, Single t, Single r, Single q); internal static MultiTexCoord4fARB glMultiTexCoord4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4fvARB(int target, Single* v); internal unsafe static MultiTexCoord4fvARB glMultiTexCoord4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4iARB(int target, Int32 s, Int32 t, Int32 r, Int32 q); internal static MultiTexCoord4iARB glMultiTexCoord4iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4ivARB(int target, Int32* v); internal unsafe static MultiTexCoord4ivARB glMultiTexCoord4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4sARB(int target, Int16 s, Int16 t, Int16 r, Int16 q); internal static MultiTexCoord4sARB glMultiTexCoord4sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4svARB(int target, Int16* v); internal unsafe static MultiTexCoord4svARB glMultiTexCoord4svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixfARB(Single* m); internal unsafe static LoadTransposeMatrixfARB glLoadTransposeMatrixfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixdARB(Double* m); internal unsafe static LoadTransposeMatrixdARB glLoadTransposeMatrixdARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixfARB(Single* m); internal unsafe static MultTransposeMatrixfARB glMultTransposeMatrixfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixdARB(Double* m); internal unsafe static MultTransposeMatrixdARB glMultTransposeMatrixdARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleCoverageARB(Single value, Int32 invert); internal static SampleCoverageARB glSampleCoverageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage3DARB glCompressedTexImage3DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage2DARB glCompressedTexImage2DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage1DARB glCompressedTexImage1DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage3DARB glCompressedTexSubImage3DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage2DARB glCompressedTexSubImage2DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage1DARB glCompressedTexSubImage1DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedTexImageARB(int target, Int32 level, [Out] IntPtr img); internal static GetCompressedTexImageARB glGetCompressedTexImageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfARB(int pname, Single param); internal static PointParameterfARB glPointParameterfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvARB(int pname, Single* @params); internal unsafe static PointParameterfvARB glPointParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightbvARB(Int32 size, SByte* weights); internal unsafe static WeightbvARB glWeightbvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightsvARB(Int32 size, Int16* weights); internal unsafe static WeightsvARB glWeightsvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightivARB(Int32 size, Int32* weights); internal unsafe static WeightivARB glWeightivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightfvARB(Int32 size, Single* weights); internal unsafe static WeightfvARB glWeightfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightdvARB(Int32 size, Double* weights); internal unsafe static WeightdvARB glWeightdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightubvARB(Int32 size, Byte* weights); internal unsafe static WeightubvARB glWeightubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightusvARB(Int32 size, UInt16* weights); internal unsafe static WeightusvARB glWeightusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightuivARB(Int32 size, UInt32* weights); internal unsafe static WeightuivARB glWeightuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WeightPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer); internal static WeightPointerARB glWeightPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendARB(Int32 count); internal static VertexBlendARB glVertexBlendARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CurrentPaletteMatrixARB(Int32 index); internal static CurrentPaletteMatrixARB glCurrentPaletteMatrixARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexubvARB(Int32 size, Byte* indices); internal unsafe static MatrixIndexubvARB glMatrixIndexubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexusvARB(Int32 size, UInt16* indices); internal unsafe static MatrixIndexusvARB glMatrixIndexusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexuivARB(Int32 size, UInt32* indices); internal unsafe static MatrixIndexuivARB glMatrixIndexuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixIndexPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer); internal static MatrixIndexPointerARB glMatrixIndexPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2dARB(Double x, Double y); internal static WindowPos2dARB glWindowPos2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dvARB(Double* v); internal unsafe static WindowPos2dvARB glWindowPos2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2fARB(Single x, Single y); internal static WindowPos2fARB glWindowPos2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fvARB(Single* v); internal unsafe static WindowPos2fvARB glWindowPos2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2iARB(Int32 x, Int32 y); internal static WindowPos2iARB glWindowPos2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2ivARB(Int32* v); internal unsafe static WindowPos2ivARB glWindowPos2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2sARB(Int16 x, Int16 y); internal static WindowPos2sARB glWindowPos2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2svARB(Int16* v); internal unsafe static WindowPos2svARB glWindowPos2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3dARB(Double x, Double y, Double z); internal static WindowPos3dARB glWindowPos3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dvARB(Double* v); internal unsafe static WindowPos3dvARB glWindowPos3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3fARB(Single x, Single y, Single z); internal static WindowPos3fARB glWindowPos3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fvARB(Single* v); internal unsafe static WindowPos3fvARB glWindowPos3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3iARB(Int32 x, Int32 y, Int32 z); internal static WindowPos3iARB glWindowPos3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3ivARB(Int32* v); internal unsafe static WindowPos3ivARB glWindowPos3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3sARB(Int16 x, Int16 y, Int16 z); internal static WindowPos3sARB glWindowPos3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3svARB(Int16* v); internal unsafe static WindowPos3svARB glWindowPos3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1dARB(UInt32 index, Double x); internal static VertexAttrib1dARB glVertexAttrib1dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib1dvARB glVertexAttrib1dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1fARB(UInt32 index, Single x); internal static VertexAttrib1fARB glVertexAttrib1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib1fvARB glVertexAttrib1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1sARB(UInt32 index, Int16 x); internal static VertexAttrib1sARB glVertexAttrib1sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib1svARB glVertexAttrib1svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2dARB(UInt32 index, Double x, Double y); internal static VertexAttrib2dARB glVertexAttrib2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib2dvARB glVertexAttrib2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2fARB(UInt32 index, Single x, Single y); internal static VertexAttrib2fARB glVertexAttrib2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib2fvARB glVertexAttrib2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2sARB glVertexAttrib2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib2svARB glVertexAttrib2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3dARB glVertexAttrib3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib3dvARB glVertexAttrib3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3fARB glVertexAttrib3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib3fvARB glVertexAttrib3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3sARB glVertexAttrib3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib3svARB glVertexAttrib3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NbvARB(UInt32 index, SByte* v); internal unsafe static VertexAttrib4NbvARB glVertexAttrib4NbvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NivARB(UInt32 index, Int32* v); internal unsafe static VertexAttrib4NivARB glVertexAttrib4NivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NsvARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib4NsvARB glVertexAttrib4NsvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4NubARB glVertexAttrib4NubARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NubvARB(UInt32 index, Byte* v); internal unsafe static VertexAttrib4NubvARB glVertexAttrib4NubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NuivARB(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4NuivARB glVertexAttrib4NuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NusvARB(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4NusvARB glVertexAttrib4NusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4bvARB(UInt32 index, SByte* v); internal unsafe static VertexAttrib4bvARB glVertexAttrib4bvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4dARB glVertexAttrib4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib4dvARB glVertexAttrib4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4fARB glVertexAttrib4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib4fvARB glVertexAttrib4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ivARB(UInt32 index, Int32* v); internal unsafe static VertexAttrib4ivARB glVertexAttrib4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4sARB glVertexAttrib4sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib4svARB glVertexAttrib4svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubvARB(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubvARB glVertexAttrib4ubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4uivARB(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4uivARB glVertexAttrib4uivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4usvARB(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4usvARB glVertexAttrib4usvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer); internal static VertexAttribPointerARB glVertexAttribPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVertexAttribArrayARB(UInt32 index); internal static EnableVertexAttribArrayARB glEnableVertexAttribArrayARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVertexAttribArrayARB(UInt32 index); internal static DisableVertexAttribArrayARB glDisableVertexAttribArrayARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramStringARB(int target, int format, Int32 len, IntPtr @string); internal static ProgramStringARB glProgramStringARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindProgramARB(int target, UInt32 program); internal static BindProgramARB glBindProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteProgramsARB(Int32 n, UInt32* programs); internal unsafe static DeleteProgramsARB glDeleteProgramsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenProgramsARB(Int32 n, [Out] UInt32* programs); internal unsafe static GenProgramsARB glGenProgramsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramEnvParameter4dARB glProgramEnvParameter4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameter4dvARB(int target, UInt32 index, Double* @params); internal unsafe static ProgramEnvParameter4dvARB glProgramEnvParameter4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramEnvParameter4fARB glProgramEnvParameter4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameter4fvARB(int target, UInt32 index, Single* @params); internal unsafe static ProgramEnvParameter4fvARB glProgramEnvParameter4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramLocalParameter4dARB glProgramLocalParameter4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameter4dvARB(int target, UInt32 index, Double* @params); internal unsafe static ProgramLocalParameter4dvARB glProgramLocalParameter4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramLocalParameter4fARB glProgramLocalParameter4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameter4fvARB(int target, UInt32 index, Single* @params); internal unsafe static ProgramLocalParameter4fvARB glProgramLocalParameter4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterdvARB(int target, UInt32 index, [Out] Double* @params); internal unsafe static GetProgramEnvParameterdvARB glGetProgramEnvParameterdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterfvARB(int target, UInt32 index, [Out] Single* @params); internal unsafe static GetProgramEnvParameterfvARB glGetProgramEnvParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterdvARB(int target, UInt32 index, [Out] Double* @params); internal unsafe static GetProgramLocalParameterdvARB glGetProgramLocalParameterdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterfvARB(int target, UInt32 index, [Out] Single* @params); internal unsafe static GetProgramLocalParameterfvARB glGetProgramLocalParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramivARB(int target, int pname, [Out] Int32* @params); internal unsafe static GetProgramivARB glGetProgramivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetProgramStringARB(int target, int pname, [Out] IntPtr @string); internal static GetProgramStringARB glGetProgramStringARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdvARB(UInt32 index, int pname, [Out] Double* @params); internal unsafe static GetVertexAttribdvARB glGetVertexAttribdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfvARB(UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetVertexAttribfvARB glGetVertexAttribfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribivARB(UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetVertexAttribivARB glGetVertexAttribivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointervARB(UInt32 index, int pname, [Out] IntPtr pointer); internal static GetVertexAttribPointervARB glGetVertexAttribPointervARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsProgramARB(UInt32 program); internal static IsProgramARB glIsProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferARB(int target, UInt32 buffer); internal static BindBufferARB glBindBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteBuffersARB(Int32 n, UInt32* buffers); internal unsafe static DeleteBuffersARB glDeleteBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenBuffersARB(Int32 n, [Out] UInt32* buffers); internal unsafe static GenBuffersARB glGenBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsBufferARB(UInt32 buffer); internal static IsBufferARB glIsBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferDataARB(int target, IntPtr size, IntPtr data, int usage); internal static BufferDataARB glBufferDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferSubDataARB(int target, IntPtr offset, IntPtr size, IntPtr data); internal static BufferSubDataARB glBufferSubDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [Out] IntPtr data); internal static GetBufferSubDataARB glGetBufferSubDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapBufferARB(int target, int access); internal unsafe static MapBufferARB glMapBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 UnmapBufferARB(int target); internal static UnmapBufferARB glUnmapBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBufferParameterivARB(int target, int pname, [Out] Int32* @params); internal unsafe static GetBufferParameterivARB glGetBufferParameterivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferPointervARB(int target, int pname, [Out] IntPtr @params); internal static GetBufferPointervARB glGetBufferPointervARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenQueriesARB(Int32 n, [Out] UInt32* ids); internal unsafe static GenQueriesARB glGenQueriesARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteQueriesARB(Int32 n, UInt32* ids); internal unsafe static DeleteQueriesARB glDeleteQueriesARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsQueryARB(UInt32 id); internal static IsQueryARB glIsQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginQueryARB(int target, UInt32 id); internal static BeginQueryARB glBeginQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndQueryARB(int target); internal static EndQueryARB glEndQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryivARB(int target, int pname, [Out] Int32* @params); internal unsafe static GetQueryivARB glGetQueryivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectivARB(UInt32 id, int pname, [Out] Int32* @params); internal unsafe static GetQueryObjectivARB glGetQueryObjectivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectuivARB(UInt32 id, int pname, [Out] UInt32* @params); internal unsafe static GetQueryObjectuivARB glGetQueryObjectuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteObjectARB(UInt32 obj); internal static DeleteObjectARB glDeleteObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetHandleARB(int pname); internal static GetHandleARB glGetHandleARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj); internal static DetachObjectARB glDetachObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateShaderObjectARB(int shaderType); internal static CreateShaderObjectARB glCreateShaderObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, Int32* length); internal unsafe static ShaderSourceARB glShaderSourceARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompileShaderARB(UInt32 shaderObj); internal static CompileShaderARB glCompileShaderARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateProgramObjectARB(); internal static CreateProgramObjectARB glCreateProgramObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AttachObjectARB(UInt32 containerObj, UInt32 obj); internal static AttachObjectARB glAttachObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LinkProgramARB(UInt32 programObj); internal static LinkProgramARB glLinkProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UseProgramObjectARB(UInt32 programObj); internal static UseProgramObjectARB glUseProgramObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ValidateProgramARB(UInt32 programObj); internal static ValidateProgramARB glValidateProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1fARB(Int32 location, Single v0); internal static Uniform1fARB glUniform1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2fARB(Int32 location, Single v0, Single v1); internal static Uniform2fARB glUniform2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2); internal static Uniform3fARB glUniform3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3); internal static Uniform4fARB glUniform4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1iARB(Int32 location, Int32 v0); internal static Uniform1iARB glUniform1iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2iARB(Int32 location, Int32 v0, Int32 v1); internal static Uniform2iARB glUniform2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2); internal static Uniform3iARB glUniform3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); internal static Uniform4iARB glUniform4iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform1fvARB glUniform1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform2fvARB glUniform2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform3fvARB glUniform3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform4fvARB glUniform4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform1ivARB glUniform1ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform2ivARB glUniform2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform3ivARB glUniform3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform4ivARB glUniform4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix2fvARB glUniformMatrix2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix3fvARB glUniformMatrix3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, Single* value); internal unsafe static UniformMatrix4fvARB glUniformMatrix4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectParameterfvARB(UInt32 obj, int pname, [Out] Single* @params); internal unsafe static GetObjectParameterfvARB glGetObjectParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectParameterivARB(UInt32 obj, int pname, [Out] Int32* @params); internal unsafe static GetObjectParameterivARB glGetObjectParameterivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetInfoLogARB glGetInfoLogARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); internal unsafe static GetAttachedObjectsARB glGetAttachedObjectsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformLocationARB(UInt32 programObj, System.String name); internal static GetUniformLocationARB glGetUniformLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveUniformARB glGetActiveUniformARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params); internal unsafe static GetUniformfvARB glGetUniformfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params); internal unsafe static GetUniformivARB glGetUniformivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder[] source); internal unsafe static GetShaderSourceARB glGetShaderSourceARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, System.String name); internal static BindAttribLocationARB glBindAttribLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveAttribARB glGetActiveAttribARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetAttribLocationARB(UInt32 programObj, System.String name); internal static GetAttribLocationARB glGetAttribLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffersARB(Int32 n, int* bufs); internal unsafe static DrawBuffersARB glDrawBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClampColorARB(int target, int clamp); internal static ClampColorARB glClampColorARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendColorEXT(Single red, Single green, Single blue, Single alpha); internal static BlendColorEXT glBlendColorEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonOffsetEXT(Single factor, Single bias); internal static PolygonOffsetEXT glPolygonOffsetEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels); internal static TexImage3DEXT glTexImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels); internal static TexSubImage3DEXT glTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexFilterFuncSGIS(int target, int filter, [Out] Single* weights); internal unsafe static GetTexFilterFuncSGIS glGetTexFilterFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexFilterFuncSGIS(int target, int filter, Int32 n, Single* weights); internal unsafe static TexFilterFuncSGIS glTexFilterFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels); internal static TexSubImage1DEXT glTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels); internal static TexSubImage2DEXT glTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage1DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyTexImage1DEXT glCopyTexImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage2DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyTexImage2DEXT glCopyTexImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyTexSubImage1DEXT glCopyTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage2DEXT glCopyTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage3DEXT glCopyTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetHistogramEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values); internal static GetHistogramEXT glGetHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterfvEXT(int target, int pname, [Out] Single* @params); internal unsafe static GetHistogramParameterfvEXT glGetHistogramParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetHistogramParameterivEXT glGetHistogramParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMinmaxEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values); internal static GetMinmaxEXT glGetMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterfvEXT(int target, int pname, [Out] Single* @params); internal unsafe static GetMinmaxParameterfvEXT glGetMinmaxParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetMinmaxParameterivEXT glGetMinmaxParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void HistogramEXT(int target, Int32 width, int internalformat, Int32 sink); internal static HistogramEXT glHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MinmaxEXT(int target, int internalformat, Int32 sink); internal static MinmaxEXT glMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetHistogramEXT(int target); internal static ResetHistogramEXT glResetHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetMinmaxEXT(int target); internal static ResetMinmaxEXT glResetMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, IntPtr image); internal static ConvolutionFilter1DEXT glConvolutionFilter1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image); internal static ConvolutionFilter2DEXT glConvolutionFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameterfEXT(int target, int pname, Single @params); internal static ConvolutionParameterfEXT glConvolutionParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterfvEXT(int target, int pname, Single* @params); internal unsafe static ConvolutionParameterfvEXT glConvolutionParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameteriEXT(int target, int pname, Int32 @params); internal static ConvolutionParameteriEXT glConvolutionParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterivEXT(int target, int pname, Int32* @params); internal unsafe static ConvolutionParameterivEXT glConvolutionParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter1DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width); internal static CopyConvolutionFilter1DEXT glCopyConvolutionFilter1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter2DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyConvolutionFilter2DEXT glCopyConvolutionFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetConvolutionFilterEXT(int target, int format, int type, [Out] IntPtr image); internal static GetConvolutionFilterEXT glGetConvolutionFilterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterfvEXT(int target, int pname, [Out] Single* @params); internal unsafe static GetConvolutionParameterfvEXT glGetConvolutionParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetConvolutionParameterivEXT glGetConvolutionParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); internal static GetSeparableFilterEXT glGetSeparableFilterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column); internal static SeparableFilter2DEXT glSeparableFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTableSGI(int target, int internalformat, Int32 width, int format, int type, IntPtr table); internal static ColorTableSGI glColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterfvSGI(int target, int pname, Single* @params); internal unsafe static ColorTableParameterfvSGI glColorTableParameterfvSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterivSGI(int target, int pname, Int32* @params); internal unsafe static ColorTableParameterivSGI glColorTableParameterivSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorTableSGI(int target, int internalformat, Int32 x, Int32 y, Int32 width); internal static CopyColorTableSGI glCopyColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTableSGI(int target, int format, int type, [Out] IntPtr table); internal static GetColorTableSGI glGetColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfvSGI(int target, int pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfvSGI glGetColorTableParameterfvSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterivSGI(int target, int pname, [Out] Int32* @params); internal unsafe static GetColorTableParameterivSGI glGetColorTableParameterivSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenSGIX(int mode); internal static PixelTexGenSGIX glPixelTexGenSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenParameteriSGIS(int pname, Int32 param); internal static PixelTexGenParameteriSGIS glPixelTexGenParameteriSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTexGenParameterivSGIS(int pname, Int32* @params); internal unsafe static PixelTexGenParameterivSGIS glPixelTexGenParameterivSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenParameterfSGIS(int pname, Single param); internal static PixelTexGenParameterfSGIS glPixelTexGenParameterfSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTexGenParameterfvSGIS(int pname, Single* @params); internal unsafe static PixelTexGenParameterfvSGIS glPixelTexGenParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelTexGenParameterivSGIS(int pname, [Out] Int32* @params); internal unsafe static GetPixelTexGenParameterivSGIS glGetPixelTexGenParameterivSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelTexGenParameterfvSGIS(int pname, [Out] Single* @params); internal unsafe static GetPixelTexGenParameterfvSGIS glGetPixelTexGenParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, IntPtr pixels); internal static TexImage4DSGIS glTexImage4DSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, IntPtr pixels); internal static TexSubImage4DSGIS glTexSubImage4DSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] Int32* residences); internal unsafe static AreTexturesResidentEXT glAreTexturesResidentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindTextureEXT(int target, UInt32 texture); internal static BindTextureEXT glBindTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteTexturesEXT(Int32 n, UInt32* textures); internal unsafe static DeleteTexturesEXT glDeleteTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenTexturesEXT(Int32 n, [Out] UInt32* textures); internal unsafe static GenTexturesEXT glGenTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsTextureEXT(UInt32 texture); internal static IsTextureEXT glIsTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities); internal unsafe static PrioritizeTexturesEXT glPrioritizeTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DetailTexFuncSGIS(int target, Int32 n, Single* points); internal unsafe static DetailTexFuncSGIS glDetailTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetDetailTexFuncSGIS(int target, [Out] Single* points); internal unsafe static GetDetailTexFuncSGIS glGetDetailTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SharpenTexFuncSGIS(int target, Int32 n, Single* points); internal unsafe static SharpenTexFuncSGIS glSharpenTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetSharpenTexFuncSGIS(int target, [Out] Single* points); internal unsafe static GetSharpenTexFuncSGIS glGetSharpenTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaskSGIS(Single value, Int32 invert); internal static SampleMaskSGIS glSampleMaskSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SamplePatternSGIS(int pattern); internal static SamplePatternSGIS glSamplePatternSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayElementEXT(Int32 i); internal static ArrayElementEXT glArrayElementEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer); internal static ColorPointerEXT glColorPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysEXT(int mode, Int32 first, Int32 count); internal static DrawArraysEXT glDrawArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagPointerEXT(Int32 stride, Int32 count, Int32* pointer); internal unsafe static EdgeFlagPointerEXT glEdgeFlagPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPointervEXT(int pname, [Out] IntPtr @params); internal static GetPointervEXT glGetPointervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer); internal static IndexPointerEXT glIndexPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer); internal static NormalPointerEXT glNormalPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer); internal static TexCoordPointerEXT glTexCoordPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer); internal static VertexPointerEXT glVertexPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationEXT(int mode); internal static BlendEquationEXT glBlendEquationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SpriteParameterfSGIX(int pname, Single param); internal static SpriteParameterfSGIX glSpriteParameterfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SpriteParameterfvSGIX(int pname, Single* @params); internal unsafe static SpriteParameterfvSGIX glSpriteParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SpriteParameteriSGIX(int pname, Int32 param); internal static SpriteParameteriSGIX glSpriteParameteriSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SpriteParameterivSGIX(int pname, Int32* @params); internal unsafe static SpriteParameterivSGIX glSpriteParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfEXT(int pname, Single param); internal static PointParameterfEXT glPointParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvEXT(int pname, Single* @params); internal unsafe static PointParameterfvEXT glPointParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfSGIS(int pname, Single param); internal static PointParameterfSGIS glPointParameterfSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvSGIS(int pname, Single* @params); internal unsafe static PointParameterfvSGIS glPointParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetInstrumentsSGIX(); internal static GetInstrumentsSGIX glGetInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer); internal unsafe static InstrumentsBufferSGIX glInstrumentsBufferSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 PollInstrumentsSGIX([Out] Int32* marker_p); internal unsafe static PollInstrumentsSGIX glPollInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadInstrumentsSGIX(Int32 marker); internal static ReadInstrumentsSGIX glReadInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StartInstrumentsSGIX(); internal static StartInstrumentsSGIX glStartInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StopInstrumentsSGIX(Int32 marker); internal static StopInstrumentsSGIX glStopInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FrameZoomSGIX(Int32 factor); internal static FrameZoomSGIX glFrameZoomSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TagSampleBufferSGIX(); internal static TagSampleBufferSGIX glTagSampleBufferSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points); internal unsafe static DeformationMap3dSGIX glDeformationMap3dSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points); internal unsafe static DeformationMap3fSGIX glDeformationMap3fSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeformSGIX(int mask); internal static DeformSGIX glDeformSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadIdentityDeformationMapSGIX(int mask); internal static LoadIdentityDeformationMapSGIX glLoadIdentityDeformationMapSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReferencePlaneSGIX(Double* equation); internal unsafe static ReferencePlaneSGIX glReferencePlaneSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushRasterSGIX(); internal static FlushRasterSGIX glFlushRasterSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogFuncSGIS(Int32 n, Single* points); internal unsafe static FogFuncSGIS glFogFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFogFuncSGIS([Out] Single* points); internal unsafe static GetFogFuncSGIS glGetFogFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ImageTransformParameteriHP(int target, int pname, Int32 param); internal static ImageTransformParameteriHP glImageTransformParameteriHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ImageTransformParameterfHP(int target, int pname, Single param); internal static ImageTransformParameterfHP glImageTransformParameterfHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ImageTransformParameterivHP(int target, int pname, Int32* @params); internal unsafe static ImageTransformParameterivHP glImageTransformParameterivHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ImageTransformParameterfvHP(int target, int pname, Single* @params); internal unsafe static ImageTransformParameterfvHP glImageTransformParameterfvHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetImageTransformParameterivHP(int target, int pname, [Out] Int32* @params); internal unsafe static GetImageTransformParameterivHP glGetImageTransformParameterivHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetImageTransformParameterfvHP(int target, int pname, [Out] Single* @params); internal unsafe static GetImageTransformParameterfvHP glGetImageTransformParameterfvHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, IntPtr data); internal static ColorSubTableEXT glColorSubTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorSubTableEXT(int target, Int32 start, Int32 x, Int32 y, Int32 width); internal static CopyColorSubTableEXT glCopyColorSubTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void HintPGI(int target, Int32 mode); internal static HintPGI glHintPGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, IntPtr table); internal static ColorTableEXT glColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTableEXT(int target, int format, int type, [Out] IntPtr data); internal static GetColorTableEXT glGetColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetColorTableParameterivEXT glGetColorTableParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfvEXT(int target, int pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfvEXT glGetColorTableParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetListParameterfvSGIX(UInt32 list, int pname, [Out] Single* @params); internal unsafe static GetListParameterfvSGIX glGetListParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetListParameterivSGIX(UInt32 list, int pname, [Out] Int32* @params); internal unsafe static GetListParameterivSGIX glGetListParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListParameterfSGIX(UInt32 list, int pname, Single param); internal static ListParameterfSGIX glListParameterfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ListParameterfvSGIX(UInt32 list, int pname, Single* @params); internal unsafe static ListParameterfvSGIX glListParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListParameteriSGIX(UInt32 list, int pname, Int32 param); internal static ListParameteriSGIX glListParameteriSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ListParameterivSGIX(UInt32 list, int pname, Int32* @params); internal unsafe static ListParameterivSGIX glListParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexMaterialEXT(int face, int mode); internal static IndexMaterialEXT glIndexMaterialEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexFuncEXT(int func, Single @ref); internal static IndexFuncEXT glIndexFuncEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LockArraysEXT(Int32 first, Int32 count); internal static LockArraysEXT glLockArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UnlockArraysEXT(); internal static UnlockArraysEXT glUnlockArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CullParameterdvEXT(int pname, [Out] Double* @params); internal unsafe static CullParameterdvEXT glCullParameterdvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CullParameterfvEXT(int pname, [Out] Single* @params); internal unsafe static CullParameterfvEXT glCullParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentColorMaterialSGIX(int face, int mode); internal static FragmentColorMaterialSGIX glFragmentColorMaterialSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightfSGIX(int light, int pname, Single param); internal static FragmentLightfSGIX glFragmentLightfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightfvSGIX(int light, int pname, Single* @params); internal unsafe static FragmentLightfvSGIX glFragmentLightfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightiSGIX(int light, int pname, Int32 param); internal static FragmentLightiSGIX glFragmentLightiSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightivSGIX(int light, int pname, Int32* @params); internal unsafe static FragmentLightivSGIX glFragmentLightivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightModelfSGIX(int pname, Single param); internal static FragmentLightModelfSGIX glFragmentLightModelfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightModelfvSGIX(int pname, Single* @params); internal unsafe static FragmentLightModelfvSGIX glFragmentLightModelfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightModeliSGIX(int pname, Int32 param); internal static FragmentLightModeliSGIX glFragmentLightModeliSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightModelivSGIX(int pname, Int32* @params); internal unsafe static FragmentLightModelivSGIX glFragmentLightModelivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentMaterialfSGIX(int face, int pname, Single param); internal static FragmentMaterialfSGIX glFragmentMaterialfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentMaterialfvSGIX(int face, int pname, Single* @params); internal unsafe static FragmentMaterialfvSGIX glFragmentMaterialfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentMaterialiSGIX(int face, int pname, Int32 param); internal static FragmentMaterialiSGIX glFragmentMaterialiSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentMaterialivSGIX(int face, int pname, Int32* @params); internal unsafe static FragmentMaterialivSGIX glFragmentMaterialivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentLightfvSGIX(int light, int pname, [Out] Single* @params); internal unsafe static GetFragmentLightfvSGIX glGetFragmentLightfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentLightivSGIX(int light, int pname, [Out] Int32* @params); internal unsafe static GetFragmentLightivSGIX glGetFragmentLightivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentMaterialfvSGIX(int face, int pname, [Out] Single* @params); internal unsafe static GetFragmentMaterialfvSGIX glGetFragmentMaterialfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentMaterialivSGIX(int face, int pname, [Out] Int32* @params); internal unsafe static GetFragmentMaterialivSGIX glGetFragmentMaterialivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightEnviSGIX(int pname, Int32 param); internal static LightEnviSGIX glLightEnviSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices); internal static DrawRangeElementsEXT glDrawRangeElementsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ApplyTextureEXT(int mode); internal static ApplyTextureEXT glApplyTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureLightEXT(int pname); internal static TextureLightEXT glTextureLightEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureMaterialEXT(int face, int mode); internal static TextureMaterialEXT glTextureMaterialEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AsyncMarkerSGIX(UInt32 marker); internal static AsyncMarkerSGIX glAsyncMarkerSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 FinishAsyncSGIX([Out] UInt32* markerp); internal unsafe static FinishAsyncSGIX glFinishAsyncSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 PollAsyncSGIX([Out] UInt32* markerp); internal unsafe static PollAsyncSGIX glPollAsyncSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenAsyncMarkersSGIX(Int32 range); internal static GenAsyncMarkersSGIX glGenAsyncMarkersSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range); internal static DeleteAsyncMarkersSGIX glDeleteAsyncMarkersSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsAsyncMarkerSGIX(UInt32 marker); internal static IsAsyncMarkerSGIX glIsAsyncMarkerSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointervINTEL(Int32 size, int type, IntPtr pointer); internal static VertexPointervINTEL glVertexPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointervINTEL(int type, IntPtr pointer); internal static NormalPointervINTEL glNormalPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointervINTEL(Int32 size, int type, IntPtr pointer); internal static ColorPointervINTEL glColorPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointervINTEL(Int32 size, int type, IntPtr pointer); internal static TexCoordPointervINTEL glTexCoordPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransformParameteriEXT(int target, int pname, Int32 param); internal static PixelTransformParameteriEXT glPixelTransformParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransformParameterfEXT(int target, int pname, Single param); internal static PixelTransformParameterfEXT glPixelTransformParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTransformParameterivEXT(int target, int pname, Int32* @params); internal unsafe static PixelTransformParameterivEXT glPixelTransformParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTransformParameterfvEXT(int target, int pname, Single* @params); internal unsafe static PixelTransformParameterfvEXT glPixelTransformParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3bEXT(SByte red, SByte green, SByte blue); internal static SecondaryColor3bEXT glSecondaryColor3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3bvEXT(SByte* v); internal unsafe static SecondaryColor3bvEXT glSecondaryColor3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3dEXT(Double red, Double green, Double blue); internal static SecondaryColor3dEXT glSecondaryColor3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3dvEXT(Double* v); internal unsafe static SecondaryColor3dvEXT glSecondaryColor3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3fEXT(Single red, Single green, Single blue); internal static SecondaryColor3fEXT glSecondaryColor3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3fvEXT(Single* v); internal unsafe static SecondaryColor3fvEXT glSecondaryColor3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue); internal static SecondaryColor3iEXT glSecondaryColor3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ivEXT(Int32* v); internal unsafe static SecondaryColor3ivEXT glSecondaryColor3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue); internal static SecondaryColor3sEXT glSecondaryColor3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3svEXT(Int16* v); internal unsafe static SecondaryColor3svEXT glSecondaryColor3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue); internal static SecondaryColor3ubEXT glSecondaryColor3ubEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ubvEXT(Byte* v); internal unsafe static SecondaryColor3ubvEXT glSecondaryColor3ubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue); internal static SecondaryColor3uiEXT glSecondaryColor3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3uivEXT(UInt32* v); internal unsafe static SecondaryColor3uivEXT glSecondaryColor3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue); internal static SecondaryColor3usEXT glSecondaryColor3usEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3usvEXT(UInt16* v); internal unsafe static SecondaryColor3usvEXT glSecondaryColor3usvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer); internal static SecondaryColorPointerEXT glSecondaryColorPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureNormalEXT(int mode); internal static TextureNormalEXT glTextureNormalEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawArraysEXT(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); internal unsafe static MultiDrawArraysEXT glMultiDrawArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElementsEXT(int mode, Int32* count, int type, IntPtr indices, Int32 primcount); internal unsafe static MultiDrawElementsEXT glMultiDrawElementsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordfEXT(Single coord); internal static FogCoordfEXT glFogCoordfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordfvEXT(Single* coord); internal unsafe static FogCoordfvEXT glFogCoordfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoorddEXT(Double coord); internal static FogCoorddEXT glFogCoorddEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoorddvEXT(Double* coord); internal unsafe static FogCoorddvEXT glFogCoorddvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointerEXT(int type, Int32 stride, IntPtr pointer); internal static FogCoordPointerEXT glFogCoordPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3bEXT(SByte tx, SByte ty, SByte tz); internal static Tangent3bEXT glTangent3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3bvEXT(SByte* v); internal unsafe static Tangent3bvEXT glTangent3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3dEXT(Double tx, Double ty, Double tz); internal static Tangent3dEXT glTangent3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3dvEXT(Double* v); internal unsafe static Tangent3dvEXT glTangent3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3fEXT(Single tx, Single ty, Single tz); internal static Tangent3fEXT glTangent3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3fvEXT(Single* v); internal unsafe static Tangent3fvEXT glTangent3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz); internal static Tangent3iEXT glTangent3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3ivEXT(Int32* v); internal unsafe static Tangent3ivEXT glTangent3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz); internal static Tangent3sEXT glTangent3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3svEXT(Int16* v); internal unsafe static Tangent3svEXT glTangent3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3bEXT(SByte bx, SByte by, SByte bz); internal static Binormal3bEXT glBinormal3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3bvEXT(SByte* v); internal unsafe static Binormal3bvEXT glBinormal3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3dEXT(Double bx, Double by, Double bz); internal static Binormal3dEXT glBinormal3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3dvEXT(Double* v); internal unsafe static Binormal3dvEXT glBinormal3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3fEXT(Single bx, Single by, Single bz); internal static Binormal3fEXT glBinormal3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3fvEXT(Single* v); internal unsafe static Binormal3fvEXT glBinormal3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz); internal static Binormal3iEXT glBinormal3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3ivEXT(Int32* v); internal unsafe static Binormal3ivEXT glBinormal3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz); internal static Binormal3sEXT glBinormal3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3svEXT(Int16* v); internal unsafe static Binormal3svEXT glBinormal3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TangentPointerEXT(int type, Int32 stride, IntPtr pointer); internal static TangentPointerEXT glTangentPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BinormalPointerEXT(int type, Int32 stride, IntPtr pointer); internal static BinormalPointerEXT glBinormalPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishTextureSUNX(); internal static FinishTextureSUNX glFinishTextureSUNX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorbSUN(SByte factor); internal static GlobalAlphaFactorbSUN glGlobalAlphaFactorbSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorsSUN(Int16 factor); internal static GlobalAlphaFactorsSUN glGlobalAlphaFactorsSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactoriSUN(Int32 factor); internal static GlobalAlphaFactoriSUN glGlobalAlphaFactoriSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorfSUN(Single factor); internal static GlobalAlphaFactorfSUN glGlobalAlphaFactorfSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactordSUN(Double factor); internal static GlobalAlphaFactordSUN glGlobalAlphaFactordSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorubSUN(Byte factor); internal static GlobalAlphaFactorubSUN glGlobalAlphaFactorubSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorusSUN(UInt16 factor); internal static GlobalAlphaFactorusSUN glGlobalAlphaFactorusSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactoruiSUN(UInt32 factor); internal static GlobalAlphaFactoruiSUN glGlobalAlphaFactoruiSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiSUN(UInt32 code); internal static ReplacementCodeuiSUN glReplacementCodeuiSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeusSUN(UInt16 code); internal static ReplacementCodeusSUN glReplacementCodeusSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeubSUN(Byte code); internal static ReplacementCodeubSUN glReplacementCodeubSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuivSUN(UInt32* code); internal unsafe static ReplacementCodeuivSUN glReplacementCodeuivSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeusvSUN(UInt16* code); internal unsafe static ReplacementCodeusvSUN glReplacementCodeusvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeubvSUN(Byte* code); internal unsafe static ReplacementCodeubvSUN glReplacementCodeubvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodePointerSUN(int type, Int32 stride, IntPtr pointer); internal static ReplacementCodePointerSUN glReplacementCodePointerSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y); internal static Color4ubVertex2fSUN glColor4ubVertex2fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubVertex2fvSUN(Byte* c, Single* v); internal unsafe static Color4ubVertex2fvSUN glColor4ubVertex2fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static Color4ubVertex3fSUN glColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubVertex3fvSUN(Byte* c, Single* v); internal unsafe static Color4ubVertex3fvSUN glColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z); internal static Color3fVertex3fSUN glColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3fVertex3fvSUN(Single* c, Single* v); internal unsafe static Color3fVertex3fvSUN glColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static Normal3fVertex3fSUN glNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3fVertex3fvSUN(Single* n, Single* v); internal unsafe static Normal3fVertex3fvSUN glNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static Color4fNormal3fVertex3fSUN glColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v); internal unsafe static Color4fNormal3fVertex3fvSUN glColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z); internal static TexCoord2fVertex3fSUN glTexCoord2fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fVertex3fvSUN(Single* tc, Single* v); internal unsafe static TexCoord2fVertex3fvSUN glTexCoord2fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w); internal static TexCoord4fVertex4fSUN glTexCoord4fVertex4fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fVertex4fvSUN(Single* tc, Single* v); internal unsafe static TexCoord4fVertex4fvSUN glTexCoord4fVertex4fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static TexCoord2fColor4ubVertex3fSUN glTexCoord2fColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v); internal unsafe static TexCoord2fColor4ubVertex3fvSUN glTexCoord2fColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z); internal static TexCoord2fColor3fVertex3fSUN glTexCoord2fColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v); internal unsafe static TexCoord2fColor3fVertex3fvSUN glTexCoord2fColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static TexCoord2fNormal3fVertex3fSUN glTexCoord2fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v); internal unsafe static TexCoord2fNormal3fVertex3fvSUN glTexCoord2fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static TexCoord2fColor4fNormal3fVertex3fSUN glTexCoord2fColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v); internal unsafe static TexCoord2fColor4fNormal3fVertex3fvSUN glTexCoord2fColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w); internal static TexCoord4fColor4fNormal3fVertex4fSUN glTexCoord4fColor4fNormal3fVertex4fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v); internal unsafe static TexCoord4fColor4fNormal3fVertex4fvSUN glTexCoord4fColor4fNormal3fVertex4fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z); internal static ReplacementCodeuiVertex3fSUN glReplacementCodeuiVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v); internal unsafe static ReplacementCodeuiVertex3fvSUN glReplacementCodeuiVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static ReplacementCodeuiColor4ubVertex3fSUN glReplacementCodeuiColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v); internal unsafe static ReplacementCodeuiColor4ubVertex3fvSUN glReplacementCodeuiColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z); internal static ReplacementCodeuiColor3fVertex3fSUN glReplacementCodeuiColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v); internal unsafe static ReplacementCodeuiColor3fVertex3fvSUN glReplacementCodeuiColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiNormal3fVertex3fSUN glReplacementCodeuiNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v); internal unsafe static ReplacementCodeuiNormal3fVertex3fvSUN glReplacementCodeuiNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiColor4fNormal3fVertex3fSUN glReplacementCodeuiColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v); internal unsafe static ReplacementCodeuiColor4fNormal3fVertex3fvSUN glReplacementCodeuiColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fVertex3fSUN glReplacementCodeuiTexCoord2fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fVertex3fvSUN glReplacementCodeuiTexCoord2fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); internal static BlendFuncSeparateEXT glBlendFuncSeparateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); internal static BlendFuncSeparateINGR glBlendFuncSeparateINGR; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeightfEXT(Single weight); internal static VertexWeightfEXT glVertexWeightfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexWeightfvEXT(Single* weight); internal unsafe static VertexWeightfvEXT glVertexWeightfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeightPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer); internal static VertexWeightPointerEXT glVertexWeightPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushVertexArrayRangeNV(); internal static FlushVertexArrayRangeNV glFlushVertexArrayRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayRangeNV(Int32 length, IntPtr pointer); internal static VertexArrayRangeNV glVertexArrayRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerParameterfvNV(int pname, Single* @params); internal unsafe static CombinerParameterfvNV glCombinerParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerParameterfNV(int pname, Single param); internal static CombinerParameterfNV glCombinerParameterfNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerParameterivNV(int pname, Int32* @params); internal unsafe static CombinerParameterivNV glCombinerParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerParameteriNV(int pname, Int32 param); internal static CombinerParameteriNV glCombinerParameteriNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage); internal static CombinerInputNV glCombinerInputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, Int32 abDotProduct, Int32 cdDotProduct, Int32 muxSum); internal static CombinerOutputNV glCombinerOutputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinalCombinerInputNV(int variable, int input, int mapping, int componentUsage); internal static FinalCombinerInputNV glFinalCombinerInputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] Single* @params); internal unsafe static GetCombinerInputParameterfvNV glGetCombinerInputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] Int32* @params); internal unsafe static GetCombinerInputParameterivNV glGetCombinerInputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] Single* @params); internal unsafe static GetCombinerOutputParameterfvNV glGetCombinerOutputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] Int32* @params); internal unsafe static GetCombinerOutputParameterivNV glGetCombinerOutputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] Single* @params); internal unsafe static GetFinalCombinerInputParameterfvNV glGetFinalCombinerInputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFinalCombinerInputParameterivNV(int variable, int pname, [Out] Int32* @params); internal unsafe static GetFinalCombinerInputParameterivNV glGetFinalCombinerInputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResizeBuffersMESA(); internal static ResizeBuffersMESA glResizeBuffersMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2dMESA(Double x, Double y); internal static WindowPos2dMESA glWindowPos2dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dvMESA(Double* v); internal unsafe static WindowPos2dvMESA glWindowPos2dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2fMESA(Single x, Single y); internal static WindowPos2fMESA glWindowPos2fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fvMESA(Single* v); internal unsafe static WindowPos2fvMESA glWindowPos2fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2iMESA(Int32 x, Int32 y); internal static WindowPos2iMESA glWindowPos2iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2ivMESA(Int32* v); internal unsafe static WindowPos2ivMESA glWindowPos2ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2sMESA(Int16 x, Int16 y); internal static WindowPos2sMESA glWindowPos2sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2svMESA(Int16* v); internal unsafe static WindowPos2svMESA glWindowPos2svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3dMESA(Double x, Double y, Double z); internal static WindowPos3dMESA glWindowPos3dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dvMESA(Double* v); internal unsafe static WindowPos3dvMESA glWindowPos3dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3fMESA(Single x, Single y, Single z); internal static WindowPos3fMESA glWindowPos3fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fvMESA(Single* v); internal unsafe static WindowPos3fvMESA glWindowPos3fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3iMESA(Int32 x, Int32 y, Int32 z); internal static WindowPos3iMESA glWindowPos3iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3ivMESA(Int32* v); internal unsafe static WindowPos3ivMESA glWindowPos3ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3sMESA(Int16 x, Int16 y, Int16 z); internal static WindowPos3sMESA glWindowPos3sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3svMESA(Int16* v); internal unsafe static WindowPos3svMESA glWindowPos3svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4dMESA(Double x, Double y, Double z, Double w); internal static WindowPos4dMESA glWindowPos4dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4dvMESA(Double* v); internal unsafe static WindowPos4dvMESA glWindowPos4dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4fMESA(Single x, Single y, Single z, Single w); internal static WindowPos4fMESA glWindowPos4fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4fvMESA(Single* v); internal unsafe static WindowPos4fvMESA glWindowPos4fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w); internal static WindowPos4iMESA glWindowPos4iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4ivMESA(Int32* v); internal unsafe static WindowPos4ivMESA glWindowPos4ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w); internal static WindowPos4sMESA glWindowPos4sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4svMESA(Int16* v); internal unsafe static WindowPos4svMESA glWindowPos4svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiModeDrawArraysIBM(int* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride); internal unsafe static MultiModeDrawArraysIBM glMultiModeDrawArraysIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiModeDrawElementsIBM(int* mode, Int32* count, int type, IntPtr indices, Int32 primcount, Int32 modestride); internal unsafe static MultiModeDrawElementsIBM glMultiModeDrawElementsIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static ColorPointerListIBM glColorPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static SecondaryColorPointerListIBM glSecondaryColorPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagPointerListIBM(Int32 stride, Int32* pointer, Int32 ptrstride); internal unsafe static EdgeFlagPointerListIBM glEdgeFlagPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static FogCoordPointerListIBM glFogCoordPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static IndexPointerListIBM glIndexPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static NormalPointerListIBM glNormalPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static TexCoordPointerListIBM glTexCoordPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static VertexPointerListIBM glVertexPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TbufferMask3DFX(UInt32 mask); internal static TbufferMask3DFX glTbufferMask3DFX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaskEXT(Single value, Int32 invert); internal static SampleMaskEXT glSampleMaskEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SamplePatternEXT(int pattern); internal static SamplePatternEXT glSamplePatternEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureColorMaskSGIS(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static TextureColorMaskSGIS glTextureColorMaskSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IglooInterfaceSGIX(int pname, IntPtr @params); internal static IglooInterfaceSGIX glIglooInterfaceSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFencesNV(Int32 n, UInt32* fences); internal unsafe static DeleteFencesNV glDeleteFencesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFencesNV(Int32 n, [Out] UInt32* fences); internal unsafe static GenFencesNV glGenFencesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsFenceNV(UInt32 fence); internal static IsFenceNV glIsFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 TestFenceNV(UInt32 fence); internal static TestFenceNV glTestFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFenceivNV(UInt32 fence, int pname, [Out] Int32* @params); internal unsafe static GetFenceivNV glGetFenceivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishFenceNV(UInt32 fence); internal static FinishFenceNV glFinishFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetFenceNV(UInt32 fence, int condition); internal static SetFenceNV glSetFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points); internal static MapControlPointsNV glMapControlPointsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapParameterivNV(int target, int pname, Int32* @params); internal unsafe static MapParameterivNV glMapParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapParameterfvNV(int target, int pname, Single* @params); internal unsafe static MapParameterfvNV glMapParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points); internal static GetMapControlPointsNV glGetMapControlPointsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapParameterivNV(int target, int pname, [Out] Int32* @params); internal unsafe static GetMapParameterivNV glGetMapParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapParameterfvNV(int target, int pname, [Out] Single* @params); internal unsafe static GetMapParameterfvNV glGetMapParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetMapAttribParameterivNV glGetMapAttribParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetMapAttribParameterfvNV glGetMapAttribParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMapsNV(int target, int mode); internal static EvalMapsNV glEvalMapsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerStageParameterfvNV(int stage, int pname, Single* @params); internal unsafe static CombinerStageParameterfvNV glCombinerStageParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerStageParameterfvNV(int stage, int pname, [Out] Single* @params); internal unsafe static GetCombinerStageParameterfvNV glGetCombinerStageParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] Int32* residences); internal unsafe static AreProgramsResidentNV glAreProgramsResidentNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindProgramNV(int target, UInt32 id); internal static BindProgramNV glBindProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteProgramsNV(Int32 n, UInt32* programs); internal unsafe static DeleteProgramsNV glDeleteProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ExecuteProgramNV(int target, UInt32 id, Single* @params); internal unsafe static ExecuteProgramNV glExecuteProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenProgramsNV(Int32 n, [Out] UInt32* programs); internal unsafe static GenProgramsNV glGenProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] Double* @params); internal unsafe static GetProgramParameterdvNV glGetProgramParameterdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetProgramParameterfvNV glGetProgramParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramivNV(UInt32 id, int pname, [Out] Int32* @params); internal unsafe static GetProgramivNV glGetProgramivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramStringNV(UInt32 id, int pname, [Out] Byte* program); internal unsafe static GetProgramStringNV glGetProgramStringNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] Int32* @params); internal unsafe static GetTrackMatrixivNV glGetTrackMatrixivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdvNV(UInt32 index, int pname, [Out] Double* @params); internal unsafe static GetVertexAttribdvNV glGetVertexAttribdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfvNV(UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetVertexAttribfvNV glGetVertexAttribfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribivNV(UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetVertexAttribivNV glGetVertexAttribivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointervNV(UInt32 index, int pname, [Out] IntPtr pointer); internal static GetVertexAttribPointervNV glGetVertexAttribPointervNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsProgramNV(UInt32 id); internal static IsProgramNV glIsProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadProgramNV(int target, UInt32 id, Int32 len, Byte* program); internal unsafe static LoadProgramNV glLoadProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameter4dNV(int target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramParameter4dNV glProgramParameter4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameter4dvNV(int target, UInt32 index, Double* v); internal unsafe static ProgramParameter4dvNV glProgramParameter4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameter4fNV(int target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramParameter4fNV glProgramParameter4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameter4fvNV(int target, UInt32 index, Single* v); internal unsafe static ProgramParameter4fvNV glProgramParameter4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameters4dvNV(int target, UInt32 index, UInt32 count, Double* v); internal unsafe static ProgramParameters4dvNV glProgramParameters4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameters4fvNV(int target, UInt32 index, UInt32 count, Single* v); internal unsafe static ProgramParameters4fvNV glProgramParameters4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RequestResidentProgramsNV(Int32 n, UInt32* programs); internal unsafe static RequestResidentProgramsNV glRequestResidentProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TrackMatrixNV(int target, UInt32 address, int matrix, int transform); internal static TrackMatrixNV glTrackMatrixNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer); internal static VertexAttribPointerNV glVertexAttribPointerNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1dNV(UInt32 index, Double x); internal static VertexAttrib1dNV glVertexAttrib1dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib1dvNV glVertexAttrib1dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1fNV(UInt32 index, Single x); internal static VertexAttrib1fNV glVertexAttrib1fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib1fvNV glVertexAttrib1fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1sNV(UInt32 index, Int16 x); internal static VertexAttrib1sNV glVertexAttrib1sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib1svNV glVertexAttrib1svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2dNV(UInt32 index, Double x, Double y); internal static VertexAttrib2dNV glVertexAttrib2dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib2dvNV glVertexAttrib2dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2fNV(UInt32 index, Single x, Single y); internal static VertexAttrib2fNV glVertexAttrib2fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib2fvNV glVertexAttrib2fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2sNV glVertexAttrib2sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib2svNV glVertexAttrib2svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3dNV glVertexAttrib3dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib3dvNV glVertexAttrib3dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3fNV glVertexAttrib3fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib3fvNV glVertexAttrib3fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3sNV glVertexAttrib3sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib3svNV glVertexAttrib3svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4dNV glVertexAttrib4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib4dvNV glVertexAttrib4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4fNV glVertexAttrib4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib4fvNV glVertexAttrib4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4sNV glVertexAttrib4sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib4svNV glVertexAttrib4svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4ubNV glVertexAttrib4ubNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubvNV(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubvNV glVertexAttrib4ubvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs1dvNV glVertexAttribs1dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs1fvNV glVertexAttribs1fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs1svNV glVertexAttribs1svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs2dvNV glVertexAttribs2dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs2fvNV glVertexAttribs2fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs2svNV glVertexAttribs2svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs3dvNV glVertexAttribs3dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs3fvNV glVertexAttribs3fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs3svNV glVertexAttribs3svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs4dvNV glVertexAttribs4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs4fvNV glVertexAttribs4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs4svNV glVertexAttribs4svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v); internal unsafe static VertexAttribs4ubvNV glVertexAttribs4ubvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexBumpParameterivATI(int pname, Int32* param); internal unsafe static TexBumpParameterivATI glTexBumpParameterivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexBumpParameterfvATI(int pname, Single* param); internal unsafe static TexBumpParameterfvATI glTexBumpParameterfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexBumpParameterivATI(int pname, [Out] Int32* param); internal unsafe static GetTexBumpParameterivATI glGetTexBumpParameterivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexBumpParameterfvATI(int pname, [Out] Single* param); internal unsafe static GetTexBumpParameterfvATI glGetTexBumpParameterfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenFragmentShadersATI(UInt32 range); internal static GenFragmentShadersATI glGenFragmentShadersATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFragmentShaderATI(UInt32 id); internal static BindFragmentShaderATI glBindFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteFragmentShaderATI(UInt32 id); internal static DeleteFragmentShaderATI glDeleteFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginFragmentShaderATI(); internal static BeginFragmentShaderATI glBeginFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndFragmentShaderATI(); internal static EndFragmentShaderATI glEndFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PassTexCoordATI(UInt32 dst, UInt32 coord, int swizzle); internal static PassTexCoordATI glPassTexCoordATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMapATI(UInt32 dst, UInt32 interp, int swizzle); internal static SampleMapATI glSampleMapATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); internal static ColorFragmentOp1ATI glColorFragmentOp1ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); internal static ColorFragmentOp2ATI glColorFragmentOp2ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); internal static ColorFragmentOp3ATI glColorFragmentOp3ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); internal static AlphaFragmentOp1ATI glAlphaFragmentOp1ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); internal static AlphaFragmentOp2ATI glAlphaFragmentOp2ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); internal static AlphaFragmentOp3ATI glAlphaFragmentOp3ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SetFragmentShaderConstantATI(UInt32 dst, Single* value); internal unsafe static SetFragmentShaderConstantATI glSetFragmentShaderConstantATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PNTrianglesiATI(int pname, Int32 param); internal static PNTrianglesiATI glPNTrianglesiATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PNTrianglesfATI(int pname, Single param); internal static PNTrianglesfATI glPNTrianglesfATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, int usage); internal static NewObjectBufferATI glNewObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsObjectBufferATI(UInt32 buffer); internal static IsObjectBufferATI glIsObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, int preserve); internal static UpdateObjectBufferATI glUpdateObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectBufferfvATI(UInt32 buffer, int pname, [Out] Single* @params); internal unsafe static GetObjectBufferfvATI glGetObjectBufferfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectBufferivATI(UInt32 buffer, int pname, [Out] Int32* @params); internal unsafe static GetObjectBufferivATI glGetObjectBufferivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FreeObjectBufferATI(UInt32 buffer); internal static FreeObjectBufferATI glFreeObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayObjectATI(int array, Int32 size, int type, Int32 stride, UInt32 buffer, UInt32 offset); internal static ArrayObjectATI glArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetArrayObjectfvATI(int array, int pname, [Out] Single* @params); internal unsafe static GetArrayObjectfvATI glGetArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetArrayObjectivATI(int array, int pname, [Out] Int32* @params); internal unsafe static GetArrayObjectivATI glGetArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VariantArrayObjectATI(UInt32 id, int type, Int32 stride, UInt32 buffer, UInt32 offset); internal static VariantArrayObjectATI glVariantArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] Single* @params); internal unsafe static GetVariantArrayObjectfvATI glGetVariantArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantArrayObjectivATI(UInt32 id, int pname, [Out] Int32* @params); internal unsafe static GetVariantArrayObjectivATI glGetVariantArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginVertexShaderEXT(); internal static BeginVertexShaderEXT glBeginVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndVertexShaderEXT(); internal static EndVertexShaderEXT glEndVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindVertexShaderEXT(UInt32 id); internal static BindVertexShaderEXT glBindVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenVertexShadersEXT(UInt32 range); internal static GenVertexShadersEXT glGenVertexShadersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteVertexShaderEXT(UInt32 id); internal static DeleteVertexShaderEXT glDeleteVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp1EXT(int op, UInt32 res, UInt32 arg1); internal static ShaderOp1EXT glShaderOp1EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp2EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2); internal static ShaderOp2EXT glShaderOp2EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp3EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3); internal static ShaderOp3EXT glShaderOp3EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SwizzleEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW); internal static SwizzleEXT glSwizzleEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WriteMaskEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW); internal static WriteMaskEXT glWriteMaskEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num); internal static InsertComponentEXT glInsertComponentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num); internal static ExtractComponentEXT glExtractComponentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenSymbolsEXT(int datatype, int storagetype, int range, UInt32 components); internal static GenSymbolsEXT glGenSymbolsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetInvariantEXT(UInt32 id, int type, IntPtr addr); internal static SetInvariantEXT glSetInvariantEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetLocalConstantEXT(UInt32 id, int type, IntPtr addr); internal static SetLocalConstantEXT glSetLocalConstantEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantbvEXT(UInt32 id, SByte* addr); internal unsafe static VariantbvEXT glVariantbvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantsvEXT(UInt32 id, Int16* addr); internal unsafe static VariantsvEXT glVariantsvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantivEXT(UInt32 id, Int32* addr); internal unsafe static VariantivEXT glVariantivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantfvEXT(UInt32 id, Single* addr); internal unsafe static VariantfvEXT glVariantfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantdvEXT(UInt32 id, Double* addr); internal unsafe static VariantdvEXT glVariantdvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantubvEXT(UInt32 id, Byte* addr); internal unsafe static VariantubvEXT glVariantubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantusvEXT(UInt32 id, UInt16* addr); internal unsafe static VariantusvEXT glVariantusvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantuivEXT(UInt32 id, UInt32* addr); internal unsafe static VariantuivEXT glVariantuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VariantPointerEXT(UInt32 id, int type, UInt32 stride, IntPtr addr); internal static VariantPointerEXT glVariantPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVariantClientStateEXT(UInt32 id); internal static EnableVariantClientStateEXT glEnableVariantClientStateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVariantClientStateEXT(UInt32 id); internal static DisableVariantClientStateEXT glDisableVariantClientStateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindLightParameterEXT(int light, int value); internal static BindLightParameterEXT glBindLightParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindMaterialParameterEXT(int face, int value); internal static BindMaterialParameterEXT glBindMaterialParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindTexGenParameterEXT(int unit, int coord, int value); internal static BindTexGenParameterEXT glBindTexGenParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindTextureUnitParameterEXT(int unit, int value); internal static BindTextureUnitParameterEXT glBindTextureUnitParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindParameterEXT(int value); internal static BindParameterEXT glBindParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsVariantEnabledEXT(UInt32 id, int cap); internal static IsVariantEnabledEXT glIsVariantEnabledEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantBooleanvEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetVariantBooleanvEXT glGetVariantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantIntegervEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetVariantIntegervEXT glGetVariantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantFloatvEXT(UInt32 id, int value, [Out] Single* data); internal unsafe static GetVariantFloatvEXT glGetVariantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVariantPointervEXT(UInt32 id, int value, [Out] IntPtr data); internal static GetVariantPointervEXT glGetVariantPointervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantBooleanvEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetInvariantBooleanvEXT glGetInvariantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantIntegervEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetInvariantIntegervEXT glGetInvariantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantFloatvEXT(UInt32 id, int value, [Out] Single* data); internal unsafe static GetInvariantFloatvEXT glGetInvariantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetLocalConstantBooleanvEXT glGetLocalConstantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantIntegervEXT(UInt32 id, int value, [Out] Int32* data); internal unsafe static GetLocalConstantIntegervEXT glGetLocalConstantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantFloatvEXT(UInt32 id, int value, [Out] Single* data); internal unsafe static GetLocalConstantFloatvEXT glGetLocalConstantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1sATI(int stream, Int16 x); internal static VertexStream1sATI glVertexStream1sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1svATI(int stream, Int16* coords); internal unsafe static VertexStream1svATI glVertexStream1svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1iATI(int stream, Int32 x); internal static VertexStream1iATI glVertexStream1iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1ivATI(int stream, Int32* coords); internal unsafe static VertexStream1ivATI glVertexStream1ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1fATI(int stream, Single x); internal static VertexStream1fATI glVertexStream1fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1fvATI(int stream, Single* coords); internal unsafe static VertexStream1fvATI glVertexStream1fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1dATI(int stream, Double x); internal static VertexStream1dATI glVertexStream1dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1dvATI(int stream, Double* coords); internal unsafe static VertexStream1dvATI glVertexStream1dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2sATI(int stream, Int16 x, Int16 y); internal static VertexStream2sATI glVertexStream2sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2svATI(int stream, Int16* coords); internal unsafe static VertexStream2svATI glVertexStream2svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2iATI(int stream, Int32 x, Int32 y); internal static VertexStream2iATI glVertexStream2iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2ivATI(int stream, Int32* coords); internal unsafe static VertexStream2ivATI glVertexStream2ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2fATI(int stream, Single x, Single y); internal static VertexStream2fATI glVertexStream2fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2fvATI(int stream, Single* coords); internal unsafe static VertexStream2fvATI glVertexStream2fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2dATI(int stream, Double x, Double y); internal static VertexStream2dATI glVertexStream2dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2dvATI(int stream, Double* coords); internal unsafe static VertexStream2dvATI glVertexStream2dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3sATI(int stream, Int16 x, Int16 y, Int16 z); internal static VertexStream3sATI glVertexStream3sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3svATI(int stream, Int16* coords); internal unsafe static VertexStream3svATI glVertexStream3svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3iATI(int stream, Int32 x, Int32 y, Int32 z); internal static VertexStream3iATI glVertexStream3iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3ivATI(int stream, Int32* coords); internal unsafe static VertexStream3ivATI glVertexStream3ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3fATI(int stream, Single x, Single y, Single z); internal static VertexStream3fATI glVertexStream3fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3fvATI(int stream, Single* coords); internal unsafe static VertexStream3fvATI glVertexStream3fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3dATI(int stream, Double x, Double y, Double z); internal static VertexStream3dATI glVertexStream3dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3dvATI(int stream, Double* coords); internal unsafe static VertexStream3dvATI glVertexStream3dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4sATI(int stream, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexStream4sATI glVertexStream4sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4svATI(int stream, Int16* coords); internal unsafe static VertexStream4svATI glVertexStream4svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4iATI(int stream, Int32 x, Int32 y, Int32 z, Int32 w); internal static VertexStream4iATI glVertexStream4iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4ivATI(int stream, Int32* coords); internal unsafe static VertexStream4ivATI glVertexStream4ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4fATI(int stream, Single x, Single y, Single z, Single w); internal static VertexStream4fATI glVertexStream4fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4fvATI(int stream, Single* coords); internal unsafe static VertexStream4fvATI glVertexStream4fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4dATI(int stream, Double x, Double y, Double z, Double w); internal static VertexStream4dATI glVertexStream4dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4dvATI(int stream, Double* coords); internal unsafe static VertexStream4dvATI glVertexStream4dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3bATI(int stream, SByte nx, SByte ny, SByte nz); internal static NormalStream3bATI glNormalStream3bATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3bvATI(int stream, SByte* coords); internal unsafe static NormalStream3bvATI glNormalStream3bvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3sATI(int stream, Int16 nx, Int16 ny, Int16 nz); internal static NormalStream3sATI glNormalStream3sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3svATI(int stream, Int16* coords); internal unsafe static NormalStream3svATI glNormalStream3svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3iATI(int stream, Int32 nx, Int32 ny, Int32 nz); internal static NormalStream3iATI glNormalStream3iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3ivATI(int stream, Int32* coords); internal unsafe static NormalStream3ivATI glNormalStream3ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3fATI(int stream, Single nx, Single ny, Single nz); internal static NormalStream3fATI glNormalStream3fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3fvATI(int stream, Single* coords); internal unsafe static NormalStream3fvATI glNormalStream3fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3dATI(int stream, Double nx, Double ny, Double nz); internal static NormalStream3dATI glNormalStream3dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3dvATI(int stream, Double* coords); internal unsafe static NormalStream3dvATI glNormalStream3dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveVertexStreamATI(int stream); internal static ClientActiveVertexStreamATI glClientActiveVertexStreamATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendEnviATI(int pname, Int32 param); internal static VertexBlendEnviATI glVertexBlendEnviATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendEnvfATI(int pname, Single param); internal static VertexBlendEnvfATI glVertexBlendEnvfATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ElementPointerATI(int type, IntPtr pointer); internal static ElementPointerATI glElementPointerATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementArrayATI(int mode, Int32 count); internal static DrawElementArrayATI glDrawElementArrayATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementArrayATI(int mode, UInt32 start, UInt32 end, Int32 count); internal static DrawRangeElementArrayATI glDrawRangeElementArrayATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawMeshArraysSUN(int mode, Int32 first, Int32 count, Int32 width); internal static DrawMeshArraysSUN glDrawMeshArraysSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids); internal unsafe static GenOcclusionQueriesNV glGenOcclusionQueriesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids); internal unsafe static DeleteOcclusionQueriesNV glDeleteOcclusionQueriesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsOcclusionQueryNV(UInt32 id); internal static IsOcclusionQueryNV glIsOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginOcclusionQueryNV(UInt32 id); internal static BeginOcclusionQueryNV glBeginOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndOcclusionQueryNV(); internal static EndOcclusionQueryNV glEndOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetOcclusionQueryivNV(UInt32 id, int pname, [Out] Int32* @params); internal unsafe static GetOcclusionQueryivNV glGetOcclusionQueryivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32* @params); internal unsafe static GetOcclusionQueryuivNV glGetOcclusionQueryuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameteriNV(int pname, Int32 param); internal static PointParameteriNV glPointParameteriNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterivNV(int pname, Int32* @params); internal unsafe static PointParameterivNV glPointParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveStencilFaceEXT(int face); internal static ActiveStencilFaceEXT glActiveStencilFaceEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ElementPointerAPPLE(int type, IntPtr pointer); internal static ElementPointerAPPLE glElementPointerAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementArrayAPPLE(int mode, Int32 first, Int32 count); internal static DrawElementArrayAPPLE glDrawElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32 first, Int32 count); internal static DrawRangeElementArrayAPPLE glDrawRangeElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElementArrayAPPLE(int mode, Int32* first, Int32* count, Int32 primcount); internal unsafe static MultiDrawElementArrayAPPLE glMultiDrawElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount); internal unsafe static MultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFencesAPPLE(Int32 n, [Out] UInt32* fences); internal unsafe static GenFencesAPPLE glGenFencesAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFencesAPPLE(Int32 n, UInt32* fences); internal unsafe static DeleteFencesAPPLE glDeleteFencesAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetFenceAPPLE(UInt32 fence); internal static SetFenceAPPLE glSetFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsFenceAPPLE(UInt32 fence); internal static IsFenceAPPLE glIsFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 TestFenceAPPLE(UInt32 fence); internal static TestFenceAPPLE glTestFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishFenceAPPLE(UInt32 fence); internal static FinishFenceAPPLE glFinishFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 TestObjectAPPLE(int @object, UInt32 name); internal static TestObjectAPPLE glTestObjectAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishObjectAPPLE(int @object, Int32 name); internal static FinishObjectAPPLE glFinishObjectAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindVertexArrayAPPLE(UInt32 array); internal static BindVertexArrayAPPLE glBindVertexArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays); internal unsafe static DeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays); internal unsafe static GenVertexArraysAPPLE glGenVertexArraysAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsVertexArrayAPPLE(UInt32 array); internal static IsVertexArrayAPPLE glIsVertexArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); internal static VertexArrayRangeAPPLE glVertexArrayRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); internal static FlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayParameteriAPPLE(int pname, Int32 param); internal static VertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffersATI(Int32 n, int* bufs); internal unsafe static DrawBuffersATI glDrawBuffersATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w); internal unsafe static ProgramNamedParameter4fNV glProgramNamedParameter4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w); internal unsafe static ProgramNamedParameter4dNV glProgramNamedParameter4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v); internal unsafe static ProgramNamedParameter4fvNV glProgramNamedParameter4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v); internal unsafe static ProgramNamedParameter4dvNV glProgramNamedParameter4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params); internal unsafe static GetProgramNamedParameterfvNV glGetProgramNamedParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params); internal unsafe static GetProgramNamedParameterdvNV glGetProgramNamedParameterdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2hNV(UInt16 x, UInt16 y); internal static Vertex2hNV glVertex2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2hvNV(UInt16* v); internal unsafe static Vertex2hvNV glVertex2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3hNV(UInt16 x, UInt16 y, UInt16 z); internal static Vertex3hNV glVertex3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3hvNV(UInt16* v); internal unsafe static Vertex3hvNV glVertex3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w); internal static Vertex4hNV glVertex4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4hvNV(UInt16* v); internal unsafe static Vertex4hvNV glVertex4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3hNV(UInt16 nx, UInt16 ny, UInt16 nz); internal static Normal3hNV glNormal3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3hvNV(UInt16* v); internal unsafe static Normal3hvNV glNormal3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3hNV(UInt16 red, UInt16 green, UInt16 blue); internal static Color3hNV glColor3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3hvNV(UInt16* v); internal unsafe static Color3hvNV glColor3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha); internal static Color4hNV glColor4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4hvNV(UInt16* v); internal unsafe static Color4hvNV glColor4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1hNV(UInt16 s); internal static TexCoord1hNV glTexCoord1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1hvNV(UInt16* v); internal unsafe static TexCoord1hvNV glTexCoord1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2hNV(UInt16 s, UInt16 t); internal static TexCoord2hNV glTexCoord2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2hvNV(UInt16* v); internal unsafe static TexCoord2hvNV glTexCoord2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3hNV(UInt16 s, UInt16 t, UInt16 r); internal static TexCoord3hNV glTexCoord3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3hvNV(UInt16* v); internal unsafe static TexCoord3hvNV glTexCoord3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q); internal static TexCoord4hNV glTexCoord4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4hvNV(UInt16* v); internal unsafe static TexCoord4hvNV glTexCoord4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1hNV(int target, UInt16 s); internal static MultiTexCoord1hNV glMultiTexCoord1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1hvNV(int target, UInt16* v); internal unsafe static MultiTexCoord1hvNV glMultiTexCoord1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2hNV(int target, UInt16 s, UInt16 t); internal static MultiTexCoord2hNV glMultiTexCoord2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2hvNV(int target, UInt16* v); internal unsafe static MultiTexCoord2hvNV glMultiTexCoord2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r); internal static MultiTexCoord3hNV glMultiTexCoord3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3hvNV(int target, UInt16* v); internal unsafe static MultiTexCoord3hvNV glMultiTexCoord3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q); internal static MultiTexCoord4hNV glMultiTexCoord4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4hvNV(int target, UInt16* v); internal unsafe static MultiTexCoord4hvNV glMultiTexCoord4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordhNV(UInt16 fog); internal static FogCoordhNV glFogCoordhNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordhvNV(UInt16* fog); internal unsafe static FogCoordhvNV glFogCoordhvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue); internal static SecondaryColor3hNV glSecondaryColor3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3hvNV(UInt16* v); internal unsafe static SecondaryColor3hvNV glSecondaryColor3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeighthNV(UInt16 weight); internal static VertexWeighthNV glVertexWeighthNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexWeighthvNV(UInt16* weight); internal unsafe static VertexWeighthvNV glVertexWeighthvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1hNV(UInt32 index, UInt16 x); internal static VertexAttrib1hNV glVertexAttrib1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1hvNV(UInt32 index, UInt16* v); internal unsafe static VertexAttrib1hvNV glVertexAttrib1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y); internal static VertexAttrib2hNV glVertexAttrib2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2hvNV(UInt32 index, UInt16* v); internal unsafe static VertexAttrib2hvNV glVertexAttrib2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z); internal static VertexAttrib3hNV glVertexAttrib3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3hvNV(UInt32 index, UInt16* v); internal unsafe static VertexAttrib3hvNV glVertexAttrib3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w); internal static VertexAttrib4hNV glVertexAttrib4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4hvNV(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4hvNV glVertexAttrib4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1hvNV(UInt32 index, Int32 n, UInt16* v); internal unsafe static VertexAttribs1hvNV glVertexAttribs1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2hvNV(UInt32 index, Int32 n, UInt16* v); internal unsafe static VertexAttribs2hvNV glVertexAttribs2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3hvNV(UInt32 index, Int32 n, UInt16* v); internal unsafe static VertexAttribs3hvNV glVertexAttribs3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4hvNV(UInt32 index, Int32 n, UInt16* v); internal unsafe static VertexAttribs4hvNV glVertexAttribs4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelDataRangeNV(int target, Int32 length, [Out] IntPtr pointer); internal static PixelDataRangeNV glPixelDataRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushPixelDataRangeNV(int target); internal static FlushPixelDataRangeNV glFlushPixelDataRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PrimitiveRestartNV(); internal static PrimitiveRestartNV glPrimitiveRestartNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PrimitiveRestartIndexNV(UInt32 index); internal static PrimitiveRestartIndexNV glPrimitiveRestartIndexNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapObjectBufferATI(UInt32 buffer); internal unsafe static MapObjectBufferATI glMapObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UnmapObjectBufferATI(UInt32 buffer); internal static UnmapObjectBufferATI glUnmapObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOpSeparateATI(int face, int sfail, int dpfail, int dppass); internal static StencilOpSeparateATI glStencilOpSeparateATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, UInt32 mask); internal static StencilFuncSeparateATI glStencilFuncSeparateATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribArrayObjectATI(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, UInt32 buffer, UInt32 offset); internal static VertexAttribArrayObjectATI glVertexAttribArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] Single* @params); internal unsafe static GetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthBoundsEXT(Double zmin, Double zmax); internal static DepthBoundsEXT glDepthBoundsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparateEXT(int modeRGB, int modeAlpha); internal static BlendEquationSeparateEXT glBlendEquationSeparateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsRenderbufferEXT(UInt32 renderbuffer); internal static IsRenderbufferEXT glIsRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindRenderbufferEXT(int target, UInt32 renderbuffer); internal static BindRenderbufferEXT glBindRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers); internal unsafe static DeleteRenderbuffersEXT glDeleteRenderbuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers); internal unsafe static GenRenderbuffersEXT glGenRenderbuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageEXT(int target, int internalformat, Int32 width, Int32 height); internal static RenderbufferStorageEXT glRenderbufferStorageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetRenderbufferParameterivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsFramebufferEXT(UInt32 framebuffer); internal static IsFramebufferEXT glIsFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFramebufferEXT(int target, UInt32 framebuffer); internal static BindFramebufferEXT glBindFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers); internal unsafe static DeleteFramebuffersEXT glDeleteFramebuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers); internal unsafe static GenFramebuffersEXT glGenFramebuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int CheckFramebufferStatusEXT(int target); internal static CheckFramebufferStatusEXT glCheckFramebufferStatusEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture1DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level); internal static FramebufferTexture1DEXT glFramebufferTexture1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture2DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level); internal static FramebufferTexture2DEXT glFramebufferTexture2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture3DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level, Int32 zoffset); internal static FramebufferTexture3DEXT glFramebufferTexture3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, UInt32 renderbuffer); internal static FramebufferRenderbufferEXT glFramebufferRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] Int32* @params); internal unsafe static GetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GenerateMipmapEXT(int target); internal static GenerateMipmapEXT glGenerateMipmapEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StringMarkerGREMEDY(Int32 len, IntPtr @string); internal static StringMarkerGREMEDY glStringMarkerGREMEDY; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag); internal static StencilClearTagEXT glStencilClearTagEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, int mask, int filter); internal static BlitFramebufferEXT glBlitFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageMultisampleEXT(int target, Int32 samples, int internalformat, Int32 width, Int32 height); internal static RenderbufferStorageMultisampleEXT glRenderbufferStorageMultisampleEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjecti64vEXT(UInt32 id, int pname, [Out] Int64* @params); internal unsafe static GetQueryObjecti64vEXT glGetQueryObjecti64vEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectui64vEXT(UInt32 id, int pname, [Out] UInt64* @params); internal unsafe static GetQueryObjectui64vEXT glGetQueryObjectui64vEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramEnvParameters4fvEXT glProgramEnvParameters4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramLocalParameters4fvEXT glProgramLocalParameters4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferParameteriAPPLE(int target, int pname, Int32 param); internal static BufferParameteriAPPLE glBufferParameteriAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushMappedBufferRangeAPPLE(int target, IntPtr offset, IntPtr size); internal static FlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static ProgramLocalParameterI4iNV glProgramLocalParameterI4iNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameterI4ivNV(int target, UInt32 index, Int32* @params); internal unsafe static ProgramLocalParameterI4ivNV glProgramLocalParameterI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramLocalParametersI4ivNV glProgramLocalParametersI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static ProgramLocalParameterI4uiNV glProgramLocalParameterI4uiNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32* @params); internal unsafe static ProgramLocalParameterI4uivNV glProgramLocalParameterI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramLocalParametersI4uivNV glProgramLocalParametersI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static ProgramEnvParameterI4iNV glProgramEnvParameterI4iNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameterI4ivNV(int target, UInt32 index, Int32* @params); internal unsafe static ProgramEnvParameterI4ivNV glProgramEnvParameterI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramEnvParametersI4ivNV glProgramEnvParametersI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static ProgramEnvParameterI4uiNV glProgramEnvParameterI4uiNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32* @params); internal unsafe static ProgramEnvParameterI4uivNV glProgramEnvParameterI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramEnvParametersI4uivNV glProgramEnvParametersI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterIivNV(int target, UInt32 index, [Out] Int32* @params); internal unsafe static GetProgramLocalParameterIivNV glGetProgramLocalParameterIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params); internal unsafe static GetProgramLocalParameterIuivNV glGetProgramLocalParameterIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterIivNV(int target, UInt32 index, [Out] Int32* @params); internal unsafe static GetProgramEnvParameterIivNV glGetProgramEnvParameterIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params); internal unsafe static GetProgramEnvParameterIuivNV glGetProgramEnvParameterIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramVertexLimitNV(int target, Int32 limit); internal static ProgramVertexLimitNV glProgramVertexLimitNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureEXT(int target, int attachment, UInt32 texture, Int32 level); internal static FramebufferTextureEXT glFramebufferTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureLayerEXT(int target, int attachment, UInt32 texture, Int32 level, Int32 layer); internal static FramebufferTextureLayerEXT glFramebufferTextureLayerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureFaceEXT(int target, int attachment, UInt32 texture, Int32 level, int face); internal static FramebufferTextureFaceEXT glFramebufferTextureFaceEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameteriEXT(UInt32 program, int pname, Int32 value); internal static ProgramParameteriEXT glProgramParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1iEXT(UInt32 index, Int32 x); internal static VertexAttribI1iEXT glVertexAttribI1iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y); internal static VertexAttribI2iEXT glVertexAttribI2iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z); internal static VertexAttribI3iEXT glVertexAttribI3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static VertexAttribI4iEXT glVertexAttribI4iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1uiEXT(UInt32 index, UInt32 x); internal static VertexAttribI1uiEXT glVertexAttribI1uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y); internal static VertexAttribI2uiEXT glVertexAttribI2uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z); internal static VertexAttribI3uiEXT glVertexAttribI3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static VertexAttribI4uiEXT glVertexAttribI4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI1ivEXT glVertexAttribI1ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI2ivEXT glVertexAttribI2ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI3ivEXT glVertexAttribI3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI4ivEXT glVertexAttribI4ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI1uivEXT glVertexAttribI1uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI2uivEXT glVertexAttribI2uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI3uivEXT glVertexAttribI3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI4uivEXT glVertexAttribI4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4bvEXT(UInt32 index, SByte* v); internal unsafe static VertexAttribI4bvEXT glVertexAttribI4bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4svEXT(UInt32 index, Int16* v); internal unsafe static VertexAttribI4svEXT glVertexAttribI4svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4ubvEXT(UInt32 index, Byte* v); internal unsafe static VertexAttribI4ubvEXT glVertexAttribI4ubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4usvEXT(UInt32 index, UInt16* v); internal unsafe static VertexAttribI4usvEXT glVertexAttribI4usvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, IntPtr pointer); internal static VertexAttribIPointerEXT glVertexAttribIPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIivEXT(UInt32 index, int pname, [Out] Int32* @params); internal unsafe static GetVertexAttribIivEXT glGetVertexAttribIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIuivEXT(UInt32 index, int pname, [Out] UInt32* @params); internal unsafe static GetVertexAttribIuivEXT glGetVertexAttribIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params); internal unsafe static GetUniformuivEXT glGetUniformuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, System.String name); internal static BindFragDataLocationEXT glBindFragDataLocationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetFragDataLocationEXT(UInt32 program, System.String name); internal static GetFragDataLocationEXT glGetFragDataLocationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1uiEXT(Int32 location, UInt32 v0); internal static Uniform1uiEXT glUniform1uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1); internal static Uniform2uiEXT glUniform2uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); internal static Uniform3uiEXT glUniform3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); internal static Uniform4uiEXT glUniform4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform1uivEXT glUniform1uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform2uivEXT glUniform2uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform3uivEXT glUniform3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform4uivEXT glUniform4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysInstancedEXT(int mode, Int32 start, Int32 count, Int32 primcount); internal static DrawArraysInstancedEXT glDrawArraysInstancedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsInstancedEXT(int mode, Int32 count, int type, IntPtr indices, Int32 primcount); internal static DrawElementsInstancedEXT glDrawElementsInstancedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexBufferEXT(int target, int internalformat, UInt32 buffer); internal static TexBufferEXT glTexBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthRangedNV(Double zNear, Double zFar); internal static DepthRangedNV glDepthRangedNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearDepthdNV(Double depth); internal static ClearDepthdNV glClearDepthdNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthBoundsdNV(Double zmin, Double zmax); internal static DepthBoundsdNV glDepthBoundsdNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height); internal static RenderbufferStorageMultisampleCoverageNV glRenderbufferStorageMultisampleCoverageNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramBufferParametersfvNV glProgramBufferParametersfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramBufferParametersIivNV glProgramBufferParametersIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramBufferParametersIuivNV glProgramBufferParametersIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMaskIndexedEXT(UInt32 index, Int32 r, Int32 g, Int32 b, Int32 a); internal static ColorMaskIndexedEXT glColorMaskIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBooleanIndexedvEXT(int target, UInt32 index, [Out] Int32* data); internal unsafe static GetBooleanIndexedvEXT glGetBooleanIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetIntegerIndexedvEXT(int target, UInt32 index, [Out] Int32* data); internal unsafe static GetIntegerIndexedvEXT glGetIntegerIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableIndexedEXT(int target, UInt32 index); internal static EnableIndexedEXT glEnableIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableIndexedEXT(int target, UInt32 index); internal static DisableIndexedEXT glDisableIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 IsEnabledIndexedEXT(int target, UInt32 index); internal static IsEnabledIndexedEXT glIsEnabledIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginTransformFeedbackNV(int primitiveMode); internal static BeginTransformFeedbackNV glBeginTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndTransformFeedbackNV(); internal static EndTransformFeedbackNV glEndTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, int bufferMode); internal unsafe static TransformFeedbackAttribsNV glTransformFeedbackAttribsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); internal static BindBufferRangeNV glBindBufferRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset); internal static BindBufferOffsetNV glBindBufferOffsetNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferBaseNV(int target, UInt32 index, UInt32 buffer); internal static BindBufferBaseNV glBindBufferBaseNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, Int32* locations, int bufferMode); internal unsafe static TransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveVaryingNV(UInt32 program, System.String name); internal static ActiveVaryingNV glActiveVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetVaryingLocationNV(UInt32 program, System.String name); internal static GetVaryingLocationNV glGetVaryingLocationNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveVaryingNV glGetActiveVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location); internal unsafe static GetTransformFeedbackVaryingNV glGetTransformFeedbackVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer); internal static UniformBufferEXT glUniformBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location); internal static GetUniformBufferSizeEXT glGetUniformBufferSizeEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location); internal static GetUniformOffsetEXT glGetUniformOffsetEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIivEXT(int target, int pname, Int32* @params); internal unsafe static TexParameterIivEXT glTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIuivEXT(int target, int pname, UInt32* @params); internal unsafe static TexParameterIuivEXT glTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIivEXT(int target, int pname, [Out] Int32* @params); internal unsafe static GetTexParameterIivEXT glGetTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIuivEXT(int target, int pname, [Out] UInt32* @params); internal unsafe static GetTexParameterIuivEXT glGetTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static ClearColorIiEXT glClearColorIiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); internal static ClearColorIuiEXT glClearColorIuiEXT; } } #pragma warning restore 0649 } opentk-1.0.20101006/Source/Compatibility/Tao/OpenGl/GLCore.cs0000664000175000017500000047401611453131430022177 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace Tao.OpenGl { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 partial class Gl { internal static partial class Imports { [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNewList", ExactSpelling = true)] internal extern static void NewList(UInt32 list, int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEndList", ExactSpelling = true)] internal extern static void EndList(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCallList", ExactSpelling = true)] internal extern static void CallList(UInt32 list); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCallLists", ExactSpelling = true)] internal extern static void CallLists(Int32 n, int type, IntPtr lists); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteLists", ExactSpelling = true)] internal extern static void DeleteLists(UInt32 list, Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenLists", ExactSpelling = true)] internal extern static Int32 GenLists(Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glListBase", ExactSpelling = true)] internal extern static void ListBase(UInt32 @base); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBegin", ExactSpelling = true)] internal extern static void Begin(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBitmap", ExactSpelling = true)] internal extern static unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3b", ExactSpelling = true)] internal extern static void Color3b(SByte red, SByte green, SByte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3bv", ExactSpelling = true)] internal extern static unsafe void Color3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3d", ExactSpelling = true)] internal extern static void Color3d(Double red, Double green, Double blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3dv", ExactSpelling = true)] internal extern static unsafe void Color3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3f", ExactSpelling = true)] internal extern static void Color3f(Single red, Single green, Single blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3fv", ExactSpelling = true)] internal extern static unsafe void Color3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3i", ExactSpelling = true)] internal extern static void Color3i(Int32 red, Int32 green, Int32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3iv", ExactSpelling = true)] internal extern static unsafe void Color3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3s", ExactSpelling = true)] internal extern static void Color3s(Int16 red, Int16 green, Int16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3sv", ExactSpelling = true)] internal extern static unsafe void Color3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ub", ExactSpelling = true)] internal extern static void Color3ub(Byte red, Byte green, Byte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ubv", ExactSpelling = true)] internal extern static unsafe void Color3ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ui", ExactSpelling = true)] internal extern static void Color3ui(UInt32 red, UInt32 green, UInt32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3uiv", ExactSpelling = true)] internal extern static unsafe void Color3uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3us", ExactSpelling = true)] internal extern static void Color3us(UInt16 red, UInt16 green, UInt16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3usv", ExactSpelling = true)] internal extern static unsafe void Color3usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4b", ExactSpelling = true)] internal extern static void Color4b(SByte red, SByte green, SByte blue, SByte alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4bv", ExactSpelling = true)] internal extern static unsafe void Color4bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4d", ExactSpelling = true)] internal extern static void Color4d(Double red, Double green, Double blue, Double alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4dv", ExactSpelling = true)] internal extern static unsafe void Color4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4f", ExactSpelling = true)] internal extern static void Color4f(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4fv", ExactSpelling = true)] internal extern static unsafe void Color4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4i", ExactSpelling = true)] internal extern static void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4iv", ExactSpelling = true)] internal extern static unsafe void Color4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4s", ExactSpelling = true)] internal extern static void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4sv", ExactSpelling = true)] internal extern static unsafe void Color4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ub", ExactSpelling = true)] internal extern static void Color4ub(Byte red, Byte green, Byte blue, Byte alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ubv", ExactSpelling = true)] internal extern static unsafe void Color4ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ui", ExactSpelling = true)] internal extern static void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4uiv", ExactSpelling = true)] internal extern static unsafe void Color4uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4us", ExactSpelling = true)] internal extern static void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4usv", ExactSpelling = true)] internal extern static unsafe void Color4usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlag", ExactSpelling = true)] internal extern static void EdgeFlag(Int32 flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlagv", ExactSpelling = true)] internal extern static unsafe void EdgeFlagv(Int32* flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnd", ExactSpelling = true)] internal extern static void End(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexd", ExactSpelling = true)] internal extern static void Indexd(Double c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexdv", ExactSpelling = true)] internal extern static unsafe void Indexdv(Double* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexf", ExactSpelling = true)] internal extern static void Indexf(Single c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexfv", ExactSpelling = true)] internal extern static unsafe void Indexfv(Single* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexi", ExactSpelling = true)] internal extern static void Indexi(Int32 c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexiv", ExactSpelling = true)] internal extern static unsafe void Indexiv(Int32* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexs", ExactSpelling = true)] internal extern static void Indexs(Int16 c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexsv", ExactSpelling = true)] internal extern static unsafe void Indexsv(Int16* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3b", ExactSpelling = true)] internal extern static void Normal3b(SByte nx, SByte ny, SByte nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3bv", ExactSpelling = true)] internal extern static unsafe void Normal3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3d", ExactSpelling = true)] internal extern static void Normal3d(Double nx, Double ny, Double nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3dv", ExactSpelling = true)] internal extern static unsafe void Normal3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3f", ExactSpelling = true)] internal extern static void Normal3f(Single nx, Single ny, Single nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3fv", ExactSpelling = true)] internal extern static unsafe void Normal3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3i", ExactSpelling = true)] internal extern static void Normal3i(Int32 nx, Int32 ny, Int32 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3iv", ExactSpelling = true)] internal extern static unsafe void Normal3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3s", ExactSpelling = true)] internal extern static void Normal3s(Int16 nx, Int16 ny, Int16 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3sv", ExactSpelling = true)] internal extern static unsafe void Normal3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2d", ExactSpelling = true)] internal extern static void RasterPos2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2dv", ExactSpelling = true)] internal extern static unsafe void RasterPos2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2f", ExactSpelling = true)] internal extern static void RasterPos2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2fv", ExactSpelling = true)] internal extern static unsafe void RasterPos2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2i", ExactSpelling = true)] internal extern static void RasterPos2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2iv", ExactSpelling = true)] internal extern static unsafe void RasterPos2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2s", ExactSpelling = true)] internal extern static void RasterPos2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2sv", ExactSpelling = true)] internal extern static unsafe void RasterPos2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3d", ExactSpelling = true)] internal extern static void RasterPos3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3dv", ExactSpelling = true)] internal extern static unsafe void RasterPos3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3f", ExactSpelling = true)] internal extern static void RasterPos3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3fv", ExactSpelling = true)] internal extern static unsafe void RasterPos3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3i", ExactSpelling = true)] internal extern static void RasterPos3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3iv", ExactSpelling = true)] internal extern static unsafe void RasterPos3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3s", ExactSpelling = true)] internal extern static void RasterPos3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3sv", ExactSpelling = true)] internal extern static unsafe void RasterPos3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4d", ExactSpelling = true)] internal extern static void RasterPos4d(Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4dv", ExactSpelling = true)] internal extern static unsafe void RasterPos4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4f", ExactSpelling = true)] internal extern static void RasterPos4f(Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4fv", ExactSpelling = true)] internal extern static unsafe void RasterPos4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4i", ExactSpelling = true)] internal extern static void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4iv", ExactSpelling = true)] internal extern static unsafe void RasterPos4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4s", ExactSpelling = true)] internal extern static void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4sv", ExactSpelling = true)] internal extern static unsafe void RasterPos4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectd", ExactSpelling = true)] internal extern static void Rectd(Double x1, Double y1, Double x2, Double y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectdv", ExactSpelling = true)] internal extern static unsafe void Rectdv(Double* v1, Double* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectf", ExactSpelling = true)] internal extern static void Rectf(Single x1, Single y1, Single x2, Single y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectfv", ExactSpelling = true)] internal extern static unsafe void Rectfv(Single* v1, Single* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRecti", ExactSpelling = true)] internal extern static void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectiv", ExactSpelling = true)] internal extern static unsafe void Rectiv(Int32* v1, Int32* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRects", ExactSpelling = true)] internal extern static void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectsv", ExactSpelling = true)] internal extern static unsafe void Rectsv(Int16* v1, Int16* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1d", ExactSpelling = true)] internal extern static void TexCoord1d(Double s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1dv", ExactSpelling = true)] internal extern static unsafe void TexCoord1dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1f", ExactSpelling = true)] internal extern static void TexCoord1f(Single s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1fv", ExactSpelling = true)] internal extern static unsafe void TexCoord1fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1i", ExactSpelling = true)] internal extern static void TexCoord1i(Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1iv", ExactSpelling = true)] internal extern static unsafe void TexCoord1iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1s", ExactSpelling = true)] internal extern static void TexCoord1s(Int16 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1sv", ExactSpelling = true)] internal extern static unsafe void TexCoord1sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2d", ExactSpelling = true)] internal extern static void TexCoord2d(Double s, Double t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2dv", ExactSpelling = true)] internal extern static unsafe void TexCoord2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2f", ExactSpelling = true)] internal extern static void TexCoord2f(Single s, Single t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2fv", ExactSpelling = true)] internal extern static unsafe void TexCoord2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2i", ExactSpelling = true)] internal extern static void TexCoord2i(Int32 s, Int32 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2iv", ExactSpelling = true)] internal extern static unsafe void TexCoord2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2s", ExactSpelling = true)] internal extern static void TexCoord2s(Int16 s, Int16 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2sv", ExactSpelling = true)] internal extern static unsafe void TexCoord2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3d", ExactSpelling = true)] internal extern static void TexCoord3d(Double s, Double t, Double r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3dv", ExactSpelling = true)] internal extern static unsafe void TexCoord3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3f", ExactSpelling = true)] internal extern static void TexCoord3f(Single s, Single t, Single r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3fv", ExactSpelling = true)] internal extern static unsafe void TexCoord3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3i", ExactSpelling = true)] internal extern static void TexCoord3i(Int32 s, Int32 t, Int32 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3iv", ExactSpelling = true)] internal extern static unsafe void TexCoord3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3s", ExactSpelling = true)] internal extern static void TexCoord3s(Int16 s, Int16 t, Int16 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3sv", ExactSpelling = true)] internal extern static unsafe void TexCoord3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4d", ExactSpelling = true)] internal extern static void TexCoord4d(Double s, Double t, Double r, Double q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4dv", ExactSpelling = true)] internal extern static unsafe void TexCoord4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4f", ExactSpelling = true)] internal extern static void TexCoord4f(Single s, Single t, Single r, Single q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4fv", ExactSpelling = true)] internal extern static unsafe void TexCoord4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4i", ExactSpelling = true)] internal extern static void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4iv", ExactSpelling = true)] internal extern static unsafe void TexCoord4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4s", ExactSpelling = true)] internal extern static void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4sv", ExactSpelling = true)] internal extern static unsafe void TexCoord4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2d", ExactSpelling = true)] internal extern static void Vertex2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2dv", ExactSpelling = true)] internal extern static unsafe void Vertex2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2f", ExactSpelling = true)] internal extern static void Vertex2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2fv", ExactSpelling = true)] internal extern static unsafe void Vertex2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2i", ExactSpelling = true)] internal extern static void Vertex2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2iv", ExactSpelling = true)] internal extern static unsafe void Vertex2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2s", ExactSpelling = true)] internal extern static void Vertex2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2sv", ExactSpelling = true)] internal extern static unsafe void Vertex2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3d", ExactSpelling = true)] internal extern static void Vertex3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3dv", ExactSpelling = true)] internal extern static unsafe void Vertex3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3f", ExactSpelling = true)] internal extern static void Vertex3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3fv", ExactSpelling = true)] internal extern static unsafe void Vertex3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3i", ExactSpelling = true)] internal extern static void Vertex3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3iv", ExactSpelling = true)] internal extern static unsafe void Vertex3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3s", ExactSpelling = true)] internal extern static void Vertex3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3sv", ExactSpelling = true)] internal extern static unsafe void Vertex3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4d", ExactSpelling = true)] internal extern static void Vertex4d(Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4dv", ExactSpelling = true)] internal extern static unsafe void Vertex4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4f", ExactSpelling = true)] internal extern static void Vertex4f(Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4fv", ExactSpelling = true)] internal extern static unsafe void Vertex4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4i", ExactSpelling = true)] internal extern static void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4iv", ExactSpelling = true)] internal extern static unsafe void Vertex4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4s", ExactSpelling = true)] internal extern static void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4sv", ExactSpelling = true)] internal extern static unsafe void Vertex4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClipPlane", ExactSpelling = true)] internal extern static unsafe void ClipPlane(int plane, Double* equation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorMaterial", ExactSpelling = true)] internal extern static void ColorMaterial(int face, int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCullFace", ExactSpelling = true)] internal extern static void CullFace(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogf", ExactSpelling = true)] internal extern static void Fogf(int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogfv", ExactSpelling = true)] internal extern static unsafe void Fogfv(int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogi", ExactSpelling = true)] internal extern static void Fogi(int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogiv", ExactSpelling = true)] internal extern static unsafe void Fogiv(int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFrontFace", ExactSpelling = true)] internal extern static void FrontFace(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glHint", ExactSpelling = true)] internal extern static void Hint(int target, int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightf", ExactSpelling = true)] internal extern static void Lightf(int light, int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightfv", ExactSpelling = true)] internal extern static unsafe void Lightfv(int light, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLighti", ExactSpelling = true)] internal extern static void Lighti(int light, int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightiv", ExactSpelling = true)] internal extern static unsafe void Lightiv(int light, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModelf", ExactSpelling = true)] internal extern static void LightModelf(int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModelfv", ExactSpelling = true)] internal extern static unsafe void LightModelfv(int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModeli", ExactSpelling = true)] internal extern static void LightModeli(int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModeliv", ExactSpelling = true)] internal extern static unsafe void LightModeliv(int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLineStipple", ExactSpelling = true)] internal extern static void LineStipple(Int32 factor, UInt16 pattern); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLineWidth", ExactSpelling = true)] internal extern static void LineWidth(Single width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialf", ExactSpelling = true)] internal extern static void Materialf(int face, int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialfv", ExactSpelling = true)] internal extern static unsafe void Materialfv(int face, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMateriali", ExactSpelling = true)] internal extern static void Materiali(int face, int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialiv", ExactSpelling = true)] internal extern static unsafe void Materialiv(int face, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointSize", ExactSpelling = true)] internal extern static void PointSize(Single size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonMode", ExactSpelling = true)] internal extern static void PolygonMode(int face, int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonStipple", ExactSpelling = true)] internal extern static unsafe void PolygonStipple(Byte* mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScissor", ExactSpelling = true)] internal extern static void Scissor(Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glShadeModel", ExactSpelling = true)] internal extern static void ShadeModel(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameterf", ExactSpelling = true)] internal extern static void TexParameterf(int target, int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameterfv", ExactSpelling = true)] internal extern static unsafe void TexParameterfv(int target, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameteri", ExactSpelling = true)] internal extern static void TexParameteri(int target, int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameteriv", ExactSpelling = true)] internal extern static unsafe void TexParameteriv(int target, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage1D", ExactSpelling = true)] internal extern static void TexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage2D", ExactSpelling = true)] internal extern static void TexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvf", ExactSpelling = true)] internal extern static void TexEnvf(int target, int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvfv", ExactSpelling = true)] internal extern static unsafe void TexEnvfv(int target, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvi", ExactSpelling = true)] internal extern static void TexEnvi(int target, int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnviv", ExactSpelling = true)] internal extern static unsafe void TexEnviv(int target, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGend", ExactSpelling = true)] internal extern static void TexGend(int coord, int pname, Double param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGendv", ExactSpelling = true)] internal extern static unsafe void TexGendv(int coord, int pname, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGenf", ExactSpelling = true)] internal extern static void TexGenf(int coord, int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGenfv", ExactSpelling = true)] internal extern static unsafe void TexGenfv(int coord, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGeni", ExactSpelling = true)] internal extern static void TexGeni(int coord, int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGeniv", ExactSpelling = true)] internal extern static unsafe void TexGeniv(int coord, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFeedbackBuffer", ExactSpelling = true)] internal extern static unsafe void FeedbackBuffer(Int32 size, int type, [Out] Single* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSelectBuffer", ExactSpelling = true)] internal extern static unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRenderMode", ExactSpelling = true)] internal extern static Int32 RenderMode(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glInitNames", ExactSpelling = true)] internal extern static void InitNames(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadName", ExactSpelling = true)] internal extern static void LoadName(UInt32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPassThrough", ExactSpelling = true)] internal extern static void PassThrough(Single token); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopName", ExactSpelling = true)] internal extern static void PopName(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushName", ExactSpelling = true)] internal extern static void PushName(UInt32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawBuffer", ExactSpelling = true)] internal extern static void DrawBuffer(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClear", ExactSpelling = true)] internal extern static void Clear(int mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearAccum", ExactSpelling = true)] internal extern static void ClearAccum(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearIndex", ExactSpelling = true)] internal extern static void ClearIndex(Single c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearColor", ExactSpelling = true)] internal extern static void ClearColor(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearStencil", ExactSpelling = true)] internal extern static void ClearStencil(Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearDepth", ExactSpelling = true)] internal extern static void ClearDepth(Double depth); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilMask", ExactSpelling = true)] internal extern static void StencilMask(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorMask", ExactSpelling = true)] internal extern static void ColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthMask", ExactSpelling = true)] internal extern static void DepthMask(Int32 flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexMask", ExactSpelling = true)] internal extern static void IndexMask(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAccum", ExactSpelling = true)] internal extern static void Accum(int op, Single value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisable", ExactSpelling = true)] internal extern static void Disable(int cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnable", ExactSpelling = true)] internal extern static void Enable(int cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFinish", ExactSpelling = true)] internal extern static void Finish(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFlush", ExactSpelling = true)] internal extern static void Flush(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopAttrib", ExactSpelling = true)] internal extern static void PopAttrib(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushAttrib", ExactSpelling = true)] internal extern static void PushAttrib(int mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap1d", ExactSpelling = true)] internal extern static unsafe void Map1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap1f", ExactSpelling = true)] internal extern static unsafe void Map1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap2d", ExactSpelling = true)] internal extern static unsafe void Map2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap2f", ExactSpelling = true)] internal extern static unsafe void Map2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid1d", ExactSpelling = true)] internal extern static void MapGrid1d(Int32 un, Double u1, Double u2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid1f", ExactSpelling = true)] internal extern static void MapGrid1f(Int32 un, Single u1, Single u2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid2d", ExactSpelling = true)] internal extern static void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid2f", ExactSpelling = true)] internal extern static void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1d", ExactSpelling = true)] internal extern static void EvalCoord1d(Double u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1dv", ExactSpelling = true)] internal extern static unsafe void EvalCoord1dv(Double* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1f", ExactSpelling = true)] internal extern static void EvalCoord1f(Single u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1fv", ExactSpelling = true)] internal extern static unsafe void EvalCoord1fv(Single* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2d", ExactSpelling = true)] internal extern static void EvalCoord2d(Double u, Double v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2dv", ExactSpelling = true)] internal extern static unsafe void EvalCoord2dv(Double* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2f", ExactSpelling = true)] internal extern static void EvalCoord2f(Single u, Single v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2fv", ExactSpelling = true)] internal extern static unsafe void EvalCoord2fv(Single* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalMesh1", ExactSpelling = true)] internal extern static void EvalMesh1(int mode, Int32 i1, Int32 i2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalPoint1", ExactSpelling = true)] internal extern static void EvalPoint1(Int32 i); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalMesh2", ExactSpelling = true)] internal extern static void EvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalPoint2", ExactSpelling = true)] internal extern static void EvalPoint2(Int32 i, Int32 j); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAlphaFunc", ExactSpelling = true)] internal extern static void AlphaFunc(int func, Single @ref); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendFunc", ExactSpelling = true)] internal extern static void BlendFunc(int sfactor, int dfactor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLogicOp", ExactSpelling = true)] internal extern static void LogicOp(int opcode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilFunc", ExactSpelling = true)] internal extern static void StencilFunc(int func, Int32 @ref, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilOp", ExactSpelling = true)] internal extern static void StencilOp(int fail, int zfail, int zpass); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthFunc", ExactSpelling = true)] internal extern static void DepthFunc(int func); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelZoom", ExactSpelling = true)] internal extern static void PixelZoom(Single xfactor, Single yfactor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelTransferf", ExactSpelling = true)] internal extern static void PixelTransferf(int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelTransferi", ExactSpelling = true)] internal extern static void PixelTransferi(int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelStoref", ExactSpelling = true)] internal extern static void PixelStoref(int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelStorei", ExactSpelling = true)] internal extern static void PixelStorei(int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapfv", ExactSpelling = true)] internal extern static unsafe void PixelMapfv(int map, Int32 mapsize, Single* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapuiv", ExactSpelling = true)] internal extern static unsafe void PixelMapuiv(int map, Int32 mapsize, UInt32* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapusv", ExactSpelling = true)] internal extern static unsafe void PixelMapusv(int map, Int32 mapsize, UInt16* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glReadBuffer", ExactSpelling = true)] internal extern static void ReadBuffer(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyPixels", ExactSpelling = true)] internal extern static void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glReadPixels", ExactSpelling = true)] internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawPixels", ExactSpelling = true)] internal extern static void DrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBooleanv", ExactSpelling = true)] internal extern static unsafe void GetBooleanv(int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetClipPlane", ExactSpelling = true)] internal extern static unsafe void GetClipPlane(int plane, [Out] Double* equation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetDoublev", ExactSpelling = true)] internal extern static unsafe void GetDoublev(int pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetError", ExactSpelling = true)] internal extern static int GetError(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetFloatv", ExactSpelling = true)] internal extern static unsafe void GetFloatv(int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetIntegerv", ExactSpelling = true)] internal extern static unsafe void GetIntegerv(int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetLightfv", ExactSpelling = true)] internal extern static unsafe void GetLightfv(int light, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetLightiv", ExactSpelling = true)] internal extern static unsafe void GetLightiv(int light, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapdv", ExactSpelling = true)] internal extern static unsafe void GetMapdv(int target, int query, [Out] Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapfv", ExactSpelling = true)] internal extern static unsafe void GetMapfv(int target, int query, [Out] Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapiv", ExactSpelling = true)] internal extern static unsafe void GetMapiv(int target, int query, [Out] Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMaterialfv", ExactSpelling = true)] internal extern static unsafe void GetMaterialfv(int face, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMaterialiv", ExactSpelling = true)] internal extern static unsafe void GetMaterialiv(int face, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapfv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapfv(int map, [Out] Single* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapuiv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapuiv(int map, [Out] UInt32* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapusv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapusv(int map, [Out] UInt16* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPolygonStipple", ExactSpelling = true)] internal extern static unsafe void GetPolygonStipple([Out] Byte* mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetString", ExactSpelling = true)] internal extern static IntPtr GetString(int name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexEnvfv", ExactSpelling = true)] internal extern static unsafe void GetTexEnvfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexEnviv", ExactSpelling = true)] internal extern static unsafe void GetTexEnviv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGendv", ExactSpelling = true)] internal extern static unsafe void GetTexGendv(int coord, int pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGenfv", ExactSpelling = true)] internal extern static unsafe void GetTexGenfv(int coord, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGeniv", ExactSpelling = true)] internal extern static unsafe void GetTexGeniv(int coord, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexImage", ExactSpelling = true)] internal extern static void GetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexParameterfv", ExactSpelling = true)] internal extern static unsafe void GetTexParameterfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexParameteriv", ExactSpelling = true)] internal extern static unsafe void GetTexParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexLevelParameterfv", ExactSpelling = true)] internal extern static unsafe void GetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexLevelParameteriv", ExactSpelling = true)] internal extern static unsafe void GetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsEnabled", ExactSpelling = true)] internal extern static Int32 IsEnabled(int cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsList", ExactSpelling = true)] internal extern static Int32 IsList(UInt32 list); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthRange", ExactSpelling = true)] internal extern static void DepthRange(Double near, Double far); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFrustum", ExactSpelling = true)] internal extern static void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadIdentity", ExactSpelling = true)] internal extern static void LoadIdentity(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadMatrixf", ExactSpelling = true)] internal extern static unsafe void LoadMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadMatrixd", ExactSpelling = true)] internal extern static unsafe void LoadMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMatrixMode", ExactSpelling = true)] internal extern static void MatrixMode(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultMatrixf", ExactSpelling = true)] internal extern static unsafe void MultMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultMatrixd", ExactSpelling = true)] internal extern static unsafe void MultMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glOrtho", ExactSpelling = true)] internal extern static void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopMatrix", ExactSpelling = true)] internal extern static void PopMatrix(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushMatrix", ExactSpelling = true)] internal extern static void PushMatrix(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRotated", ExactSpelling = true)] internal extern static void Rotated(Double angle, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRotatef", ExactSpelling = true)] internal extern static void Rotatef(Single angle, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScaled", ExactSpelling = true)] internal extern static void Scaled(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScalef", ExactSpelling = true)] internal extern static void Scalef(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTranslated", ExactSpelling = true)] internal extern static void Translated(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTranslatef", ExactSpelling = true)] internal extern static void Translatef(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glViewport", ExactSpelling = true)] internal extern static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glArrayElement", ExactSpelling = true)] internal extern static void ArrayElement(Int32 i); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorPointer", ExactSpelling = true)] internal extern static void ColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisableClientState", ExactSpelling = true)] internal extern static void DisableClientState(int array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawArrays", ExactSpelling = true)] internal extern static void DrawArrays(int mode, Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawElements", ExactSpelling = true)] internal extern static void DrawElements(int mode, Int32 count, int type, IntPtr indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlagPointer", ExactSpelling = true)] internal extern static void EdgeFlagPointer(Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnableClientState", ExactSpelling = true)] internal extern static void EnableClientState(int array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPointerv", ExactSpelling = true)] internal extern static void GetPointerv(int pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexPointer", ExactSpelling = true)] internal extern static void IndexPointer(int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glInterleavedArrays", ExactSpelling = true)] internal extern static void InterleavedArrays(int format, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormalPointer", ExactSpelling = true)] internal extern static void NormalPointer(int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoordPointer", ExactSpelling = true)] internal extern static void TexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexPointer", ExactSpelling = true)] internal extern static void VertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonOffset", ExactSpelling = true)] internal extern static void PolygonOffset(Single factor, Single units); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexImage1D", ExactSpelling = true)] internal extern static void CopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexImage2D", ExactSpelling = true)] internal extern static void CopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage1D", ExactSpelling = true)] internal extern static void CopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage2D", ExactSpelling = true)] internal extern static void CopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage1D", ExactSpelling = true)] internal extern static void TexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage2D", ExactSpelling = true)] internal extern static void TexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAreTexturesResident", ExactSpelling = true)] internal extern static unsafe Int32 AreTexturesResident(Int32 n, UInt32* textures, [Out] Int32* residences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindTexture", ExactSpelling = true)] internal extern static void BindTexture(int target, UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteTextures", ExactSpelling = true)] internal extern static unsafe void DeleteTextures(Int32 n, UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenTextures", ExactSpelling = true)] internal extern static unsafe void GenTextures(Int32 n, [Out] UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsTexture", ExactSpelling = true)] internal extern static Int32 IsTexture(UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPrioritizeTextures", ExactSpelling = true)] internal extern static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexub", ExactSpelling = true)] internal extern static void Indexub(Byte c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexubv", ExactSpelling = true)] internal extern static unsafe void Indexubv(Byte* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopClientAttrib", ExactSpelling = true)] internal extern static void PopClientAttrib(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushClientAttrib", ExactSpelling = true)] internal extern static void PushClientAttrib(int mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendColor", ExactSpelling = true)] internal extern static void BlendColor(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendEquation", ExactSpelling = true)] internal extern static void BlendEquation(int mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawRangeElements", ExactSpelling = true)] internal extern static void DrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTable", ExactSpelling = true)] internal extern static void ColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTableParameterfv", ExactSpelling = true)] internal extern static unsafe void ColorTableParameterfv(int target, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTableParameteriv", ExactSpelling = true)] internal extern static unsafe void ColorTableParameteriv(int target, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyColorTable", ExactSpelling = true)] internal extern static void CopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTable", ExactSpelling = true)] internal extern static void GetColorTable(int target, int format, int type, [Out] IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTableParameterfv", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTableParameteriv", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorSubTable", ExactSpelling = true)] internal extern static void ColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyColorSubTable", ExactSpelling = true)] internal extern static void CopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionFilter1D", ExactSpelling = true)] internal extern static void ConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionFilter2D", ExactSpelling = true)] internal extern static void ConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameterf", ExactSpelling = true)] internal extern static void ConvolutionParameterf(int target, int pname, Single @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameterfv", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameterfv(int target, int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameteri", ExactSpelling = true)] internal extern static void ConvolutionParameteri(int target, int pname, Int32 @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameteriv", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameteriv(int target, int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyConvolutionFilter1D", ExactSpelling = true)] internal extern static void CopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyConvolutionFilter2D", ExactSpelling = true)] internal extern static void CopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionFilter", ExactSpelling = true)] internal extern static void GetConvolutionFilter(int target, int format, int type, [Out] IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionParameterfv", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameterfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionParameteriv", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetSeparableFilter", ExactSpelling = true)] internal extern static void GetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSeparableFilter2D", ExactSpelling = true)] internal extern static void SeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogram", ExactSpelling = true)] internal extern static void GetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogramParameterfv", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameterfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogramParameteriv", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmax", ExactSpelling = true)] internal extern static void GetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmaxParameterfv", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameterfv(int target, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmaxParameteriv", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glHistogram", ExactSpelling = true)] internal extern static void Histogram(int target, Int32 width, int internalformat, Int32 sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMinmax", ExactSpelling = true)] internal extern static void Minmax(int target, int internalformat, Int32 sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glResetHistogram", ExactSpelling = true)] internal extern static void ResetHistogram(int target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glResetMinmax", ExactSpelling = true)] internal extern static void ResetMinmax(int target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage3D", ExactSpelling = true)] internal extern static void TexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage3D", ExactSpelling = true)] internal extern static void TexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage3D", ExactSpelling = true)] internal extern static void CopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glActiveTexture", ExactSpelling = true)] internal extern static void ActiveTexture(int texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClientActiveTexture", ExactSpelling = true)] internal extern static void ClientActiveTexture(int texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1d", ExactSpelling = true)] internal extern static void MultiTexCoord1d(int target, Double s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1dv(int target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1f", ExactSpelling = true)] internal extern static void MultiTexCoord1f(int target, Single s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1fv(int target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1i", ExactSpelling = true)] internal extern static void MultiTexCoord1i(int target, Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1iv(int target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1s", ExactSpelling = true)] internal extern static void MultiTexCoord1s(int target, Int16 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1sv(int target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2d", ExactSpelling = true)] internal extern static void MultiTexCoord2d(int target, Double s, Double t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2dv(int target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2f", ExactSpelling = true)] internal extern static void MultiTexCoord2f(int target, Single s, Single t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2fv(int target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2i", ExactSpelling = true)] internal extern static void MultiTexCoord2i(int target, Int32 s, Int32 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2iv(int target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2s", ExactSpelling = true)] internal extern static void MultiTexCoord2s(int target, Int16 s, Int16 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2sv(int target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3d", ExactSpelling = true)] internal extern static void MultiTexCoord3d(int target, Double s, Double t, Double r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3dv(int target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3f", ExactSpelling = true)] internal extern static void MultiTexCoord3f(int target, Single s, Single t, Single r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3fv(int target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3i", ExactSpelling = true)] internal extern static void MultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3iv(int target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3s", ExactSpelling = true)] internal extern static void MultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3sv(int target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4d", ExactSpelling = true)] internal extern static void MultiTexCoord4d(int target, Double s, Double t, Double r, Double q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4dv(int target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4f", ExactSpelling = true)] internal extern static void MultiTexCoord4f(int target, Single s, Single t, Single r, Single q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4fv(int target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4i", ExactSpelling = true)] internal extern static void MultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4iv(int target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4s", ExactSpelling = true)] internal extern static void MultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4sv(int target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadTransposeMatrixf", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadTransposeMatrixd", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultTransposeMatrixf", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultTransposeMatrixd", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSampleCoverage", ExactSpelling = true)] internal extern static void SampleCoverage(Single value, Int32 invert); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage3D", ExactSpelling = true)] internal extern static void CompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage2D", ExactSpelling = true)] internal extern static void CompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage1D", ExactSpelling = true)] internal extern static void CompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage3D", ExactSpelling = true)] internal extern static void CompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage2D", ExactSpelling = true)] internal extern static void CompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage1D", ExactSpelling = true)] internal extern static void CompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetCompressedTexImage", ExactSpelling = true)] internal extern static void GetCompressedTexImage(int target, Int32 level, [Out] IntPtr img); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendFuncSeparate", ExactSpelling = true)] internal extern static void BlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordf", ExactSpelling = true)] internal extern static void FogCoordf(Single coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordfv", ExactSpelling = true)] internal extern static unsafe void FogCoordfv(Single* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordd", ExactSpelling = true)] internal extern static void FogCoordd(Double coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoorddv", ExactSpelling = true)] internal extern static unsafe void FogCoorddv(Double* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordPointer", ExactSpelling = true)] internal extern static void FogCoordPointer(int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiDrawArrays", ExactSpelling = true)] internal extern static unsafe void MultiDrawArrays(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiDrawElements", ExactSpelling = true)] internal extern static unsafe void MultiDrawElements(int mode, Int32* count, int type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameterf", ExactSpelling = true)] internal extern static void PointParameterf(int pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameterfv", ExactSpelling = true)] internal extern static unsafe void PointParameterfv(int pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameteri", ExactSpelling = true)] internal extern static void PointParameteri(int pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameteriv", ExactSpelling = true)] internal extern static unsafe void PointParameteriv(int pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3b", ExactSpelling = true)] internal extern static void SecondaryColor3b(SByte red, SByte green, SByte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3bv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3d", ExactSpelling = true)] internal extern static void SecondaryColor3d(Double red, Double green, Double blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3dv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3f", ExactSpelling = true)] internal extern static void SecondaryColor3f(Single red, Single green, Single blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3fv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3i", ExactSpelling = true)] internal extern static void SecondaryColor3i(Int32 red, Int32 green, Int32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3iv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3s", ExactSpelling = true)] internal extern static void SecondaryColor3s(Int16 red, Int16 green, Int16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3sv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ub", ExactSpelling = true)] internal extern static void SecondaryColor3ub(Byte red, Byte green, Byte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ubv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ui", ExactSpelling = true)] internal extern static void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3uiv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3us", ExactSpelling = true)] internal extern static void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3usv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColorPointer", ExactSpelling = true)] internal extern static void SecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2d", ExactSpelling = true)] internal extern static void WindowPos2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2dv", ExactSpelling = true)] internal extern static unsafe void WindowPos2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2f", ExactSpelling = true)] internal extern static void WindowPos2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2fv", ExactSpelling = true)] internal extern static unsafe void WindowPos2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2i", ExactSpelling = true)] internal extern static void WindowPos2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2iv", ExactSpelling = true)] internal extern static unsafe void WindowPos2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2s", ExactSpelling = true)] internal extern static void WindowPos2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2sv", ExactSpelling = true)] internal extern static unsafe void WindowPos2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3d", ExactSpelling = true)] internal extern static void WindowPos3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3dv", ExactSpelling = true)] internal extern static unsafe void WindowPos3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3f", ExactSpelling = true)] internal extern static void WindowPos3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3fv", ExactSpelling = true)] internal extern static unsafe void WindowPos3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3i", ExactSpelling = true)] internal extern static void WindowPos3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3iv", ExactSpelling = true)] internal extern static unsafe void WindowPos3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3s", ExactSpelling = true)] internal extern static void WindowPos3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3sv", ExactSpelling = true)] internal extern static unsafe void WindowPos3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenQueries", ExactSpelling = true)] internal extern static unsafe void GenQueries(Int32 n, [Out] UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteQueries", ExactSpelling = true)] internal extern static unsafe void DeleteQueries(Int32 n, UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsQuery", ExactSpelling = true)] internal extern static Int32 IsQuery(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBeginQuery", ExactSpelling = true)] internal extern static void BeginQuery(int target, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEndQuery", ExactSpelling = true)] internal extern static void EndQuery(int target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryiv", ExactSpelling = true)] internal extern static unsafe void GetQueryiv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryObjectiv", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectiv(UInt32 id, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryObjectuiv", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindBuffer", ExactSpelling = true)] internal extern static void BindBuffer(int target, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteBuffers", ExactSpelling = true)] internal extern static unsafe void DeleteBuffers(Int32 n, UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenBuffers", ExactSpelling = true)] internal extern static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsBuffer", ExactSpelling = true)] internal extern static Int32 IsBuffer(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBufferData", ExactSpelling = true)] internal extern static void BufferData(int target, IntPtr size, IntPtr data, int usage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBufferSubData", ExactSpelling = true)] internal extern static void BufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferSubData", ExactSpelling = true)] internal extern static void GetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapBuffer", ExactSpelling = true)] internal extern static unsafe IntPtr MapBuffer(int target, int access); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUnmapBuffer", ExactSpelling = true)] internal extern static Int32 UnmapBuffer(int target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferParameteriv", ExactSpelling = true)] internal extern static unsafe void GetBufferParameteriv(int target, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferPointerv", ExactSpelling = true)] internal extern static void GetBufferPointerv(int target, int pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendEquationSeparate", ExactSpelling = true)] internal extern static void BlendEquationSeparate(int modeRGB, int modeAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawBuffers", ExactSpelling = true)] internal extern static unsafe void DrawBuffers(Int32 n, int* bufs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilOpSeparate", ExactSpelling = true)] internal extern static void StencilOpSeparate(int face, int sfail, int dpfail, int dppass); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilFuncSeparate", ExactSpelling = true)] internal extern static void StencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilMaskSeparate", ExactSpelling = true)] internal extern static void StencilMaskSeparate(int face, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAttachShader", ExactSpelling = true)] internal extern static void AttachShader(UInt32 program, UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindAttribLocation", ExactSpelling = true)] internal extern static void BindAttribLocation(UInt32 program, UInt32 index, System.String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompileShader", ExactSpelling = true)] internal extern static void CompileShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCreateProgram", ExactSpelling = true)] internal extern static Int32 CreateProgram(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCreateShader", ExactSpelling = true)] internal extern static Int32 CreateShader(int type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteProgram", ExactSpelling = true)] internal extern static void DeleteProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteShader", ExactSpelling = true)] internal extern static void DeleteShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDetachShader", ExactSpelling = true)] internal extern static void DetachShader(UInt32 program, UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisableVertexAttribArray", ExactSpelling = true)] internal extern static void DisableVertexAttribArray(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnableVertexAttribArray", ExactSpelling = true)] internal extern static void EnableVertexAttribArray(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetActiveAttrib", ExactSpelling = true)] internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetActiveUniform", ExactSpelling = true)] internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetAttachedShaders", ExactSpelling = true)] internal extern static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)] internal extern static Int32 GetAttribLocation(UInt32 program, System.String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)] internal extern static unsafe void GetProgramiv(UInt32 program, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetProgramInfoLog", ExactSpelling = true)] internal extern static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderiv", ExactSpelling = true)] internal extern static unsafe void GetShaderiv(UInt32 shader, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderInfoLog", ExactSpelling = true)] internal extern static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderSource", ExactSpelling = true)] internal extern static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)] internal extern static Int32 GetUniformLocation(UInt32 program, System.String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformfv", ExactSpelling = true)] internal extern static unsafe void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformiv", ExactSpelling = true)] internal extern static unsafe void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribdv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribdv(UInt32 index, int pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribfv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribfv(UInt32 index, int pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribiv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribiv(UInt32 index, int pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribPointerv", ExactSpelling = true)] internal extern static void GetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsProgram", ExactSpelling = true)] internal extern static Int32 IsProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsShader", ExactSpelling = true)] internal extern static Int32 IsShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLinkProgram", ExactSpelling = true)] internal extern static void LinkProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glShaderSource", ExactSpelling = true)] internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUseProgram", ExactSpelling = true)] internal extern static void UseProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1f", ExactSpelling = true)] internal extern static void Uniform1f(Int32 location, Single v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2f", ExactSpelling = true)] internal extern static void Uniform2f(Int32 location, Single v0, Single v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3f", ExactSpelling = true)] internal extern static void Uniform3f(Int32 location, Single v0, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4f", ExactSpelling = true)] internal extern static void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1i", ExactSpelling = true)] internal extern static void Uniform1i(Int32 location, Int32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2i", ExactSpelling = true)] internal extern static void Uniform2i(Int32 location, Int32 v0, Int32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3i", ExactSpelling = true)] internal extern static void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4i", ExactSpelling = true)] internal extern static void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1fv", ExactSpelling = true)] internal extern static unsafe void Uniform1fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2fv", ExactSpelling = true)] internal extern static unsafe void Uniform2fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3fv", ExactSpelling = true)] internal extern static unsafe void Uniform3fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4fv", ExactSpelling = true)] internal extern static unsafe void Uniform4fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1iv", ExactSpelling = true)] internal extern static unsafe void Uniform1iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2iv", ExactSpelling = true)] internal extern static unsafe void Uniform2iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3iv", ExactSpelling = true)] internal extern static unsafe void Uniform3iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4iv", ExactSpelling = true)] internal extern static unsafe void Uniform4iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glValidateProgram", ExactSpelling = true)] internal extern static void ValidateProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1d", ExactSpelling = true)] internal extern static void VertexAttrib1d(UInt32 index, Double x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1f", ExactSpelling = true)] internal extern static void VertexAttrib1f(UInt32 index, Single x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1s", ExactSpelling = true)] internal extern static void VertexAttrib1s(UInt32 index, Int16 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2d", ExactSpelling = true)] internal extern static void VertexAttrib2d(UInt32 index, Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2f", ExactSpelling = true)] internal extern static void VertexAttrib2f(UInt32 index, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2s", ExactSpelling = true)] internal extern static void VertexAttrib2s(UInt32 index, Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3d", ExactSpelling = true)] internal extern static void VertexAttrib3d(UInt32 index, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3f", ExactSpelling = true)] internal extern static void VertexAttrib3f(UInt32 index, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3s", ExactSpelling = true)] internal extern static void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nbv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nbv(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Niv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Niv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nsv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nsv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nub", ExactSpelling = true)] internal extern static void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nubv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nubv(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nuiv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nuiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nusv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nusv(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4bv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4bv(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4d", ExactSpelling = true)] internal extern static void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4f", ExactSpelling = true)] internal extern static void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4iv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4s", ExactSpelling = true)] internal extern static void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4ubv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4ubv(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4usv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4usv(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttribPointer", ExactSpelling = true)] internal extern static void VertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2x3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3x2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2x4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4x2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3x4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4x3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single* value); } } } opentk-1.0.20101006/Source/Compatibility/Math/0000775000175000017500000000000011453142152017506 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Math/Vector4h.cs0000664000175000017500000003742411453131430021542 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Xml.Serialization; namespace OpenTK.Math { /// /// 4-component Vector of the Half type. Occupies 8 Byte total. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector4h : ISerializable, IEquatable { #region Public Fields /// The X component of the Half4. public Half X; /// The Y component of the Half4. public Half Y; /// The Z component of the Half4. public Half Z; /// The W component of the Half4. public Half W; #endregion Public Fields #region Constructors /// /// The new Half4 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector4h(Half x, Half y, Half z, Half w) { this.X = x; this.Y = y; this.Z = z; this.W = w; } /// /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector4h(Single x, Single y, Single z, Single w) { X = new Half(x); Y = new Half(y); Z = new Half(z); W = new Half(w); } /// /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(Single x, Single y, Single z, Single w, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); Z = new Half(z, throwOnError); W = new Half(w, throwOnError); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 [CLSCompliant(false)] public Vector4h(Vector4 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector4h(Vector4 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector4 public Vector4h(ref Vector4 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(ref Vector4 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d public Vector4h(Vector4d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(Vector4d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector4d [CLSCompliant(false)] public Vector4h(ref Vector4d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector4h(ref Vector4d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } #endregion Constructors #region Swizzle /// /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. /// [XmlIgnore] public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3h with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3h Xyz { get { return new Vector3h(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Half -> Single /// /// Returns this Half4 instance's contents as Vector4. /// /// OpenTK.Vector4 public Vector4 ToVector4() { return new Vector4(X, Y, Z, W); } /// /// Returns this Half4 instance's contents as Vector4d. /// public Vector4d ToVector4d() { return new Vector4d(X, Y, Z, W); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector4 to OpenTK.Half4. /// The Vector4 to convert. /// The resulting Half vector. public static explicit operator Vector4h(Vector4 v4f) { return new Vector4h(v4f); } /// Converts OpenTK.Vector4d to OpenTK.Half4. /// The Vector4d to convert. /// The resulting Half vector. public static explicit operator Vector4h(Vector4d v4d) { return new Vector4h(v4d); } /// Converts OpenTK.Half4 to OpenTK.Vector4. /// The Half4 to convert. /// The resulting Vector4. public static explicit operator Vector4(Vector4h h4) { Vector4 result = new Vector4(); result.X = h4.X.ToSingle(); result.Y = h4.Y.ToSingle(); result.Z = h4.Z.ToSingle(); result.W = h4.W.ToSingle(); return result; } /// Converts OpenTK.Half4 to OpenTK.Vector4d. /// The Half4 to convert. /// The resulting Vector4d. public static explicit operator Vector4d(Vector4h h4) { Vector4d result = new Vector4d(); result.X = h4.X.ToSingle(); result.Y = h4.Y.ToSingle(); result.Z = h4.Z.ToSingle(); result.W = h4.W.ToSingle(); return result; } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half4 struct is 8. public static readonly int SizeInBytes = 8; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector4h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); this.Z = (Half)info.GetValue("Z", typeof(Half)); this.W = (Half)info.GetValue("W", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); info.AddValue("Z", this.Z); info.AddValue("W", this.W); } #endregion ISerializable #region Binary dump /// Updates the X,Y,Z and W components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); Z.FromBinaryStream(bin); W.FromBinaryStream(bin); } /// Writes the X,Y,Z and W components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); Z.ToBinaryStream(bin); W.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half4 vector. /// OpenTK.Half4 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector4h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z) && this.W.Equals(other.W)); } #endregion #region ToString() /// Returns a string that contains this Half4's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X.ToString(), Y.ToString(), Z.ToString(), W.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half4 as an array of bytes. /// The Half4 to convert. /// The input as byte array. public static byte[] GetBytes(Vector4h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; temp = Half.GetBytes(h.Z); result[4] = temp[0]; result[5] = temp[1]; temp = Half.GetBytes(h.W); result[6] = temp[0]; result[7] = temp[1]; return result; } /// Converts an array of bytes into Half4. /// A Half4 in it's byte[] representation. /// The starting position within value. /// A new Half4 instance. public static Vector4h FromBytes(byte[] value, int startIndex) { Vector4h h4 = new Vector4h(); h4.X = Half.FromBytes(value, startIndex); h4.Y = Half.FromBytes(value, startIndex + 2); h4.Z = Half.FromBytes(value, startIndex + 4); h4.W = Half.FromBytes(value, startIndex + 6); return h4; } #endregion BitConverter } } opentk-1.0.20101006/Source/Compatibility/Math/Half.cs0000664000175000017500000005660611453131430020721 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* The conversion functions are derived from OpenEXR's implementation and are governed by the following license: Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #endregion --- License --- using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; namespace OpenTK.Math { /// /// The name Half is derived from half-precision floating-point number. /// It occupies only 16 bits, which are split into 1 Sign bit, 5 Exponent bits and 10 Mantissa bits. /// /// /// Quote from ARB_half_float_pixel specification: /// Any representable 16-bit floating-point value is legal as input to a GL command that accepts 16-bit floating-point data. The /// result of providing a value that is not a floating-point number (such as infinity or NaN) to such a command is unspecified, /// but must not lead to GL interruption or termination. Providing a denormalized number or negative zero to GL must yield /// predictable results. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable, StructLayout(LayoutKind.Sequential)] public struct Half : ISerializable, IComparable, IFormattable, IEquatable { #region Internal Field UInt16 bits; #endregion Internal Field #region Properties /// Returns true if the Half is zero. public bool IsZero { get { return (bits == 0) || (bits == 0x8000); } } /// Returns true if the Half represents Not A Number (NaN) public bool IsNaN { get { return (((bits & 0x7C00) == 0x7C00) && (bits & 0x03FF) != 0x0000); } } /// Returns true if the Half represents positive infinity. public bool IsPositiveInfinity { get { return (bits == 31744); } } /// Returns true if the Half represents negative infinity. public bool IsNegativeInfinity { get { return (bits == 64512); } } #endregion Properties #region Constructors /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. public Half(Single f) : this() { unsafe { bits = SingleToHalf(*(int*)&f); } } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Half(Single f, bool throwOnError) : this(f) { if (throwOnError) { // handle cases that cause overflow rather than silently ignoring it if (f > Half.MaxValue) throw new ArithmeticException("Half: Positive maximum value exceeded."); if (f < -Half.MaxValue) throw new ArithmeticException("Half: Negative minimum value exceeded."); // handle cases that make no sense if (Single.IsNaN(f)) throw new ArithmeticException("Half: Input is not a number (NaN)."); if (Single.IsPositiveInfinity(f)) throw new ArithmeticException("Half: Input is positive infinity."); if (Single.IsNegativeInfinity(f)) throw new ArithmeticException("Half: Input is negative infinity."); } } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 64-bit double-precision floating-point number. public Half(Double d) : this((Single)d) { } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 64-bit double-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Half(Double d, bool throwOnError) : this((Single)d, throwOnError) { } #endregion Constructors #region Single -> Half /// Ported from OpenEXR's IlmBase 1.0.1 private UInt16 SingleToHalf(Int32 si32) { // Our floating point number, F, is represented by the bit pattern in integer i. // Disassemble that bit pattern into the sign, S, the exponent, E, and the significand, M. // Shift S into the position where it will go in in the resulting half number. // Adjust E, accounting for the different exponent bias of float and half (127 versus 15). Int32 sign = (si32 >> 16) & 0x00008000; Int32 exponent = ((si32 >> 23) & 0x000000ff) - (127 - 15); Int32 mantissa = si32 & 0x007fffff; // Now reassemble S, E and M into a half: if (exponent <= 0) { if (exponent < -10) { // E is less than -10. The absolute value of F is less than Half.MinValue // (F may be a small normalized float, a denormalized float or a zero). // // We convert F to a half zero with the same sign as F. return (UInt16)sign; } // E is between -10 and 0. F is a normalized float whose magnitude is less than Half.MinNormalizedValue. // // We convert F to a denormalized half. // Add an explicit leading 1 to the significand. mantissa = mantissa | 0x00800000; // Round to M to the nearest (10+E)-bit value (with E between -10 and 0); in case of a tie, round to the nearest even value. // // Rounding may cause the significand to overflow and make our number normalized. Because of the way a half's bits // are laid out, we don't have to treat this case separately; the code below will handle it correctly. Int32 t = 14 - exponent; Int32 a = (1 << (t - 1)) - 1; Int32 b = (mantissa >> t) & 1; mantissa = (mantissa + a + b) >> t; // Assemble the half from S, E (==zero) and M. return (UInt16)(sign | mantissa); } else if (exponent == 0xff - (127 - 15)) { if (mantissa == 0) { // F is an infinity; convert F to a half infinity with the same sign as F. return (UInt16)(sign | 0x7c00); } else { // F is a NAN; we produce a half NAN that preserves the sign bit and the 10 leftmost bits of the // significand of F, with one exception: If the 10 leftmost bits are all zero, the NAN would turn // into an infinity, so we have to set at least one bit in the significand. mantissa >>= 13; return (UInt16)(sign | 0x7c00 | mantissa | ((mantissa == 0) ? 1 : 0)); } } else { // E is greater than zero. F is a normalized float. We try to convert F to a normalized half. // Round to M to the nearest 10-bit value. In case of a tie, round to the nearest even value. mantissa = mantissa + 0x00000fff + ((mantissa >> 13) & 1); if ((mantissa & 0x00800000) == 1) { mantissa = 0; // overflow in significand, exponent += 1; // adjust exponent } // exponent overflow if (exponent > 30) throw new ArithmeticException("Half: Hardware floating-point overflow."); // Assemble the half from S, E and M. return (UInt16)(sign | (exponent << 10) | (mantissa >> 13)); } } #endregion Single -> Half #region Half -> Single /// Converts the 16-bit half to 32-bit floating-point. /// A single-precision floating-point number. public Single ToSingle() { int i = HalfToFloat(bits); unsafe { return *(float*)&i; } } /// Ported from OpenEXR's IlmBase 1.0.1 private Int32 HalfToFloat(UInt16 ui16) { Int32 sign = (ui16 >> 15) & 0x00000001; Int32 exponent = (ui16 >> 10) & 0x0000001f; Int32 mantissa = ui16 & 0x000003ff; if (exponent == 0) { if (mantissa == 0) { // Plus or minus zero return sign << 31; } else { // Denormalized number -- renormalize it while ((mantissa & 0x00000400) == 0) { mantissa <<= 1; exponent -= 1; } exponent += 1; mantissa &= ~0x00000400; } } else if (exponent == 31) { if (mantissa == 0) { // Positive or negative infinity return (sign << 31) | 0x7f800000; } else { // Nan -- preserve sign and significand bits return (sign << 31) | 0x7f800000 | (mantissa << 13); } } // Normalized number exponent = exponent + (127 - 15); mantissa = mantissa << 13; // Assemble S, E and M. return (sign << 31) | (exponent << 23) | mantissa; } #endregion Half -> Single #region Conversions /// /// Converts a System.Single to a OpenTK.Half. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static explicit operator Half(float f) { return new Half(f); } /// /// Converts a System.Double to a OpenTK.Half. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static explicit operator Half(double d) { return new Half(d); } /// /// Converts a OpenTK.Half to a System.Single. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static implicit operator float(Half h) { return h.ToSingle(); } /// /// Converts a OpenTK.Half to a System.Double. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static implicit operator double(Half h) { return (double)h.ToSingle(); } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half struct. public static readonly Int32 SizeInBytes = 2; /// Smallest positive half public static readonly Single MinValue = 5.96046448e-08f; /// Smallest positive normalized half public static readonly Single MinNormalizedValue = 6.10351562e-05f; /// Largest positive half public static readonly Single MaxValue = 65504.0f; /// Smallest positive e for which half (1.0 + e) != half (1.0) public static readonly Single Epsilon = 0.00097656f; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Half(SerializationInfo info, StreamingContext context) { this.bits = (ushort)info.GetValue("bits", typeof(ushort)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("bits", this.bits); } #endregion ISerializable #region Binary dump /// Updates the Half by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { this.bits = bin.ReadUInt16(); } /// Writes the Half into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { bin.Write(this.bits); } #endregion Binary dump #region IEquatable Members const int maxUlps = 1; /// /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half value. /// /// OpenTK.Half object to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Half other) { short aInt, bInt; unchecked { aInt = (short)other.bits; } unchecked { bInt = (short)this.bits; } // Make aInt lexicographically ordered as a twos-complement int if (aInt < 0) aInt = (short)(0x8000 - aInt); // Make bInt lexicographically ordered as a twos-complement int if (bInt < 0) bInt = (short)(0x8000 - bInt); short intDiff = System.Math.Abs((short)(aInt - bInt)); if (intDiff <= maxUlps) return true; return false; } #endregion #region IComparable Members /// /// Compares this instance to a specified half-precision floating-point number /// and returns an integer that indicates whether the value of this instance /// is less than, equal to, or greater than the value of the specified half-precision /// floating-point number. /// /// A half-precision floating-point number to compare. /// /// A signed number indicating the relative values of this instance and value. If the number is: /// Less than zero, then this instance is less than other, or this instance is not a number /// (OpenTK.Half.NaN) and other is a number. /// Zero: this instance is equal to value, or both this instance and other /// are not a number (OpenTK.Half.NaN), OpenTK.Half.PositiveInfinity, or /// OpenTK.Half.NegativeInfinity. /// Greater than zero: this instance is greater than othrs, or this instance is a number /// and other is not a number (OpenTK.Half.NaN). /// public int CompareTo(Half other) { return ((float)this).CompareTo((float)other); } #endregion IComparable Members #region IFormattable Members /// Converts this Half into a human-legible string representation. /// The string representation of this instance. public override string ToString() { return this.ToSingle().ToString(); } /// Converts this Half into a human-legible string representation. /// Formatting for the output string. /// Culture-specific formatting information. /// The string representation of this instance. public string ToString(string format, IFormatProvider formatProvider) { return this.ToSingle().ToString(format, formatProvider); } #endregion IFormattable Members #region String -> Half /// Converts the string representation of a number to a half-precision floating-point equivalent. /// String representation of the number to convert. /// A new Half instance. public static Half Parse(string s) { return (Half)Single.Parse(s); } /// Converts the string representation of a number to a half-precision floating-point equivalent. /// String representation of the number to convert. /// Specifies the format of s. /// Culture-specific formatting information. /// A new Half instance. public static Half Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider) { return (Half)Single.Parse(s, style, provider); } /// Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. /// String representation of the number to convert. /// The Half instance to write to. /// Success. public static bool TryParse(string s, out Half result) { float f; bool b = Single.TryParse(s, out f); result = (Half)f; return b; } /// Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. /// string representation of the number to convert. /// specifies the format of s. /// Culture-specific formatting information. /// The Half instance to write to. /// Success. public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out Half result) { float f; bool b = Single.TryParse(s, style, provider, out f); result = (Half)f; return b; } #endregion String -> Half #region BitConverter /// Returns the Half as an array of bytes. /// The Half to convert. /// The input as byte array. public static byte[] GetBytes(Half h) { return BitConverter.GetBytes(h.bits); } /// Converts an array of bytes into Half. /// A Half in it's byte[] representation. /// The starting position within value. /// A new Half instance. public static Half FromBytes(byte[] value, int startIndex) { Half h; h.bits = BitConverter.ToUInt16(value, startIndex); return h; } #endregion BitConverter } }opentk-1.0.20101006/Source/Compatibility/Math/Vector3d.cs0000664000175000017500000012105011453131430021522 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK.Math { /// /// Represents a 3D vector using three double-precision floating-point numbers. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector3d : IEquatable { #region Fields /// /// The X component of the Vector3. /// public double X; /// /// The Y component of the Vector3. /// public double Y; /// /// The Z component of the Vector3. /// public double Z; #endregion #region Constructors /// /// Constructs a new Vector3. /// /// The x component of the Vector3. /// The y component of the Vector3. /// The z component of the Vector3. public Vector3d(double x, double y, double z) { X = x; Y = y; Z = z; } /// /// Constructs a new instance from the given Vector2d. /// /// The Vector2d to copy components from. public Vector3d(Vector2d v) { X = v.X; Y = v.Y; Z = 0.0f; } /// /// Constructs a new instance from the given Vector3d. /// /// The Vector3d to copy components from. public Vector3d(Vector3d v) { X = v.X; Y = v.Y; Z = v.Z; } /// /// Constructs a new instance from the given Vector4d. /// /// The Vector4d to copy components from. public Vector3d(Vector4d v) { X = v.X; Y = v.Y; Z = v.Z; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add(Vector3d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add(ref Vector3d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub(Vector3d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub(ref Vector3d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult(double f) { this.X *= f; this.Y *= f; this.Z *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; this.Z *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// /// public double Length { get { return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z); } } #endregion #region public double LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public double LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public double LengthSquared { get { return X * X + Y * Y + Z * Z; } } #endregion #region public void Normalize() /// /// Scales the Vector3d to unit length. /// public void Normalize() { double scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector3d to approximately unit length. /// public void NormalizeFast() { double scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z); X *= scale; Y *= scale; Z *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector3d by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. public void Scale(double sx, double sy, double sz) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale(Vector3d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale(ref Vector3d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector3d that points towards the X-axis. /// public static readonly Vector3d UnitX = new Vector3d(1, 0, 0); /// /// Defines a unit-length Vector3d that points towards the Y-axis. /// public static readonly Vector3d UnitY = new Vector3d(0, 1, 0); /// /// /// Defines a unit-length Vector3d that points towards the Z-axis. /// public static readonly Vector3d UnitZ = new Vector3d(0, 0, 1); /// /// Defines a zero-length Vector3. /// public static readonly Vector3d Zero = new Vector3d(0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector3d One = new Vector3d(1, 1, 1); /// /// Defines the size of the Vector3d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3d()); #endregion #region Add /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static Vector3d Add(Vector3d a, Vector3d b) { a.X += b.X; a.Y += b.Y; a.Z += b.Z; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; result.Z = a.Z + b.Z; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector3d Sub(Vector3d a, Vector3d b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector3d Mult(Vector3d a, double f) { a.X *= f; a.Y *= f; a.Z *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector3d a, double f, out Vector3d result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector3d Div(Vector3d a, double f) { double mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector3d a, double f, out Vector3d result) { double mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector3d ComponentMin(Vector3d a, Vector3d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector3d ComponentMax(Vector3d a, Vector3d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; } #endregion #region Min /// /// Returns the Vector3d with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3d Min(Vector3d left, Vector3d right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3d with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3d Max(Vector3d left, Vector3d right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector3d Clamp(Vector3d vec, Vector3d min, Vector3d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector3d vec, ref Vector3d min, ref Vector3d max, out Vector3d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector3d Normalize(Vector3d vec) { double scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector3d vec, out Vector3d result) { double scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector3d NormalizeFast(Vector3d vec) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector3d vec, out Vector3d result) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector3d left, Vector3d right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector3d left, ref Vector3d right, out double result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z; } #endregion #region Cross /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs public static Vector3d Cross(Vector3d left, Vector3d right) { return new Vector3d(left.Y * right.Z - left.Z * right.Y, left.Z * right.X - left.X * right.Z, left.X * right.Y - left.Y * right.X); } /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs /// The cross product of the two inputs public static void Cross(ref Vector3d left, ref Vector3d right, out Vector3d result) { result.X = left.Y * right.Z - left.Z * right.Y; result.Y = left.Z * right.X - left.X * right.Z; result.Z = left.X * right.Y - left.Y * right.X; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector3d Lerp(Vector3d a, Vector3d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector3d a, ref Vector3d b, double blend, out Vector3d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector3d BaryCentric(Vector3d a, Vector3d b, Vector3d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector3d a, ref Vector3d b, ref Vector3d c, float u, float v, out Vector3d result) { result = a; // copy Vector3d temp = b; // copy temp.Sub(ref a); temp.Mult(u); result.Add(ref temp); temp = c; // copy temp.Sub(ref a); temp.Mult(v); result.Add(ref temp); } #endregion #region Transform /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3d TransformVector(Vector3d vec, Matrix4d mat) { return new Vector3d( Vector3d.Dot(vec, new Vector3d(mat.Column0)), Vector3d.Dot(vec, new Vector3d(mat.Column1)), Vector3d.Dot(vec, new Vector3d(mat.Column2))); } /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformVector(ref Vector3d vec, ref Matrix4d mat, out Vector3d result) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z; } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static Vector3d TransformNormal(Vector3d norm, Matrix4d mat) { mat.Invert(); return TransformNormalInverse(norm, mat); } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static void TransformNormal(ref Vector3d norm, ref Matrix4d mat, out Vector3d result) { Matrix4d Inverse = Matrix4d.Invert(mat); Vector3d.TransformNormalInverse(ref norm, ref Inverse, out result); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static Vector3d TransformNormalInverse(Vector3d norm, Matrix4d invMat) { return new Vector3d( Vector3d.Dot(norm, new Vector3d(invMat.Row0)), Vector3d.Dot(norm, new Vector3d(invMat.Row1)), Vector3d.Dot(norm, new Vector3d(invMat.Row2))); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static void TransformNormalInverse(ref Vector3d norm, ref Matrix4d invMat, out Vector3d result) { result.X = norm.X * invMat.Row0.X + norm.Y * invMat.Row0.Y + norm.Z * invMat.Row0.Z; result.Y = norm.X * invMat.Row1.X + norm.Y * invMat.Row1.Y + norm.Z * invMat.Row1.Z; result.Z = norm.X * invMat.Row2.X + norm.Y * invMat.Row2.Y + norm.Z * invMat.Row2.Z; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static Vector3d TransformPosition(Vector3d pos, Matrix4d mat) { return new Vector3d( Vector3d.Dot(pos, new Vector3d(mat.Column0)) + mat.Row3.X, Vector3d.Dot(pos, new Vector3d(mat.Column1)) + mat.Row3.Y, Vector3d.Dot(pos, new Vector3d(mat.Column2)) + mat.Row3.Z); } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static void TransformPosition(ref Vector3d pos, ref Matrix4d mat, out Vector3d result) { result.X = pos.X * mat.Row0.X + pos.Y * mat.Row1.X + pos.Z * mat.Row2.X + mat.Row3.X; result.Y = pos.X * mat.Row0.Y + pos.Y * mat.Row1.Y + pos.Z * mat.Row2.Y + mat.Row3.Y; result.Z = pos.X * mat.Row0.Z + pos.Y * mat.Row1.Z + pos.Z * mat.Row2.Z + mat.Row3.Z; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4d Transform(Vector3d vec, Matrix4d mat) { Vector4d v4 = new Vector4d(vec.X, vec.Y, vec.Z, 1.0f); return new Vector4d( Vector4d.Dot(v4, mat.Column0), Vector4d.Dot(v4, mat.Column1), Vector4d.Dot(v4, mat.Column2), Vector4d.Dot(v4, mat.Column3)); } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector3d vec, ref Matrix4d mat, out Vector4d result) { Vector4d v4 = new Vector4d(vec.X, vec.Y, vec.Z, 1.0f); Vector4d.Transform(ref v4, ref mat, out result); } /// /// Transform a Vector3d by the given Matrix, and project the resulting Vector4 back to a Vector3 /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3d TransformPerspective(Vector3d vec, Matrix4d mat) { Vector4d h = Transform(vec, mat); return new Vector3d(h.X / h.W, h.Y / h.W, h.Z / h.W); } /// Transform a Vector3d by the given Matrix, and project the resulting Vector4d back to a Vector3d /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformPerspective(ref Vector3d vec, ref Matrix4d mat, out Vector3d result) { Vector4d h; Vector3d.Transform(ref vec, ref mat, out h); result.X = h.X / h.W; result.Y = h.Y / h.W; result.Z = h.Z / h.W; } #endregion #region CalculateAngle /// /// Calculates the angle (in radians) between two vectors. /// /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static double CalculateAngle(Vector3d first, Vector3d second) { return System.Math.Acos((Vector3d.Dot(first, second)) / (first.Length * second.Length)); } /// Calculates the angle (in radians) between two vectors. /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static void CalculateAngle(ref Vector3d first, ref Vector3d second, out double result) { double temp; Vector3d.Dot(ref first, ref second, out temp); result = System.Math.Acos(temp / (first.Length * second.Length)); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. /// [XmlIgnore] public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Operators public static Vector3d operator +(Vector3d left, Vector3d right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; return left; } public static Vector3d operator -(Vector3d left, Vector3d right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; return left; } public static Vector3d operator -(Vector3d vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; return vec; } public static Vector3d operator *(Vector3d vec, double f) { vec.X *= f; vec.Y *= f; vec.Z *= f; return vec; } public static Vector3d operator *(double f, Vector3d vec) { vec.X *= f; vec.Y *= f; vec.Z *= f; return vec; } public static Vector3d operator /(Vector3d vec, double f) { double mult = 1.0f / f; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; return vec; } public static bool operator ==(Vector3d left, Vector3d right) { return left.Equals(right); } public static bool operator !=(Vector3d left, Vector3d right) { return !left.Equals(right); } /// Converts OpenTK.Vector3 to OpenTK.Vector3d. /// The Vector3 to convert. /// The resulting Vector3d. public static explicit operator Vector3d(Vector3 v3) { return new Vector3d(v3.X, v3.Y, v3.Z); } /// Converts OpenTK.Vector3d to OpenTK.Vector3. /// The Vector3d to convert. /// The resulting Vector3. public static explicit operator Vector3(Vector3d v3d) { return new Vector3((float)v3d.X, (float)v3d.Y, (float)v3d.Z); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector3. /// /// public override string ToString() { return String.Format("({0}, {1}, {2})", X, Y, Z); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector3)) return false; return this.Equals((Vector3)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector3d other) { return X == other.X && Y == other.Y && Z == other.Z; } #endregion } }opentk-1.0.20101006/Source/Compatibility/Math/Quaterniond.cs0000664000175000017500000012410211453131430022323 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.ComponentModel; using System.Xml.Serialization; namespace OpenTK.Math { /// /// Represents a double-precision Quaternion. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Quaterniond : IEquatable { #region Fields Vector3d xyz; double w; #endregion #region Constructors /// /// Construct a new Quaterniond from vector and w components /// /// The vector part /// The w part public Quaterniond(Vector3d v, double w) { this.xyz = v; this.w = w; } /// /// Construct a new Quaterniond /// /// The x component /// The y component /// The z component /// The w component public Quaterniond(double x, double y, double z, double w) : this(new Vector3d(x, y, z), w) { } #endregion #region Public Members #region Properties /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// [Obsolete("Use Xyz property instead.")] [CLSCompliant(false)] [EditorBrowsable(EditorBrowsableState.Never)] [XmlIgnore] public Vector3d XYZ { get { return Xyz; } set { Xyz = value; } } /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// public Vector3d Xyz { get { return xyz; } set { xyz = value; } } /// /// Gets or sets the X component of this instance. /// [XmlIgnore] public double X { get { return xyz.X; } set { xyz.X = value; } } /// /// Gets or sets the Y component of this instance. /// [XmlIgnore] public double Y { get { return xyz.Y; } set { xyz.Y = value; } } /// /// Gets or sets the Z component of this instance. /// [XmlIgnore] public double Z { get { return xyz.Z; } set { xyz.Z = value; } } /// /// Gets or sets the W component of this instance. /// public double W { get { return w; } set { w = value; } } #endregion #region Instance #region ToAxisAngle /// /// Convert the current quaternion to axis angle representation /// /// The resultant axis /// The resultant angle public void ToAxisAngle(out Vector3d axis, out double angle) { Vector4d result = ToAxisAngle(); axis = result.Xyz; angle = result.W; } /// /// Convert this instance to an axis-angle representation. /// /// A Vector4 that is the axis-angle representation of this quaternion. public Vector4d ToAxisAngle() { Quaterniond q = this; if (q.W > 1.0f) q.Normalize(); Vector4d result = new Vector4d(); result.W = 2.0f * (float)System.Math.Acos(q.W); // angle float den = (float)System.Math.Sqrt(1.0 - q.W * q.W); if (den > 0.0001f) { result.Xyz = q.Xyz / den; } else { // This occurs when the angle is zero. // Not a problem: just set an arbitrary normalized axis. result.Xyz = Vector3d.UnitX; } return result; } #endregion #region public double Length /// /// Gets the length (magnitude) of the Quaterniond. /// /// public double Length { get { return (double)System.Math.Sqrt(W * W + Xyz.LengthSquared); } } #endregion #region public double LengthSquared /// /// Gets the square of the Quaterniond length (magnitude). /// public double LengthSquared { get { return W * W + Xyz.LengthSquared; } } #endregion #region public void Normalize() /// /// Scales the Quaterniond to unit length. /// public void Normalize() { double scale = 1.0f / this.Length; Xyz *= scale; W *= scale; } #endregion #region public void Conjugate() /// /// Convert this Quaterniond to its conjugate /// public void Conjugate() { Xyz = -Xyz; } #endregion #endregion #region Static #region Fields /// /// Defines the identity quaternion. /// public readonly static Quaterniond Identity = new Quaterniond(0, 0, 0, 1); #endregion #region Add /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static Quaterniond Add(Quaterniond left, Quaterniond right) { return new Quaterniond( left.Xyz + right.Xyz, left.W + right.W); } /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( left.Xyz + right.Xyz, left.W + right.W); } #endregion #region Sub /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Quaterniond Sub(Quaterniond left, Quaterniond right) { return new Quaterniond( left.Xyz - right.Xyz, left.W - right.W); } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static void Sub(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( left.Xyz - right.Xyz, left.W - right.W); } #endregion #region Mult public static Quaterniond Mult(Quaterniond left, Quaterniond right) { return new Quaterniond( right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz)); } public static void Mult(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz)); } #endregion #region Conjugate /// /// Get the conjugate of the given Quaterniond /// /// The Quaterniond /// The conjugate of the given Quaterniond public static Quaterniond Conjugate(Quaterniond q) { return new Quaterniond(-q.Xyz, q.W); } /// /// Get the conjugate of the given Quaterniond /// /// The Quaterniond /// The conjugate of the given Quaterniond public static void Conjugate(ref Quaterniond q, out Quaterniond result) { result = new Quaterniond(-q.Xyz, q.W); } #endregion #region Invert /// /// Get the inverse of the given Quaterniond /// /// The Quaterniond to invert /// The inverse of the given Quaterniond public static Quaterniond Invert(Quaterniond q) { Quaterniond result; Invert(ref q, out result); return result; } /// /// Get the inverse of the given Quaterniond /// /// The Quaterniond to invert /// The inverse of the given Quaterniond public static void Invert(ref Quaterniond q, out Quaterniond result) { double lengthSq = q.LengthSquared; if (lengthSq != 0.0) { double i = 1.0f / lengthSq; result = new Quaterniond(q.Xyz * -i, q.W * i); } else { result = q; } } #endregion #region Normalize /// /// Scale the given Quaterniond to unit length /// /// The Quaterniond to normalize /// The normalized Quaterniond public static Quaterniond Normalize(Quaterniond q) { Quaterniond result; Normalize(ref q, out result); return result; } /// /// Scale the given Quaterniond to unit length /// /// The Quaterniond to normalize /// The normalized Quaterniond public static void Normalize(ref Quaterniond q, out Quaterniond result) { double scale = 1.0f / q.Length; result = new Quaterniond(q.Xyz * scale, q.W * scale); } #endregion #region FromAxisAngle /// /// Build a Quaterniond from the given axis and angle /// /// The axis to rotate about /// The rotation angle in radians /// public static Quaterniond FromAxisAngle(Vector3d axis, double angle) { if (axis.LengthSquared == 0.0f) return Identity; Quaterniond result = Identity; angle *= 0.5f; axis.Normalize(); result.Xyz = axis * (double)System.Math.Sin(angle); result.W = (double)System.Math.Cos(angle); return Normalize(result); } #endregion #region Slerp /// /// Do Spherical linear interpolation between two quaternions /// /// The first Quaterniond /// The second Quaterniond /// The blend factor /// A smooth blend between the given quaternions public static Quaterniond Slerp(Quaterniond q1, Quaterniond q2, double blend) { // if either input is zero, return the other. if (q1.LengthSquared == 0.0f) { if (q2.LengthSquared == 0.0f) { return Identity; } return q2; } else if (q2.LengthSquared == 0.0f) { return q1; } double cosHalfAngle = q1.W * q2.W + Vector3d.Dot(q1.Xyz, q2.Xyz); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. return q1; } else if (cosHalfAngle < 0.0f) { q2.Xyz = -q2.Xyz; q2.W = -q2.W; cosHalfAngle = -cosHalfAngle; } double blendA; double blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles double halfAngle = (double)System.Math.Acos(cosHalfAngle); double sinHalfAngle = (double)System.Math.Sin(halfAngle); double oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } Quaterniond result = new Quaterniond(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W); if (result.LengthSquared > 0.0f) return Normalize(result); else return Identity; } #endregion #endregion #region Operators public static Quaterniond operator +(Quaterniond left, Quaterniond right) { left.Xyz += right.Xyz; left.W += right.W; return left; } public static Quaterniond operator -(Quaterniond left, Quaterniond right) { left.Xyz -= right.Xyz; left.W -= right.W; return left; } public static Quaterniond operator *(Quaterniond left, Quaterniond right) { double w = left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz); left.Xyz = right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz); left.W = w; return left; } public static bool operator ==(Quaterniond left, Quaterniond right) { return left.Equals(right); } public static bool operator !=(Quaterniond left, Quaterniond right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Quaterniond. /// /// public override string ToString() { return String.Format("V: {0}, W: {1}", Xyz, W); } #endregion #region public override bool Equals (object o) /// /// Compares this object instance to another object for equality. /// /// The other object to be used in the comparison. /// True if both objects are Quaternions of equal value. Otherwise it returns false. public override bool Equals(object other) { if (other is Quaterniond == false) return false; return this == (Quaterniond)other; } #endregion #region public override int GetHashCode () /// /// Provides the hash code for this object. /// /// A hash code formed from the bitwise XOR of this objects members. public override int GetHashCode() { return Xyz.GetHashCode() ^ W.GetHashCode(); } #endregion #endregion #endregion #if false #region Fields /// The W component of the Quaterniond. public double W; /// The X component of the Quaterniond. public double X; /// The Y component of the Quaterniond. public double Y; /// The Z component of the Quaterniond. public double Z; #endregion #region Constructors /// Constructs left Quaterniond that is left copy of the given Quaterniond. /// The Quaterniond to copy. public Quaterniond(ref Quaterniond Quaterniond) : this(Quaterniond.W, Quaterniond.X, Quaterniond.Y, Quaterniond.Z) { } /// Constructs left Quaterniond from the given components. /// The W component for the Quaterniond. /// A Vector representing the X, Y, and Z componets for the quaterion. public Quaterniond(double w, ref Vector3d vector3d) : this(w, vector3d.X, vector3d.Y, vector3d.Z) { } /// Constructs left Quaterniond from the given axis and angle. /// The axis for the Quaterniond. /// The angle for the quaternione. public Quaterniond(ref Vector3d axis, double angle) { double halfAngle = Functions.DTOR * angle / 2; this.W = System.Math.Cos(halfAngle); double sin = System.Math.Sin(halfAngle); Vector3d axisNormalized; Vector3d.Normalize(ref axis, out axisNormalized); this.X = axisNormalized.X * sin; this.Y = axisNormalized.Y * sin; this.Z = axisNormalized.Z * sin; } /// Constructs left Quaterniond from the given components. /// The W component for the Quaterniond. /// The X component for the Quaterniond. /// The Y component for the Quaterniond. /// The Z component for the Quaterniond. public Quaterniond(double w, double x, double y, double z) { this.W = w; this.X = x; this.Y = y; this.Z = z; } /// Constructs left Quaterniond from the given array of double-precision floating-point numbers. /// The array of doubles for the components of the Quaterniond. public Quaterniond(double[] doubleArray) { if (doubleArray == null || doubleArray.GetLength(0) < 4) throw new MissingFieldException(); this.W = doubleArray[0]; this.X = doubleArray[1]; this.Y = doubleArray[2]; this.Z = doubleArray[3]; } /// Constructs left Quaterniond from the given matrix. Only contains rotation information. /// The matrix for the components of the Quaterniond. public Quaterniond(ref Matrix4d matrix) { double scale = System.Math.Pow(matrix.Determinant, 1.0d/3.0d); W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2; X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2; Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2; Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2; if( matrix[2,1] - matrix[1,2] < 0 ) X = -X; if( matrix[0,2] - matrix[2,0] < 0 ) Y = -Y; if( matrix[1,0] - matrix[0,1] < 0 ) Z = -Z; } public Quaterniond(ref Matrix3d matrix) { double scale = System.Math.Pow(matrix.Determinant, 1.0d / 3.0d); W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2; X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2; Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2; Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2; if (matrix[2, 1] - matrix[1, 2] < 0) X = -X; if (matrix[0, 2] - matrix[2, 0] < 0) Y = -Y; if (matrix[1, 0] - matrix[0, 1] < 0) Z = -Z; } #endregion #region Arithmetic Operators public void Add(ref Quaterniond Quaterniond) { W = W + Quaterniond.W; X = X + Quaterniond.X; Y = Y + Quaterniond.Y; Z = Z + Quaterniond.Z; } public void Add(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W + Quaterniond.W; result.X = X + Quaterniond.X; result.Y = Y + Quaterniond.Y; result.Z = Z + Quaterniond.Z; } public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W + right.W; result.X = left.X + right.X; result.Y = left.Y + right.Y; result.Z = left.Z + right.Z; } public void Subtract(ref Quaterniond Quaterniond) { W = W - Quaterniond.W; X = X - Quaterniond.X; Y = Y - Quaterniond.Y; Z = Z - Quaterniond.Z; } public void Subtract(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W - Quaterniond.W; result.X = X - Quaterniond.X; result.Y = Y - Quaterniond.Y; result.Z = Z - Quaterniond.Z; } public static void Subtract(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W - right.W; result.X = left.X - right.X; result.Y = left.Y - right.Y; result.Z = left.Z - right.Z; } public void Multiply(ref Quaterniond Quaterniond) { double w = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z; double x = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y; double y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z; Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X; W = w; X = x; Y = y; } public void Multiply(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z; result.X = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y; result.Y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z; result.Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X; } public static void Multiply(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W * right.W - left.X * right.X - left.Y * right.Y - left.Z * right.Z; result.X = left.W * right.X + left.X * right.W + left.Y * right.Z - left.Z * right.Y; result.Y = left.W * right.Y + left.Y * right.W + left.Z * right.X - left.X * right.Z; result.Z = left.W * right.Z + left.Z * right.W + left.X * right.Y - left.Y * right.X; } public void Multiply(double scalar) { W = W * scalar; X = X * scalar; Y = Y * scalar; Z = Z * scalar; } public void Multiply(double scalar, out Quaterniond result) { result.W = W * scalar; result.X = X * scalar; result.Y = Y * scalar; result.Z = Z * scalar; } public static void Multiply(ref Quaterniond Quaterniond, double scalar, out Quaterniond result) { result.W = Quaterniond.W * scalar; result.X = Quaterniond.X * scalar; result.Y = Quaterniond.Y * scalar; result.Z = Quaterniond.Z * scalar; } public void Divide(double scalar) { if (scalar == 0) throw new DivideByZeroException(); W = W / scalar; X = X / scalar; Y = Y / scalar; Z = Z / scalar; } public void Divide(double scalar, out Quaterniond result) { if (scalar == 0) throw new DivideByZeroException(); result.W = W / scalar; result.X = X / scalar; result.Y = Y / scalar; result.Z = Z / scalar; } public static void Divide(ref Quaterniond Quaterniond, double scalar, out Quaterniond result) { if (scalar == 0) throw new DivideByZeroException(); result.W = Quaterniond.W / scalar; result.X = Quaterniond.X / scalar; result.Y = Quaterniond.Y / scalar; result.Z = Quaterniond.Z / scalar; } #endregion #region Functions public double Modulus { get { return System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); } } public double ModulusSquared { get { return W * W + X * X + Y * Y + Z * Z; } } public static double DotProduct(Quaterniond left, Quaterniond right) { return left.W * right.W + left.X * right.X + left.Y * right.Y + left.Z * right.Z; } public void Normalize() { double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); if (modulus == 0) throw new DivideByZeroException(); W = W / modulus; X = X / modulus; Y = Y / modulus; Z = Z / modulus; } public void Normalize( out Quaterniond result ) { double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); if (modulus == 0) throw new DivideByZeroException(); result.W = W / modulus; result.X = X / modulus; result.Y = Y / modulus; result.Z = Z / modulus; } public static void Normalize(ref Quaterniond Quaterniond, out Quaterniond result) { double modulus = System.Math.Sqrt(Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z); if (modulus == 0) throw new DivideByZeroException(); result.W = Quaterniond.W / modulus; result.X = Quaterniond.X / modulus; result.Y = Quaterniond.Y / modulus; result.Z = Quaterniond.Z / modulus; } public void Conjugate() { X = -X; Y = -Y; Z = -Z; } public void Conjugate( out Quaterniond result ) { result.W = W; result.X = -X; result.Y = -Y; result.Z = -Z; } public static void Conjugate(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = Quaterniond.W; result.X = -Quaterniond.X; result.Y = -Quaterniond.Y; result.Z = -Quaterniond.Z; } public void Inverse() { double modulusSquared = W * W + X * X + Y * Y + Z * Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; W = W * inverseModulusSquared; X = X * -inverseModulusSquared; Y = Y * -inverseModulusSquared; Z = Z * -inverseModulusSquared; } public void Inverse( out Quaterniond result ) { double modulusSquared = W * W + X * X + Y * Y + Z * Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; result.W = W * inverseModulusSquared; result.X = X * -inverseModulusSquared; result.Y = Y * -inverseModulusSquared; result.Z = Z * -inverseModulusSquared; } public static void Inverse(ref Quaterniond Quaterniond, out Quaterniond result) { double modulusSquared = Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; result.W = Quaterniond.W * inverseModulusSquared; result.X = Quaterniond.X * -inverseModulusSquared; result.Y = Quaterniond.Y * -inverseModulusSquared; result.Z = Quaterniond.Z * -inverseModulusSquared; } public void Log() { if (System.Math.Abs(W) < 1.0) { double angle = System.Math.Acos(W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; X = X * coefficient; Y = Y * coefficient; Z = Z * coefficient; } } else { X = 0; Y = 0; Z = 0; } W = 0; } public void Log( out Quaterniond result ) { if (System.Math.Abs(W) < 1.0) { double angle = System.Math.Acos(W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; result.X = X * coefficient; result.Y = Y * coefficient; result.Z = Z * coefficient; } else { result.X = X; result.Y = Y; result.Z = Z; } } else { result.X = 0; result.Y = 0; result.Z = 0; } result.W = 0; } public static void Log(ref Quaterniond Quaterniond, out Quaterniond result) { if (System.Math.Abs(Quaterniond.W) < 1.0) { double angle = System.Math.Acos(Quaterniond.W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; result.X = Quaterniond.X * coefficient; result.Y = Quaterniond.Y * coefficient; result.Z = Quaterniond.Z * coefficient; } else { result.X = Quaterniond.X; result.Y = Quaterniond.Y; result.Z = Quaterniond.Z; } } else { result.X = 0; result.Y = 0; result.Z = 0; } result.W = 0; } public void Exp() { double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; W = 0; X = X * coefficient; Y = Y * coefficient; Z = Z * coefficient; } else { W = 0; } } public void Exp(out Quaterniond result) { double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; result.W = 0; result.X = X * coefficient; result.Y = Y * coefficient; result.Z = Z * coefficient; } else { result.W = 0; result.X = X; result.Y = Y; result.Z = Z; } } public static void Exp(ref Quaterniond Quaterniond, out Quaterniond result) { double angle = System.Math.Sqrt(Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; result.W = 0; result.X = Quaterniond.X * coefficient; result.Y = Quaterniond.Y * coefficient; result.Z = Quaterniond.Z * coefficient; } else { result.W = 0; result.X = Quaterniond.X; result.Y = Quaterniond.Y; result.Z = Quaterniond.Z; } } /// Returns left matrix for this Quaterniond. public void Matrix4d(out Matrix4d result) { // TODO Expand result = new Matrix4d(ref this); } public void GetAxisAndAngle(out Vector3d axis, out double angle) { Quaterniond Quaterniond; Normalize(out Quaterniond); double cos = Quaterniond.W; angle = System.Math.Acos(cos) * 2 * Functions.RTOD; double sin = System.Math.Sqrt( 1.0d - cos * cos ); if ( System.Math.Abs( sin ) < 0.0001 ) sin = 1; axis = new Vector3d(X / sin, Y / sin, Z / sin); } public static void Slerp(ref Quaterniond start, ref Quaterniond end, double blend, out Quaterniond result) { if (start.W == 0 && start.X == 0 && start.Y == 0 && start.Z == 0) { if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0) { result.W = 1; result.X = 0; result.Y = 0; result.Z = 0; } else { result = end; } } else if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0) { result = start; } Vector3d startVector = new Vector3d(start.X, start.Y, start.Z); Vector3d endVector = new Vector3d(end.X, end.Y, end.Z); double cosHalfAngle = start.W * end.W + Vector3d.Dot(startVector, endVector); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. result = start; } else if (cosHalfAngle < 0.0f) { end.W = -end.W; end.X = -end.X; end.Y = -end.Y; end.Z = -end.Z; cosHalfAngle = -cosHalfAngle; } double blendA; double blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles double halfAngle = (double)System.Math.Acos(cosHalfAngle); double sinHalfAngle = (double)System.Math.Sin(halfAngle); double oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } result.W = blendA * start.W + blendB * end.W; result.X = blendA * start.X + blendB * end.X; result.Y = blendA * start.Y + blendB * end.Y; result.Z = blendA * start.Z + blendB * end.Z; if (result.W != 0 || result.X != 0 || result.Y != 0 || result.Z != 0) { result.Normalize(); } else { result.W = 1; result.X = 0; result.Y = 0; result.Z = 0; } } #endregion #region HashCode /// Returns the hash code for this instance. /// A 32-bit signed integer that is the hash code for this instance. public override int GetHashCode() { base.GetHashCode(); return W.GetHashCode() ^ X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region String and Parse /// Returns the fully qualified type name of this instance. /// A System.String containing left fully qualified type name. public override string ToString() { return string.Format("({0}, {1}, {2}, {3})", W, X, Y, Z); } /// Parses left string, converting it to left Quaterniond. /// The string to parse. /// The Quaterniond represented by the string. public static void Parse(string str, out Quaterniond result) { Match match = new Regex(@"\((?.*),(?.*),(?.*),(?.*)\)", RegexOptions.None).Match(str); if (!match.Success) throw new Exception("Parse failed!"); result.W = double.Parse(match.Result("${w}")); result.X = double.Parse(match.Result("${x}")); result.Y = double.Parse(match.Result("${y}")); result.Z = double.Parse(match.Result("${z}")); } #endregion #region Constants /// A quaterion with all zero components. public static readonly Quaterniond Zero = new Quaterniond(0, 0, 0, 0); /// A quaterion representing an identity. public static readonly Quaterniond Identity = new Quaterniond(1, 0, 0, 0); /// A quaterion representing the W axis. public static readonly Quaterniond WAxis = new Quaterniond(1, 0, 0, 0); /// A quaterion representing the X axis. public static readonly Quaterniond XAxis = new Quaterniond(0, 1, 0, 0); /// A quaterion representing the Y axis. public static readonly Quaterniond YAxis = new Quaterniond(0, 0, 1, 0); /// A quaterion representing the Z axis. public static readonly Quaterniond ZAxis = new Quaterniond(0, 0, 0, 1); #endregion #endif #region IEquatable Members /// /// Compares this Quaterniond instance to another Quaterniond for equality. /// /// The other Quaterniond to be used in the comparison. /// True if both instances are equal; false otherwise. public bool Equals(Quaterniond other) { return Xyz == other.Xyz && W == other.W; } #endregion } }opentk-1.0.20101006/Source/Compatibility/Math/BezierCurve.cs0000664000175000017500000002303611453131430022263 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Math { /// /// Represents a bezier curve with as many points as you want. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] public struct BezierCurve { #region Fields private List points; /// /// The parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.0f to the orignal curve at any point. public float Parallel; #endregion #region Properties /// /// Gets the points of this curve. /// /// The first point and the last points represent the anchor points. public IList Points { get { return points; } } #endregion #region Constructors /// /// Constructs a new . /// /// The points. public BezierCurve(IEnumerable points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.points = new List(points); this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The points. public BezierCurve(params Vector2[] points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.points = new List(points); this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The points. public BezierCurve(float parallel, params Vector2[] points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.Parallel = parallel; this.points = new List(points); } /// /// Constructs a new . /// /// The parallel value. /// The points. public BezierCurve(float parallel, IEnumerable points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.Parallel = parallel; this.points = new List(points); } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { return BezierCurve.CalculatePoint(points, t, Parallel); } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of curve. /// The precision gets better as the /// value gets smaller. public float CalculateLength(float precision) { return BezierCurve.CalculateLength(points, precision, Parallel); } #region Static methods /// /// Calculates the length of the specified bezier curve. /// /// The points. /// The precision value. /// The precision gets better as the /// value gets smaller. public static float CalculateLength(IList points, float precision) { return BezierCurve.CalculateLength(points, precision, 0.0f); } /// /// Calculates the length of the specified bezier curve. /// /// The points. /// The precision value. /// The parallel value. /// Length of curve. /// The precision gets better as the /// value gets smaller. /// The parameter defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f represents a curve that has always a distance /// of 5.0f to the orignal curve. public static float CalculateLength(IList points, float precision, float parallel) { float length = 0.0f; Vector2 old = BezierCurve.CalculatePoint(points, 0.0f, parallel); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(points, i, parallel); length += (n - old).Length; old = n; } return length; } /// /// Calculates the point on the given bezier curve with the specified t parameter. /// /// The points. /// The t parameter, a value between 0.0f and 1.0f. /// Resulting point. public static Vector2 CalculatePoint(IList points, float t) { return BezierCurve.CalculatePoint(points, t, 0.0f); } /// /// Calculates the point on the given bezier curve with the specified t parameter. /// /// The points. /// The t parameter, a value between 0.0f and 1.0f. /// The parallel value. /// Resulting point. /// The parameter defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f represents a curve that has always a distance /// of 5.0f to the orignal curve. public static Vector2 CalculatePoint(IList points, float t, float parallel) { Vector2 r = new Vector2(); double c = 1.0d - (double)t; float temp; int i = 0; foreach (Vector2 pt in points) { temp = (float)Functions.BinomialCoefficient(points.Count - 1, i) * (float)(System.Math.Pow(t, i) * System.Math.Pow(c, (points.Count - 1) - i)); r.X += temp * pt.X; r.Y += temp * pt.Y; i++; } if (parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t != 0.0f) perpendicular = r - BezierCurve.CalculatePointOfDerivative(points, t); else perpendicular = points[1] - points[0]; return r + Vector2.Normalize(perpendicular).PerpendicularRight * parallel; } /// /// Calculates the point with the specified t of the derivative of the given bezier function. /// /// The points. /// The t parameter, value between 0.0f and 1.0f. /// Resulting point. private static Vector2 CalculatePointOfDerivative(IList points, float t) { Vector2 r = new Vector2(); double c = 1.0d - (double)t; float temp; int i = 0; foreach (Vector2 pt in points) { temp = (float)Functions.BinomialCoefficient(points.Count - 2, i) * (float)(System.Math.Pow(t, i) * System.Math.Pow(c, (points.Count - 2) - i)); r.X += temp * pt.X; r.Y += temp * pt.Y; i++; } return r; } #endregion #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Vector2d.cs0000664000175000017500000006511311453131430021530 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK.Math { /// Represents a 2D vector using two double-precision floating-point numbers. [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector2d : IEquatable { #region Fields /// The X coordinate of this instance. public double X; /// The Y coordinate of this instance. public double Y; /// /// Defines a unit-length Vector2d that points towards the X-axis. /// public static Vector2d UnitX = new Vector2d(1, 0); /// /// Defines a unit-length Vector2d that points towards the Y-axis. /// public static Vector2d UnitY = new Vector2d(0, 1); /// /// Defines a zero-length Vector2d. /// public static Vector2d Zero = new Vector2d(0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector2d One = new Vector2d(1, 1); /// /// Defines the size of the Vector2d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2d()); #endregion #region Constructors /// Constructs left vector with the given coordinates. /// The X coordinate. /// The Y coordinate. public Vector2d(double x, double y) { this.X = x; this.Y = y; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add(Vector2d right) { this.X += right.X; this.Y += right.Y; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add(ref Vector2d right) { this.X += right.X; this.Y += right.Y; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub(Vector2d right) { this.X -= right.X; this.Y -= right.Y; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub(ref Vector2d right) { this.X -= right.X; this.Y -= right.Y; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult(double f) { this.X *= f; this.Y *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// public double Length { get { return (float)System.Math.Sqrt(X * X + Y * Y); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// public double LengthSquared { get { return X * X + Y * Y; } } #endregion #region public Vector2d PerpendicularRight /// /// Gets the perpendicular vector on the right side of this vector. /// public Vector2d PerpendicularRight { get { return new Vector2d(Y, -X); } } #endregion #region public Vector2d PerpendicularLeft /// /// Gets the perpendicular vector on the left side of this vector. /// public Vector2d PerpendicularLeft { get { return new Vector2d(-Y, X); } } #endregion #region public void Normalize() /// /// Scales the Vector2 to unit length. /// public void Normalize() { double scale = 1.0f / Length; X *= scale; Y *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector2 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. public void Scale(double sx, double sy) { X *= sx; Y *= sy; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale(Vector2d scale) { this.X *= scale.X; this.Y *= scale.Y; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale(ref Vector2d scale) { this.X *= scale.X; this.Y *= scale.Y; } #endregion public void Scale() #endregion #region Static #region Add /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static Vector2d Add(Vector2d a, Vector2d b) { a.X += b.X; a.Y += b.Y; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector2d Sub(Vector2d a, Vector2d b) { a.X -= b.X; a.Y -= b.Y; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector2d Mult(Vector2d a, double d) { a.X *= d; a.Y *= d; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector2d a, double d, out Vector2d result) { result.X = a.X * d; result.Y = a.Y * d; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector2d Div(Vector2d a, double d) { double mult = 1.0 / d; a.X *= mult; a.Y *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector2d a, double d, out Vector2d result) { double mult = 1.0 / d; result.X = a.X * mult; result.Y = a.Y * mult; } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector2d Min(Vector2d a, Vector2d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector2d Max(Vector2d a, Vector2d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector2d Clamp(Vector2d vec, Vector2d min, Vector2d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector2d vec, ref Vector2d min, ref Vector2d max, out Vector2d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector2d Normalize(Vector2d vec) { double scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector2d vec, out Vector2d result) { double scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector2d NormalizeFast(Vector2d vec) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector2d vec, out Vector2d result) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector2d left, Vector2d right) { return left.X * right.X + left.Y * right.Y; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector2d left, ref Vector2d right, out double result) { result = left.X * right.X + left.Y * right.Y; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector2d Lerp(Vector2d a, Vector2d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector2d a, ref Vector2d b, double blend, out Vector2d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector2d BaryCentric(Vector2d a, Vector2d b, Vector2d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector2d a, ref Vector2d b, ref Vector2d c, float u, float v, out Vector2d result) { result = a; // copy Vector2d temp = b; // copy temp.Sub(ref a); temp.Mult(u); result.Add(ref temp); temp = c; // copy temp.Sub(ref a); temp.Mult(v); result.Add(ref temp); } #endregion #endregion #region Operators /// /// Adds two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Vector2d operator +(Vector2d left, Vector2d right) { left.X += right.X; left.Y += right.Y; return left; } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Vector2d operator -(Vector2d left, Vector2d right) { left.X -= right.X; left.Y -= right.Y; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the operation. public static Vector2d operator -(Vector2d vec) { vec.X = -vec.X; vec.Y = -vec.Y; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the operation. public static Vector2d operator *(Vector2d vec, double f) { vec.X *= f; vec.Y *= f; return vec; } /// /// Multiply an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the operation. public static Vector2d operator *(double f, Vector2d vec) { vec.X *= f; vec.Y *= f; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the operation. public static Vector2d operator /(Vector2d vec, double f) { double mult = 1.0f / f; vec.X *= mult; vec.Y *= mult; return vec; } /// /// Compares two instances for equality. /// /// The left instance. /// The right instance. /// True, if both instances are equal; false otherwise. public static bool operator ==(Vector2d left, Vector2d right) { return left.Equals(right); } /// /// Compares two instances for ienquality. /// /// The left instance. /// The right instance. /// True, if the instances are not equal; false otherwise. public static bool operator !=(Vector2d left, Vector2d right) { return !left.Equals(right); } /// Converts OpenTK.Vector2 to OpenTK.Vector2d. /// The Vector2 to convert. /// The resulting Vector2d. public static explicit operator Vector2d(Vector2 v2) { return new Vector2d(v2.X, v2.Y); } /// Converts OpenTK.Vector2d to OpenTK.Vector2. /// The Vector2d to convert. /// The resulting Vector2. public static explicit operator Vector2(Vector2d v2d) { return new Vector2((float)v2d.X, (float)v2d.Y); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current instance. /// /// public override string ToString() { return String.Format("({0}, {1})", X, Y); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector2d)) return false; return this.Equals((Vector2d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector2d other) { return X == other.X && Y == other.Y; } #endregion } }opentk-1.0.20101006/Source/Compatibility/Math/Vector4d.cs0000664000175000017500000010161111453131430021524 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK.Math { /// Represents a 4D vector using four double-precision floating-point numbers. [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector4d : IEquatable { #region Fields /// /// The X component of the Vector4d. /// public double X; /// /// The Y component of the Vector4d. /// public double Y; /// /// The Z component of the Vector4d. /// public double Z; /// /// The W component of the Vector4d. /// public double W; /// /// Defines a unit-length Vector4d that points towards the X-axis. /// public static Vector4d UnitX = new Vector4d(1, 0, 0, 0); /// /// Defines a unit-length Vector4d that points towards the Y-axis. /// public static Vector4d UnitY = new Vector4d(0, 1, 0, 0); /// /// Defines a unit-length Vector4d that points towards the Z-axis. /// public static Vector4d UnitZ = new Vector4d(0, 0, 1, 0); /// /// Defines a unit-length Vector4d that points towards the W-axis. /// public static Vector4d UnitW = new Vector4d(0, 0, 0, 1); /// /// Defines a zero-length Vector4d. /// public static Vector4d Zero = new Vector4d(0, 0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector4d One = new Vector4d(1, 1, 1, 1); /// /// Defines the size of the Vector4d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4d()); #endregion #region Constructors /// /// Constructs a new Vector4d. /// /// The x component of the Vector4d. /// The y component of the Vector4d. /// The z component of the Vector4d. /// The w component of the Vector4d. public Vector4d(double x, double y, double z, double w) { X = x; Y = y; Z = z; W = w; } /// /// Constructs a new Vector4d from the given Vector2d. /// /// The Vector2d to copy components from. public Vector4d(Vector2d v) { X = v.X; Y = v.Y; Z = 0.0f; W = 0.0f; } /// /// Constructs a new Vector4d from the given Vector3d. /// /// The Vector3d to copy components from. public Vector4d(Vector3d v) { X = v.X; Y = v.Y; Z = v.Z; W = 0.0f; } /// /// Constructs a new Vector4d from the specified Vector3d and w component. /// /// The Vector3d to copy components from. /// The w component of the new Vector4. public Vector4d(Vector3 v, double w) { X = v.X; Y = v.Y; Z = v.Z; W = w; } /// /// Constructs a new Vector4d from the given Vector4d. /// /// The Vector4d to copy components from. public Vector4d(Vector4d v) { X = v.X; Y = v.Y; Z = v.Z; W = v.W; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add(Vector4d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add(ref Vector4d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub(Vector4d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub(ref Vector4d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult(double f) { this.X *= f; this.Y *= f; this.Z *= f; this.W *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; this.Z *= mult; this.W *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// /// public double Length { get { return (double)System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public double LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public double LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// public double LengthSquared { get { return X * X + Y * Y + Z * Z + W * W; } } #endregion #region public void Normalize() /// /// Scales the Vector4d to unit length. /// public void Normalize() { double scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector4d to approximately unit length. /// public void NormalizeFast() { double scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector4d by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. /// The scale of the Z component. public void Scale(double sx, double sy, double sz, double sw) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; this.W = W * sw; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale(Vector4d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale(ref Vector4d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } #endregion public void Scale() #endregion #region Static #region Add /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static Vector4d Add(Vector4d a, Vector4d b) { a.X += b.X; a.Y += b.Y; a.Z += b.Z; a.W += b.W; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; result.Z = a.Z + b.Z; result.W = a.W + b.W; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector4d Sub(Vector4d a, Vector4d b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; a.W -= b.W; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; result.W = a.W - b.W; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector4d Mult(Vector4d a, double f) { a.X *= f; a.Y *= f; a.Z *= f; a.W *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector4d a, double f, out Vector4d result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; result.W = a.W * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector4d Div(Vector4d a, double f) { double mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; a.W *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector4d a, double f, out Vector4d result) { double mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; result.W = a.W * mult; } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector4d Min(Vector4d a, Vector4d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; a.W = a.W < b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; result.W = a.W < b.W ? a.W : b.W; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector4d Max(Vector4d a, Vector4d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; a.W = a.W > b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; result.W = a.W > b.W ? a.W : b.W; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector4d Clamp(Vector4d vec, Vector4d min, Vector4d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector4d vec, ref Vector4d min, ref Vector4d max, out Vector4d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector4d Normalize(Vector4d vec) { double scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector4d vec, out Vector4d result) { double scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector4d NormalizeFast(Vector4d vec) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector4d vec, out Vector4d result) { double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region Dot /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector4d left, Vector4d right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector4d left, ref Vector4d right, out double result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector4d Lerp(Vector4d a, Vector4d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; a.W = blend * (b.W - a.W) + a.W; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector4d a, ref Vector4d b, double blend, out Vector4d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; result.W = blend * (b.W - a.W) + a.W; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector4d BaryCentric(Vector4d a, Vector4d b, Vector4d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector4d a, ref Vector4d b, ref Vector4d c, float u, float v, out Vector4d result) { result = a; // copy Vector4d temp = b; // copy temp.Sub(ref a); temp.Mult(u); result.Add(ref temp); temp = c; // copy temp.Sub(ref a); temp.Mult(v); result.Add(ref temp); } #endregion #region Transform /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4d Transform(Vector4d vec, Matrix4d mat) { Vector4d result; result.X = Vector4d.Dot(vec, mat.Column0); result.Y = Vector4d.Dot(vec, mat.Column1); result.Z = Vector4d.Dot(vec, mat.Column2); result.W = Vector4d.Dot(vec, mat.Column3); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector4d vec, ref Matrix4d mat, out Vector4d result) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X + vec.W * mat.Row3.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y + vec.W * mat.Row3.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z + vec.W * mat.Row3.Z; result.W = vec.X * mat.Row0.W + vec.Y * mat.Row1.W + vec.Z * mat.Row2.W + vec.W * mat.Row3.W; } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. /// [XmlIgnore] public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3d Xyz { get { return new Vector3d(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Operators public static Vector4d operator +(Vector4d left, Vector4d right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; left.W += right.W; return left; } public static Vector4d operator -(Vector4d left, Vector4d right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; left.W -= right.W; return left; } public static Vector4d operator -(Vector4d vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; vec.W = -vec.W; return vec; } public static Vector4d operator *(Vector4d vec, double f) { vec.X *= f; vec.Y *= f; vec.Z *= f; vec.W *= f; return vec; } public static Vector4d operator *(double f, Vector4d vec) { vec.X *= f; vec.Y *= f; vec.Z *= f; vec.W *= f; return vec; } public static Vector4d operator /(Vector4d vec, double f) { double mult = 1.0f / f; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; vec.W *= mult; return vec; } public static bool operator ==(Vector4d left, Vector4d right) { return left.Equals(right); } public static bool operator !=(Vector4d left, Vector4d right) { return !left.Equals(right); } [CLSCompliant(false)] unsafe public static explicit operator double*(Vector4d v) { return &v.X; } public static explicit operator IntPtr(Vector4d v) { unsafe { return (IntPtr)(&v.X); } } /// Converts OpenTK.Vector4 to OpenTK.Vector4d. /// The Vector4 to convert. /// The resulting Vector4d. public static explicit operator Vector4d(Vector4 v4) { return new Vector4d(v4.X, v4.Y, v4.Z, v4.W); } /// Converts OpenTK.Vector4d to OpenTK.Vector4. /// The Vector4d to convert. /// The resulting Vector4. public static explicit operator Vector4(Vector4d v4d) { return new Vector4((float)v4d.X, (float)v4d.Y, (float)v4d.Z, (float)v4d.W); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector4d. /// /// public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector4d)) return false; return this.Equals((Vector4d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector4d other) { return X == other.X && Y == other.Y && Z == other.Z && W == other.W; } #endregion } }opentk-1.0.20101006/Source/Compatibility/Math/Vector2.cs0000664000175000017500000007230311453131430021363 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK.Math { /// Represents a 2D vector using two single-precision floating-point numbers. /// /// The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector2 : IEquatable { #region Fields /// /// The X component of the Vector2. /// public float X; /// /// The Y component of the Vector2. /// public float Y; #endregion #region Constructors /// /// Constructs a new Vector2. /// /// The x coordinate of the net Vector2. /// The y coordinate of the net Vector2. public Vector2(float x, float y) { X = x; Y = y; } /// /// Constructs a new Vector2 from the given Vector2. /// /// The Vector2 to copy components from. [Obsolete] public Vector2(Vector2 v) { X = v.X; Y = v.Y; } /// /// Constructs a new Vector2 from the given Vector3. /// /// The Vector3 to copy components from. Z is discarded. [Obsolete] public Vector2(Vector3 v) { X = v.X; Y = v.Y; } /// /// Constructs a new Vector2 from the given Vector4. /// /// The Vector4 to copy components from. Z and W are discarded. [Obsolete] public Vector2(Vector4 v) { X = v.X; Y = v.Y; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add( Vector2 right ) { this.X += right.X; this.Y += right.Y; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add( ref Vector2 right ) { this.X += right.X; this.Y += right.Y; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub( Vector2 right ) { this.X -= right.X; this.Y -= right.Y; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub( ref Vector2 right ) { this.X -= right.X; this.Y -= right.Y; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult( float f ) { this.X *= f; this.Y *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div( float f ) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y; } } #endregion #region public Vector2 PerpendicularRight /// /// Gets the perpendicular vector on the right side of this vector. /// public Vector2 PerpendicularRight { get { return new Vector2(Y, -X); } } #endregion #region public Vector2 PerpendicularLeft /// /// Gets the perpendicular vector on the left side of this vector. /// public Vector2 PerpendicularLeft { get { return new Vector2(-Y, X); } } #endregion #region public void Normalize() /// /// Scales the Vector2 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector2 to approximately unit length. /// public void NormalizeFast() { float scale = Functions.InverseSqrtFast(X * X + Y * Y); X *= scale; Y *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector2 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. public void Scale(float sx, float sy) { this.X = X * sx; this.Y = Y * sy; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale( Vector2 scale ) { this.X *= scale.X; this.Y *= scale.Y; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale( ref Vector2 scale ) { this.X *= scale.X; this.Y *= scale.Y; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector2 that points towards the X-axis. /// public static readonly Vector2 UnitX = new Vector2(1, 0); /// /// Defines a unit-length Vector2 that points towards the Y-axis. /// public static readonly Vector2 UnitY = new Vector2(0, 1); /// /// Defines a zero-length Vector2. /// public static readonly Vector2 Zero = new Vector2(0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector2 One = new Vector2(1, 1); /// /// Defines the size of the Vector2 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2()); #endregion #region Add /// /// Add the specified instances /// /// First operand /// Second operand /// Result of addition public static Vector2 Add(Vector2 a, Vector2 b) { a.X += b.X; a.Y += b.Y; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector2 Sub(Vector2 a, Vector2 b) { a.X -= b.X; a.Y -= b.Y; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector2 Mult(Vector2 a, float f) { a.X *= f; a.Y *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector2 a, float f, out Vector2 result) { result.X = a.X * f; result.Y = a.Y * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector2 Div(Vector2 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector2 a, float f, out Vector2 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector2 ComponentMin(Vector2 a, Vector2 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector2 ComponentMax(Vector2 a, Vector2 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; } #endregion #region Min /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector2 Min(Vector2 left, Vector2 right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector2 Max(Vector2 left, Vector2 right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector2 vec, ref Vector2 min, ref Vector2 max, out Vector2 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector2 Normalize(Vector2 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector2 vec, out Vector2 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector2 NormalizeFast(Vector2 vec) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector2 vec, out Vector2 result) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector2 left, Vector2 right) { return left.X * right.X + left.Y * right.Y; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot( ref Vector2 left, ref Vector2 right, out float result ) { result = left.X * right.X + left.Y * right.Y; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector2 Lerp(Vector2 a, Vector2 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp( ref Vector2 a, ref Vector2 b, float blend, out Vector2 result ) { result.X = blend * ( b.X - a.X ) + a.X; result.Y = blend * ( b.Y - a.Y ) + a.Y; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric( ref Vector2 a, ref Vector2 b, ref Vector2 c, float u, float v, out Vector2 result ) { result = a; // copy Vector2 temp = b; // copy temp.Sub( ref a ); temp.Mult( u ); result.Add( ref temp ); temp = c; // copy temp.Sub( ref a ); temp.Mult( v ); result.Add( ref temp ); } #endregion #endregion #region Operators /// /// Adds the specified instances. /// /// Left operand. /// Right operand. /// Result of addition. public static Vector2 operator +(Vector2 left, Vector2 right) { left.X += right.X; left.Y += right.Y; return left; } /// /// Subtracts the specified instances. /// /// Left operand. /// Right operand. /// Result of subtraction. public static Vector2 operator -(Vector2 left, Vector2 right) { left.X -= right.X; left.Y -= right.Y; return left; } /// /// Negates the specified instance. /// /// Operand. /// Result of negation. public static Vector2 operator -(Vector2 vec) { vec.X = -vec.X; vec.Y = -vec.Y; return vec; } /// /// Multiplies the specified instance by a scalar. /// /// Left operand. /// Right operand. /// Result of multiplication. public static Vector2 operator *(Vector2 vec, float scale) { vec.X *= scale; vec.Y *= scale; return vec; } /// /// Multiplies the specified instance by a scalar. /// /// Left operand. /// Right operand. /// Result of multiplication. public static Vector2 operator *(float scale, Vector2 vec) { vec.X *= scale; vec.Y *= scale; return vec; } /// /// Divides the specified instance by a scalar. /// /// Left operand /// Right operand /// Result of the division. public static Vector2 operator /(Vector2 vec, float scale) { float mult = 1.0f / scale; vec.X *= mult; vec.Y *= mult; return vec; } /// /// Compares the specified instances for equality. /// /// Left operand. /// Right operand. /// True if both instances are equal; false otherwise. public static bool operator ==(Vector2 left, Vector2 right) { return left.Equals(right); } /// /// Compares the specified instances for inequality. /// /// Left operand. /// Right operand. /// True if both instances are not equal; false otherwise. public static bool operator !=(Vector2 left, Vector2 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector2. /// /// public override string ToString() { return String.Format("({0}, {1})", X, Y); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector2)) return false; return this.Equals((Vector2)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector2 other) { return X == other.X && Y == other.Y; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Matrix3d.cs0000664000175000017500000010246411453131430021534 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK.Math { // Todo: Remove this warning when the code goes public. #pragma warning disable 3019 #if false [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix3d : IEquatable { #region Fields & Access /// Row 0, Column 0 public double R0C0; /// Row 0, Column 1 public double R0C1; /// Row 0, Column 2 public double R0C2; /// Row 1, Column 0 public double R1C0; /// Row 1, Column 1 public double R1C1; /// Row 1, Column 2 public double R1C2; /// Row 2, Column 0 public double R2C0; /// Row 2, Column 1 public double R2C1; /// Row 2, Column 2 public double R2C2; /// Gets the component at the given row and column in the matrix. /// The row of the matrix. /// The column of the matrix. /// The component at the given row and column in the matrix. public double this[int row, int column] { get { switch( row ) { case 0: switch (column) { case 0: return R0C0; case 1: return R0C1; case 2: return R0C2; } break; case 1: switch (column) { case 0: return R1C0; case 1: return R1C1; case 2: return R1C2; } break; case 2: switch (column) { case 0: return R2C0; case 1: return R2C1; case 2: return R2C2; } break; } throw new IndexOutOfRangeException(); } set { switch( row ) { case 0: switch (column) { case 0: R0C0 = value; return; case 1: R0C1 = value; return; case 2: R0C2 = value; return; } break; case 1: switch (column) { case 0: R1C0 = value; return; case 1: R1C1 = value; return; case 2: R1C2 = value; return; } break; case 2: switch (column) { case 0: R2C0 = value; return; case 1: R2C1 = value; return; case 2: R2C2 = value; return; } break; } throw new IndexOutOfRangeException(); } } /// Gets the component at the index into the matrix. /// The index into the components of the matrix. /// The component at the given index into the matrix. public double this[int index] { get { switch (index) { case 0: return R0C0; case 1: return R0C1; case 2: return R0C2; case 3: return R1C0; case 4: return R1C1; case 5: return R1C2; case 6: return R2C0; case 7: return R2C1; case 8: return R2C2; default: throw new IndexOutOfRangeException(); } } set { switch (index) { case 0: R0C0 = value; return; case 1: R0C1 = value; return; case 2: R0C2 = value; return; case 3: R1C0 = value; return; case 4: R1C1 = value; return; case 5: R1C2 = value; return; case 6: R2C0 = value; return; case 7: R2C1 = value; return; case 8: R2C2 = value; return; default: throw new IndexOutOfRangeException(); } } } /// Converts the matrix into an IntPtr. /// The matrix to convert. /// An IntPtr for the matrix. public static explicit operator IntPtr(Matrix3d matrix) { unsafe { return (IntPtr)(&matrix.R0C0); } } /// Converts the matrix into left double*. /// The matrix to convert. /// A double* for the matrix. [CLSCompliant(false)] unsafe public static explicit operator double*(Matrix3d matrix) { return &matrix.R0C0; } /// Converts the matrix into an array of doubles. /// The matrix to convert. /// An array of doubles for the matrix. public static explicit operator double[](Matrix3d matrix) { return new double[9] { matrix.R0C0, matrix.R0C1, matrix.R0C2, matrix.R1C0, matrix.R1C1, matrix.R1C2, matrix.R2C0, matrix.R2C1, matrix.R2C2 }; } #endregion #region Constructors /// Constructs left matrix with the same components as the given matrix. /// The matrix whose components to copy. public Matrix3d(ref Matrix3d matrix) { this.R0C0 = matrix.R0C0; this.R0C1 = matrix.R0C1; this.R0C2 = matrix.R0C2; this.R1C0 = matrix.R1C0; this.R1C1 = matrix.R1C1; this.R1C2 = matrix.R1C2; this.R2C0 = matrix.R2C0; this.R2C1 = matrix.R2C1; this.R2C2 = matrix.R2C2; } /// Constructs left matrix with the given values. /// The value for row 0 column 0. /// The value for row 0 column 1. /// The value for row 0 column 2. /// The value for row 1 column 0. /// The value for row 1 column 1. /// The value for row 1 column 2. /// The value for row 2 column 0. /// The value for row 2 column 1. /// The value for row 2 column 2. public Matrix3d ( double r0c0, double r0c1, double r0c2, double r1c0, double r1c1, double r1c2, double r2c0, double r2c1, double r2c2 ) { this.R0C0 = r0c0; this.R0C1 = r0c1; this.R0C2 = r0c2; this.R1C0 = r1c0; this.R1C1 = r1c1; this.R1C2 = r1c2; this.R2C0 = r2c0; this.R2C1 = r2c1; this.R2C2 = r2c2; } /// Constructs left matrix from the given array of double-precision floating-point numbers. /// The array of doubles for the components of the matrix. public Matrix3d(double[] doubleArray) { if (doubleArray == null || doubleArray.GetLength(0) < 9) throw new MissingFieldException(); this.R0C0 = doubleArray[0]; this.R0C1 = doubleArray[1]; this.R0C2 = doubleArray[2]; this.R1C0 = doubleArray[3]; this.R1C1 = doubleArray[4]; this.R1C2 = doubleArray[5]; this.R2C0 = doubleArray[6]; this.R2C1 = doubleArray[7]; this.R2C2 = doubleArray[8]; } /// Constructs left matrix from the given quaternion. /// The quaternion to use to construct the martix. public Matrix3d(Quaterniond quaternion) { quaternion.Normalize(); double xx = quaternion.X * quaternion.X; double yy = quaternion.Y * quaternion.Y; double zz = quaternion.Z * quaternion.Z; double xy = quaternion.X * quaternion.Y; double xz = quaternion.X * quaternion.Z; double yz = quaternion.Y * quaternion.Z; double wx = quaternion.W * quaternion.X; double wy = quaternion.W * quaternion.Y; double wz = quaternion.W * quaternion.Z; R0C0 = 1 - 2 * (yy + zz); R0C1 = 2 * (xy - wz); R0C2 = 2 * (xz + wy); R1C0 = 2 * (xy + wz); R1C1 = 1 - 2 * (xx + zz); R1C2 = 2 * (yz - wx); R2C0 = 2 * (xz - wy); R2C1 = 2 * (yz + wx); R2C2 = 1 - 2 * (xx + yy); } #endregion #region Equality /// Indicates whether the current matrix is equal to another matrix. /// The OpenTK.Matrix3d structure to compare with. /// true if the current matrix is equal to the matrix parameter; otherwise, false. [CLSCompliant(false)] public bool Equals(Matrix3d matrix) { return R0C0 == matrix.R0C0 && R0C1 == matrix.R0C1 && R0C2 == matrix.R0C2 && R1C0 == matrix.R1C0 && R1C1 == matrix.R1C1 && R1C2 == matrix.R1C2 && R2C0 == matrix.R2C0 && R2C1 == matrix.R2C1 && R2C2 == matrix.R2C2; } /// Indicates whether the current matrix is equal to another matrix. /// The OpenTK.Matrix3d structure to compare to. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(ref Matrix3d matrix) { return R0C0 == matrix.R0C0 && R0C1 == matrix.R0C1 && R0C2 == matrix.R0C2 && R1C0 == matrix.R1C0 && R1C1 == matrix.R1C1 && R1C2 == matrix.R1C2 && R2C0 == matrix.R2C0 && R2C1 == matrix.R2C1 && R2C2 == matrix.R2C2; } /// Indicates whether the current matrix is equal to another matrix. /// The left-hand operand. /// The right-hand operand. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public static bool Equals(ref Matrix3d left, ref Matrix3d right) { return left.R0C0 == right.R0C0 && left.R0C1 == right.R0C1 && left.R0C2 == right.R0C2 && left.R1C0 == right.R1C0 && left.R1C1 == right.R1C1 && left.R1C2 == right.R1C2 && left.R2C0 == right.R2C0 && left.R2C1 == right.R2C1 && left.R2C2 == right.R2C2; } /// Indicates whether the current matrix is approximately equal to another matrix. /// The OpenTK.Matrix3d structure to compare with. /// The limit below which the matrices are considered equal. /// true if the current matrix is approximately equal to the matrix parameter; otherwise, false. public bool EqualsApprox(ref Matrix3d matrix, double tolerance) { return System.Math.Abs(R0C0 - matrix.R0C0) <= tolerance && System.Math.Abs(R0C1 - matrix.R0C1) <= tolerance && System.Math.Abs(R0C2 - matrix.R0C2) <= tolerance && System.Math.Abs(R1C0 - matrix.R1C0) <= tolerance && System.Math.Abs(R1C1 - matrix.R1C1) <= tolerance && System.Math.Abs(R1C2 - matrix.R1C2) <= tolerance && System.Math.Abs(R2C0 - matrix.R2C0) <= tolerance && System.Math.Abs(R2C1 - matrix.R2C1) <= tolerance && System.Math.Abs(R2C2 - matrix.R2C2) <= tolerance; } /// Indicates whether the current matrix is approximately equal to another matrix. /// The left-hand operand. /// The right-hand operand. /// The limit below which the matrices are considered equal. /// true if the current matrix is approximately equal to the matrix parameter; otherwise, false. public static bool EqualsApprox(ref Matrix3d left, ref Matrix3d right, double tolerance) { return System.Math.Abs(left.R0C0 - right.R0C0) <= tolerance && System.Math.Abs(left.R0C1 - right.R0C1) <= tolerance && System.Math.Abs(left.R0C2 - right.R0C2) <= tolerance && System.Math.Abs(left.R1C0 - right.R1C0) <= tolerance && System.Math.Abs(left.R1C1 - right.R1C1) <= tolerance && System.Math.Abs(left.R1C2 - right.R1C2) <= tolerance && System.Math.Abs(left.R2C0 - right.R2C0) <= tolerance && System.Math.Abs(left.R2C1 - right.R2C1) <= tolerance && System.Math.Abs(left.R2C2 - right.R2C2) <= tolerance; } #endregion #region Arithmetic Operators /// Add left matrix to this matrix. /// The matrix to add. public void Add(ref Matrix3d matrix) { R0C0 = R0C0 + matrix.R0C0; R0C1 = R0C1 + matrix.R0C1; R0C2 = R0C2 + matrix.R0C2; R1C0 = R1C0 + matrix.R1C0; R1C1 = R1C1 + matrix.R1C1; R1C2 = R1C2 + matrix.R1C2; R2C0 = R2C0 + matrix.R2C0; R2C1 = R2C1 + matrix.R2C1; R2C2 = R2C2 + matrix.R2C2; } /// Add left matrix to this matrix. /// The matrix to add. /// The resulting matrix of the addition. public void Add(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = R0C0 + matrix.R0C0; result.R0C1 = R0C1 + matrix.R0C1; result.R0C2 = R0C2 + matrix.R0C2; result.R1C0 = R1C0 + matrix.R1C0; result.R1C1 = R1C1 + matrix.R1C1; result.R1C2 = R1C2 + matrix.R1C2; result.R2C0 = R2C0 + matrix.R2C0; result.R2C1 = R2C1 + matrix.R2C1; result.R2C2 = R2C2 + matrix.R2C2; } /// Add left matrix to left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the addition. public static void Add(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = left.R0C0 + right.R0C0; result.R0C1 = left.R0C1 + right.R0C1; result.R0C2 = left.R0C2 + right.R0C2; result.R1C0 = left.R1C0 + right.R1C0; result.R1C1 = left.R1C1 + right.R1C1; result.R1C2 = left.R1C2 + right.R1C2; result.R2C0 = left.R2C0 + right.R2C0; result.R2C1 = left.R2C1 + right.R2C1; result.R2C2 = left.R2C2 + right.R2C2; } /// Subtract left matrix from this matrix. /// The matrix to subtract. public void Subtract(ref Matrix3d matrix) { R0C0 = R0C0 + matrix.R0C0; R0C1 = R0C1 + matrix.R0C1; R0C2 = R0C2 + matrix.R0C2; R1C0 = R1C0 + matrix.R1C0; R1C1 = R1C1 + matrix.R1C1; R1C2 = R1C2 + matrix.R1C2; R2C0 = R2C0 + matrix.R2C0; R2C1 = R2C1 + matrix.R2C1; R2C2 = R2C2 + matrix.R2C2; } /// Subtract left matrix from this matrix. /// The matrix to subtract. /// The resulting matrix of the subtraction. public void Subtract(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = R0C0 + matrix.R0C0; result.R0C1 = R0C1 + matrix.R0C1; result.R0C2 = R0C2 + matrix.R0C2; result.R1C0 = R1C0 + matrix.R1C0; result.R1C1 = R1C1 + matrix.R1C1; result.R1C2 = R1C2 + matrix.R1C2; result.R2C0 = R2C0 + matrix.R2C0; result.R2C1 = R2C1 + matrix.R2C1; result.R2C2 = R2C2 + matrix.R2C2; } /// Subtract left matrix from left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the subtraction. public static void Subtract(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = left.R0C0 + right.R0C0; result.R0C1 = left.R0C1 + right.R0C1; result.R0C2 = left.R0C2 + right.R0C2; result.R1C0 = left.R1C0 + right.R1C0; result.R1C1 = left.R1C1 + right.R1C1; result.R1C2 = left.R1C2 + right.R1C2; result.R2C0 = left.R2C0 + right.R2C0; result.R2C1 = left.R2C1 + right.R2C1; result.R2C2 = left.R2C2 + right.R2C2; } /// Multiply left martix times this matrix. /// The matrix to multiply. public void Multiply(ref Matrix3d matrix) { double r0c0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0; double r0c1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1; double r0c2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2; double r1c0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0; double r1c1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1; double r1c2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2; R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0; R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1; R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2; R0C0 = r0c0; R0C1 = r0c1; R0C2 = r0c2; R1C0 = r1c0; R1C1 = r1c1; R1C2 = r1c2; } /// Multiply matrix times this matrix. /// The matrix to multiply. /// The resulting matrix of the multiplication. public void Multiply(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0; result.R0C1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1; result.R0C2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2; result.R1C0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0; result.R1C1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1; result.R1C2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2; result.R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0; result.R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1; result.R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2; } /// Multiply left matrix times left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the multiplication. public static void Multiply(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = right.R0C0 * left.R0C0 + right.R0C1 * left.R1C0 + right.R0C2 * left.R2C0; result.R0C1 = right.R0C0 * left.R0C1 + right.R0C1 * left.R1C1 + right.R0C2 * left.R2C1; result.R0C2 = right.R0C0 * left.R0C2 + right.R0C1 * left.R1C2 + right.R0C2 * left.R2C2; result.R1C0 = right.R1C0 * left.R0C0 + right.R1C1 * left.R1C0 + right.R1C2 * left.R2C0; result.R1C1 = right.R1C0 * left.R0C1 + right.R1C1 * left.R1C1 + right.R1C2 * left.R2C1; result.R1C2 = right.R1C0 * left.R0C2 + right.R1C1 * left.R1C2 + right.R1C2 * left.R2C2; result.R2C0 = right.R2C0 * left.R0C0 + right.R2C1 * left.R1C0 + right.R2C2 * left.R2C0; result.R2C1 = right.R2C0 * left.R0C1 + right.R2C1 * left.R1C1 + right.R2C2 * left.R2C1; result.R2C2 = right.R2C0 * left.R0C2 + right.R2C1 * left.R1C2 + right.R2C2 * left.R2C2; } /// Multiply matrix times this matrix. /// The matrix to multiply. public void Multiply(double scalar) { R0C0 = scalar * R0C0; R0C1 = scalar * R0C1; R0C2 = scalar * R0C2; R1C0 = scalar * R1C0; R1C1 = scalar * R1C1; R1C2 = scalar * R1C2; R2C0 = scalar * R2C0; R2C1 = scalar * R2C1; R2C2 = scalar * R2C2; } /// Multiply matrix times this matrix. /// The matrix to multiply. /// The resulting matrix of the multiplication. public void Multiply(double scalar, out Matrix3d result) { result.R0C0 = scalar * R0C0; result.R0C1 = scalar * R0C1; result.R0C2 = scalar * R0C2; result.R1C0 = scalar * R1C0; result.R1C1 = scalar * R1C1; result.R1C2 = scalar * R1C2; result.R2C0 = scalar * R2C0; result.R2C1 = scalar * R2C1; result.R2C2 = scalar * R2C2; } /// Multiply left matrix times left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the multiplication. public static void Multiply(ref Matrix3d matrix, double scalar, out Matrix3d result) { result.R0C0 = scalar * matrix.R0C0; result.R0C1 = scalar * matrix.R0C1; result.R0C2 = scalar * matrix.R0C2; result.R1C0 = scalar * matrix.R1C0; result.R1C1 = scalar * matrix.R1C1; result.R1C2 = scalar * matrix.R1C2; result.R2C0 = scalar * matrix.R2C0; result.R2C1 = scalar * matrix.R2C1; result.R2C2 = scalar * matrix.R2C2; } #endregion #region Functions public double Determinant { get { return R0C0 * R1C1 * R2C2 - R0C0 * R1C2 * R2C1 - R0C1 * R1C0 * R2C2 + R0C2 * R1C0 * R2C1 + R0C1 * R1C2 * R2C0 - R0C2 * R1C1 * R2C0; } } public void Transpose() { Functions.Swap(ref R0C1, ref R1C0); Functions.Swap(ref R0C2, ref R2C0); Functions.Swap(ref R1C2, ref R2C1); } public void Transpose(out Matrix3d result) { result.R0C0 = R0C0; result.R0C1 = R1C0; result.R0C2 = R2C0; result.R1C0 = R0C1; result.R1C1 = R1C1; result.R1C2 = R2C1; result.R2C0 = R0C2; result.R2C1 = R1C2; result.R2C2 = R2C2; } public static void Transpose(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = matrix.R0C0; result.R0C1 = matrix.R1C0; result.R0C2 = matrix.R2C0; result.R1C0 = matrix.R0C1; result.R1C1 = matrix.R1C1; result.R1C2 = matrix.R2C1; result.R2C0 = matrix.R0C2; result.R2C1 = matrix.R1C2; result.R2C2 = matrix.R2C2; } #endregion #region Transformation Functions public void Transform(ref Vector3d vector) { double x = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z; double y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z; vector.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z; vector.X = x; vector.Y = y; } public static void Transform(ref Matrix3d matrix, ref Vector3d vector) { double x = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z; double y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z; vector.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z; vector.X = x; vector.Y = y; } public void Transform(ref Vector3d vector, out Vector3d result) { result.X = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z; result.Y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z; result.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z; } public static void Transform(ref Matrix3d matrix, ref Vector3d vector, out Vector3d result) { result.X = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z; result.Y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z; result.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z; } public void Rotate(double angle) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); double r0c0 = cos * R0C0 + sin * R1C0; double r0c1 = cos * R0C1 + sin * R1C1; double r0c2 = cos * R0C2 + sin * R1C2; R1C0 = cos * R1C0 - sin * R0C0; R1C1 = cos * R1C1 - sin * R0C1; R1C2 = cos * R1C2 - sin * R0C2; R0C0 = r0c0; R0C1 = r0c1; R0C2 = r0c2; } public void Rotate(double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos * R0C0 + sin * R1C0; result.R0C1 = cos * R0C1 + sin * R1C1; result.R0C2 = cos * R0C2 + sin * R1C2; result.R1C0 = cos * R1C0 - sin * R0C0; result.R1C1 = cos * R1C1 - sin * R0C1; result.R1C2 = cos * R1C2 - sin * R0C2; result.R2C0 = R2C0; result.R2C1 = R2C1; result.R2C2 = R2C2; } public static void Rotate(ref Matrix3d matrix, double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos * matrix.R0C0 + sin * matrix.R1C0; result.R0C1 = cos * matrix.R0C1 + sin * matrix.R1C1; result.R0C2 = cos * matrix.R0C2 + sin * matrix.R1C2; result.R1C0 = cos * matrix.R1C0 - sin * matrix.R0C0; result.R1C1 = cos * matrix.R1C1 - sin * matrix.R0C1; result.R1C2 = cos * matrix.R1C2 - sin * matrix.R0C2; result.R2C0 = matrix.R2C0; result.R2C1 = matrix.R2C1; result.R2C2 = matrix.R2C2; } public static void RotateMatrix(double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos; result.R0C1 = sin; result.R0C2 = 0; result.R1C0 = -sin; result.R1C1 = cos; result.R1C2 = 0; result.R2C0 = 0; result.R2C1 = 0; result.R2C2 = 1; } public Quaterniond ToQuaternion() { //return new Quaterniond(ref this); } #endregion #region Constants /// The identity matrix. public static readonly Matrix3d Identity = new Matrix3d ( 1, 0, 0, 0, 1, 0, 0, 0, 1 ); /// A matrix of all zeros. public static readonly Matrix3d Zero = new Matrix3d ( 0, 0, 0, 0, 0, 0, 0, 0, 0 ); #endregion #region HashCode /// Returns the hash code for this instance. /// A 32-bit signed integer that is the hash code for this instance. public override int GetHashCode() { return R0C0.GetHashCode() ^ R0C1.GetHashCode() ^ R0C2.GetHashCode() ^ R1C0.GetHashCode() ^ R1C1.GetHashCode() ^ R1C2.GetHashCode() ^ R2C0.GetHashCode() ^ R2C1.GetHashCode() ^ R2C2.GetHashCode(); } #endregion #region String /// Returns the fully qualified type name of this instance. /// A System.String containing left fully qualified type name. public override string ToString() { return String.Format( "|{00}, {01}, {02}|\n" + "|{03}, {04}, {05}|\n" + "|{06}, {07}, {18}|\n" + R0C0, R0C1, R0C2, R1C0, R1C1, R1C2, R2C0, R2C1, R2C2); } #endregion } #endif #pragma warning restore 3019 } opentk-1.0.20101006/Source/Compatibility/Math/Quaternion.cs0000664000175000017500000004431611453131430022167 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.ComponentModel; using System.Xml.Serialization; namespace OpenTK.Math { /// /// Represents a Quaternion. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Quaternion : IEquatable { #region Fields Vector3 xyz; float w; #endregion #region Constructors /// /// Construct a new Quaternion from vector and w components /// /// The vector part /// The w part public Quaternion(Vector3 v, float w) { this.xyz = v; this.w = w; } /// /// Construct a new Quaternion /// /// The x component /// The y component /// The z component /// The w component public Quaternion(float x, float y, float z, float w) : this(new Vector3(x, y, z), w) { } #endregion #region Public Members #region Properties /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// [Obsolete("Use Xyz property instead.")] [CLSCompliant(false)] [EditorBrowsable(EditorBrowsableState.Never)] [XmlIgnore] public Vector3 XYZ { get { return Xyz; } set { Xyz = value; } } /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// public Vector3 Xyz { get { return xyz; } set { xyz = value; } } /// /// Gets or sets the X component of this instance. /// [XmlIgnore] public float X { get { return xyz.X; } set { xyz.X = value; } } /// /// Gets or sets the Y component of this instance. /// [XmlIgnore] public float Y { get { return xyz.Y; } set { xyz.Y = value; } } /// /// Gets or sets the Z component of this instance. /// [XmlIgnore] public float Z { get { return xyz.Z; } set { xyz.Z = value; } } /// /// Gets or sets the W component of this instance. /// public float W { get { return w; } set { w = value; } } #endregion #region Instance #region ToAxisAngle /// /// Convert the current quaternion to axis angle representation /// /// The resultant axis /// The resultant angle public void ToAxisAngle(out Vector3 axis, out float angle) { Vector4 result = ToAxisAngle(); axis = result.Xyz; angle = result.W; } /// /// Convert this instance to an axis-angle representation. /// /// A Vector4 that is the axis-angle representation of this quaternion. public Vector4 ToAxisAngle() { Quaternion q = this; if (q.W > 1.0f) q.Normalize(); Vector4 result = new Vector4(); result.W = 2.0f * (float)System.Math.Acos(q.W); // angle float den = (float)System.Math.Sqrt(1.0 - q.W * q.W); if (den > 0.0001f) { result.Xyz = q.Xyz / den; } else { // This occurs when the angle is zero. // Not a problem: just set an arbitrary normalized axis. result.Xyz = Vector3.UnitX; } return result; } #endregion #region public float Length /// /// Gets the length (magnitude) of the quaternion. /// /// public float Length { get { return (float)System.Math.Sqrt(W * W + Xyz.LengthSquared); } } #endregion #region public float LengthSquared /// /// Gets the square of the quaternion length (magnitude). /// public float LengthSquared { get { return W * W + Xyz.LengthSquared; } } #endregion #region public void Normalize() /// /// Scales the Quaternion to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; Xyz *= scale; W *= scale; } #endregion #region public void Conjugate() /// /// Convert this quaternion to its conjugate /// public void Conjugate() { Xyz = -Xyz; } #endregion #endregion #region Static #region Fields /// /// Defines the identity quaternion. /// public static Quaternion Identity = new Quaternion(0, 0, 0, 1); #endregion #region Add /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static Quaternion Add(Quaternion left, Quaternion right) { return new Quaternion( left.Xyz + right.Xyz, left.W + right.W); } /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static void Add(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( left.Xyz + right.Xyz, left.W + right.W); } #endregion #region Sub /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Quaternion Sub(Quaternion left, Quaternion right) { return new Quaternion( left.Xyz - right.Xyz, left.W - right.W); } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static void Sub(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( left.Xyz - right.Xyz, left.W - right.W); } #endregion #region Mult public static Quaternion Mult(Quaternion left, Quaternion right) { return new Quaternion( right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz)); } public static void Mult(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz)); } #endregion #region Conjugate /// /// Get the conjugate of the given quaternion /// /// The quaternion /// The conjugate of the given quaternion public static Quaternion Conjugate(Quaternion q) { return new Quaternion(-q.Xyz, q.W); } /// /// Get the conjugate of the given quaternion /// /// The quaternion /// The conjugate of the given quaternion public static void Conjugate(ref Quaternion q, out Quaternion result) { result = new Quaternion(-q.Xyz, q.W); } #endregion #region Invert /// /// Get the inverse of the given quaternion /// /// The quaternion to invert /// The inverse of the given quaternion public static Quaternion Invert(Quaternion q) { Quaternion result; Invert(ref q, out result); return result; } /// /// Get the inverse of the given quaternion /// /// The quaternion to invert /// The inverse of the given quaternion public static void Invert(ref Quaternion q, out Quaternion result) { float lengthSq = q.LengthSquared; if (lengthSq != 0.0) { float i = 1.0f / lengthSq; result = new Quaternion(q.Xyz * -i, q.W * i); } else { result = q; } } #endregion #region Normalize /// /// Scale the given quaternion to unit length /// /// The quaternion to normalize /// The normalized quaternion public static Quaternion Normalize(Quaternion q) { Quaternion result; Normalize(ref q, out result); return result; } /// /// Scale the given quaternion to unit length /// /// The quaternion to normalize /// The normalized quaternion public static void Normalize(ref Quaternion q, out Quaternion result) { float scale = 1.0f / q.Length; result = new Quaternion(q.Xyz * scale, q.W * scale); } #endregion #region FromAxisAngle /// /// Build a quaternion from the given axis and angle /// /// The axis to rotate about /// The rotation angle in radians /// public static Quaternion FromAxisAngle(Vector3 axis, float angle) { if (axis.LengthSquared == 0.0f) return Identity; Quaternion result = Identity; angle *= 0.5f; axis.Normalize(); result.Xyz = axis * (float)System.Math.Sin(angle); result.W = (float)System.Math.Cos(angle); return Normalize(result); } #endregion #region Slerp /// /// Do Spherical linear interpolation between two quaternions /// /// The first quaternion /// The second quaternion /// The blend factor /// A smooth blend between the given quaternions public static Quaternion Slerp(Quaternion q1, Quaternion q2, float blend) { // if either input is zero, return the other. if (q1.LengthSquared == 0.0f) { if (q2.LengthSquared == 0.0f) { return Identity; } return q2; } else if (q2.LengthSquared == 0.0f) { return q1; } float cosHalfAngle = q1.W * q2.W + Vector3.Dot(q1.Xyz, q2.Xyz); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. return q1; } else if (cosHalfAngle < 0.0f) { q2.Xyz = -q2.Xyz; q2.W = -q2.W; cosHalfAngle = -cosHalfAngle; } float blendA; float blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles float halfAngle = (float)System.Math.Acos(cosHalfAngle); float sinHalfAngle = (float)System.Math.Sin(halfAngle); float oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (float)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (float)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } Quaternion result = new Quaternion(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W); if (result.LengthSquared > 0.0f) return Normalize(result); else return Identity; } #endregion #endregion #region Operators public static Quaternion operator +(Quaternion left, Quaternion right) { left.Xyz += right.Xyz; left.W += right.W; return left; } public static Quaternion operator -(Quaternion left, Quaternion right) { left.Xyz -= right.Xyz; left.W -= right.W; return left; } public static Quaternion operator *(Quaternion left, Quaternion right) { float w = left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz); left.Xyz = right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz); left.W = w; return left; } public static bool operator ==(Quaternion left, Quaternion right) { return left.Equals(right); } public static bool operator !=(Quaternion left, Quaternion right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Quaternion. /// /// public override string ToString() { return String.Format("V: {0}, W: {1}", Xyz, W); } #endregion #region public override bool Equals (object o) /// /// Compares this object instance to another object for equality. /// /// The other object to be used in the comparison. /// True if both objects are Quaternions of equal value. Otherwise it returns false. public override bool Equals(object other) { if (other is Quaternion == false) return false; return this == (Quaternion)other; } #endregion #region public override int GetHashCode () /// /// Provides the hash code for this object. /// /// A hash code formed from the bitwise XOR of this objects members. public override int GetHashCode() { return Xyz.GetHashCode() ^ W.GetHashCode(); } #endregion #endregion #endregion #region IEquatable Members /// /// Compares this Quaternion instance to another Quaternion for equality. /// /// The other Quaternion to be used in the comparison. /// True if both instances are equal; false otherwise. public bool Equals(Quaternion other) { return Xyz == other.Xyz && W == other.W; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Matrix4.cs0000664000175000017500000013474411453131430021377 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK.Math { /// /// Represents a 4x4 Matrix /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix4 : IEquatable { #region Fields /// /// Top row of the matrix /// public Vector4 Row0; /// /// 2nd row of the matrix /// public Vector4 Row1; /// /// 3rd row of the matrix /// public Vector4 Row2; /// /// Bottom row of the matrix /// public Vector4 Row3; /// /// The identity matrix /// public static Matrix4 Identity = new Matrix4(Vector4.UnitX, Vector4.UnitY, Vector4.UnitZ, Vector4.UnitW); #endregion #region Constructors /// /// Constructs a new instance. /// /// Top row of the matrix /// Second row of the matrix /// Third row of the matrix /// Bottom row of the matrix public Matrix4(Vector4 row0, Vector4 row1, Vector4 row2, Vector4 row3) { Row0 = row0; Row1 = row1; Row2 = row2; Row3 = row3; } /// /// Constructs a new instance. /// /// First item of the first row of the matrix. /// Second item of the first row of the matrix. /// Third item of the first row of the matrix. /// Fourth item of the first row of the matrix. /// First item of the second row of the matrix. /// Second item of the second row of the matrix. /// Third item of the second row of the matrix. /// Fourth item of the second row of the matrix. /// First item of the third row of the matrix. /// Second item of the third row of the matrix. /// Third item of the third row of the matrix. /// First item of the third row of the matrix. /// Fourth item of the fourth row of the matrix. /// Second item of the fourth row of the matrix. /// Third item of the fourth row of the matrix. /// Fourth item of the fourth row of the matrix. public Matrix4( float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) { Row0 = new Vector4(m00, m01, m02, m03); Row1 = new Vector4(m10, m11, m12, m13); Row2 = new Vector4(m20, m21, m22, m23); Row3 = new Vector4(m30, m31, m32, m33); } #endregion #region Public Members #region Properties /// /// The determinant of this matrix /// public float Determinant { get { return Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X; } } /// /// The first column of this matrix /// public Vector4 Column0 { get { return new Vector4(Row0.X, Row1.X, Row2.X, Row3.X); } } /// /// The second column of this matrix /// public Vector4 Column1 { get { return new Vector4(Row0.Y, Row1.Y, Row2.Y, Row3.Y); } } /// /// The third column of this matrix /// public Vector4 Column2 { get { return new Vector4(Row0.Z, Row1.Z, Row2.Z, Row3.Z); } } /// /// The fourth column of this matrix /// public Vector4 Column3 { get { return new Vector4(Row0.W, Row1.W, Row2.W, Row3.W); } } /// /// Gets or sets the value at row 1, column 1 of this instance. /// public float M11 { get { return Row0.X; } set { Row0.X = value; } } /// /// Gets or sets the value at row 1, column 2 of this instance. /// public float M12 { get { return Row0.Y; } set { Row0.Y = value; } } /// /// Gets or sets the value at row 1, column 3 of this instance. /// public float M13 { get { return Row0.Z; } set { Row0.Z = value; } } /// /// Gets or sets the value at row 1, column 4 of this instance. /// public float M14 { get { return Row0.W; } set { Row0.W = value; } } /// /// Gets or sets the value at row 2, column 1 of this instance. /// public float M21 { get { return Row1.X; } set { Row1.X = value; } } /// /// Gets or sets the value at row 2, column 2 of this instance. /// public float M22 { get { return Row1.Y; } set { Row1.Y = value; } } /// /// Gets or sets the value at row 2, column 3 of this instance. /// public float M23 { get { return Row1.Z; } set { Row1.Z = value; } } /// /// Gets or sets the value at row 2, column 4 of this instance. /// public float M24 { get { return Row1.W; } set { Row1.W = value; } } /// /// Gets or sets the value at row 3, column 1 of this instance. /// public float M31 { get { return Row2.X; } set { Row2.X = value; } } /// /// Gets or sets the value at row 3, column 2 of this instance. /// public float M32 { get { return Row2.Y; } set { Row2.Y = value; } } /// /// Gets or sets the value at row 3, column 3 of this instance. /// public float M33 { get { return Row2.Z; } set { Row2.Z = value; } } /// /// Gets or sets the value at row 3, column 4 of this instance. /// public float M34 { get { return Row2.W; } set { Row2.W = value; } } /// /// Gets or sets the value at row 4, column 1 of this instance. /// public float M41 { get { return Row3.X; } set { Row3.X = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public float M42 { get { return Row3.Y; } set { Row3.Y = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public float M43 { get { return Row3.Z; } set { Row3.Z = value; } } /// /// Gets or sets the value at row 4, column 4 of this instance. /// public float M44 { get { return Row3.W; } set { Row3.W = value; } } #endregion #region Instance #region public void Invert() public void Invert() { this = Matrix4.Invert(this); } #endregion #region public void Transpose() /// /// Calculates the transpose of this instance. /// public void Transpose() { this = Matrix4.Transpose(this); } #endregion #endregion #region Static #region CreateFromAxisAngle /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static void CreateFromAxisAngle(Vector3 axis, float angle, out Matrix4 result) { float cos = (float)System.Math.Cos(-angle); float sin = (float)System.Math.Sin(-angle); float t = 1.0f - cos; axis.Normalize(); result = new Matrix4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f, t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f, t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f, 0, 0, 0, 1); } /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static Matrix4 CreateFromAxisAngle(Vector3 axis, float angle) { Matrix4 result; CreateFromAxisAngle(axis, angle, out result); return result; } #endregion #region CreateTranslation /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4 instance. public static void CreateTranslation(float x, float y, float z, out Matrix4 result) { result = Identity; result.Row3 = new Vector4(x, y, z, 1); } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4 instance. public static void CreateTranslation(ref Vector3 vector, out Matrix4 result) { result = Identity; result.Row3 = new Vector4(vector.X, vector.Y, vector.Z, 1); } /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4 instance. public static Matrix4 CreateTranslation(float x, float y, float z) { Matrix4 result; CreateTranslation(x, y, z, out result); return result; } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4 instance. public static Matrix4 CreateTranslation(Vector3 vector) { Matrix4 result; CreateTranslation(vector.X, vector.Y, vector.Z, out result); return result; } #endregion #region CreateOrthographic /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static void CreateOrthographic(float width, float height, float zNear, float zFar, out Matrix4 result) { CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); } /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static Matrix4 CreateOrthographic(float width, float height, float zNear, float zFar) { Matrix4 result; CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); return result; } #endregion #region CreateOrthographicOffCenter /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static void CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) { result = new Matrix4(); float invRL = 1 / (right - left); float invTB = 1 / (top - bottom); float invFN = 1 / (zFar - zNear); result.M11 = 2 * invRL; result.M22 = 2 * invTB; result.M33 = -2 * invFN; result.M41 = -(right + left) * invRL; result.M42 = -(top + bottom) * invTB; result.M43 = -(zFar + zNear) * invFN; result.M44 = 1; } /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static Matrix4 CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar) { Matrix4 result; CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveFieldOfView /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar, out Matrix4 result) { if (fovy <= 0 || fovy > System.Math.PI) throw new ArgumentOutOfRangeException("fovy"); if (aspect <= 0) throw new ArgumentOutOfRangeException("aspect"); if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); float yMax = zNear * (float)System.Math.Tan(0.5f * fovy); float yMin = -yMax; float xMin = yMin * aspect; float xMax = yMax * aspect; CreatePerspectiveOffCenter(xMin, xMax, yMin, yMax, zNear, zFar, out result); } /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4 CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar) { Matrix4 result; CreatePerspectiveFieldOfView(fovy, aspect, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveOffCenter /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) { if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); float x = (2.0f * zNear) / (right - left); float y = (2.0f * zNear) / (top - bottom); float a = (right + left) / (right - left); float b = (top + bottom) / (top - bottom); float c = -(zFar + zNear) / (zFar - zNear); float d = -(2.0f * zFar * zNear) / (zFar - zNear); result = new Matrix4(x, 0, 0, 0, 0, y, 0, 0, a, b, c, -1, 0, 0, d, 0); } /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4 CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar) { Matrix4 result; CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region Obsolete Functions #region Translation Functions /// /// Builds a translation matrix. /// /// The translation vector. /// A new Matrix4 instance. [Obsolete("Use CreateTranslation instead.")] public static Matrix4 Translation(Vector3 trans) { return Translation(trans.X, trans.Y, trans.Z); } /// /// Build a translation matrix with the given translation /// /// X translation /// Y translation /// Z translation /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4 Translation(float x, float y, float z) { Matrix4 result = Identity; result.Row3 = new Vector4(x, y, z, 1.0f); return result; } #endregion #endregion #region Scale Functions /// /// Build a scaling matrix /// /// Single scale factor for x,y and z axes /// A scaling matrix public static Matrix4 Scale(float scale) { return Scale(scale, scale, scale); } /// /// Build a scaling matrix /// /// Scale factors for x,y and z axes /// A scaling matrix public static Matrix4 Scale(Vector3 scale) { return Scale(scale.X, scale.Y, scale.Z); } /// /// Build a scaling matrix /// /// Scale factor for x-axis /// Scale factor for y-axis /// Scale factor for z-axis /// A scaling matrix public static Matrix4 Scale(float x, float y, float z) { Matrix4 result; result.Row0 = Vector4.UnitX * x; result.Row1 = Vector4.UnitY * y; result.Row2 = Vector4.UnitZ * z; result.Row3 = Vector4.UnitW; return result; } #endregion #region Rotation Functions /// /// Build a rotation matrix that rotates about the x-axis /// /// angle in radians to rotate counter-clockwise around the x-axis /// A rotation matrix [Obsolete("Use CreateRotationX instead.")] public static Matrix4 RotateX(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = Vector4.UnitX; result.Row1 = new Vector4(0.0f, cos, sin, 0.0f); result.Row2 = new Vector4(0.0f, -sin, cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix that rotates about the y-axis /// /// angle in radians to rotate counter-clockwise around the y-axis /// A rotation matrix [Obsolete("Use CreateRotationY instead.")] public static Matrix4 RotateY(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = new Vector4(cos, 0.0f, -sin, 0.0f); result.Row1 = Vector4.UnitY; result.Row2 = new Vector4(sin, 0.0f, cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix that rotates about the z-axis /// /// angle in radians to rotate counter-clockwise around the z-axis /// A rotation matrix [Obsolete("Use CreateRotationZ instead.")] public static Matrix4 RotateZ(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = new Vector4(cos, sin, 0.0f, 0.0f); result.Row1 = new Vector4(-sin, cos, 0.0f, 0.0f); result.Row2 = Vector4.UnitZ; result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix to rotate about the given axis /// /// the axis to rotate about /// angle in radians to rotate counter-clockwise (looking in the direction of the given axis) /// A rotation matrix [Obsolete("Use CreateFromAxisAngle instead.")] public static Matrix4 Rotate(Vector3 axis, float angle) { float cos = (float)System.Math.Cos(-angle); float sin = (float)System.Math.Sin(-angle); float t = 1.0f - cos; axis.Normalize(); Matrix4 result; result.Row0 = new Vector4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f); result.Row1 = new Vector4(t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f); result.Row2 = new Vector4(t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix from a quaternion /// /// the quaternion /// A rotation matrix public static Matrix4 Rotate(Quaternion q) { Vector3 axis; float angle; q.ToAxisAngle(out axis, out angle); return Rotate(axis, angle); } #endregion #region Camera Helper Functions /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4 LookAt(Vector3 eye, Vector3 target, Vector3 up) { Vector3 z = Vector3.Normalize(eye - target); Vector3 x = Vector3.Normalize(Vector3.Cross(up, z)); Vector3 y = Vector3.Normalize(Vector3.Cross(z, x)); Matrix4 rot = new Matrix4(new Vector4(x.X, y.X, z.X, 0.0f), new Vector4(x.Y, y.Y, z.Y, 0.0f), new Vector4(x.Z, y.Z, z.Z, 0.0f), Vector4.UnitW); Matrix4 trans = Matrix4.CreateTranslation(-eye); return trans * rot; } /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Eye (camera) position in world space /// Eye (camera) position in world space /// Target position in world space /// Target position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4 LookAt(float eyeX, float eyeY, float eyeZ, float targetX, float targetY, float targetZ, float upX, float upY, float upZ) { return LookAt(new Vector3(eyeX, eyeY, eyeZ), new Vector3(targetX, targetY, targetZ), new Vector3(upX, upY, upZ)); } /// /// Build a projection matrix /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space [Obsolete("Use CreatePerspectiveOffCenter instead.")] public static Matrix4 Frustum(float left, float right, float bottom, float top, float near, float far) { float invRL = 1.0f / (right - left); float invTB = 1.0f / (top - bottom); float invFN = 1.0f / (far - near); return new Matrix4(new Vector4(2.0f * near * invRL, 0.0f, 0.0f, 0.0f), new Vector4(0.0f, 2.0f * near * invTB, 0.0f, 0.0f), new Vector4((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0f), new Vector4(0.0f, 0.0f, -2.0f * far * near * invFN, 0.0f)); } /// /// Build a projection matrix /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space [Obsolete("Use CreatePerspectiveFieldOfView instead.")] public static Matrix4 Perspective(float fovy, float aspect, float near, float far) { float yMax = near * (float)System.Math.Tan(0.5f * fovy); float yMin = -yMax; float xMin = yMin * aspect; float xMax = yMax * aspect; return Frustum(xMin, xMax, yMin, yMax, near, far); } #endregion #region Multiply Functions /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static Matrix4 Mult(Matrix4 left, Matrix4 right) { Matrix4 result; Mult(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static void Mult(ref Matrix4 left, ref Matrix4 right, out Matrix4 result) { result = new Matrix4( left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41, left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42, left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43, left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44, left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41, left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42, left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43, left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44, left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41, left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42, left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43, left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44, left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41, left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42, left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43, left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44); } #endregion #region Invert Functions /// /// Calculate the inverse of the given matrix /// /// The matrix to invert /// The inverse of the given matrix if it has one, or the input if it is singular /// Thrown if the Matrix4 is singular. public static Matrix4 Invert(Matrix4 mat) { int[] colIdx = { 0, 0, 0, 0 }; int[] rowIdx = { 0, 0, 0, 0 }; int[] pivotIdx = { -1, -1, -1, -1 }; // convert the matrix to an array for easy looping float[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} }; int icol = 0; int irow = 0; for (int i = 0; i < 4; i++) { // Find the largest pivot value float maxPivot = 0.0f; for (int j = 0; j < 4; j++) { if (pivotIdx[j] != 0) { for (int k = 0; k < 4; ++k) { if (pivotIdx[k] == -1) { float absVal = System.Math.Abs(inverse[j, k]); if (absVal > maxPivot) { maxPivot = absVal; irow = j; icol = k; } } else if (pivotIdx[k] > 0) { return mat; } } } } ++(pivotIdx[icol]); // Swap rows over so pivot is on diagonal if (irow != icol) { for (int k = 0; k < 4; ++k) { float f = inverse[irow, k]; inverse[irow, k] = inverse[icol, k]; inverse[icol, k] = f; } } rowIdx[i] = irow; colIdx[i] = icol; float pivot = inverse[icol, icol]; // check for singular matrix if (pivot == 0.0f) { throw new InvalidOperationException("Matrix is singular and cannot be inverted."); //return mat; } // Scale row so it has a unit diagonal float oneOverPivot = 1.0f / pivot; inverse[icol, icol] = 1.0f; for (int k = 0; k < 4; ++k) inverse[icol, k] *= oneOverPivot; // Do elimination of non-diagonal elements for (int j = 0; j < 4; ++j) { // check this isn't on the diagonal if (icol != j) { float f = inverse[j, icol]; inverse[j, icol] = 0.0f; for (int k = 0; k < 4; ++k) inverse[j, k] -= inverse[icol, k] * f; } } } for (int j = 3; j >= 0; --j) { int ir = rowIdx[j]; int ic = colIdx[j]; for (int k = 0; k < 4; ++k) { float f = inverse[k, ir]; inverse[k, ir] = inverse[k, ic]; inverse[k, ic] = f; } } mat.Row0 = new Vector4(inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]); mat.Row1 = new Vector4(inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]); mat.Row2 = new Vector4(inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]); mat.Row3 = new Vector4(inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]); return mat; } #endregion #region Transpose /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The transpose of the given matrix public static Matrix4 Transpose(Matrix4 mat) { return new Matrix4(mat.Column0, mat.Column1, mat.Column2, mat.Column3); } /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The result of the calculation public static void Transpose(ref Matrix4 mat, out Matrix4 result) { result.Row0 = mat.Column0; result.Row1 = mat.Column1; result.Row2 = mat.Column2; result.Row3 = mat.Column3; } #endregion #endregion #region Operators /// /// Matrix multiplication /// /// left-hand operand /// right-hand operand /// A new Matrix44 which holds the result of the multiplication public static Matrix4 operator *(Matrix4 left, Matrix4 right) { return Matrix4.Mult(left, right); } public static bool operator ==(Matrix4 left, Matrix4 right) { return left.Equals(right); } public static bool operator !=(Matrix4 left, Matrix4 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Matrix44. /// /// public override string ToString() { return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare tresult. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Matrix4)) return false; return this.Equals((Matrix4)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current matrix is equal to another matrix. /// An matrix to compare with this matrix. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(Matrix4 other) { return Row0 == other.Row0 && Row1 == other.Row1 && Row2 == other.Row2 && Row3 == other.Row3; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Vector4.cs0000664000175000017500000010035011453131430021357 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK.Math { /// Represents a 4D vector using four single-precision floating-point numbers. /// /// The Vector4 structure is suitable for interoperation with unmanaged code requiring four consecutive floats. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector4 : IEquatable { #region Fields /// /// The X component of the Vector4. /// public float X; /// /// The Y component of the Vector4. /// public float Y; /// /// The Z component of the Vector4. /// public float Z; /// /// The W component of the Vector4. /// public float W; /// /// Defines a unit-length Vector4 that points towards the X-axis. /// public static Vector4 UnitX = new Vector4(1, 0, 0, 0); /// /// Defines a unit-length Vector4 that points towards the Y-axis. /// public static Vector4 UnitY = new Vector4(0, 1, 0, 0); /// /// Defines a unit-length Vector4 that points towards the Z-axis. /// public static Vector4 UnitZ = new Vector4(0, 0, 1, 0); /// /// Defines a unit-length Vector4 that points towards the W-axis. /// public static Vector4 UnitW = new Vector4(0, 0, 0, 1); /// /// Defines a zero-length Vector4. /// public static Vector4 Zero = new Vector4(0, 0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector4 One = new Vector4(1, 1, 1, 1); /// /// Defines the size of the Vector4 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4()); #endregion #region Constructors /// /// Constructs a new Vector4. /// /// The x component of the Vector4. /// The y component of the Vector4. /// The z component of the Vector4. /// The w component of the Vector4. public Vector4(float x, float y, float z, float w) { X = x; Y = y; Z = z; W = w; } /// /// Constructs a new Vector4 from the given Vector2. /// /// The Vector2 to copy components from. public Vector4(Vector2 v) { X = v.X; Y = v.Y; Z = 0.0f; W = 0.0f; } /// /// Constructs a new Vector4 from the given Vector3. /// /// The Vector3 to copy components from. public Vector4(Vector3 v) { X = v.X; Y = v.Y; Z = v.Z; W = 0.0f; } /// /// Constructs a new Vector4 from the specified Vector3 and w component. /// /// The Vector3 to copy components from. /// The w component of the new Vector4. public Vector4(Vector3 v, float w) { X = v.X; Y = v.Y; Z = v.Z; W = w; } /// /// Constructs a new Vector4 from the given Vector4. /// /// The Vector4 to copy components from. public Vector4(Vector4 v) { X = v.X; Y = v.Y; Z = v.Z; W = v.W; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add( Vector4 right ) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add( ref Vector4 right ) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub( Vector4 right ) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub( ref Vector4 right ) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult( float f ) { this.X *= f; this.Y *= f; this.Z *= f; this.W *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div( float f ) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; this.Z *= mult; this.W *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y + Z * Z + W * W; } } #endregion #region public void Normalize() /// /// Scales the Vector4 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector4 to approximately unit length. /// public void NormalizeFast() { float scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector4 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. /// The scale of the Z component. public void Scale( float sx, float sy, float sz, float sw ) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; this.W = W * sw; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale( Vector4 scale ) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale( ref Vector4 scale ) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } #endregion public void Scale() #endregion #region Static #region Add /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static Vector4 Add(Vector4 a, Vector4 b) { a.X += b.X; a.Y += b.Y; a.Z += b.Z; a.W += b.W; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; result.Z = a.Z + b.Z; result.W = a.W + b.W; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector4 Sub(Vector4 a, Vector4 b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; a.W -= b.W; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; result.W = a.W - b.W; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector4 Mult(Vector4 a, float f) { a.X *= f; a.Y *= f; a.Z *= f; a.W *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector4 a, float f, out Vector4 result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; result.W = a.W * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector4 Div(Vector4 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; a.W *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector4 a, float f, out Vector4 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; result.W = a.W * mult; } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector4 Min(Vector4 a, Vector4 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; a.W = a.W < b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; result.W = a.W < b.W ? a.W : b.W; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector4 Max(Vector4 a, Vector4 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; a.W = a.W > b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; result.W = a.W > b.W ? a.W : b.W; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector4 vec, ref Vector4 min, ref Vector4 max, out Vector4 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector4 Normalize(Vector4 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector4 vec, out Vector4 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector4 NormalizeFast(Vector4 vec) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector4 vec, out Vector4 result) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region Dot /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector4 left, Vector4 right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot( ref Vector4 left, ref Vector4 right, out float result ) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector4 Lerp(Vector4 a, Vector4 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; a.W = blend * (b.W - a.W) + a.W; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp( ref Vector4 a, ref Vector4 b, float blend, out Vector4 result ) { result.X = blend * ( b.X - a.X ) + a.X; result.Y = blend * ( b.Y - a.Y ) + a.Y; result.Z = blend * ( b.Z - a.Z ) + a.Z; result.W = blend * ( b.W - a.W ) + a.W; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric( ref Vector4 a, ref Vector4 b, ref Vector4 c, float u, float v, out Vector4 result ) { result = a; // copy Vector4 temp = b; // copy temp.Sub( ref a ); temp.Mult( u ); result.Add( ref temp ); temp = c; // copy temp.Sub( ref a ); temp.Mult( v ); result.Add( ref temp ); } #endregion #region Transform /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4 Transform(Vector4 vec, Matrix4 mat) { Vector4 result; result.X = Vector4.Dot(vec, mat.Column0); result.Y = Vector4.Dot(vec, mat.Column1); result.Z = Vector4.Dot(vec, mat.Column2); result.W = Vector4.Dot(vec, mat.Column3); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform( ref Vector4 vec, ref Matrix4 mat, out Vector4 result ) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X + vec.W * mat.Row3.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y + vec.W * mat.Row3.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z + vec.W * mat.Row3.Z; result.W = vec.X * mat.Row0.W + vec.Y * mat.Row1.W + vec.Z * mat.Row2.W + vec.W * mat.Row3.W; } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. /// [XmlIgnore] public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3 Xyz { get { return new Vector3(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Operators public static Vector4 operator +(Vector4 left, Vector4 right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; left.W += right.W; return left; } public static Vector4 operator -(Vector4 left, Vector4 right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; left.W -= right.W; return left; } public static Vector4 operator -(Vector4 vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; vec.W = -vec.W; return vec; } public static Vector4 operator *(Vector4 vec, float f) { vec.X *= f; vec.Y *= f; vec.Z *= f; vec.W *= f; return vec; } public static Vector4 operator *(float f, Vector4 vec) { vec.X *= f; vec.Y *= f; vec.Z *= f; vec.W *= f; return vec; } public static Vector4 operator /(Vector4 vec, float f) { float mult = 1.0f / f; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; vec.W *= mult; return vec; } public static bool operator ==(Vector4 left, Vector4 right) { return left.Equals(right); } public static bool operator !=(Vector4 left, Vector4 right) { return !left.Equals(right); } [CLSCompliant(false)] unsafe public static explicit operator float*(Vector4 v) { return &v.X; } public static explicit operator IntPtr(Vector4 v) { unsafe { return (IntPtr)(&v.X); } } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector4. /// /// public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector4)) return false; return this.Equals((Vector4)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector4 other) { return X == other.X && Y == other.Y && Z == other.Z && W == other.W; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Box2.cs0000664000175000017500000000655411453131430020656 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace OpenTK.Math { /// /// Defines a 2d box (rectangle). /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [StructLayout(LayoutKind.Sequential)] public struct Box2 { /// /// The left boundary of the structure. /// public float Left; /// /// The right boundary of the structure. /// public float Right; /// /// The top boundary of the structure. /// public float Top; /// /// The bottom boundary of the structure. /// public float Bottom; /// /// Constructs a new Box2 with the specified dimensions. /// /// AnOpenTK.Vector2 describing the top-left corner of the Box2. /// An OpenTK.Vector2 describing the bottom-right corner of the Box2. public Box2(Vector2 topLeft, Vector2 bottomRight) { Left = topLeft.X; Top = topLeft.Y; Right = topLeft.X; Bottom = topLeft.Y; } /// /// Constructs a new Box2 with the specified dimensions. /// /// The position of the left boundary. /// The position of the top boundary. /// The position of the right boundary. /// The position of the bottom boundary. public Box2(float left, float top, float right, float bottom) { Left = left; Top = top; Right = right; Bottom = bottom; } /// /// Creates a new Box2 with the specified dimensions. /// /// The position of the top boundary. /// The position of the left boundary. /// The position of the right boundary. /// The position of the bottom boundary. /// A new OpenTK.Box2 with the specfied dimensions. public static Box2 FromTLRB(float top, float left, float right, float bottom) { return new Box2(left, top, right, bottom); } /// /// Gets a float describing the width of the Box2 structure. /// public float Width { get { return (float)System.Math.Abs(Right - Left); } } /// /// Gets a float describing the height of the Box2 structure. /// public float Height { get { return (float)System.Math.Abs(Bottom - Top); } } public override string ToString() { return String.Format("({0},{1})-({2},{3})", Left, Top, Right, Bottom); } } } opentk-1.0.20101006/Source/Compatibility/Math/BezierCurveQuadric.cs0000664000175000017500000001216211453131430023572 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Math { /// /// Represents a quadric bezier curve with two anchor and one control point. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] public struct BezierCurveQuadric { #region Fields /// /// Start anchor point. /// public Vector2 StartAnchor; /// /// End anchor point. /// public Vector2 EndAnchor; /// /// Control point, controls the direction of both endings of the curve. /// public Vector2 ControlPoint; /// /// The parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.f to the orignal curve at any point. public float Parallel; #endregion #region Constructors /// /// Constructs a new . /// /// The start anchor. /// The end anchor. /// The control point. public BezierCurveQuadric(Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint) { this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.ControlPoint = controlPoint; this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The start anchor. /// The end anchor. /// The control point. public BezierCurveQuadric(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint) { this.Parallel = parallel; this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.ControlPoint = controlPoint; } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (c * c * StartAnchor.X) + (2 * t * c * ControlPoint.X) + (t * t * EndAnchor.X); r.Y = (c * c * StartAnchor.Y) + (2 * t * c * ControlPoint.Y) + (t * t * EndAnchor.Y); if (Parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t == 0.0f) perpendicular = ControlPoint - StartAnchor; else perpendicular = r - CalculatePointOfDerivative(t); return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel; } /// /// Calculates the point with the specified t of the derivative of this function. /// /// The t, value between 0.0f and 1.0f. /// Resulting point. private Vector2 CalculatePointOfDerivative(float t) { Vector2 r = new Vector2(); r.X = (1.0f - t) * StartAnchor.X + t * ControlPoint.X; r.Y = (1.0f - t) * StartAnchor.Y + t * ControlPoint.Y; return r; } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of curve. /// The precision gets better when the /// value gets smaller. public float CalculateLength(float precision) { float length = 0.0f; Vector2 old = CalculatePoint(0.0f); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(i); length += (n - old).Length; old = n; } return length; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Functions.cs0000664000175000017500000003116011453131430022003 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Andy Gill, James Talton and Georg Wächter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Math { /// /// Contains mathematical functions for the OpenTK.Math toolkit. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] public static class Functions { #region public static long NextPowerOfTwo(long n) /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static long NextPowerOfTwo(long n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (long)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion #region public static int NextPowerOfTwo(int n) /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static int NextPowerOfTwo(int n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (int)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion #region public static int NextPowerOfTwo(int n) /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static float NextPowerOfTwo(float n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (float)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion #region public static int NextPowerOfTwo(int n) /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static double NextPowerOfTwo(double n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion /// Calculates the factorial of a given natural number. /// /// The number. /// n! public static long Factorial(int n) { long result = 1; for (; n > 1; n--) result *= n; return result; } /// /// Calculates the binomial coefficient above . /// /// The n. /// The k. /// n! / (k! * (n - k)!) public static long BinomialCoefficient(int n, int k) { return Factorial(n) / (Factorial(k) * Factorial(n - k)); } /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static float InverseSqrtFast(float x) { unsafe { float xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } } /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static double InverseSqrtFast(double x) { return InverseSqrtFast((float)x); // TODO: The following code is wrong. Fix it, to improve precision. #if false unsafe { double xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } #endif } /// /// Convert degrees to radians /// /// An angle in degrees /// The angle expressed in radians public static float DegreesToRadians(float degrees) { const float degToRad = (float)System.Math.PI / 180.0f; return degrees * degToRad; } /// /// Convert radians to degrees /// /// An angle in radians /// The angle expressed in degrees public static float RadiansToDegrees(float radians) { const float radToDeg = 180.0f / (float)System.Math.PI; return radians * radToDeg; } public static readonly float PIF = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382f; public static readonly float RTODF = 180.0f / PIF; public static readonly float DTORF = PIF / 180.0f; public static readonly double PI = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382d; public static readonly double RTOD = 180.0d / PIF; public static readonly double DTOR = PIF / 180.0d; public static void Swap(ref double a, ref double b) { double temp = a; a = b; b = temp; } public static void Swap(ref float a, ref float b) { float temp = a; a = b; b = temp; } } #if false public static partial class Math { #region --- Vectors --- #region --- Addition --- /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector2 Add(Vector2 left, Vector2 right) { return new Vector2(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector2 left, Vector3 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector2 left, Vector4 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector3 left, Vector2 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector3 left, Vector3 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector3 left, Vector4 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector2 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector3 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector4 right) { return new Vector4(left).Add(right); } #endregion #region --- Subtraction --- #endregion #region --- Cross --- /// /// Computes the cross product between the current and the given Vector3. The current Vector3 is set to the result of the computation. /// /// The right operand of the cross product /// The current public static Vector3 Cross(Vector3 left, Vector3 right) { return new Vector3(left).Cross(right); } #endregion #endregion } #endif } opentk-1.0.20101006/Source/Compatibility/Math/BezierCurveCubic.cs0000664000175000017500000001371611453131430023235 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Math { /// /// Represents a cubic bezier curve with two anchor and two control points. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] public struct BezierCurveCubic { #region Fields /// /// Start anchor point. /// public Vector2 StartAnchor; /// /// End anchor point. /// public Vector2 EndAnchor; /// /// First control point, controls the direction of the curve start. /// public Vector2 FirstControlPoint; /// /// Second control point, controls the direction of the curve end. /// public Vector2 SecondControlPoint; /// /// Gets or sets the parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.f to the orignal curve at any point. public float Parallel; #endregion #region Constructors /// /// Constructs a new . /// /// The start anchor point. /// The end anchor point. /// The first control point. /// The second control point. public BezierCurveCubic(Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint) { this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.FirstControlPoint = firstControlPoint; this.SecondControlPoint = secondControlPoint; this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The start anchor point. /// The end anchor point. /// The first control point. /// The second control point. public BezierCurveCubic(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint) { this.Parallel = parallel; this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.FirstControlPoint = firstControlPoint; this.SecondControlPoint = secondControlPoint; } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (StartAnchor.X * c * c * c) + (FirstControlPoint.X * 3 * t * c * c) + (SecondControlPoint.X * 3 * t * t * c) + EndAnchor.X * t * t * t; r.Y = (StartAnchor.Y * c * c * c) + (FirstControlPoint.Y * 3 * t * c * c) + (SecondControlPoint.Y * 3 * t * t * c) + EndAnchor.Y * t * t * t; if (Parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t == 0.0f) perpendicular = FirstControlPoint - StartAnchor; else perpendicular = r - CalculatePointOfDerivative(t); return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel; } /// /// Calculates the point with the specified t of the derivative of this function. /// /// The t, value between 0.0f and 1.0f. /// Resulting point. private Vector2 CalculatePointOfDerivative(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (c * c * StartAnchor.X) + (2 * t * c * FirstControlPoint.X) + (t * t * SecondControlPoint.X); r.Y = (c * c * StartAnchor.Y) + (2 * t * c * FirstControlPoint.Y) + (t * t * SecondControlPoint.Y); return r; } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of the curve. /// The precision gets better when the /// value gets smaller. public float CalculateLength(float precision) { float length = 0.0f; Vector2 old = CalculatePoint(0.0f); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(i); length += (n - old).Length; old = n; } return length; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Vector3.cs0000664000175000017500000011754411453131430021373 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK.Math { /// /// Represents a 3D vector using three single-precision floating-point numbers. /// /// /// The Vector3 structure is suitable for interoperation with unmanaged code requiring three consecutive floats. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector3 : IEquatable { #region Fields /// /// The X component of the Vector3. /// public float X; /// /// The Y component of the Vector3. /// public float Y; /// /// The Z component of the Vector3. /// public float Z; #endregion #region Constructors /// /// Constructs a new Vector3. /// /// The x component of the Vector3. /// The y component of the Vector3. /// The z component of the Vector3. public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; } /// /// Constructs a new Vector3 from the given Vector2. /// /// The Vector2 to copy components from. public Vector3(Vector2 v) { X = v.X; Y = v.Y; Z = 0.0f; } /// /// Constructs a new Vector3 from the given Vector3. /// /// The Vector3 to copy components from. public Vector3(Vector3 v) { X = v.X; Y = v.Y; Z = v.Z; } /// /// Constructs a new Vector3 from the given Vector4. /// /// The Vector4 to copy components from. public Vector3(Vector4 v) { X = v.X; Y = v.Y; Z = v.Z; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. public void Add(Vector3 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Add(ref Vector3 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. public void Sub(Vector3 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] public void Sub(ref Vector3 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. public void Mult(float f) { this.X *= f; this.Y *= f; this.Z *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. public void Div(float f) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; this.Z *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y + Z * Z; } } #endregion #region public void Normalize() /// /// Scales the Vector3 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector3 to approximately unit length. /// public void NormalizeFast() { float scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z); X *= scale; Y *= scale; Z *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector3 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. public void Scale(float sx, float sy, float sz) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; } /// Scales this instance by the given parameter. /// The scaling of the individual components. public void Scale(Vector3 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] public void Scale(ref Vector3 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector3 that points towards the X-axis. /// public static readonly Vector3 UnitX = new Vector3(1, 0, 0); /// /// Defines a unit-length Vector3 that points towards the Y-axis. /// public static readonly Vector3 UnitY = new Vector3(0, 1, 0); /// /// /// Defines a unit-length Vector3 that points towards the Z-axis. /// public static readonly Vector3 UnitZ = new Vector3(0, 0, 1); /// /// Defines a zero-length Vector3. /// public static readonly Vector3 Zero = new Vector3(0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector3 One = new Vector3(1, 1, 1); /// /// Defines the size of the Vector3 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3()); #endregion #region Add /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static Vector3 Add(Vector3 a, Vector3 b) { a.X += b.X; a.Y += b.Y; a.Z += b.Z; return a; } /// /// Add two Vectors /// /// First operand /// Second operand /// Result of addition public static void Add(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X + b.X; result.Y = a.Y + b.Y; result.Z = a.Z + b.Z; } #endregion #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector3 Sub(Vector3 a, Vector3 b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector3 Mult(Vector3 a, float f) { a.X *= f; a.Y *= f; a.Z *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector3 a, float f, out Vector3 result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector3 Div(Vector3 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector3 a, float f, out Vector3 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector3 ComponentMin(Vector3 a, Vector3 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector3 ComponentMax(Vector3 a, Vector3 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; } #endregion #region Min /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3 Min(Vector3 left, Vector3 right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3 Max(Vector3 left, Vector3 right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector3 vec, ref Vector3 min, ref Vector3 max, out Vector3 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector3 Normalize(Vector3 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector3 vec, out Vector3 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector3 NormalizeFast(Vector3 vec) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector3 vec, out Vector3 result) { float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector3 left, Vector3 right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector3 left, ref Vector3 right, out float result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z; } #endregion #region Cross /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs public static Vector3 Cross(Vector3 left, Vector3 right) { return new Vector3(left.Y * right.Z - left.Z * right.Y, left.Z * right.X - left.X * right.Z, left.X * right.Y - left.Y * right.X); } /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs /// The cross product of the two inputs public static void Cross(ref Vector3 left, ref Vector3 right, out Vector3 result) { result.X = left.Y * right.Z - left.Z * right.Y; result.Y = left.Z * right.X - left.X * right.Z; result.Z = left.X * right.Y - left.Y * right.X; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector3 Lerp(Vector3 a, Vector3 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector3 a, ref Vector3 b, float blend, out Vector3 result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector3 a, ref Vector3 b, ref Vector3 c, float u, float v, out Vector3 result) { result = a; // copy Vector3 temp = b; // copy temp.Sub(ref a); temp.Mult(u); result.Add(ref temp); temp = c; // copy temp.Sub(ref a); temp.Mult(v); result.Add(ref temp); } #endregion #region Transform /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3 TransformVector(Vector3 vec, Matrix4 mat) { Vector3 v; v.X = Vector3.Dot(vec, new Vector3(mat.Column0)); v.Y = Vector3.Dot(vec, new Vector3(mat.Column1)); v.Z = Vector3.Dot(vec, new Vector3(mat.Column2)); return v; } /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformVector(ref Vector3 vec, ref Matrix4 mat, out Vector3 result) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z; } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static Vector3 TransformNormal(Vector3 norm, Matrix4 mat) { mat.Invert(); return TransformNormalInverse(norm, mat); } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static void TransformNormal(ref Vector3 norm, ref Matrix4 mat, out Vector3 result) { Matrix4 Inverse = Matrix4.Invert(mat); Vector3.TransformNormalInverse(ref norm, ref Inverse, out result); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4 invMat) { Vector3 n; n.X = Vector3.Dot(norm, new Vector3(invMat.Row0)); n.Y = Vector3.Dot(norm, new Vector3(invMat.Row1)); n.Z = Vector3.Dot(norm, new Vector3(invMat.Row2)); return n; } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static void TransformNormalInverse(ref Vector3 norm, ref Matrix4 invMat, out Vector3 result) { result.X = norm.X * invMat.Row0.X + norm.Y * invMat.Row0.Y + norm.Z * invMat.Row0.Z; result.Y = norm.X * invMat.Row1.X + norm.Y * invMat.Row1.Y + norm.Z * invMat.Row1.Z; result.Z = norm.X * invMat.Row2.X + norm.Y * invMat.Row2.Y + norm.Z * invMat.Row2.Z; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static Vector3 TransformPosition(Vector3 pos, Matrix4 mat) { Vector3 p; p.X = Vector3.Dot(pos, new Vector3(mat.Column0)) + mat.Row3.X; p.Y = Vector3.Dot(pos, new Vector3(mat.Column1)) + mat.Row3.Y; p.Z = Vector3.Dot(pos, new Vector3(mat.Column2)) + mat.Row3.Z; return p; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static void TransformPosition(ref Vector3 pos, ref Matrix4 mat, out Vector3 result) { result.X = pos.X * mat.Row0.X + pos.Y * mat.Row1.X + pos.Z * mat.Row2.X + mat.Row3.X; result.Y = pos.X * mat.Row0.Y + pos.Y * mat.Row1.Y + pos.Z * mat.Row2.Y + mat.Row3.Y; result.Z = pos.X * mat.Row0.Z + pos.Y * mat.Row1.Z + pos.Z * mat.Row2.Z + mat.Row3.Z; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4 Transform(Vector3 vec, Matrix4 mat) { Vector4 v4 = new Vector4(vec.X, vec.Y, vec.Z, 1.0f); Vector4 result; result.X = Vector4.Dot(v4, mat.Column0); result.Y = Vector4.Dot(v4, mat.Column1); result.Z = Vector4.Dot(v4, mat.Column2); result.W = Vector4.Dot(v4, mat.Column3); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector3 vec, ref Matrix4 mat, out Vector4 result) { Vector4 v4 = new Vector4(vec.X, vec.Y, vec.Z, 1.0f); Vector4.Transform(ref v4, ref mat, out result); } /// Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3 TransformPerspective(Vector3 vec, Matrix4 mat) { Vector4 h = Transform(vec, mat); return new Vector3(h.X / h.W, h.Y / h.W, h.Z / h.W); } /// Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformPerspective(ref Vector3 vec, ref Matrix4 mat, out Vector3 result) { Vector4 h; Vector3.Transform(ref vec, ref mat, out h); result.X = h.X / h.W; result.Y = h.Y / h.W; result.Z = h.Z / h.W; } #endregion #region CalculateAngle /// /// Calculates the angle (in radians) between two vectors. /// /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static float CalculateAngle(Vector3 first, Vector3 second) { return (float)System.Math.Acos((Vector3.Dot(first, second)) / (first.Length * second.Length)); } /// Calculates the angle (in radians) between two vectors. /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static void CalculateAngle(ref Vector3 first, ref Vector3 second, out float result) { float temp; Vector3.Dot(ref first, ref second, out temp); result = (float)System.Math.Acos(temp / (first.Length * second.Length)); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. /// [XmlIgnore] public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Operators public static Vector3 operator +(Vector3 left, Vector3 right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; return left; } public static Vector3 operator -(Vector3 left, Vector3 right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; return left; } public static Vector3 operator -(Vector3 vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; return vec; } public static Vector3 operator *(Vector3 vec, float f) { vec.X *= f; vec.Y *= f; vec.Z *= f; return vec; } public static Vector3 operator *(float f, Vector3 vec) { vec.X *= f; vec.Y *= f; vec.Z *= f; return vec; } public static Vector3 operator /(Vector3 vec, float f) { float mult = 1.0f / f; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; return vec; } public static bool operator ==(Vector3 left, Vector3 right) { return left.Equals(right); } public static bool operator !=(Vector3 left, Vector3 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector3. /// /// public override string ToString() { return String.Format("({0}, {1}, {2})", X, Y, Z); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector3)) return false; return this.Equals((Vector3)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector3 other) { return X == other.X && Y == other.Y && Z == other.Z; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Math/Vector2h.cs0000664000175000017500000003057611453131430021541 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; namespace OpenTK.Math { /// 2-component Vector of the Half type. Occupies 4 Byte total. [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector2h : ISerializable, IEquatable { #region Fields /// The X component of the Half2. public Half X; /// The Y component of the Half2. public Half Y; #endregion #region Constructors /// /// The new Half2 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector2h(Half x, Half y) { X = x; Y = y; } /// /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector2h(Single x, Single y) { X = new Half(x); Y = new Half(y); } /// /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(Single x, Single y, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 [CLSCompliant(false)] public Vector2h(Vector2 v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector2h(Vector2 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector2 public Vector2h(ref Vector2 v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(ref Vector2 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d public Vector2h(Vector2d v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(Vector2d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector2d [CLSCompliant(false)] public Vector2h(ref Vector2d v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector2h(ref Vector2d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } #endregion Constructors #region Half -> Single /// /// Returns this Half2 instance's contents as Vector2. /// /// OpenTK.Vector2 public Vector2 ToVector2() { return new Vector2(X, Y); } /// /// Returns this Half2 instance's contents as Vector2d. /// public Vector2d ToVector2d() { return new Vector2d(X, Y); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector2 to OpenTK.Half2. /// The Vector2 to convert. /// The resulting Half vector. public static explicit operator Vector2h(Vector2 v) { return new Vector2h(v); } /// Converts OpenTK.Vector2d to OpenTK.Half2. /// The Vector2d to convert. /// The resulting Half vector. public static explicit operator Vector2h(Vector2d v) { return new Vector2h(v); } /// Converts OpenTK.Half2 to OpenTK.Vector2. /// The Half2 to convert. /// The resulting Vector2. public static explicit operator Vector2(Vector2h h) { return new Vector2(h.X, h.Y); } /// Converts OpenTK.Half2 to OpenTK.Vector2d. /// The Half2 to convert. /// The resulting Vector2d. public static explicit operator Vector2d(Vector2h h) { return new Vector2d(h.X, h.Y); } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half2 struct is 4. public static readonly int SizeInBytes = 4; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector2h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); } #endregion ISerializable #region Binary dump /// Updates the X and Y components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); } /// Writes the X and Y components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half2 vector. /// OpenTK.Half2 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector2h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y)); } #endregion #region ToString() /// Returns a string that contains this Half2's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1})", X.ToString(), Y.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half2 as an array of bytes. /// The Half2 to convert. /// The input as byte array. public static byte[] GetBytes(Vector2h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; return result; } /// Converts an array of bytes into Half2. /// A Half2 in it's byte[] representation. /// The starting position within value. /// A new Half2 instance. public static Vector2h FromBytes(byte[] value, int startIndex) { Vector2h h2 = new Vector2h(); h2.X = Half.FromBytes(value, startIndex); h2.Y = Half.FromBytes(value, startIndex + 2); return h2; } #endregion BitConverter } }opentk-1.0.20101006/Source/Compatibility/Math/Matrix4d.cs0000664000175000017500000011551311453131430021534 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK.Math { /// /// Represents a 4x4 Matrix with double-precision components. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix4d : IEquatable { #region Fields /// /// Top row of the matrix /// public Vector4d Row0; /// /// 2nd row of the matrix /// public Vector4d Row1; /// /// 3rd row of the matrix /// public Vector4d Row2; /// /// Bottom row of the matrix /// public Vector4d Row3; /// /// The identity matrix /// public static Matrix4d Identity = new Matrix4d(Vector4d .UnitX, Vector4d .UnitY, Vector4d .UnitZ, Vector4d .UnitW); #endregion #region Constructors /// /// Constructs a new instance. /// /// Top row of the matrix /// Second row of the matrix /// Third row of the matrix /// Bottom row of the matrix public Matrix4d(Vector4d row0, Vector4d row1, Vector4d row2, Vector4d row3) { Row0 = row0; Row1 = row1; Row2 = row2; Row3 = row3; } /// /// Constructs a new instance. /// /// First item of the first row. /// Second item of the first row. /// Third item of the first row. /// Fourth item of the first row. /// First item of the second row. /// Second item of the second row. /// Third item of the second row. /// Fourth item of the second row. /// First item of the third row. /// Second item of the third row. /// Third item of the third row. /// First item of the third row. /// Fourth item of the fourth row. /// Second item of the fourth row. /// Third item of the fourth row. /// Fourth item of the fourth row. public Matrix4d( float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) { Row0 = new Vector4d(m00, m01, m02, m03); Row1 = new Vector4d(m10, m11, m12, m13); Row2 = new Vector4d(m20, m21, m22, m23); Row3 = new Vector4d(m30, m31, m32, m33); } #endregion #region Public Members #region Properties /// /// The determinant of this matrix /// public double Determinant { get { return Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X; } } /// /// The first column of this matrix /// public Vector4d Column0 { get { return new Vector4d (Row0.X, Row1.X, Row2.X, Row3.X); } } /// /// The second column of this matrix /// public Vector4d Column1 { get { return new Vector4d (Row0.Y, Row1.Y, Row2.Y, Row3.Y); } } /// /// The third column of this matrix /// public Vector4d Column2 { get { return new Vector4d (Row0.Z, Row1.Z, Row2.Z, Row3.Z); } } /// /// The fourth column of this matrix /// public Vector4d Column3 { get { return new Vector4d (Row0.W, Row1.W, Row2.W, Row3.W); } } public double this[int i, int j] { get { if (i < 0 || i > 3) throw new ArgumentOutOfRangeException("i"); if (j < 0 || j > 3) throw new ArgumentOutOfRangeException("j"); unsafe { fixed (Matrix4d* ptr = &this) return *((double*)ptr + i + j * 4); } } set { if (i < 0 || i > 3) throw new ArgumentOutOfRangeException("i"); if (j < 0 || j > 3) throw new ArgumentOutOfRangeException("j"); unsafe { fixed (Matrix4d* ptr = &this) *((double*)ptr + i + j * 4) = value; } } } /// /// Gets or sets the value at row 1, column 1 of this instance. /// public double M11 { get { return Row0.X; } set { Row0.X = value; } } /// /// Gets or sets the value at row 1, column 2 of this instance. /// public double M12 { get { return Row0.Y; } set { Row0.Y = value; } } /// /// Gets or sets the value at row 1, column 3 of this instance. /// public double M13 { get { return Row0.Z; } set { Row0.Z = value; } } /// /// Gets or sets the value at row 1, column 4 of this instance. /// public double M14 { get { return Row0.W; } set { Row0.W = value; } } /// /// Gets or sets the value at row 2, column 1 of this instance. /// public double M21 { get { return Row1.X; } set { Row1.X = value; } } /// /// Gets or sets the value at row 2, column 2 of this instance. /// public double M22 { get { return Row1.Y; } set { Row1.Y = value; } } /// /// Gets or sets the value at row 2, column 3 of this instance. /// public double M23 { get { return Row1.Z; } set { Row1.Z = value; } } /// /// Gets or sets the value at row 2, column 4 of this instance. /// public double M24 { get { return Row1.W; } set { Row1.W = value; } } /// /// Gets or sets the value at row 3, column 1 of this instance. /// public double M31 { get { return Row2.X; } set { Row2.X = value; } } /// /// Gets or sets the value at row 3, column 2 of this instance. /// public double M32 { get { return Row2.Y; } set { Row2.Y = value; } } /// /// Gets or sets the value at row 3, column 3 of this instance. /// public double M33 { get { return Row2.Z; } set { Row2.Z = value; } } /// /// Gets or sets the value at row 3, column 4 of this instance. /// public double M34 { get { return Row2.W; } set { Row2.W = value; } } /// /// Gets or sets the value at row 4, column 1 of this instance. /// public double M41 { get { return Row3.X; } set { Row3.X = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public double M42 { get { return Row3.Y; } set { Row3.Y = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public double M43 { get { return Row3.Z; } set { Row3.Z = value; } } /// /// Gets or sets the value at row 4, column 4 of this instance. /// public double M44 { get { return Row3.W; } set { Row3.W = value; } } #endregion #region Instance #region public void Invert() public void Invert() { this = Matrix4d.Invert(this); } #endregion #region public void Transpose() public void Transpose() { this = Matrix4d.Transpose(this); } #endregion #endregion #region Static #region CreateTranslation /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4d instance. public static void CreateTranslation(double x, double y, double z, out Matrix4d result) { result = Identity; result.Row3 = new Vector4d(x, y, z, 1); } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4d instance. public static void CreateTranslation(ref Vector3d vector, out Matrix4d result) { result = Identity; result.Row3 = new Vector4d(vector.X, vector.Y, vector.Z, 1); } /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4d instance. public static Matrix4d CreateTranslation(double x, double y, double z) { Matrix4d result; CreateTranslation(x, y, z, out result); return result; } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4d instance. public static Matrix4d CreateTranslation(Vector3d vector) { Matrix4d result; CreateTranslation(vector.X, vector.Y, vector.Z, out result); return result; } #endregion #region CreateOrthographic /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static void CreateOrthographic(double width, double height, double zNear, double zFar, out Matrix4d result) { CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); } /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static Matrix4d CreateOrthographic(double width, double height, double zNear, double zFar) { Matrix4d result; CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); return result; } #endregion #region CreateOrthographicOffCenter /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static void CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, out Matrix4d result) { result = new Matrix4d(); double invRL = 1 / (right - left); double invTB = 1 / (top - bottom); double invFN = 1 / (zFar - zNear); result.M11 = 2 * invRL; result.M22 = 2 * invTB; result.M33 = -2 * invFN; result.M41 = -(right + left) * invRL; result.M42 = -(top + bottom) * invTB; result.M43 = -(zFar + zNear) * invFN; } /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static Matrix4d CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar) { Matrix4d result; CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region Obsolete Functions #region Translation Functions /// /// Build a translation matrix with the given translation /// /// The vector to translate along /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4d Translation(Vector3d trans) { return Translation(trans.X, trans.Y, trans.Z); } /// /// Build a translation matrix with the given translation /// /// X translation /// Y translation /// Z translation /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4d Translation(double x, double y, double z) { Matrix4d result = Identity; result.Row3 = new Vector4d(x, y, z, 1.0f); return result; } #endregion #endregion #region Scale Functions /// /// Build a scaling matrix /// /// Single scale factor for x,y and z axes /// A scaling matrix public static Matrix4d Scale(double scale) { return Scale(scale, scale, scale); } /// /// Build a scaling matrix /// /// Scale factors for x,y and z axes /// A scaling matrix public static Matrix4d Scale(Vector3d scale) { return Scale(scale.X, scale.Y, scale.Z); } /// /// Build a scaling matrix /// /// Scale factor for x-axis /// Scale factor for y-axis /// Scale factor for z-axis /// A scaling matrix public static Matrix4d Scale(double x, double y, double z) { Matrix4d result; result.Row0 = Vector4d .UnitX * x; result.Row1 = Vector4d .UnitY * y; result.Row2 = Vector4d .UnitZ * z; result.Row3 = Vector4d .UnitW; return result; } #endregion #region Rotation Functions /// /// Build a rotation matrix that rotates about the x-axis /// /// angle in radians to rotate counter-clockwise around the x-axis /// A rotation matrix public static Matrix4d RotateX(double angle) { double cos = (double)System.Math.Cos(angle); double sin = (double)System.Math.Sin(angle); Matrix4d result; result.Row0 = Vector4d .UnitX; result.Row1 = new Vector4d (0.0f, cos, sin, 0.0f); result.Row2 = new Vector4d (0.0f, -sin, cos, 0.0f); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix that rotates about the y-axis /// /// angle in radians to rotate counter-clockwise around the y-axis /// A rotation matrix public static Matrix4d RotateY(double angle) { double cos = (double)System.Math.Cos(angle); double sin = (double)System.Math.Sin(angle); Matrix4d result; result.Row0 = new Vector4d (cos, 0.0f, -sin, 0.0f); result.Row1 = Vector4d .UnitY; result.Row2 = new Vector4d (sin, 0.0f, cos, 0.0f); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix that rotates about the z-axis /// /// angle in radians to rotate counter-clockwise around the z-axis /// A rotation matrix public static Matrix4d RotateZ(double angle) { double cos = (double)System.Math.Cos(angle); double sin = (double)System.Math.Sin(angle); Matrix4d result; result.Row0 = new Vector4d (cos, sin, 0.0f, 0.0f); result.Row1 = new Vector4d (-sin, cos, 0.0f, 0.0f); result.Row2 = Vector4d .UnitZ; result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix to rotate about the given axis /// /// the axis to rotate about /// angle in radians to rotate counter-clockwise (looking in the direction of the given axis) /// A rotation matrix public static Matrix4d Rotate(Vector3d axis, double angle) { double cos = (double)System.Math.Cos(-angle); double sin = (double)System.Math.Sin(-angle); double t = 1.0f - cos; axis.Normalize(); Matrix4d result; result.Row0 = new Vector4d (t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f); result.Row1 = new Vector4d (t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f); result.Row2 = new Vector4d (t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix from a quaternion /// /// the quaternion /// A rotation matrix public static Matrix4d Rotate(Quaterniond q) { Vector3d axis; double angle; q.ToAxisAngle(out axis, out angle); return Rotate(axis, angle); } #endregion #region Camera Helper Functions /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix that transforms world space to camera space public static Matrix4d LookAt(Vector3d eye, Vector3d target, Vector3d up) { Vector3d z = Vector3d.Normalize(eye - target); Vector3d x = Vector3d.Normalize(Vector3d.Cross(up, z)); Vector3d y = Vector3d.Normalize(Vector3d.Cross(z, x)); Matrix4d rot = new Matrix4d(new Vector4d (x.X, y.X, z.X, 0.0f), new Vector4d (x.Y, y.Y, z.Y, 0.0f), new Vector4d (x.Z, y.Z, z.Z, 0.0f), Vector4d .UnitW); Matrix4d trans = Matrix4d.CreateTranslation(-eye); return trans * rot; } /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Eye (camera) position in world space /// Eye (camera) position in world space /// Target position in world space /// Target position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4d LookAt(double eyeX, double eyeY, double eyeZ, double targetX, double targetY, double targetZ, double upX, double upY, double upZ) { return LookAt(new Vector3d(eyeX, eyeY, eyeZ), new Vector3d(targetX, targetY, targetZ), new Vector3d(upX, upY, upZ)); } /// /// Build a projection matrix /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space public static Matrix4d Frustum(double left, double right, double bottom, double top, double near, double far) { double invRL = 1.0f / (right - left); double invTB = 1.0f / (top - bottom); double invFN = 1.0f / (far - near); return new Matrix4d(new Vector4d (2.0f * near * invRL, 0.0f, 0.0f, 0.0f), new Vector4d (0.0f, 2.0f * near * invTB, 0.0f, 0.0f), new Vector4d ((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0f), new Vector4d (0.0f, 0.0f, -2.0f * far * near * invFN, 0.0f)); } /// /// Build a projection matrix /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space public static Matrix4d Perspective(double fovy, double aspect, double near, double far) { double yMax = near * (double)System.Math.Tan(0.5f * fovy); double yMin = -yMax; double xMin = yMin * aspect; double xMax = yMax * aspect; return Frustum(xMin, xMax, yMin, yMax, near, far); } #endregion #region Multiply Functions /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static Matrix4d Mult(Matrix4d left, Matrix4d right) { Matrix4d result; Mult(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static void Mult(ref Matrix4d left, ref Matrix4d right, out Matrix4d result) { result = new Matrix4d(); result.M11 = left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41; result.M12 = left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42; result.M13 = left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43; result.M14 = left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44; result.M21 = left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41; result.M22 = left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42; result.M23 = left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43; result.M24 = left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44; result.M31 = left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41; result.M32 = left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42; result.M33 = left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43; result.M34 = left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44; result.M41 = left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41; result.M42 = left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42; result.M43 = left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43; result.M44 = left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44; } #endregion #region Invert Functions /// /// Calculate the inverse of the given matrix /// /// The matrix to invert /// The inverse of the given matrix if it has one, or the input if it is singular /// Thrown if the Matrix4d is singular. public static Matrix4d Invert(Matrix4d mat) { int[] colIdx = { 0, 0, 0, 0 }; int[] rowIdx = { 0, 0, 0, 0 }; int[] pivotIdx = { -1, -1, -1, -1 }; // convert the matrix to an array for easy looping double[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} }; int icol = 0; int irow = 0; for (int i = 0; i < 4; i++) { // Find the largest pivot value double maxPivot = 0.0f; for (int j = 0; j < 4; j++) { if (pivotIdx[j] != 0) { for (int k = 0; k < 4; ++k) { if (pivotIdx[k] == -1) { double absVal = System.Math.Abs(inverse[j, k]); if (absVal > maxPivot) { maxPivot = absVal; irow = j; icol = k; } } else if (pivotIdx[k] > 0) { return mat; } } } } ++(pivotIdx[icol]); // Swap rows over so pivot is on diagonal if (irow != icol) { for (int k = 0; k < 4; ++k) { double f = inverse[irow, k]; inverse[irow, k] = inverse[icol, k]; inverse[icol, k] = f; } } rowIdx[i] = irow; colIdx[i] = icol; double pivot = inverse[icol, icol]; // check for singular matrix if (pivot == 0.0f) { throw new InvalidOperationException("Matrix is singular and cannot be inverted."); //return mat; } // Scale row so it has a unit diagonal double oneOverPivot = 1.0f / pivot; inverse[icol, icol] = 1.0f; for (int k = 0; k < 4; ++k) inverse[icol, k] *= oneOverPivot; // Do elimination of non-diagonal elements for (int j = 0; j < 4; ++j) { // check this isn't on the diagonal if (icol != j) { double f = inverse[j, icol]; inverse[j, icol] = 0.0f; for (int k = 0; k < 4; ++k) inverse[j, k] -= inverse[icol, k] * f; } } } for (int j = 3; j >= 0; --j) { int ir = rowIdx[j]; int ic = colIdx[j]; for (int k = 0; k < 4; ++k) { double f = inverse[k, ir]; inverse[k, ir] = inverse[k, ic]; inverse[k, ic] = f; } } mat.Row0 = new Vector4d (inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]); mat.Row1 = new Vector4d (inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]); mat.Row2 = new Vector4d (inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]); mat.Row3 = new Vector4d (inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]); return mat; } #endregion #region Transpose /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The transpose of the given matrix public static Matrix4d Transpose(Matrix4d mat) { return new Matrix4d(mat.Column0, mat.Column1, mat.Column2, mat.Column3); } /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The result of the calculation public static void Transpose(ref Matrix4d mat, out Matrix4d result) { result.Row0 = mat.Column0; result.Row1 = mat.Column1; result.Row2 = mat.Column2; result.Row3 = mat.Column3; } #endregion #endregion #region Operators /// /// Matrix multiplication /// /// left-hand operand /// right-hand operand /// A new Matrix44 which holds the result of the multiplication public static Matrix4d operator *(Matrix4d left, Matrix4d right) { return Matrix4d.Mult(left, right); } public static bool operator ==(Matrix4d left, Matrix4d right) { return left.Equals(right); } public static bool operator !=(Matrix4d left, Matrix4d right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Matrix44. /// /// public override string ToString() { return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Matrix4d)) return false; return this.Equals((Matrix4d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current matrix is equal to another matrix. /// An matrix to compare with this matrix. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(Matrix4d other) { return Row0 == other.Row0 && Row1 == other.Row1 && Row2 == other.Row2 && Row3 == other.Row3; } #endregion } }opentk-1.0.20101006/Source/Compatibility/Math/Vector3h.cs0000664000175000017500000003437211453131430021540 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Xml.Serialization; namespace OpenTK.Math { /// /// 3-component Vector of the Half type. Occupies 6 Byte total. /// [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")] [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector3h : ISerializable, IEquatable { #region Public Fields /// The X component of the Half3. public Half X; /// The Y component of the Half3. public Half Y; /// The Z component of the Half3. public Half Z; #endregion Public Fields #region Constructors /// /// The new Half3 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector3h(Half x, Half y, Half z) { this.X = x; this.Y = y; this.Z = z; } /// /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector3h(Single x, Single y, Single z) { X = new Half(x); Y = new Half(y); Z = new Half(z); } /// /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(Single x, Single y, Single z, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); Z = new Half(z, throwOnError); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 [CLSCompliant(false)] public Vector3h(Vector3 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector3h(Vector3 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector3 public Vector3h(ref Vector3 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(ref Vector3 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d public Vector3h(Vector3d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(Vector3d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector3d [CLSCompliant(false)] public Vector3h(ref Vector3d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector3h(ref Vector3d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } #endregion Constructors #region Swizzle /// /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. /// [XmlIgnore] public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Half -> Single /// /// Returns this Half3 instance's contents as Vector3. /// /// OpenTK.Vector3 public Vector3 ToVector3() { return new Vector3(X, Y, Z); } /// /// Returns this Half3 instance's contents as Vector3d. /// public Vector3d ToVector3d() { return new Vector3d(X, Y, Z); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector3 to OpenTK.Half3. /// The Vector3 to convert. /// The resulting Half vector. public static explicit operator Vector3h(Vector3 v3f) { return new Vector3h(v3f); } /// Converts OpenTK.Vector3d to OpenTK.Half3. /// The Vector3d to convert. /// The resulting Half vector. public static explicit operator Vector3h(Vector3d v3d) { return new Vector3h(v3d); } /// Converts OpenTK.Half3 to OpenTK.Vector3. /// The Half3 to convert. /// The resulting Vector3. public static explicit operator Vector3(Vector3h h3) { Vector3 result = new Vector3(); result.X = h3.X.ToSingle(); result.Y = h3.Y.ToSingle(); result.Z = h3.Z.ToSingle(); return result; } /// Converts OpenTK.Half3 to OpenTK.Vector3d. /// The Half3 to convert. /// The resulting Vector3d. public static explicit operator Vector3d(Vector3h h3) { Vector3d result = new Vector3d(); result.X = h3.X.ToSingle(); result.Y = h3.Y.ToSingle(); result.Z = h3.Z.ToSingle(); return result; } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half3 struct is 6. public static readonly int SizeInBytes = 6; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector3h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); this.Z = (Half)info.GetValue("Z", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); info.AddValue("Z", this.Z); } #endregion ISerializable #region Binary dump /// Updates the X,Y and Z components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); Z.FromBinaryStream(bin); } /// Writes the X,Y and Z components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); Z.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half3 vector. /// OpenTK.Half3 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector3h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z)); } #endregion #region ToString() /// Returns a string that contains this Half3's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1}, {2})", X.ToString(), Y.ToString(), Z.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half3 as an array of bytes. /// The Half3 to convert. /// The input as byte array. public static byte[] GetBytes(Vector3h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; temp = Half.GetBytes(h.Z); result[4] = temp[0]; result[5] = temp[1]; return result; } /// Converts an array of bytes into Half3. /// A Half3 in it's byte[] representation. /// The starting position within value. /// A new Half3 instance. public static Vector3h FromBytes(byte[] value, int startIndex) { Vector3h h3 = new Vector3h(); h3.X = Half.FromBytes(value, startIndex); h3.Y = Half.FromBytes(value, startIndex + 2); h3.Z = Half.FromBytes(value, startIndex + 4); return h3; } #endregion BitConverter } } opentk-1.0.20101006/Source/Compatibility/IPoolable.cs0000664000175000017500000000052011453131430021004 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK { interface IPoolable : IDisposable { void OnAcquire(); void OnRelease(); } interface IPoolable : IPoolable where T : IPoolable, new() { ObjectPool Owner { get; set; } } } opentk-1.0.20101006/Source/Compatibility/Properties/0000775000175000017500000000000011453142152020751 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Properties/AssemblyInfo.cs0000664000175000017500000000147211453131430023674 0ustar laneylaneyusing System; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("OpenTK.Compatibility")] [assembly: AssemblyDescription("Provides compatibility with previous versions of OpenTK and the Tao framework.")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("7c495044-4b1a-4bff-aee9-ff9dbf85433f")] [assembly: System.CLSCompliant(true)] [assembly: System.Security.AllowPartiallyTrustedCallers] #if NET40 [assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)] #endif opentk-1.0.20101006/Source/Compatibility/Properties/Resources.resx0000664000175000017500000001407211453131430023627 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ../Resources/TaoButton.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a opentk-1.0.20101006/Source/Compatibility/Properties/Resources.Designer.cs0000664000175000017500000000606411453131430025014 0ustar laneylaney//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace OpenTK.Compatibility.Properties { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTK.Compatibility.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } internal static System.Drawing.Bitmap TaoButton { get { object obj = ResourceManager.GetObject("TaoButton", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } } } opentk-1.0.20101006/Source/Compatibility/OpenTK.Compatibility.dll.config0000664000175000017500000000137211453131430024526 0ustar laneylaney opentk-1.0.20101006/Source/Compatibility/ObjectPool.cs0000664000175000017500000000155211453131430021204 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK { class ObjectPool where T : IPoolable, new() { Queue pool = new Queue(); public ObjectPool() { } public T Acquire() { T item; if (pool.Count > 0) { item = pool.Dequeue(); item.OnAcquire(); } else { item = new T(); item.Owner = this; item.OnAcquire(); } return item; } public void Release(T item) { if (item == null) throw new ArgumentNullException("item"); item.OnRelease(); pool.Enqueue(item); } } } opentk-1.0.20101006/Source/Compatibility/TexturePacker.cs0000664000175000017500000001427611453131430021741 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Imaging; namespace OpenTK { class TexturePacker where T : IPackable { Node root; #region --- Constructors --- public TexturePacker(int width, int height) { if (width <= 0) throw new ArgumentOutOfRangeException("width", width, "Must be greater than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", height, "Must be greater than zero."); root = new Node(); root.Rect = new Rectangle(0, 0, width, width); } #endregion #region --- Public Methods --- #region public Rectangle Add(T item) // Packs the given item into the free space of the TexturePacker. Returns the Rectangle of the packed item. public void Add(T item, out Rectangle rect) { if (item.Width > root.Rect.Width || item.Height > root.Rect.Height) throw new InvalidOperationException("The item is too large for this TexturePacker"); Node node; //if (!items.ContainsKey(item)) { node = root.Insert(item); // Tree is full and insertion failed: if (node == null) throw new TexturePackerFullException(); //items.Add(item, node); rect = node.Rect; } //throw new ArgumentException("The item already exists in the TexturePacker.", "item"); } #endregion #region public void Clear() /// /// Discards all packed items. /// public void Clear() { //items.Clear(); root.Clear(); } #endregion #region public void ChangeSize(int new_width, int new_height) /// /// Changes the dimensions of the TexturePacker surface. /// /// The new width of the TexturePacker surface. /// The new height of the TexturePacker surface. /// Changing the size of the TexturePacker surface will implicitly call TexturePacker.Clear(). /// public void ChangeSize(int new_width, int new_height) { throw new NotImplementedException(); } #endregion #endregion #region Node class Node { public Node() { } Node left, right; Rectangle rect; int use_count; public Rectangle Rect { get { return rect; } set { rect = value; } } public Node Left { get { return left; } set { left = value; } } public Node Right { get { return right; } set { right = value; } } #region --- Constructor --- public bool Leaf { get { return left == null && right == null; } } #endregion #region public Node Insert(T item) public Node Insert(T item) { if (!this.Leaf) { // Recurse towards left child, and if that fails, towards the right. Node new_node = left.Insert(item); return new_node ?? right.Insert(item); } else { // We have recursed to a leaf. // If it is not empty go back. if (use_count != 0) return null; // If this leaf is too small go back. if (rect.Width < item.Width || rect.Height < item.Height) return null; // If this leaf is the right size, insert here. if (rect.Width == item.Width && rect.Height == item.Height) { use_count = 1; return this; } // This leaf is too large, split it up. We'll decide which way to split // by checking the width and height difference between this rectangle and // out item's bounding box. If the width difference is larger, we'll split // horizontaly, else verticaly. left = new Node(); right = new Node(); int dw = this.rect.Width - item.Width + 1; int dh = this.rect.Height - item.Height + 1; if (dw > dh) { left.rect = new Rectangle(rect.Left, rect.Top, item.Width, rect.Height); right.rect = new Rectangle(rect.Left + item.Width, rect.Top, rect.Width - item.Width, rect.Height); } else { left.rect = new Rectangle(rect.Left, rect.Top, rect.Width, item.Height); right.rect = new Rectangle(rect.Left, rect.Top + item.Height, rect.Width, rect.Height - item.Height); } return left.Insert(item); } } #endregion #region public void Clear() public void Clear() { if (left != null) left.Clear(); if (right != null) right.Clear(); left = right = null; } #endregion } #endregion } class TexturePackerFullException : Exception { public TexturePackerFullException() : base("There is not enough space to add this item. Consider calling the Clear() method.") { } } } opentk-1.0.20101006/Source/Compatibility/Platform/0000775000175000017500000000000011453142152020401 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Platform/Windows/0000775000175000017500000000000011453142152022033 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Platform/Windows/WinGdiPlusInternals.cs0000664000175000017500000000333111453131430026264 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Reflection; namespace OpenTK.Platform.Windows { class WinGdiPlusInternals : IGdiPlusInternals { static readonly PropertyInfo native_graphics_property, native_font_property; static readonly FieldInfo native_string_format_field; static WinGdiPlusInternals() { native_graphics_property = typeof(System.Drawing.Graphics).GetProperty("NativeGraphics", BindingFlags.Instance | BindingFlags.NonPublic); native_font_property = typeof(System.Drawing.Font).GetProperty("NativeFont", BindingFlags.Instance | BindingFlags.NonPublic); native_string_format_field = typeof(System.Drawing.StringFormat).GetField("nativeFormat", BindingFlags.Instance | BindingFlags.NonPublic); } #region --- IGdiPlusInternals Members --- public IntPtr GetNativeGraphics(System.Drawing.Graphics graphics) { return (IntPtr)native_graphics_property.GetValue(graphics, null); } public IntPtr GetNativeFont(Font font) { return (IntPtr)native_font_property.GetValue(font, null); } public IntPtr GetNativeStringFormat(StringFormat format) { return (IntPtr)native_string_format_field.GetValue(format); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Platform/GdiPlus.cs0000664000175000017500000001244411453131430022301 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Drawing; using System.Reflection; using System.Diagnostics; namespace OpenTK.Platform { internal static class GdiPlus { static IGdiPlusInternals internals; const string gdi_plus_library = "gdiplus.dll"; #region --- Constructors --- static GdiPlus() { if (Configuration.RunningOnWindows && !Configuration.RunningOnMono) internals = new Windows.WinGdiPlusInternals(); else internals = new X11.X11GdiPlusInternals(); // This class is Mono-specific and works on all platforms. } #endregion #region --- Public Methods --- public static IntPtr GetNativeGraphics(System.Drawing.Graphics graphics) { return internals.GetNativeGraphics(graphics); } public static IntPtr GetNativeFont(Font font) { return internals.GetNativeFont(font); } public static IntPtr GetNativeStringFormat(StringFormat format) { return internals.GetNativeStringFormat(format); } public static int MaxMeasurableCharacterRanges { get { return 32; // This is a GDI+ limitation. TODO: Can we query this somehow? } } [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipSetStringFormatMeasurableCharacterRanges")] public static extern int SetStringFormatMeasurableCharacterRanges(HandleRef format, int rangeCount, [In, Out] CharacterRange[] range); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipSetStringFormatMeasurableCharacterRanges")] public static extern int SetStringFormatMeasurableCharacterRanges(IntPtr format, int rangeCount, [In, Out] CharacterRange[] range); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetStringFormatMeasurableCharacterRangeCount")] public static extern int GetStringFormatMeasurableCharacterRangeCount(HandleRef format, out int count); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipMeasureCharacterRanges")] public static extern int MeasureCharacterRanges(HandleRef graphics, string textString, int length, HandleRef font, ref RectangleF layoutRect, HandleRef stringFormat, int characterCount, [In, Out] IntPtr[] region); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipMeasureCharacterRanges")] public static extern int MeasureCharacterRanges(IntPtr graphics, string textString, int length, IntPtr font, ref RectangleF layoutRect, IntPtr stringFormat, int characterCount, [In, Out] IntPtr[] region); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetRegionBounds")] public static extern int GetRegionBounds(IntPtr region, HandleRef graphics, ref RectangleF gprectf); [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetRegionBounds")] public static extern int GetRegionBounds(IntPtr region, IntPtr graphics, ref RectangleF gprectf); [DllImport(gdi_plus_library, EntryPoint = "GdipCreateRegion", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)] public static extern int CreateRegion(out IntPtr region); [DllImport(gdi_plus_library, EntryPoint = "GdipDeleteRegion", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)] public static extern int DeleteRegion(IntPtr region); #endregion #if false [StructLayout(LayoutKind.Sequential)] internal struct GPRECTF { internal float X; internal float Y; internal float Width; internal float Height; internal GPRECTF(float x, float y, float width, float height) { this.X = x; this.Y = y; this.Width = width; this.Height = height; } internal GPRECTF(RectangleF rect) { this.X = rect.X; this.Y = rect.Y; this.Width = rect.Width; this.Height = rect.Height; } internal SizeF SizeF { get { return new SizeF(this.Width, this.Height); } } internal RectangleF ToRectangleF() { return new RectangleF(this.X, this.Y, this.Width, this.Height); } } #endif } } opentk-1.0.20101006/Source/Compatibility/Platform/IGdiPlusInternals.cs0000664000175000017500000000176111453131430024272 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform { // Provides methods to access internal GdiPlus fields. This is necessary for // managed <-> native GdiPlus interoperability. // Note that the fields are named differently between .Net and Mono. // GdiPlus is considered deprecated by Microsoft - it is highly unlikely that // future framework upgrades will break this code, but it is something to // keep in mind. interface IGdiPlusInternals { IntPtr GetNativeGraphics(System.Drawing.Graphics graphics); IntPtr GetNativeFont(System.Drawing.Font font); IntPtr GetNativeStringFormat(System.Drawing.StringFormat format); } } opentk-1.0.20101006/Source/Compatibility/Platform/X11/0000775000175000017500000000000011453142152020752 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Platform/X11/X11GdiPlusInternals.cs0000664000175000017500000000353611453131430025026 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Reflection; namespace OpenTK.Platform.X11 { // Note: This class is Mono-specific, not X11-specific! // It works on all platforms (windows, linux, macos) as long as we are running on Mono. class X11GdiPlusInternals : IGdiPlusInternals { static readonly PropertyInfo native_graphics_property, native_font_property, native_string_format_property; static X11GdiPlusInternals() { native_graphics_property = typeof(System.Drawing.Graphics).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic); native_font_property = typeof(System.Drawing.Font).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic); native_string_format_property = typeof(System.Drawing.StringFormat).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic); } #region --- IGdiPlusInternals Members --- public IntPtr GetNativeGraphics(System.Drawing.Graphics graphics) { return (IntPtr)native_graphics_property.GetValue(graphics, null); } public IntPtr GetNativeFont(Font font) { return (IntPtr)native_font_property.GetValue(font, null); } public IntPtr GetNativeStringFormat(StringFormat format) { return (IntPtr)native_string_format_property.GetValue(format, null); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Audio/0000775000175000017500000000000011453142152017656 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Audio/AudioReaderException.cs0000664000175000017500000000160211453131426024251 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Audio { /// Represents exceptions related to OpenTK.Audio.AudioReader objects. public class AudioReaderException : AudioException { /// Constructs a new AudioReaderException. public AudioReaderException() : base() { } /// Constructs a new AudioReaderException with the specified error message. /// The error message of the AudioReaderException. public AudioReaderException(string message) : base(message) { } } } opentk-1.0.20101006/Source/Compatibility/Audio/Sound.cs0000664000175000017500000000433511453131426021304 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.IO; namespace OpenTK.Audio { #if false /// Defines methods to load and hold sound buffer. public class Sound : IDisposable { bool disposed; SoundReader reader; SoundData data; public Sound(Stream s) { if (s == null) throw new ArgumentNullException("s", "Must be a valid System.IO.Stream."); reader = SoundReader.Create(s); } public Sound(string filename) { if (String.IsNullOrEmpty(filename)) throw new ArgumentNullException("s", "Must be a valid System.IO.Stream."); reader = SoundReader.Create(filename); } #region --- Public Members --- public SoundData ReadSamples(int count) { if (count <= 0) throw new ArgumentOutOfRangeException("count", "Must be larger than zero."); throw new NotImplementedException(); } public SoundData ReadToEnd() { return reader.ReadToEnd(); } public SoundData SoundData { get { return data; } } public void WriteToBuffer(int buffer, int length) { if (buffer == 0) throw new ArgumentOutOfRangeException("buffer", "May not be zero."); } #endregion #region --- IDisposable Members --- /// Disposes of the sound buffer. public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) reader.Dispose(); disposed = true; } } ~Sound() { this.Dispose(false); } #endregion } #endif } opentk-1.0.20101006/Source/Compatibility/Audio/SoundData.cs0000664000175000017500000000504211453131426022072 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Audio { /// Encapsulates a pointer to a decoded sound buffer. public class SoundData { byte[] buffer; SoundFormat format; #region --- Constructors --- /// /// Constructs a new SoundData object. /// The SoundFormat of these SoundData. /// An array of PCM buffer. internal SoundData(SoundFormat format, byte[] data) { if (data == null) throw new ArgumentNullException("buffer", "Must be a valid array of samples."); if (data.Length == 0) throw new ArgumentOutOfRangeException("buffer", "Data length must be higher than 0."); this.SoundFormat = format; buffer = new byte[data.Length]; Array.Copy(data, buffer, data.Length); } #endregion /// Gets the raw PCM buffer. public byte[] Data { get { return buffer; } internal set { buffer = value; } } /// Gets the SoundFormat of the SoundData. public SoundFormat SoundFormat { get { return format; } internal set { format = value; } } } } opentk-1.0.20101006/Source/Compatibility/Audio/SoundFormat.cs0000664000175000017500000000766011453131426022461 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK.Audio { /// Describes the format of the SoundData. public struct SoundFormat { #region --- Constructors --- /// Constructs a new SoundFormat. public SoundFormat(int channels, int bitsPerSample, int sampleRate) { if (sampleRate <= 0) throw new ArgumentOutOfRangeException("sampleRate", "Must be higher than 0."); SampleFormat = 0; switch (channels) { case 1: if (bitsPerSample == 8) SampleFormat = SampleFormat.Mono8; else if (bitsPerSample == 16) SampleFormat = SampleFormat.Mono16; break; case 2: if (bitsPerSample == 8) SampleFormat = SampleFormat.Stereo8; else if (bitsPerSample == 16) SampleFormat = SampleFormat.Stereo16; break; } SampleRate = sampleRate; } #endregion #region --- Public Members --- /// Describes the SampleFormat of the SoundData. public readonly SampleFormat SampleFormat; /// Describes the sample rate (frequency) of the SoundData. public readonly int SampleRate; /// Gets the SampleFormat of the buffer as an OpenTK.Audio.ALFormat enumeration. public OpenTK.Audio.ALFormat SampleFormatAsOpenALFormat { get { switch (SampleFormat) { case SampleFormat.Mono8: return OpenTK.Audio.ALFormat.Mono8; case SampleFormat.Mono16: return OpenTK.Audio.ALFormat.Mono16; case SampleFormat.Stereo8: return OpenTK.Audio.ALFormat.Stereo8; case SampleFormat.Stereo16: return OpenTK.Audio.ALFormat.Stereo16; default: throw new NotSupportedException("Unknown PCM SampleFormat."); } } } #endregion } #region public enum SampleFormat /// Defines the available formats for SoundData. public enum SampleFormat { /// 8 bits per sample, 1 channel. Mono8 = OpenTK.Audio.ALFormat.Mono8, /// 16 bits per sample, 1 channel. Mono16 = OpenTK.Audio.ALFormat.Mono16, /// 8 bits per sample, 2 channels. Stereo8 = OpenTK.Audio.ALFormat.Stereo8, /// 16 bits per sample, 2 channels. Stereo16 = OpenTK.Audio.ALFormat.Stereo16 } #endregion }opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/0000775000175000017500000000000011453142152020774 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/0000775000175000017500000000000011453142152021270 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/AL.cs0000664000175000017500000030464311453131426022127 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlFunctions.cs * C header: \OpenAL 1.1 SDK\include\Al.h * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; using System.Runtime.InteropServices; using System.Security; using OpenTK; /* Type Mapping // 8-bit boolean typedef char ALboolean; * bool // character typedef char ALchar; * byte // signed 8-bit 2's complement integer typedef char ALbyte; * byte // unsigned 8-bit integer typedef unsigned char ALubyte; * byte // signed 16-bit 2's complement integer typedef short ALshort; * short // unsigned 16-bit integer typedef unsigned short ALushort; * ushort // unsigned 32-bit integer typedef unsigned int ALuint; * uint // signed 32-bit 2's complement integer typedef int ALint; * int // non-negative 32-bit binary integer size typedef int ALsizei; * int // enumerated 32-bit value typedef int ALenum; * int // 32-bit IEEE754 floating-point typedef float ALfloat; * float // 64-bit IEEE754 floating-point typedef double ALdouble; * double // void type (for opaque pointers only) typedef void ALvoid; * void */ namespace OpenTK.Audio { public static partial class AL { #region Constants public const string Lib = "openal32.dll"; private const CallingConvention Style = CallingConvention.Cdecl; #endregion Constants #region Renderer State management /// This function enables a feature of the OpenAL driver. There are no capabilities defined in OpenAL 1.1 to be used with this function, but it may be used by an extension. /// The name of a capability to enable. [DllImport(AL.Lib, EntryPoint = "alEnable", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Enable(ALCapability capability); //AL_API void AL_APIENTRY alEnable( ALenum capability ); /// This function disables a feature of the OpenAL driver. /// The name of a capability to disable. [DllImport(AL.Lib, EntryPoint = "alDisable", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Disable(ALCapability capability); // AL_API void AL_APIENTRY alDisable( ALenum capability ); /// This function returns a boolean indicating if a specific feature is enabled in the OpenAL driver. /// The name of a capability to enable. /// True if enabled, False if disabled. [DllImport(AL.Lib, EntryPoint = "alIsEnabled", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern bool IsEnabled(ALCapability capability); // AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); #endregion Renderer State management #region State retrieval [DllImport(AL.Lib, EntryPoint = "alGetString", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] private static extern IntPtr GetStringPrivate(ALGetString param); // accepts the enums AlError, AlContextString // AL_API const ALchar* AL_APIENTRY alGetString( ALenum param ); /// This function retrieves an OpenAL string property. /// The property to be returned: Vendor, Version, Renderer and Extensions /// Returns a pointer to a null-terminated string. public static string Get(ALGetString param) { return Marshal.PtrToStringAnsi(GetStringPrivate(param)); } /// This function retrieves an OpenAL string property. /// The human-readable errorstring to be returned. /// Returns a pointer to a null-terminated string. public static string GetErrorString(ALError param) { return Marshal.PtrToStringAnsi(GetStringPrivate((ALGetString)param)); } /* no functions return more than 1 result .. // AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* buffer ); // AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* buffer ); // AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* buffer ); // AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* buffer ); */ /* disabled due to no token using it /// This function returns a boolean OpenAL state. /// the state to be queried: AL_DOPPLER_FACTOR, AL_SPEED_OF_SOUND, AL_DISTANCE_MODEL /// The boolean state described by param will be returned. [DllImport( AL.Lib, EntryPoint = "alGetBoolean", ExactSpelling = true, CallingConvention = AL.Style ), SuppressUnmanagedCodeSecurity( )] public static extern bool Get( ALGetBoolean param ); // AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param ); */ /// This function returns an integer OpenAL state. /// the state to be queried: DistanceModel. /// The integer state described by param will be returned. [DllImport(AL.Lib, EntryPoint = "alGetInteger", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern int Get(ALGetInteger param); // AL_API ALint AL_APIENTRY alGetInteger( ALenum param ); /// This function returns a floating-point OpenAL state. /// the state to be queried: DopplerFactor, SpeedOfSound. /// The floating-point state described by param will be returned. [DllImport(AL.Lib, EntryPoint = "alGetFloat", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern float Get(ALGetFloat param); // AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param ); /* disabled due to no token using it /// This function returns a double-precision floating-point OpenAL state. /// the state to be queried: AL_DOPPLER_FACTOR, AL_SPEED_OF_SOUND, AL_DISTANCE_MODEL /// The double value described by param will be returned. [DllImport( AL.Lib, EntryPoint = "alGetDouble", ExactSpelling = true, CallingConvention = AL.Style ), SuppressUnmanagedCodeSecurity( )] public static extern double Get( ALGetDouble param ); // AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param ); */ /// Error support. Obtain the most recent error generated in the AL state machine. When an error is detected by AL, a flag is set and the error code is recorded. Further errors, if they occur, do not affect this recorded code. When alGetError is called, the code is returned and the flag is cleared, so that a further error will again record its code. /// The first error that occured. can be used with AL.GetString. Returns an Alenum representing the error state. When an OpenAL error occurs, the error state is set and will not be changed until the error state is retrieved using alGetError. Whenever alGetError is called, the error state is cleared and the last state (the current state when the call was made) is returned. To isolate error detection to a specific portion of code, alGetError should be called before the isolated section to clear the current error state. [DllImport(AL.Lib, EntryPoint = "alGetError", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern ALError GetError(); // AL_API ALenum AL_APIENTRY alGetError( void ); #endregion State retrieval #region Extension support. ///This function tests if a specific Extension is available for the OpenAL driver. /// A string naming the desired extension. Example: "EAX-RAM" /// Returns True if the Extension is available or False if not available. [DllImport(AL.Lib, EntryPoint = "alIsExtensionPresent", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern bool IsExtensionPresent([In] string extname); // AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname ); /// This function returns the address of an OpenAL extension function. Handle with care. /// A string containing the function name. /// The return value is a pointer to the specified function. The return value will be IntPtr.Zero if the function is not found. [DllImport(AL.Lib, EntryPoint = "alGetProcAddress", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern IntPtr GetProcAddress([In] string fname); // AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname ); /// This function returns the enumeration value of an OpenAL token, described by a string. /// A string describing an OpenAL token. Example "AL_DISTANCE_MODEL" /// Returns the actual ALenum described by a string. Returns 0 if the string doesn’t describe a valid OpenAL token. [DllImport(AL.Lib, EntryPoint = "alGetEnumValue", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern int GetEnumValue([In] string ename); // AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename ); #endregion Extension support. /* Listener * Listener represents the location and orientation of the * 'user' in 3D-space. * * Properties include: - * * Gain AL_GAIN ALfloat * Position AL_POSITION ALfloat[3] * Velocity AL_VELOCITY ALfloat[3] * Orientation AL_ORIENTATION ALfloat[6] (Forward then Up vectors) */ #region Set Listener parameters /// This function sets a floating-point property for the listener. /// The name of the attribute to be set: ALListenerf.Gain /// The float value to set the attribute to. [DllImport(AL.Lib, EntryPoint = "alListenerf", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Listener(ALListenerf param, float value); // AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value ); /// This function sets a floating-point property for the listener. /// The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity /// The value to set the attribute to. /// The value to set the attribute to. /// The value to set the attribute to. [DllImport(AL.Lib, EntryPoint = "alListener3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Listener(ALListener3f param, float value1, float value2, float value3); // AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); /// This function sets a Math.Vector3 property for the listener. /// The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity /// The Math.Vector3 to set the attribute to. public static void Listener(ALListener3f param, ref Vector3 values) { Listener(param, values.X, values.Y, values.Z); } [DllImport(AL.Lib, EntryPoint = "alListenerfv", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] unsafe private static extern void ListenerPrivate(ALListenerfv param, float* values); // AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values ); /// This function sets a floating-point vector property of the listener. /// The name of the attribute to be set: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation /// Pointer to floating-point vector values. public static void Listener(ALListenerfv param, ref float[] values) { unsafe { fixed (float* ptr = &values[0]) { ListenerPrivate(param, ptr); } } } /// This function sets two Math.Vector3 properties of the listener. /// The name of the attribute to be set: ALListenerfv.Orientation /// A Math.Vector3 for the At-Vector. /// A Math.Vector3 for the Up-Vector. public static void Listener(ALListenerfv param, ref Vector3 at, ref Vector3 up) { float[] temp = new float[6]; temp[0] = at.X; temp[1] = at.Y; temp[2] = at.Z; temp[3] = up.X; temp[4] = up.Y; temp[5] = up.Z; unsafe { fixed (float* ptr = &temp[0]) { ListenerPrivate(param, ptr); } } } // Not used by any Enums // AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value ); // AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ); // AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values ); #endregion Set Listener parameters #region Get Listener parameters /// This function retrieves a floating-point property of the listener. /// the name of the attribute to be retrieved: ALListenerf.Gain /// a pointer to the floating-point value being retrieved. [DllImport(AL.Lib, EntryPoint = "alGetListenerf", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetListener(ALListenerf param, [Out] out float value); // AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value ); /// This function retrieves a set of three floating-point values from a property of the listener. /// The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity /// Pointers to the three floating-point being retrieved. /// Pointers to the three floating-point being retrieved. /// Pointers to the three floating-point being retrieved. [DllImport(AL.Lib, EntryPoint = "alGetListener3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetListener(ALListener3f param, [Out] out float value1, [Out] out float value2, [Out] out float value3); // AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); /// This function retrieves a Math.Vector3 from a property of the listener. /// The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity /// A Math.Vector3 to hold the three floats being retrieved. public static void GetListener(ALListener3f param, out Vector3 values) { GetListener(param, out values.X, out values.Y, out values.Z); } /// This function retrieves a floating-point vector property of the listener. You must pin it manually. /// the name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation /// A pointer to the floating-point vector value being retrieved. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetListenerfv", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] unsafe public static extern void GetListener(ALListenerfv param, float* values); // AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values ); /// This function retrieves two Math.Vector3 properties of the listener. /// the name of the attribute to be retrieved: ALListenerfv.Orientation /// A Math.Vector3 for the At-Vector. /// A Math.Vector3 for the Up-Vector. public static void GetListener(ALListenerfv param, out Vector3 at, out Vector3 up) { float[] pinned = new float[6]; // should lose scope when the function exits unsafe { fixed (float* ptr = &pinned[0]) { GetListener(param, ptr); at.X = pinned[0]; at.Y = pinned[1]; at.Z = pinned[2]; up.X = pinned[3]; up.Y = pinned[4]; up.Z = pinned[5]; } } } // Not used by any Enum: // AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value ); // AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); // AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values ); #endregion Get Listener parameters /* Source * Sources represent individual sound objects in 3D-space. * Sources take the PCM buffer provided in the specified Buffer, * apply Source-specific modifications, and then * submit them to be mixed according to spatial arrangement etc. * * Properties include: - * * Position AL_POSITION ALfloat[3] * Velocity AL_VELOCITY ALfloat[3] * Direction AL_DIRECTION ALfloat[3] * Head Relative Mode AL_SOURCE_RELATIVE ALint (AL_TRUE or AL_FALSE) * Looping AL_LOOPING ALint (AL_TRUE or AL_FALSE) * * Reference Distance AL_REFERENCE_DISTANCE ALfloat * Max Distance AL_MAX_DISTANCE ALfloat * RollOff Factor AL_ROLLOFF_FACTOR ALfloat * Pitch AL_PITCH ALfloat * Gain AL_GAIN ALfloat * Min Gain AL_MIN_GAIN ALfloat * Max Gain AL_MAX_GAIN ALfloat * Inner Angle AL_CONE_INNER_ANGLE ALint or ALfloat * Outer Angle AL_CONE_OUTER_ANGLE ALint or ALfloat * Cone Outer Gain AL_CONE_OUTER_GAIN ALint or ALfloat * * MS Offset AL_MSEC_OFFSET ALint or ALfloat * Byte Offset AL_BYTE_OFFSET ALint or ALfloat * Sample Offset AL_SAMPLE_OFFSET ALint or ALfloat * Attached Buffer AL_BUFFER ALint * * State (Query only) AL_SOURCE_STATE ALint * Buffers Queued (Query only) AL_BUFFERS_QUEUED ALint * Buffers Processed (Query only) AL_BUFFERS_PROCESSED ALint */ #region Create Source objects #region GenSources() [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] unsafe private static extern void GenSourcesPrivate(int n, [Out] uint* sources); // AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* Sources ); /// This function generates one or more sources. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// The number of sources to be generated. /// Pointer to an array of uint values which will store the names of the new sources. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GenSources(int n, out uint sources); /// This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// The number of sources to be generated. /// Pointer to an array of int values which will store the names of the new sources. [CLSCompliant(true)] [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GenSources(int n, out int sources); /// This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// Pointer to an array of int values which will store the names of the new sources. [CLSCompliant(true)] public static void GenSources(int[] sources) { uint[] temp = new uint[sources.Length]; GenSources(temp.Length, out temp[0]); for (int i = 0; i < temp.Length; i++) { sources[i] = (int)temp[i]; } } /// This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// The number of sources to be generated. /// Pointer to an array of int values which will store the names of the new sources. [CLSCompliant(true)] public static int[] GenSources(int n) { uint[] temp = new uint[n]; GenSources(temp.Length, out temp[0]); int[] sources = new int[n]; for (int i = 0; i < temp.Length; i++) { sources[i] = (int)temp[i]; } return sources; } /// This function generates one source only. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// Pointer to an int value which will store the name of the new source. [CLSCompliant(true)] public static int GenSource() { int temp; GenSources(1, out temp); return (int)temp; } /// This function generates one source only. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei). /// Pointer to an uint value which will store the name of the new source. [CLSCompliant(false)] public static void GenSource(out uint source) { GenSources(1, out source); } #endregion GenSources() #region DeleteSources() /// This function deletes one or more sources. /// The number of sources to be deleted. /// Pointer to an array of source names identifying the sources to be deleted. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] unsafe public static extern void DeleteSources(int n, [In] uint* sources); // Delete Source objects // AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* Sources ); /// This function deletes one or more sources. /// The number of sources to be deleted. /// Reference to a single source, or an array of source names identifying the sources to be deleted. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DeleteSources(int n, ref uint sources); /// This function deletes one or more sources. /// The number of sources to be deleted. /// Reference to a single source, or an array of source names identifying the sources to be deleted. [CLSCompliant(true)] [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DeleteSources(int n, ref int sources); /// This function deletes one or more sources. /// An array of source names identifying the sources to be deleted. [CLSCompliant(false)] public static void DeleteSources(uint[] sources) { if (sources == null) throw new ArgumentNullException(); if (sources.Length == 0) throw new ArgumentOutOfRangeException(); DeleteBuffers(sources.Length, ref sources[0]); } /// This function deletes one or more sources. /// An array of source names identifying the sources to be deleted. [CLSCompliant(true)] public static void DeleteSources(int[] sources) { if (sources == null) throw new ArgumentNullException(); if (sources.Length == 0) throw new ArgumentOutOfRangeException(); DeleteBuffers(sources.Length, ref sources[0]); } /// This function deletes one source only. /// Pointer to a source name identifying the source to be deleted. [CLSCompliant(false)] public static void DeleteSource(ref uint source) { DeleteSources(1, ref source); } /// This function deletes one source only. /// Pointer to a source name identifying the source to be deleted. [CLSCompliant(true)] public static void DeleteSource(int source) { DeleteSources(1, ref source); } #endregion DeleteSources() #region IsSource() /// This function tests if a source name is valid, returning True if valid and False if not. /// A source name to be tested for validity /// Success. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alIsSource", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern bool IsSource(uint sid); // AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid ); /// This function tests if a source name is valid, returning True if valid and False if not. /// A source name to be tested for validity /// Success. [CLSCompliant(true)] public static bool IsSource(int sid) { return IsSource((uint)sid); } #endregion IsSource() #endregion Create Source objects #region Set Source parameters #region Sourcef /// This function sets a floating-point property of a source. /// Source name whose attribute is being set /// The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. /// The value to set the attribute to. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcef", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Source(uint sid, ALSourcef param, float value); // AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); /// This function sets a floating-point property of a source. /// Source name whose attribute is being set /// The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. /// The value to set the attribute to. [CLSCompliant(true)] public static void Source(int sid, ALSourcef param, float value) { Source((uint)sid, param, value); } #endregion Sourcef #region Source3f /// This function sets a source property requiring three floating-point values. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSource3f.Position, Velocity, Direction. /// The three ALfloat values which the attribute will be set to. /// The three ALfloat values which the attribute will be set to. /// The three ALfloat values which the attribute will be set to. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSource3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Source(uint sid, ALSource3f param, float value1, float value2, float value3); // AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); /// This function sets a source property requiring three floating-point values. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSource3f.Position, Velocity, Direction. /// The three ALfloat values which the attribute will be set to. /// The three ALfloat values which the attribute will be set to. /// The three ALfloat values which the attribute will be set to. [CLSCompliant(true)] public static void Source(int sid, ALSource3f param, float value1, float value2, float value3) { Source((uint)sid, param, value1, value2, value3); } /// This function sets a source property requiring three floating-point values. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSource3f.Position, Velocity, Direction. /// A Math.Vector3 which the attribute will be set to. [CLSCompliant(false)] public static void Source(uint sid, ALSource3f param, ref Vector3 values) { Source(sid, param, values.X, values.Y, values.Z); } /// This function sets a source property requiring three floating-point values. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSource3f.Position, Velocity, Direction. /// A Math.Vector3 which the attribute will be set to. [CLSCompliant(true)] public static void Source(int sid, ALSource3f param, ref Vector3 values) { Source((uint)sid, param, values.X, values.Y, values.Z); } #endregion Source3f #region Sourcei /// This function sets an integer property of a source. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState. /// The value to set the attribute to. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcei", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Source(uint sid, ALSourcei param, int value); // AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); /// This function sets an integer property of a source. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState. /// The value to set the attribute to. [CLSCompliant(true)] public static void Source(int sid, ALSourcei param, int value) { Source((uint)sid, param, value); } /// This function sets an bool property of a source. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSourceb.SourceRelative, Looping. /// The value to set the attribute to. [CLSCompliant(false)] public static void Source(uint sid, ALSourceb param, bool value) { Source(sid, (ALSourcei)param, (value) ? 1 : 0); } /// This function sets an bool property of a source. /// Source name whose attribute is being set. /// The name of the attribute to set: ALSourceb.SourceRelative, Looping. /// The value to set the attribute to. [CLSCompliant(true)] public static void Source(int sid, ALSourceb param, bool value) { Source((uint)sid, (ALSourcei)param, (value) ? 1 : 0); } /// (Helper) Binds a Buffer to a Source handle. /// Source name to attach the Buffer to. /// Buffer name which is attached to the Source. [CLSCompliant(false)] public static void BindBufferToSource(uint source, uint buffer) { Source(source, ALSourcei.Buffer, (int)buffer); } /// (Helper) Binds a Buffer to a Source handle. /// Source name to attach the Buffer to. /// Buffer name which is attached to the Source. [CLSCompliant(true)] public static void BindBufferToSource(int source, int buffer) { Source((uint)source, ALSourcei.Buffer, buffer); } #endregion Sourcei #region Source3i /// This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots. /// Source name whose attribute is being set. /// The name of the attribute to set: EfxAuxiliarySendFilter /// The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID /// The value to set the attribute to. (EFX Extension) The Auxiliary Send number. ///The value to set the attribute to. (EFX Extension) optional Filter ID. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSource3i", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void Source(uint sid, ALSource3i param, int value1, int value2, int value3); // AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); /// This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots. /// Source name whose attribute is being set. /// The name of the attribute to set: EfxAuxiliarySendFilter /// The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID /// The value to set the attribute to. (EFX Extension) The Auxiliary Send number. ///The value to set the attribute to. (EFX Extension) optional Filter ID. [CLSCompliant(true)] public static void Source(int sid, ALSource3i param, int value1, int value2, int value3) { Source((uint)sid, param, value1, value2, value3); } #endregion Source3i // Not used by any Enum: // AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values ); // AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values ); #endregion Set Source parameters #region Get Source parameters #region GetSourcef /// This function retrieves a floating-point property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. /// A pointer to the floating-point value being retrieved [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSourcef", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetSource(uint sid, ALSourcef param, [Out] out float value); // AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value ); /// This function retrieves a floating-point property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency. /// A pointer to the floating-point value being retrieved [CLSCompliant(true)] public static void GetSource(int sid, ALSourcef param, out float value) { GetSource((uint)sid, param, out value); } #endregion GetSourcef #region GetSource3f /// This function retrieves three floating-point values representing a property of a source. /// Source name whose attribute is being retrieved. /// the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. /// Pointer to the value to retrieve. /// Pointer to the value to retrieve. /// Pointer to the value to retrieve. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSource3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetSource(uint sid, ALSource3f param, [Out] out float value1, [Out] out float value2, [Out] out float value3); // AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); /// This function retrieves three floating-point values representing a property of a source. /// Source name whose attribute is being retrieved. /// the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. /// Pointer to the value to retrieve. /// Pointer to the value to retrieve. /// Pointer to the value to retrieve. [CLSCompliant(true)] public static void GetSource(int sid, ALSource3f param, out float value1, out float value2, out float value3) { GetSource((uint)sid, param, out value1, out value2, out value3); } /// This function retrieves three floating-point values representing a property of a source. /// Source name whose attribute is being retrieved. /// the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. /// A Math.Vector3 to retrieve the values to. [CLSCompliant(false)] public static void GetSource(uint sid, ALSource3f param, out Vector3 values) { GetSource(sid, param, out values.X, out values.Y, out values.Z); } /// This function retrieves three floating-point values representing a property of a source. /// Source name whose attribute is being retrieved. /// the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction. /// A Math.Vector3 to retrieve the values to. [CLSCompliant(true)] public static void GetSource(int sid, ALSource3f param, out Vector3 values) { GetSource((uint)sid, param, out values.X, out values.Y, out values.Z); } #endregion GetSource3f #region GetSourcei /// This function retrieves an integer property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed. /// A pointer to the integer value being retrieved. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSourcei", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetSource(uint sid, ALGetSourcei param, [Out] out int value); // AL_API void AL_APIENTRY alGetSourcei( ALuint sid, ALenum param, ALint* value ); /// This function retrieves an integer property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed. /// A pointer to the integer value being retrieved. [CLSCompliant(true)] public static void GetSource(int sid, ALGetSourcei param, out int value) { GetSource((uint)sid, param, out value); } /// This function retrieves a bool property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to get: ALSourceb.SourceRelative, Looping. /// A pointer to the bool value being retrieved. [CLSCompliant(false)] public static void GetSource(uint sid, ALSourceb param, out bool value) { int result; GetSource(sid, (ALGetSourcei)param, out result); value = result != 0; } /// This function retrieves a bool property of a source. /// Source name whose attribute is being retrieved. /// The name of the attribute to get: ALSourceb.SourceRelative, Looping. /// A pointer to the bool value being retrieved. [CLSCompliant(true)] public static void GetSource(int sid, ALSourceb param, out bool value) { int result; GetSource((uint)sid, (ALGetSourcei)param, out result); value = result != 0; } #endregion GetSourcei // Not used by any Enum: // AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); // AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values ); // AL_API void AL_APIENTRY alGetSourceiv( ALuint sid, ALenum param, ALint* values ); #endregion Get Source parameters #region Source vector based playback calls #region SourcePlay /// This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The number of sources to be played. /// A pointer to an array of sources to be played. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePlayv"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourcePlay(int ns, [In] uint* sids); // AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids ); /// This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The number of sources to be played. /// A pointer to an array of sources to be played. [CLSCompliant(false)] public static void SourcePlay(int ns, uint[] sids) { unsafe { fixed (uint* ptr = sids) { SourcePlay(ns, ptr); } } } /// This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The number of sources to be played. /// A pointer to an array of sources to be played. [CLSCompliant(true)] public static void SourcePlay(int ns, int[] sids) { uint[] temp = new uint[ns]; for (int i = 0; i < ns; i++) { temp[i] = (uint)sids[i]; } SourcePlay(ns, temp); } /// This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The number of sources to be played. /// A pointer to an array of sources to be played. [CLSCompliant(false)] public static void SourcePlay(int ns, ref uint sids) { unsafe { fixed (uint* ptr = &sids) { SourcePlay(ns, ptr); } } } #endregion SourcePlay #region SourceStop /// This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. /// The number of sources to stop. /// A pointer to an array of sources to be stopped. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceStopv"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourceStop(int ns, [In] uint* sids); // AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids ); /// This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. /// The number of sources to stop. /// A pointer to an array of sources to be stopped. [CLSCompliant(false)] public static void SourceStop(int ns, uint[] sids) { unsafe { fixed (uint* ptr = sids) { SourceStop(ns, ptr); } } } /// This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. /// The number of sources to stop. /// A pointer to an array of sources to be stopped. [CLSCompliant(true)] public static void SourceStop(int ns, int[] sids) { uint[] temp = new uint[ns]; for (int i = 0; i < ns; i++) { temp[i] = (uint)sids[i]; } SourceStop(ns, temp); } /// This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped. /// The number of sources to stop. /// A pointer to an array of sources to be stopped. [CLSCompliant(false)] public static void SourceStop(int ns, ref uint sids) { unsafe { fixed (uint* ptr = &sids) { SourceStop(ns, ptr); } } } #endregion SourceStop #region SourceRewind /// This function stops a set of sources and sets all their states to ALSourceState.Initial. /// The number of sources to be rewound. /// A pointer to an array of sources to be rewound. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceRewindv"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourceRewind(int ns, [In] uint* sids); // AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids ); /// This function stops a set of sources and sets all their states to ALSourceState.Initial. /// The number of sources to be rewound. /// A pointer to an array of sources to be rewound. [CLSCompliant(false)] public static void SourceRewind(int ns, uint[] sids) { unsafe { fixed (uint* ptr = sids) { SourceRewind(ns, ptr); } } } /// This function stops a set of sources and sets all their states to ALSourceState.Initial. /// The number of sources to be rewound. /// A pointer to an array of sources to be rewound. [CLSCompliant(true)] public static void SourceRewind(int ns, int[] sids) { uint[] temp = new uint[ns]; for (int i = 0; i < ns; i++) { temp[i] = (uint)sids[i]; } SourceRewind(ns, temp); } /// This function stops a set of sources and sets all their states to ALSourceState.Initial. /// The number of sources to be rewound. /// A pointer to an array of sources to be rewound. [CLSCompliant(false)] public static void SourceRewind(int ns, ref uint sids) { unsafe { fixed (uint* ptr = &sids) { SourceRewind(ns, ptr); } } } #endregion SourceRewind #region SourcePause /// This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. /// The number of sources to be paused. /// A pointer to an array of sources to be paused. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePausev"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourcePause(int ns, [In] uint* sids); // AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids ); /// This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. /// The number of sources to be paused. /// A pointer to an array of sources to be paused. [CLSCompliant(false)] public static void SourcePause(int ns, uint[] sids) { unsafe { fixed (uint* ptr = sids) { SourcePause(ns, ptr); } } } /// This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. /// The number of sources to be paused. /// A pointer to an array of sources to be paused. [CLSCompliant(true)] public static void SourcePause(int ns, int[] sids) { uint[] temp = new uint[ns]; for (int i = 0; i < ns; i++) { temp[i] = (uint)sids[i]; } SourcePause(ns, temp); } /// This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused. /// The number of sources to be paused. /// A pointer to an array of sources to be paused. [CLSCompliant(false)] public static void SourcePause(int ns, ref uint sids) { unsafe { fixed (uint* ptr = &sids) { SourcePause(ns, ptr); } } } #endregion SourcePause #endregion Source vector based playback calls #region Source based playback calls #region SourcePlay /// This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The name of the source to be played. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePlay", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void SourcePlay(uint sid); // AL_API void AL_APIENTRY alSourcePlay( ALuint sid ); /// This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state. /// The name of the source to be played. [CLSCompliant(true)] public static void SourcePlay(int sid) { SourcePlay((uint)sid); } #endregion SourcePlay #region SourceStop /// This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped. /// The name of the source to be stopped. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceStop", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void SourceStop(uint sid); // AL_API void AL_APIENTRY alSourceStop( ALuint sid ); /// This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped. /// The name of the source to be stopped. [CLSCompliant(true)] public static void SourceStop(int sid) { SourceStop((uint)sid); } #endregion SourceStop #region SourceRewind /// This function stops the source and sets its state to ALSourceState.Initial. /// The name of the source to be rewound. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceRewind", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void SourceRewind(uint sid); // AL_API void AL_APIENTRY alSourceRewind( ALuint sid ); /// This function stops the source and sets its state to ALSourceState.Initial. /// The name of the source to be rewound. [CLSCompliant(true)] public static void SourceRewind(int sid) { SourceRewind((uint)sid); } #endregion SourceRewind #region SourcePause /// This function pauses a source. The paused source will have its state changed to ALSourceState.Paused. /// The name of the source to be paused. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePause", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void SourcePause(uint sid); // AL_API void AL_APIENTRY alSourcePause( ALuint sid ); /// This function pauses a source. The paused source will have its state changed to ALSourceState.Paused. /// The name of the source to be paused. [CLSCompliant(true)] public static void SourcePause(int sid) { SourcePause((uint)sid); } #endregion SourcePause #endregion Source based playback calls #region Source Queuing #region SourceQueueBuffers /// This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. /// The name of the source to queue buffers onto. /// The number of buffers to be queued. /// A pointer to an array of buffer names to be queued. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceQueueBuffers"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourceQueueBuffers(uint sid, int numEntries, [In] uint* bids); // AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids ); /// This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. /// The name of the source to queue buffers onto. /// The number of buffers to be queued. /// A pointer to an array of buffer names to be queued. [CLSCompliant(false)] public static void SourceQueueBuffers(uint sid, int numEntries, uint[] bids) { unsafe { fixed (uint* ptr = bids) { SourceQueueBuffers(sid, numEntries, ptr); } } } /// This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. /// The name of the source to queue buffers onto. /// The number of buffers to be queued. /// A pointer to an array of buffer names to be queued. [CLSCompliant(true)] public static void SourceQueueBuffers(int sid, int numEntries, int[] bids) { uint[] temp = new uint[numEntries]; for (int i = 0; i < numEntries; i++) { temp[i] = (uint)bids[i]; } SourceQueueBuffers((uint)sid, numEntries, temp); } /// This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. /// The name of the source to queue buffers onto. /// The number of buffers to be queued. /// A pointer to an array of buffer names to be queued. [CLSCompliant(false)] public static void SourceQueueBuffers(uint sid, int numEntries, ref uint bids) { unsafe { fixed (uint* ptr = &bids) { SourceQueueBuffers(sid, numEntries, ptr); } } } /// This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming. /// The name of the source to queue buffers onto. /// The name of the buffer to be queued. public static void SourceQueueBuffer(int source, int buffer) { unsafe { AL.SourceQueueBuffers((uint)source, 1, (uint*)&buffer); } } #endregion SourceQueueBuffers #region SourceUnqueueBuffers /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. /// A pointer to an array of buffer names that were removed. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity] unsafe public static extern void SourceUnqueueBuffers(uint sid, int numEntries, [In] uint* bids); // AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids ); /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. /// A pointer to an array of buffer names that were removed. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity] public static extern void SourceUnqueueBuffers(uint sid, int numEntries, [Out] uint[] bids); /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. /// A pointer to an array of buffer names that were removed. [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity] public static extern void SourceUnqueueBuffers(int sid, int numEntries, [Out] int[] bids); /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. /// A pointer to an array of buffer names that were removed. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity] public static extern void SourceUnqueueBuffers(uint sid, int numEntries, ref uint bids); /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. /// A pointer to an array of buffer names that were removed. [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity] public static extern void SourceUnqueueBuffers(int sid, int numEntries, ref int bids); /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. public static int SourceUnqueueBuffer(int sid) { uint buf; unsafe { SourceUnqueueBuffers((uint)sid, 1, &buf); } return (int)buf; } /// This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue. /// The name of the source to unqueue buffers from. /// The number of buffers to be unqueued. public static int[] SourceUnqueueBuffers(int sid, int numEntries) { if (numEntries <= 0) throw new ArgumentOutOfRangeException("numEntries", "Must be greater than zero."); int[] buf = new int[numEntries]; SourceUnqueueBuffers(sid, numEntries, buf); return buf; } #endregion SourceUnqueueBuffers #endregion Source Queuing /* * Buffer * Buffer objects are storage space for sample buffer. * Buffers are referred to by Sources. One Buffer can be used * by multiple Sources. * * Properties include: - * * Frequency (Query only) AL_FREQUENCY ALint * Size (Query only) AL_SIZE ALint * Bits (Query only) AL_BITS ALint * Channels (Query only) AL_CHANNELS ALint */ #region Buffer objects #region GenBuffers /// This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// The number of buffers to be generated. /// Pointer to an array of uint values which will store the names of the new buffers. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity] unsafe public static extern void GenBuffers(int n, [Out] uint* buffers); // AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* Buffers ); /// This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// The number of buffers to be generated. /// Pointer to an array of uint values which will store the names of the new buffers. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity] public static extern void GenBuffers(int n, out uint buffers); /// This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// The number of buffers to be generated. /// Pointer to an array of uint values which will store the names of the new buffers. [CLSCompliant(true)] [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity] public static extern void GenBuffers(int n, out int buffers); /// This function generates one or more buffers, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// The number of buffers to be generated. /// Pointer to an array of uint values which will store the names of the new buffers. [CLSCompliant(true)] public static int[] GenBuffers(int n) { int[] buffers = new int[n]; GenBuffers(buffers.Length, out buffers[0]); return buffers; } /// This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// Pointer to an uint value which will store the name of the new buffer. [CLSCompliant(true)] public static int GenBuffer() { int temp; GenBuffers(1, out temp); return (int)temp; } /// This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers). /// Pointer to an uint value which will store the names of the new buffer. [CLSCompliant(false)] public static void GenBuffer(out uint buffer) { GenBuffers(1, out buffer); } #endregion GenBuffers #region DeleteBuffers /// This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// The number of buffers to be deleted. /// Pointer to an array of buffer names identifying the buffers to be deleted. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] unsafe public static extern void DeleteBuffers(int n, [In] uint* buffers); // AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* Buffers ); /// This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// The number of buffers to be deleted. /// Pointer to an array of buffer names identifying the buffers to be deleted. [CLSCompliant(false)] [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DeleteBuffers(int n, [In] ref uint buffers); /// This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// The number of buffers to be deleted. /// Pointer to an array of buffer names identifying the buffers to be deleted. [CLSCompliant(true)] [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DeleteBuffers(int n, [In] ref int buffers); /// This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// Pointer to a buffer name identifying the buffer to be deleted. [CLSCompliant(false)] public static void DeleteBuffers(uint[] buffers) { if (buffers == null) throw new ArgumentNullException(); if (buffers.Length == 0) throw new ArgumentOutOfRangeException(); DeleteBuffers(buffers.Length, ref buffers[0]); } /// This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// Pointer to an array of buffer names identifying the buffers to be deleted. [CLSCompliant(true)] public static void DeleteBuffers(int[] buffers) { if (buffers == null) throw new ArgumentNullException(); if (buffers.Length == 0) throw new ArgumentOutOfRangeException(); DeleteBuffers(buffers.Length, ref buffers[0]); } /// This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// Pointer to a buffer name identifying the buffer to be deleted. [CLSCompliant(false)] public static void DeleteBuffer(ref uint buffer) { DeleteBuffers(1, ref buffer); } /// This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source. /// Pointer to a buffer name identifying the buffer to be deleted. [CLSCompliant(true)] public static void DeleteBuffer(int buffer) { DeleteBuffers(1, ref buffer); } #endregion DeleteBuffers #region IsBuffer /// This function tests if a buffer name is valid, returning True if valid, False if not. /// A buffer Handle previously allocated with . /// Success. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alIsBuffer", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern bool IsBuffer(uint bid); // AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid ); /// This function tests if a buffer name is valid, returning True if valid, False if not. /// A buffer Handle previously allocated with . /// Success. [CLSCompliant(true)] public static bool IsBuffer(int bid) { uint temp = (uint)bid; return IsBuffer(temp); } #endregion IsBuffer #region BufferData /// This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. /// buffer Handle/Name to be filled with buffer. /// Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. /// Pointer to a pinned audio buffer. /// The size of the audio buffer in bytes. /// The frequency of the audio buffer. [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alBufferData", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void BufferData(uint bid, ALFormat format, IntPtr buffer, int size, int freq); // AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* buffer, ALsizei size, ALsizei freq ); /// This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. /// buffer Handle/Name to be filled with buffer. /// Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. /// Pointer to a pinned audio buffer. /// The size of the audio buffer in bytes. /// The frequency of the audio buffer. [CLSCompliant(true)] public static void BufferData(int bid, ALFormat format, IntPtr buffer, int size, int freq) { BufferData((uint)bid, format, buffer, size, freq); } /// This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well. /// buffer Handle/Name to be filled with buffer. /// Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16. /// The audio buffer. /// The size of the audio buffer in bytes. /// The frequency of the audio buffer. public static void BufferData(int bid, ALFormat format, TBuffer[] buffer, int size, int freq) where TBuffer : struct { if (!BlittableValueType.Check(buffer)) throw new ArgumentException("buffer"); GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned); try { BufferData(bid, format, handle.AddrOfPinnedObject(), size, freq); } finally { handle.Free(); } } /// This function fills a buffer with audio buffer (PCM format). /// Buffer Handle/Name to be filled with buffer. /// A SoundData object containing the buffer to upload. [CLSCompliant(false)] [Obsolete("Use BufferData instead.")] public static void BufferData(uint bid, SoundData buffer) { unsafe { fixed (byte* data_ptr = &buffer.Data[0]) BufferData(bid, buffer.SoundFormat.SampleFormatAsOpenALFormat, (IntPtr)data_ptr, buffer.Data.Length, buffer.SoundFormat.SampleRate); } } /// This function fills a buffer with audio buffer (PCM format). /// Buffer Handle/Name to be filled with buffer. /// A SoundData object containing the buffer to upload. public static void BufferData(int bid, SoundData data) { unsafe { fixed (byte* data_ptr = &data.Data[0]) BufferData(bid, data.SoundFormat.SampleFormatAsOpenALFormat, (IntPtr)data_ptr, data.Data.Length, data.SoundFormat.SampleRate); } } #endregion BufferData #endregion Buffer objects #region Set Buffer parameters (currently parameters can only be read) /* Remarks (from Manual) * There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by this call, * but this function may be used by OpenAL extensions. // AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); // AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values ); // AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); // AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); // AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values ); // AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); */ /* [DllImport( Al.Lib, EntryPoint = "alBuffer3f", ExactSpelling = true, CallingConvention = Al.Style ), SuppressUnmanagedCodeSecurity( )] public static extern void Buffer3f( uint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); public static void Bufferv3( uint bid, Alenum param, ref Vector3 values ) { Buffer3f( bid, param, values.X, values.Y, values.Z ); }*/ #endregion Set Buffer parameters #region Get Buffer parameters #region GetBufferi /// This function retrieves an integer property of a buffer. /// Buffer name whose attribute is being retrieved /// The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous). /// A pointer to an int to hold the retrieved buffer [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetBufferi", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void GetBuffer(uint bid, ALGetBufferi param, [Out] out int value); // AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value ); /// This function retrieves an integer property of a buffer. /// Buffer name whose attribute is being retrieved /// The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous). /// A pointer to an int to hold the retrieved buffer [CLSCompliant(true)] public static void GetBuffer(int bid, ALGetBufferi param, out int value) { GetBuffer((uint)bid, param, out value); } #endregion GetBufferi // AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value ); // AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); // AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values ); // AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); // AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values ); #endregion Get Buffer parameters #region Global Parameters /// AL.DopplerFactor is a simple scaling of source and listener velocities to exaggerate or deemphasize the Doppler (pitch) shift resulting from the calculation. /// A negative value will result in an error, the command is then ignored. The default value is 1f. The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound. [DllImport(AL.Lib, EntryPoint = "alDopplerFactor", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DopplerFactor(float value); // AL_API void AL_APIENTRY alDopplerFactor( ALfloat value ); /// This function is deprecated and should not be used. /// The default is 1.0f. [DllImport(AL.Lib, EntryPoint = "alDopplerVelocity", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DopplerVelocity(float value); // AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value ); /// AL.SpeedOfSound allows the application to change the reference (propagation) speed used in the Doppler calculation. The source and listener velocities should be expressed in the same units as the speed of sound. /// A negative or zero value will result in an error, and the command is ignored. Default: 343.3f (appropriate for velocity units of meters and air as the propagation medium). The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound. [DllImport(AL.Lib, EntryPoint = "alSpeedOfSound", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void SpeedOfSound(float value); // AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value ); /// This function selects the OpenAL distance model – ALDistanceModel.InverseDistance, ALDistanceModel.InverseDistanceClamped, ALDistanceModel.LinearDistance, ALDistanceModel.LinearDistanceClamped, ALDistanceModel.ExponentDistance, ALDistanceModel.ExponentDistanceClamped, or ALDistanceModel.None. The default distance model in OpenAL is ALDistanceModel.InverseDistanceClamped. /// /// The ALDistanceModel .InverseDistance model works according to the following formula: /// gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance)); /// /// The ALDistanceModel .InverseDistanceClamped model works according to the following formula: /// distance = max(distance,ALSourcef.ReferenceDistance); /// distance = min(distance,ALSourcef.MaxDistance); /// gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance)); /// /// The ALDistanceModel.LinearDistance model works according to the following formula: /// distance = min(distance, ALSourcef.MaxDistance) // avoid negative gain /// gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance)) /// /// The ALDistanceModel.LinearDistanceClamped model works according to the following formula: /// distance = max(distance, ALSourcef.ReferenceDistance) /// distance = min(distance, ALSourcef.MaxDistance) /// gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance)) /// /// The ALDistanceModel.ExponentDistance model works according to the following formula: /// gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor) /// /// The ALDistanceModel.ExponentDistanceClamped model works according to the following formula: /// distance = max(distance, ALSourcef.ReferenceDistance) /// distance = min(distance, ALSourcef.MaxDistance) /// gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor) /// /// The ALDistanceModel.None model works according to the following formula: /// gain = 1f; /// /// [DllImport(AL.Lib, EntryPoint = "alDistanceModel", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()] public static extern void DistanceModel(ALDistanceModel distancemodel); // AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel ); #endregion Global Parameters #region Helpers /// (Helper) Returns Source state information. /// The source to be queried. /// state information from OpenAL. [CLSCompliant(false)] public static ALSourceState GetSourceState(uint sid) { int temp; AL.GetSource(sid, ALGetSourcei.SourceState, out temp); return (ALSourceState)temp; } /// (Helper) Returns Source state information. /// The source to be queried. /// state information from OpenAL. [CLSCompliant(true)] public static ALSourceState GetSourceState(int sid) { int temp; AL.GetSource(sid, ALGetSourcei.SourceState, out temp); return (ALSourceState)temp; } /// (Helper) Returns Source type information. /// The source to be queried. /// type information from OpenAL. [CLSCompliant(false)] public static ALSourceType GetSourceType(uint sid) { int temp; AL.GetSource(sid, ALGetSourcei.SourceType, out temp); return (ALSourceType)temp; } /// (Helper) Returns Source type information. /// The source to be queried. /// type information from OpenAL. [CLSCompliant(true)] public static ALSourceType GetSourceType(int sid) { int temp; AL.GetSource(sid, ALGetSourcei.SourceType, out temp); return (ALSourceType)temp; } [CLSCompliant(true)] public static ALDistanceModel GetDistanceModel() { return (ALDistanceModel)AL.Get(ALGetInteger.DistanceModel); } #endregion Helpers } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/ALEnums.cs0000664000175000017500000005146411453131426023137 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlTokens.cs * C header: \OpenAL 1.1 SDK\include\Al.h * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; namespace OpenTK.Audio { ///A list of valid Enable/Disable/IsEnabled parameters public enum ALCapability : int { ///Currently no state toggles exist for vanilla OpenAL and no Extension uses it. Invalid = -1, } ///A list of valid 32-bit Float Listener/GetListener parameters public enum ALListenerf : int { ///Indicate the gain (Volume amplification) applied. Type: float Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is interpreted as zero volume and the channel is effectively disabled. Gain = 0x100A, ///(EFX Extension) This setting is critical if Air Absorption effects are enabled because the amount of Air Absorption applied is directly related to the real-world distance between the Source and the Listener. centimeters 0.01f meters 1.0f kilometers 1000.0f Range [float.MinValue .. float.MaxValue] Default: 1.0f EfxMetersPerUnit = 0x20004, } ///A list of valid Math.Vector3 Listener/GetListener parameters public enum ALListener3f : int { ///Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system. Position = 0x1004, ///Specify the current velocity in three dimensional space. Velocity = 0x1006, } ///A list of valid float[] Listener/GetListener parameters public enum ALListenerfv : int { ///Indicate Listener orientation. Expects two Vector3, At followed by Up. Orientation = 0x100F, } ///A list of valid 32-bit Float Source/GetSource parameters public enum ALSourcef : int { ///Source specific reference distance. Type: float Range: [0.0f - float.PositiveInfinity] At 0.0f, no distance attenuation occurs. Type: float Default: 1.0f. ReferenceDistance = 0x1020, ///Indicate distance above which Sources are not attenuated using the inverse clamped distance model. Default: float.PositiveInfinity Type: float Range: [0.0f - float.PositiveInfinity] MaxDistance = 0x1023, ///Source specific rolloff factor. Type: float Range: [0.0f - float.PositiveInfinity] RolloffFactor = 0x1021, ///Specify the pitch to be applied, either at Source, or on mixer results, at Listener. Range: [0.5f - 2.0f] Default: 1.0f Pitch = 0x1003, ///Indicate the gain (volume amplification) applied. Type: float. Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled. Gain = 0x100A, ///Indicate minimum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) MinGain = 0x100D, ///Indicate maximum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic) MaxGain = 0x100E, ///Directional Source, inner cone angle, in degrees. Range: [0-360] Default: 360 ConeInnerAngle = 0x1001, ///Directional Source, outer cone angle, in degrees. Range: [0-360] Default: 360 ConeOuterAngle = 0x1002, ///Directional Source, outer cone gain. Default: 0.0f Range: [0.0f - 1.0] (Logarithmic) ConeOuterGain = 0x1022, /// The playback position, expressed in seconds. SecOffset = 0x1024, // AL_EXT_OFFSET extension. ///(EFX Extension) This property is a multiplier on the amount of Air Absorption applied to the Source. The AL_AIR_ABSORPTION_FACTOR is multiplied by an internal Air Absorption Gain HF value of 0.994 (-0.05dB) per meter which represents normal atmospheric humidity and temperature. Range [0.0f .. 10.0f] Default: 0.0f EfxAirAbsorptionFactor = 0x20007, ///(EFX Extension) This property is defined the same way as the Reverb Room Rolloff property: it is one of two methods available in the Effect Extension to attenuate the reflected sound (early reflections and reverberation) according to source-listener distance. Range [0.0f .. 10.0f] Default: 0.0f EfxRoomRolloffFactor = 0x20008, ///(EFX Extension) A directed Source points in a specified direction. The Source sounds at full volume when the listener is directly in front of the source; it is attenuated as the listener circles the Source away from the front. Range [0.0f .. 1.0f] Default: 1.0f EfxConeOuterGainHighFrequency = 0x20009, } ///A list of valid Math.Vector3 Source/GetSource parameters public enum ALSource3f : int { ///Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system. Position = 0x1004, ///Specify the current velocity in three dimensional space. Velocity = 0x1006, ///Specify the current direction vector. Direction = 0x1005, } ///A list of valid 8-bit boolean Source/GetSource parameters public enum ALSourceb : int { ///Indicate that the Source has relative coordinates. Type: bool Range: [True, False] SourceRelative = 0x202, ///Indicate whether the Source is looping. Type: bool Range: [True, False] Default: False. Looping = 0x1007, ///(EFX Extension) If this Source property is set to True, this Source’s direct-path is automatically filtered according to the orientation of the source relative to the listener and the setting of the Source property Sourcef.ConeOuterGainHF. Type: bool Range [False, True] Default: True EfxDirectFilterGainHighFrequencyAuto = 0x2000A, ///(EFX Extension) If this Source property is set to True, the intensity of this Source’s reflected sound is automatically attenuated according to source-listener distance and source directivity (as determined by the cone parameters). If it is False, the reflected sound is not attenuated according to distance and directivity. Type: bool Range [False, True] Default: True EfxAuxiliarySendFilterGainAuto = 0x2000B, ///(EFX Extension) If this Source property is AL_TRUE (its default value), the intensity of this Source’s reflected sound at high frequencies will be automatically attenuated according to the high-frequency source directivity as set by the Sourcef.ConeOuterGainHF property. If this property is AL_FALSE, the Source’s reflected sound is not filtered at all according to the Source’s directivity. Type: bool Range [False, True] Default: True EfxAuxiliarySendFilterGainHighFrequencyAuto = 0x2000C, } ///A list of valid Int32 Source parameters public enum ALSourcei : int { ///The playback position, expressed in bytes. ByteOffset = 0x1026, // AL_EXT_OFFSET extension. ///The playback position, expressed in samples. SampleOffset = 0x1025, // AL_EXT_OFFSET extension. ///Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle. Buffer = 0x1009, ///Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison SourceType = 0x1027, ///(EFX Extension) This Source property is used to apply filtering on the direct-path (dry signal) of a Source. EfxDirectFilter = 0x20005, } ///A list of valid 3x Int32 Source/GetSource parameters public enum ALSource3i : int { ///(EFX Extension) This Source property is used to establish connections between Sources and Auxiliary Effect Slots. For a Source to feed an Effect that has been loaded into an Auxiliary Effect Slot the application must configure one of the Source’s auxiliary sends. This process involves setting 3 variables – the destination Auxiliary Effect Slot ID, the Auxiliary Send number, and an optional Filter ID. Type: uint Range: any valid Filter Handle. EfxAuxiliarySendFilter = 0x20006, } ///A list of valid Int32 GetSource parameters public enum ALGetSourcei : int { ///The playback position, expressed in bytes. AL_EXT_OFFSET Extension. ByteOffset = 0x1026, ///The playback position, expressed in samples. AL_EXT_OFFSET Extension. SampleOffset = 0x1025, ///Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle. Buffer = 0x1009, /// The state of the source (Stopped, Playing, etc.) Use the enum AlSourceState for comparison. SourceState = 0x1010, /// The number of buffers queued on this source. BuffersQueued = 0x1015, /// The number of buffers in the queue that have been processed. BuffersProcessed = 0x1016, ///Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison. SourceType = 0x1027, } /* public enum ALDeprecated : int { ///Deprecated. Specify the channel mask. (Creative) Type: uint Range: [0 - 255] ChannelMask = 0x3000, } */ ///Source state information, can be retrieved by AL.Source() with ALSourcei.SourceState. public enum ALSourceState : int { ///Default State when loaded, can be manually set with AL.SourceRewind(). Initial = 0x1011, ///The source is currently playing. Playing = 0x1012, ///The source has paused playback. Paused = 0x1013, ///The source is not playing. Stopped = 0x1014, } ///Source type information, can be retrieved by AL.Source() with ALSourcei.SourceType. public enum ALSourceType : int { ///Source is Static if a Buffer has been attached using AL.Source with the parameter Sourcei.Buffer. Static = 0x1028, ///Source is Streaming if one or more Buffers have been attached using AL.SourceQueueBuffers Streaming = 0x1029, ///Source is undetermined when it has a null Buffer attached Undetermined = 0x1030, } ///Sound samples: Format specifier. public enum ALFormat : int { ///1 Channel, 8 bits per sample. Mono8 = 0x1100, ///1 Channel, 16 bits per sample. Mono16 = 0x1101, ///2 Channels, 8 bits per sample each. Stereo8 = 0x1102, ///2 Channels, 16 bits per sample each. Stereo16 = 0x1103, /// 1 Channel, A-law encoded data. Requires Extension: AL_EXT_ALAW MonoALawExt = 0x10016, /// 2 Channels, A-law encoded data. Requires Extension: AL_EXT_ALAW StereoALawExt = 0x10017, /// 1 Channel, µ-law encoded data. Requires Extension: AL_EXT_MULAW MonoMuLawExt = 0x10014, /// 2 Channels, µ-law encoded data. Requires Extension: AL_EXT_MULAW StereoMuLawExt = 0x10015, /// Ogg Vorbis encoded data. Requires Extension: AL_EXT_vorbis VorbisExt = 0x10003, /// MP3 encoded data. Requires Extension: AL_EXT_mp3 Mp3Ext = 0x10020, /// 1 Channel, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4 MonoIma4Ext = 0x1300, /// 2 Channels, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4 StereoIma4Ext = 0x1301, /// 1 Channel, single-precision floating-point data. Requires Extension: AL_EXT_float32 MonoFloat32Ext = 0x10010, /// 2 Channels, single-precision floating-point data. Requires Extension: AL_EXT_float32 StereoFloat32Ext = 0x10011, /// 1 Channel, double-precision floating-point data. Requires Extension: AL_EXT_double MonoDoubleExt = 0x10012, /// 2 Channels, double-precision floating-point data. Requires Extension: AL_EXT_double StereoDoubleExt = 0x10013, /// Multichannel 5.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multi51Chn16Ext = 0x120B, /// Multichannel 5.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multi51Chn32Ext = 0x120C, /// Multichannel 5.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multi51Chn8Ext = 0x120A, /// Multichannel 6.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multi61Chn16Ext = 0x120E, /// Multichannel 6.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multi61Chn32Ext = 0x120F, /// Multichannel 6.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multi61Chn8Ext = 0x120D, /// Multichannel 7.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS Multi71Chn16Ext = 0x1211, /// Multichannel 7.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS Multi71Chn32Ext = 0x1212, /// Multichannel 7.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS Multi71Chn8Ext = 0x1210, /// Multichannel 4.0, 16-bit data. Requires Extension: AL_EXT_MCFORMATS MultiQuad16Ext = 0x1205, /// Multichannel 4.0, 32-bit data. Requires Extension: AL_EXT_MCFORMATS MultiQuad32Ext = 0x1206, /// Multichannel 4.0, 8-bit data. Requires Extension: AL_EXT_MCFORMATS MultiQuad8Ext = 0x1204, /// 1 Channel rear speaker, 16-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS MultiRear16Ext = 0x1208, /// 1 Channel rear speaker, 32-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS MultiRear32Ext = 0x1209, /// 1 Channel rear speaker, 8-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS MultiRear8Ext = 0x1207, } ///A list of valid Int32 GetBuffer parameters public enum ALGetBufferi : int { ///Sound sample's frequency, in units of hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component. Frequency = 0x2001, /// Bit depth of the buffer. Should be 8 or 16. Bits = 0x2002, /// Number of channels in buffer. > 1 is valid, but buffer won’t be positioned when played. 1 for Mono, 2 for Stereo. Channels = 0x2003, /// size of the Buffer in bytes. Size = 0x2004, // Deprecated: From Manual, not in header: AL_DATA ( i, iv ) original location where buffer was copied from generally useless, as was probably freed after buffer creation } ///Buffer state. Not supported for public use (yet). public enum ALBufferState : int { ///Buffer state. Not supported for public use (yet). Unused = 0x2010, ///Buffer state. Not supported for public use (yet). Pending = 0x2011, ///Buffer state. Not supported for public use (yet). Processed = 0x2012, } /// Returned by AL.GetError public enum ALError : int { ///No OpenAL Error. NoError = 0, ///Invalid Name paramater passed to OpenAL call. InvalidName = 0xA001, ///Invalid parameter passed to OpenAL call. IllegalEnum = 0xA002, ///Invalid parameter passed to OpenAL call. InvalidEnum = 0xA002, ///Invalid OpenAL enum parameter value. InvalidValue = 0xA003, ///Illegal OpenAL call. IllegalCommand = 0xA004, ///Illegal OpenAL call. InvalidOperation = 0xA004, ///No OpenAL memory left. OutOfMemory = 0xA005, } ///A list of valid string AL.Get() parameters public enum ALGetString : int { /// Gets the Vendor name. Vendor = 0xB001, /// Gets the driver version. Version = 0xB002, /// Gets the renderer mode. Renderer = 0xB003, /// Gets a list of all available Extensions, separated with spaces. Extensions = 0xB004, } ///A list of valid 32-bit Float AL.Get() parameters public enum ALGetFloat : int { ///Doppler scale. Default 1.0f DopplerFactor = 0xC000, ///Tweaks speed of propagation. This functionality is deprecated. DopplerVelocity = 0xC001, ///Speed of Sound in units per second. Default: 343.3f SpeedOfSound = 0xC003, } ///A list of valid Int32 AL.Get() parameters public enum ALGetInteger : int { ///See enum ALDistanceModel. DistanceModel = 0xD000, } /// Used by AL.DistanceModel(), the distance model can be retrieved by AL.Get() with ALGetInteger.DistanceModel public enum ALDistanceModel : int { ///Bypasses all distance attenuation calculation for all Sources. None = 0, ///InverseDistance is equivalent to the IASIG I3DL2 model with the exception that ALSourcef.ReferenceDistance does not imply any clamping. InverseDistance = 0xD001, ///InverseDistanceClamped is the IASIG I3DL2 model, with ALSourcef.ReferenceDistance indicating both the reference distance and the distance below which gain will be clamped. InverseDistanceClamped = 0xD002, ///AL_EXT_LINEAR_DISTANCE extension. LinearDistance = 0xD003, ///AL_EXT_LINEAR_DISTANCE extension. LinearDistanceClamped = 0xD004, ///AL_EXT_EXPONENT_DISTANCE extension. ExponentDistance = 0xD005, ///AL_EXT_EXPONENT_DISTANCE extension. ExponentDistanceClamped = 0xD006, } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionPresets.cs0000664000175000017500000010643511453131426026454 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* EfxPresets.cs * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; namespace OpenTK.Audio { public partial class EffectsExtension { // Todo: Add documentation // Todo: CLS compliance. #pragma warning disable 1591 [CLSCompliant(false)] public struct EaxReverb { public uint Environment; // TODO: EAX-EFX conversion public float EnvironmentSize; // TODO: EAX-EFX conversion public float EnvironmentDiffusion; // TODO: EAX-EFX conversion public int Room; // TODO: EAX-EFX conversion public int RoomHF; // TODO: EAX-EFX conversion public int RoomLF; // TODO: EAX-EFX conversion public float DecayTime; public float DecayHFRatio; public float DecayLFRatio; public int Reflections; // TODO: EAX-EFX conversion public float ReflectionsDelay; public Vector3 ReflectionsPan; public int Reverb; // TODO: EAX-EFX conversion public float ReverbDelay; public Vector3 ReverbPan; public float EchoTime; public float EchoDepth; public float ModulationTime; public float ModulationDepth; public float AirAbsorptionHF; public float HFReference; public float LFReference; public float RoomRolloffFactor; public uint Flags; // TODO: EAX-EFX conversion public EaxReverb(uint environment, float environmentSize, float environmentDiffusion, int room, int roomHF, int roomLF, float decayTime, float decayHFRatio, float decayLFRatio, int reflections, float reflectionsDelay, float reflectionsPanX, float reflectionsPanY, float reflectionsPanZ, int reverb, float reverbDelay, float reverbPanX, float reverbPanY, float reverbPanZ, float echoTime, float echoDepth, float modulationTime, float modulationDepth, float airAbsorptionHF, float hfReference, float lfReference, float roomRolloffFactor, uint flags) { Environment = environment; EnvironmentSize = environmentSize; EnvironmentDiffusion = environmentDiffusion; Room = room; RoomHF = roomHF; RoomLF = roomLF; DecayTime = decayTime; DecayHFRatio = decayHFRatio; DecayLFRatio = decayLFRatio; Reflections = reflections; ReflectionsDelay = reflectionsDelay; ReflectionsPan = new Vector3(reflectionsPanX, reflectionsPanY, reflectionsPanZ); Reverb = reverb; ReverbDelay = reverbDelay; ReverbPan = new Vector3(reverbPanX, reverbPanY, reverbPanZ); EchoTime = echoTime; EchoDepth = echoDepth; ModulationTime = modulationTime; ModulationDepth = modulationDepth; AirAbsorptionHF = airAbsorptionHF; HFReference = hfReference; LFReference = lfReference; RoomRolloffFactor = roomRolloffFactor; Flags = flags; } } // TODO: CLS compliance. [CLSCompliant(false)] public static void GetEaxFromEfxEax(ref EaxReverb input, out EfxEaxReverb output) { output.AirAbsorptionGainHF = 0.995f; // input.AirAbsorptionHF * somegain? output.RoomRolloffFactor = input.RoomRolloffFactor; output.Density = 1f; // todo, currently default output.Diffusion = 1f; // todo, currently default output.DecayTime = input.DecayTime; output.DecayHFLimit = 1; // todo, currently default output.DecayHFRatio = input.DecayHFRatio; output.DecayLFRatio = input.DecayLFRatio; output.EchoDepth = input.EchoDepth; output.EchoTime = input.EchoTime; output.Gain = 0.32f; // todo, currently default output.GainHF = 0.89f; // todo, currently default output.GainLF = 1f;// todo, currently default output.LFReference = input.LFReference; output.HFReference = input.HFReference; output.LateReverbDelay = input.ReverbDelay; output.LateReverbGain = 1.26f; // todo, currently default output.LateReverbPan = input.ReverbPan; output.ModulationDepth = input.ModulationDepth; output.ModulationTime = input.ModulationTime; output.ReflectionsDelay = input.ReflectionsDelay; output.ReflectionsGain = 0.05f; // todo, currently default output.ReflectionsPan = input.ReflectionsPan; } public struct EfxEaxReverb { public float Density; public float Diffusion; public float Gain; public float GainHF; public float GainLF; public float DecayTime; public float DecayHFRatio; public float DecayLFRatio; public float ReflectionsGain; public float ReflectionsDelay; public Vector3 ReflectionsPan; public float LateReverbGain; public float LateReverbDelay; public Vector3 LateReverbPan; public float EchoTime; public float EchoDepth; public float ModulationTime; public float ModulationDepth; public float AirAbsorptionGainHF; public float HFReference; public float LFReference; public float RoomRolloffFactor; public int DecayHFLimit; } /* public struct _EAXOBSTRUCTIONPROPERTIES { public int lObstruction; public float flObstructionLFRatio; } _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES;//, *LPEAXOBSTRUCTIONPROPERTIES; public struct _EAXOCCLUSIONPROPERTIES { public int lOcclusion; public float flOcclusionLFRatio; public float flOcclusionRoomRatio; public float flOcclusionDirectRatio; } _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES;//, *LPEAXOCCLUSIONPROPERTIES; public struct _EAXEXCLUSIONPROPERTIES { public int lExclusion; public float flExclusionLFRatio; } _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES;//, *LPEAXEXCLUSIONPROPERTIES; public struct _EFXLOWPASSFILTER { public float flGain; public float flGainHF; } _EFXLOWPASSFILTER EFXLOWPASSFILTER;//, *LPEFXLOWPASSFILTER; void ConvertReverbParameters(EAXREVERBPROPERTIES *pEAXProp, EFXEAXREVERBPROPERTIES *pEFXEAXReverb); void ConvertObstructionParameters(EAXOBSTRUCTIONPROPERTIES *pObProp, EFXLOWPASSFILTER *pDirectLowPassFilter); void ConvertExclusionParameters(EAXEXCLUSIONPROPERTIES *pExProp, EFXLOWPASSFILTER *pSendLowPassFilter); void ConvertOcclusionParameters(EAXOCCLUSIONPROPERTIES *pOcProp, EFXLOWPASSFILTER *pDirectLowPassFilter, EFXLOWPASSFILTER *pSendLowPassFilter); */ // TODO: CLS compliance. ///EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to EFX EAX Reverb Presets for use with the OpenAL Effects Extension. [CLSCompliant(false)] public static class ReverbPresets { // CASTLE PRESETS public static EaxReverb CastleSmallRoom = new EaxReverb(26, 8.3f, 0.890f, -1000, -800, -2000, 1.22f, 0.83f, 0.31f, -100, 0.022f, 0f, 0f, 0f, 600, 0.011f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleShortPassage = new EaxReverb(26, 8.3f, 0.890f, -1000, -1000, -2000, 2.32f, 0.83f, 0.31f, -100, 0.007f, 0f, 0f, 0f, 200, 0.023f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleMediumroom = new EaxReverb(26, 8.3f, 0.930f, -1000, -1100, -2000, 2.04f, 0.83f, 0.46f, -400, 0.022f, 0f, 0f, 0f, 400, 0.011f, 0f, 0f, 0f, 0.155f, 0.030f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleLongpassage = new EaxReverb(26, 8.3f, 0.890f, -1000, -800, -2000, 3.42f, 0.83f, 0.31f, -100, 0.007f, 0f, 0f, 0f, 300, 0.023f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleLargeroom = new EaxReverb(26, 8.3f, 0.820f, -1000, -1100, -1800, 2.53f, 0.83f, 0.50f, -700, 0.034f, 0f, 0f, 0f, 200, 0.016f, 0f, 0f, 0f, 0.185f, 0.070f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleHall = new EaxReverb(26, 8.3f, 0.810f, -1000, -1100, -1500, 3.14f, 0.79f, 0.62f, -1500, 0.056f, 0f, 0f, 0f, 100, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleCupboard = new EaxReverb(26, 8.3f, 0.890f, -1000, -1100, -2000, 0.67f, 0.87f, 0.31f, 300, 0.010f, 0f, 0f, 0f, 1100, 0.007f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); public static EaxReverb CastleCourtyard = new EaxReverb(26, 8.3f, 0.420f, -1000, -700, -1400, 2.13f, 0.61f, 0.23f, -1300, 0.160f, 0f, 0f, 0f, -300, 0.036f, 0f, 0f, 0f, 0.250f, 0.370f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb CastleAlcove = new EaxReverb(26, 8.3f, 0.890f, -1000, -600, -2000, 1.64f, 0.87f, 0.31f, 00, 0.007f, 0f, 0f, 0f, 300, 0.034f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20); // FACTORY PRESETS public static EaxReverb FactoryAlcove = new EaxReverb(26, 1.8f, 0.590f, -1200, -200, -600, 3.14f, 0.65f, 1.31f, 300, 0.010f, 0f, 0f, 0f, 000, 0.038f, 0f, 0f, 0f, 0.114f, 0.100f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryShortpassage = new EaxReverb(26, 1.8f, 0.640f, -1200, -200, -600, 2.53f, 0.65f, 1.31f, 0, 0.010f, 0f, 0f, 0f, 200, 0.038f, 0f, 0f, 0f, 0.135f, 0.230f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryMediumroom = new EaxReverb(26, 1.9f, 0.820f, -1200, -200, -600, 2.76f, 0.65f, 1.31f, -1100, 0.022f, 0f, 0f, 0f, 300, 0.023f, 0f, 0f, 0f, 0.174f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryLongpassage = new EaxReverb(26, 1.8f, 0.640f, -1200, -200, -600, 4.06f, 0.65f, 1.31f, 0, 0.020f, 0f, 0f, 0f, 200, 0.037f, 0f, 0f, 0f, 0.135f, 0.230f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryLargeroom = new EaxReverb(26, 1.9f, 0.750f, -1200, -300, -400, 4.24f, 0.51f, 1.31f, -1500, 0.039f, 0f, 0f, 0f, 100, 0.023f, 0f, 0f, 0f, 0.231f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryHall = new EaxReverb(26, 1.9f, 0.750f, -1000, -300, -400, 7.43f, 0.51f, 1.31f, -2400, 0.073f, 0f, 0f, 0f, -100, 0.027f, 0f, 0f, 0f, 0.250f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryCupboard = new EaxReverb(26, 1.7f, 0.630f, -1200, -200, -600, 0.49f, 0.65f, 1.31f, 200, 0.010f, 0f, 0f, 0f, 600, 0.032f, 0f, 0f, 0f, 0.107f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactoryCourtyard = new EaxReverb(26, 1.7f, 0.570f, -1000, -1000, -400, 2.32f, 0.29f, 0.56f, -1300, 0.140f, 0f, 0f, 0f, -800, 0.039f, 0f, 0f, 0f, 0.250f, 0.290f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); public static EaxReverb FactorySmallroom = new EaxReverb(26, 1.8f, 0.820f, -1000, -200, -600, 1.72f, 0.65f, 1.31f, -300, 0.010f, 0f, 0f, 0f, 500, 0.024f, 0f, 0f, 0f, 0.119f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20); // ICE PALACE PRESETS public static EaxReverb IcepalaceAlcove = new EaxReverb(26, 2.7f, 0.840f, -1000, -500, -1100, 2.76f, 1.46f, 0.28f, 100, 0.010f, 0f, 0f, 0f, -100, 0.030f, 0f, 0f, 0f, 0.161f, 0.090f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceShortpassage = new EaxReverb(26, 2.7f, 0.750f, -1000, -500, -1100, 1.79f, 1.46f, 0.28f, -600, 0.010f, 0f, 0f, 0f, 100, 0.019f, 0f, 0f, 0f, 0.177f, 0.090f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceMediumroom = new EaxReverb(26, 2.7f, 0.870f, -1000, -500, -700, 2.22f, 1.53f, 0.32f, -800, 0.039f, 0f, 0f, 0f, 100, 0.027f, 0f, 0f, 0f, 0.186f, 0.120f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceLongpassage = new EaxReverb(26, 2.7f, 0.770f, -1000, -500, -800, 3.01f, 1.46f, 0.28f, -200, 0.012f, 0f, 0f, 0f, 200, 0.025f, 0f, 0f, 0f, 0.186f, 0.040f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceLargeroom = new EaxReverb(26, 2.9f, 0.810f, -1000, -500, -700, 3.14f, 1.53f, 0.32f, -1200, 0.039f, 0f, 0f, 0f, 000, 0.027f, 0f, 0f, 0f, 0.214f, 0.110f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceHall = new EaxReverb(26, 2.9f, 0.760f, -1000, -700, -500, 5.49f, 1.53f, 0.38f, -1900, 0.054f, 0f, 0f, 0f, -400, 0.052f, 0f, 0f, 0f, 0.226f, 0.110f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceCupboard = new EaxReverb(26, 2.7f, 0.830f, -1000, -600, -1300, 0.76f, 1.53f, 0.26f, 100, 0.012f, 0f, 0f, 0f, 600, 0.016f, 0f, 0f, 0f, 0.143f, 0.080f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceCourtyard = new EaxReverb(26, 2.9f, 0.590f, -1000, -1100, -1000, 2.04f, 1.20f, 0.38f, -1000, 0.173f, 0f, 0f, 0f, -1000, 0.043f, 0f, 0f, 0f, 0.235f, 0.480f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); public static EaxReverb IcepalaceSmallroom = new EaxReverb(26, 2.7f, 0.840f, -1000, -500, -1100, 1.51f, 1.53f, 0.27f, -100, 0.010f, 0f, 0f, 0f, 300, 0.011f, 0f, 0f, 0f, 0.164f, 0.140f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20); // SPACE STATION PRESETS public static EaxReverb SpacestationAlcove = new EaxReverb(26, 1.5f, 0.780f, -1000, -300, -100, 1.16f, 0.81f, 0.55f, 300, 0.007f, 0f, 0f, 0f, 000, 0.018f, 0f, 0f, 0f, 0.192f, 0.210f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationMediumroom = new EaxReverb(26, 1.5f, 0.750f, -1000, -400, -100, 3.01f, 0.50f, 0.55f, -800, 0.034f, 0f, 0f, 0f, 100, 0.035f, 0f, 0f, 0f, 0.209f, 0.310f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationShortpassage = new EaxReverb(26, 1.5f, 0.870f, -1000, -400, -100, 3.57f, 0.50f, 0.55f, 0, 0.012f, 0f, 0f, 0f, 100, 0.016f, 0f, 0f, 0f, 0.172f, 0.200f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationLongpassage = new EaxReverb(26, 1.9f, 0.820f, -1000, -400, -100, 4.62f, 0.62f, 0.55f, 0, 0.012f, 0f, 0f, 0f, 200, 0.031f, 0f, 0f, 0f, 0.250f, 0.230f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationLargeroom = new EaxReverb(26, 1.8f, 0.810f, -1000, -400, -100, 3.89f, 0.38f, 0.61f, -1000, 0.056f, 0f, 0f, 0f, -100, 0.035f, 0f, 0f, 0f, 0.233f, 0.280f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationHall = new EaxReverb(26, 1.9f, 0.870f, -1000, -400, -100, 7.11f, 0.38f, 0.61f, -1500, 0.100f, 0f, 0f, 0f, -400, 0.047f, 0f, 0f, 0f, 0.250f, 0.250f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationCupboard = new EaxReverb(26, 1.4f, 0.560f, -1000, -300, -100, 0.79f, 0.81f, 0.55f, 300, 0.007f, 0f, 0f, 0f, 500, 0.018f, 0f, 0f, 0f, 0.181f, 0.310f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); public static EaxReverb SpacestationSmallroom = new EaxReverb(26, 1.5f, 0.700f, -1000, -300, -100, 1.72f, 0.82f, 0.55f, -200, 0.007f, 0f, 0f, 0f, 300, 0.013f, 0f, 0f, 0f, 0.188f, 0.260f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20); // WOODEN GALLEON PRESETS public static EaxReverb WoodenAlcove = new EaxReverb(26, 7.5f, 1f, -1000, -1800, -1000, 1.22f, 0.62f, 0.91f, 100, 0.012f, 0f, 0f, 0f, -300, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenShortpassage = new EaxReverb(26, 7.5f, 1f, -1000, -1800, -1000, 1.75f, 0.50f, 0.87f, -100, 0.012f, 0f, 0f, 0f, -400, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenMediumroom = new EaxReverb(26, 7.5f, 1f, -1000, -2000, -1100, 1.47f, 0.42f, 0.82f, -100, 0.049f, 0f, 0f, 0f, -100, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenLongpassage = new EaxReverb(26, 7.5f, 1f, -1000, -2000, -1000, 1.99f, 0.40f, 0.79f, 000, 0.020f, 0f, 0f, 0f, -700, 0.036f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenLargeroom = new EaxReverb(26, 7.5f, 1f, -1000, -2100, -1100, 2.65f, 0.33f, 0.82f, -100, 0.066f, 0f, 0f, 0f, -200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenHall = new EaxReverb(26, 7.5f, 1f, -1000, -2200, -1100, 3.45f, 0.30f, 0.82f, -100, 0.088f, 0f, 0f, 0f, -200, 0.063f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenCupboard = new EaxReverb(26, 7.5f, 1f, -1000, -1700, -1000, 0.56f, 0.46f, 0.91f, 100, 0.012f, 0f, 0f, 0f, 100, 0.028f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenSmallroom = new EaxReverb(26, 7.5f, 1f, -1000, -1900, -1000, 0.79f, 0.32f, 0.87f, 00, 0.032f, 0f, 0f, 0f, -100, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); public static EaxReverb WoodenCourtyard = new EaxReverb(26, 7.5f, 0.650f, -1000, -2200, -1000, 1.79f, 0.35f, 0.79f, -500, 0.123f, 0f, 0f, 0f, -2000, 0.032f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f); // SPORTS PRESETS public static EaxReverb SportEmptystadium = new EaxReverb(26, 7.2f, 1f, -1000, -700, -200, 6.26f, 0.51f, 1.10f, -2400, 0.183f, 0f, 0f, 0f, -800, 0.038f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20); public static EaxReverb SportSquashcourt = new EaxReverb(26, 7.5f, 0.750f, -1000, -1000, -200, 2.22f, 0.91f, 1.16f, -700, 0.007f, 0f, 0f, 0f, -200, 0.011f, 0f, 0f, 0f, 0.126f, 0.190f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20); public static EaxReverb SportSmallswimmingpool = new EaxReverb(26, 36.2f, 0.700f, -1000, -200, -100, 2.76f, 1.25f, 1.14f, -400, 0.020f, 0f, 0f, 0f, -200, 0.030f, 0f, 0f, 0f, 0.179f, 0.150f, 0.895f, 0.190f, -5f, 5000f, 250f, 0f, 0x0); public static EaxReverb SportLargeswimmingpool = new EaxReverb(26, 36.2f, 0.820f, -1000, -200, 0, 5.49f, 1.31f, 1.14f, -700, 0.039f, 0f, 0f, 0f, -600, 0.049f, 0f, 0f, 0f, 0.222f, 0.550f, 1.159f, 0.210f, -5f, 5000f, 250f, 0f, 0x0); public static EaxReverb SportGymnasium = new EaxReverb(26, 7.5f, 0.810f, -1000, -700, -100, 3.14f, 1.06f, 1.35f, -800, 0.029f, 0f, 0f, 0f, -500, 0.045f, 0f, 0f, 0f, 0.146f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20); public static EaxReverb SportFullstadium = new EaxReverb(26, 7.2f, 1f, -1000, -2300, -200, 5.25f, 0.17f, 0.80f, -2000, 0.188f, 0f, 0f, 0f, -1100, 0.038f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20); public static EaxReverb SportStadimtannoy = new EaxReverb(26, 3f, 0.780f, -1000, -500, -600, 2.53f, 0.88f, 0.68f, -1100, 0.230f, 0f, 0f, 0f, -600, 0.063f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20); // PREFAB PRESETS public static EaxReverb PrefabWorkshop = new EaxReverb(26, 1.9f, 1f, -1000, -1700, -800, 0.76f, 1f, 1f, 0, 0.012f, 0f, 0f, 0f, 100, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x0); public static EaxReverb PrefabSchoolroom = new EaxReverb(26, 1.86f, 0.690f, -1000, -400, -600, 0.98f, 0.45f, 0.18f, 300, 0.017f, 0f, 0f, 0f, 300, 0.015f, 0f, 0f, 0f, 0.095f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20); public static EaxReverb PrefabPractiseroom = new EaxReverb(26, 1.86f, 0.870f, -1000, -800, -600, 1.12f, 0.56f, 0.18f, 200, 0.010f, 0f, 0f, 0f, 300, 0.011f, 0f, 0f, 0f, 0.095f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20); public static EaxReverb PrefabOuthouse = new EaxReverb(26, 80.3f, 0.820f, -1000, -1900, -1600, 1.38f, 0.38f, 0.35f, -100, 0.024f, 0f, 0f, -0f, -400, 0.044f, 0f, 0f, 0f, 0.121f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0); public static EaxReverb PrefabCaravan = new EaxReverb(26, 8.3f, 1f, -1000, -2100, -1800, 0.43f, 1.50f, 1f, 0, 0.012f, 0f, 0f, 0f, 600, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f); // DOME AND PIPE PRESETS public static EaxReverb DomeTomb = new EaxReverb(26, 51.8f, 0.790f, -1000, -900, -1300, 4.18f, 0.21f, 0.10f, -825, 0.030f, 0f, 0f, 0f, 450, 0.022f, 0f, 0f, 0f, 0.177f, 0.190f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0); public static EaxReverb DomeSaintPauls = new EaxReverb(26, 50.3f, 0.870f, -1000, -900, -1300, 10.48f, 0.19f, 0.10f, -1500, 0.090f, 0f, 0f, 0f, 200, 0.042f, 0f, 0f, 0f, 0.250f, 0.120f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f); public static EaxReverb PipeSmall = new EaxReverb(26, 50.3f, 1f, -1000, -900, -1300, 5.04f, 0.10f, 0.10f, -600, 0.032f, 0f, 0f, 0f, 800, 0.015f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f); public static EaxReverb PipeLongthin = new EaxReverb(26, 1.6f, 0.910f, -1000, -700, -1100, 9.21f, 0.18f, 0.10f, -300, 0.010f, 0f, 0f, 0f, -300, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0); public static EaxReverb PipeLarge = new EaxReverb(26, 50.3f, 1f, -1000, -900, -1300, 8.45f, 0.10f, 0.10f, -800, 0.046f, 0f, 0f, 0f, 400, 0.032f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f); public static EaxReverb PipeResonant = new EaxReverb(26, 1.3f, 0.910f, -1000, -700, -1100, 6.81f, 0.18f, 0.10f, -300, 0.010f, 0f, 0f, 0f, 00, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0); // OUTDOORS PRESETS public static EaxReverb OutdoorsBackyard = new EaxReverb(26, 80.3f, 0.450f, -1000, -1200, -600, 1.12f, 0.34f, 0.46f, -700, 0.069f, 0f, 0f, -0f, -300, 0.023f, 0f, 0f, 0f, 0.218f, 0.340f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0); public static EaxReverb OutdoorsRollingplains = new EaxReverb(26, 80.3f, 0f, -1000, -3900, -400, 2.13f, 0.21f, 0.46f, -1500, 0.300f, 0f, 0f, -0f, -700, 0.019f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0); public static EaxReverb OutdoorsDeepcanyon = new EaxReverb(26, 80.3f, 0.740f, -1000, -1500, -400, 3.89f, 0.21f, 0.46f, -1000, 0.223f, 0f, 0f, -0f, -900, 0.019f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0); public static EaxReverb OutdoorsCreek = new EaxReverb(26, 80.3f, 0.350f, -1000, -1500, -600, 2.13f, 0.21f, 0.46f, -800, 0.115f, 0f, 0f, -0f, -1400, 0.031f, 0f, 0f, 0f, 0.218f, 0.340f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0); public static EaxReverb OutdoorsValley = new EaxReverb(26, 80.3f, 0.280f, -1000, -3100, -1600, 2.88f, 0.26f, 0.35f, -1700, 0.263f, 0f, 0f, -0f, -800, 0.100f, 0f, 0f, 0f, 0.250f, 0.340f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0); // MOOD PRESETS public static EaxReverb MoodHeaven = new EaxReverb(26, 19.6f, 0.940f, -1000, -200, -700, 5.04f, 1.12f, 0.56f, -1230, 0.020f, 0f, 0f, 0f, 200, 0.029f, 0f, 0f, 0f, 0.250f, 0.080f, 2.742f, 0.050f, -2f, 5000f, 250f, 0f, 0x3f); public static EaxReverb MoodHell = new EaxReverb(26, 100f, 0.570f, -1000, -900, -700, 3.57f, 0.49f, 2f, -10000, 0.020f, 0f, 0f, 0f, 300, 0.030f, 0f, 0f, 0f, 0.110f, 0.040f, 2.109f, 0.520f, -5f, 5000f, 139.5f, 0f, 0x40); public static EaxReverb MoodMemory = new EaxReverb(26, 8f, 0.850f, -1000, -400, -900, 4.06f, 0.82f, 0.56f, -2800, 0f, 0f, 0f, 0f, 100, 0f, 0f, 0f, 0f, 0.250f, 0f, 0.474f, 0.450f, -10f, 5000f, 250f, 0f, 0x0); // DRIVING SIMULATION PRESETS public static EaxReverb DrivingCommentator = new EaxReverb(26, 3f, 0f, 1000, -500, -600, 2.42f, 0.88f, 0.68f, -1400, 0.093f, 0f, 0f, 0f, -1200, 0.017f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -10f, 5000f, 250f, 0f, 0x20); public static EaxReverb DrivingPitgarage = new EaxReverb(26, 1.9f, 0.590f, -1000, -300, -500, 1.72f, 0.93f, 0.87f, -500, 0f, 0f, 0f, 0f, 200, 0.016f, 0f, 0f, 0f, 0.250f, 0.110f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x0); public static EaxReverb DrivingIncarRacer = new EaxReverb(26, 1.1f, 0.800f, -1000, 0, -200, 0.17f, 2f, 0.41f, 500, 0.007f, 0f, 0f, 0f, -300, 0.015f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20); public static EaxReverb DrivingIncarSports = new EaxReverb(26, 1.1f, 0.800f, -1000, -400, 0, 0.17f, 0.75f, 0.41f, 0, 0.010f, 0f, 0f, 0f, -500, 0f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20); public static EaxReverb DrivingIncarLuxury = new EaxReverb(26, 1.6f, 1f, -1000, -2000, -600, 0.13f, 0.41f, 0.46f, -200, 0.010f, 0f, 0f, 0f, 400, 0.010f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20); public static EaxReverb DrivingFullgrandstand = new EaxReverb(26, 8.3f, 1f, -1000, -1100, -400, 3.01f, 1.37f, 1.28f, -900, 0.090f, 0f, 0f, 0f, -1500, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10420.2f, 250f, 0f, 0x1f); public static EaxReverb DrivingEmptygrandstand = new EaxReverb(26, 8.3f, 1f, -1000, 0, -200, 4.62f, 1.75f, 1.40f, -1363, 0.090f, 0f, 0f, 0f, -1200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10420.2f, 250f, 0f, 0x1f); public static EaxReverb DrivingTunnel = new EaxReverb(26, 3.1f, 0.810f, -1000, -800, -100, 3.42f, 0.94f, 1.31f, -300, 0.051f, 0f, 0f, 0f, -300, 0.047f, 0f, 0f, 0f, 0.214f, 0.050f, 0.250f, 0f, -5f, 5000f, 155.3f, 0f, 0x20); // CITY PRESETS public static EaxReverb CityStreets = new EaxReverb(26, 3f, 0.780f, -1000, -300, -100, 1.79f, 1.12f, 0.91f, -1100, 0.046f, 0f, 0f, 0f, -1400, 0.028f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20); public static EaxReverb CitySubway = new EaxReverb(26, 3f, 0.740f, -1000, -300, -100, 3.01f, 1.23f, 0.91f, -300, 0.046f, 0f, 0f, 0f, 200, 0.028f, 0f, 0f, 0f, 0.125f, 0.210f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20); public static EaxReverb CityMuseum = new EaxReverb(26, 80.3f, 0.820f, -1000, -1500, -1500, 3.28f, 1.40f, 0.57f, -1200, 0.039f, 0f, 0f, -0f, -100, 0.034f, 0f, 0f, 0f, 0.130f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0); public static EaxReverb CityLibrary = new EaxReverb(26, 80.3f, 0.820f, -1000, -1100, -2100, 2.76f, 0.89f, 0.41f, -900, 0.029f, 0f, 0f, -0f, -100, 0.020f, 0f, 0f, 0f, 0.130f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0); public static EaxReverb CityUnderpass = new EaxReverb(26, 3f, 0.820f, -1000, -700, -100, 3.57f, 1.12f, 0.91f, -800, 0.059f, 0f, 0f, 0f, -100, 0.037f, 0f, 0f, 0f, 0.250f, 0.140f, 0.250f, 0f, -7f, 5000f, 250f, 0f, 0x20); public static EaxReverb CityAbandoned = new EaxReverb(26, 3f, 0.690f, -1000, -200, -100, 3.28f, 1.17f, 0.91f, -700, 0.044f, 0f, 0f, 0f, -1100, 0.024f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -3f, 5000f, 250f, 0f, 0x20); // MISC ROOMS public static EaxReverb Generic = new EaxReverb(0, 7.5f, 1f, -1000, -100, 0, 1.49f, 0.83f, 1f, -2602, 0.007f, 0f, 0f, 0f, 200, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Paddedcell = new EaxReverb(1, 1.4f, 1f, -1000, -6000, 0, 0.17f, 0.10f, 1f, -1204, 0.001f, 0f, 0f, 0f, 207, 0.002f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Room = new EaxReverb(2, 1.9f, 1f, -1000, -454, 0, 0.40f, 0.83f, 1f, -1646, 0.002f, 0f, 0f, 0f, 53, 0.003f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Bathroom = new EaxReverb(3, 1.4f, 1f, -1000, -1200, 0, 1.49f, 0.54f, 1f, -370, 0.007f, 0f, 0f, 0f, 1030, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Livingroom = new EaxReverb(4, 2.5f, 1f, -1000, -6000, 0, 0.50f, 0.10f, 1f, -1376, 0.003f, 0f, 0f, 0f, -1104, 0.004f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Stoneroom = new EaxReverb(5, 11.6f, 1f, -1000, -300, 0, 2.31f, 0.64f, 1f, -711, 0.012f, 0f, 0f, 0f, 83, 0.017f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Auditorium = new EaxReverb(6, 21.6f, 1f, -1000, -476, 0, 4.32f, 0.59f, 1f, -789, 0.020f, 0f, 0f, 0f, -289, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Concerthall = new EaxReverb(7, 19.6f, 1f, -1000, -500, 0, 3.92f, 0.70f, 1f, -1230, 0.020f, 0f, 0f, 0f, -02, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Cave = new EaxReverb(8, 14.6f, 1f, -1000, 0, 0, 2.91f, 1.30f, 1f, -602, 0.015f, 0f, 0f, 0f, -302, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Arena = new EaxReverb(9, 36.2f, 1f, -1000, -698, 0, 7.24f, 0.33f, 1f, -1166, 0.020f, 0f, 0f, 0f, 16, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Hangar = new EaxReverb(10, 50.3f, 1f, -1000, -1000, 0, 10.05f, 0.23f, 1f, -602, 0.020f, 0f, 0f, 0f, 198, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Carpettedhallway = new EaxReverb(11, 1.9f, 1f, -1000, -4000, 0, 0.30f, 0.10f, 1f, -1831, 0.002f, 0f, 0f, 0f, -1630, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Hallway = new EaxReverb(12, 1.8f, 1f, -1000, -300, 0, 1.49f, 0.59f, 1f, -1219, 0.007f, 0f, 0f, 0f, 441, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Stonecorridor = new EaxReverb(13, 13.5f, 1f, -1000, -237, 0, 2.70f, 0.79f, 1f, -1214, 0.013f, 0f, 0f, 0f, 395, 0.020f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Alley = new EaxReverb(14, 7.5f, 0.300f, -1000, -270, 0, 1.49f, 0.86f, 1f, -1204, 0.007f, 0f, 0f, 0f, -4, 0.011f, 0f, 0f, 0f, 0.125f, 0.950f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Forest = new EaxReverb(15, 38f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1f, -2560, 0.162f, 0f, 0f, 0f, -229, 0.088f, 0f, 0f, 0f, 0.125f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb City = new EaxReverb(16, 7.5f, 0.500f, -1000, -800, 0, 1.49f, 0.67f, 1f, -2273, 0.007f, 0f, 0f, 0f, -1691, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Mountains = new EaxReverb(17, 100f, 0.270f, -1000, -2500, 0, 1.49f, 0.21f, 1f, -2780, 0.300f, 0f, 0f, 0f, -1434, 0.100f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Quarry = new EaxReverb(18, 17.5f, 1f, -1000, -1000, 0, 1.49f, 0.83f, 1f, -10000, 0.061f, 0f, 0f, 0f, 500, 0.025f, 0f, 0f, 0f, 0.125f, 0.700f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Plain = new EaxReverb(19, 42.5f, 0.210f, -1000, -2000, 0, 1.49f, 0.50f, 1f, -2466, 0.179f, 0f, 0f, 0f, -1926, 0.100f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Parkinglot = new EaxReverb(20, 8.3f, 1f, -1000, 0, 0, 1.65f, 1.50f, 1f, -1363, 0.008f, 0f, 0f, 0f, -1153, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Sewerpipe = new EaxReverb(21, 1.7f, 0.800f, -1000, -1000, 0, 2.81f, 0.14f, 1f, 429, 0.014f, 0f, 0f, 0f, 1023, 0.021f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Underwater = new EaxReverb(22, 1.8f, 1f, -1000, -4000, 0, 1.49f, 0.10f, 1f, -449, 0.007f, 0f, 0f, 0f, 1700, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 1.180f, 0.348f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Drugged = new EaxReverb(23, 1.9f, 0.500f, -1000, 0, 0, 8.39f, 1.39f, 1f, -115, 0.002f, 0f, 0f, 0f, 985, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 1f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Dizzy = new EaxReverb(24, 1.8f, 0.600f, -1000, -400, 0, 17.23f, 0.56f, 1f, -1713, 0.020f, 0f, 0f, 0f, -613, 0.030f, 0f, 0f, 0f, 0.250f, 1f, 0.810f, 0.310f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Psychotic = new EaxReverb(25, 1f, 0.500f, -1000, -151, 0, 7.56f, 0.91f, 1f, -626, 0.020f, 0f, 0f, 0f, 774, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 4f, 1f, -5f, 5000f, 250f, 0f, 0x1f); public static EaxReverb Dustyroom = new EaxReverb(26, 1.8f, 0.560f, -1000, -200, -300, 1.79f, 0.38f, 0.21f, -600, 0.002f, 0f, 0f, 0f, 200, 0.006f, 0f, 0f, 0f, 0.202f, 0.050f, 0.250f, 0f, -10f, 13046f, 163.3f, 0f, 0x20); public static EaxReverb Chapel = new EaxReverb(26, 19.6f, 0.840f, -1000, -500, 0, 4.62f, 0.64f, 1.23f, -700, 0.032f, 0f, 0f, 0f, -200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0.110f, -5f, 5000f, 250f, 0f, 0x3f); public static EaxReverb Smallwaterroom = new EaxReverb(26, 36.2f, 0.700f, -1000, -698, 0, 1.51f, 1.25f, 1.14f, -100, 0.020f, 0f, 0f, 0f, 300, 0.030f, 0f, 0f, 0f, 0.179f, 0.150f, 0.895f, 0.190f, -7f, 5000f, 250f, 0f, 0x0); } #pragma warning restore 1591 } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/XRamExtension.cs0000664000175000017500000002055411453131426024373 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* XRamExtension.cs * C header: \OpenAL 1.1 SDK\include\xram.h * Spec: ? * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details (MIT) * http://www.OpenTK.net */ #endregion using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace OpenTK.Audio { ///The X-Ram Extension is provided on the top-end Sound Blaster X-Fi solutions (Sound Blaster X-Fi Fatal1ty, Sound Blaster X-Fi Elite Pro, or later). These products feature 64MB of X-Ram that can only be used for audio purposes, which can be controlled by this Extension. [CLSCompliant(true)] public sealed class XRamExtension { #region Instance state private bool _valid = false; /// Returns True if the X-Ram Extension has been found and could be initialized. public bool IsInitialized { get { return _valid; } } #endregion Instance state #region X-RAM Function pointer definitions // [CLSCompliant(false)] private delegate bool Delegate_SetBufferMode(int n, ref uint buffers, int value); //typedef ALboolean (__cdecl *EAXSetBufferMode)(ALsizei n, ALuint *buffers, ALint value); // [CLSCompliant( false )] private delegate int Delegate_GetBufferMode(uint buffer, IntPtr value); //typedef ALenum (__cdecl *EAXGetBufferMode)(ALuint buffer, ALint *value); //[CLSCompliant(false)] private Delegate_SetBufferMode Imported_SetBufferMode; //[CLSCompliant(false)] private Delegate_GetBufferMode Imported_GetBufferMode; #endregion X-RAM Function pointer definitions #region X-RAM Tokens private int AL_EAX_RAM_SIZE, AL_EAX_RAM_FREE, AL_STORAGE_AUTOMATIC, AL_STORAGE_HARDWARE, AL_STORAGE_ACCESSIBLE; #endregion X-RAM Tokens #region Constructor / Extension Loading public XRamExtension() { // Query if Extension supported and retrieve Tokens/Pointers if it is. _valid = false; if (AL.IsExtensionPresent("EAX-RAM") == false) return; AL_EAX_RAM_SIZE = AL.GetEnumValue("AL_EAX_RAM_SIZE"); AL_EAX_RAM_FREE = AL.GetEnumValue("AL_EAX_RAM_FREE"); AL_STORAGE_AUTOMATIC = AL.GetEnumValue("AL_STORAGE_AUTOMATIC"); AL_STORAGE_HARDWARE = AL.GetEnumValue("AL_STORAGE_HARDWARE"); AL_STORAGE_ACCESSIBLE = AL.GetEnumValue("AL_STORAGE_ACCESSIBLE"); // Console.WriteLine("RamSize: {0} RamFree: {1} StorageAuto: {2} StorageHW: {3} StorageAccess: {4}",AL_EAX_RAM_SIZE,AL_EAX_RAM_FREE,AL_STORAGE_AUTOMATIC,AL_STORAGE_HARDWARE,AL_STORAGE_ACCESSIBLE); if (AL_EAX_RAM_SIZE == 0 || AL_EAX_RAM_FREE == 0 || AL_STORAGE_AUTOMATIC == 0 || AL_STORAGE_HARDWARE == 0 || AL_STORAGE_ACCESSIBLE == 0) { Debug.WriteLine("X-Ram: Token values could not be retrieved."); return; } // Console.WriteLine("Free Ram: {0} / {1}",GetRamFree( ),GetRamSize( )); try { Imported_GetBufferMode = (Delegate_GetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXGetBufferMode"), typeof(Delegate_GetBufferMode)); Imported_SetBufferMode = (Delegate_SetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXSetBufferMode"), typeof(Delegate_SetBufferMode)); } catch (Exception e) { Debug.WriteLine("X-Ram: Attempt to marshal function pointers with AL.GetProcAddress failed. " + e.ToString()); return; } _valid = true; } #endregion Constructor / Extension Loading #region Public Methods /// Query total amount of X-RAM in bytes. public int GetRamSize { get { return AL.Get((ALGetInteger)AL_EAX_RAM_SIZE); } } /// Query free X-RAM available in bytes. public int GetRamFree { get { return AL.Get((ALGetInteger)AL_EAX_RAM_FREE); } } /// This enum is used to abstract the need of using AL.GetEnumValue() with the Extension. The values do NOT correspond to AL_STORAGE_* tokens! public enum XRamStorage : byte { /// Put an Open AL Buffer into X-RAM if memory is available, otherwise use host RAM. This is the default mode. Automatic = 0, /// Force an Open AL Buffer into X-RAM, good for non-streaming buffers. Hardware = 1, /// Force an Open AL Buffer into 'accessible' (currently host) RAM, good for streaming buffers. Accessible = 2, } /// This function is used to set the storage Mode of an array of OpenAL Buffers. /// The number of OpenAL Buffers pointed to by buffer. /// An array of OpenAL Buffer handles. /// The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible /// True if all the Buffers were successfully set to the requested storage mode, False otherwise. [CLSCompliant(false)] public bool SetBufferMode(int n, ref uint buffer, XRamStorage mode) { switch (mode) { case XRamStorage.Accessible: return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_ACCESSIBLE); case XRamStorage.Hardware: return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_HARDWARE); default: return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_AUTOMATIC); } } /// This function is used to set the storage Mode of an array of OpenAL Buffers. /// The number of OpenAL Buffers pointed to by buffer. /// An array of OpenAL Buffer handles. /// The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible /// True if all the Buffers were successfully set to the requested storage mode, False otherwise. [CLSCompliant(true)] public bool SetBufferMode(int n, ref int buffer, XRamStorage mode) { uint temp = (uint)buffer; return SetBufferMode(n, ref temp, mode); } /// This function is used to retrieve the storage Mode of a single OpenAL Buffer. /// The handle of an OpenAL Buffer. /// The current Mode of the Buffer. [CLSCompliant(false)] public XRamStorage GetBufferMode(ref uint buffer) { int tempresult = Imported_GetBufferMode(buffer, IntPtr.Zero); // IntPtr.Zero due to the parameter being unused/reserved atm if (tempresult == AL_STORAGE_ACCESSIBLE) return XRamStorage.Accessible; if (tempresult == AL_STORAGE_HARDWARE) return XRamStorage.Hardware; // default: return XRamStorage.Automatic; } /// This function is used to retrieve the storage Mode of a single OpenAL Buffer. /// The handle of an OpenAL Buffer. /// The current Mode of the Buffer. [CLSCompliant(true)] public XRamStorage GetBufferMode(ref int buffer) { uint temp = (uint)buffer; return GetBufferMode(ref temp); } #endregion Public Methods } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionEnums.cs0000664000175000017500000007663311453131426026124 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* EfxTokens.cs * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; namespace OpenTK.Audio { #region Effect ///A list of valid 32-bit Float Effect/GetEffect parameters public enum EfxEffectf : int { ///Reverb Modal Density controls the coloration of the late reverb. Lowering the value adds more coloration to the late reverb. Range [0.0f .. 1.0f] Default: 1.0f ReverbDensity = 0x0001, ///The Reverb Diffusion property controls the echo density in the reverberation decay. The default 1.0f provides the highest density. Reducing diffusion gives the reverberation a more "grainy" character that is especially noticeable with percussive sound sources. If you set a diffusion value of 0.0f, the later reverberation sounds like a succession of distinct echoes. Range [0.0f .. 1.0f] Default: 1.0f ReverbDiffusion = 0x0002, ///The Reverb Gain property is the master volume control for the reflected sound - both early reflections and reverberation - that the reverb effect adds to all sound sources. Ranges from 1.0 (0db) (the maximum amount) to 0.0 (-100db) (no reflected sound at all) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.32f ReverbGain = 0x0003, ///The Reverb Gain HF property further tweaks reflected sound by attenuating it at high frequencies. It controls a low-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. Ranges from 1.0f (0db) (no filter) to 0.0f (-100db) (virtually no reflected sound) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.89f ReverbGainHF = 0x0004, ///The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f ReverbDecayTime = 0x0005, ///The Decay HF Ratio property sets the spectral quality of the Decay Time parameter. It is the ratio of high-frequency decay time relative to the time set by Decay Time.. Unit: linear multiplier Range [0.1f .. 2.0f] Default: 0.83f ReverbDecayHFRatio = 0x0006, ///The Reflections Gain property controls the overall amount of initial reflections relative to the Gain property. The value of Reflections Gain ranges from a maximum of 3.16f (+10 dB) to a minimum of 0.0f (-100 dB) (no initial reflections at all), and is corrected by the value of the Gain property. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f ReverbReflectionsGain = 0x0007, ///The Reflections Delay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source. It ranges from 0 to 300 milliseconds. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f ReverbReflectionsDelay = 0x0008, ///The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. The value of Late Reverb Gain ranges from a maximum of 10.0f (+20 dB) to a minimum of 0.0f (-100 dB) (no late reverberation at all). Unit: Linear gain Range [0.0f .. 10.0f] Default: 1.26f ReverbLateReverbGain = 0x0009, ///The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f ReverbLateReverbDelay = 0x000A, ///The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium and applies to reflected sound only. Unit: Linear gain per meter Range [0.892f .. 1.0f] Default: 0.994f ReverbAirAbsorptionGainHF = 0x000B, ///The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL's Rolloff Factor, but operates on reverb sound instead of direct-path sound. Unit: Linear multiplier Range [0.0f .. 10.0f] Default: 0.0f ReverbRoomRolloffFactor = 0x000C, ///This property sets the modulation rate of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f ChorusRate = 0x0003, ///This property controls the amount by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 0.1f ChorusDepth = 0x0004, ///This property controls the amount of processed signal that is fed back to the input of the chorus effect. Negative values will reverse the phase of the feedback signal. At full magnitude the identical sample will repeat endlessly. Range [-1.0f .. +1.0f] Default: +0.25f ChorusFeedback = 0x0005, ///This property controls the average amount of time the sample is delayed before it is played back, and with feedback, the amount of time between iterations of the sample. Larger values lower the pitch. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f ChorusDelay = 0x0006, ///This property controls the shape of the distortion. The higher the value for Edge, the "dirtier" and "fuzzier" the effect. Range [0.0f .. 1.0f] Default: 0.2f DistortionEdge = 0x0001, ///This property allows you to attenuate the distorted sound. Range [0.01f .. 1.0f] Default: 0.05f DistortionGain = 0x0002, ///Input signals can have a low pass filter applied, to limit the amount of high frequency signal feeding into the distortion effect. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f DistortionLowpassCutoff = 0x0003, ///This property controls the frequency at which the post-distortion attenuation (Distortion Gain) is active. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f DistortionEQCenter = 0x0004, ///This property controls the bandwidth of the post-distortion attenuation. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f DistortionEQBandwidth = 0x0005, ///This property controls the delay between the original sound and the first "tap", or echo instance. Subsequently, the value for Echo Delay is used to determine the time delay between each "second tap" and the next "first tap". Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f EchoDelay = 0x0001, ///This property controls the delay between the "first tap" and the "second tap". Subsequently, the value for Echo LR Delay is used to determine the time delay between each "first tap" and the next "second tap". Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f EchoLRDelay = 0x0002, ///This property controls the amount of high frequency damping applied to each echo. As the sound is subsequently fed back for further echoes, damping results in an echo which progressively gets softer in tone as well as intensity. Range [0.0f .. 0.99f] Default: 0.5f EchoDamping = 0x0003, ///This property controls the amount of feedback the output signal fed back into the input. Use this parameter to create "cascading" echoes. At full magnitude, the identical sample will repeat endlessly. Below full magnitude, the sample will repeat and fade. Range [0.0f .. 1.0f] Default: 0.5f EchoFeedback = 0x0004, ///This property controls how hard panned the individual echoes are. With a value of 1.0f, the first "tap" will be panned hard left, and the second "tap" hard right. –1.0f gives the opposite result and values near to 0.0f result in less emphasized panning. Range [-1.0f .. +1.0f] Default: -1.0f EchoSpread = 0x0005, ///The number of times per second the low-frequency oscillator controlling the amount of delay repeats. Range [0.0f .. 10.0f] Default: 0.27f FlangerRate = 0x0003, ///The ratio by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 1.0f FlangerDepth = 0x0004, ///This is the amount of the output signal level fed back into the effect's input. A negative value will reverse the phase of the feedback signal. Range [-1.0f .. +1.0f] Default: -0.5f FlangerFeedback = 0x0005, ///The average amount of time the sample is delayed before it is played back. When used with the Feedback property it's the amount of time between iterations of the sample. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f FlangerDelay = 0x0006, ///This is the carrier frequency. For carrier frequencies below the audible range, the single sideband modulator may produce phaser effects, spatial effects or a slight pitch-shift. As the carrier frequency increases, the timbre of the sound is affected. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f FrequencyShifterFrequency = 0x0001, ///This controls the frequency of the low-frequency oscillator used to morph between the two phoneme filters. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f VocalMorpherRate = 0x0006, ///This is the frequency of the carrier signal. If the carrier signal is slowly varying (less than 20 Hz), the result is a slow amplitude variation effect (tremolo). Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f RingModulatorFrequency = 0x0001, ///This controls the cutoff frequency at which the input signal is high-pass filtered before being ring modulated. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f RingModulatorHighpassCutoff = 0x0002, ///This property controls the time the filtering effect takes to sweep from minimum to maximum center frequency when it is triggered by input signal. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AutowahAttackTime = 0x0001, ///This property controls the time the filtering effect takes to sweep from maximum back to base center frequency, when the input signal ends. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f AutowahReleaseTime = 0x0002, ///This property controls the resonant peak, sometimes known as emphasis or Q, of the auto-wah band-pass filter. Range [2.0f .. 1000.0f] Default: 1000.0f AutowahResonance = 0x0003, ///This property controls the input signal level at which the band-pass filter will be fully opened. Range [0.00003f .. 31621.0f] Default: 11.22f AutowahPeakGain = 0x0004, ///This property controls amount of cut or boost on the low frequency range. Range [0.126f .. 7.943f] Default: 1.0f EqualizerLowGain = 0x0001, ///This property controls the low frequency below which signal will be cut off. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f EqualizerLowCutoff = 0x0002, ///This property allows you to cut/boost signal on the "mid1" range. Range [0.126f .. 7.943f] Default: 1.0f EqualizerMid1Gain = 0x0003, ///This property sets the center frequency for the "mid1" range. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f EqualizerMid1Center = 0x0004, ///This property controls the width of the "mid1" range. Range [0.01f .. 1.0f] Default: 1.0f EqualizerMid1Width = 0x0005, ///This property allows you to cut/boost signal on the "mid2" range. Range [0.126f .. 7.943f] Default: 1.0f EqualizerMid2Gain = 0x0006, ///This property sets the center frequency for the "mid2" range. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f EqualizerMid2Center = 0x0007, ///This property controls the width of the "mid2" range. Range [0.01f .. 1.0f] Default: 1.0f EqualizerMid2Width = 0x0008, ///This property allows to cut/boost the signal at high frequencies. Range [0.126f .. 7.943f] Default: 1.0f EqualizerHighGain = 0x0009, ///This property controls the high frequency above which signal will be cut off. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f EqualizerHighCutoff = 0x000A, ///Reverb Modal Density controls the coloration of the late reverb. Range [0.0f .. 1.0f] Default: 1.0f EaxReverbDensity = 0x0001, ///The Reverb Diffusion property controls the echo density in the reverberation decay. Range [0.0f .. 1.0f] Default: 1.0f EaxReverbDiffusion = 0x0002, ///Reverb Gain controls the level of the reverberant sound in an environment. A high level of reverb is characteristic of rooms with highly reflective walls and/or small dimensions. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.32f EaxReverbGain = 0x0003, ///Gain HF is used to attenuate the high frequency content of all the reflected sound in an environment. You can use this property to give a room specific spectral characteristic. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.89f EaxReverbGainHF = 0x0004, ///Gain LF is the low frequency counterpart to Gain HF. Use this to reduce or boost the low frequency content in an environment. Unit: Linear gain Range [0.0f .. 1.0f] Default: 1.0f EaxReverbGainLF = 0x0005, ///The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0f (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f EaxReverbDecayTime = 0x0006, ///Decay HF Ratio scales the decay time of high frequencies relative to the value of the Decay Time property. By changing this value, you are changing the amount of time it takes for the high frequencies to decay compared to the mid frequencies of the reverb. Range [0.1f .. 2.0f] Default: 0.83f EaxReverbDecayHFRatio = 0x0007, ///Decay LF Ratio scales the decay time of low frequencies in the reverberation in the same manner that Decay HF Ratio handles high frequencies. Unit: Linear multiplier Range [0.1f .. 2.0f] Default: 1.0f EaxReverbDecayLFRatio = 0x0008, ///Reflections Gain sets the level of the early reflections in an environment. Early reflections are used as a cue for determining the size of the environment we are in. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f EaxReverbReflectionsGain = 0x0009, ///Reflections Delay controls the amount of time it takes for the first reflected wave front to reach the listener, relative to the arrival of the direct-path sound. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f EaxReverbReflectionsDelay = 0x000A, ///The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. Range [0.0f .. 10.0f] Default: 1.26f EaxReverbLateReverbGain = 0x000C, ///The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f EaxReverbLateReverbDelay = 0x000D, ///Echo Time controls the rate at which the cyclic echo repeats itself along the reverberation decay. Range [0.075f .. 0.25f] Default: 0.25f EaxReverbEchoTime = 0x000F, ///Echo Depth introduces a cyclic echo in the reverberation decay, which will be noticeable with transient or percussive sounds. Range [0.0f .. 1.0f] Default: 0.0f EaxReverbEchoDepth = 0x0010, ///Modulation Time controls the speed of the rate of periodic changes in pitch (vibrato). Range [0.04f .. 4.0f] Default: 0.25f EaxReverbModulationTime = 0x0011, ///Modulation Depth controls the amount of pitch change. Low values of Diffusion will contribute to reinforcing the perceived effect by reducing the mixing of overlapping reflections in the reverberation decay. Range [0.0f .. 1.0f] Default: 0.0f EaxReverbModulationDepth = 0x0012, ///The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium. It applies to reflected sound only. Range [0.892f .. 1.0f] Default: 0.994f EaxReverbAirAbsorptionGainHF = 0x0013, ///The property HF reference determines the frequency at which the high-frequency effects created by Reverb properties are measured. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f EaxReverbHFReference = 0x0014, ///The property LF reference determines the frequency at which the low-frequency effects created by Reverb properties are measured. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f EaxReverbLFReference = 0x0015, ///The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL Rolloff Factor, but operates on reverb sound instead of direct-path sound. Range [0.0f .. 10.0f] Default: 0.0f EaxReverbRoomRolloffFactor = 0x0016, } ///A list of valid Math.Vector3 Effect/GetEffect parameters public enum EfxEffect3f : int { /// Reverb Pan does for the Reverb what Reflections Pan does for the Reflections. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f} EaxReverbLateReverbPan = 0x000E, /// This Vector3 controls the spatial distribution of the cluster of early reflections. The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. For legacy reasons this Vector3 follows a left-handed co-ordinate system! Note that OpenAL uses a right-handed coordinate system. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f} EaxReverbReflectionsPan = 0x000B, } ///A list of valid Int32 Effect/GetEffect parameters public enum EfxEffecti : int { ///This property sets the waveform shape of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 ChorusWaveform = 0x0001, ///This property controls the phase difference between the left and right low-frequency oscillators. At zero degrees the two low-frequency oscillators are synchronized. Unit: Degrees Range [-180 .. 180] Default: 90 ChorusPhase = 0x0002, ///Selects the shape of the low-frequency oscillator waveform that controls the amount of the delay of the sampled signal. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1 FlangerWaveform = 0x0001, ///This changes the phase difference between the left and right low-frequency oscillator's. At zero degrees the two low-frequency oscillators are synchronized. Range [-180 .. +180] Default: 0 FlangerPhase = 0x0002, ///These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 FrequencyShifterLeftDirection = 0x0002, ///These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0 FrequencyShifterRightDirection = 0x0003, ///Sets the vocal morpher 4-band formant filter A, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 0, "Phoneme A" VocalMorpherPhonemeA = 0x0001, ///This is used to adjust the pitch of phoneme filter A in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0 VocalMorpherPhonemeACoarseTuning = 0x0002, ///Sets the vocal morpher 4-band formant filter B, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 10, "Phoneme ER" VocalMorpherPhonemeB = 0x0003, ///This is used to adjust the pitch of phoneme filter B in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0 VocalMorpherPhonemeBCoarseTuning = 0x0004, ///This controls the shape of the low-frequency oscillator used to morph between the two phoneme filters. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0 VocalMorpherWaveform = 0x0005, ///This sets the number of semitones by which the pitch is shifted. There are 12 semitones per octave. Unit: Semitones Range [-12 .. +12] Default: +12 PitchShifterCoarseTune = 0x0001, ///This sets the number of cents between Semitones a pitch is shifted. A Cent is 1/100th of a Semitone. Unit: Cents Range [-50 .. +50] Default: 0 PitchShifterFineTune = 0x0002, ///This controls which waveform is used as the carrier signal. Traditional ring modulator and tremolo effects generally use a sinusoidal carrier. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0 RingModulatorWaveform = 0x0003, ///Enabling this will result in audio exhibiting smaller variation in intensity between the loudest and quietest portions. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1 CompressorOnoff = 0x0001, ///When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property Air Absorption HF. Unit: (0) False, (1) True Range [False, True] Default: True ReverbDecayHFLimit = 0x000D, ///When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property AirAbsorptionGainHF. Unit: (0) False, (1) True Range [False, True] Default: True EaxReverbDecayHFLimit = 0x0017, /// Used with the enum EfxEffectType as it's parameter. EffectType = 0x8001, } ///Vocal morpher effect parameters. If both parameters are set to the same phoneme, that determines the filtering effect that will be heard. If these two parameters are set to different phonemes, the filtering effect will morph between the two settings at a rate specified by EfxEffectf.VocalMorpherRate. public enum EfxFormantFilterSettings : int { VocalMorpherPhonemeA = 0, VocalMorpherPhonemeE = 1, VocalMorpherPhonemeI = 2, VocalMorpherPhonemeO = 3, VocalMorpherPhonemeU = 4, VocalMorpherPhonemeAA = 5, VocalMorpherPhonemeAE = 6, VocalMorpherPhonemeAH = 7, VocalMorpherPhonemeAO = 8, VocalMorpherPhonemeEH = 9, VocalMorpherPhonemeER = 10, VocalMorpherPhonemeIH = 11, VocalMorpherPhonemeIY = 12, VocalMorpherPhonemeUH = 13, VocalMorpherPhonemeUW = 14, VocalMorpherPhonemeB = 15, VocalMorpherPhonemeD = 16, VocalMorpherPhonemeF = 17, VocalMorpherPhonemeG = 18, VocalMorpherPhonemeJ = 19, VocalMorpherPhonemeK = 20, VocalMorpherPhonemeL = 21, VocalMorpherPhonemeM = 22, VocalMorpherPhonemeN = 23, VocalMorpherPhonemeP = 24, VocalMorpherPhonemeR = 25, VocalMorpherPhonemeS = 26, VocalMorpherPhonemeT = 27, VocalMorpherPhonemeV = 28, VocalMorpherPhonemeZ = 29, } ///Effect type definitions to be used with EfxEffecti.EffectType. public enum EfxEffectType : int { ///No Effect, disable. This Effect type is used when an Effect object is initially created. Null = 0x0000, ///The Reverb effect is the standard Effects Extension's environmental reverberation effect. It is available on all Generic Software and Generic Hardware devices. Reverb = 0x0001, ///The Chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect. Chorus = 0x0002, ///The Distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output. Distortion = 0x0003, ///The Echo effect generates discrete, delayed instances of the input signal. Echo = 0x0004, ///The Flanger effect creates a "tearing" or "whooshing" sound, like a jet flying overhead. Flanger = 0x0005, ///The Frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount. FrequencyShifter = 0x0006, ///The Vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal. VocalMorpher = 0x0007, ///The Pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution. PitchShifter = 0x0008, ///The Ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects. RingModulator = 0x0009, ///The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument. Autowah = 0x000A, ///The Compressor will boost quieter portions of the audio, while louder portions will stay the same or may even be reduced. Compressor = 0x000B, ///The Equalizer is very flexible, providing tonal control over four different adjustable frequency ranges. Equalizer = 0x000C, ///The EAX Reverb has a more advanced parameter set than EfxEffectType.Reverb, but is only natively supported on devices that support the EAX 3.0 or above. EaxReverb = 0x8000, } #endregion Effect #region Auxiliary Effect Slot ///A list of valid Int32 AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters public enum EfxAuxiliaryi : int { /// This property is used to attach an Effect object to the Auxiliary Effect Slot object. After the attachment, the Auxiliary Effect Slot object will contain the effect type and have the same effect parameters that were stored in the Effect object. Any Sources feeding the Auxiliary Effect Slot will immediate feed the new effect type and new effect parameters. EffectslotEffect = 0x0001, /// This property is used to enable or disable automatic send adjustments based on the physical positions of the sources and the listener. This property should be enabled when an application wishes to use a reverb effect to simulate the environment surrounding a listener or a collection of Sources. Range [False, True] Default: True EffectslotAuxiliarySendAuto = 0x0003, } ///A list of valid 32-bits Float AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters public enum EfxAuxiliaryf : int { /// This property is used to specify an output level for the Auxiliary Effect Slot. Setting the gain to 0.0f mutes the output. Range [0.0f .. 1.0f] Default: 1.0f EffectslotGain = 0x0002, } #endregion Auxiliary Effect Slot #region Filter Object ///A list of valid 32-bits Float Filter/GetFilter parameters public enum EfxFilterf : int { ///Range [0.0f .. 1.0f] Default: 1.0f LowpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f LowpassGainHF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f HighpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f HighpassGainLF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGain = 0x0001, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGainLF = 0x0002, ///Range [0.0f .. 1.0f] Default: 1.0f BandpassGainHF = 0x0003, } ///A list of valid Int32 Filter/GetFilter parameters public enum EfxFilteri : int { /// Used with the enum EfxFilterType as Parameter to select a filter logic. FilterType = 0x8001, } ///Filter type definitions to be used with EfxFilteri.FilterType. public enum EfxFilterType : int { ///No Filter, disable. This Filter type is used when a Filter object is initially created. Null = 0x0000, /// A low-pass filter is used to remove high frequency content from a signal. Lowpass = 0x0001, ///Currently not implemented. A high-pass filter is used to remove low frequency content from a signal. Highpass = 0x0002, ///Currently not implemented. A band-pass filter is used to remove high and low frequency content from a signal. Bandpass = 0x0003, } #endregion Filter Object } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/AL/EffectsExtension.cs0000664000175000017500000017116111453131426025104 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* EfxFunctions.cs * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h" * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK) * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace OpenTK.Audio { /// /// Provides access to the OpenAL effects extension. /// public partial class EffectsExtension { #region Helpers #region BindEffect /// (Helper) Selects the Effect type used by this Effect handle. /// Effect id returned from a successful call to GenEffects. /// Effect type. [CLSCompliant(false)] public void BindEffect(uint eid, EfxEffectType type) { Imported_alEffecti(eid, EfxEffecti.EffectType, (int)type); } /// (Helper) Selects the Effect type used by this Effect handle. /// Effect id returned from a successful call to GenEffects. /// Effect type. public void BindEffect(int eid, EfxEffectType type) { Imported_alEffecti((uint)eid, EfxEffecti.EffectType, (int)type); } #endregion BindEffect #region BindFilterToSource /// (Helper) reroutes the output of a Source through a Filter. /// A valid Source handle. /// A valid Filter handle. [CLSCompliant(false)] public void BindFilterToSource(uint source, uint filter) { AL.Source(source, ALSourcei.EfxDirectFilter, (int)filter); } /// (Helper) reroutes the output of a Source through a Filter. /// A valid Source handle. /// A valid Filter handle. public void BindFilterToSource(int source, int filter) { AL.Source((uint)source, ALSourcei.EfxDirectFilter, (int)filter); } #endregion BindFilterToSource #region BindEffectToAuxiliarySlot /// (Helper) Attaches an Effect to an Auxiliary Effect Slot. /// The slot handle to attach the Effect to. /// The Effect handle that is being attached. [CLSCompliant(false)] public void BindEffectToAuxiliarySlot(uint auxiliaryeffectslot, uint effect) { AuxiliaryEffectSlot(auxiliaryeffectslot, EfxAuxiliaryi.EffectslotEffect, (int)effect); } /// (Helper) Attaches an Effect to an Auxiliary Effect Slot. /// The slot handle to attach the Effect to. /// The Effect handle that is being attached. public void BindEffectToAuxiliarySlot(int auxiliaryeffectslot, int effect) { AuxiliaryEffectSlot((uint)auxiliaryeffectslot, EfxAuxiliaryi.EffectslotEffect, (int)effect); } #endregion BindEffectToAuxiliarySlot #region BindSourceToAuxiliarySlot /// (Helper) Reroutes a Source's output into an Auxiliary Effect Slot. /// The Source handle who's output is forwarded. /// The Auxiliary Effect Slot handle that receives input from the Source. /// Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends /// Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. [CLSCompliant(false)] public void BindSourceToAuxiliarySlot(uint source, uint slot, int slotnumber, uint filter) { AL.Source(source, ALSource3i.EfxAuxiliarySendFilter, (int)slot, (int)slotnumber, (int)filter); } /// (Helper) Reroutes a Source's output into an Auxiliary Effect Slot. /// The Source handle who's output is forwarded. /// The Auxiliary Effect Slot handle that receives input from the Source. /// Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends /// Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. public void BindSourceToAuxiliarySlot(int source, int slot, int slotnumber, int filter) { AL.Source((uint)source, ALSource3i.EfxAuxiliarySendFilter, (int)slot, (int)slotnumber, (int)filter); } #endregion BindSourceToAuxiliarySlot #endregion Helpers #region Effect Object #region alGenEffects //[CLSCompliant(false)] unsafe private delegate void Delegate_alGenEffects(int n, [Out] uint* effects); // typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects ); //[CLSCompliant(false)] private Delegate_alGenEffects Imported_alGenEffects; /// The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object /// After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. /// Number of Effects to be created. /// Pointer addressing sufficient memory to store n Effect object identifiers. [CLSCompliant(false)] public void GenEffects(int n, out uint effects) { unsafe { fixed (uint* ptr = &effects) { Imported_alGenEffects(n, ptr); effects = *ptr; } } } /// The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object /// After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. /// Number of Effects to be created. /// Pointer addressing sufficient memory to store n Effect object identifiers. public void GenEffects(int n, out int effects) { unsafe { fixed (int* ptr = &effects) { Imported_alGenEffects(n, (uint*)ptr); effects = *ptr; } } } /// Generates one or more effect objects. /// Number of Effect object identifiers to generate. /// /// The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object. /// After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. /// public int[] GenEffects(int n) { if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0."); int[] effects = new int[n]; GenEffects(n, out effects[0]); return effects; } /// Generates a single effect object. /// A handle to the generated effect object. /// /// The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object. /// After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti. /// public int GenEffect() { int temp; GenEffects(1, out temp); return temp; } /// Generates a single effect object. /// A handle to the generated effect object. [CLSCompliant(false)] public void GenEffect(out uint effect) { unsafe { fixed (uint* ptr = &effect) { Imported_alGenEffects(1, ptr); effect = *ptr; } } } #endregion alGenEffects #region alDeleteEffects //[CLSCompliant(false)] unsafe private delegate void Delegate_alDeleteEffects(int n, [In] uint* effects); // typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects ); //[CLSCompliant(false)] private Delegate_alDeleteEffects Imported_alDeleteEffects; /// The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. /// Number of Effects to be deleted. /// Pointer to n Effect object identifiers. [CLSCompliant(false)] public void DeleteEffects(int n, ref uint effects) { unsafe { fixed (uint* ptr = &effects) { Imported_alDeleteEffects(n, ptr); } } } /// The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. /// Number of Effects to be deleted. /// Pointer to n Effect object identifiers. public void DeleteEffects(int n, ref int effects) { unsafe { fixed (int* ptr = &effects) { Imported_alDeleteEffects(n, (uint*)ptr); } } } /// The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. /// Pointer to n Effect object identifiers. public void DeleteEffects(int[] effects) { if (effects == null) throw new ArgumentNullException("effects"); DeleteEffects(effects.Length, ref effects[0]); } /// The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects. /// Pointer to n Effect object identifiers. [CLSCompliant(false)] public void DeleteEffects(uint[] effects) { if (effects == null) throw new ArgumentNullException("effects"); DeleteEffects(effects.Length, ref effects[0]); } /// This function deletes one Effect only. /// Pointer to an effect name/handle identifying the Effect Object to be deleted. public void DeleteEffect(int effect) { DeleteEffects(1, ref effect); } /// This function deletes one Effect only. /// Pointer to an effect name/handle identifying the Effect Object to be deleted. [CLSCompliant(false)] public void DeleteEffect(ref uint effect) { unsafe { fixed (uint* ptr = &effect) { Imported_alDeleteEffects(1, ptr); } } } #endregion alDeleteEffects #region alIsEffect //[CLSCompliant(false)] private delegate bool Delegate_alIsEffect(uint eid); // typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid ); //[CLSCompliant(false)] private Delegate_alIsEffect Imported_alIsEffect; /// The IsEffect function is used to determine if an object identifier is a valid Effect object. /// Effect identifier to validate. /// True if the identifier is a valid Effect, False otherwise. [CLSCompliant(false)] public bool IsEffect(uint eid) { return Imported_alIsEffect(eid); } /// The IsEffect function is used to determine if an object identifier is a valid Effect object. /// Effect identifier to validate. /// True if the identifier is a valid Effect, False otherwise. public bool IsEffect(int eid) { return Imported_alIsEffect((uint)eid); } #endregion alIsEffect #region alEffecti //[CLSCompliant(false)] private delegate void Delegate_alEffecti(uint eid, EfxEffecti param, int value); // typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); //[CLSCompliant(false)] private Delegate_alEffecti Imported_alEffecti; /// This function is used to set integer properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Integer value. [CLSCompliant(false)] public void Effect(uint eid, EfxEffecti param, int value) { Imported_alEffecti(eid, param, value); } /// This function is used to set integer properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Integer value. public void Effect(int eid, EfxEffecti param, int value) { Imported_alEffecti((uint)eid, param, value); } #endregion alEffecti #region alEffectf //[CLSCompliant(false)] private delegate void Delegate_alEffectf(uint eid, EfxEffectf param, float value); // typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value); //[CLSCompliant(false)] private Delegate_alEffectf Imported_alEffectf; /// This function is used to set floating-point properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Floating-point value. [CLSCompliant(false)] public void Effect(uint eid, EfxEffectf param, float value) { Imported_alEffectf(eid, param, value); } /// This function is used to set floating-point properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Floating-point value. public void Effect(int eid, EfxEffectf param, float value) { Imported_alEffectf((uint)eid, param, value); } #endregion alEffectf #region alEffectfv //[CLSCompliant(false)] unsafe private delegate void Delegate_alEffectfv(uint eid, EfxEffect3f param, [In] float* values); // typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); //[CLSCompliant(false)] private Delegate_alEffectfv Imported_alEffectfv; /// This function is used to set 3 floating-point properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Pointer to Math.Vector3. [CLSCompliant(false)] public void Effect(uint eid, EfxEffect3f param, ref Vector3 values) { unsafe { fixed (float* ptr = &values.X) { Imported_alEffectfv(eid, param, ptr); } } } /// This function is used to set 3 floating-point properties on Effect objects. /// Effect object identifier. /// Effect property to set. /// Pointer to Math.Vector3. public void Effect(int eid, EfxEffect3f param, ref Vector3 values) { Effect((uint)eid, param, ref values); } #endregion alEffectfv #region alGetEffecti //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetEffecti(uint eid, EfxEffecti pname, [Out] int* value); // typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value ); //[CLSCompliant(false)] private Delegate_alGetEffecti Imported_alGetEffecti; /// This function is used to retrieve integer properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// Address where integer value will be stored. [CLSCompliant(false)] public void GetEffect(uint eid, EfxEffecti pname, out int value) { unsafe { fixed (int* ptr = &value) { Imported_alGetEffecti(eid, pname, ptr); } } } /// This function is used to retrieve integer properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// Address where integer value will be stored. public void GetEffect(int eid, EfxEffecti pname, out int value) { GetEffect((uint)eid, pname, out value); } #endregion alGetEffecti #region alGetEffectf //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetEffectf(uint eid, EfxEffectf pname, [Out]float* value); // typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value ); //[CLSCompliant(false)] private Delegate_alGetEffectf Imported_alGetEffectf; /// This function is used to retrieve floating-point properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// Address where floating-point value will be stored. [CLSCompliant(false)] public void GetEffect(uint eid, EfxEffectf pname, out float value) { unsafe { fixed (float* ptr = &value) { Imported_alGetEffectf(eid, pname, ptr); } } } /// This function is used to retrieve floating-point properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// Address where floating-point value will be stored. public void GetEffect(int eid, EfxEffectf pname, out float value) { GetEffect((uint)eid, pname, out value); } #endregion alGetEffectf #region alGetEffectfv //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetEffectfv(uint eid, EfxEffect3f param, [Out] float* values); // typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values ); //[CLSCompliant(false)] private Delegate_alGetEffectfv Imported_alGetEffectfv; /// This function is used to retrieve 3 floating-point properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// A Math.Vector3 to hold the values. [CLSCompliant(false)] public void GetEffect(uint eid, EfxEffect3f param, out Vector3 values) { unsafe { fixed (float* ptr = &values.X) { Imported_alGetEffectfv(eid, param, ptr); values.X = ptr[0]; values.Y = ptr[1]; values.Z = ptr[2]; } } } /// This function is used to retrieve 3 floating-point properties from Effect objects. /// Effect object identifier. /// Effect property to retrieve. /// A Math.Vector3 to hold the values. public void GetEffect(int eid, EfxEffect3f param, out Vector3 values) { GetEffect((uint)eid, param, out values); } #endregion alGetEffectfv // Not used: // typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); // typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values ); #endregion Effect Object #region Filter Object #region alGenFilters //[CLSCompliant(false)] unsafe private delegate void Delegate_alGenFilters(int n, [Out] uint* filters); // typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); //[CLSCompliant(false)] private Delegate_alGenFilters Imported_alGenFilters; /// The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. /// After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. /// Number of Filters to be created. /// Pointer addressing sufficient memory to store n Filter object identifiers. [CLSCompliant(false)] public void GenFilters(int n, out uint filters) { unsafe { fixed (uint* ptr = &filters) { Imported_alGenFilters(n, ptr); filters = *ptr; } } } /// The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. /// After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. /// Number of Filters to be created. /// Pointer addressing sufficient memory to store n Filter object identifiers. public void GenFilters(int n, out int filters) { unsafe { fixed (int* ptr = &filters) { Imported_alGenFilters(n, (uint*)ptr); filters = *ptr; } } } /// The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters. /// After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri. /// Number of Filters to be created. /// Pointer addressing sufficient memory to store n Filter object identifiers. public int[] GenFilters(int n) { if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0."); int[] filters = new int[n]; GenFilters(filters.Length, out filters[0]); return filters; } /// This function generates only one Filter. /// Storage Int32 for the new filter name/handle. public int GenFilter() { int filter; GenFilters(1, out filter); return filter; } /// This function generates only one Filter. /// Storage UInt32 for the new filter name/handle. [CLSCompliant(false)] unsafe public void GenFilter(out uint filter) { unsafe { fixed (uint* ptr = &filter) { Imported_alGenFilters(1, ptr); filter = *ptr; } } } #endregion alGenFilters #region alDeleteFilters //[CLSCompliant(false)] unsafe private delegate void Delegate_alDeleteFilters(int n, [In] uint* filters); // typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters ); //[CLSCompliant(false)] private Delegate_alDeleteFilters Imported_alDeleteFilters; /// The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters. /// Number of Filters to be deleted. /// Pointer to n Filter object identifiers. [CLSCompliant(false)] public void DeleteFilters(int n, ref uint filters) { unsafe { fixed (uint* ptr = &filters) { Imported_alDeleteFilters(n, ptr); } } } /// The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters. /// Number of Filters to be deleted. /// Pointer to n Filter object identifiers. public void DeleteFilters(int n, ref int filters) { unsafe { fixed (int* ptr = &filters) { Imported_alDeleteFilters(n, (uint*)ptr); } } } /// This function deletes one Filter only. /// Pointer to an filter name/handle identifying the Filter Object to be deleted. [CLSCompliant(false)] public void DeleteFilters(uint[] filters) { if (filters == null) throw new ArgumentNullException("filters"); DeleteFilters(filters.Length, ref filters[0]); } /// This function deletes one Filter only. /// Pointer to an filter name/handle identifying the Filter Object to be deleted. public void DeleteFilters(int[] filters) { if (filters == null) throw new ArgumentNullException("filters"); DeleteFilters(filters.Length, ref filters[0]); } /// This function deletes one Filter only. /// Pointer to an filter name/handle identifying the Filter Object to be deleted. public void DeleteFilter(int filter) { DeleteFilters(1, ref filter); } /// This function deletes one Filter only. /// Pointer to an filter name/handle identifying the Filter Object to be deleted. [CLSCompliant(false)] public void DeleteFilter(ref uint filter) { unsafe { fixed (uint* ptr = &filter) { Imported_alDeleteFilters(1, ptr); } } } #endregion alDeleteFilters #region alIsFilter //[CLSCompliant(false)] private delegate bool Delegate_alIsFilter(uint fid); // typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid ); //[CLSCompliant(false)] private Delegate_alIsFilter Imported_alIsFilter; /// The IsFilter function is used to determine if an object identifier is a valid Filter object. /// Effect identifier to validate. /// True if the identifier is a valid Filter, False otherwise. [CLSCompliant(false)] public bool IsFilter(uint fid) { return Imported_alIsFilter(fid); } /// The IsFilter function is used to determine if an object identifier is a valid Filter object. /// Effect identifier to validate. /// True if the identifier is a valid Filter, False otherwise. public bool IsFilter(int fid) { return Imported_alIsFilter((uint)fid); } #endregion alIsFilter #region alFilteri //[CLSCompliant(false)] private delegate void Delegate_alFilteri(uint fid, EfxFilteri param, int value); // typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value ); //[CLSCompliant(false)] private Delegate_alFilteri Imported_alFilteri; /// This function is used to set integer properties on Filter objects. /// Filter object identifier. /// Effect property to set. /// Integer value. [CLSCompliant(false)] public void Filter(uint fid, EfxFilteri param, int value) { Imported_alFilteri(fid, param, value); } /// This function is used to set integer properties on Filter objects. /// Filter object identifier. /// Effect property to set. /// Integer value. public void Filter(int fid, EfxFilteri param, int value) { Imported_alFilteri((uint)fid, param, value); } #endregion alFilteri #region alFilterf //[CLSCompliant(false)] private delegate void Delegate_alFilterf(uint fid, EfxFilterf param, float value); // typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value); //[CLSCompliant(false)] private Delegate_alFilterf Imported_alFilterf; /// This function is used to set floating-point properties on Filter objects. /// Filter object identifier. /// Effect property to set. /// Floating-point value. [CLSCompliant(false)] public void Filter(uint fid, EfxFilterf param, float value) { Imported_alFilterf(fid, param, value); } /// This function is used to set floating-point properties on Filter objects. /// Filter object identifier. /// Effect property to set. /// Floating-point value. public void Filter(int fid, EfxFilterf param, float value) { Imported_alFilterf((uint)fid, param, value); } #endregion alFilterf #region alGetFilteri //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetFilteri(uint fid, EfxFilteri pname, [Out] int* value); // typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value ); //[CLSCompliant(false)] private Delegate_alGetFilteri Imported_alGetFilteri; /// This function is used to retrieve integer properties from Filter objects. /// Filter object identifier. /// Effect property to retrieve. /// Address where integer value will be stored. [CLSCompliant(false)] public void GetFilter(uint fid, EfxFilteri pname, out int value) { unsafe { fixed (int* ptr = &value) { Imported_alGetFilteri(fid, pname, ptr); } } } /// This function is used to retrieve integer properties from Filter objects. /// Filter object identifier. /// Effect property to retrieve. /// Address where integer value will be stored. public void GetFilter(int fid, EfxFilteri pname, out int value) { GetFilter((uint)fid, pname, out value); } #endregion alGetFilteri #region alGetFilterf //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetFilterf(uint fid, EfxFilterf pname, [Out] float* value); // typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value ); //[CLSCompliant(false)] private Delegate_alGetFilterf Imported_alGetFilterf; /// This function is used to retrieve floating-point properties from Filter objects. /// Filter object identifier. /// Effect property to retrieve. /// Address where floating-point value will be stored. [CLSCompliant(false)] public void GetFilter(uint fid, EfxFilterf pname, out float value) { unsafe { fixed (float* ptr = &value) { Imported_alGetFilterf(fid, pname, ptr); } } } /// This function is used to retrieve floating-point properties from Filter objects. /// Filter object identifier. /// Effect property to retrieve. /// Address where floating-point value will be stored. public void GetFilter(int fid, EfxFilterf pname, out float value) { GetFilter((uint)fid, pname, out value); } #endregion alGetFilterf // Not used: // typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); // typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); // typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values ); // typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values ); #endregion Filter Object #region Auxiliary Effect Slot Object #region alGenAuxiliaryEffectSlots //[CLSCompliant(false)] unsafe private delegate void Delegate_alGenAuxiliaryEffectSlots(int n, [Out] uint* slots); // typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); //[CLSCompliant(false)] private Delegate_alGenAuxiliaryEffectSlots Imported_alGenAuxiliaryEffectSlots; /// The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. /// An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. /// Number of Auxiliary Effect Slots to be created. /// Pointer addressing sufficient memory to store n Effect Slot object identifiers. [CLSCompliant(false)] public void GenAuxiliaryEffectSlots(int n, out uint slots) { unsafe { fixed (uint* ptr = &slots) { Imported_alGenAuxiliaryEffectSlots(n, ptr); slots = *ptr; } } } /// The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. /// An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. /// Number of Auxiliary Effect Slots to be created. /// Pointer addressing sufficient memory to store n Effect Slot object identifiers. public void GenAuxiliaryEffectSlots(int n, out int slots) { unsafe { fixed (int* ptr = &slots) { Imported_alGenAuxiliaryEffectSlots(n, (uint*)ptr); slots = *ptr; } } } /// The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used. /// An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available. /// Number of Auxiliary Effect Slots to be created. /// Pointer addressing sufficient memory to store n Effect Slot object identifiers. public int[] GenAuxiliaryEffectSlots(int n) { if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0."); int[] slots = new int[n]; GenAuxiliaryEffectSlots(slots.Length, out slots[0]); return slots; } /// This function generates only one Auxiliary Effect Slot. /// Storage Int32 for the new auxiliary effect slot name/handle. public int GenAuxiliaryEffectSlot() { int temp; GenAuxiliaryEffectSlots(1, out temp); return temp; } /// This function generates only one Auxiliary Effect Slot. /// Storage UInt32 for the new auxiliary effect slot name/handle. [CLSCompliant(false)] public void GenAuxiliaryEffectSlot(out uint slot) { unsafe { fixed (uint* ptr = &slot) { Imported_alGenAuxiliaryEffectSlots(1, ptr); slot = *ptr; } } } #endregion alGenAuxiliaryEffectSlots #region DeleteAuxiliaryEffectSlots unsafe private delegate void Delegate_alDeleteAuxiliaryEffectSlots(int n, [In] uint* slots); // typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots ); private Delegate_alDeleteAuxiliaryEffectSlots Imported_alDeleteAuxiliaryEffectSlots; /// The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. /// Number of Auxiliary Effect Slots to be deleted. /// Pointer to n Effect Slot object identifiers. [CLSCompliant(false)] public void DeleteAuxiliaryEffectSlots(int n, ref uint slots) { unsafe { fixed (uint* ptr = &slots) { Imported_alDeleteAuxiliaryEffectSlots(n, ptr); } } } /// The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. /// Number of Auxiliary Effect Slots to be deleted. /// Pointer to n Effect Slot object identifiers. public void DeleteAuxiliaryEffectSlots(int n, ref int slots) { unsafe { fixed (int* ptr = &slots) { Imported_alDeleteAuxiliaryEffectSlots(n, (uint*)ptr); } } } /// The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots. /// Pointer to n Effect Slot object identifiers. public void DeleteAuxiliaryEffectSlots(int[] slots) { if (slots == null) throw new ArgumentNullException("slots"); DeleteAuxiliaryEffectSlots(slots.Length, ref slots[0]); } /// This function deletes one AuxiliaryEffectSlot only. /// Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. [CLSCompliant(false)] public void DeleteAuxiliaryEffectSlots(uint[] slots) { if (slots == null) throw new ArgumentNullException("slots"); DeleteAuxiliaryEffectSlots(slots.Length, ref slots[0]); } /// This function deletes one AuxiliaryEffectSlot only. /// Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. public void DeleteAuxiliaryEffectSlot(int slot) { DeleteAuxiliaryEffectSlots(1, ref slot); } /// This function deletes one AuxiliaryEffectSlot only. /// Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted. [CLSCompliant(false)] public void DeleteAuxiliaryEffectSlot(ref uint slot) { unsafe { fixed (uint* ptr = &slot) { Imported_alDeleteAuxiliaryEffectSlots(1, ptr); } } } #endregion alDeleteAuxiliaryEffectSlots #region alIsAuxiliaryEffectSlot //[CLSCompliant(false)] private delegate bool Delegate_alIsAuxiliaryEffectSlot(uint slot); // typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot ); //[CLSCompliant(false)] private Delegate_alIsAuxiliaryEffectSlot Imported_alIsAuxiliaryEffectSlot; /// The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object. /// Effect Slot object identifier to validate. /// True if the identifier is a valid Auxiliary Effect Slot, False otherwise. [CLSCompliant(false)] public bool IsAuxiliaryEffectSlot(uint slot) { return Imported_alIsAuxiliaryEffectSlot(slot); } /// The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object. /// Effect Slot object identifier to validate. /// True if the identifier is a valid Auxiliary Effect Slot, False otherwise. public bool IsAuxiliaryEffectSlot(int slot) { return Imported_alIsAuxiliaryEffectSlot((uint)slot); } #endregion alIsAuxiliaryEffectSlot #region alAuxiliaryEffectSloti //[CLSCompliant(false)] private delegate void Delegate_alAuxiliaryEffectSloti(uint asid, EfxAuxiliaryi param, int value); // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); //[CLSCompliant(false)] private Delegate_alAuxiliaryEffectSloti Imported_alAuxiliaryEffectSloti; /// This function is used to set integer properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to set. /// Integer value. [CLSCompliant(false)] public void AuxiliaryEffectSlot(uint asid, EfxAuxiliaryi param, int value) { Imported_alAuxiliaryEffectSloti(asid, param, value); } /// This function is used to set integer properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to set. /// Integer value. public void AuxiliaryEffectSlot(int asid, EfxAuxiliaryi param, int value) { Imported_alAuxiliaryEffectSloti((uint)asid, param, value); } #endregion alAuxiliaryEffectSloti #region alAuxiliaryEffectSlotf //[CLSCompliant(false)] private delegate void Delegate_alAuxiliaryEffectSlotf(uint asid, EfxAuxiliaryf param, float value); // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value ); //[CLSCompliant(false)] private Delegate_alAuxiliaryEffectSlotf Imported_alAuxiliaryEffectSlotf; /// This function is used to set floating-point properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to set. /// Floating-point value. [CLSCompliant(false)] public void AuxiliaryEffectSlot(uint asid, EfxAuxiliaryf param, float value) { Imported_alAuxiliaryEffectSlotf(asid, param, value); } /// This function is used to set floating-point properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to set. /// Floating-point value. public void AuxiliaryEffectSlot(int asid, EfxAuxiliaryf param, float value) { Imported_alAuxiliaryEffectSlotf((uint)asid, param, value); } #endregion alAuxiliaryEffectSlotf #region alGetAuxiliaryEffectSloti //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetAuxiliaryEffectSloti(uint asid, EfxAuxiliaryi pname, [Out] int* value); // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value ); //[CLSCompliant(false)] private Delegate_alGetAuxiliaryEffectSloti Imported_alGetAuxiliaryEffectSloti; /// This function is used to retrieve integer properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to retrieve. /// Address where integer value will be stored. [CLSCompliant(false)] public void GetAuxiliaryEffectSlot(uint asid, EfxAuxiliaryi pname, out int value) { unsafe { fixed (int* ptr = &value) { Imported_alGetAuxiliaryEffectSloti(asid, pname, ptr); } } } /// This function is used to retrieve integer properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to retrieve. /// Address where integer value will be stored. public void GetAuxiliaryEffectSlot(int asid, EfxAuxiliaryi pname, out int value) { GetAuxiliaryEffectSlot((uint)asid, pname, out value); } #endregion alGetAuxiliaryEffectSloti #region alGetAuxiliaryEffectSlotf //[CLSCompliant(false)] unsafe private delegate void Delegate_alGetAuxiliaryEffectSlotf(uint asid, EfxAuxiliaryf pname, [Out] float* value); // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value ); //[CLSCompliant(false)] private Delegate_alGetAuxiliaryEffectSlotf Imported_alGetAuxiliaryEffectSlotf; /// This function is used to retrieve floating properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to retrieve. /// Address where floating-point value will be stored. [CLSCompliant(false)] public void GetAuxiliaryEffectSlot(uint asid, EfxAuxiliaryf pname, out float value) { unsafe { fixed (float* ptr = &value) { Imported_alGetAuxiliaryEffectSlotf(asid, pname, ptr); } } } /// This function is used to retrieve floating properties on Auxiliary Effect Slot objects. /// Auxiliary Effect Slot object identifier. /// Auxiliary Effect Slot property to retrieve. /// Address where floating-point value will be stored. public void GetAuxiliaryEffectSlot(int asid, EfxAuxiliaryf pname, out float value) { GetAuxiliaryEffectSlot((uint)asid, pname, out value); } #endregion alGetAuxiliaryEffectSlotf // Not used: // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values ); // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values ); #endregion Auxiliary Effect Slot Object #region Constructor / Extension Loading private bool _valid; /// Returns True if the EFX Extension has been found and could be initialized. public bool IsInitialized { get { return _valid; } } /// /// Constructs a new EffectsExtension instance. /// public EffectsExtension() { _valid = false; if (AudioContext.CurrentContext == null) throw new InvalidOperationException("AL.LoadAll() needs a current AudioContext."); if (!AudioContext.CurrentContext.SupportsExtension("ALC_EXT_EFX")) { Debug.WriteLine("EFX Extension (ALC_EXT_EFX) is not supported(AudioContext: {0}).", AudioContext.CurrentContext.ToString()); return; } // Console.WriteLine("ALC_EXT_EFX found. Efx can be used."); try { Imported_alGenEffects = (Delegate_alGenEffects)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenEffects"), typeof(Delegate_alGenEffects)); Imported_alDeleteEffects = (Delegate_alDeleteEffects)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteEffects"), typeof(Delegate_alDeleteEffects)); Imported_alIsEffect = (Delegate_alIsEffect)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsEffect"), typeof(Delegate_alIsEffect)); Imported_alEffecti = (Delegate_alEffecti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffecti"), typeof(Delegate_alEffecti)); Imported_alEffectf = (Delegate_alEffectf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffectf"), typeof(Delegate_alEffectf)); Imported_alEffectfv = (Delegate_alEffectfv)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffectfv"), typeof(Delegate_alEffectfv)); Imported_alGetEffecti = (Delegate_alGetEffecti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffecti"), typeof(Delegate_alGetEffecti)); Imported_alGetEffectf = (Delegate_alGetEffectf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffectf"), typeof(Delegate_alGetEffectf)); Imported_alGetEffectfv = (Delegate_alGetEffectfv)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffectfv"), typeof(Delegate_alGetEffectfv)); } catch (Exception e) { Debug.WriteLine("Failed to marshal Effect functions. " + e.ToString()); return; } // Console.WriteLine("Effect functions appear to be ok."); try { Imported_alGenFilters = (Delegate_alGenFilters)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenFilters"), typeof(Delegate_alGenFilters)); Imported_alDeleteFilters = (Delegate_alDeleteFilters)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteFilters"), typeof(Delegate_alDeleteFilters)); Imported_alIsFilter = (Delegate_alIsFilter)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsFilter"), typeof(Delegate_alIsFilter)); Imported_alFilteri = (Delegate_alFilteri)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alFilteri"), typeof(Delegate_alFilteri)); Imported_alFilterf = (Delegate_alFilterf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alFilterf"), typeof(Delegate_alFilterf)); Imported_alGetFilteri = (Delegate_alGetFilteri)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetFilteri"), typeof(Delegate_alGetFilteri)); Imported_alGetFilterf = (Delegate_alGetFilterf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetFilterf"), typeof(Delegate_alGetFilterf)); } catch (Exception e) { Debug.WriteLine("Failed to marshal Filter functions. " + e.ToString()); return; } // Console.WriteLine("Filter functions appear to be ok."); try { Imported_alGenAuxiliaryEffectSlots = (Delegate_alGenAuxiliaryEffectSlots)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenAuxiliaryEffectSlots"), typeof(Delegate_alGenAuxiliaryEffectSlots)); Imported_alDeleteAuxiliaryEffectSlots = (Delegate_alDeleteAuxiliaryEffectSlots)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteAuxiliaryEffectSlots"), typeof(Delegate_alDeleteAuxiliaryEffectSlots)); Imported_alIsAuxiliaryEffectSlot = (Delegate_alIsAuxiliaryEffectSlot)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsAuxiliaryEffectSlot"), typeof(Delegate_alIsAuxiliaryEffectSlot)); Imported_alAuxiliaryEffectSloti = (Delegate_alAuxiliaryEffectSloti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alAuxiliaryEffectSloti"), typeof(Delegate_alAuxiliaryEffectSloti)); Imported_alAuxiliaryEffectSlotf = (Delegate_alAuxiliaryEffectSlotf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alAuxiliaryEffectSlotf"), typeof(Delegate_alAuxiliaryEffectSlotf)); Imported_alGetAuxiliaryEffectSloti = (Delegate_alGetAuxiliaryEffectSloti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetAuxiliaryEffectSloti"), typeof(Delegate_alGetAuxiliaryEffectSloti)); Imported_alGetAuxiliaryEffectSlotf = (Delegate_alGetAuxiliaryEffectSlotf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetAuxiliaryEffectSlotf"), typeof(Delegate_alGetAuxiliaryEffectSlotf)); } catch (Exception e) { Debug.WriteLine("Failed to marshal AuxiliaryEffectSlot functions. " + e.ToString()); return; } // Console.WriteLine("Auxiliary Effect Slot functions appear to be ok."); // didn't return so far, everything went fine. _valid = true; } #endregion Constructor / Extension Loading } }opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alut/0000775000175000017500000000000011453142152021701 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alut/Alut.cs0000664000175000017500000003337611453131426023153 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlutFunctions.cs * C header: \freealut-1.1.0-src\include\AL\Alut.h * Spec: http://www.openal.org/openal_webstf/specs/alut.html * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; using System.Runtime.InteropServices; using System.Security; namespace OpenTK.Audio { /// Alut, FreeAlut = Free Audio Library Utilities [Obsolete("Use OpenTK.Audio.AudioContext and OpenTK.Audio.Alc instead.")] public static class Alut { #region Constants private const string Lib = "alut.dll"; private const CallingConvention Style = CallingConvention.Cdecl; #endregion Constants #region Init/Exit /// Alut.Init initializes the ALUT internals and creates an OpenAL context on the default device and makes it the current OpenAL context. If you want something more complex than that (e.g. running on a non-default device or opening multiple contexts on multiple devices), you can use alutInitWithoutContext instead. alutInit examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. /// Application Main Parameters. Can be IntPtr.Zero. /// Application Main Parameters. Can be IntPtr.Zero. /// Success. [DllImport(Alut.Lib, EntryPoint = "alutInit", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern bool Init([In] IntPtr argcp, [In] IntPtr argv); // ALUT_API ALboolean ALUT_APIENTRY alutInit (int *argcp, char **argv); /// Parameterless function for convenience. Internally passes IntPtr.Zero as parameters. /// Success. public static bool Init() // overload for convenience { return Init(IntPtr.Zero, IntPtr.Zero); } /// Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. /// Application Main Parameters /// Application Main Parameters /// Success. [DllImport(Alut.Lib, EntryPoint = "alutInitWithoutContext", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern bool InitWithoutContext([In] IntPtr argcp, [In] IntPtr argv); // ALUT_API ALboolean ALUT_APIENTRY alutInitWithoutContext (int *argcp, char **argv); /// Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv. /// Success. public static bool InitWithoutContext() // overload for convenience { return InitWithoutContext(IntPtr.Zero, IntPtr.Zero); } /// When the application has finished playing audio, it should shut down ALUT using Alut.Exit. This closes any OpenAL device/context that ALUT may have created in alutInit (but not any that the application created using ALC). After calling alutExit, you may subsequently call alutInit or alutInitWithoutContext again. Note that under well-behaved operating systems, it should be acceptable to simply exit from your program without bothering to call alutExit, relying on the OS to clean up after you. However, it is dangerous to rely on this behavior if portable operation is expected. /// Success. [DllImport(Alut.Lib, EntryPoint = "alutExit", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern bool Exit(); // ALUT_API ALboolean ALUT_APIENTRY alutExit (void); #endregion Init/Exit #region Error Checking /// Any ALUT routine that fails will return AL_FALSE / AL_NONE / NULL and set the global error state. If a subsequent error occurs while there is still an error recorded internally, the second error will simply be ignored. Calling alutGetError will reset the error code to ALUT_ERROR_NO_ERROR. Note that the error state is not cleared by other successful ALUT calls. Alut.GetError can be called in any ALUT state and will never fail. /// [DllImport(Alut.Lib, EntryPoint = "alutGetError", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern AlutError GetError(); // ALUT_API ALenum ALUT_APIENTRY alutGetError (void); [DllImport(Alut.Lib, EntryPoint = "alutGetErrorString", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] private static extern IntPtr GetErrorStringPrivate(AlutError error); // ALUT_API const char *ALUT_APIENTRY alutGetErrorString (ALenum error); /// Alut.GetErrorString can be used to convert an error code into a human-readable description. The precise text of these descriptions may vary from implementation to implementation and should not be relied upon by the application. /// Retrieve first occured error with Alut.GetError /// A human-readable description of the Error. public static string GetErrorString(AlutError error) { return Marshal.PtrToStringAnsi(GetErrorStringPrivate(error)); } #endregion Error Checking #region File Loading /// Alut.CreateBufferFromFile tries to guess the sound buffer format by looking at the filename and/or the file contents and loads the sound buffer into an OpenAL buffer. /// The file to be loaded /// OpenAL Buffer, 0 on failure. [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferFromFile", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern uint CreateBufferFromFile([In] string filename); // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFile (const char *fileName); /// Alut.CreateBufferFromFileImage tries to guess the sound buffer format by looking at the contents of the memory region given as parameters and loads the sound buffer into an OpenAL buffer. /// A Pointer to the sound buffer in memory. /// Size in Bytes of the sound buffer. /// OpenAL Buffer, 0 on failure. [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferFromFileImage", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern uint CreateBufferFromFileImage([In] IntPtr buffer, int length); // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFileImage (const ALvoid *buffer, ALsizei length); /// Alut.CreateBufferHelloWorld returns a handle to an OpenAL buffer containing the sound of someone saying 'Hello, world!'. /// OpenAL Buffer, 0 on failure. [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferHelloWorld", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern uint CreateBufferHelloWorld(); //ALUT_API ALuint ALUT_APIENTRY alutCreateBufferHelloWorld (void); /// Alut.CreateBufferWaveform returns a handle to an OpenAL buffer containing a snippet of audio with the specified waveshape at the specified frequency (in hertz), phase (in degrees: -180 to +180) and duration (in seconds). /// /// Frequency in hertz [Hz]. /// Phase (in degrees: -180 to +180) /// Duration (in seconds) /// OpenAL Buffer, 0 on failure. [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferWaveform", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern uint CreateBufferWaveform(AlutWaveform waveshape, float frequency, float phase, float duration); // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration); // Warning: these leak memory if not properly free'd // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFile (const char *fileName, ALenum *format, ALsizei *size, ALfloat *frequency); // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFileImage (const ALvoid *buffer, ALsizei length, ALenum *format, ALsizei *size, ALfloat *frequency); // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryHelloWorld (ALenum *format, ALsizei *size, ALfloat *frequency); // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration, ALenum *format, ALsizei *size, ALfloat *freq); #endregion File Loading #region Misc [DllImport(Alut.Lib, EntryPoint = "alutGetMIMETypes", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] private static extern IntPtr GetMIMETypesPrivate(AlutLoader loader); // ALUT_API const char *ALUT_APIENTRY alutGetMIMETypes (ALenum loader); /// Alut.GetMIMETypes returns a comma-separated list of supported MIME types for the given loader type, e.g. something like "audio/basic,audio/mpeg,audio/x-wav". /// It is possible that AlutLoader.Memory loaders will be unable to support some file types that AlutLoader.Buffer loaders can support (although the reverse is never the case). Furthermore, it is possible that for some file types (notably audio/x-wav) the support may be only for a few sub-formats. For example, an implementation may advertise that audio/x-wav is supported when in fact it only supports uncompressed (i.e. PCM) WAV files and not any of the compressed subformats. In this event, the various ALUT loaders may return an error and set ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE rather than ALUT_ERROR_UNSUPPORTED_FILE_TYPE which would indicate that no files of this type are allowed. /// /// /// A comma-separated list of supported MIME types. public static string GetMIMETypes(AlutLoader loader) { return Marshal.PtrToStringAnsi(GetMIMETypesPrivate(loader)); } /// Alut.GetMajorVersion returns the major version number of the ALUT in use, which will match the major version number of the corresponding ALUT specification document. Can be compared using AlutVersions. /// Major Version Number. [DllImport(Alut.Lib, EntryPoint = "alutGetMajorVersion", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern int GetMajorVersion(); // ALUT_API ALint ALUT_APIENTRY alutGetMajorVersion (void); /// Alut.GetMinorVersion returns the minor version number of the ALUT in use, which will match the minor version number of the corresponding ALUT specification document. Can be compared using AlutVersions. /// Minor Version Number. [DllImport(Alut.Lib, EntryPoint = "alutGetMinorVersion", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()] public static extern int GetMinorVersion(); // ALUT_API ALint ALUT_APIENTRY alutGetMinorVersion (void); /* /// Alut.Sleep will delay the execution of the current thread for at least the given amount of seconds. It will only return earlier if a signal has been delivered to the thread, but this does not count as an error. Note that sleeping for zero seconds will give other runnable threads a chance to run. /// Having a general utility function like the following in an audio-related toolkit might seem strange at first, but sleeping is a common task in a lot of audio demos and it can't be done portably without cluttering the source code with #ifdefs. /// /// Number of seconds. May not be negative. /// Success. [DllImport( Alut.Lib, EntryPoint = "alutSleep", ExactSpelling = true, CallingConvention = Alut.Style ), SuppressUnmanagedCodeSecurity( )] public static extern bool Sleep( float duration ); // ALUT_API ALboolean ALUT_APIENTRY alutSleep (ALfloat duration); */ #endregion Misc } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alut/AlutEnums.cs0000664000175000017500000000751411453131426024156 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlutTokens.cs * C header: \freealut-1.1.0-src\include\AL\Alut.h * Spec: http://www.openal.org/openal_webstf/specs/alut.html * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; namespace OpenTK.Audio { /// /// Defines the version of the Alut library. /// public enum AlutVersions : int { /// Defines the A in OpenAL A.B ApiMajorVersion = 1, /// Defines the B in OpenAL A.B ApiMinorVersion = 1, } /// /// Defines available alut error codes. /// public enum AlutError : int { /// No ALUT error found. NoError = 0, /// ALUT ran out of memory. OutOfMemory = 0x200, /// ALUT was given an invalid enumeration token. InvalidEnum = 0x201, /// ALUT was given an invalid value. InvalidValue = 0x202, /// The operation is invalid in the current ALUT state. InvalidOperation = 0x203, /// There is no current AL context. NoCurrentContext = 0x204, /// There was already an AL error on entry to an ALUT function. AlErrorOnEntry = 0x205, /// There was already an ALC error on entry to an ALUT function. AlcErrorOnEntry = 0x206, /// There was an error opening the ALC device. OpenDevice = 0x207, /// There was an error closing the ALC device. CloseDevice = 0x208, /// There was an error creating an ALC context. CreateContext = 0x209, /// Could not change the current ALC context. MakeContextCurrent = 0x20A, /// There was an error destroying the ALC context. DestroyContext = 0x20B, /// There was an error generating an AL buffer. GenBuffers = 0x20C, /// There was an error passing buffer buffer to AL. BufferData = 0x20D, /// I/O error, consult errno for more details. IoError = 0x20E, /// Unsupported file type. UnsupportedFileType = 0x20F, /// Unsupported mode within an otherwise usable file type. UnsupportedFileSubtype = 0x210, /// The sound buffer was corrupt or truncated. CorruptOrTruncatedData = 0x211, } /// /// Defines available alut waveform types. /// public enum AlutWaveform : int { /// A sine waveform Sine = 0x100, /// A square waveform Square = 0x101, /// A sawtooth waveform SawTooth = 0x102, /// A waveform containing white noise WhiteNoise = 0x103, /// A waveform containing an impusle Impulse = 0x104, } /// /// Defines parameters for alut loaders. /// public enum AlutLoader : int { ///For the loaders returning sound buffer in an OpenAL buffer, e.g. Alut.CreateBufferFromFile and Alut.CreateBufferFromFileImage Buffer = 0x300, ///For the loaders returning sound buffer in a newly allocated memory region, e.g. Alut.LoadMemoryFromFile and Alut.LoadMemoryFromFileImage. Memory = 0x301, } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alc/0000775000175000017500000000000011453142152021473 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alc/AlcEnums.cs0000664000175000017500000001442511453131426023541 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlcTokens.cs * C header: \OpenAL 1.1 SDK\include\Alc.h * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; namespace OpenTK.Audio { /// /// Defines available context attributes. /// public enum AlcContextAttributes : int { ///Followed by System.Int32 Hz Frequency = 0x1007, ///Followed by System.Int32 Hz Refresh = 0x1008, ///Followed by AlBoolean.True, or AlBoolean.False Sync = 0x1009, ///Followed by System.Int32 Num of requested Mono (3D) Sources MonoSources = 0x1010, ///Followed by System.Int32 Num of requested Stereo Sources StereoSources = 0x1011, /// (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2 EfxMaxAuxiliarySends = 0x20003, } /// /// Defines OpenAL context errors. /// public enum AlcError : int { ///There is no current error. NoError = 0, ///No Device. The device handle or specifier names an inaccessible driver/server. InvalidDevice = 0xA001, ///Invalid context ID. The Context argument does not name a valid context. InvalidContext = 0xA002, ///Bad enum. A token used is not valid, or not applicable. InvalidEnum = 0xA003, ///Bad value. A value (e.g. Attribute) is not valid, or not applicable. InvalidValue = 0xA004, ///Out of memory. Unable to allocate memory. OutOfMemory = 0xA005, } /// /// Defines available parameters for . /// public enum AlcGetString : int { ///The specifier string for the default device. DefaultDeviceSpecifier = 0x1004, ///A list of available context extensions separated by spaces. Extensions = 0x1006, ///The name of the default capture device CaptureDefaultDeviceSpecifier = 0x311, // ALC_EXT_CAPTURE extension. /// a list of the default devices. DefaultAllDevicesSpecifier = 0x1012, // duplicates from AlcGetStringList: ///Will only return the first Device, not a list. Use AlcGetStringList.CaptureDeviceSpecifier. ALC_EXT_CAPTURE_EXT CaptureDeviceSpecifier = 0x310, ///Will only return the first Device, not a list. Use AlcGetStringList.DeviceSpecifier DeviceSpecifier = 0x1005, /// Will only return the first Device, not a list. Use AlcGetStringList.AllDevicesSpecifier AllDevicesSpecifier = 0x1013, } /// /// Defines available parameters for . /// public enum AlcGetStringList : int { ///The name of the specified capture device, or a list of all available capture devices if no capture device is specified. ALC_EXT_CAPTURE_EXT CaptureDeviceSpecifier = 0x310, ///The specifier strings for all available devices. ALC_ENUMERATION_EXT DeviceSpecifier = 0x1005, /// The specifier strings for all available devices. ALC_ENUMERATE_ALL_EXT AllDevicesSpecifier = 0x1013, } /// /// Defines available parameters for . /// public enum AlcGetInteger : int { ///The specification revision for this implementation (major version). NULL is an acceptable device. MajorVersion = 0x1000, ///The specification revision for this implementation (minor version). NULL is an acceptable device. MinorVersion = 0x1001, ///The size (number of ALCint values) required for a zero-terminated attributes list, for the current context. NULL is an invalid device. AttributesSize = 0x1002, ///Expects a destination of ALC_ATTRIBUTES_SIZE, and provides an attribute list for the current context of the specified device. NULL is an invalid device. AllAttributes = 0x1003, ///The number of capture samples available. NULL is an invalid device. CaptureSamples = 0x312, /// (EFX Extension) This property can be used by the application to retrieve the Major version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv. EfxMajorVersion = 0x20001, /// (EFX Extension) This property can be used by the application to retrieve the Minor version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv. EfxMinorVersion = 0x20002, /// (EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2 EfxMaxAuxiliarySends = 0x20003, } } opentk-1.0.20101006/Source/Compatibility/Audio/OpenAL/Alc/Alc.cs0000664000175000017500000006147111453131426022534 0ustar laneylaney#region --- OpenTK.OpenAL License --- /* AlcFunctions.cs * C header: \OpenAL 1.1 SDK\include\Alc.h * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos * See license.txt for license details * http://www.OpenTK.net */ #endregion using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Security; /* Type Mapping // 8-bit boolean typedef char ALCboolean; * byte // character typedef char ALCchar; * byte // signed 8-bit 2's complement integer typedef char ALCbyte; * byte // unsigned 8-bit integer typedef unsigned char ALCubyte; * ubyte // signed 16-bit 2's complement integer typedef short ALCshort; * short // unsigned 16-bit integer typedef unsigned short ALCushort; * ushort // unsigned 32-bit integer typedef unsigned int ALCuint; * uint // signed 32-bit 2's complement integer typedef int ALCint; * int // non-negative 32-bit binary integer size typedef int ALCsizei; * int // enumerated 32-bit value typedef int ALCenum; * int // 32-bit IEEE754 floating-point typedef float ALCfloat; * float // 64-bit IEEE754 floating-point typedef double ALCdouble; * double // void type (for opaque pointers only) typedef void ALCvoid; * void * ALCdevice * ALCcontext *context * IntPtr */ namespace OpenTK.Audio { /// Alc = Audio Library Context public static class Alc { #region Constants private const string Lib = AL.Lib; private const CallingConvention Style = CallingConvention.Cdecl; #endregion Constants #region Context Management #region CreateContext /// This function creates a context using a specified device. /// a pointer to a device /// a pointer to a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC /// Returns a pointer to the new context (NULL on failure). The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values. [DllImport(Alc.Lib, EntryPoint = "alcCreateContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity] [CLSCompliant(false)] unsafe public static extern ContextHandle CreateContext([In] IntPtr device, [In] int* attrlist); // ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist ); /// This function creates a context using a specified device. /// a pointer to a device /// an array of a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC /// Returns a pointer to the new context (NULL on failure). /// The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values. public static ContextHandle CreateContext(IntPtr device, int[] attriblist) { unsafe { fixed (int* attriblist_ptr = attriblist) { return CreateContext(device, attriblist_ptr); } } } #endregion /// This function makes a specified context the current context. /// A pointer to the new context. /// Returns True on success, or False on failure. [DllImport(Alc.Lib, EntryPoint = "alcMakeContextCurrent", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern bool MakeContextCurrent([In] ContextHandle context); // ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context ); /// This function tells a context to begin processing. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. alcSuspendContext can be used to suspend a context, and then all the OpenAL state changes can be applied at once, followed by a call to alcProcessContext to apply all the state changes immediately. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP. /// a pointer to the new context [DllImport(Alc.Lib, EntryPoint = "alcProcessContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void ProcessContext([In] ContextHandle context); // ALC_API void ALC_APIENTRY alcProcessContext( ALCcontext *context ); /// This function suspends processing on a specified context. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. A typical use of alcSuspendContext would be to suspend a context, apply all the OpenAL state changes at once, and then call alcProcessContext to apply all the state changes at once. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP. /// a pointer to the context to be suspended. [DllImport(Alc.Lib, EntryPoint = "alcSuspendContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void SuspendContext([In] ContextHandle context); // ALC_API void ALC_APIENTRY alcSuspendContext( ALCcontext *context ); /// This function destroys a context. /// a pointer to the new context. [DllImport(Alc.Lib, EntryPoint = "alcDestroyContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void DestroyContext([In] ContextHandle context); // ALC_API void ALC_APIENTRY alcDestroyContext( ALCcontext *context ); /// This function retrieves the current context. /// Returns a pointer to the current context. [DllImport(Alc.Lib, EntryPoint = "alcGetCurrentContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern ContextHandle GetCurrentContext(); // ALC_API ALCcontext * ALC_APIENTRY alcGetCurrentContext( void ); /// This function retrieves a context's device pointer. /// a pointer to a context. /// Returns a pointer to the specified context's device. [DllImport(Alc.Lib, EntryPoint = "alcGetContextsDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern IntPtr GetContextsDevice([In] ContextHandle context); // ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice( ALCcontext *context ); #endregion Context Management #region Device Management /// This function opens a device by name. /// a null-terminated string describing a device. /// Returns a pointer to the opened device. The return value will be NULL if there is an error. [DllImport(Alc.Lib, EntryPoint = "alcOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern IntPtr OpenDevice([In] string devicename); // ALC_API ALCdevice * ALC_APIENTRY alcOpenDevice( const ALCchar *devicename ); /// This function closes a device by name. /// a pointer to an opened device /// True will be returned on success or False on failure. Closing a device will fail if the device contains any contexts or buffers. [DllImport(Alc.Lib, EntryPoint = "alcCloseDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern bool CloseDevice([In] IntPtr device); // ALC_API ALCboolean ALC_APIENTRY alcCloseDevice( ALCdevice *device ); #endregion Device Management #region Error support. /// This function retrieves the current context error state. /// a pointer to the device to retrieve the error state from /// Errorcode Int32. [DllImport(Alc.Lib, EntryPoint = "alcGetError", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern AlcError GetError([In] IntPtr device); // ALC_API ALCenum ALC_APIENTRY alcGetError( ALCdevice *device ); #endregion Error support. #region Extension support. /// This function queries if a specified context extension is available. /// a pointer to the device to be queried for an extension. /// a null-terminated string describing the extension. /// Returns True if the extension is available, False if the extension is not available. [DllImport(Alc.Lib, EntryPoint = "alcIsExtensionPresent", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern bool IsExtensionPresent([In] IntPtr device, [In] string extname); // ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname ); /// This function retrieves the address of a specified context extension function. /// a pointer to the device to be queried for the function. /// a null-terminated string describing the function. /// Returns the address of the function, or NULL if it is not found. [DllImport(Alc.Lib, EntryPoint = "alcGetProcAddress", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern IntPtr GetProcAddress([In] IntPtr device, [In] string funcname); // ALC_API void * ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname ); /// This function retrieves the enum value for a specified enumeration name. /// a pointer to the device to be queried. /// a null terminated string describing the enum value. /// Returns the enum value described by the enumName string. This is most often used for querying an enum value for an ALC extension. [DllImport(Alc.Lib, EntryPoint = "alcGetEnumValue", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern int GetEnumValue([In] IntPtr device, [In] string enumname); // ALC_API ALCenum ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname ); #endregion Extension support. #region Query functions [DllImport(Alc.Lib, EntryPoint = "alcGetString", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] private static extern IntPtr GetStringPrivate([In] IntPtr device, AlcGetString param); // ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param ); /// This function returns pointers to strings related to the context. /// /// ALC_DEFAULT_DEVICE_SPECIFIER will return the name of the default output device. /// ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER will return the name of the default capture device. /// ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details. /// ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. /// ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character. /// /// a pointer to the device to be queried. /// an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER, ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_EXTENSIONS /// A string containing the name of the Device. public static string GetString(IntPtr device, AlcGetString param) { return Marshal.PtrToStringAnsi(GetStringPrivate(device, param)); } /// This function returns a List of strings related to the context. /// /// ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details. /// ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. /// ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character. /// /// a pointer to the device to be queried. /// an attribute to be retrieved: ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_ALL_DEVICES_SPECIFIER /// A List of strings containing the names of the Devices. public static IList GetString(IntPtr device, AlcGetStringList param) { List result = new List(); IntPtr t = GetStringPrivate(IntPtr.Zero, (AlcGetString)param); System.Text.StringBuilder sb = new System.Text.StringBuilder(); byte b; int offset = 0; do { b = Marshal.ReadByte(t, offset++); if (b != 0) sb.Append((char)b); if (b == 0) { result.Add(sb.ToString()); if (Marshal.ReadByte(t, offset) == 0) // offset already properly increased through ++ break; // 2x null else sb.Remove(0, sb.Length); // 1x null } } while (true); return (IList)result; } [DllImport(Alc.Lib, EntryPoint = "alcGetIntegerv", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] unsafe static extern void GetInteger(IntPtr device, AlcGetInteger param, int size, int* data); // ALC_API void ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *buffer ); /// This function returns integers related to the context. /// a pointer to the device to be queried. /// an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES /// the size of the destination buffer provided, in number of integers. /// a pointer to the buffer to be returned public static void GetInteger(IntPtr device, AlcGetInteger param, int size, out int data) { unsafe { fixed (int* data_ptr = &data) { GetInteger(device, param, size, data_ptr); } } } /// This function returns integers related to the context. /// a pointer to the device to be queried. /// an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES /// the size of the destination buffer provided, in number of integers. /// a pointer to the buffer to be returned public static void GetInteger(IntPtr device, AlcGetInteger param, int size, int[] data) { unsafe { fixed (int* data_ptr = data) { GetInteger(device, param, size, data_ptr); } } } #endregion Query functions #region Capture functions /// This function opens a capture device by name. /// a pointer to a device name string. /// the frequency that the buffer should be captured at. /// the requested capture buffer format. /// the size of the capture buffer in samples, not bytes. /// Returns the capture device pointer, or NULL on failure. [CLSCompliant(false), DllImport(Alc.Lib, EntryPoint = "alcCaptureOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern IntPtr CaptureOpenDevice(string devicename, uint frequency, ALFormat format, int buffersize); /// This function opens a capture device by name. /// a pointer to a device name string. /// the frequency that the buffer should be captured at. /// the requested capture buffer format. /// the size of the capture buffer in samples, not bytes. /// Returns the capture device pointer, or NULL on failure. [DllImport(Alc.Lib, EntryPoint = "alcCaptureOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()] public static extern IntPtr CaptureOpenDevice(string devicename, int frequency, ALFormat format, int buffersize); // ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); /// This function closes the specified capture device. /// a pointer to a capture device. /// Returns True if the close operation was successful, False on failure. [DllImport(Alc.Lib, EntryPoint = "alcCaptureCloseDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern bool CaptureCloseDevice([In] IntPtr device); // ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device ); /// This function begins a capture operation. /// alcCaptureStart will begin recording to an internal ring buffer of the size specified when opening the capture device. The application can then retrieve the number of samples currently available using the ALC_CAPTURE_SAPMPLES token with alcGetIntegerv. When the application determines that enough samples are available for processing, then it can obtain them with a call to alcCaptureSamples. /// a pointer to a capture device. [DllImport(Alc.Lib, EntryPoint = "alcCaptureStart", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void CaptureStart([In] IntPtr device); // ALC_API void ALC_APIENTRY alcCaptureStart( ALCdevice *device ); /// This function stops a capture operation. /// a pointer to a capture device. [DllImport(Alc.Lib, EntryPoint = "alcCaptureStop", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void CaptureStop([In] IntPtr device); // ALC_API void ALC_APIENTRY alcCaptureStop( ALCdevice *device ); /// This function completes a capture operation, and does not block. /// a pointer to a capture device. /// a pointer to a buffer, which must be large enough to accommodate the number of samples. /// the number of samples to be retrieved. [DllImport(Alc.Lib, EntryPoint = "alcCaptureSamples", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()] public static extern void CaptureSamples(IntPtr device, IntPtr buffer, int samples); // ALC_API void ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); /// This function completes a capture operation, and does not block. /// a pointer to a capture device. /// a reference to a buffer, which must be large enough to accommodate the number of samples. /// the number of samples to be retrieved. public static void CaptureSamples(IntPtr device, ref T buffer, int samples) where T : struct { GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned); try { CaptureSamples(device, handle.AddrOfPinnedObject(), samples); } finally { handle.Free(); } } /// This function completes a capture operation, and does not block. /// a pointer to a capture device. /// a buffer, which must be large enough to accommodate the number of samples. /// the number of samples to be retrieved. public static void CaptureSamples(IntPtr device, T[] buffer, int samples) where T : struct { CaptureSamples(device, ref buffer[0], samples); } /// This function completes a capture operation, and does not block. /// a pointer to a capture device. /// a buffer, which must be large enough to accommodate the number of samples. /// the number of samples to be retrieved. public static void CaptureSamples(IntPtr device, T[,] buffer, int samples) where T : struct { CaptureSamples(device, ref buffer[0, 0], samples); } /// This function completes a capture operation, and does not block. /// a pointer to a capture device. /// a buffer, which must be large enough to accommodate the number of samples. /// the number of samples to be retrieved. public static void CaptureSamples(IntPtr device, T[,,] buffer, int samples) where T : struct { CaptureSamples(device, ref buffer[0, 0, 0], samples); } #endregion Capture functions } }opentk-1.0.20101006/Source/Compatibility/Audio/AudioReader.cs0000664000175000017500000001651211453131426022400 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.IO; namespace OpenTK.Audio { /// /// Encapsulates a sound stream and provides decoding and streaming capabilities. /// public class AudioReader : IDisposable { static object reader_lock = new object(); static List readers = new List(); bool disposed; Stream stream; AudioReader implementation; #region --- Constructors --- #region static AudioReader() static AudioReader() { // TODO: Plugin architecture for sound formats. This is overkill now that we only have a WaveReader (future proofing). readers.Add(new WaveReader()); } #endregion #region protected AudioReader() protected AudioReader() { } #endregion #region public AudioReader(string filename) /// Creates a new AudioReader that can read the specified sound file. /// The path to the sound file. /// A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound file. public AudioReader(string filename) : this(new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { } #endregion #region public AudioReader(Stream s) /// Creates a new AudioReader that can read the specified soundstream. /// The System.IO.Stream to read from. /// A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound stream. public AudioReader(Stream s) { try { lock (reader_lock) { foreach (AudioReader reader in readers) { long pos = s.Position; if (reader.Supports(s)) { s.Position = pos; implementation = (AudioReader) reader.GetType().GetConstructor( System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, new Type[] { typeof(Stream) }, null) .Invoke(new object[] { s }); return; } s.Position = pos; } } } catch (Exception) { s.Close(); throw; } throw new NotSupportedException("Could not find a decoder for the specified sound stream."); } #endregion #endregion #region --- Public Members --- #region public virtual bool Supports(Stream s) /// When overriden in a derived class, checks if the decoder supports the specified sound stream. /// The System.IO.Stream to check. /// True if the sound stream is supported; false otherwise. public virtual bool Supports(Stream s) { if (implementation != null) return implementation.Supports(s); throw new NotImplementedException(); } #endregion #region public virtual SoundData ReadSamples(long count) /// /// When overriden in a derived class, reads and decodes the specified number of samples from the sound stream. /// /// The number of samples to read and decode. /// An OpenTK.Audio.SoundData object that contains the decoded buffer. public virtual SoundData ReadSamples(long count) { if (implementation != null) return implementation.ReadSamples(count); throw new NotImplementedException(); } #endregion #region public virtual SoundData ReadToEnd() /// /// When overriden in a derived class, reads and decodes the sound stream. /// /// An OpenTK.Audio.SoundData object that contains the decoded buffer. public virtual SoundData ReadToEnd() { if (implementation != null) return implementation.ReadToEnd(); throw new NotImplementedException(); } #endregion #region public virtual int Frequency /// /// /// public virtual int Frequency { get { if (implementation != null) return implementation.Frequency; else throw new NotImplementedException(); } protected set { if (implementation != null) implementation.Frequency = value; else throw new NotImplementedException(); } } #endregion #region public virtual bool EndOfFile /// /// Returns true if the AudioReader has reached the end of the file. /// public virtual bool EndOfFile { get { if (implementation != null) return implementation.EndOfFile; return this.Stream.Position >= this.Stream.Length; } } #endregion #endregion #region --- Protected Members --- /// /// Gets or sets the input of the AudioReader. /// protected virtual Stream Stream { get { return stream; } set { stream = value; } } #endregion #region IDisposable Members /// Closes the underlying Stream and disposes of the AudioReader resources. public virtual void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool manual) { if (!disposed) { if (manual) if (this.Stream != null) this.Stream.Close(); disposed = true; } } /// /// Finalizes this AudioReader. /// ~AudioReader() { this.Dispose(false); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Audio/WaveReader.cs0000664000175000017500000002135111453131426022236 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.IO; using OpenTK.Audio; using System.Diagnostics; using System.Runtime.InteropServices; namespace OpenTK.Audio { internal sealed class WaveReader : AudioReader { SoundData decoded_data; //RIFF header string signature; int riff_chunck_size; string format; //WAVE header string format_signature; int format_chunk_size; short audio_format; short channels; int sample_rate; int byte_rate; short block_align; short bits_per_sample; //DATA header string data_signature; int data_chunk_size; BinaryReader reader; internal WaveReader() { } internal WaveReader(Stream s) { if (s == null) throw new ArgumentNullException(); if (!s.CanRead) throw new ArgumentException("Cannot read from specified Stream."); reader = new BinaryReader(s); this.Stream = s; } #if false /// /// Writes the WaveSound's data to the specified OpenAL buffer in the correct format. /// /// /// A /// public void WriteToBuffer(uint bid) { unsafe { //fix the array as a byte fixed (byte* p_Data = _Data) { if (Channels == 1) { if (BitsPerSample == 16) { Console.Write("Uploading 16-bit mono data to OpenAL..."); AL.BufferData(bid, ALFormat.Mono16, (IntPtr)p_Data, _Data.Length, SampleRate); } else { if (BitsPerSample == 8) { Console.Write("Uploading 8-bit mono data to OpenAL..."); AL.BufferData(bid, ALFormat.Mono8, (IntPtr)p_Data, _Data.Length, SampleRate); } } } else { if (Channels == 2) { if (BitsPerSample == 16) { Console.Write("Uploading 16-bit stereo data to OpenAL..."); AL.BufferData(bid, ALFormat.Stereo16, (IntPtr)p_Data, _Data.Length, SampleRate); } else { if (BitsPerSample == 8) { Console.Write("Uploading 8-bit stereo data to OpenAL..."); AL.BufferData(bid, ALFormat.Stereo8, (IntPtr)p_Data, _Data.Length, SampleRate); } } } } } } } /// /// Writes all relevent information about the WaveSound to the console window. /// public void DumpParamsToConsole() { Console.WriteLine("AudioFormat:" + AudioFormat); Console.WriteLine("Channels:" + Channels); Console.WriteLine("SampleRate:" + SampleRate); Console.WriteLine("ByteRate:" + ByteRate); Console.WriteLine("BlockAlign:" + BlockAlign); Console.WriteLine("BitsPerSample:" + BitsPerSample); } /// /// Returns the WaveSound's raw sound data as an array of bytes. /// public byte[] Data { get { return _Data; } } #endif #region --- Public Members --- #region public override bool Supports(Stream s) /// /// Checks whether the specified stream contains valid WAVE/RIFF buffer. /// /// The System.IO.Stream to check. /// True if the stream is a valid WAVE/RIFF file; false otherwise. public override bool Supports(Stream s) { BinaryReader reader = new BinaryReader(s); return this.ReadHeaders(reader); } #endregion #region public override SoundData ReadSamples(int samples) /// /// Reads and decodes the specified number of samples from the sound stream. /// /// The number of samples to read and decode. /// An OpenTK.Audio.SoundData object that contains the decoded buffer. public override SoundData ReadSamples(long samples) { if (samples > reader.BaseStream.Length - reader.BaseStream.Position) samples = reader.BaseStream.Length - reader.BaseStream.Position; //while (samples > decoded_data.Data.Length * (bits_per_sample / 8)) // Array.Resize(ref decoded_data.Data, decoded_data.Data.Length * 2); decoded_data = new SoundData(new SoundFormat(channels, bits_per_sample, sample_rate), reader.ReadBytes((int)samples)); return decoded_data; } #endregion #region public override SoundData ReadToEnd() /// /// Reads and decodes the sound stream. /// /// An OpenTK.Audio.SoundData object that contains the decoded buffer. public override SoundData ReadToEnd() { try { //read the buffer into a byte array, even if the format is 16 bit //decoded_data = new byte[data_chunk_size]; decoded_data = new SoundData(new SoundFormat(channels, bits_per_sample, sample_rate), reader.ReadBytes((int)reader.BaseStream.Length)); Debug.WriteLine("decoded!"); //return new SoundData(decoded_data, new SoundFormat(channels, bits_per_sample, sample_rate)); return decoded_data; } catch (AudioReaderException) { reader.Close(); throw; } } #endregion #endregion #region --- Protected Members --- protected override Stream Stream { get { return base.Stream; } set { base.Stream = value; if (!ReadHeaders(reader)) throw new AudioReaderException("Invalid WAVE/RIFF file: invalid or corrupt signature."); Debug.Write(String.Format("Opened WAVE/RIFF file: ({0}, {1}, {2}, {3}) ", sample_rate.ToString(), bits_per_sample.ToString(), channels.ToString(), audio_format.ToString())); } } #endregion #region --- Private Members --- // Tries to read the WAVE/RIFF headers, and returns true if they are valid. bool ReadHeaders(BinaryReader reader) { // Don't explicitly call reader.Close()/.Dispose(), as that will close the inner stream. // There's no such danger if the BinaryReader isn't explicitly destroyed. // RIFF header signature = new string(reader.ReadChars(4)); if (signature != "RIFF") return false; riff_chunck_size = reader.ReadInt32(); format = new string(reader.ReadChars(4)); if (format != "WAVE") return false; // WAVE header format_signature = new string(reader.ReadChars(4)); if (format_signature != "fmt ") return false; format_chunk_size = reader.ReadInt32(); audio_format = reader.ReadInt16(); channels = reader.ReadInt16(); sample_rate = reader.ReadInt32(); byte_rate = reader.ReadInt32(); block_align = reader.ReadInt16(); bits_per_sample = reader.ReadInt16(); data_signature = new string(reader.ReadChars(4)); if (data_signature != "data") return false; data_chunk_size = reader.ReadInt32(); return true; } #endregion } } opentk-1.0.20101006/Source/Compatibility/IPackable.cs0000664000175000017500000000102211453131430020747 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Represents an item that can be packed with the TexturePacker. /// /// The type of the packable item. interface IPackable : IEquatable { int Width { get; } int Height { get; } } } opentk-1.0.20101006/Source/Compatibility/Resources/0000775000175000017500000000000011453142152020567 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Resources/TaoButton.jpg0000664000175000017500000003216011453131430023207 0ustar laneylaneyJFIFddDucky<Adobed          !1AQaq"RU2r#ӤBb4&т$T%uStc3Csde6 ?PF﷽dt:f"1P{ֿ5>z:Z@=_ck_|~k}|t޵>{ֿ5>z:Z@=_ck_|~k}|t޵>{ֿ5>z:=_7$.pALNΚhK:O1A9g2Q ڠ 󸙐h֊ _u6ph'AvvPr9ցZ h5k@ցZ h5k@ցZ h5k@ցZ(y ;)5ޔ&nJڢgD914҂wlXjA/mV;Ln>Ad,Z<բ(P{kAjԡ\b4Ӌ4Tnb&K $R= +ZI<m1_ ;#kKPn aU04;Ipȣ|4cs O+e}dYDKBFEAZ 䖇bbc @W{\Cmm- tѬh*y} oA[^ulf" <^h{v&:ƃA<`ZMspx@CH#$Q=ւPnu,r^^[ENJ9d #XS~ sH# X+bb[J3﫩ZQǡ-wS&y+_$hUZ hC4 GwhyEcykP +G% ^G4+uG#K^<>Wo1{춈,f feA5m.p?%Pw(' yZւ}w{cg_EE$ɩKZִƂwߥZ;FFy/[I]q2G5 [qÎc13!wob0ٝDo@5ѳC"JSA&n=ٷ}u ㏡?C|B Eւ޶X]].ǾAG2tcvݘeUYH:55n-TA(Nhb_4 T+5Q[m FC\Jv <6{ZG2xZwT3-%Մ6Vtg% |yLv½cd~4[jI29DZV l 3;# í˸ƴQN3rs;Lqz>boPxZ>.qPM!6Hc{c{ɩi"H!,6e} r.{ݮ3+sËNi!d]!Ihnj _Eցu,\=d8| aZl^^-[ tNs(^Ӧ(%}gy b]ٺe{c{fchǰik.ce5,<#ai2û[{{ôƷI7;]p{þOO;snL&|=C#b.kƧ5ΡcSlmcCִQi6'[mݽUku,cŭshY`}+h#(mӫEU(- -Jms2V\XvڰD;# mytpk:kJ7h6{drYAqe?q3E0tR{׷k^pgewl#2|Cr=h4=m1[VJѻ5=]R;ʑ`OQk{(? 5vLk5}b+R҂ȶt[f{!U8A_6Pm{4'mWh`. <:Pxe{ܶrb-V wIOc |<\k ۘpxEB(˩ǛPj{qJ Q{o2{/?V\1ZW8 D-g;V˔l%hn5{qA'fd6޸'4s岗2F -Hs#KC Aqg7|y}%5&H.uL7@wh(2 Q8#Vq7ndNcڭA@@@@@@@@@@@@A_;/`eAD Q@(D Q@(D Q@(D Q@(D8]u|WH-' 3rݕ](D\d kұգAAӴyUyUyUyUyUyUyUyU%yU|mK쬸|g# KgU49PsC@{D Q@(D Q@(D Qr޼/݉$$(.c̢uo=@ȃCfg cdw\\_)5kzI|twui ]tqc&p#4G͵ >]]Oʃz'A;37n-{0~9ic#\Dqm/C[cφ8ds}$.7rvd,\YFɠt~mn!kx(2~:[{R xˊvZ::jztsq6Y|LC[8m;ILāN}H4[}ϙt37k#yaIBؚy>ECyP] @(D Q@(D Q@ xOǻ s 3|H6H p\eAD mf=Lq)kF=Y<$:+GF{6UALn ).XW1OK[$鐹'؍= S%ZUv-rq[ -['@!ǁAq՗1ںVjY|T lY30ݯs!KFZuWȯusElex1r ɱ lzLr -ڽZ@sY̆>A-e#5!Apa&/3" D QJ( AsD Q8h8 ?z+v$flAmw.gQ0.tx0ƒ[Kӷ+LdxWH4h{֛i' c} c ;wF%u=r;s pA1A#ڑɈ f8>j۶:m#4? ͮ`AciW].@mDoN]\@l};kH^!.#C@pA^$[IcJ@ Q@ Q@(DX=ؐ[8OٛA@@@@@@@@@@@@AܹoʃeD ,m|ncZCX(*p!'DZ44v:4Ò >7K@ A AٷynP=oi +^g)bf?ζ$_єB;0dy\G,OׂH(*y7'QZ44v:)H'{0ց@ #a}9Ӑ {Ff'?Y-s248: 4:0P[&".8̶3)l.qQ@x "ppQJ Q@4 9GL[ N3GyG<^{=24AxscTܳuH;U&7sar㳽`kLRQֈ@ҁyE7^sĂ~ EvTM(Pp[%ͮ y k(v ;ѽyOLA aO?H㊈ ea7mB K@|S&ϐ#Gtjw:WtrͼMs빛VNֹI\1vP4iA^f߉w&_'ȸ%.&d-x;hM Hqo"PiY,b u{K!G%Ŵ- 낎!`GEՅn\>\Oi gK m)'`kwA@q3(fHmŢ?G6ѮoxmZiZ[Wq -JXdi9XtnhDlly[4;|b6ef{9Z$y{X|jyӭ x 2Źn<(%ٍj.\Eh#'{ƺ BKQt|'qݶ$md9;b=$ y8h&[ c=ZqktK5ƈ";Ș,v2;)F9G$n78״9:vx}PZOٛA@@@@@@@@@@@@A Ǐ\eAҁD  :P(^ox1i 6W oI4ҽ(m?H(>Ə6`p@Yok5,t4U~m5C)i$Q懮Mh"ۛ"#EfH:1.:ag_ww4ݬNjG+4k[(&Wl{yZZƂm;qa;wX _vs`ol6_yݵxL_YzC\\jm%؆d:q|=v‚݉ hIPu}ܶyQ^l`uF?L$TONĂQŏ}rYc!F޴H)1#w&\ g:K|[BsDwx}PZOٛA@@@@@@@@@@@@A Ɗ\eAh QJ mjܻyOLAa˧^>4+wb?ζ$_єEcGɄ08 iAj۫g{٣|g7i0y,ugЛd.etR + ̊PI&27~渾-! >;KY,18['oh-ϑ[Cj@sAbwsm[ܷE΃$C_+o\w4h#;/&3G;l퍡vN,c鮦7"< ^Hx釤 GMO.H48D."K}y(cA|}0뮘I,AxR_ʝY,.tȱ{Am̎ch45t(I-AylZx .b&g^՜cHoqAPn Eᅴk~>(. vNV m,r cyKgk-f:i(SCΆx dpxCsw'M#ddVke-fe\z xܦ5ͷx7Z^ !SrLDvT48h/A v|(7 ov{3ޜl;hN&j.$:[}A=ɘ [{(>x-ս%c2Azbao` Aض+Nq&0F1=č5]X2`r:s|p=d ~"}g3iqa#}ƂIe3 _Eqs栝A {݅$$Hovd Q@ҁD mSu}qi'qd&QxP|x;_qFP}&m@yXk+Xe87x tVa2vϲ1^:H줛S-Cehb`"[Ђs%eer |---m^}1u:H\l M/sg,팦+x+pt5:\|PNڍt8mPTۏߜ?'AwX!V=d#I2,I9pJ V|UZC xBXvtwg?'Ƃķ7losDk8#->;!A9Ÿ&Wm=eVL6@kxuA9tHPz}PZOٛA@@@@@@@@@@@@AÊlfA(D Q+M 1k2py׼B'>(ꂔ8(>6p@ ,˴ig86#vzftZg~(@FK*w " v6Kl&PvqGj΁9>אA!{J@S _fcXX3Z#&% }W ? 3|H6H"8Q͜67@(D Q -n lvAy_@2J6ga4n4:c7|FcɄ@8 QXv6kF.:vh3-Ut +~Q~"d,s3AHYwD[FnrAjk{i ճ,F $6cA> :OmR%kkwg$cͨ/:uhy3)76ݳdnN>ǙA[wo4r﬜5dV8 .lw5[k, QM0i suv h4NBD'_4$ek|`l)T haա㣂 Wp-śݫulZܦg xQLn>i(,N+[%޺&9Y.LMG@p.MZw ]W9&!wM^:&jF};J/fwsVaZKl=iDC"<5cpMlHFO2dm P5&Ѩ;7xPYOٛA@@@@@@@@@@@@AlfA(D ,R84urqgcdU{zE+w[/w7 ֻI/tƃP@v eR {su x= wplsY[ gKu0>=۽LB^#KGJ ',,uuMwjN(%VVv층VKG= 6퍍vք\&Fڶf 2g-ewC3q[IwbhfxŃV츶xctޢBa퍞]\eqqP5Ԑf F3}AKK.F9 >1Iy9qhp9)w#"d6?-0?7A7jmygF{'Ǔ/6G3Ƞn|ԋFַܙKgX۫Xc8yo]kVEX.2wwF+xG2gĸ؜E+Hs ~m͡YW>`52f [ ڽSNz(uhXbhs9no'5Q}qvWP@_+E0}Z[dn=> 21]PlD&rLZuw7u<҂R),Iiawp,mkw$7w[EM]N(,BTBR¿yCA,!1judjL.4ui=k{[[n#cK(%۱4!&o~dv{t\?v>э1=ںXH>o4]-c o4=nkj>Ch߻K[;KlIE~S.$fhM8xfusLofIp3Gl񫠚x F6Vfun7/t|2q78t4sAhmHNNN!t4ɩ$#uP3X{\Q6kyY$O"PQ;G; b;rHw _VOcn7e;m0s8zj^7+w[#X|UjZCyoRZZ8y)FhAt'j ^Vɽ2+ =5sci'H'OI(,;GoH r`M㳍GduAe6@%8eV98ytΟ w%c XO>,5i`xx"X \ȃ p̋?uGޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?@Gޣ}?Ax8PaOY' şpw6?pQ Local 8.0.50727 2.0 {62C0DB35-0000-0000-0000-000000000000} Debug AnyCPU OpenTK.Compatibility JScript Grid IE50 false v2.0 Library OpenTK.Compatibility 2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false false true true 285212672 DEBUG;TRACE; OpenTK.Compatibility.xml true 4096 false ..\..\Binaries\OpenTK\Debug\ False False 4 1591 AllRules.ruleset full true 285212672 TRACE; OpenTK.Compatibility.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 1591 AllRules.ruleset none ..\..\Binaries\OpenTK\Release\ true 285212672 TRACE; OpenTK.Compatibility.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 1591 AllRules.ruleset none true ..\..\OpenTK.snk System False System.Data False System.Drawing False System.Windows.Forms False System.Xml False OpenTK {A37A7E14-0000-0000-0000-000000000000} False OpenTK.GLControl {A625BE88-0000-0000-0000-000000000000} False Properties\GlobalAssemblyInfo.cs Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code UserControl Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code ResXFileCodeGenerator Resources.Designer.cs Designer True Resources.resx True SimpleOpenGlControl.cs SimpleOpenGlControl.cs OpenTK.snk Always opentk-1.0.20101006/Source/Compatibility/Fonts/0000775000175000017500000000000011453142152017706 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Fonts/TextureFont.cs0000664000175000017500000005426211453131430022532 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing.Text; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics.OpenGL; using OpenTK.Platform; namespace OpenTK.Graphics { using Graphics = System.Drawing.Graphics; using PixelFormat = OpenTK.Graphics.OpenGL.PixelFormat; using System.Text.RegularExpressions; [Obsolete("Use System.Drawing.Font instead")] public class TextureFont : IFont { internal Font font; Dictionary loaded_glyphs = new Dictionary(64); Bitmap bmp; Graphics gfx; // TODO: We need to be able to use multiple font sheets. static int texture; static TexturePacker pack; static int texture_width, texture_height; static readonly StringFormat default_string_format = StringFormat.GenericTypographic; // Check the constructor, too, for additional flags. static readonly StringFormat load_glyph_string_format = StringFormat.GenericDefault; static SizeF maximum_graphics_size; int[] data = new int[256]; // Used to upload the glyph buffer to the OpenGL texture. object upload_lock = new object(); static readonly char[] newline_characters = new char[] { '\n', '\r' }; #region --- Constructor --- /// /// Constructs a new TextureFont, using the specified System.Drawing.Font. /// /// The System.Drawing.Font to use. public TextureFont(Font font) { if (font == null) throw new ArgumentNullException("font", "Argument to TextureFont constructor cannot be null."); this.font = font; bmp = new Bitmap(font.Height * 2, font.Height * 2); gfx = Graphics.FromImage(bmp); maximum_graphics_size = gfx.ClipBounds.Size; // Adjust font rendering mode. Small sizes look blurry without gridfitting, so turn // that on. Increasing contrast also seems to help. if (font.Size <= 18.0f) { gfx.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; //gfx.TextContrast = 11; } else { gfx.TextRenderingHint = TextRenderingHint.AntiAlias; //gfx.TextContrast = 0; } default_string_format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces; } /// /// Constructs a new TextureFont, using the specified parameters. /// /// The System.Drawing.FontFamily to use for the typeface. /// The em size to use for the typeface. public TextureFont(FontFamily family, float emSize) : this(new Font(family, emSize)) { } /// /// Constructs a new TextureFont, using the specified parameters. /// /// The System.Drawing.FontFamily to use for the typeface. /// The em size to use for the typeface. /// The style to use for the typeface. public TextureFont(FontFamily family, float emSize, FontStyle style) : this(new Font(family, emSize, style)) { } #endregion #region --- Public Methods --- #region public void LoadGlyphs(string glyphs) /// /// Prepares the specified glyphs for rendering. /// /// The glyphs to prepare for rendering. public void LoadGlyphs(string glyphs) { RectangleF rect = new RectangleF(); foreach (char c in glyphs) { if (Char.IsWhiteSpace(c)) continue; try { if (!loaded_glyphs.ContainsKey(c)) LoadGlyph(c, out rect); } catch (Exception e) { Debug.Print(e.ToString()); throw; } } } #endregion #region public void LoadGlyph(char glyph) /// /// Prepares the specified glyph for rendering. /// /// The glyph to prepare for rendering. public void LoadGlyph(char glyph) { RectangleF rect = new RectangleF(); if (!loaded_glyphs.ContainsKey(glyph)) LoadGlyph(glyph, out rect); } #endregion #region public bool GlyphData(char glyph, out float width, out float height, out RectangleF textureRectangle, out int texture) /// /// Returns the characteristics of a loaded glyph. /// /// The character corresponding to this glyph. /// The width of this glyph. /// The height of this glyph (line spacing). /// The bounding box of the texture buffer of this glyph. /// The handle to the texture that contains this glyph. /// True if the glyph has been loaded, false otherwise. /// public bool GlyphData(char glyph, out float width, out float height, out RectangleF textureRectangle, out int texture) { if (loaded_glyphs.TryGetValue(glyph, out textureRectangle)) { width = textureRectangle.Width * texture_width; height = textureRectangle.Height * texture_height; texture = TextureFont.texture; return true; } width = height = texture = 0; return false; } #endregion #region public float Height /// /// Gets a float indicating the default line spacing of this font. /// public float Height { get { return font.Height; } } #endregion #region public float Width /// /// Gets a float indicating the default size of this font, in points. /// public float Width { get { return font.SizeInPoints; } } #endregion #region public void MeasureString(string str, out float width, out float height, bool accountForOverhangs) /// /// Measures the width of the specified string. /// /// The string to measure. /// The measured width. /// The measured height. /// If true, adds space to account for glyph overhangs. Set to true if you wish to measure a complete string. Set to false if you wish to perform layout on adjacent strings. [Obsolete("Returns invalid results - use MeasureText() instead")] public void MeasureString(string str, out float width, out float height, bool accountForOverhangs) { System.Drawing.StringFormat format = accountForOverhangs ? System.Drawing.StringFormat.GenericDefault : System.Drawing.StringFormat.GenericTypographic; System.Drawing.SizeF size = gfx.MeasureString(str, font, 16384, format); height = size.Height; width = size.Width; } #endregion #region public void MeasureString(string str, out float width, out float height) /// /// Measures the width of the specified string. /// /// The string to measure. /// The measured width. /// The measured height. /// [Obsolete("Returns invalid results - use MeasureText() instead")] public void MeasureString(string str, out float width, out float height) { MeasureString(str, out width, out height, true); } #endregion #region public RectangleF MeasureText(string text) /// /// Calculates size information for the specified text. /// /// The string to measure. /// A RectangleF containing the bounding box for the specified text. public RectangleF MeasureText(string text) { return MeasureText(text, SizeF.Empty, default_string_format, null); } #endregion #region public RectangleF MeasureText(string text, SizeF bounds) /// /// Calculates size information for the specified text. /// /// The string to measure. /// A SizeF structure containing the maximum desired width and height of the text. Default is SizeF.Empty. /// A RectangleF containing the bounding box for the specified text. public RectangleF MeasureText(string text, SizeF bounds) { return MeasureText(text, bounds, default_string_format, null); } #endregion #region public RectangleF MeasureText(string text, SizeF bounds, StringFormat format) /// /// Calculates size information for the specified text. /// /// The string to measure. /// A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation. /// A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericTypographic). /// A RectangleF containing the bounding box for the specified text. public RectangleF MeasureText(string text, SizeF bounds, StringFormat format) { return MeasureText(text, bounds, format, null); } #endregion #region public RectangleF MeasureText(string text, SizeF bounds, StringFormat format, IList ranges) IntPtr[] regions = new IntPtr[GdiPlus.MaxMeasurableCharacterRanges]; CharacterRange[] characterRanges = new CharacterRange[GdiPlus.MaxMeasurableCharacterRanges]; /// /// Calculates size information for the specified text. /// /// The string to measure. /// A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation. /// A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericDefault). /// Fills the specified IList of RectangleF structures with position information for individual characters. If this argument is null, these calculations are skipped. /// A RectangleF containing the bounding box for the specified text. public RectangleF MeasureText(string text, SizeF bounds, StringFormat format, List ranges) { if (String.IsNullOrEmpty(text)) return RectangleF.Empty; if (bounds == SizeF.Empty) bounds = maximum_graphics_size; if (format == null) format = default_string_format; // TODO: What should we do in this case? if (ranges == null) ranges = new List(); ranges.Clear(); PointF origin = PointF.Empty; SizeF size = SizeF.Empty; IntPtr native_graphics = GdiPlus.GetNativeGraphics(gfx); IntPtr native_font = GdiPlus.GetNativeFont(font); IntPtr native_string_format = GdiPlus.GetNativeStringFormat(format); RectangleF layoutRect = new RectangleF(PointF.Empty, bounds); int height = 0; // It seems that the mere presence of \n and \r characters // is enough for Mono to botch the layout (even if these // characters are not processed.) We'll need to find a // different way to perform layout on Mono, probably // through Pango. // Todo: This workaround allocates memory. //if (Configuration.RunningOnMono) { string[] lines = text.Replace("\r", String.Empty).Split(newline_characters); foreach (string s in lines) { ranges.AddRange(GetCharExtents( s, height, 0, s.Length, layoutRect, native_graphics, native_font, native_string_format)); height += font.Height; } } return new RectangleF(ranges[0].X, ranges[0].Y, ranges[ranges.Count - 1].Right, ranges[ranges.Count - 1].Bottom); } #endregion #endregion #region --- Private Methods --- #region private void PrepareTexturePacker() /// /// Calculates the optimal size for the font texture and TexturePacker, and creates both. /// private void PrepareTexturePacker() { // Calculate the size of the texture packer. We want a power-of-two size // that is less than 1024 (supported in Geforce256-era cards), but large // enough to hold at least 256 (16*16) font glyphs. // TODO: Find the actual card limits, maybe? int size = (int)(font.Size * 16); size = (int)System.Math.Pow(2.0, System.Math.Ceiling(System.Math.Log((double)size, 2.0))); if (size > 1024) size = 1024; texture_width = size; texture_height = size; pack = new TexturePacker(texture_width, texture_height); GL.GenTextures(1, out texture); GL.BindTexture(TextureTarget.Texture2D, texture); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear); if (GL.SupportsExtension("Version12")) { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge); } else { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.Clamp); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.Clamp); } GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Alpha, texture_width, texture_height, 0, OpenTK.Graphics.PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero); } #endregion #region private void LoadGlyph(char c, out RectangleF rectangle) // Adds the specified caharacter to the texture packer. private void LoadGlyph(char c, out RectangleF rectangle) { if (pack == null) PrepareTexturePacker(); RectangleF glyph_rect = MeasureText(c.ToString(), SizeF.Empty, load_glyph_string_format); SizeF glyph_size = new SizeF(glyph_rect.Right, glyph_rect.Bottom); // We need to do this, since the origin might not be (0, 0) Glyph g = new Glyph(c, font, glyph_size); Rectangle rect; try { pack.Add(g, out rect); } catch (InvalidOperationException expt) { // TODO: The TexturePacker is full, create a new font sheet. Trace.WriteLine(expt); throw; } GL.BindTexture(TextureTarget.Texture2D, texture); gfx.Clear(System.Drawing.Color.Transparent); gfx.DrawString(g.Character.ToString(), g.Font, System.Drawing.Brushes.White, 0.0f, 0.0f, default_string_format); BitmapData bitmap_data = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.PushClientAttrib(ClientAttribMask.ClientPixelStoreBit); try { GL.PixelStore(PixelStoreParameter.UnpackAlignment, 1.0f); GL.PixelStore(PixelStoreParameter.UnpackRowLength, bmp.Width); GL.TexSubImage2D(TextureTarget.Texture2D, 0, (int)rect.Left, (int)rect.Top, rect.Width, rect.Height, OpenTK.Graphics.PixelFormat.Rgba, PixelType.UnsignedByte, bitmap_data.Scan0); } finally { GL.PopClientAttrib(); } bmp.UnlockBits(bitmap_data); rectangle = RectangleF.FromLTRB( rect.Left / (float)texture_width, rect.Top / (float)texture_height, rect.Right / (float)texture_width, rect.Bottom / (float)texture_height); loaded_glyphs.Add(g.Character, rectangle); } #endregion #region GetCharExtents // Gets the bounds of each character in a line of text. // The line is processed in blocks of 32 characters (GdiPlus.MaxMeasurableCharacterRanges). IEnumerable GetCharExtents(string text, int height, int line_start, int line_length, RectangleF layoutRect, IntPtr native_graphics, IntPtr native_font, IntPtr native_string_format) { RectangleF rect = new RectangleF(); int line_end = line_start + line_length; while (line_start < line_end) { //if (text[line_start] == '\n' || text[line_start] == '\r') //{ // line_start++; // continue; //} int num_characters = (line_end - line_start) > GdiPlus.MaxMeasurableCharacterRanges ? GdiPlus.MaxMeasurableCharacterRanges : line_end - line_start; int status = 0; for (int i = 0; i < num_characters; i++) { characterRanges[i] = new CharacterRange(line_start + i, 1); IntPtr region; status = GdiPlus.CreateRegion(out region); regions[i] = region; Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); } status = GdiPlus.SetStringFormatMeasurableCharacterRanges(native_string_format, num_characters, characterRanges); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); status = GdiPlus.MeasureCharacterRanges(native_graphics, text, text.Length, native_font, ref layoutRect, native_string_format, num_characters, regions); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); for (int i = 0; i < num_characters; i++) { GdiPlus.GetRegionBounds(regions[i], native_graphics, ref rect); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); GdiPlus.DeleteRegion(regions[i]); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); rect.Y += height; yield return rect; } line_start += num_characters; } } #endregion #endregion #region --- Internal Methods --- #region internal int Texture /// /// Gets the handle to the texture were this font resides. /// internal int Texture { get { return TextureFont.texture; } } #endregion #endregion #region --- IDisposable Members --- bool disposed; /// /// Releases all resources used by this OpenTK.Graphics.TextureFont. /// public void Dispose() { GC.SuppressFinalize(this); Dispose(true); } private void Dispose(bool manual) { if (!disposed) { pack = null; if (manual) { GL.DeleteTextures(1, ref texture); font.Dispose(); gfx.Dispose(); } disposed = true; } } /// /// Finalizes this TextureFont. /// ~TextureFont() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Fonts/DisplayListTextHandle.cs0000664000175000017500000000152311453131430024455 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics { [Obsolete()] class DisplayListTextHandle : TextHandle { public DisplayListTextHandle(int handle) : base(handle) { } public override string ToString() { return String.Format("TextHandle (display list): {0}", Handle); } protected override void Dispose(bool manual) { if (!disposed) { if (manual) { GL.DeleteLists(Handle, 1); } disposed = true; } } } } opentk-1.0.20101006/Source/Compatibility/Fonts/VboTextPrinter.cs0000664000175000017500000000717111453131430023177 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics { /// /// Provides text printing through OpenGL 1.5 vertex buffer objects. /// [Obsolete] class VboTextPrinter : ITextPrinterImplementation { static int allocated_handles; static int vector2_size = Marshal.SizeOf(new Vector2()); #region --- IPrinter Members --- public TextHandle Load(Vector2[] vertices, ushort[] indices, int index_count) { VboTextHandle handle = new VboTextHandle(++allocated_handles); GL.GenBuffers(1, out handle.vbo_id); GL.BindBuffer(BufferTarget.ArrayBuffer, handle.vbo_id); GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(vertices.Length * vector2_size), vertices, BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.GenBuffers(1, out handle.ebo_id); GL.BindBuffer(BufferTarget.ElementArrayBuffer, handle.ebo_id); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(indices.Length * sizeof(ushort)), indices, BufferUsageHint.StaticDraw); GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0); handle.element_count = indices.Length; return handle; } public void Draw(TextHandle handle) { VboTextHandle vbo = (VboTextHandle)handle; //GL.PushClientAttrib(ClientAttribMask.ClientVertexArrayBit); //GL.EnableClientState(EnableCap.TextureCoordArray); GL.EnableClientState(EnableCap.VertexArray); GL.BindBuffer(BufferTarget.ArrayBuffer, vbo.vbo_id); GL.BindBuffer(BufferTarget.ElementArrayBuffer, vbo.ebo_id); GL.TexCoordPointer(2, TexCoordPointerType.Float, vector2_size, (IntPtr)vector2_size); GL.VertexPointer(2, VertexPointerType.Float, vector2_size, IntPtr.Zero); GL.DrawElements(BeginMode.Triangles, vbo.element_count, DrawElementsType.UnsignedShort, IntPtr.Zero); //GL.DrawArrays(BeginMode.LineLoop, 0, vbo.element_count); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0); GL.DisableClientState(EnableCap.VertexArray); //GL.DisableClientState(EnableCap.TextureCoordArray); //GL.PopClientAttrib(); } public void Draw(Vector2[] vertices, ushort[] indices, int index_count) { throw new NotImplementedException(); } #endregion } #region class VboTextHandle : TextHandle /// /// Contains the necessary information to print text through the VboTextPrinter implementation. /// [Obsolete] class VboTextHandle : TextHandle { public VboTextHandle(int handle) : base(handle) { } internal int vbo_id; // vertex buffer object id. internal int ebo_id; // index buffer object id. internal int element_count; // Number of elements in the ebo. public override string ToString() { return String.Format("TextHandle (vbo): {0} ({1} element(s), vbo id: {2}, ebo id: {3}", Handle, element_count / 6, vbo_id, ebo_id); } } #endregion } opentk-1.0.20101006/Source/Compatibility/Fonts/DisplayListTextPrinter.cs0000664000175000017500000000262611453131430024712 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics { /// /// Provides text printing through OpenGL 1.1 Display Lists. /// [Obsolete()] class DisplayListTextPrinter : ITextPrinterImplementation { #region IPrinter Members public TextHandle Load(Vector2[] vertices, ushort[] indices, int index_count) { DisplayListTextHandle handle = new DisplayListTextHandle(GL.GenLists(1)); GL.NewList(handle.Handle, ListMode.Compile); this.Draw(vertices, indices, index_count); GL.EndList(); return handle; } public void Draw(TextHandle handle) { GL.CallList(handle.Handle); } public void Draw(Vector2[] vertices, ushort[] indices, int index_count) { GL.Begin(BeginMode.Triangles); for (int i = 0; i < index_count; i++) //foreach (ushort index in indices) { GL.TexCoord2(vertices[indices[i] + 1]); GL.Vertex2(vertices[indices[i]]); } GL.End(); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Fonts/Glyph.cs0000664000175000017500000001134511453131430021321 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics { using Graphics = System.Drawing.Graphics; /// /// Represents a single character of a specific Font. /// [Obsolete] struct Glyph : IPackable { char character; Font font; SizeF size; #region --- Constructors --- // Constructs a new Glyph that represents the given character and Font. public Glyph(char c, Font f, SizeF s) { if (f == null) throw new ArgumentNullException("f", "You must specify a valid font"); character = c; font = f; size = s; } #endregion #region --- Public Methods --- #region public char Character /// /// Gets the character represented by this Glyph. /// public char Character { get { return character; } private set { character = value; } } #endregion #region public Font Font /// /// Gets the Font of this Glyph. /// public Font Font { get { return font; } private set { if (value == null) throw new ArgumentNullException("Font", "Glyph font cannot be null"); font = value; } } #endregion #region public override bool Equals(object obj) /// /// Checks whether the given object is equal (memberwise) to the current Glyph. /// /// The obj to check. /// True, if the object is identical to the current Glyph. public override bool Equals(object obj) { if (obj is Glyph) return this.Equals((Glyph)obj); return base.Equals(obj); } #endregion #region public override string ToString() /// /// Describes this Glyph object. /// /// Returns a System.String describing this Glyph. public override string ToString() { return String.Format("'{0}', {1} {2}, {3} {4}, ({5}, {6})", Character, Font.Name, font.Style, font.Size, font.Unit, Width, Height); } #endregion #region public override int GetHashCode() /// /// Calculates the hashcode for this Glyph. /// /// A System.Int32 containing a hashcode that uniquely identifies this Glyph. public override int GetHashCode() { return character.GetHashCode() ^ font.GetHashCode() ^ size.GetHashCode(); } #endregion #region public SizeF Size /// /// Gets the size of this Glyph. /// public SizeF Size { get { return size; } } #endregion #region public RectangleF Rectangle /// /// Gets the bounding box of this Glyph. /// public RectangleF Rectangle { get { return new RectangleF(PointF.Empty, Size); } } #endregion #endregion #region --- IPackable Members --- /// /// Gets an integer representing the width of the Glyph in pixels. /// public int Width { get { return (int)System.Math.Ceiling(size.Width); } } /// /// Gets an integer representing the height of the Glyph in pixels. /// public int Height { get { return (int)System.Math.Ceiling(size.Height); } } #endregion #region --- IEquatable Members --- /// /// Compares the current Glyph with the given Glyph. /// /// The Glyph to compare to. /// True if both Glyphs represent the same character of the same Font, false otherwise. public bool Equals(Glyph other) { return Character == other.Character && Font == other.Font && Size == other.Size; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Fonts/TextHandle.cs0000664000175000017500000000457611453131430022306 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Represents a handle to cached text. /// [Obsolete("Use TextPrinter.Print instead")] public class TextHandle : IDisposable { internal string Text; internal System.Drawing.Font GdiPFont; /// /// Constructs a new TextHandle, /// /// internal TextHandle(int handle) { Handle = handle; } internal TextHandle(string text, System.Drawing.Font font) { Text = text; GdiPFont = font; } private int handle; [CLSCompliant(false)] protected TextureFont font; protected bool disposed; /// /// Gets the handle of the cached text run. Call the OpenTK.Graphics.ITextPrinter.Draw() method /// to draw the text represented by this TextHandle. /// public int Handle { get { return handle; } protected set { handle = value; } } /// /// Gets the TextureFont used for this text run. /// public TextureFont Font { get { return font; } internal set { font = value; } } #region public override string ToString() /// /// Returns a System.String that represents the current TextHandle. /// /// a System.String that descibes the current TextHandle. public override string ToString() { return String.Format("TextHandle: {0}", Handle); } #endregion #region --- IDisposable Members --- /// /// Frees the resource consumed by the TextHandle. /// public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool manual) { } ~TextHandle() { this.Dispose(false); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Fonts/IPrinterImplementation.cs0000664000175000017500000000372211453131430024700 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines the interface for TextPrinter implementations. /// [Obsolete("Use ITextOutputProvider instead")] [CLSCompliant(false)] public interface ITextPrinterImplementation { /// /// Caches a text fragment for future use. /// /// The vertex array for the text fragment. /// The index array for the text fragment. Please use the indexCount parameter /// instead of indices.Count, as the indices array may be larger than necessary for performance reasons. /// The actual number of indices in the text fragment. /// A TextHandle that can be used to draw the text fragment. TextHandle Load(Vector2[] vertices, ushort[] indices, int indexCount); /// /// Draws the specified cached text fragment. /// /// The TextHandle corresponding to the desired text fragment. void Draw(TextHandle handle); /// /// Draws a text fragment, without caching. /// /// The vertex array for the text fragment. /// The index array for the text fragment. Please use the indexCount parameter /// instead of indices.Count, as the indices array may be larger than necessary for performance reasons. /// The actual number of indices in the text fragment. void Draw(Vector2[] vertices, ushort[] indices, int indexCount); } } opentk-1.0.20101006/Source/Compatibility/Fonts/IFont.cs0000664000175000017500000000072011453131430021250 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { [Obsolete] public interface IFont : IDisposable { void LoadGlyphs(string glyphs); float Height { get; } void MeasureString(string str, out float width, out float height); } } opentk-1.0.20101006/Source/Compatibility/Graphics/0000775000175000017500000000000011453142152020355 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Graphics/TextPrinter.cs0000664000175000017500000003304011453131426023176 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Text.RegularExpressions; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics; using OpenTK.Graphics.Text; using OpenTK.Platform; namespace OpenTK.Fonts { } namespace OpenTK.Graphics { /// /// Provides methods to perform layout and print hardware accelerated text. /// [Obsolete] public sealed class TextPrinter : ITextPrinter { #region Fields IGlyphRasterizer glyph_rasterizer; ITextOutputProvider text_output; TextQuality text_quality; bool disposed; #endregion #region Constructors /// /// Constructs a new TextPrinter instance. /// public TextPrinter() : this(null, null, TextQuality.Default) { } /// /// Constructs a new TextPrinter instance with the specified TextQuality level. /// /// The desired TextQuality of this TextPrinter. public TextPrinter(TextQuality quality) : this(null, null, quality) { } TextPrinter(IGlyphRasterizer rasterizer, ITextOutputProvider output, TextQuality quality) { glyph_rasterizer = rasterizer; text_output = output; text_quality = quality; } #endregion #region ITextPrinter Members #region Print /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. public void Print(string text, Font font, Color color) { Print(text, font, color, RectangleF.Empty, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. public void Print(string text, Font font, Color color, RectangleF rect) { Print(text, font, color, rect, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options) { Print(text, font, color, rect, options, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. /// The OpenTK.Graphics.TextAlignment that will be used to print text. public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment) { Print(text, font, color, rect, options, alignment, TextDirection.LeftToRight); } /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. /// The OpenTK.Graphics.TextAlignment that will be used to print text. /// The OpenTK.Graphics.TextDirection that will be used to print text. public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction) { if (disposed) throw new ObjectDisposedException(this.GetType().ToString()); if (!ValidateParameters(text, font, rect)) return; TextBlock block = new TextBlock(text, font, rect, options, alignment, direction); TextOutput.Print(ref block, color, Rasterizer); } #endregion #region Measure /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. public TextExtents Measure(string text, Font font) { return Measure(text, font, RectangleF.Empty, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. public TextExtents Measure(string text, Font font, RectangleF rect) { return Measure(text, font, rect, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options) { return Measure(text, font, rect, options, TextAlignment.Near, TextDirection.LeftToRight); } /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// The OpenTK.Graphics.TextAlignment that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment) { return Measure(text, font, rect, options, alignment, TextDirection.LeftToRight); } /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// The OpenTK.Graphics.TextAlignment that will be used to measure text. /// The OpenTK.Graphics.TextDirection that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction) { if (disposed) throw new ObjectDisposedException(this.GetType().ToString()); if (!ValidateParameters(text, font, rect)) return TextExtents.Empty; TextBlock block = new TextBlock(text, font, rect, options, alignment, direction); return Rasterizer.MeasureText(ref block); } #endregion #region Clear public void Clear() { if (disposed) throw new ObjectDisposedException(this.GetType().ToString()); TextOutput.Clear(); Rasterizer.Clear(); } #endregion #region Begin /// /// Sets up a resolution-dependent orthographic projection. /// public void Begin() { TextOutput.Begin(); } #endregion #region Begin /// /// Restores the projection and modelview matrices to their previous state. /// public void End() { TextOutput.End(); } #endregion #region Obsolete [Obsolete("Use TextPrinter.Print instead")] public void Draw(TextHandle handle) { Print(handle.Text, handle.GdiPFont, Color.White); } [Obsolete("Use TextPrinter.Print instead")] public void Draw(string text, TextureFont font) { Print(text, font.font, Color.White); } [Obsolete("Use TextPrinter.Print instead")] public void Prepare(string text, TextureFont font, out TextHandle handle) { handle = new TextHandle(text, font.font); } #endregion #endregion #region Private Members IGlyphRasterizer Rasterizer { get { if (glyph_rasterizer == null) glyph_rasterizer = new GdiPlusGlyphRasterizer(); return glyph_rasterizer; } } ITextOutputProvider TextOutput { get { if (text_output == null) text_output = GL1TextOutputProvider.Create(text_quality); return text_output; } } #endregion #region Static Members static bool ValidateParameters(string text, Font font, RectangleF rect) { if (String.IsNullOrEmpty(text)) return false; if (font == null) throw new ArgumentNullException("font"); if (rect.Width < 0 || rect.Height < 0) throw new ArgumentOutOfRangeException("rect"); return true; } #endregion #region IDisposable Members /// /// Frees the resources consumed by this TextPrinter object. /// public void Dispose() { if (!disposed) { TextOutput.Dispose(); disposed = true; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/AlphaTexture2D.cs0000664000175000017500000000376311453131426023513 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Imaging; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics { /// /// Encapsulates an OpenGL texture. /// [Obsolete] class AlphaTexture2D : Texture2D { #region Constructors /// /// Constructs a new Texture. /// public AlphaTexture2D(int width, int height) : base(width, height) { } #endregion #region Protected Members protected override PixelInternalFormat InternalFormat { get { return PixelInternalFormat.Alpha; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/GraphicsResourceException.cs0000664000175000017500000000344711453131426026045 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Represents exceptions related to IGraphicsResources. /// public class GraphicsResourceException : Exception { /// Constructs a new GraphicsResourceException. public GraphicsResourceException() : base() { } /// Constructs a new string with the specified error message. public GraphicsResourceException(string message) : base(message) { } } } opentk-1.0.20101006/Source/Compatibility/Graphics/ITextPrinter.cs0000664000175000017500000002045511453131426023315 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK.Graphics.Text; namespace OpenTK.Graphics { /// /// Defines the interface for a TextPrinter. /// public interface ITextPrinter : IDisposable { #region Print /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. void Print(string text, Font font, Color color); /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. void Print(string text, Font font, Color color, RectangleF rect); /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options); /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. /// The OpenTK.Graphics.TextAlignment that will be used to print text. void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment); /// /// Prints text using the specified color and layout options. /// /// The System.String to print. /// The System.Drawing.Font that will be used to print text. /// The System.Drawing.Color that will be used to print text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to print text. /// The OpenTK.Graphics.TextAlignment that will be used to print text. /// The OpenTK.Graphics.TextDirection that will be used to print text. void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction); #endregion #region Measure /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. TextExtents Measure(string text, Font font); /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. TextExtents Measure(string text, Font font, RectangleF rect); /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options); /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// The OpenTK.Graphics.TextAlignment that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment); /// /// Measures text using the specified layout options. /// /// The System.String to measure. /// The System.Drawing.Font that will be used to measure text. /// The System.Drawing.Rectangle that defines the bounds for text layout. /// The OpenTK.Graphics.TextPrinterOptions that will be used to measure text. /// The OpenTK.Graphics.TextAlignment that will be used to measure text. /// The OpenTK.Graphics.TextDirection that will be used to measure text. /// An OpenTK.Graphics.TextExtents instance that contains the results of the measurement. TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction); #endregion #region Begin /// /// Sets up a resolution-dependent orthographic projection. /// void Begin(); #endregion #region End /// /// Restores the projection and modelview matrices to their previous state. /// void End(); #endregion #region Obsolete [Obsolete("Use TextPrinter.Print instead")] void Draw(TextHandle handle); [Obsolete("Use TextPrinter.Print instead")] void Draw(string text, TextureFont font); [Obsolete("Use TextPrinter.Print instead")] void Prepare(string text, TextureFont font, out TextHandle handle); #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/TextQuality.cs0000664000175000017500000000125711453131426023210 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines available quality levels for text printing. /// public enum TextQuality { /// Use the default quality, as specified by the operating system. Default = 0, /// Use fast, low quality text (typically non-antialiased) . Low, /// Use medium quality text (typically grayscale antialiased). Medium, /// Use slow, high quality text (typically subpixel antialiased). High } } opentk-1.0.20101006/Source/Compatibility/Graphics/Texture2D.cs0000664000175000017500000002224211453131426022536 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Imaging; using System.Diagnostics; namespace OpenTK.Graphics { [Obsolete] abstract class Texture2D : IGraphicsResource, IEquatable { #region Fields IGraphicsContext context; int id; int width, height; bool disposed; TextureMagFilter mag_filter = TextureMagFilter.Linear; TextureMinFilter min_filter = TextureMinFilter.Linear; #endregion #region Constructors public Texture2D(int width, int height) { if (width <= 0) throw new ArgumentOutOfRangeException("width"); if (height <= 0) throw new ArgumentOutOfRangeException("height"); Width = width; Height = height; } #endregion #region Public Members #region public int Width /// Gets the width of the texture. public int Width { get { return width; } private set { width = value; } } #endregion #region public int Height /// Gets the height of the texture. public int Height { get { return height; } private set { height = value; } } #endregion #region MagnificationFilter public TextureMagFilter MagnificationFilter { get { return mag_filter; } set { mag_filter = value; } } #endregion #region MinificationFilter public TextureMinFilter MinificationFilter { get { return min_filter; } set { min_filter = value; } } #endregion #region Bind public void Bind() { GL.BindTexture(TextureTarget.Texture2D, (this as IGraphicsResource).Id); } #endregion #region WriteRegion public void WriteRegion(Rectangle source, Rectangle target, int mipLevel, Bitmap bitmap) { if (bitmap == null) throw new ArgumentNullException("data"); GraphicsUnit unit = GraphicsUnit.Pixel; if (!bitmap.GetBounds(ref unit).Contains(source)) throw new InvalidOperationException("The source Rectangle is larger than the Bitmap."); if (mipLevel < 0) throw new ArgumentOutOfRangeException("mipLevel"); Bind(); BitmapData data = null; GL.PushClientAttrib(ClientAttribMask.ClientPixelStoreBit); try { data = bitmap.LockBits(source, ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); GL.PixelStore(PixelStoreParameter.UnpackAlignment, 1); GL.PixelStore(PixelStoreParameter.UnpackRowLength, bitmap.Width); GL.TexSubImage2D(TextureTarget.Texture2D, mipLevel, target.Left, target.Top, target.Width, target.Height, OpenTK.Graphics.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0); } finally { GL.PopClientAttrib(); if (data != null) bitmap.UnlockBits(data); } } #endregion #region ReadRegion public TextureRegion2D ReadRegion(Rectangle rect, int mipLevel) { if (mipLevel < 0) throw new ArgumentOutOfRangeException("miplevel"); TextureRegion2D region = new TextureRegion2D(rect); GL.GetTexImage(TextureTarget.Texture2D, mipLevel, OpenTK.Graphics.PixelFormat.Bgra, PixelType.UnsignedByte, region.Data); return region; } #endregion #region Equals public override bool Equals(object obj) { if (obj is Texture2D) return this.Equals((Texture2D)obj); return false; } #endregion #region public override int GetHashCode() public override int GetHashCode() { return (this as IGraphicsResource).Id; } #endregion #region public overrid string ToString() public override string ToString() { return String.Format("Texture2D #{0} ({1}x{2}, {3})", (this as IGraphicsResource).Id.ToString(), Width.ToString(), Height.ToString(), InternalFormat.ToString()); } #endregion #endregion #region Protected Members #region InternalFormat protected abstract PixelInternalFormat InternalFormat { get; } #endregion #endregion #region Private Members int CreateTexture(int width, int height) { int id = GL.GenTexture(); if (id == 0) throw new GraphicsResourceException(String.Format("Texture creation failed, (Error: {0})", GL.GetError())); SetDefaultTextureParameters(id); GL.TexImage2D(TextureTarget.Texture2D, 0, InternalFormat, Width, Height, 0, OpenTK.Graphics.PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero); return id; } void SetDefaultTextureParameters(int id) { // Ensure the texture is allocated. GL.BindTexture(TextureTarget.Texture2D, id); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear); if (GL.SupportsExtension("Version12")) { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge); } else { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.Clamp); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.Clamp); } } #endregion #region IGraphicsResource Members #region IGraphicsResource.Context IGraphicsContext IGraphicsResource.Context { get { return context; } } #endregion #region IGraphicsResource.Id int IGraphicsResource.Id { get { if (id == 0) { GraphicsContext.Assert(); context = GraphicsContext.CurrentContext; id = CreateTexture(Width, Height); } return id; } } #endregion #endregion #region IEquatable Members public bool Equals(Texture2D other) { return (this as IGraphicsResource).Id == (other as IGraphicsResource).Id; } #endregion #region IDisposable Members public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool manual) { if (!disposed) { if (manual) { GL.DeleteTexture(id); } else { Debug.Print("[Warning] {0} leaked.", this); } disposed = true; } } ~Texture2D() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/0000775000175000017500000000000011453142152020657 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Graphics/GL/GLHelper.cs0000664000175000017500000013174111453131426022661 0ustar laneylaney#region --- License --- /* Copyright (c) 2006-2008 the OpenTK team. * See license.txt for license info * * Contributions by Andy Gill. */ #endregion #region --- Using Directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Reflection; using System.Diagnostics; using System.Reflection.Emit; #endregion namespace OpenTK.Graphics { /// /// OpenGL bindings for .NET, implementing OpenGL 3.1, plus extensions. /// /// /// /// This class contains all OpenGL enums and functions defined in the 3.1 specification. /// The official .spec files can be found at: http://opengl.org/registry/. /// /// A valid OpenGL context must be created before calling any OpenGL function. /// /// Use the GL.Load and GL.LoadAll methods to prepare function entry points prior to use. To maintain /// cross-platform compatibility, this must be done for both core and extension functions. The GameWindow /// and the GLControl class will take care of this automatically. /// /// /// You can use the GL.SupportsExtension method to check whether any given category of extension functions /// exists in the current OpenGL context. Keep in mind that different OpenGL contexts may support different /// extensions, and under different entry points. Always check if all required extensions are still supported /// when changing visuals or pixel formats. /// /// /// You may retrieve the entry point for an OpenGL function using the GL.GetDelegate method. /// /// /// /// /// /// /// [Obsolete("Use OpenTK.Graphics.OpenGL or one of the specific profiles instead.")] public static partial class GL { delegate void VoidGLDelegate(object @class, object[] parameters); delegate object ObjectGLDelegate(object @class, object[] parameters); #region --- Fields --- internal const string Library = "opengl32.dll"; static StringBuilder sb = new StringBuilder(); static object gl_lock = new object(); private static SortedList AvailableExtensions = new SortedList(); private static bool rebuildExtensionList; private static Type glClass; private static Type delegatesClass; private static Type importsClass; #endregion #region --- Constructor --- static GL() { glClass = typeof(GL); delegatesClass = glClass.GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic); importsClass = glClass.GetNestedType("Imports", BindingFlags.Static | BindingFlags.NonPublic); LoadAll(); // Ensure this class is loaded, since it is no longer visible to the GraphicsContext.LoadAll() method. } #endregion #region --- Imports --- internal static partial class Imports { internal static SortedList FunctionMap; // This is faster than either Dictionary or SortedDictionary static Imports() { MethodInfo[] methods = importsClass.GetMethods(BindingFlags.Static | BindingFlags.NonPublic); FunctionMap = new SortedList(methods.Length); foreach (MethodInfo m in methods) { FunctionMap.Add(m.Name, m); } } } #endregion #region --- Public Members --- #region public static bool SupportsExtension(string name) /// /// Determines whether the specified OpenGL extension category is available in /// the current OpenGL context. Equivalent to IsExtensionSupported(name, true) /// /// The string for the OpenGL extension category (eg. "GL_ARB_multitexture") /// True if the specified extension is available, false otherwise. public static bool SupportsExtension(string name) { if (rebuildExtensionList) BuildExtensionList(); lock (gl_lock) { sb.Remove(0, sb.Length); if (!name.StartsWith("GL_")) sb.Append("gl_"); sb.Append(name.ToLower()); sb.Replace("_", String.Empty); // Search the cache for the string. return AvailableExtensions.ContainsKey(sb.ToString()); } } #endregion #region public static Delegate GetDelegate(string name) /// /// Returns a System.Delegate wrapping the specified OpenGL function. You must use the /// base OpenGL name of the function (e.g. "glVertex3fv" instead of "Vertex3"). /// /// The name of the OpenGL function (eg. "glNewList") /// /// A System.Delegate that can be used to call this OpenGL function or null, if the specified /// function name does not correspond to an OpenGL function or if the function is not /// supported by the video drivers. /// public static Delegate GetDelegate(string name) { FieldInfo info = typeof(Delegates).GetField(name, BindingFlags.Static | BindingFlags.NonPublic); if (info == null) return null; return (Delegate)info.GetValue(null); } #endregion #region public static Delegate GetDelegate(string name, Type signature) /// /// Returns a System.Delegate wrapping an OpenGL function. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function, or null if the specified /// function name did not correspond to an OpenGL function. /// [Obsolete("Use GetDelegate(string name) instead.")] public static Delegate GetDelegate(string name, Type signature) { return LoadDelegate(name, signature); } #endregion #region public static void LoadAll() /// /// Loads all OpenGL functions (core and extensions). /// /// /// /// This function will be automatically called the first time you use any opengl function. There is /// /// /// Call this function manually whenever you need to update OpenGL entry points. /// This need may arise if you change the pixelformat/visual, or in case you cannot /// (or do not want) to use the automatic initialization of the GL class. /// /// public static void LoadAll() { //TODO: Route GameWindow context creation through GraphicsContext. //if (GraphicsContext.CurrentContext == null) // throw new InvalidOperationException("You must create an OpenGL context before using the GL class."); if (GraphicsContext.CurrentContext == null) { throw new InvalidOperationException("No GraphicsContext available in the calling thread."); } else { int supported = 0; Type extensions_class = typeof(GL).GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); if (extensions_class == null) throw new InvalidOperationException("The specified type does not have any loadable extensions."); FieldInfo[] delegates = extensions_class.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); if (delegates == null) throw new InvalidOperationException("The specified type does not have any loadable extensions."); foreach (FieldInfo f in delegates) { Delegate d = LoadDelegate(f.Name, f.FieldType); if (d != null) ++supported; f.SetValue(null, d); } rebuildExtensionList = true; } } #endregion #region public static bool Load(string function) /// /// Tries to reload the given OpenGL function (core or extension). /// /// The name of the OpenGL function (i.e. glShaderSource) /// True if the function was found and reloaded, false otherwise. /// /// /// Use this function if you require greater granularity when loading OpenGL entry points. /// /// /// While the automatic initialisation will load all OpenGL entry points, in some cases /// the initialisation can take place before an OpenGL Context has been established. /// In this case, use this function to load the entry points for the OpenGL functions /// you will need, or use ReloadFunctions() to load all available entry points. /// /// /// This function returns true if the given OpenGL function is supported, false otherwise. /// /// /// To query for supported extensions use the IsExtensionSupported() function instead. /// /// public static bool Load(string function) { FieldInfo f = delegatesClass.GetField(function, BindingFlags.Static | BindingFlags.NonPublic); if (f == null) return false; Delegate old = f.GetValue(null) as Delegate; Delegate @new = LoadDelegate(f.Name, f.FieldType); if (old.Target != @new.Target) { f.SetValue(null, @new); rebuildExtensionList = true; } return @new != null; } #endregion #region static Delegate LoadDelegate(string name, Type signature) /// /// /// Loads an OpenGL function into a type-safe System.Delegate. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function, or null if the specified /// function name did not correspond to an OpenGL function. /// static Delegate LoadDelegate(string name, Type signature) { MethodInfo m; return GetExtensionDelegate(name, signature) ?? (Imports.FunctionMap.TryGetValue((name.Substring(2)), out m) ? Delegate.CreateDelegate(signature, m) : null); } #endregion #region public static bool SupportsFunction(string function) /// /// Checks if a given OpenGL function is supported by the current context /// /// The name of the OpenGL function (i.e. glShaderSource) /// True if the function is supported, false otherwise public static bool SupportsFunction(string function) { lock (gl_lock) { if (function == null) throw new ArgumentNullException("function"); sb.Remove(0, sb.Length); if (!function.StartsWith("gl")) sb.Append("gl"); sb.Append(function); FieldInfo f = delegatesClass.GetField(sb.ToString(), BindingFlags.Static | BindingFlags.NonPublic); if (f == null) return false; return f.GetValue(null) != null; } } #endregion #region public static bool SupportsFunction(string function, string extension) /// /// Checks if a given OpenGL function is supported by the current context /// /// The name of the OpenGL function (e.g. glShaderSource) /// The name of the extension catagory (e.g. ARB, EXT, ATI, ...) /// True if the function is supported, false otherwise public static bool SupportsFunction(string function, string extension) { lock (gl_lock) { if (function == null) throw new ArgumentNullException("function"); if (extension == null) throw new ArgumentNullException("extension"); sb.Remove(0, sb.Length); if (!function.StartsWith("gl")) sb.Append("gl"); sb.Append(function); if (!function.EndsWith(extension)) sb.Append(extension); FieldInfo f = delegatesClass.GetField(sb.ToString(), BindingFlags.Static | BindingFlags.NonPublic); if (f == null) return false; return f.GetValue(null) != null; } } #endregion #region static bool SupportsFunction(MethodInfo function) /// /// Checks if a given OpenGL function is supported by the current context. /// /// The System.Reflection.MethodInfo for the OpenGL function. /// True if the function is supported, false otherwise. static bool SupportsFunction(MethodInfo function) { if (function == null) throw new ArgumentNullException("function"); AutoGeneratedAttribute[] attr = (AutoGeneratedAttribute[]) function.GetCustomAttributes(typeof(AutoGeneratedAttribute), false); if (attr.Length == 0) return false; return SupportsFunction(attr[0].EntryPoint); } #endregion #region private static void BuildExtensionList() /// /// Builds a cache of the supported extensions to speed up searches. /// private static void BuildExtensionList() { // Assumes there is an opengl context current. AvailableExtensions.Clear(); string version_string = GL.GetString(StringName.Version); if (String.IsNullOrEmpty(version_string)) { throw new ApplicationException("Failed to build extension list. Is there an opengl context current?"); } string version; // Most drivers return the version in the 3 first characters of the version string, // (e.g. on Ati X1950 with Catalyst 7.10 -> "2.0.6956 Release"). However, Mesa seems // to do something strange: "1.4 (2.1 Mesa 7.0.1).". // Update: this seems to occur with indirect rendering. E.g. Ati 8.2: 1.4 (2.1.7281 ...) // We'll do some trickery to get the second number (2.1), but this may break on // some implementations... //if (version_string.ToLower().Contains("mesa")) { int index = version_string.IndexOf('('); if (index != -1) version = version_string.Substring(index + 1, 3); else version = version_string.TrimStart(' '); } //else // version = version_string.TrimStart(' '); if (version.StartsWith("1.1")) { AvailableExtensions.Add("glversion11", true); } else if (version.StartsWith("1.2")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); } else if (version.StartsWith("1.3")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); } else if (version.StartsWith("1.4")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); } else if (version.StartsWith("1.5")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); AvailableExtensions.Add("glversion15", true); } else if (version.StartsWith("2.0")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); AvailableExtensions.Add("glversion15", true); AvailableExtensions.Add("glversion20", true); } else if (version.StartsWith("2.1")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); AvailableExtensions.Add("glversion15", true); AvailableExtensions.Add("glversion20", true); AvailableExtensions.Add("glversion21", true); } else if (version.StartsWith("3.0")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); AvailableExtensions.Add("glversion15", true); AvailableExtensions.Add("glversion20", true); AvailableExtensions.Add("glversion21", true); AvailableExtensions.Add("glversion30", true); } else if (version.StartsWith("3.1")) { AvailableExtensions.Add("glversion11", true); AvailableExtensions.Add("glversion12", true); AvailableExtensions.Add("glversion13", true); AvailableExtensions.Add("glversion14", true); AvailableExtensions.Add("glversion15", true); AvailableExtensions.Add("glversion20", true); AvailableExtensions.Add("glversion21", true); AvailableExtensions.Add("glversion30", true); AvailableExtensions.Add("glversion31", true); } string extension_string = GL.GetString(StringName.Extensions); if (String.IsNullOrEmpty(extension_string)) return; // no extensions are available string[] extensions = extension_string.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string ext in extensions) AvailableExtensions.Add(ext.Replace("_", String.Empty).ToLower(), true); rebuildExtensionList = false; } #endregion #endregion #region --- GetProcAddress --- private static IGetProcAddress getProcAddress; internal interface IGetProcAddress { IntPtr GetProcAddress(string function); } internal class GetProcAddressWindows : IGetProcAddress { [System.Runtime.InteropServices.DllImport(Library, EntryPoint = "wglGetProcAddress", ExactSpelling = true)] private static extern IntPtr wglGetProcAddress(String lpszProc); public IntPtr GetProcAddress(string function) { return wglGetProcAddress(function); } } internal class GetProcAddressX11 : IGetProcAddress { [DllImport(Library, EntryPoint = "glXGetProcAddress")] private static extern IntPtr glxGetProcAddress([MarshalAs(UnmanagedType.LPTStr)] string procName); public IntPtr GetProcAddress(string function) { return glxGetProcAddress(function); } } internal class GetProcAddressOSX : IGetProcAddress { private const string Library = "libdl.dylib"; [DllImport(Library, EntryPoint = "NSIsSymbolNameDefined")] private static extern bool NSIsSymbolNameDefined(string s); [DllImport(Library, EntryPoint = "NSLookupAndBindSymbol")] private static extern IntPtr NSLookupAndBindSymbol(string s); [DllImport(Library, EntryPoint = "NSAddressOfSymbol")] private static extern IntPtr NSAddressOfSymbol(IntPtr symbol); public IntPtr GetProcAddress(string function) { string fname = "_" + function; if (!NSIsSymbolNameDefined(fname)) return IntPtr.Zero; IntPtr symbol = NSLookupAndBindSymbol(fname); if (symbol != IntPtr.Zero) symbol = NSAddressOfSymbol(symbol); return symbol; } } #region private static IntPtr GetAddress(string function) /// /// Retrieves the entry point for a dynamically exported OpenGL function. /// /// The function string for the OpenGL function (eg. "glNewList") /// /// An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified /// OpenGL function is not dynamically exported. /// /// /// /// The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value /// into a call-able delegate. /// /// /// This function is cross-platform. It determines the underlying platform and uses the /// correct wgl, glx or agl GetAddress function to retrieve the function pointer. /// /// private static IntPtr GetAddress(string function) { if (getProcAddress == null) { if (Configuration.RunningOnWindows) { getProcAddress = new GetProcAddressWindows(); } else if (Configuration.RunningOnMacOS) { getProcAddress = new GetProcAddressOSX(); } else if (Configuration.RunningOnX11) { getProcAddress = new GetProcAddressX11(); } else { throw new PlatformNotSupportedException( "Extension loading is only supported under Mac OS X, X11 and Windows. We are sorry for the inconvience."); } } return getProcAddress.GetProcAddress(function); } #endregion #region internal static Delegate GetExtensionDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function or null /// if the function is not available in the current OpenGL context. /// internal static Delegate GetExtensionDelegate(string name, Type signature) { IntPtr address = GetAddress(name); if (address == IntPtr.Zero || address == new IntPtr(1) || // Workaround for buggy nvidia drivers which return address == new IntPtr(2)) // 1 or 2 instead of IntPtr.Zero for some extensions. { return null; } else { return Marshal.GetDelegateForFunctionPointer(address, signature); } } #endregion #endregion #region --- GL Overloads --- #pragma warning disable 3019 #pragma warning disable 1591 #pragma warning disable 1572 #pragma warning disable 1573 #region public static void Color[34]() overloads public static void Color3(System.Drawing.Color color) { GL.Color3(color.R, color.G, color.B); } public static void Color4(System.Drawing.Color color) { GL.Color4(color.R, color.G, color.B, color.A); } public static void Color3(Vector3 color) { GL.Color3(color.X, color.Y, color.Z); } public static void Color4(Vector4 color) { GL.Color4(color.X, color.Y, color.Z, color.W); } #endregion #region public static void ClearColor() overloads public static void ClearColor(System.Drawing.Color color) { GL.ClearColor(color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f); } #endregion #region public static void BlendColor() overloads public static void BlendColor(System.Drawing.Color color) { GL.BlendColor(color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f); } #endregion #region public static void Material() overloads public static void Material(MaterialFace face, MaterialParameter pname, Vector4 @params) { unsafe { Material(face, pname, (float*)&@params.X); } } public static void Material(MaterialFace face, MaterialParameter pname, Color4 @params) { unsafe { GL.Material(face, pname, (float*)&@params); } } #endregion #region public static void Light() overloads public static void Light(LightName name, LightParameter pname, Vector4 @params) { unsafe { GL.Light(name, pname, (float*)&@params.X); } } public static void Light(LightName name, LightParameter pname, Color4 @params) { unsafe { GL.Light(name, pname, (float*)&@params); } } #endregion #region --- Overloads for OpenTK.Math --- public static void Normal3(Vector3 normal) { Delegates.glNormal3f(normal.X, normal.Y, normal.Z); } public static void RasterPos2(Vector2 pos) { Delegates.glRasterPos2f(pos.X, pos.Y); } public static void RasterPos3(Vector3 pos) { Delegates.glRasterPos3f(pos.X, pos.Y, pos.Z); } public static void RasterPos4(Vector4 pos) { Delegates.glRasterPos4f(pos.X, pos.Y, pos.Z, pos.W); } public static void Vertex2(Vector2 v) { Delegates.glVertex2f(v.X, v.Y); } public static void Vertex3(Vector3 v) { Delegates.glVertex3f(v.X, v.Y, v.Z); } public static void Vertex4(Vector4 v) { Delegates.glVertex4f(v.X, v.Y, v.Z, v.W); } public static void TexCoord2(Vector2 v) { Delegates.glTexCoord2f(v.X, v.Y); } public static void TexCoord3(Vector3 v) { Delegates.glTexCoord3f(v.X, v.Y, v.Z); } public static void TexCoord4(Vector4 v) { Delegates.glTexCoord4f(v.X, v.Y, v.Z, v.W); } public static void Rotate(Single angle, Vector3 axis) { Delegates.glRotatef((Single)angle, axis.X, axis.Y, axis.Z); } public static void Scale(Vector3 scale) { Delegates.glScalef(scale.X, scale.Y, scale.Z); } public static void Translate(Vector3 trans) { Delegates.glTranslatef(trans.X, trans.Y, trans.Z); } public static void MultMatrix(ref Matrix4 mat) { unsafe { fixed (Single* m_ptr = &mat.Row0.X) { Delegates.glMultMatrixf((Single*)m_ptr); } } } public static void LoadMatrix(ref Matrix4 mat) { unsafe { fixed (Single* m_ptr = &mat.Row0.X) { Delegates.glLoadMatrixf((Single*)m_ptr); } } } public static void LoadTransposeMatrix(ref Matrix4 mat) { unsafe { fixed (Single* m_ptr = &mat.Row0.X) { Delegates.glLoadTransposeMatrixf((Single*)m_ptr); } } } public static void MultTransposeMatrix(ref Matrix4 mat) { unsafe { fixed (Single* m_ptr = &mat.Row0.X) { Delegates.glMultTransposeMatrixf((Single*)m_ptr); } } } public static void MultMatrix(ref Matrix4d mat) { unsafe { fixed (Double* m_ptr = &mat.Row0.X) { Delegates.glMultMatrixd((Double*)m_ptr); } } } public static void LoadMatrix(ref Matrix4d mat) { unsafe { fixed (Double* m_ptr = &mat.Row0.X) { Delegates.glLoadMatrixd((Double*)m_ptr); } } } public static void LoadTransposeMatrix(ref Matrix4d mat) { unsafe { fixed (Double* m_ptr = &mat.Row0.X) { Delegates.glLoadTransposeMatrixd((Double*)m_ptr); } } } public static void MultTransposeMatrix(ref Matrix4d mat) { unsafe { fixed (Double* m_ptr = &mat.Row0.X) { Delegates.glMultTransposeMatrixd((Double*)m_ptr); } } } public static void UniformMatrix4(int location, bool transpose, ref Matrix4 matrix) { unsafe { fixed (float* matrix_ptr = &matrix.Row0.X) { GL.UniformMatrix4(location, 1, transpose, matrix_ptr); } } } #region Uniform [CLSCompliant(false)] public static void Uniform2(int location, ref Vector2 vector) { GL.Uniform2(location, vector.X, vector.Y); } [CLSCompliant(false)] public static void Uniform3(int location, ref Vector3 vector) { GL.Uniform3(location, vector.X, vector.Y, vector.Z); } [CLSCompliant(false)] public static void Uniform4(int location, ref Vector4 vector) { GL.Uniform4(location, vector.X, vector.Y, vector.Z, vector.W); } public static void Uniform2(int location, Vector2 vector) { GL.Uniform2(location, vector.X, vector.Y); } public static void Uniform3(int location, Vector3 vector) { GL.Uniform3(location, vector.X, vector.Y, vector.Z); } public static void Uniform4(int location, Vector4 vector) { GL.Uniform4(location, vector.X, vector.Y, vector.Z, vector.W); } public static void Uniform4(int location, Color4 color) { GL.Uniform4(location, color.R, color.G, color.B, color.A); } public static void Uniform4(int location, Quaternion quaternion) { GL.Uniform4(location, quaternion.X, quaternion.Y, quaternion.Z, quaternion.W); } #endregion #endregion #region public static void ShaderSource(Int32 shader, System.String @string) public static void ShaderSource(Int32 shader, System.String @string) { unsafe { int length = @string.Length; Delegates.glShaderSource((UInt32)shader, 1, new string[] { @string }, &length); } } #endregion #region public static string GetShaderInfoLog(Int32 shader) public static string GetShaderInfoLog(Int32 shader) { string info; GetShaderInfoLog(shader, out info); return info; } #endregion #region public static void GetShaderInfoLog(Int32 shader, out string info) public static void GetShaderInfoLog(Int32 shader, out string info) { unsafe { int length; GL.GetShader(shader, ShaderParameter.InfoLogLength, out length); if (length == 0) { info = String.Empty; return; } StringBuilder sb = new StringBuilder(length); Delegates.glGetShaderInfoLog((UInt32)shader, sb.Capacity, &length, sb); info = sb.ToString(); } } #endregion #region public static string GetProgramInfoLog(Int32 program) public static string GetProgramInfoLog(Int32 program) { string info; GetProgramInfoLog(program, out info); return info; } #endregion #region public static void GetProgramInfoLog(Int32 program, out string info) public static void GetProgramInfoLog(Int32 program, out string info) { unsafe { int length; GL.GetProgram(program, OpenTK.Graphics.ProgramParameter.InfoLogLength, out length); if (length == 0) { info = String.Empty; return; } StringBuilder sb = new StringBuilder(length); Delegates.glGetProgramInfoLog((UInt32)program, sb.Capacity, &length, sb); info = sb.ToString(); } } #endregion #region public static void PointParameter(PointSpriteCoordOriginParameter param) /// /// Helper function that defines the coordinate origin of the Point Sprite. /// /// /// A OpenTK.Graphics.OpenGL.GL.PointSpriteCoordOriginParameter token, /// denoting the origin of the Point Sprite. /// public static void PointParameter(PointSpriteCoordOriginParameter param) { GL.PointParameter(PointParameterName.PointSpriteCoordOrigin, (int)param); } #endregion #region public static void VertexAttrib2(Int32 index, ref Vector2 v) [CLSCompliant(false)] public static void VertexAttrib2(Int32 index, ref Vector2 v) { GL.VertexAttrib2(index, v.X, v.Y); } #endregion #region public static void VertexAttrib3(Int32 index, ref Vector3 v) [CLSCompliant(false)] public static void VertexAttrib3(Int32 index, ref Vector3 v) { GL.VertexAttrib3(index, v.X, v.Y, v.Z); } #endregion #region public static void VertexAttrib4(Int32 index, ref Vector4 v) [CLSCompliant(false)] public static void VertexAttrib4(Int32 index, ref Vector4 v) { GL.VertexAttrib4(index, v.X, v.Y, v.Z, v.W); } #endregion #region public static void VertexAttrib2(Int32 index, Vector2 v) public static void VertexAttrib2(Int32 index, Vector2 v) { GL.VertexAttrib2(index, v.X, v.Y); } #endregion #region public static void VertexAttrib3(Int32 index, Vector3 v) public static void VertexAttrib3(Int32 index, Vector3 v) { GL.VertexAttrib3(index, v.X, v.Y, v.Z); } #endregion #region public static void VertexAttrib4(Int32 index, Vector4 v) public static void VertexAttrib4(Int32 index, Vector4 v) { GL.VertexAttrib4(index, v.X, v.Y, v.Z, v.W); } #endregion #region public static void MultiTexCoord2(TextureUnit target, ref Vector2 v) public static void MultiTexCoord2(TextureUnit target, ref Vector2 v) { GL.MultiTexCoord2(target, v.X, v.Y); } #endregion #region public static void MultiTexCoord3(TextureUnit target, ref Vector3 v) public static void MultiTexCoord3(TextureUnit target, ref Vector3 v) { GL.MultiTexCoord3(target, v.X, v.Y, v.Z); } #endregion #region public static void MultiTexCoord4(TextureUnit target, ref Vector4 v) public static void MultiTexCoord4(TextureUnit target, ref Vector4 v) { GL.MultiTexCoord4(target, v.X, v.Y, v.Z, v.W); } #endregion #region public static void Rect(System.Drawing.RectangleF rect) public static void Rect(System.Drawing.RectangleF rect) { GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom); } #endregion #region public static void Rect(ref System.Drawing.RectangleF rect) [CLSCompliant(false)] public static void Rect(ref System.Drawing.RectangleF rect) { GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom); } #endregion #region public static void Rect(System.Drawing.Rectangle rect) public static void Rect(System.Drawing.Rectangle rect) { GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom); } #endregion #region public static void Rect(ref System.Drawing.Rectangle rect) [CLSCompliant(false)] public static void Rect(ref System.Drawing.Rectangle rect) { GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom); } #endregion #region public static int GenTexture() public static int GenTexture() { int id; GenTextures(1, out id); return id; } #endregion #region public static void DeleteTexture(int id) public static void DeleteTexture(int id) { DeleteTextures(1, ref id); } #endregion #region [Vertex|Normal|Index|Color|FogCoord|VertexAttrib]Pointer public static void VertexPointer(int size, VertexPointerType type, int stride, int pointer) { VertexPointer(size, type, stride, (IntPtr)pointer); } public static void NormalPointer(int size, NormalPointerType type, int stride, int pointer) { NormalPointer(type, stride, (IntPtr)pointer); } public static void IndexPointer(IndexPointerType type, int stride, int pointer) { IndexPointer(type, stride, (IntPtr)pointer); } public static void ColorPointer(int size, ColorPointerType type, int stride, int pointer) { ColorPointer(size, type, stride, (IntPtr)pointer); } public static void FogCoordPointer(int size, FogPointerType type, int stride, int pointer) { FogCoordPointer(type, stride, (IntPtr)pointer); } public static void EdgeFlagPointer(int stride, int pointer) { EdgeFlagPointer(stride, (IntPtr)pointer); } public static void VertexAttribPointer(int index, int size, VertexAttribPointerType type, bool normalized, int stride, int pointer) { VertexAttribPointer(index, size, type, normalized, stride, (IntPtr)pointer); } #endregion #region Get[Float|Double] public static void GetFloat(GetPName pname, out Vector2 vector) { unsafe { fixed (Vector2* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetFloat(GetPName pname, out Vector3 vector) { unsafe { fixed (Vector3* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetFloat(GetPName pname, out Vector4 vector) { unsafe { fixed (Vector4* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetFloat(GetPName pname, out Matrix4 matrix) { unsafe { fixed (Matrix4* ptr = &matrix) GetFloat(pname, (float*)ptr); } } public static void GetDouble(GetPName pname, out Vector2d vector) { unsafe { fixed (Vector2d* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetDouble(GetPName pname, out Vector3d vector) { unsafe { fixed (Vector3d* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetDouble(GetPName pname, out Vector4d vector) { unsafe { fixed (Vector4d* ptr = &vector) GetFloat(pname, (float*)ptr); } } public static void GetDouble(GetPName pname, out Matrix4d matrix) { unsafe { fixed (Matrix4d* ptr = &matrix) GetFloat(pname, (float*)ptr); } } #endregion #region Viewport public static void Viewport(System.Drawing.Size size) { GL.Viewport(0, 0, size.Width, size.Height); } public static void Viewport(System.Drawing.Point location, System.Drawing.Size size) { GL.Viewport(location.X, location.Y, size.Width, size.Height); } public static void Viewport(System.Drawing.Rectangle rectangle) { GL.Viewport(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height); } #endregion #region TexEnv public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, System.Drawing.Color color) { Color4 c = new Color4(color); unsafe { TexEnv(target, pname, &c.R); } } public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Color4 color) { unsafe { TexEnv(target, pname, &color.R); } } #endregion #pragma warning restore 3019 #pragma warning restore 1591 #pragma warning restore 1572 #pragma warning restore 1573 #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/GL.cs0000664000175000017500002616663211453131426021540 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 #pragma warning disable 1572 #pragma warning disable 1573 static partial class GL { public static partial class GL_3dfx { [AutoGenerated(Category = "3DfxTbuffer", Version = "1.2", EntryPoint = "glTbufferMask3DFX")] public static void TbufferMask(Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTbufferMask3DFX((UInt32)mask); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "3DfxTbuffer", Version = "1.2", EntryPoint = "glTbufferMask3DFX")] public static void TbufferMask(UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTbufferMask3DFX((UInt32)mask); #if DEBUG } #endif } } public static partial class Amd { [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glBeginPerfMonitorAMD")] public static void BeginPerfMonitor(Int32 monitor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginPerfMonitorAMD((UInt32)monitor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glBeginPerfMonitorAMD")] public static void BeginPerfMonitor(UInt32 monitor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginPerfMonitorAMD((UInt32)monitor); #if DEBUG } #endif } [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationIndexedAMD")] public static void BlendEquationIndexed(Int32 buf, AmdDrawBuffersBlend mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationIndexedAMD")] public static void BlendEquationIndexed(UInt32 buf, AmdDrawBuffersBlend mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)mode); #if DEBUG } #endif } [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationSeparateIndexedAMD")] public static void BlendEquationSeparateIndexed(Int32 buf, AmdDrawBuffersBlend modeRGB, AmdDrawBuffersBlend modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)modeRGB, (AmdDrawBuffersBlend)modeAlpha); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationSeparateIndexedAMD")] public static void BlendEquationSeparateIndexed(UInt32 buf, AmdDrawBuffersBlend modeRGB, AmdDrawBuffersBlend modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)modeRGB, (AmdDrawBuffersBlend)modeAlpha); #if DEBUG } #endif } [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncIndexedAMD")] public static void BlendFuncIndexed(Int32 buf, AmdDrawBuffersBlend src, AmdDrawBuffersBlend dst) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)src, (AmdDrawBuffersBlend)dst); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncIndexedAMD")] public static void BlendFuncIndexed(UInt32 buf, AmdDrawBuffersBlend src, AmdDrawBuffersBlend dst) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)src, (AmdDrawBuffersBlend)dst); #if DEBUG } #endif } [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncSeparateIndexedAMD")] public static void BlendFuncSeparateIndexed(Int32 buf, AmdDrawBuffersBlend srcRGB, AmdDrawBuffersBlend dstRGB, AmdDrawBuffersBlend srcAlpha, AmdDrawBuffersBlend dstAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)srcRGB, (AmdDrawBuffersBlend)dstRGB, (AmdDrawBuffersBlend)srcAlpha, (AmdDrawBuffersBlend)dstAlpha); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncSeparateIndexedAMD")] public static void BlendFuncSeparateIndexed(UInt32 buf, AmdDrawBuffersBlend srcRGB, AmdDrawBuffersBlend dstRGB, AmdDrawBuffersBlend srcAlpha, AmdDrawBuffersBlend dstAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)srcRGB, (AmdDrawBuffersBlend)dstRGB, (AmdDrawBuffersBlend)srcAlpha, (AmdDrawBuffersBlend)dstAlpha); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static unsafe void DeletePerfMonitors(Int32 n, [Out] Int32* monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors); #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static void DeletePerfMonitors(Int32 n, [Out] Int32[] monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* monitors_ptr = monitors) { Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static void DeletePerfMonitors(Int32 n, [Out] out Int32 monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* monitors_ptr = &monitors) { Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); monitors = *monitors_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static void DeletePerfMonitors(Int32 n, [Out] out UInt32 monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* monitors_ptr = &monitors) { Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); monitors = *monitors_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static unsafe void DeletePerfMonitors(Int32 n, [Out] UInt32* monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")] public static void DeletePerfMonitors(Int32 n, [Out] UInt32[] monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* monitors_ptr = monitors) { Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glEndPerfMonitorAMD")] public static void EndPerfMonitor(Int32 monitor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndPerfMonitorAMD((UInt32)monitor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glEndPerfMonitorAMD")] public static void EndPerfMonitor(UInt32 monitor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndPerfMonitorAMD((UInt32)monitor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static unsafe void GenPerfMonitors(Int32 n, [Out] Int32* monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors); #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static void GenPerfMonitors(Int32 n, [Out] Int32[] monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* monitors_ptr = monitors) { Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static void GenPerfMonitors(Int32 n, [Out] out Int32 monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* monitors_ptr = &monitors) { Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); monitors = *monitors_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static void GenPerfMonitors(Int32 n, [Out] out UInt32 monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* monitors_ptr = &monitors) { Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); monitors = *monitors_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static unsafe void GenPerfMonitors(Int32 n, [Out] UInt32* monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")] public static void GenPerfMonitors(Int32 n, [Out] UInt32[] monitors) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* monitors_ptr = monitors) { Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static unsafe void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] Int32* data, [Out] Int32* bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data, (Int32*)bytesWritten); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static unsafe void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] Int32[] data, [Out] Int32* bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* data_ptr = data) { Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] out Int32 data, [Out] out Int32 bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) fixed (Int32* bytesWritten_ptr = &bytesWritten) { Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten_ptr); data = *data_ptr; bytesWritten = *bytesWritten_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] out UInt32 data, [Out] out Int32 bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* data_ptr = &data) fixed (Int32* bytesWritten_ptr = &bytesWritten) { Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten_ptr); data = *data_ptr; bytesWritten = *bytesWritten_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static unsafe void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data, (Int32*)bytesWritten); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")] public static unsafe void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32[] data, [Out] Int32* bytesWritten) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (UInt32* data_ptr = data) { Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")] public static void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static unsafe void GetPerfMonitorCounters(Int32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] Int32* counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static unsafe void GetPerfMonitorCounters(Int32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] Int32[] counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* counters_ptr = counters) { Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static void GetPerfMonitorCounters(Int32 group, [Out] out Int32 numCounters, [Out] out Int32 maxActiveCounters, Int32 counterSize, [Out] out Int32 counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* numCounters_ptr = &numCounters) fixed (Int32* maxActiveCounters_ptr = &maxActiveCounters) fixed (Int32* counters_ptr = &counters) { Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters_ptr, (Int32*)maxActiveCounters_ptr, (Int32)counterSize, (UInt32*)counters_ptr); numCounters = *numCounters_ptr; maxActiveCounters = *maxActiveCounters_ptr; counters = *counters_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static unsafe void GetPerfMonitorCounters(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static unsafe void GetPerfMonitorCounters(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32[] counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (UInt32* counters_ptr = counters) { Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")] public static void GetPerfMonitorCounters(UInt32 group, [Out] out Int32 numCounters, [Out] out Int32 maxActiveCounters, Int32 counterSize, [Out] out UInt32 counters) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* numCounters_ptr = &numCounters) fixed (Int32* maxActiveCounters_ptr = &maxActiveCounters) fixed (UInt32* counters_ptr = &counters) { Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters_ptr, (Int32*)maxActiveCounters_ptr, (Int32)counterSize, (UInt32*)counters_ptr); numCounters = *numCounters_ptr; maxActiveCounters = *maxActiveCounters_ptr; counters = *counters_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")] public static unsafe void GetPerfMonitorCounterString(Int32 group, Int32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)counterString); #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")] public static void GetPerfMonitorCounterString(Int32 group, Int32 counter, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder counterString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)counterString); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")] public static unsafe void GetPerfMonitorCounterString(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)counterString); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")] public static void GetPerfMonitorCounterString(UInt32 group, UInt32 counter, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder counterString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)counterString); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] Int32* groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] Int32[] groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* groups_ptr = groups) { Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32[] groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (UInt32* groups_ptr = groups) { Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static void GetPerfMonitorGroup([Out] out Int32 numGroups, Int32 groupsSize, [Out] out Int32 groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* numGroups_ptr = &numGroups) fixed (Int32* groups_ptr = &groups) { Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups_ptr, (Int32)groupsSize, (UInt32*)groups_ptr); numGroups = *numGroups_ptr; groups = *groups_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")] public static void GetPerfMonitorGroup([Out] out Int32 numGroups, Int32 groupsSize, [Out] out UInt32 groups) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* numGroups_ptr = &numGroups) fixed (UInt32* groups_ptr = &groups) { Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups_ptr, (Int32)groupsSize, (UInt32*)groups_ptr); numGroups = *numGroups_ptr; groups = *groups_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")] public static unsafe void GetPerfMonitorGroupString(Int32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)groupString); #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")] public static void GetPerfMonitorGroupString(Int32 group, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder groupString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)groupString); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")] public static unsafe void GetPerfMonitorGroupString(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)groupString); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")] public static void GetPerfMonitorGroupString(UInt32 group, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder groupString) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)groupString); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static unsafe void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] Int32* counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList); #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] Int32[] counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* counterList_ptr = counterList) { Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] out Int32 counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* counterList_ptr = &counterList) { Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr); counterList = *counterList_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] out UInt32 counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* counterList_ptr = &counterList) { Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr); counterList = *counterList_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static unsafe void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")] public static void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32[] counterList) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* counterList_ptr = counterList) { Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AmdVertexShaderTesselator", Version = "2.0", EntryPoint = "glTessellationFactorAMD")] public static void TessellationFactor(Single factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTessellationFactorAMD((Single)factor); #if DEBUG } #endif } [AutoGenerated(Category = "AmdVertexShaderTesselator", Version = "2.0", EntryPoint = "glTessellationModeAMD")] public static void TessellationMode(AmdVertexShaderTesselator mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTessellationModeAMD((AmdVertexShaderTesselator)mode); #if DEBUG } #endif } } public static partial class Apple { [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glBindVertexArrayAPPLE")] public static void BindVertexArray(Int32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexArrayAPPLE((UInt32)array); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glBindVertexArrayAPPLE")] public static void BindVertexArray(UInt32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexArrayAPPLE((UInt32)array); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFlushBufferRange", Version = "1.5", EntryPoint = "glBufferParameteriAPPLE")] public static void BufferParameter(BufferTarget target, BufferParameterApple pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBufferParameteriAPPLE((BufferTarget)target, (BufferParameterApple)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static unsafe void DeleteFences(Int32 n, Int32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static void DeleteFences(Int32 n, Int32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static void DeleteFences(Int32 n, ref Int32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static void DeleteFences(Int32 n, ref UInt32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static unsafe void DeleteFences(Int32 n, UInt32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")] public static void DeleteFences(Int32 n, UInt32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static unsafe void DeleteVertexArrays(Int32 n, Int32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static void DeleteVertexArrays(Int32 n, Int32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static void DeleteVertexArrays(Int32 n, ref Int32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static void DeleteVertexArrays(Int32 n, ref UInt32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")] public static void DeleteVertexArrays(Int32 n, UInt32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glDisableVertexAttribAPPLE")] public static void DisableVertexAttrib(Int32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glDisableVertexAttribAPPLE")] public static void DisableVertexAttrib(UInt32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawElementArrayAPPLE")] public static void DrawElementArray(BeginMode mode, Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementArrayAPPLE((BeginMode)mode, (Int32)first, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayAPPLE")] public static void DrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayAPPLE")] public static void DrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")] public static void ElementPointer(AppleElementArray type, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")] public static void ElementPointer(AppleElementArray type, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")] public static void ElementPointer(AppleElementArray type, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")] public static void ElementPointer(AppleElementArray type, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")] public static void ElementPointer(AppleElementArray type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glEnableVertexAttribAPPLE")] public static void EnableVertexAttrib(Int32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glEnableVertexAttribAPPLE")] public static void EnableVertexAttrib(UInt32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishFenceAPPLE")] public static void FinishFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishFenceAPPLE")] public static void FinishFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishObjectAPPLE")] public static void FinishObject(AppleFence @object, Int32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishObjectAPPLE((AppleFence)@object, (Int32)name); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFlushBufferRange", Version = "1.5", EntryPoint = "glFlushMappedBufferRangeAPPLE")] public static void FlushMappedBufferRange(BufferTarget target, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushMappedBufferRangeAPPLE((BufferTarget)target, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")] public static void FlushVertexArrayRange(Int32 length, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")] public static void FlushVertexArrayRange(Int32 length, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")] public static void FlushVertexArrayRange(Int32 length, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")] public static void FlushVertexArrayRange(Int32 length, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")] public static void FlushVertexArrayRange(Int32 length, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static unsafe void GenFences(Int32 n, [Out] Int32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static void GenFences(Int32 n, [Out] Int32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static void GenFences(Int32 n, [Out] out Int32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static void GenFences(Int32 n, [Out] out UInt32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static unsafe void GenFences(Int32 n, [Out] UInt32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")] public static void GenFences(Int32 n, [Out] UInt32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static unsafe void GenVertexArrays(Int32 n, [Out] Int32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static void GenVertexArrays(Int32 n, [Out] Int32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static void GenVertexArrays(Int32 n, [Out] out Int32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static void GenVertexArrays(Int32 n, [Out] out UInt32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")] public static void GenVertexArrays(Int32 n, [Out] UInt32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static unsafe void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static unsafe void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")] public static void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")] public static void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [In, Out] ref T2 @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")] public static void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[,,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")] public static void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")] public static void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")] public static void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glIsFenceAPPLE")] public static bool IsFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glIsFenceAPPLE")] public static bool IsFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glIsVertexArrayAPPLE")] public static bool IsVertexArray(Int32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexArrayAPPLE((UInt32)array); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glIsVertexArrayAPPLE")] public static bool IsVertexArray(UInt32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexArrayAPPLE((UInt32)array); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glIsVertexAttribEnabledAPPLE")] public static bool IsVertexAttribEnabled(Int32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexAttribEnabledAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glIsVertexAttribEnabledAPPLE")] public static bool IsVertexAttribEnabled(UInt32 index, AppleVertexProgramEvaluators pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexAttribEnabledAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static unsafe void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static unsafe void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")] public static void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static unsafe void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static unsafe void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")] public static void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static unsafe void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static unsafe void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")] public static void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static unsafe void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static unsafe void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")] public static void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")] public static unsafe void MultiDrawElementArray(BeginMode mode, Int32* first, Int32* count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount); #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")] public static void MultiDrawElementArray(BeginMode mode, Int32[] first, Int32[] count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")] public static void MultiDrawElementArray(BeginMode mode, ref Int32 first, ref Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static unsafe void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32* first, Int32* count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount); #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32[] first, Int32[] count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, ref Int32 first, ref Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static unsafe void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32[] first, Int32[] count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")] public static void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, ref Int32 first, ref Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectPurgeableAPPLE")] public static IntPtr ObjectPurgeable(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable option) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glObjectPurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectPurgeableAPPLE")] public static IntPtr ObjectPurgeable(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable option) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glObjectPurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option); #if DEBUG } #endif } [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectUnpurgeableAPPLE")] public static IntPtr ObjectUnpurgeable(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable option) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glObjectUnpurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectUnpurgeableAPPLE")] public static IntPtr ObjectUnpurgeable(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable option) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glObjectUnpurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glSetFenceAPPLE")] public static void SetFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glSetFenceAPPLE")] public static void SetFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestFenceAPPLE")] public static bool TestFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestFenceAPPLE")] public static bool TestFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestFenceAPPLE((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestObjectAPPLE")] public static bool TestObject(AppleFence @object, Int32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestObjectAPPLE((AppleFence)@object, (UInt32)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestObjectAPPLE")] public static bool TestObject(AppleFence @object, UInt32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestObjectAPPLE((AppleFence)@object, (UInt32)name); #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")] public static void TextureRange(AppleTextureRange target, Int32 length, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")] public static void TextureRange(AppleTextureRange target, Int32 length, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")] public static void TextureRange(AppleTextureRange target, Int32 length, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")] public static void TextureRange(AppleTextureRange target, Int32 length, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")] public static void TextureRange(AppleTextureRange target, Int32 length, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayParameteriAPPLE")] public static void VertexArrayParameter(AppleVertexArrayRange pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexArrayParameteriAPPLE((AppleVertexArrayRange)pname, (Int32)param); #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")] public static void VertexArrayRange(Int32 length, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")] public static void VertexArrayRange(Int32 length, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")] public static void VertexArrayRange(Int32 length, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")] public static void VertexArrayRange(Int32 length, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")] public static void VertexArrayRange(Int32 length, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer); #if DEBUG } #endif } } public static partial class Arb { /// /// Select active texture unit /// /// /// /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glActiveTextureARB")] public static void ActiveTexture(TextureUnit texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glActiveTextureARB((TextureUnit)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glAttachObjectARB")] public static void AttachObject(Int32 containerObj, Int32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glAttachObjectARB")] public static void AttachObject(UInt32 containerObj, UInt32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj); #if DEBUG } #endif } /// /// Delimit the boundaries of a query object /// /// /// /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the name of a query object. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glBeginQueryARB")] public static void BeginQuery(ArbOcclusionQuery target, Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginQueryARB((ArbOcclusionQuery)target, (UInt32)id); #if DEBUG } #endif } /// /// Delimit the boundaries of a query object /// /// /// /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the name of a query object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glBeginQueryARB")] public static void BeginQuery(ArbOcclusionQuery target, UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginQueryARB((ArbOcclusionQuery)target, (UInt32)id); #if DEBUG } #endif } /// /// Associates a generic vertex attribute index with a named attribute variable /// /// /// /// Specifies the handle of the program object in which the association is to be made. /// /// /// /// /// Specifies the index of the generic vertex attribute to be bound. /// /// /// /// /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. /// /// [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glBindAttribLocationARB")] public static void BindAttribLocation(Int32 programObj, Int32 index, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (String)name); #if DEBUG } #endif } /// /// Associates a generic vertex attribute index with a named attribute variable /// /// /// /// Specifies the handle of the program object in which the association is to be made. /// /// /// /// /// Specifies the index of the generic vertex attribute to be bound. /// /// /// /// /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glBindAttribLocationARB")] public static void BindAttribLocation(UInt32 programObj, UInt32 index, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (String)name); #if DEBUG } #endif } /// /// Bind a named buffer object /// /// /// /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the name of a buffer object. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBindBufferARB")] public static void BindBuffer(BufferTargetArb target, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferARB((BufferTargetArb)target, (UInt32)buffer); #if DEBUG } #endif } /// /// Bind a named buffer object /// /// /// /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the name of a buffer object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBindBufferARB")] public static void BindBuffer(BufferTargetArb target, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferARB((BufferTargetArb)target, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glBindProgramARB")] public static void BindProgram(AssemblyProgramTargetArb target, Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindProgramARB((AssemblyProgramTargetArb)target, (UInt32)program); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glBindProgramARB")] public static void BindProgram(AssemblyProgramTargetArb target, UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindProgramARB((AssemblyProgramTargetArb)target, (UInt32)program); #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")] public static void BufferData(BufferTargetArb target, IntPtr size, [In, Out] ref T2 data, BufferUsageArb usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")] public static void BufferData(BufferTargetArb target, IntPtr size, [In, Out] T2[,,] data, BufferUsageArb usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")] public static void BufferData(BufferTargetArb target, IntPtr size, [In, Out] T2[,] data, BufferUsageArb usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")] public static void BufferData(BufferTargetArb target, IntPtr size, [In, Out] T2[] data, BufferUsageArb usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")] public static void BufferData(BufferTargetArb target, IntPtr size, IntPtr data, BufferUsageArb usage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data, (BufferUsageArb)usage); #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")] public static void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")] public static void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")] public static void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")] public static void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")] public static void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } [AutoGenerated(Category = "ArbColorBufferFloat", Version = "1.5", EntryPoint = "glClampColorARB")] public static void ClampColor(ArbColorBufferFloat target, ArbColorBufferFloat clamp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClampColorARB((ArbColorBufferFloat)target, (ArbColorBufferFloat)clamp); #if DEBUG } #endif } /// /// Select active texture unit /// /// /// /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glClientActiveTextureARB")] public static void ClientActiveTexture(TextureUnit texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClientActiveTextureARB((TextureUnit)texture); #if DEBUG } #endif } /// /// Compiles a shader object /// /// /// /// Specifies the shader object to be compiled. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCompileShaderARB")] public static void CompileShader(Int32 shaderObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompileShaderARB((UInt32)shaderObj); #if DEBUG } #endif } /// /// Compiles a shader object /// /// /// /// Specifies the shader object to be compiled. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCompileShaderARB")] public static void CompileShader(UInt32 shaderObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompileShaderARB((UInt32)shaderObj); #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T6 data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T7 data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,,] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T8 data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T6 data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T8 data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T10 data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,,] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCreateProgramObjectARB")] public static Int32 CreateProgramObject() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCreateProgramObjectARB(); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCreateShaderObjectARB")] public static Int32 CreateShaderObject(ArbShaderObjects shaderType) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCreateShaderObjectARB((ArbShaderObjects)shaderType); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glCurrentPaletteMatrixARB")] public static void CurrentPaletteMatrix(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCurrentPaletteMatrixARB((Int32)index); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static unsafe void DeleteBuffers(Int32 n, Int32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static void DeleteBuffers(Int32 n, Int32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static void DeleteBuffers(Int32 n, ref Int32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static void DeleteBuffers(Int32 n, ref UInt32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static unsafe void DeleteBuffers(Int32 n, UInt32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")] public static void DeleteBuffers(Int32 n, UInt32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDeleteObjectARB")] public static void DeleteObject(Int32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteObjectARB((UInt32)obj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDeleteObjectARB")] public static void DeleteObject(UInt32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteObjectARB((UInt32)obj); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static unsafe void DeleteProgram(Int32 n, Int32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static void DeleteProgram(Int32 n, Int32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static void DeleteProgram(Int32 n, ref Int32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static void DeleteProgram(Int32 n, ref UInt32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static unsafe void DeleteProgram(Int32 n, UInt32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")] public static void DeleteProgram(Int32 n, UInt32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static unsafe void DeleteQueries(Int32 n, Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static void DeleteQueries(Int32 n, Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static void DeleteQueries(Int32 n, ref Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static void DeleteQueries(Int32 n, ref UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static unsafe void DeleteQueries(Int32 n, UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")] public static void DeleteQueries(Int32 n, UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDetachObjectARB")] public static void DetachObject(Int32 containerObj, Int32 attachedObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDetachObjectARB")] public static void DetachObject(UInt32 containerObj, UInt32 attachedObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDisableVertexAttribArrayARB")] public static void DisableVertexAttribArray(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribArrayARB((UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDisableVertexAttribArrayARB")] public static void DisableVertexAttribArray(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribArrayARB((UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawArraysInstancedARB")] public static void DrawArraysInstanced(BeginMode mode, Int32 first, Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawArraysInstancedARB((BeginMode)mode, (Int32)first, (Int32)count, (Int32)primcount); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")] public static unsafe void DrawBuffers(Int32 n, ArbDrawBuffers* bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")] public static void DrawBuffers(Int32 n, ArbDrawBuffers[] bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (ArbDrawBuffers* bufs_ptr = bufs) { Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs_ptr); } } #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")] public static void DrawBuffers(Int32 n, ref ArbDrawBuffers bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (ArbDrawBuffers* bufs_ptr = &bufs) { Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); #if DEBUG } #endif } /// /// Enable or disable a generic vertex attribute array /// /// /// /// Specifies the index of the generic vertex attribute to be enabled or disabled. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glEnableVertexAttribArrayARB")] public static void EnableVertexAttribArray(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribArrayARB((UInt32)index); #if DEBUG } #endif } /// /// Enable or disable a generic vertex attribute array /// /// /// /// Specifies the index of the generic vertex attribute to be enabled or disabled. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glEnableVertexAttribArrayARB")] public static void EnableVertexAttribArray(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribArrayARB((UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glEndQueryARB")] public static void EndQuery(ArbOcclusionQuery target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndQueryARB((ArbOcclusionQuery)target); #if DEBUG } #endif } [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureARB")] public static void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureARB")] public static void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureFaceARB")] public static void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFaceARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureFaceARB")] public static void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFaceARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureLayerARB")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayerARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureLayerARB")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayerARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static unsafe void GenBuffers(Int32 n, [Out] Int32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static void GenBuffers(Int32 n, [Out] Int32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static void GenBuffers(Int32 n, [Out] out Int32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static void GenBuffers(Int32 n, [Out] out UInt32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")] public static void GenBuffers(Int32 n, [Out] UInt32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static unsafe void GenProgram(Int32 n, [Out] Int32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static void GenProgram(Int32 n, [Out] Int32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static void GenProgram(Int32 n, [Out] out Int32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static void GenProgram(Int32 n, [Out] out UInt32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static unsafe void GenProgram(Int32 n, [Out] UInt32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")] public static void GenProgram(Int32 n, [Out] UInt32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static unsafe void GenQueries(Int32 n, [Out] Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static void GenQueries(Int32 n, [Out] Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static void GenQueries(Int32 n, [Out] out Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static void GenQueries(Int32 n, [Out] out UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static unsafe void GenQueries(Int32 n, [Out] UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")] public static void GenQueries(Int32 n, [Out] UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")] public static unsafe void GetActiveAttrib(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbVertexShader* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbVertexShader*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")] public static void GetActiveAttrib(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbVertexShader type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ArbVertexShader* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbVertexShader*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")] public static unsafe void GetActiveAttrib(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbVertexShader* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbVertexShader*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")] public static void GetActiveAttrib(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbVertexShader type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ArbVertexShader* type_ptr = &type) { Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbVertexShader*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")] public static unsafe void GetActiveUniform(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbShaderObjects* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbShaderObjects*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")] public static void GetActiveUniform(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbShaderObjects type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ArbShaderObjects* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbShaderObjects*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")] public static unsafe void GetActiveUniform(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbShaderObjects* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbShaderObjects*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")] public static void GetActiveUniform(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbShaderObjects type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ArbShaderObjects* type_ptr = &type) { Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbShaderObjects*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static unsafe void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] Int32* obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static unsafe void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] Int32[] obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static unsafe void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static unsafe void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32[] obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")] public static void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } #if DEBUG } #endif } /// /// Returns the location of an attribute variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried. /// /// [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetAttribLocationARB")] public static Int32 GetAttribLocation(Int32 programObj, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetAttribLocationARB((UInt32)programObj, (String)name); #if DEBUG } #endif } /// /// Returns the location of an attribute variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetAttribLocationARB")] public static Int32 GetAttribLocation(UInt32 programObj, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetAttribLocationARB((UInt32)programObj, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")] public static unsafe void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")] public static void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")] public static void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")] public static void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] ref T2 @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")] public static void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[,,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")] public static void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")] public static void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")] public static void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params); #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")] public static void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")] public static void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")] public static void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")] public static void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")] public static void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] ref T2 img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[,,] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[,] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [Out] IntPtr img) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetHandleARB")] public static Int32 GetHandle(ArbShaderObjects pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetHandleARB((ArbShaderObjects)pname); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")] public static unsafe void GetInfoLog(Int32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")] public static void GetInfoLog(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")] public static unsafe void GetInfoLog(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")] public static void GetInfoLog(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static unsafe void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static unsafe void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")] public static void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static unsafe void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static unsafe void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")] public static void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static unsafe void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static unsafe void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static unsafe void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static unsafe void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")] public static void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramivARB")] public static unsafe void GetProgram(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramivARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramivARB")] public static void GetProgram(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static unsafe void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static unsafe void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static unsafe void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static unsafe void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")] public static void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")] public static void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] ref T2 @string) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")] public static void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[,,] @string) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")] public static void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[,] @string) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")] public static void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[] @string) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")] public static void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")] public static unsafe void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")] public static void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")] public static void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static unsafe void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static unsafe void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")] public static void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")] public static void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")] public static unsafe void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")] public static void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")] public static unsafe void GetShaderSource(Int32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)source); #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")] public static void GetShaderSource(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)source); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")] public static unsafe void GetShaderSource(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)source); #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")] public static void GetShaderSource(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)source); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static void GetUniform(Int32 programObj, Int32 location, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static unsafe void GetUniform(Int32 programObj, Int32 location, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static void GetUniform(Int32 programObj, Int32 location, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static void GetUniform(UInt32 programObj, Int32 location, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static unsafe void GetUniform(UInt32 programObj, Int32 location, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")] public static void GetUniform(UInt32 programObj, Int32 location, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static unsafe void GetUniform(Int32 programObj, Int32 location, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static void GetUniform(Int32 programObj, Int32 location, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static void GetUniform(Int32 programObj, Int32 location, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static unsafe void GetUniform(UInt32 programObj, Int32 location, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static void GetUniform(UInt32 programObj, Int32 location, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")] public static void GetUniform(UInt32 programObj, Int32 location, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the location of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformLocationARB")] public static Int32 GetUniformLocation(Int32 programObj, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformLocationARB((UInt32)programObj, (String)name); #if DEBUG } #endif } /// /// Returns the location of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformLocationARB")] public static Int32 GetUniformLocation(UInt32 programObj, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformLocationARB((UInt32)programObj, (String)name); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a buffer object /// /// /// /// Specifies a value that may be the name of a buffer object. /// /// [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glIsBufferARB")] public static bool IsBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsBufferARB((UInt32)buffer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a buffer object /// /// /// /// Specifies a value that may be the name of a buffer object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glIsBufferARB")] public static bool IsBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsBufferARB((UInt32)buffer); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glIsProgramARB")] public static bool IsProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgramARB((UInt32)program); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glIsProgramARB")] public static bool IsProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgramARB((UInt32)program); #if DEBUG } #endif } /// /// Determine if a name corresponds to a query object /// /// /// /// Specifies a value that may be the name of a query object. /// /// [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glIsQueryARB")] public static bool IsQuery(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsQueryARB((UInt32)id); #if DEBUG } #endif } /// /// Determine if a name corresponds to a query object /// /// /// /// Specifies a value that may be the name of a query object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glIsQueryARB")] public static bool IsQuery(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsQueryARB((UInt32)id); #if DEBUG } #endif } /// /// Links a program object /// /// /// /// Specifies the handle of the program object to be linked. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glLinkProgramARB")] public static void LinkProgram(Int32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLinkProgramARB((UInt32)programObj); #if DEBUG } #endif } /// /// Links a program object /// /// /// /// Specifies the handle of the program object to be linked. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glLinkProgramARB")] public static void LinkProgram(UInt32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLinkProgramARB((UInt32)programObj); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")] public static unsafe void LoadTransposeMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadTransposeMatrixdARB((Double*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")] public static void LoadTransposeMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")] public static void LoadTransposeMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")] public static void LoadTransposeMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")] public static unsafe void LoadTransposeMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadTransposeMatrixfARB((Single*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")] public static void LoadTransposeMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Map a buffer object's data store /// /// /// /// Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glMapBufferARB")] public static unsafe IntPtr MapBuffer(BufferTargetArb target, ArbVertexBufferObject access) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapBufferARB((BufferTargetArb)target, (ArbVertexBufferObject)access); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")] public static void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")] public static void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")] public static void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")] public static void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")] public static void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")] public static unsafe void MatrixIndex(Int32 size, Byte* indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")] public static void MatrixIndex(Int32 size, Byte[] indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* indices_ptr = indices) { Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")] public static void MatrixIndex(Int32 size, ref Byte indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* indices_ptr = &indices) { Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static unsafe void MatrixIndex(Int32 size, Int32* indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static void MatrixIndex(Int32 size, Int32[] indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* indices_ptr = indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static void MatrixIndex(Int32 size, ref Int32 indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* indices_ptr = &indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static void MatrixIndex(Int32 size, ref UInt32 indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* indices_ptr = &indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static unsafe void MatrixIndex(Int32 size, UInt32* indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")] public static void MatrixIndex(Int32 size, UInt32[] indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* indices_ptr = indices) { Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static unsafe void MatrixIndex(Int32 size, Int16* indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static void MatrixIndex(Int32 size, Int16[] indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* indices_ptr = indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static void MatrixIndex(Int32 size, ref Int16 indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* indices_ptr = &indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static void MatrixIndex(Int32 size, ref UInt16 indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* indices_ptr = &indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static unsafe void MatrixIndex(Int32 size, UInt16* indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")] public static void MatrixIndex(Int32 size, UInt16[] indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* indices_ptr = indices) { Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1dARB")] public static void MultiTexCoord1(TextureUnit target, Double s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1dARB((TextureUnit)target, (Double)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1dvARB")] public static unsafe void MultiTexCoord1(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1dvARB((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1fARB")] public static void MultiTexCoord1(TextureUnit target, Single s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1fARB((TextureUnit)target, (Single)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1fvARB")] public static unsafe void MultiTexCoord1(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1fvARB((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1iARB")] public static void MultiTexCoord1(TextureUnit target, Int32 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1iARB((TextureUnit)target, (Int32)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1ivARB")] public static unsafe void MultiTexCoord1(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1ivARB((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1sARB")] public static void MultiTexCoord1(TextureUnit target, Int16 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1sARB((TextureUnit)target, (Int16)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1svARB")] public static unsafe void MultiTexCoord1(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1svARB((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dARB")] public static void MultiTexCoord2(TextureUnit target, Double s, Double t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2dARB((TextureUnit)target, (Double)s, (Double)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")] public static unsafe void MultiTexCoord2(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")] public static void MultiTexCoord2(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")] public static void MultiTexCoord2(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fARB")] public static void MultiTexCoord2(TextureUnit target, Single s, Single t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2fARB((TextureUnit)target, (Single)s, (Single)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")] public static void MultiTexCoord2(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")] public static unsafe void MultiTexCoord2(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")] public static void MultiTexCoord2(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2iARB")] public static void MultiTexCoord2(TextureUnit target, Int32 s, Int32 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2iARB((TextureUnit)target, (Int32)s, (Int32)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")] public static unsafe void MultiTexCoord2(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")] public static void MultiTexCoord2(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")] public static void MultiTexCoord2(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2sARB")] public static void MultiTexCoord2(TextureUnit target, Int16 s, Int16 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2sARB((TextureUnit)target, (Int16)s, (Int16)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")] public static unsafe void MultiTexCoord2(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")] public static void MultiTexCoord2(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")] public static void MultiTexCoord2(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dARB")] public static void MultiTexCoord3(TextureUnit target, Double s, Double t, Double r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3dARB((TextureUnit)target, (Double)s, (Double)t, (Double)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")] public static unsafe void MultiTexCoord3(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")] public static void MultiTexCoord3(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")] public static void MultiTexCoord3(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fARB")] public static void MultiTexCoord3(TextureUnit target, Single s, Single t, Single r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3fARB((TextureUnit)target, (Single)s, (Single)t, (Single)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")] public static void MultiTexCoord3(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")] public static unsafe void MultiTexCoord3(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")] public static void MultiTexCoord3(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3iARB")] public static void MultiTexCoord3(TextureUnit target, Int32 s, Int32 t, Int32 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3iARB((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")] public static unsafe void MultiTexCoord3(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")] public static void MultiTexCoord3(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")] public static void MultiTexCoord3(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3sARB")] public static void MultiTexCoord3(TextureUnit target, Int16 s, Int16 t, Int16 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3sARB((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")] public static unsafe void MultiTexCoord3(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")] public static void MultiTexCoord3(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")] public static void MultiTexCoord3(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dARB")] public static void MultiTexCoord4(TextureUnit target, Double s, Double t, Double r, Double q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4dARB((TextureUnit)target, (Double)s, (Double)t, (Double)r, (Double)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")] public static unsafe void MultiTexCoord4(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")] public static void MultiTexCoord4(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")] public static void MultiTexCoord4(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fARB")] public static void MultiTexCoord4(TextureUnit target, Single s, Single t, Single r, Single q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4fARB((TextureUnit)target, (Single)s, (Single)t, (Single)r, (Single)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")] public static void MultiTexCoord4(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")] public static unsafe void MultiTexCoord4(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")] public static void MultiTexCoord4(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4iARB")] public static void MultiTexCoord4(TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4iARB((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")] public static unsafe void MultiTexCoord4(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")] public static void MultiTexCoord4(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")] public static void MultiTexCoord4(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4sARB")] public static void MultiTexCoord4(TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4sARB((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")] public static unsafe void MultiTexCoord4(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")] public static void MultiTexCoord4(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")] public static void MultiTexCoord4(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")] public static unsafe void MultTransposeMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultTransposeMatrixdARB((Double*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")] public static void MultTransposeMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMultTransposeMatrixdARB((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")] public static void MultTransposeMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultTransposeMatrixdARB((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")] public static void MultTransposeMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultTransposeMatrixfARB((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")] public static unsafe void MultTransposeMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultTransposeMatrixfARB((Single*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")] public static void MultTransposeMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMultTransposeMatrixfARB((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfARB")] public static void PointParameter(ArbPointParameters pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfARB((ArbPointParameters)pname, (Single)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvARB")] public static unsafe void PointParameter(ArbPointParameters pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfvARB((ArbPointParameters)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvARB")] public static void PointParameter(ArbPointParameters pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvARB((ArbPointParameters)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")] public static void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")] public static void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glProgramParameteriARB")] public static void ProgramParameter(Int32 program, ArbGeometryShader4 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteriARB((UInt32)program, (ArbGeometryShader4)pname, (Int32)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glProgramParameteriARB")] public static void ProgramParameter(UInt32 program, ArbGeometryShader4 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteriARB((UInt32)program, (ArbGeometryShader4)pname, (Int32)value); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")] public static void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] ref T3 @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")] public static void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[,,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")] public static void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")] public static void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")] public static void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string); #if DEBUG } #endif } /// /// Specify multisample coverage parameters /// /// /// /// Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0. /// /// /// /// /// Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE. /// /// [AutoGenerated(Category = "ArbMultisample", Version = "1.2", EntryPoint = "glSampleCoverageARB")] public static void SampleCoverage(Single value, bool invert) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleCoverageARB((Single)value, (bool)invert); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")] public static unsafe void ShaderSource(Int32 shaderObj, Int32 count, String[] @string, Int32* length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")] public static void ShaderSource(Int32 shaderObj, Int32 count, String[] @string, ref Int32 length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length_ptr); } } #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")] public static unsafe void ShaderSource(UInt32 shaderObj, Int32 count, String[] @string, Int32* length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")] public static void ShaderSource(UInt32 shaderObj, Int32 count, String[] @string, ref Int32 length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureBufferObject", Version = "3.0", EntryPoint = "glTexBufferARB")] public static void TexBuffer(TextureTarget target, ArbTextureBufferObject internalformat, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBufferARB((TextureTarget)target, (ArbTextureBufferObject)internalformat, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureBufferObject", Version = "3.0", EntryPoint = "glTexBufferARB")] public static void TexBuffer(TextureTarget target, ArbTextureBufferObject internalformat, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBufferARB((TextureTarget)target, (ArbTextureBufferObject)internalformat, (UInt32)buffer); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fARB")] public static void Uniform1(Int32 location, Single v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1fARB((Int32)location, (Single)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")] public static void Uniform1(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")] public static unsafe void Uniform1(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")] public static void Uniform1(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1iARB")] public static void Uniform1(Int32 location, Int32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1iARB((Int32)location, (Int32)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")] public static unsafe void Uniform1(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")] public static void Uniform1(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")] public static void Uniform1(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fARB")] public static void Uniform2(Int32 location, Single v0, Single v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2fARB((Int32)location, (Single)v0, (Single)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")] public static void Uniform2(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")] public static unsafe void Uniform2(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")] public static void Uniform2(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2iARB")] public static void Uniform2(Int32 location, Int32 v0, Int32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2iARB((Int32)location, (Int32)v0, (Int32)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2ivARB")] public static unsafe void Uniform2(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2ivARB")] public static void Uniform2(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fARB")] public static void Uniform3(Int32 location, Single v0, Single v1, Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")] public static void Uniform3(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")] public static unsafe void Uniform3(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")] public static void Uniform3(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3iARB")] public static void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")] public static unsafe void Uniform3(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")] public static void Uniform3(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")] public static void Uniform3(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fARB")] public static void Uniform4(Int32 location, Single v0, Single v1, Single v2, Single v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")] public static void Uniform4(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")] public static unsafe void Uniform4(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")] public static void Uniform4(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4iARB")] public static void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")] public static unsafe void Uniform4(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")] public static void Uniform4(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")] public static void Uniform4(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")] public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")] public static unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")] public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")] public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")] public static unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")] public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")] public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")] public static unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")] public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glUnmapBufferARB")] public static bool UnmapBuffer(BufferTargetArb target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glUnmapBufferARB((BufferTargetArb)target); #if DEBUG } #endif } [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUseProgramObjectARB")] public static void UseProgramObject(Int32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUseProgramObjectARB((UInt32)programObj); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUseProgramObjectARB")] public static void UseProgramObject(UInt32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUseProgramObjectARB((UInt32)programObj); #if DEBUG } #endif } /// /// Validates a program object /// /// /// /// Specifies the handle of the program object to be validated. /// /// [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glValidateProgramARB")] public static void ValidateProgram(Int32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glValidateProgramARB((UInt32)programObj); #if DEBUG } #endif } /// /// Validates a program object /// /// /// /// Specifies the handle of the program object to be validated. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glValidateProgramARB")] public static void ValidateProgram(UInt32 programObj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glValidateProgramARB((UInt32)programObj); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dARB")] public static void VertexAttrib1(Int32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dARB")] public static void VertexAttrib1(UInt32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dvARB")] public static unsafe void VertexAttrib1(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dvARB")] public static unsafe void VertexAttrib1(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fARB")] public static void VertexAttrib1(Int32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fARB")] public static void VertexAttrib1(UInt32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fvARB")] public static unsafe void VertexAttrib1(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fvARB")] public static unsafe void VertexAttrib1(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1sARB")] public static void VertexAttrib1(Int32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1sARB")] public static void VertexAttrib1(UInt32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1svARB")] public static unsafe void VertexAttrib1(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1svARB")] public static unsafe void VertexAttrib1(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dARB")] public static void VertexAttrib2(Int32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dARB")] public static void VertexAttrib2(UInt32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static unsafe void VertexAttrib2(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static void VertexAttrib2(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static void VertexAttrib2(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static unsafe void VertexAttrib2(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static void VertexAttrib2(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")] public static void VertexAttrib2(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fARB")] public static void VertexAttrib2(Int32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fARB")] public static void VertexAttrib2(UInt32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static void VertexAttrib2(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static unsafe void VertexAttrib2(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static void VertexAttrib2(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static void VertexAttrib2(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static unsafe void VertexAttrib2(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")] public static void VertexAttrib2(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2sARB")] public static void VertexAttrib2(Int32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2sARB")] public static void VertexAttrib2(UInt32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static unsafe void VertexAttrib2(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static void VertexAttrib2(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static void VertexAttrib2(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static unsafe void VertexAttrib2(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static void VertexAttrib2(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")] public static void VertexAttrib2(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dARB")] public static void VertexAttrib3(Int32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dARB")] public static void VertexAttrib3(UInt32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static unsafe void VertexAttrib3(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static void VertexAttrib3(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static void VertexAttrib3(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static unsafe void VertexAttrib3(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static void VertexAttrib3(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")] public static void VertexAttrib3(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fARB")] public static void VertexAttrib3(Int32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fARB")] public static void VertexAttrib3(UInt32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static void VertexAttrib3(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static unsafe void VertexAttrib3(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static void VertexAttrib3(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static void VertexAttrib3(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static unsafe void VertexAttrib3(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")] public static void VertexAttrib3(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3sARB")] public static void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3sARB")] public static void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static unsafe void VertexAttrib3(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static void VertexAttrib3(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static void VertexAttrib3(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static unsafe void VertexAttrib3(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static void VertexAttrib3(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")] public static void VertexAttrib3(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")] public static void VertexAttrib4(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")] public static unsafe void VertexAttrib4(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")] public static void VertexAttrib4(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dARB")] public static void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dARB")] public static void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static unsafe void VertexAttrib4(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static void VertexAttrib4(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static void VertexAttrib4(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static unsafe void VertexAttrib4(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static void VertexAttrib4(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")] public static void VertexAttrib4(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fARB")] public static void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fARB")] public static void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static void VertexAttrib4(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static unsafe void VertexAttrib4(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static void VertexAttrib4(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static void VertexAttrib4(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static unsafe void VertexAttrib4(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")] public static void VertexAttrib4(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static unsafe void VertexAttrib4(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static void VertexAttrib4(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static void VertexAttrib4(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static unsafe void VertexAttrib4(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static void VertexAttrib4(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")] public static void VertexAttrib4(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")] public static void VertexAttrib4N(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")] public static unsafe void VertexAttrib4N(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")] public static void VertexAttrib4N(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static unsafe void VertexAttrib4N(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static void VertexAttrib4N(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static void VertexAttrib4N(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static unsafe void VertexAttrib4N(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static void VertexAttrib4N(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")] public static void VertexAttrib4N(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static unsafe void VertexAttrib4N(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static void VertexAttrib4N(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static void VertexAttrib4N(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static unsafe void VertexAttrib4N(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static void VertexAttrib4N(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")] public static void VertexAttrib4N(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubARB")] public static void VertexAttrib4N(Int32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubARB")] public static void VertexAttrib4N(UInt32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static unsafe void VertexAttrib4N(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static void VertexAttrib4N(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static void VertexAttrib4N(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static unsafe void VertexAttrib4N(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static void VertexAttrib4N(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")] public static void VertexAttrib4N(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")] public static void VertexAttrib4N(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")] public static unsafe void VertexAttrib4N(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")] public static void VertexAttrib4N(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")] public static void VertexAttrib4N(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")] public static unsafe void VertexAttrib4N(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")] public static void VertexAttrib4N(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4sARB")] public static void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4sARB")] public static void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static unsafe void VertexAttrib4(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static void VertexAttrib4(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static void VertexAttrib4(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static unsafe void VertexAttrib4(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static void VertexAttrib4(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")] public static void VertexAttrib4(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static unsafe void VertexAttrib4(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static void VertexAttrib4(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static void VertexAttrib4(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static unsafe void VertexAttrib4(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static void VertexAttrib4(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")] public static void VertexAttrib4(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")] public static void VertexAttrib4(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")] public static unsafe void VertexAttrib4(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")] public static void VertexAttrib4(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")] public static void VertexAttrib4(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")] public static unsafe void VertexAttrib4(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")] public static void VertexAttrib4(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbInstancedArrays", Version = "2.0", EntryPoint = "glVertexAttribDivisorARB")] public static void VertexAttribDivisor(Int32 index, Int32 divisor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribDivisorARB((UInt32)index, (UInt32)divisor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbInstancedArrays", Version = "2.0", EntryPoint = "glVertexAttribDivisorARB")] public static void VertexAttribDivisor(UInt32 index, UInt32 divisor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribDivisorARB((UInt32)index, (UInt32)divisor); #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] ref T5 pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] ref T5 pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glVertexBlendARB")] public static void VertexBlend(Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexBlendARB((Int32)count); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")] public static void Weight(Int32 size, ref SByte weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* weights_ptr = &weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")] public static unsafe void Weight(Int32 size, SByte* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightbvARB((Int32)size, (SByte*)weights); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")] public static void Weight(Int32 size, SByte[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* weights_ptr = weights) { Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")] public static unsafe void Weight(Int32 size, Double* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightdvARB((Int32)size, (Double*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")] public static void Weight(Int32 size, Double[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* weights_ptr = weights) { Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")] public static void Weight(Int32 size, ref Double weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* weights_ptr = &weights) { Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")] public static void Weight(Int32 size, ref Single weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")] public static unsafe void Weight(Int32 size, Single* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightfvARB((Int32)size, (Single*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")] public static void Weight(Int32 size, Single[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = weights) { Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")] public static unsafe void Weight(Int32 size, Int32* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightivARB((Int32)size, (Int32*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")] public static void Weight(Int32 size, Int32[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* weights_ptr = weights) { Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")] public static void Weight(Int32 size, ref Int32 weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* weights_ptr = &weights) { Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")] public static void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")] public static void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")] public static void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")] public static void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")] public static void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")] public static unsafe void Weight(Int32 size, Int16* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightsvARB((Int32)size, (Int16*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")] public static void Weight(Int32 size, Int16[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* weights_ptr = weights) { Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")] public static void Weight(Int32 size, ref Int16 weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* weights_ptr = &weights) { Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")] public static unsafe void Weight(Int32 size, Byte* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightubvARB((Int32)size, (Byte*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")] public static void Weight(Int32 size, Byte[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* weights_ptr = weights) { Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")] public static void Weight(Int32 size, ref Byte weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* weights_ptr = &weights) { Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")] public static void Weight(Int32 size, ref UInt32 weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* weights_ptr = &weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")] public static unsafe void Weight(Int32 size, UInt32* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightuivARB((Int32)size, (UInt32*)weights); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")] public static void Weight(Int32 size, UInt32[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* weights_ptr = weights) { Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")] public static void Weight(Int32 size, ref UInt16 weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* weights_ptr = &weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")] public static unsafe void Weight(Int32 size, UInt16* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWeightusvARB((Int32)size, (UInt16*)weights); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")] public static void Weight(Int32 size, UInt16[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* weights_ptr = weights) { Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dARB")] public static void WindowPos2(Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2dARB((Double)x, (Double)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")] public static unsafe void WindowPos2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2dvARB((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")] public static void WindowPos2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dvARB((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")] public static void WindowPos2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dvARB((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fARB")] public static void WindowPos2(Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2fARB((Single)x, (Single)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")] public static void WindowPos2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fvARB((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")] public static unsafe void WindowPos2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2fvARB((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")] public static void WindowPos2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fvARB((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2iARB")] public static void WindowPos2(Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2iARB((Int32)x, (Int32)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")] public static unsafe void WindowPos2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2ivARB((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")] public static void WindowPos2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2ivARB((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")] public static void WindowPos2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2ivARB((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2sARB")] public static void WindowPos2(Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2sARB((Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")] public static unsafe void WindowPos2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2svARB((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")] public static void WindowPos2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2svARB((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")] public static void WindowPos2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2svARB((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dARB")] public static void WindowPos3(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3dARB((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")] public static unsafe void WindowPos3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3dvARB((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")] public static void WindowPos3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dvARB((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")] public static void WindowPos3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dvARB((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fARB")] public static void WindowPos3(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3fARB((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")] public static void WindowPos3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fvARB((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")] public static unsafe void WindowPos3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3fvARB((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")] public static void WindowPos3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fvARB((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3iARB")] public static void WindowPos3(Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3iARB((Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")] public static unsafe void WindowPos3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3ivARB((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")] public static void WindowPos3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3ivARB((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")] public static void WindowPos3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3ivARB((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3sARB")] public static void WindowPos3(Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3sARB((Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")] public static unsafe void WindowPos3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3svARB((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")] public static void WindowPos3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3svARB((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")] public static void WindowPos3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3svARB((Int16*)v_ptr); } } #if DEBUG } #endif } } public static partial class Ati { [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp1ATI")] public static void AlphaFragmentOp1(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp1ATI")] public static void AlphaFragmentOp1(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp2ATI")] public static void AlphaFragmentOp2(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp2ATI")] public static void AlphaFragmentOp2(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp3ATI")] public static void AlphaFragmentOp3(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp3ATI")] public static void AlphaFragmentOp3(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glArrayObjectATI")] public static void ArrayObject(EnableCap array, Int32 size, AtiVertexArrayObject type, Int32 stride, Int32 buffer, Int32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glArrayObjectATI((EnableCap)array, (Int32)size, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glArrayObjectATI")] public static void ArrayObject(EnableCap array, Int32 size, AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glArrayObjectATI((EnableCap)array, (Int32)size, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBeginFragmentShaderATI")] public static void BeginFragmentShader() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginFragmentShaderATI(); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBindFragmentShaderATI")] public static void BindFragmentShader(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragmentShaderATI((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBindFragmentShaderATI")] public static void BindFragmentShader(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragmentShaderATI((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glClientActiveVertexStreamATI")] public static void ClientActiveVertexStream(AtiVertexStreams stream) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClientActiveVertexStreamATI((AtiVertexStreams)stream); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp1ATI")] public static void ColorFragmentOp1(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp1ATI")] public static void ColorFragmentOp1(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp2ATI")] public static void ColorFragmentOp2(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp2ATI")] public static void ColorFragmentOp2(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp3ATI")] public static void ColorFragmentOp3(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp3ATI")] public static void ColorFragmentOp3(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glDeleteFragmentShaderATI")] public static void DeleteFragmentShader(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFragmentShaderATI((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glDeleteFragmentShaderATI")] public static void DeleteFragmentShader(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFragmentShaderATI((UInt32)id); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")] public static unsafe void DrawBuffers(Int32 n, AtiDrawBuffers* bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")] public static void DrawBuffers(Int32 n, AtiDrawBuffers[] bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (AtiDrawBuffers* bufs_ptr = bufs) { Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs_ptr); } } #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")] public static void DrawBuffers(Int32 n, ref AtiDrawBuffers bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (AtiDrawBuffers* bufs_ptr = &bufs) { Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawElementArrayATI")] public static void DrawElementArray(BeginMode mode, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementArrayATI((BeginMode)mode, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayATI")] public static void DrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementArrayATI((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayATI")] public static void DrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementArrayATI((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")] public static void ElementPointer(AtiElementArray type, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")] public static void ElementPointer(AtiElementArray type, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")] public static void ElementPointer(AtiElementArray type, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")] public static void ElementPointer(AtiElementArray type, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")] public static void ElementPointer(AtiElementArray type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glEndFragmentShaderATI")] public static void EndFragmentShader() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndFragmentShaderATI(); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glFreeObjectBufferATI")] public static void FreeObjectBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFreeObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glFreeObjectBufferATI")] public static void FreeObjectBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFreeObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glGenFragmentShadersATI")] public static Int32 GenFragmentShaders(Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenFragmentShadersATI((UInt32)range); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glGenFragmentShadersATI")] public static Int32 GenFragmentShaders(UInt32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenFragmentShadersATI((UInt32)range); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectfvATI")] public static void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetArrayObjectfvATI((EnableCap)array, (AtiVertexArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectfvATI")] public static unsafe void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetArrayObjectfvATI((EnableCap)array, (AtiVertexArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectivATI")] public static unsafe void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetArrayObjectivATI((EnableCap)array, (AtiVertexArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectivATI")] public static void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetArrayObjectivATI((EnableCap)array, (AtiVertexArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")] public static void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")] public static unsafe void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")] public static void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")] public static unsafe void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")] public static unsafe void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")] public static void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")] public static unsafe void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")] public static void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")] public static void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] out Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* param_ptr = ¶m) { Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr); param = *param_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")] public static unsafe void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Single* param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")] public static void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Single[] param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* param_ptr = param) { Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")] public static unsafe void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Int32* param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")] public static void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Int32[] param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* param_ptr = param) { Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")] public static void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] out Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* param_ptr = ¶m) { Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr); param = *param_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")] public static void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")] public static unsafe void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")] public static void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")] public static unsafe void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")] public static unsafe void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")] public static void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")] public static unsafe void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")] public static void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static unsafe void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static unsafe void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")] public static void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static unsafe void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static unsafe void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")] public static void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glIsObjectBufferATI")] public static bool IsObjectBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glIsObjectBufferATI")] public static bool IsObjectBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glMapObjectBufferATI")] public static unsafe IntPtr MapObjectBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glMapObjectBufferATI")] public static unsafe IntPtr MapObjectBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")] public static Int32 NewObjectBuffer(Int32 size, [In, Out] ref T1 pointer, AtiVertexArrayObject usage) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")] public static Int32 NewObjectBuffer(Int32 size, [In, Out] T1[,,] pointer, AtiVertexArrayObject usage) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")] public static Int32 NewObjectBuffer(Int32 size, [In, Out] T1[,] pointer, AtiVertexArrayObject usage) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")] public static Int32 NewObjectBuffer(Int32 size, [In, Out] T1[] pointer, AtiVertexArrayObject usage) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")] public static Int32 NewObjectBuffer(Int32 size, IntPtr pointer, AtiVertexArrayObject usage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)usage); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bATI")] public static void NormalStream3(AtiVertexStreams stream, Byte nx, Byte ny, Byte nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3bATI((AtiVertexStreams)stream, (SByte)nx, (SByte)ny, (SByte)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bATI")] public static void NormalStream3(AtiVertexStreams stream, SByte nx, SByte ny, SByte nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3bATI((AtiVertexStreams)stream, (SByte)nx, (SByte)ny, (SByte)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, Byte* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static void NormalStream3(AtiVertexStreams stream, Byte[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* coords_ptr = coords) { Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static void NormalStream3(AtiVertexStreams stream, ref Byte coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* coords_ptr = &coords) { Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static void NormalStream3(AtiVertexStreams stream, ref SByte coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* coords_ptr = &coords) { Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, SByte* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")] public static void NormalStream3(AtiVertexStreams stream, SByte[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* coords_ptr = coords) { Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dATI")] public static void NormalStream3(AtiVertexStreams stream, Double nx, Double ny, Double nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3dATI((AtiVertexStreams)stream, (Double)nx, (Double)ny, (Double)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, Double* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")] public static void NormalStream3(AtiVertexStreams stream, Double[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = coords) { Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")] public static void NormalStream3(AtiVertexStreams stream, ref Double coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fATI")] public static void NormalStream3(AtiVertexStreams stream, Single nx, Single ny, Single nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3fATI((AtiVertexStreams)stream, (Single)nx, (Single)ny, (Single)nz); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")] public static void NormalStream3(AtiVertexStreams stream, ref Single coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, Single* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")] public static void NormalStream3(AtiVertexStreams stream, Single[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = coords) { Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3iATI")] public static void NormalStream3(AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3iATI((AtiVertexStreams)stream, (Int32)nx, (Int32)ny, (Int32)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, Int32* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")] public static void NormalStream3(AtiVertexStreams stream, Int32[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")] public static void NormalStream3(AtiVertexStreams stream, ref Int32 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3sATI")] public static void NormalStream3(AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3sATI((AtiVertexStreams)stream, (Int16)nx, (Int16)ny, (Int16)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")] public static unsafe void NormalStream3(AtiVertexStreams stream, Int16* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")] public static void NormalStream3(AtiVertexStreams stream, Int16[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")] public static void NormalStream3(AtiVertexStreams stream, ref Int16 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glPassTexCoordATI")] public static void PassTexCoor(Int32 dst, Int32 coord, AtiFragmentShader swizzle) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (AtiFragmentShader)swizzle); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glPassTexCoordATI")] public static void PassTexCoor(UInt32 dst, UInt32 coord, AtiFragmentShader swizzle) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (AtiFragmentShader)swizzle); #if DEBUG } #endif } [AutoGenerated(Category = "AtiPnTriangles", Version = "1.2", EntryPoint = "glPNTrianglesfATI")] public static void PNTriangles(AtiPnTriangles pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPNTrianglesfATI((AtiPnTriangles)pname, (Single)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiPnTriangles", Version = "1.2", EntryPoint = "glPNTrianglesiATI")] public static void PNTriangles(AtiPnTriangles pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPNTrianglesiATI((AtiPnTriangles)pname, (Int32)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSampleMapATI")] public static void SampleMap(Int32 dst, Int32 interp, AtiFragmentShader swizzle) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (AtiFragmentShader)swizzle); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSampleMapATI")] public static void SampleMap(UInt32 dst, UInt32 interp, AtiFragmentShader swizzle) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (AtiFragmentShader)swizzle); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static void SetFragmentShaderConstant(Int32 dst, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static unsafe void SetFragmentShaderConstant(Int32 dst, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static void SetFragmentShaderConstant(Int32 dst, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static void SetFragmentShaderConstant(UInt32 dst, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static unsafe void SetFragmentShaderConstant(UInt32 dst, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")] public static void SetFragmentShaderConstant(UInt32 dst, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Set front and/or back function and reference value for stencil testing /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilFuncSeparateATI")] public static void StencilFuncSeparate(StencilFunction frontfunc, StencilFunction backfunc, Int32 @ref, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFuncSeparateATI((StencilFunction)frontfunc, (StencilFunction)backfunc, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and/or back function and reference value for stencil testing /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilFuncSeparateATI")] public static void StencilFuncSeparate(StencilFunction frontfunc, StencilFunction backfunc, Int32 @ref, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFuncSeparateATI((StencilFunction)frontfunc, (StencilFunction)backfunc, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and/or back stencil test actions /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilOpSeparateATI")] public static void StencilOpSeparate(AtiSeparateStencil face, StencilOp sfail, StencilOp dpfail, StencilOp dppass) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilOpSeparateATI((AtiSeparateStencil)face, (StencilOp)sfail, (StencilOp)dpfail, (StencilOp)dppass); #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")] public static void TexBumpParameter(AtiEnvmapBumpmap pname, ref Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* param_ptr = ¶m) { Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")] public static unsafe void TexBumpParameter(AtiEnvmapBumpmap pname, Single* param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")] public static void TexBumpParameter(AtiEnvmapBumpmap pname, Single[] param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* param_ptr = param) { Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")] public static unsafe void TexBumpParameter(AtiEnvmapBumpmap pname, Int32* param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")] public static void TexBumpParameter(AtiEnvmapBumpmap pname, Int32[] param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* param_ptr = param) { Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")] public static void TexBumpParameter(AtiEnvmapBumpmap pname, ref Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* param_ptr = ¶m) { Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glUnmapObjectBufferATI")] public static void UnmapObjectBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUnmapObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glUnmapObjectBufferATI")] public static void UnmapObjectBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUnmapObjectBufferATI((UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, [In, Out] ref T3 pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[,,] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[,] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, IntPtr pointer, AtiVertexArrayObject preserve) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)preserve); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] ref T3 pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[,,] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[,] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[] pointer, AtiVertexArrayObject preserve) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")] public static void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, AtiVertexArrayObject preserve) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)preserve); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glVariantArrayObjectATI")] public static void VariantArrayObject(Int32 id, AtiVertexArrayObject type, Int32 stride, Int32 buffer, Int32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantArrayObjectATI((UInt32)id, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glVariantArrayObjectATI")] public static void VariantArrayObject(UInt32 id, AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantArrayObjectATI((UInt32)id, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glVertexAttribArrayObjectATI")] public static void VertexAttribArrayObject(Int32 index, Int32 size, AtiVertexAttribArrayObject type, bool normalized, Int32 stride, Int32 buffer, Int32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (AtiVertexAttribArrayObject)type, (bool)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glVertexAttribArrayObjectATI")] public static void VertexAttribArrayObject(UInt32 index, Int32 size, AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (AtiVertexAttribArrayObject)type, (bool)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexBlendEnvfATI")] public static void VertexBlendEnv(AtiVertexStreams pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexBlendEnvfATI((AtiVertexStreams)pname, (Single)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexBlendEnviATI")] public static void VertexBlendEnv(AtiVertexStreams pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexBlendEnviATI((AtiVertexStreams)pname, (Int32)param); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1dATI")] public static void VertexStream1(AtiVertexStreams stream, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1dATI((AtiVertexStreams)stream, (Double)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1dvATI")] public static unsafe void VertexStream1(AtiVertexStreams stream, Double* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1dvATI((AtiVertexStreams)stream, (Double*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1fATI")] public static void VertexStream1(AtiVertexStreams stream, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1fATI((AtiVertexStreams)stream, (Single)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1fvATI")] public static unsafe void VertexStream1(AtiVertexStreams stream, Single* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1fvATI((AtiVertexStreams)stream, (Single*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1iATI")] public static void VertexStream1(AtiVertexStreams stream, Int32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1iATI((AtiVertexStreams)stream, (Int32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1ivATI")] public static unsafe void VertexStream1(AtiVertexStreams stream, Int32* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1ivATI((AtiVertexStreams)stream, (Int32*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1sATI")] public static void VertexStream1(AtiVertexStreams stream, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1sATI((AtiVertexStreams)stream, (Int16)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1svATI")] public static unsafe void VertexStream1(AtiVertexStreams stream, Int16* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream1svATI((AtiVertexStreams)stream, (Int16*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dATI")] public static void VertexStream2(AtiVertexStreams stream, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2dATI((AtiVertexStreams)stream, (Double)x, (Double)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")] public static unsafe void VertexStream2(AtiVertexStreams stream, Double* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")] public static void VertexStream2(AtiVertexStreams stream, Double[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")] public static void VertexStream2(AtiVertexStreams stream, ref Double coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fATI")] public static void VertexStream2(AtiVertexStreams stream, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2fATI((AtiVertexStreams)stream, (Single)x, (Single)y); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")] public static void VertexStream2(AtiVertexStreams stream, ref Single coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")] public static unsafe void VertexStream2(AtiVertexStreams stream, Single* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")] public static void VertexStream2(AtiVertexStreams stream, Single[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2iATI")] public static void VertexStream2(AtiVertexStreams stream, Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")] public static unsafe void VertexStream2(AtiVertexStreams stream, Int32* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")] public static void VertexStream2(AtiVertexStreams stream, Int32[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")] public static void VertexStream2(AtiVertexStreams stream, ref Int32 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2sATI")] public static void VertexStream2(AtiVertexStreams stream, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")] public static unsafe void VertexStream2(AtiVertexStreams stream, Int16* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")] public static void VertexStream2(AtiVertexStreams stream, Int16[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")] public static void VertexStream2(AtiVertexStreams stream, ref Int16 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dATI")] public static void VertexStream3(AtiVertexStreams stream, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3dATI((AtiVertexStreams)stream, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")] public static unsafe void VertexStream3(AtiVertexStreams stream, Double* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")] public static void VertexStream3(AtiVertexStreams stream, Double[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")] public static void VertexStream3(AtiVertexStreams stream, ref Double coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fATI")] public static void VertexStream3(AtiVertexStreams stream, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3fATI((AtiVertexStreams)stream, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")] public static void VertexStream3(AtiVertexStreams stream, ref Single coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")] public static unsafe void VertexStream3(AtiVertexStreams stream, Single* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")] public static void VertexStream3(AtiVertexStreams stream, Single[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3iATI")] public static void VertexStream3(AtiVertexStreams stream, Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")] public static unsafe void VertexStream3(AtiVertexStreams stream, Int32* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")] public static void VertexStream3(AtiVertexStreams stream, Int32[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")] public static void VertexStream3(AtiVertexStreams stream, ref Int32 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3sATI")] public static void VertexStream3(AtiVertexStreams stream, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")] public static unsafe void VertexStream3(AtiVertexStreams stream, Int16* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")] public static void VertexStream3(AtiVertexStreams stream, Int16[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")] public static void VertexStream3(AtiVertexStreams stream, ref Int16 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dATI")] public static void VertexStream4(AtiVertexStreams stream, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4dATI((AtiVertexStreams)stream, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")] public static unsafe void VertexStream4(AtiVertexStreams stream, Double* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")] public static void VertexStream4(AtiVertexStreams stream, Double[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = coords) { Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")] public static void VertexStream4(AtiVertexStreams stream, ref Double coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* coords_ptr = &coords) { Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fATI")] public static void VertexStream4(AtiVertexStreams stream, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4fATI((AtiVertexStreams)stream, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")] public static void VertexStream4(AtiVertexStreams stream, ref Single coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = &coords) { Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")] public static unsafe void VertexStream4(AtiVertexStreams stream, Single* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")] public static void VertexStream4(AtiVertexStreams stream, Single[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* coords_ptr = coords) { Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4iATI")] public static void VertexStream4(AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")] public static unsafe void VertexStream4(AtiVertexStreams stream, Int32* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")] public static void VertexStream4(AtiVertexStreams stream, Int32[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = coords) { Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")] public static void VertexStream4(AtiVertexStreams stream, ref Int32 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* coords_ptr = &coords) { Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4sATI")] public static void VertexStream4(AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")] public static unsafe void VertexStream4(AtiVertexStreams stream, Int16* coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords); #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")] public static void VertexStream4(AtiVertexStreams stream, Int16[] coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = coords) { Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")] public static void VertexStream4(AtiVertexStreams stream, ref Int16 coords) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* coords_ptr = &coords) { Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords_ptr); } } #if DEBUG } #endif } } /// /// Operate on the accumulation buffer /// /// /// /// Specifies the accumulation buffer operation. Symbolic constants GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN are accepted. /// /// /// /// /// Specifies a floating-point value used in the accumulation buffer operation. op determines how value is used. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glAccum")] public static void Accum(AccumOp op, Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAccum((AccumOp)op, (Single)value); #if DEBUG } #endif } /// /// Select active texture unit /// /// /// /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glActiveTexture")] public static void ActiveTexture(TextureUnit texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glActiveTexture((TextureUnit)texture); #if DEBUG } #endif } /// /// Specify the alpha test function /// /// /// /// Specifies the alpha comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value that incoming alpha values are compared to. This value is clamped to the range [0,1], where 0 represents the lowest possible alpha value and 1 the highest possible value. The initial reference value is 0. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glAlphaFunc")] public static void AlphaFunc(AlphaFunction func, Single @ref) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAlphaFunc((AlphaFunction)func, (Single)@ref); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static unsafe bool AreTexturesResident(Int32 n, Int32* textures, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (bool*)residences); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static bool AreTexturesResident(Int32 n, Int32[] textures, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) fixed (bool* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static bool AreTexturesResident(Int32 n, ref Int32 textures, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static bool AreTexturesResident(Int32 n, ref UInt32 textures, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (bool*)residences); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")] public static bool AreTexturesResident(Int32 n, UInt32[] textures, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) fixed (bool* residences_ptr = residences) { return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } /// /// Render a vertex using the specified vertex array element /// /// /// /// Specifies an index into the enabled vertex data arrays. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glArrayElement")] public static void ArrayElement(Int32 i) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glArrayElement((Int32)i); #if DEBUG } #endif } /// /// Attaches a shader object to a program object /// /// /// /// Specifies the program object to which a shader object will be attached. /// /// /// /// /// Specifies the shader object that is to be attached. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glAttachShader")] public static void AttachShader(Int32 program, Int32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAttachShader((UInt32)program, (UInt32)shader); #if DEBUG } #endif } /// /// Attaches a shader object to a program object /// /// /// /// Specifies the program object to which a shader object will be attached. /// /// /// /// /// Specifies the shader object that is to be attached. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glAttachShader")] public static void AttachShader(UInt32 program, UInt32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAttachShader((UInt32)program, (UInt32)shader); #if DEBUG } #endif } /// /// Delimit the vertices of a primitive or a group of like primitives /// /// /// /// Specifies the primitive or primitives that will be created from vertices presented between glBegin and the subsequent glEnd. Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBegin")] public static void Begin(BeginMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { GraphicsContext.CurrentContext.ErrorChecking = false; #endif Delegates.glBegin((BeginMode)mode); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginConditionalRender")] public static void BeginConditionalRender(Int32 id, ConditionalRenderType mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginConditionalRender((UInt32)id, (ConditionalRenderType)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginConditionalRender")] public static void BeginConditionalRender(UInt32 id, ConditionalRenderType mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginConditionalRender((UInt32)id, (ConditionalRenderType)mode); #if DEBUG } #endif } /// /// Delimit the boundaries of a query object /// /// /// /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the name of a query object. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBeginQuery")] public static void BeginQuery(QueryTarget target, Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginQuery((QueryTarget)target, (UInt32)id); #if DEBUG } #endif } /// /// Delimit the boundaries of a query object /// /// /// /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the name of a query object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBeginQuery")] public static void BeginQuery(QueryTarget target, UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginQuery((QueryTarget)target, (UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginTransformFeedback")] public static void BeginTransformFeedback(BeginFeedbackMode primitiveMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginTransformFeedback((BeginFeedbackMode)primitiveMode); #if DEBUG } #endif } /// /// Associates a generic vertex attribute index with a named attribute variable /// /// /// /// Specifies the handle of the program object in which the association is to be made. /// /// /// /// /// Specifies the index of the generic vertex attribute to be bound. /// /// /// /// /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBindAttribLocation")] public static void BindAttribLocation(Int32 program, Int32 index, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (String)name); #if DEBUG } #endif } /// /// Associates a generic vertex attribute index with a named attribute variable /// /// /// /// Specifies the handle of the program object in which the association is to be made. /// /// /// /// /// Specifies the index of the generic vertex attribute to be bound. /// /// /// /// /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBindAttribLocation")] public static void BindAttribLocation(UInt32 program, UInt32 index, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (String)name); #if DEBUG } #endif } /// /// Bind a named buffer object /// /// /// /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the name of a buffer object. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBindBuffer")] public static void BindBuffer(BufferTarget target, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBuffer((BufferTarget)target, (UInt32)buffer); #if DEBUG } #endif } /// /// Bind a named buffer object /// /// /// /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the name of a buffer object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBindBuffer")] public static void BindBuffer(BufferTarget target, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBuffer((BufferTarget)target, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferBase")] public static void BindBufferBase(BufferTarget target, Int32 index, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBase((BufferTarget)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferBase")] public static void BindBufferBase(BufferTarget target, UInt32 index, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBase((BufferTarget)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferRange")] public static void BindBufferRange(BufferTarget target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRange((BufferTarget)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferRange")] public static void BindBufferRange(BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRange((BufferTarget)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindFragDataLocation")] public static void BindFragDataLocation(Int32 program, Int32 color, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragDataLocation((UInt32)program, (UInt32)color, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindFragDataLocation")] public static void BindFragDataLocation(UInt32 program, UInt32 color, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragDataLocation((UInt32)program, (UInt32)color, (String)name); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindFramebuffer")] public static void BindFramebuffer(FramebufferTarget target, Int32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFramebuffer((FramebufferTarget)target, (UInt32)framebuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindFramebuffer")] public static void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFramebuffer((FramebufferTarget)target, (UInt32)framebuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindRenderbuffer")] public static void BindRenderbuffer(RenderbufferTarget target, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindRenderbuffer((RenderbufferTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindRenderbuffer")] public static void BindRenderbuffer(RenderbufferTarget target, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindRenderbuffer((RenderbufferTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } /// /// Bind a named texture to a texturing target /// /// /// /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the name of a texture. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glBindTexture")] public static void BindTexture(TextureTarget target, Int32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTexture((TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } /// /// Bind a named texture to a texturing target /// /// /// /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the name of a texture. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glBindTexture")] public static void BindTexture(TextureTarget target, UInt32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTexture((TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glBindVertexArray")] public static void BindVertexArray(Int32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexArray((UInt32)array); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glBindVertexArray")] public static void BindVertexArray(UInt32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexArray((UInt32)array); #if DEBUG } #endif } /// /// Draw a bitmap /// /// /// /// Specify the pixel width and height of the bitmap image. /// /// /// /// /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. /// /// /// /// /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. /// /// /// /// /// Specifies the address of the bitmap image. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")] public static unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap); #if DEBUG } #endif } /// /// Draw a bitmap /// /// /// /// Specify the pixel width and height of the bitmap image. /// /// /// /// /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. /// /// /// /// /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. /// /// /// /// /// Specifies the address of the bitmap image. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")] public static void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte[] bitmap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* bitmap_ptr = bitmap) { Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr); } } #if DEBUG } #endif } /// /// Draw a bitmap /// /// /// /// Specify the pixel width and height of the bitmap image. /// /// /// /// /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes. /// /// /// /// /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn. /// /// /// /// /// Specifies the address of the bitmap image. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")] public static void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, ref Byte bitmap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* bitmap_ptr = &bitmap) { Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr); } } #if DEBUG } #endif } /// /// Set the blend color /// /// /// /// specify the components of GL_BLEND_COLOR /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glBlendColor")] public static void BlendColor(Single red, Single green, Single blue, Single alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendColor((Single)red, (Single)green, (Single)blue, (Single)alpha); #if DEBUG } #endif } /// /// Specify the equation used for both the RGB blend equation and the Alpha blend equation /// /// /// /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glBlendEquation")] public static void BlendEquation(BlendEquationMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquation((BlendEquationMode)mode); #if DEBUG } #endif } /// /// Specify the equation used for both the RGB blend equation and the Alpha blend equation /// /// /// /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationi")] public static void BlendEquation(Int32 buf, ArbDrawBuffersBlend mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationi((UInt32)buf, (ArbDrawBuffersBlend)mode); #if DEBUG } #endif } /// /// Specify the equation used for both the RGB blend equation and the Alpha blend equation /// /// /// /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationi")] public static void BlendEquation(UInt32 buf, ArbDrawBuffersBlend mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationi((UInt32)buf, (ArbDrawBuffersBlend)mode); #if DEBUG } #endif } /// /// Set the RGB blend equation and the alpha blend equation separately /// /// /// /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// /// /// /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBlendEquationSeparate")] public static void BlendEquationSeparate(BlendEquationMode modeRGB, BlendEquationMode modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparate((BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha); #if DEBUG } #endif } /// /// Set the RGB blend equation and the alpha blend equation separately /// /// /// /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// /// /// /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationSeparatei")] public static void BlendEquationSeparate(Int32 buf, BlendEquationMode modeRGB, BlendEquationMode modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparatei((UInt32)buf, (BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha); #if DEBUG } #endif } /// /// Set the RGB blend equation and the alpha blend equation separately /// /// /// /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// /// /// /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationSeparatei")] public static void BlendEquationSeparate(UInt32 buf, BlendEquationMode modeRGB, BlendEquationMode modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparatei((UInt32)buf, (BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha); #if DEBUG } #endif } /// /// Specify pixel arithmetic /// /// /// /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glBlendFunc")] public static void BlendFunc(BlendingFactorSrc sfactor, BlendingFactorDest dfactor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFunc((BlendingFactorSrc)sfactor, (BlendingFactorDest)dfactor); #if DEBUG } #endif } /// /// Specify pixel arithmetic /// /// /// /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFunci")] public static void BlendFunc(Int32 buf, ArbDrawBuffersBlend src, ArbDrawBuffersBlend dst) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFunci((UInt32)buf, (ArbDrawBuffersBlend)src, (ArbDrawBuffersBlend)dst); #if DEBUG } #endif } /// /// Specify pixel arithmetic /// /// /// /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFunci")] public static void BlendFunc(UInt32 buf, ArbDrawBuffersBlend src, ArbDrawBuffersBlend dst) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFunci((UInt32)buf, (ArbDrawBuffersBlend)src, (ArbDrawBuffersBlend)dst); #if DEBUG } #endif } /// /// Specify pixel arithmetic for RGB and alpha components separately /// /// /// /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// /// /// /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. /// /// /// /// /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glBlendFuncSeparate")] public static void BlendFuncSeparate(BlendingFactorSrc sfactorRGB, BlendingFactorDest dfactorRGB, BlendingFactorSrc sfactorAlpha, BlendingFactorDest dfactorAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparate((BlendingFactorSrc)sfactorRGB, (BlendingFactorDest)dfactorRGB, (BlendingFactorSrc)sfactorAlpha, (BlendingFactorDest)dfactorAlpha); #if DEBUG } #endif } /// /// Specify pixel arithmetic for RGB and alpha components separately /// /// /// /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// /// /// /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. /// /// /// /// /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFuncSeparatei")] public static void BlendFuncSeparate(Int32 buf, ArbDrawBuffersBlend srcRGB, ArbDrawBuffersBlend dstRGB, ArbDrawBuffersBlend srcAlpha, ArbDrawBuffersBlend dstAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparatei((UInt32)buf, (ArbDrawBuffersBlend)srcRGB, (ArbDrawBuffersBlend)dstRGB, (ArbDrawBuffersBlend)srcAlpha, (ArbDrawBuffersBlend)dstAlpha); #if DEBUG } #endif } /// /// Specify pixel arithmetic for RGB and alpha components separately /// /// /// /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// /// /// /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. /// /// /// /// /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFuncSeparatei")] public static void BlendFuncSeparate(UInt32 buf, ArbDrawBuffersBlend srcRGB, ArbDrawBuffersBlend dstRGB, ArbDrawBuffersBlend srcAlpha, ArbDrawBuffersBlend dstAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparatei((UInt32)buf, (ArbDrawBuffersBlend)srcRGB, (ArbDrawBuffersBlend)dstRGB, (ArbDrawBuffersBlend)srcAlpha, (ArbDrawBuffersBlend)dstAlpha); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBlitFramebuffer")] public static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, BlitFramebufferFilter filter) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlitFramebuffer((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (ClearBufferMask)mask, (BlitFramebufferFilter)filter); #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")] public static void BufferData(BufferTarget target, IntPtr size, [In, Out] ref T2 data, BufferUsageHint usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")] public static void BufferData(BufferTarget target, IntPtr size, [In, Out] T2[,,] data, BufferUsageHint usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")] public static void BufferData(BufferTarget target, IntPtr size, [In, Out] T2[,] data, BufferUsageHint usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")] public static void BufferData(BufferTarget target, IntPtr size, [In, Out] T2[] data, BufferUsageHint usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Creates and initializes a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the size in bytes of the buffer object's new data store. /// /// /// /// /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied. /// /// /// /// /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")] public static void BufferData(BufferTarget target, IntPtr size, IntPtr data, BufferUsageHint usage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data, (BufferUsageHint)usage); #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")] public static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")] public static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")] public static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")] public static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Updates a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being replaced. /// /// /// /// /// Specifies a pointer to the new data that will be copied into the data store. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")] public static void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } /// /// Execute a display list /// /// /// /// Specifies the integer name of the display list to be executed. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallList")] public static void CallList(Int32 list) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCallList((UInt32)list); #if DEBUG } #endif } /// /// Execute a display list /// /// /// /// Specifies the integer name of the display list to be executed. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallList")] public static void CallList(UInt32 list) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCallList((UInt32)list); #if DEBUG } #endif } /// /// Execute a list of display lists /// /// /// /// Specifies the number of display lists to be executed. /// /// /// /// /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. /// /// /// /// /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")] public static void CallLists(Int32 n, ListNameType type, [In, Out] ref T2 lists) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned); try { Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject()); } finally { lists_ptr.Free(); } #if DEBUG } #endif } /// /// Execute a list of display lists /// /// /// /// Specifies the number of display lists to be executed. /// /// /// /// /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. /// /// /// /// /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")] public static void CallLists(Int32 n, ListNameType type, [In, Out] T2[,,] lists) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned); try { Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject()); } finally { lists_ptr.Free(); } #if DEBUG } #endif } /// /// Execute a list of display lists /// /// /// /// Specifies the number of display lists to be executed. /// /// /// /// /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. /// /// /// /// /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")] public static void CallLists(Int32 n, ListNameType type, [In, Out] T2[,] lists) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned); try { Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject()); } finally { lists_ptr.Free(); } #if DEBUG } #endif } /// /// Execute a list of display lists /// /// /// /// Specifies the number of display lists to be executed. /// /// /// /// /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. /// /// /// /// /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")] public static void CallLists(Int32 n, ListNameType type, [In, Out] T2[] lists) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned); try { Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject()); } finally { lists_ptr.Free(); } #if DEBUG } #endif } /// /// Execute a list of display lists /// /// /// /// Specifies the number of display lists to be executed. /// /// /// /// /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted. /// /// /// /// /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")] public static void CallLists(Int32 n, ListNameType type, IntPtr lists) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glCheckFramebufferStatus")] public static FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCheckFramebufferStatus((FramebufferTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClampColor")] public static void ClampColor(ClampColorTarget target, ClampColorMode clamp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClampColor((ClampColorTarget)target, (ClampColorMode)clamp); #if DEBUG } #endif } /// /// Clear buffers to preset values /// /// /// /// Bitwise OR of masks that indicate the buffers to be cleared. The four masks are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClear")] public static void Clear(ClearBufferMask mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClear((ClearBufferMask)mask); #if DEBUG } #endif } /// /// Specify clear values for the accumulation buffer /// /// /// /// Specify the red, green, blue, and alpha values used when the accumulation buffer is cleared. The initial values are all 0. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClearAccum")] public static void ClearAccum(Single red, Single green, Single blue, Single alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearAccum((Single)red, (Single)green, (Single)blue, (Single)alpha); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfi")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearBufferfi((ClearBuffer)buffer, (Int32)drawbuffer, (Single)depth, (Int32)stencil); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")] public static unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")] public static unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")] public static unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")] public static void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify clear values for the color buffers /// /// /// /// Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearColor")] public static void ClearColor(Single red, Single green, Single blue, Single alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearColor((Single)red, (Single)green, (Single)blue, (Single)alpha); #if DEBUG } #endif } /// /// Specify the clear value for the depth buffer /// /// /// /// Specifies the depth value used when the depth buffer is cleared. The initial value is 1. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearDepth")] public static void ClearDepth(Double depth) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearDepth((Double)depth); #if DEBUG } #endif } /// /// Specify the clear value for the color index buffers /// /// /// /// Specifies the index used when the color index buffers are cleared. The initial value is 0. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClearIndex")] public static void ClearIndex(Single c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearIndex((Single)c); #if DEBUG } #endif } /// /// Specify the clear value for the stencil buffer /// /// /// /// Specifies the index used when the stencil buffer is cleared. The initial value is 0. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearStencil")] public static void ClearStencil(Int32 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearStencil((Int32)s); #if DEBUG } #endif } /// /// Select active texture unit /// /// /// /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glClientActiveTexture")] public static void ClientActiveTexture(TextureUnit texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClientActiveTexture((TextureUnit)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glClientWaitSync")] public static ArbSync ClientWaitSync(IntPtr sync, Int32 flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glClientWaitSync")] public static ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); #if DEBUG } #endif } /// /// Specify a plane against which all geometry is clipped /// /// /// /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. /// /// /// /// /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")] public static unsafe void ClipPlane(ClipPlaneName plane, Double* equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation); #if DEBUG } #endif } /// /// Specify a plane against which all geometry is clipped /// /// /// /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. /// /// /// /// /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")] public static void ClipPlane(ClipPlaneName plane, Double[] equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = equation) { Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation_ptr); } } #if DEBUG } #endif } /// /// Specify a plane against which all geometry is clipped /// /// /// /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted. /// /// /// /// /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")] public static void ClipPlane(ClipPlaneName plane, ref Double equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3b")] public static void Color3(SByte red, SByte green, SByte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")] public static void Color3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glColor3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")] public static unsafe void Color3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3bv((SByte*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")] public static void Color3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glColor3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3d")] public static void Color3(Double red, Double green, Double blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3d((Double)red, (Double)green, (Double)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")] public static unsafe void Color3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3dv((Double*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")] public static void Color3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glColor3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")] public static void Color3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glColor3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3f")] public static void Color3(Single red, Single green, Single blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3f((Single)red, (Single)green, (Single)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")] public static void Color3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")] public static unsafe void Color3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3fv((Single*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")] public static void Color3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glColor3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3i")] public static void Color3(Int32 red, Int32 green, Int32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3i((Int32)red, (Int32)green, (Int32)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")] public static unsafe void Color3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")] public static void Color3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")] public static void Color3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3s")] public static void Color3(Int16 red, Int16 green, Int16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3s((Int16)red, (Int16)green, (Int16)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")] public static unsafe void Color3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")] public static void Color3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")] public static void Color3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ub")] public static void Color3(Byte red, Byte green, Byte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3ub((Byte)red, (Byte)green, (Byte)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")] public static unsafe void Color3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3ubv((Byte*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")] public static void Color3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor3ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")] public static void Color3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor3ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ui")] public static void Color3(UInt32 red, UInt32 green, UInt32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")] public static void Color3(ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")] public static unsafe void Color3(UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3uiv((UInt32*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")] public static void Color3(UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glColor3uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3us")] public static void Color3(UInt16 red, UInt16 green, UInt16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")] public static void Color3(ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor3usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")] public static unsafe void Color3(UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3usv((UInt16*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")] public static void Color3(UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor3usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4b")] public static void Color4(SByte red, SByte green, SByte blue, SByte alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")] public static void Color4(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glColor4bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")] public static unsafe void Color4(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4bv((SByte*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")] public static void Color4(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glColor4bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4d")] public static void Color4(Double red, Double green, Double blue, Double alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4d((Double)red, (Double)green, (Double)blue, (Double)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")] public static unsafe void Color4(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4dv((Double*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")] public static void Color4(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glColor4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")] public static void Color4(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glColor4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4f")] public static void Color4(Single red, Single green, Single blue, Single alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4f((Single)red, (Single)green, (Single)blue, (Single)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")] public static void Color4(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glColor4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")] public static unsafe void Color4(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4fv((Single*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")] public static void Color4(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glColor4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4i")] public static void Color4(Int32 red, Int32 green, Int32 blue, Int32 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4i((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")] public static unsafe void Color4(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")] public static void Color4(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glColor4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")] public static void Color4(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glColor4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4s")] public static void Color4(Int16 red, Int16 green, Int16 blue, Int16 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4s((Int16)red, (Int16)green, (Int16)blue, (Int16)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")] public static unsafe void Color4(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")] public static void Color4(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glColor4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")] public static void Color4(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glColor4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ub")] public static void Color4(Byte red, Byte green, Byte blue, Byte alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ub((Byte)red, (Byte)green, (Byte)blue, (Byte)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")] public static unsafe void Color4(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ubv((Byte*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")] public static void Color4(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glColor4ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")] public static void Color4(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glColor4ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ui")] public static void Color4(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")] public static void Color4(ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")] public static unsafe void Color4(UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4uiv((UInt32*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")] public static void Color4(UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glColor4uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4us")] public static void Color4(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")] public static void Color4(ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glColor4usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")] public static unsafe void Color4(UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4usv((UInt16*)v); #if DEBUG } #endif } /// /// Set the current color /// /// /// /// Specify new red, green, and blue values for the current color. /// /// /// /// /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")] public static void Color4(UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glColor4usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Enable and disable writing of frame buffer color components /// /// /// /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glColorMask")] public static void ColorMask(bool red, bool green, bool blue, bool alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMask((bool)red, (bool)green, (bool)blue, (bool)alpha); #if DEBUG } #endif } /// /// Enable and disable writing of frame buffer color components /// /// /// /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. /// /// [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glColorMaski")] public static void ColorMask(Int32 index, bool r, bool g, bool b, bool a) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMaski((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a); #if DEBUG } #endif } /// /// Enable and disable writing of frame buffer color components /// /// /// /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glColorMaski")] public static void ColorMask(UInt32 index, bool r, bool g, bool b, bool a) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMaski((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a); #if DEBUG } #endif } /// /// Cause a material color to track the current color /// /// /// /// Specifies whether front, back, or both front and back material parameters should track the current color. Accepted values are GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. The initial value is GL_FRONT_AND_BACK. /// /// /// /// /// Specifies which of several material parameters track the current color. Accepted values are GL_EMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, and GL_AMBIENT_AND_DIFFUSE. The initial value is GL_AMBIENT_AND_DIFFUSE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColorMaterial")] public static void ColorMaterial(MaterialFace face, ColorMaterialParameter mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMaterial((MaterialFace)face, (ColorMaterialParameter)mode); #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] ref T5 data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,,] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data); #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr table) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table); #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")] public static void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")] public static unsafe void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")] public static void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")] public static unsafe void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")] public static void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")] public static void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Compiles a shader object /// /// /// /// Specifies the shader object to be compiled. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCompileShader")] public static void CompileShader(Int32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompileShader((UInt32)shader); #if DEBUG } #endif } /// /// Compiles a shader object /// /// /// /// Specifies the shader object to be compiled. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCompileShader")] public static void CompileShader(UInt32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompileShader((UInt32)shader); #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T6 data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")] public static void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T7 data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,,] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[] data) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")] public static void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T8 data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")] public static void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T6 data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[] data) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")] public static void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T8 data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[] data) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")] public static void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T10 data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,,] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[] data) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage in a compressed format /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the compressed image data stored at address data. /// /// /// /// /// Specifies the number of unsigned bytes of image data starting at the address specified by data. /// /// /// /// /// Specifies a pointer to the compressed image data in memory. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")] public static void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data); #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")] public static void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")] public static void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")] public static void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")] public static void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")] public static void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")] public static void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")] public static void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")] public static void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")] public static void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")] public static void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterf")] public static void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameterf((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterfv")] public static unsafe void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameterfv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterfv")] public static void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glConvolutionParameterfv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteri")] public static void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameteri((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteriv")] public static unsafe void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameteriv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteriv")] public static void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glConvolutionParameteriv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbCopyBuffer", Version = "3.0", EntryPoint = "glCopyBufferSubData")] public static void CopyBufferSubData(BufferTarget readTarget, BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyBufferSubData((BufferTarget)readTarget, (BufferTarget)writeTarget, (IntPtr)readOffset, (IntPtr)writeOffset, (IntPtr)size); #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// The number of table entries to replace. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyColorSubTable")] public static void CopyColorSubTable(ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy pixels into a color table /// /// /// /// The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. /// /// /// /// /// The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. /// /// /// /// /// The width of the pixel rectangle. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyColorTable")] public static void CopyColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy pixels into a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The window space coordinates of the lower-left coordinate of the pixel array to copy. /// /// /// /// /// The width of the pixel array to copy. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyConvolutionFilter1D")] public static void CopyConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy pixels into a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The window space coordinates of the lower-left coordinate of the pixel array to copy. /// /// /// /// /// The width of the pixel array to copy. /// /// /// /// /// The height of the pixel array to copy. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyConvolutionFilter2D")] public static void CopyConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Copy pixels in the frame buffer /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specify the dimensions of the rectangular region of pixels to be copied. Both must be nonnegative. /// /// /// /// /// Specifies whether color values, depth values, or stencil values are to be copied. Symbolic constants GL_COLOR, GL_DEPTH, and GL_STENCIL are accepted. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCopyPixels")] public static void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelCopyType type) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelCopyType)type); #if DEBUG } #endif } /// /// Copy pixels into a 1D texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specify the window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexImage1D")] public static void CopyTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); #if DEBUG } #endif } /// /// Copy pixels into a 2D texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . /// /// /// /// /// Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer . /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexImage2D")] public static void CopyTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); #if DEBUG } #endif } /// /// Copy a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the texel offset within the texture array. /// /// /// /// /// Specify the window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexSubImage1D")] public static void CopyTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexSubImage2D")] public static void CopyTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Copy a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glCopyTexSubImage3D")] public static void CopyTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Creates a program object /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCreateProgram")] public static Int32 CreateProgram() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCreateProgram(); #if DEBUG } #endif } /// /// Creates a shader object /// /// /// /// Specifies the type of shader to be created. Must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCreateShader")] public static Int32 CreateShader(ShaderType type) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCreateShader((ShaderType)type); #if DEBUG } #endif } /// /// Specify whether front- or back-facing facets can be culled /// /// /// /// Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. The initial value is GL_BACK. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glCullFace")] public static void CullFace(CullFaceMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCullFace((CullFaceMode)mode); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static unsafe void DeleteBuffers(Int32 n, Int32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static void DeleteBuffers(Int32 n, Int32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static void DeleteBuffers(Int32 n, ref Int32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static void DeleteBuffers(Int32 n, ref UInt32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static unsafe void DeleteBuffers(Int32 n, UInt32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Delete named buffer objects /// /// /// /// Specifies the number of buffer objects to be deleted. /// /// /// /// /// Specifies an array of buffer objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")] public static void DeleteBuffers(Int32 n, UInt32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static void DeleteFramebuffers(Int32 n, Int32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static void DeleteFramebuffers(Int32 n, ref Int32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static void DeleteFramebuffers(Int32 n, ref UInt32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")] public static void DeleteFramebuffers(Int32 n, UInt32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } /// /// Delete a contiguous group of display lists /// /// /// /// Specifies the integer name of the first display list to delete. /// /// /// /// /// Specifies the number of display lists to delete. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDeleteLists")] public static void DeleteLists(Int32 list, Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteLists((UInt32)list, (Int32)range); #if DEBUG } #endif } /// /// Delete a contiguous group of display lists /// /// /// /// Specifies the integer name of the first display list to delete. /// /// /// /// /// Specifies the number of display lists to delete. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDeleteLists")] public static void DeleteLists(UInt32 list, Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteLists((UInt32)list, (Int32)range); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteProgram")] public static void DeleteProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgram((UInt32)program); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteProgram")] public static void DeleteProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgram((UInt32)program); #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static unsafe void DeleteQueries(Int32 n, Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteQueries((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static void DeleteQueries(Int32 n, Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static void DeleteQueries(Int32 n, ref Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static void DeleteQueries(Int32 n, ref UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static unsafe void DeleteQueries(Int32 n, UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteQueries((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Delete named query objects /// /// /// /// Specifies the number of query objects to be deleted. /// /// /// /// /// Specifies an array of query objects to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")] public static void DeleteQueries(Int32 n, UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static unsafe void DeleteRenderbuffers(Int32 n, Int32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static void DeleteRenderbuffers(Int32 n, Int32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static void DeleteRenderbuffers(Int32 n, ref Int32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static void DeleteRenderbuffers(Int32 n, ref UInt32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")] public static void DeleteRenderbuffers(Int32 n, UInt32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } /// /// Deletes a shader object /// /// /// /// Specifies the shader object to be deleted. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteShader")] public static void DeleteShader(Int32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteShader((UInt32)shader); #if DEBUG } #endif } /// /// Deletes a shader object /// /// /// /// Specifies the shader object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteShader")] public static void DeleteShader(UInt32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteShader((UInt32)shader); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glDeleteSync")] public static void DeleteSync(IntPtr sync) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteSync((IntPtr)sync); #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static unsafe void DeleteTextures(Int32 n, Int32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTextures((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static void DeleteTextures(Int32 n, Int32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static void DeleteTextures(Int32 n, ref Int32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static void DeleteTextures(Int32 n, ref UInt32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static unsafe void DeleteTextures(Int32 n, UInt32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTextures((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")] public static void DeleteTextures(Int32 n, UInt32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static unsafe void DeleteVertexArrays(Int32 n, Int32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static void DeleteVertexArrays(Int32 n, Int32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static void DeleteVertexArrays(Int32 n, ref Int32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static void DeleteVertexArrays(Int32 n, ref UInt32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")] public static void DeleteVertexArrays(Int32 n, UInt32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } /// /// Specify the value used for depth buffer comparisons /// /// /// /// Specifies the depth comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_LESS. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthFunc")] public static void DepthFunc(DepthFunction func) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthFunc((DepthFunction)func); #if DEBUG } #endif } /// /// Enable or disable writing into the depth buffer /// /// /// /// Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthMask")] public static void DepthMask(bool flag) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthMask((bool)flag); #if DEBUG } #endif } /// /// Specify mapping of depth values from normalized device coordinates to window coordinates /// /// /// /// Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0. /// /// /// /// /// Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthRange")] public static void DepthRange(Double near, Double far) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthRange((Double)near, (Double)far); #if DEBUG } #endif } /// /// Detaches a shader object from a program object to which it is attached /// /// /// /// Specifies the program object from which to detach the shader object. /// /// /// /// /// Specifies the shader object to be detached. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDetachShader")] public static void DetachShader(Int32 program, Int32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDetachShader((UInt32)program, (UInt32)shader); #if DEBUG } #endif } /// /// Detaches a shader object from a program object to which it is attached /// /// /// /// Specifies the program object from which to detach the shader object. /// /// /// /// /// Specifies the shader object to be detached. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDetachShader")] public static void DetachShader(UInt32 program, UInt32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDetachShader((UInt32)program, (UInt32)shader); #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDisable")] public static void Disable(EnableCap cap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisable((EnableCap)cap); #if DEBUG } #endif } [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glDisableClientState")] public static void DisableClientState(EnableCap array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableClientState((EnableCap)array); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glDisablei")] public static void Disable(IndexedEnableCap target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisablei((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glDisablei")] public static void Disable(IndexedEnableCap target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisablei((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")] public static void DisableVertexAttribArray(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribArray((UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")] public static void DisableVertexAttribArray(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVertexAttribArray((UInt32)index); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the starting index in the enabled arrays. /// /// /// /// /// Specifies the number of indices to be rendered. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawArrays")] public static void DrawArrays(BeginMode mode, Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawArrays((BeginMode)mode, (Int32)first, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawArraysInstanced")] public static void DrawArraysInstanced(BeginMode mode, Int32 first, Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawArraysInstanced((BeginMode)mode, (Int32)first, (Int32)count, (Int32)primcount); #if DEBUG } #endif } /// /// Specify which color buffers are to be drawn into /// /// /// /// Specifies up to four color buffers to be drawn into. Symbolic constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1, are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet to query the number of available aux buffers.) The initial value is GL_FRONT for single-buffered contexts, and GL_BACK for double-buffered contexts. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDrawBuffer")] public static void DrawBuffer(DrawBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawBuffer((DrawBufferMode)mode); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")] public static unsafe void DrawBuffers(Int32 n, DrawBuffersEnum* bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs); #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")] public static void DrawBuffers(Int32 n, DrawBuffersEnum[] bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBuffersEnum* bufs_ptr = bufs) { Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs_ptr); } } #if DEBUG } #endif } /// /// Specifies a list of color buffers to be drawn into /// /// /// /// Specifies the number of buffers in bufs. /// /// /// /// /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")] public static void DrawBuffers(Int32 n, ref DrawBuffersEnum bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBuffersEnum* bufs_ptr = &bufs) { Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs_ptr); } } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")] public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")] public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")] public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")] public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")] public static void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")] public static void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")] public static void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")] public static void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")] public static void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")] public static void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex); #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")] public static void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")] public static void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")] public static void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")] public static void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")] public static void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)basevertex); #if DEBUG } #endif } /// /// Write a block of pixels to the frame buffer /// /// /// /// Specify the dimensions of the pixel rectangle to be written into the frame buffer. /// /// /// /// /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. /// /// /// /// /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Specifies a pointer to the pixel data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")] public static void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T4 pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Write a block of pixels to the frame buffer /// /// /// /// Specify the dimensions of the pixel rectangle to be written into the frame buffer. /// /// /// /// /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. /// /// /// /// /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Specifies a pointer to the pixel data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")] public static void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[,,] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Write a block of pixels to the frame buffer /// /// /// /// Specify the dimensions of the pixel rectangle to be written into the frame buffer. /// /// /// /// /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. /// /// /// /// /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Specifies a pointer to the pixel data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")] public static void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[,] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Write a block of pixels to the frame buffer /// /// /// /// Specify the dimensions of the pixel rectangle to be written into the frame buffer. /// /// /// /// /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. /// /// /// /// /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Specifies a pointer to the pixel data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")] public static void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Write a block of pixels to the frame buffer /// /// /// /// Specify the dimensions of the pixel rectangle to be written into the frame buffer. /// /// /// /// /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted. /// /// /// /// /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Specifies a pointer to the pixel data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")] public static void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices, Int32 basevertex) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")] public static void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex); #if DEBUG } #endif } /// /// Flag edges as either boundary or nonboundary /// /// /// /// Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEdgeFlag")] public static void EdgeFlag(bool flag) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEdgeFlag((bool)flag); #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")] public static void EdgeFlagPointer(Int32 stride, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")] public static void EdgeFlagPointer(Int32 stride, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")] public static void EdgeFlagPointer(Int32 stride, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")] public static void EdgeFlagPointer(Int32 stride, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")] public static void EdgeFlagPointer(Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Flag edges as either boundary or nonboundary /// /// /// /// Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEdgeFlagv")] public static unsafe void EdgeFlag(bool* flag) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEdgeFlagv((bool*)flag); #if DEBUG } #endif } /// /// Enable or disable server-side GL capabilities /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glEnable")] public static void Enable(EnableCap cap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnable((EnableCap)cap); #if DEBUG } #endif } /// /// Enable or disable client-side capability /// /// /// /// Specifies the capability to enable. Symbolic constants GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_FOG_COORD_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_SECONDARY_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY, and GL_VERTEX_ARRAY are accepted. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEnableClientState")] public static void EnableClientState(EnableCap array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableClientState((EnableCap)array); #if DEBUG } #endif } /// /// Enable or disable server-side GL capabilities /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEnablei")] public static void Enable(IndexedEnableCap target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnablei((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } /// /// Enable or disable server-side GL capabilities /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEnablei")] public static void Enable(IndexedEnableCap target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnablei((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } /// /// Enable or disable a generic vertex attribute array /// /// /// /// Specifies the index of the generic vertex attribute to be enabled or disabled. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")] public static void EnableVertexAttribArray(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribArray((UInt32)index); #if DEBUG } #endif } /// /// Enable or disable a generic vertex attribute array /// /// /// /// Specifies the index of the generic vertex attribute to be enabled or disabled. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")] public static void EnableVertexAttribArray(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVertexAttribArray((UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEnd")] public static void End() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnd(); #if DEBUG GraphicsContext.CurrentContext.ErrorChecking = true; } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEndConditionalRender")] public static void EndConditionalRender() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndConditionalRender(); #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEndList")] public static void EndList() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndList(); #if DEBUG } #endif } [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glEndQuery")] public static void EndQuery(QueryTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndQuery((QueryTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEndTransformFeedback")] public static void EndTransformFeedback() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndTransformFeedback(); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1d")] public static void EvalCoord1(Double u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord1d((Double)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1dv")] public static unsafe void EvalCoord1(Double* u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord1dv((Double*)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1f")] public static void EvalCoord1(Single u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord1f((Single)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1fv")] public static unsafe void EvalCoord1(Single* u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord1fv((Single*)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2d")] public static void EvalCoord2(Double u, Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord2d((Double)u, (Double)v); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")] public static unsafe void EvalCoord2(Double* u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord2dv((Double*)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")] public static void EvalCoord2(Double[] u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* u_ptr = u) { Delegates.glEvalCoord2dv((Double*)u_ptr); } } #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")] public static void EvalCoord2(ref Double u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* u_ptr = &u) { Delegates.glEvalCoord2dv((Double*)u_ptr); } } #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2f")] public static void EvalCoord2(Single u, Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord2f((Single)u, (Single)v); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")] public static void EvalCoord2(ref Single u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* u_ptr = &u) { Delegates.glEvalCoord2fv((Single*)u_ptr); } } #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")] public static unsafe void EvalCoord2(Single* u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalCoord2fv((Single*)u); #if DEBUG } #endif } /// /// Evaluate enabled one- and two-dimensional maps /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command. /// /// /// /// /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")] public static void EvalCoord2(Single[] u) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* u_ptr = u) { Delegates.glEvalCoord2fv((Single*)u_ptr); } } #if DEBUG } #endif } /// /// Compute a one- or two-dimensional grid of points or lines /// /// /// /// In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted. /// /// /// /// /// Specify the first and last integer values for grid domain variable . /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalMesh1")] public static void EvalMesh1(MeshMode1 mode, Int32 i1, Int32 i2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalMesh1((MeshMode1)mode, (Int32)i1, (Int32)i2); #if DEBUG } #endif } /// /// Compute a one- or two-dimensional grid of points or lines /// /// /// /// In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted. /// /// /// /// /// Specify the first and last integer values for grid domain variable . /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalMesh2")] public static void EvalMesh2(MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalMesh2((MeshMode2)mode, (Int32)i1, (Int32)i2, (Int32)j1, (Int32)j2); #if DEBUG } #endif } /// /// Generate and evaluate a single point in a mesh /// /// /// /// Specifies the integer value for grid domain variable . /// /// /// /// /// Specifies the integer value for grid domain variable (glEvalPoint2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalPoint1")] public static void EvalPoint1(Int32 i) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalPoint1((Int32)i); #if DEBUG } #endif } /// /// Generate and evaluate a single point in a mesh /// /// /// /// Specifies the integer value for grid domain variable . /// /// /// /// /// Specifies the integer value for grid domain variable (glEvalPoint2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalPoint2")] public static void EvalPoint2(Int32 i, Int32 j) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalPoint2((Int32)i, (Int32)j); #if DEBUG } #endif } /// /// Controls feedback mode /// /// /// /// Specifies the maximum number of values that can be written into buffer. /// /// /// /// /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. /// /// /// /// /// Returns the feedback data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")] public static void FeedbackBuffer(Int32 size, FeedbackType type, [Out] out Single buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* buffer_ptr = &buffer) { Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer_ptr); buffer = *buffer_ptr; } } #if DEBUG } #endif } /// /// Controls feedback mode /// /// /// /// Specifies the maximum number of values that can be written into buffer. /// /// /// /// /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. /// /// /// /// /// Returns the feedback data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")] public static unsafe void FeedbackBuffer(Int32 size, FeedbackType type, [Out] Single* buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer); #if DEBUG } #endif } /// /// Controls feedback mode /// /// /// /// Specifies the maximum number of values that can be written into buffer. /// /// /// /// /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted. /// /// /// /// /// Returns the feedback data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")] public static void FeedbackBuffer(Int32 size, FeedbackType type, [Out] Single[] buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* buffer_ptr = buffer) { Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glFenceSync")] public static IntPtr FenceSync(ArbSync condition, Int32 flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glFenceSync((ArbSync)condition, (UInt32)flags); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glFenceSync")] public static IntPtr FenceSync(ArbSync condition, UInt32 flags) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glFenceSync((ArbSync)condition, (UInt32)flags); #if DEBUG } #endif } /// /// Block until all GL execution is complete /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFinish")] public static void Finish() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinish(); #if DEBUG } #endif } /// /// Force execution of GL commands in finite time /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFlush")] public static void Flush() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlush(); #if DEBUG } #endif } [AutoGenerated(Category = "ArbMapBufferRange", Version = "3.0", EntryPoint = "glFlushMappedBufferRange")] public static void FlushMappedBufferRange(BufferTarget target, IntPtr offset, IntPtr length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushMappedBufferRange((BufferTarget)target, (IntPtr)offset, (IntPtr)length); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordd")] public static void FogCoord(Double coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordd((Double)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoorddv")] public static unsafe void FogCoord(Double* coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoorddv((Double*)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordf")] public static void FogCoord(Single coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordf((Single)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordfv")] public static unsafe void FogCoord(Single* coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordfv((Single*)coord); #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")] public static void FogCoordPointer(FogPointerType type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")] public static void FogCoordPointer(FogPointerType type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")] public static void FogCoordPointer(FogPointerType type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")] public static void FogCoordPointer(FogPointerType type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")] public static void FogCoordPointer(FogPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogf")] public static void Fog(FogParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogf((FogParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogfv")] public static unsafe void Fog(FogParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogfv((FogParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogfv")] public static void Fog(FogParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFogfv((FogParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogi")] public static void Fog(FogParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogi((FogParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogiv")] public static unsafe void Fog(FogParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogiv((FogParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Specify fog parameters /// /// /// /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogiv")] public static void Fog(FogParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFogiv((FogParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferRenderbuffer")] public static void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferRenderbuffer((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferRenderbuffer")] public static void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferRenderbuffer((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTexture")] public static void FramebufferTexture(Version32 target, Version32 attachment, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTexture")] public static void FramebufferTexture(Version32 target, Version32 attachment, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture1D")] public static void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture1D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture1D")] public static void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture1D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture2D")] public static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture2D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture2D")] public static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture2D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture3D")] public static void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture3D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture3D")] public static void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture3D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTextureFace")] public static void FramebufferTextureFace(Version32 target, Version32 attachment, Int32 texture, Int32 level, Version32 face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFace((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level, (Version32)face); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTextureFace")] public static void FramebufferTextureFace(Version32 target, Version32 attachment, UInt32 texture, Int32 level, Version32 face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFace((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level, (Version32)face); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTextureLayer")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayer((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTextureLayer")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayer((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } /// /// Define front- and back-facing polygons /// /// /// /// Specifies the orientation of front-facing polygons. GL_CW and GL_CCW are accepted. The initial value is GL_CCW. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFrontFace")] public static void FrontFace(FrontFaceDirection mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFrontFace((FrontFaceDirection)mode); #if DEBUG } #endif } /// /// Multiply the current matrix by a perspective matrix /// /// /// /// Specify the coordinates for the left and right vertical clipping planes. /// /// /// /// /// Specify the coordinates for the bottom and top horizontal clipping planes. /// /// /// /// /// Specify the distances to the near and far depth clipping planes. Both distances must be positive. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFrustum")] public static void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFrustum((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static unsafe void GenBuffers(Int32 n, [Out] Int32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenBuffers((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static void GenBuffers(Int32 n, [Out] Int32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static void GenBuffers(Int32 n, [Out] out Int32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffers_ptr = &buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static void GenBuffers(Int32 n, [Out] out UInt32 buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = &buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); buffers = *buffers_ptr; } } #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenBuffers((Int32)n, (UInt32*)buffers); #if DEBUG } #endif } /// /// Generate buffer object names /// /// /// /// Specifies the number of buffer object names to be generated. /// /// /// /// /// Specifies an array in which the generated buffer object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")] public static void GenBuffers(Int32 n, [Out] UInt32[] buffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffers_ptr = buffers) { Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenerateMipmap")] public static void GenerateMipmap(GenerateMipmapTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenerateMipmap((GenerateMipmapTarget)target); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static unsafe void GenFramebuffers(Int32 n, [Out] Int32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static void GenFramebuffers(Int32 n, [Out] Int32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static void GenFramebuffers(Int32 n, [Out] out Int32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static void GenFramebuffers(Int32 n, [Out] out UInt32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")] public static void GenFramebuffers(Int32 n, [Out] UInt32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } /// /// Generate a contiguous set of empty display lists /// /// /// /// Specifies the number of contiguous empty display lists to be generated. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGenLists")] public static Int32 GenLists(Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenLists((Int32)range); #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static unsafe void GenQueries(Int32 n, [Out] Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenQueries((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static void GenQueries(Int32 n, [Out] Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static void GenQueries(Int32 n, [Out] out Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static void GenQueries(Int32 n, [Out] out UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static unsafe void GenQueries(Int32 n, [Out] UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenQueries((Int32)n, (UInt32*)ids); #if DEBUG } #endif } /// /// Generate query object names /// /// /// /// Specifies the number of query object names to be generated. /// /// /// /// /// Specifies an array in which the generated query object names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")] public static void GenQueries(Int32 n, [Out] UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static unsafe void GenRenderbuffers(Int32 n, [Out] Int32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static void GenRenderbuffers(Int32 n, [Out] Int32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static void GenRenderbuffers(Int32 n, [Out] out Int32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static void GenRenderbuffers(Int32 n, [Out] out UInt32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")] public static void GenRenderbuffers(Int32 n, [Out] UInt32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static unsafe void GenTextures(Int32 n, [Out] Int32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTextures((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static void GenTextures(Int32 n, [Out] Int32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static void GenTextures(Int32 n, [Out] out Int32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static void GenTextures(Int32 n, [Out] out UInt32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static unsafe void GenTextures(Int32 n, [Out] UInt32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTextures((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")] public static void GenTextures(Int32 n, [Out] UInt32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static unsafe void GenVertexArrays(Int32 n, [Out] Int32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static void GenVertexArrays(Int32 n, [Out] Int32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = arrays) { Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static void GenVertexArrays(Int32 n, [Out] out Int32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* arrays_ptr = &arrays) { Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static void GenVertexArrays(Int32 n, [Out] out UInt32 arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = &arrays) { Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr); arrays = *arrays_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")] public static void GenVertexArrays(Int32 n, [Out] UInt32[] arrays) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* arrays_ptr = arrays) { Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr); } } #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")] public static unsafe void GetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")] public static void GetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveAttribType* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")] public static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active attribute variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the attribute variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the attribute variable. /// /// /// /// /// Returns the data type of the attribute variable. /// /// /// /// /// Returns a null terminated string containing the name of the attribute variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")] public static void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveAttribType* type_ptr = &type) { Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")] public static unsafe void GetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveUniformType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveUniformType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")] public static void GetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveUniformType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveUniformType* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveUniformType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")] public static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveUniformType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveUniformType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } /// /// Returns information about an active uniform variable for the specified program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the index of the uniform variable to be queried. /// /// /// /// /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name. /// /// /// /// /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed. /// /// /// /// /// Returns the size of the uniform variable. /// /// /// /// /// Returns the data type of the uniform variable. /// /// /// /// /// Returns a null terminated string containing the name of the uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")] public static void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveUniformType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveUniformType* type_ptr = &type) { Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveUniformType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static unsafe void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static unsafe void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")] public static void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")] public static unsafe void GetActiveUniformBlockName(Int32 program, Int32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformBlockName); #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")] public static void GetActiveUniformBlockName(Int32 program, Int32 uniformBlockIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformBlockName); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")] public static unsafe void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformBlockName); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")] public static void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformBlockName); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")] public static unsafe void GetActiveUniformName(Int32 program, Int32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformName); #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")] public static void GetActiveUniformName(Int32 program, Int32 uniformIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformName); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")] public static unsafe void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformName); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")] public static void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformName); length = *length_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static unsafe void GetActiveUniforms(Int32 program, Int32 uniformCount, Int32* uniformIndices, ArbUniformBufferObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices, (ArbUniformBufferObject)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static void GetActiveUniforms(Int32 program, Int32 uniformCount, Int32[] uniformIndices, ArbUniformBufferObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* uniformIndices_ptr = uniformIndices) fixed (Int32* @params_ptr = @params) { Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static void GetActiveUniforms(Int32 program, Int32 uniformCount, ref Int32 uniformIndices, ArbUniformBufferObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* uniformIndices_ptr = &uniformIndices) fixed (Int32* @params_ptr = &@params) { Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static void GetActiveUniforms(UInt32 program, Int32 uniformCount, ref UInt32 uniformIndices, ArbUniformBufferObject pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* uniformIndices_ptr = &uniformIndices) fixed (Int32* @params_ptr = &@params) { Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static unsafe void GetActiveUniforms(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, ArbUniformBufferObject pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices, (ArbUniformBufferObject)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")] public static void GetActiveUniforms(UInt32 program, Int32 uniformCount, UInt32[] uniformIndices, ArbUniformBufferObject pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* uniformIndices_ptr = uniformIndices) fixed (Int32* @params_ptr = @params) { Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static unsafe void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32* count, [Out] Int32* obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj); #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static unsafe void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32* count, [Out] Int32[] obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj); #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32[] obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (UInt32* obj_ptr = obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr); } #if DEBUG } #endif } /// /// Returns the handles of the shader objects attached to a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the size of the array for storing the returned object names. /// /// /// /// /// Returns the number of names actually returned in objects. /// /// /// /// /// Specifies an array that is used to return the names of attached shader objects. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")] public static void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (UInt32* obj_ptr = &obj) { Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr); count = *count_ptr; obj = *obj_ptr; } } #if DEBUG } #endif } /// /// Returns the location of an attribute variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttribLocation")] public static Int32 GetAttribLocation(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetAttribLocation((UInt32)program, (String)name); #if DEBUG } #endif } /// /// Returns the location of an attribute variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttribLocation")] public static Int32 GetAttribLocation(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetAttribLocation((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static unsafe void GetBoolean(GetIndexedPName target, Int32 index, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static void GetBoolean(GetIndexedPName target, Int32 index, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static void GetBoolean(GetIndexedPName target, Int32 index, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static unsafe void GetBoolean(GetIndexedPName target, UInt32 index, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static void GetBoolean(GetIndexedPName target, UInt32 index, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")] public static void GetBoolean(GetIndexedPName target, UInt32 index, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")] public static unsafe void GetBoolean(GetPName pname, [Out] bool* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBooleanv((GetPName)pname, (bool*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")] public static void GetBoolean(GetPName pname, [Out] bool[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* @params_ptr = @params) { Delegates.glGetBooleanv((GetPName)pname, (bool*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")] public static void GetBoolean(GetPName pname, [Out] out bool @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* @params_ptr = &@params) { Delegates.glGetBooleanv((GetPName)pname, (bool*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")] public static unsafe void GetBufferParameteri64(Version32 target, Version32 pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")] public static void GetBufferParameteri64(Version32 target, Version32 pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")] public static void GetBufferParameteri64(Version32 target, Version32 pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a buffer object /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. /// /// /// /// /// Returns the requested parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")] public static unsafe void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a buffer object /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. /// /// /// /// /// Returns the requested parameter. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")] public static void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a buffer object /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE. /// /// /// /// /// Returns the requested parameter. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")] public static void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return the pointer to a mapped buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")] public static void GetBufferPointer(BufferTarget target, BufferPointer pname, [In, Out] ref T2 @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the pointer to a mapped buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")] public static void GetBufferPointer(BufferTarget target, BufferPointer pname, [In, Out] T2[,,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the pointer to a mapped buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")] public static void GetBufferPointer(BufferTarget target, BufferPointer pname, [In, Out] T2[,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the pointer to a mapped buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")] public static void GetBufferPointer(BufferTarget target, BufferPointer pname, [In, Out] T2[] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the pointer to a mapped buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")] public static void GetBufferPointer(BufferTarget target, BufferPointer pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params); #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")] public static void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")] public static void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")] public static void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")] public static void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Returns a subset of a buffer object's data store /// /// /// /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes. /// /// /// /// /// Specifies the size in bytes of the data store region being returned. /// /// /// /// /// Specifies a pointer to the location where buffer object data is returned. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")] public static void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } /// /// Return the coefficients of the specified clipping plane /// /// /// /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. /// /// /// /// /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")] public static unsafe void GetClipPlane(ClipPlaneName plane, [Out] Double* equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation); #if DEBUG } #endif } /// /// Return the coefficients of the specified clipping plane /// /// /// /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. /// /// /// /// /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")] public static void GetClipPlane(ClipPlaneName plane, [Out] Double[] equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = equation) { Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation_ptr); } } #if DEBUG } #endif } /// /// Return the coefficients of the specified clipping plane /// /// /// /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1. /// /// /// /// /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")] public static void GetClipPlane(ClipPlaneName plane, [Out] out Double equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation_ptr); equation = *equation_ptr; } } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [Out] IntPtr table) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")] public static unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")] public static unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] ref T2 img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[,,] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[,] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [In, Out] T2[] img) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } /// /// Return a compressed texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Returns the compressed texture image. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")] public static void GetCompressedTexImage(TextureTarget target, Int32 level, [Out] IntPtr img) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img); #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")] public static void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")] public static void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")] public static void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")] public static void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")] public static void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [Out] IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")] public static void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")] public static unsafe void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")] public static void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")] public static unsafe void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")] public static void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")] public static void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")] public static unsafe void GetDouble(GetPName pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetDoublev((GetPName)pname, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")] public static void GetDouble(GetPName pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetDoublev((GetPName)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")] public static void GetDouble(GetPName pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetDoublev((GetPName)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return error information /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetError")] public static ErrorCode GetError() { return Delegates.glGetError(); } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")] public static void GetFloat(GetPName pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFloatv((GetPName)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")] public static unsafe void GetFloat(GetPName pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFloatv((GetPName)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")] public static void GetFloat(GetPName pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFloatv((GetPName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetFragDataLocation")] public static Int32 GetFragDataLocation(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetFragDataLocation((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetFragDataLocation")] public static Int32 GetFragDataLocation(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetFragDataLocation((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")] public static unsafe void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")] public static void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")] public static void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")] public static void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")] public static void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")] public static void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")] public static void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")] public static void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")] public static void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")] public static unsafe void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")] public static void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")] public static unsafe void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")] public static void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")] public static void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static unsafe void GetInteger64(Version32 target, Int32 index, [Out] Int64* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data); #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static void GetInteger64(Version32 target, Int32 index, [Out] Int64[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* data_ptr = data) { Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static void GetInteger64(Version32 target, Int32 index, [Out] out Int64 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* data_ptr = &data) { Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static unsafe void GetInteger64(Version32 target, UInt32 index, [Out] Int64* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static void GetInteger64(Version32 target, UInt32 index, [Out] Int64[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* data_ptr = data) { Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")] public static void GetInteger64(Version32 target, UInt32 index, [Out] out Int64 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* data_ptr = &data) { Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")] public static unsafe void GetInteger64(ArbSync pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")] public static void GetInteger64(ArbSync pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")] public static void GetInteger64(ArbSync pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static unsafe void GetInteger(GetIndexedPName target, Int32 index, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static void GetInteger(GetIndexedPName target, Int32 index, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static void GetInteger(GetIndexedPName target, Int32 index, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static unsafe void GetInteger(GetIndexedPName target, UInt32 index, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static void GetInteger(GetIndexedPName target, UInt32 index, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")] public static void GetInteger(GetIndexedPName target, UInt32 index, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")] public static unsafe void GetInteger(GetPName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")] public static void GetInteger(GetPName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")] public static void GetInteger(GetPName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")] public static void GetLight(LightName light, LightParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")] public static unsafe void GetLight(LightName light, LightParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")] public static void GetLight(LightName light, LightParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")] public static unsafe void GetLight(LightName light, LightParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")] public static void GetLight(LightName light, LightParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return light source parameter values /// /// /// /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")] public static void GetLight(LightName light, LightParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")] public static unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v); #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] out Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v_ptr); v = *v_ptr; } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] out Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v_ptr); v = *v_ptr; } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")] public static unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v); #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")] public static unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v); #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Return evaluator parameters /// /// /// /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4. /// /// /// /// /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")] public static void GetMap(MapTarget target, GetMapQuery query, [Out] out Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v_ptr); v = *v_ptr; } } #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")] public static void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")] public static unsafe void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")] public static void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")] public static unsafe void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")] public static void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return material parameters /// /// /// /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively. /// /// /// /// /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")] public static void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")] public static void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")] public static void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")] public static void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")] public static void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")] public static void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")] public static void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")] public static unsafe void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")] public static void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")] public static unsafe void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")] public static void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")] public static void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] out Single val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = &val) { Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr); val = *val_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static unsafe void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] Single* val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val); #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] Single[] val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = val) { Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] out Single val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = &val) { Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr); val = *val_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static unsafe void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] Single* val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")] public static void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] Single[] val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = val) { Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr); } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")] public static void GetPixelMap(PixelMap map, [Out] out Single values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* values_ptr = &values) { Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values_ptr); values = *values_ptr; } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")] public static unsafe void GetPixelMap(PixelMap map, [Out] Single* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values); #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")] public static void GetPixelMap(PixelMap map, [Out] Single[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* values_ptr = values) { Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values_ptr); } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static unsafe void GetPixelMap(PixelMap map, [Out] Int32* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values); #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static void GetPixelMap(PixelMap map, [Out] Int32[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* values_ptr = values) { Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static void GetPixelMap(PixelMap map, [Out] out Int32 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* values_ptr = &values) { Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr); values = *values_ptr; } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static void GetPixelMap(PixelMap map, [Out] out UInt32 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* values_ptr = &values) { Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr); values = *values_ptr; } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static unsafe void GetPixelMap(PixelMap map, [Out] UInt32* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values); #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")] public static void GetPixelMap(PixelMap map, [Out] UInt32[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* values_ptr = values) { Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static unsafe void GetPixelMap(PixelMap map, [Out] Int16* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values); #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static void GetPixelMap(PixelMap map, [Out] Int16[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* values_ptr = values) { Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static void GetPixelMap(PixelMap map, [Out] out Int16 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* values_ptr = &values) { Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr); values = *values_ptr; } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static void GetPixelMap(PixelMap map, [Out] out UInt16 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* values_ptr = &values) { Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr); values = *values_ptr; } } #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static unsafe void GetPixelMap(PixelMap map, [Out] UInt16* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values); #if DEBUG } #endif } /// /// Return the specified pixel map /// /// /// /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Returns the pixel map contents. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")] public static void GetPixelMap(PixelMap map, [Out] UInt16[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* values_ptr = values) { Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Return the address of the specified pointer /// /// /// /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")] public static void GetPointer(GetPointervPName pname, [In, Out] ref T1 @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified pointer /// /// /// /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[,,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified pointer /// /// /// /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified pointer /// /// /// /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified pointer /// /// /// /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted. /// /// /// /// /// Returns the pointer value specified by pname. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")] public static void GetPointer(GetPointervPName pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params); #if DEBUG } #endif } /// /// Return the polygon stipple pattern /// /// /// /// Returns the stipple pattern. The initial value is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")] public static unsafe void GetPolygonStipple([Out] Byte* mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPolygonStipple((Byte*)mask); #if DEBUG } #endif } /// /// Return the polygon stipple pattern /// /// /// /// Returns the stipple pattern. The initial value is all 1's. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")] public static void GetPolygonStipple([Out] Byte[] mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* mask_ptr = mask) { Delegates.glGetPolygonStipple((Byte*)mask_ptr); } } #if DEBUG } #endif } /// /// Return the polygon stipple pattern /// /// /// /// Returns the stipple pattern. The initial value is all 1's. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")] public static void GetPolygonStipple([Out] out Byte mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* mask_ptr = &mask) { Delegates.glGetPolygonStipple((Byte*)mask_ptr); mask = *mask_ptr; } } #if DEBUG } #endif } /// /// Returns the information log for a program object /// /// /// /// Specifies the program object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")] public static unsafe void GetProgramInfoLog(Int32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } /// /// Returns the information log for a program object /// /// /// /// Specifies the program object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")] public static void GetProgramInfoLog(Int32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns the information log for a program object /// /// /// /// Specifies the program object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")] public static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } /// /// Returns the information log for a program object /// /// /// /// Specifies the program object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")] public static void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static unsafe void GetProgram(Int32 program, ProgramParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static void GetProgram(Int32 program, ProgramParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static void GetProgram(Int32 program, ProgramParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static unsafe void GetProgram(UInt32 program, ProgramParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static void GetProgram(UInt32 program, ProgramParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")] public static void GetProgram(UInt32 program, ProgramParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object target /// /// /// /// Specifies a query object target. Must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")] public static unsafe void GetQuery(QueryTarget target, GetQueryParam pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object target /// /// /// /// Specifies a query object target. Must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")] public static void GetQuery(QueryTarget target, GetQueryParam pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a query object target /// /// /// /// Specifies a query object target. Must be GL_SAMPLES_PASSED. /// /// /// /// /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")] public static void GetQuery(QueryTarget target, GetQueryParam pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static unsafe void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static unsafe void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")] public static void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")] public static void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")] public static unsafe void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params); #if DEBUG } #endif } /// /// Return parameters of a query object /// /// /// /// Specifies the name of a query object. /// /// /// /// /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")] public static void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")] public static unsafe void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")] public static void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")] public static void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] ref T3 row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[,,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] ref T4 column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] ref T5 span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,,] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")] public static void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span); #if DEBUG } #endif } /// /// Returns the information log for a shader object /// /// /// /// Specifies the shader object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")] public static unsafe void GetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } /// /// Returns the information log for a shader object /// /// /// /// Specifies the shader object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")] public static void GetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns the information log for a shader object /// /// /// /// Specifies the shader object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")] public static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog); #if DEBUG } #endif } /// /// Returns the information log for a shader object /// /// /// /// Specifies the shader object whose information log is to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned information log. /// /// /// /// /// Returns the length of the string returned in infoLog (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the information log. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")] public static void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static unsafe void GetShader(Int32 shader, ShaderParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static void GetShader(Int32 shader, ShaderParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static void GetShader(Int32 shader, ShaderParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static unsafe void GetShader(UInt32 shader, ShaderParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static void GetShader(UInt32 shader, ShaderParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")] public static void GetShader(UInt32 shader, ShaderParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")] public static unsafe void GetShaderSource(Int32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)source); #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")] public static void GetShaderSource(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)source); length = *length_ptr; } } #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")] public static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)source); #if DEBUG } #endif } /// /// Returns the source code string from a shader object /// /// /// /// Specifies the shader object to be queried. /// /// /// /// /// Specifies the size of the character buffer for storing the returned source code string. /// /// /// /// /// Returns the length of the string returned in source (excluding the null terminator). /// /// /// /// /// Specifies an array of characters that is used to return the source code string. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")] public static void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder source) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)source); length = *length_ptr; } } #if DEBUG } #endif } /// /// Return a string describing the current GL connection /// /// /// /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetString")] public static string GetString(StringName name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetString((StringName)name)); #if DEBUG } #endif } /// /// Return a string describing the current GL connection /// /// /// /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. /// /// [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetStringi")] public static string GetString(StringName name, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetStringi((StringName)name, (UInt32)index)); #if DEBUG } #endif } /// /// Return a string describing the current GL connection /// /// /// /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetStringi")] public static string GetString(StringName name, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetStringi((StringName)name, (UInt32)index)); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")] public static unsafe void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length, (Int32*)values); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")] public static unsafe void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Int32* values_ptr = values) { Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length, (Int32*)values_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")] public static void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* values_ptr = &values) { Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length_ptr, (Int32*)values_ptr); length = *length_ptr; values = *values_ptr; } } #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")] public static void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")] public static unsafe void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")] public static void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")] public static unsafe void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")] public static void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")] public static void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")] public static unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")] public static unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")] public static unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture coordinate generation parameters /// /// /// /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")] public static void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the texture image. Should be a pointer to an array of the type specified by type. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")] public static void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T4 pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Return a texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the texture image. Should be a pointer to an array of the type specified by type. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")] public static void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[,,] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Return a texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the texture image. Should be a pointer to an array of the type specified by type. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")] public static void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[,] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Return a texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the texture image. Should be a pointer to an array of the type specified by type. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")] public static void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[] pixels) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Return a texture image /// /// /// /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the texture image. Should be a pointer to an array of the type specified by type. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")] public static void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")] public static void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")] public static unsafe void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")] public static void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")] public static unsafe void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")] public static void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture parameter values for a specific level of detail /// /// /// /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")] public static void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")] public static void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")] public static unsafe void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")] public static void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")] public static unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")] public static unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")] public static unsafe void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")] public static void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return texture parameter values /// /// /// /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted. /// /// /// /// /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted. /// /// /// /// /// Returns the texture parameters. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")] public static void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")] public static unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")] public static void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveAttribType* type_ptr = &type) { Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")] public static unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")] public static void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ActiveAttribType* type_ptr = &type) { Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformBlockIndex")] public static Int32 GetUniformBlockIndex(Int32 program, String uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformBlockIndex((UInt32)program, (String)uniformBlockName); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformBlockIndex")] public static Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformBlockIndex((UInt32)program, (String)uniformBlockName); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static void GetUniform(Int32 program, Int32 location, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static unsafe void GetUniform(Int32 program, Int32 location, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static void GetUniform(Int32 program, Int32 location, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static void GetUniform(UInt32 program, Int32 location, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static unsafe void GetUniform(UInt32 program, Int32 location, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")] public static void GetUniform(UInt32 program, Int32 location, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static unsafe void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] Int32* uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices); #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] Int32[] uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* uniformIndices_ptr = uniformIndices) { Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] out Int32 uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* uniformIndices_ptr = &uniformIndices) { Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr); uniformIndices = *uniformIndices_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] out UInt32 uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* uniformIndices_ptr = &uniformIndices) { Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr); uniformIndices = *uniformIndices_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static unsafe void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")] public static void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32[] uniformIndices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* uniformIndices_ptr = uniformIndices) { Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static unsafe void GetUniform(Int32 program, Int32 location, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static void GetUniform(Int32 program, Int32 location, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static void GetUniform(Int32 program, Int32 location, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static unsafe void GetUniform(UInt32 program, Int32 location, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static void GetUniform(UInt32 program, Int32 location, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")] public static void GetUniform(UInt32 program, Int32 location, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the location of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformLocation")] public static Int32 GetUniformLocation(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformLocation((UInt32)program, (String)name); #if DEBUG } #endif } /// /// Returns the location of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformLocation")] public static Int32 GetUniformLocation(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformLocation((UInt32)program, (String)name); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")] public static void GetUniform(UInt32 program, Int32 location, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")] public static unsafe void GetUniform(UInt32 program, Int32 location, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")] public static void GetUniform(UInt32 program, Int32 location, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")] public static unsafe void GetVertexAttribI(Int32 index, VertexAttribParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")] public static void GetVertexAttribI(Int32 index, VertexAttribParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")] public static unsafe void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")] public static void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIuiv")] public static void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetVertexAttribIuiv((UInt32)index, (VertexAttribParameter)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIuiv")] public static unsafe void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIuiv((UInt32)index, (VertexAttribParameter)pname, (UInt32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")] public static void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer); #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Return the address of the specified generic vertex attribute pointer /// /// /// /// Specifies the generic vertex attribute parameter to be returned. /// /// /// /// /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER. /// /// /// /// /// Returns the pointer value. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")] public static void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer); #if DEBUG } #endif } /// /// Specify implementation-specific hints /// /// /// /// Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted. /// /// /// /// /// Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glHint")] public static void Hint(HintTarget target, HintMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glHint((HintTarget)target, (HintMode)mode); #if DEBUG } #endif } /// /// Define histogram table /// /// /// /// The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The number of entries in the histogram table. Must be a power of 2. /// /// /// /// /// The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glHistogram")] public static void Histogram(Version12Deprecated target, Int32 width, PixelInternalFormat internalformat, bool sink) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glHistogram((Version12Deprecated)target, (Int32)width, (PixelInternalFormat)internalformat, (bool)sink); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexd")] public static void Index(Double c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexd((Double)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexdv")] public static unsafe void Index(Double* c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexdv((Double*)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexf")] public static void Index(Single c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexf((Single)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexfv")] public static unsafe void Index(Single* c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexfv((Single*)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexi")] public static void Index(Int32 c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexi((Int32)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexiv")] public static unsafe void Index(Int32* c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexiv((Int32*)c); #if DEBUG } #endif } /// /// Control the writing of individual bits in the color index buffers /// /// /// /// Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexMask")] public static void IndexMask(Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexMask((UInt32)mask); #if DEBUG } #endif } /// /// Control the writing of individual bits in the color index buffers /// /// /// /// Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexMask")] public static void IndexMask(UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexMask((UInt32)mask); #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")] public static void IndexPointer(IndexPointerType type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")] public static void IndexPointer(IndexPointerType type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")] public static void IndexPointer(IndexPointerType type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")] public static void IndexPointer(IndexPointerType type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")] public static void IndexPointer(IndexPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexs")] public static void Index(Int16 c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexs((Int16)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexsv")] public static unsafe void Index(Int16* c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexsv((Int16*)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexub")] public static void Index(Byte c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexub((Byte)c); #if DEBUG } #endif } /// /// Set the current color index /// /// /// /// Specifies the new value for the current color index. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexubv")] public static unsafe void Index(Byte* c) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexubv((Byte*)c); #if DEBUG } #endif } /// /// Initialize the name stack /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glInitNames")] public static void InitNames() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glInitNames(); #if DEBUG } #endif } /// /// Simultaneously specify and enable several interleaved arrays /// /// /// /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. /// /// /// /// /// Specifies the offset in bytes between each aggregate array element. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")] public static void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Simultaneously specify and enable several interleaved arrays /// /// /// /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. /// /// /// /// /// Specifies the offset in bytes between each aggregate array element. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")] public static void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Simultaneously specify and enable several interleaved arrays /// /// /// /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. /// /// /// /// /// Specifies the offset in bytes between each aggregate array element. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")] public static void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Simultaneously specify and enable several interleaved arrays /// /// /// /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. /// /// /// /// /// Specifies the offset in bytes between each aggregate array element. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")] public static void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Simultaneously specify and enable several interleaved arrays /// /// /// /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted. /// /// /// /// /// Specifies the offset in bytes between each aggregate array element. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")] public static void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a buffer object /// /// /// /// Specifies a value that may be the name of a buffer object. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsBuffer")] public static bool IsBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsBuffer((UInt32)buffer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a buffer object /// /// /// /// Specifies a value that may be the name of a buffer object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsBuffer")] public static bool IsBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsBuffer((UInt32)buffer); #if DEBUG } #endif } /// /// Test whether a capability is enabled /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glIsEnabled")] public static bool IsEnabled(EnableCap cap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsEnabled((EnableCap)cap); #if DEBUG } #endif } /// /// Test whether a capability is enabled /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glIsEnabledi")] public static bool IsEnabled(IndexedEnableCap target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsEnabledi((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } /// /// Test whether a capability is enabled /// /// /// /// Specifies a symbolic constant indicating a GL capability. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glIsEnabledi")] public static bool IsEnabled(IndexedEnableCap target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsEnabledi((IndexedEnableCap)target, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsFramebuffer")] public static bool IsFramebuffer(Int32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFramebuffer((UInt32)framebuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsFramebuffer")] public static bool IsFramebuffer(UInt32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFramebuffer((UInt32)framebuffer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a display list /// /// /// /// Specifies a potential display list name. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIsList")] public static bool IsList(Int32 list) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsList((UInt32)list); #if DEBUG } #endif } /// /// Determine if a name corresponds to a display list /// /// /// /// Specifies a potential display list name. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIsList")] public static bool IsList(UInt32 list) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsList((UInt32)list); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsProgram")] public static bool IsProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgram((UInt32)program); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsProgram")] public static bool IsProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgram((UInt32)program); #if DEBUG } #endif } /// /// Determine if a name corresponds to a query object /// /// /// /// Specifies a value that may be the name of a query object. /// /// [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsQuery")] public static bool IsQuery(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsQuery((UInt32)id); #if DEBUG } #endif } /// /// Determine if a name corresponds to a query object /// /// /// /// Specifies a value that may be the name of a query object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsQuery")] public static bool IsQuery(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsQuery((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsRenderbuffer")] public static bool IsRenderbuffer(Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsRenderbuffer((UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsRenderbuffer")] public static bool IsRenderbuffer(UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsRenderbuffer((UInt32)renderbuffer); #if DEBUG } #endif } /// /// Determines if a name corresponds to a shader object /// /// /// /// Specifies a potential shader object. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsShader")] public static bool IsShader(Int32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsShader((UInt32)shader); #if DEBUG } #endif } /// /// Determines if a name corresponds to a shader object /// /// /// /// Specifies a potential shader object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsShader")] public static bool IsShader(UInt32 shader) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsShader((UInt32)shader); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glIsSync")] public static bool IsSync(IntPtr sync) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsSync((IntPtr)sync); #if DEBUG } #endif } /// /// Determine if a name corresponds to a texture /// /// /// /// Specifies a value that may be the name of a texture. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glIsTexture")] public static bool IsTexture(Int32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTexture((UInt32)texture); #if DEBUG } #endif } /// /// Determine if a name corresponds to a texture /// /// /// /// Specifies a value that may be the name of a texture. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glIsTexture")] public static bool IsTexture(UInt32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTexture((UInt32)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glIsVertexArray")] public static bool IsVertexArray(Int32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexArray((UInt32)array); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glIsVertexArray")] public static bool IsVertexArray(UInt32 array) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVertexArray((UInt32)array); #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightf")] public static void Light(LightName light, LightParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightf((LightName)light, (LightParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightfv")] public static unsafe void Light(LightName light, LightParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightfv((LightName)light, (LightParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightfv")] public static void Light(LightName light, LightParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLighti")] public static void Light(LightName light, LightParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLighti((LightName)light, (LightParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightiv")] public static unsafe void Light(LightName light, LightParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightiv((LightName)light, (LightParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set light source parameters /// /// /// /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1. /// /// /// /// /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted. /// /// /// /// /// Specifies the value that parameter pname of light source light will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightiv")] public static void Light(LightName light, LightParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelf")] public static void LightModel(LightModelParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightModelf((LightModelParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelfv")] public static unsafe void LightModel(LightModelParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightModelfv((LightModelParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelfv")] public static void LightModel(LightModelParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glLightModelfv((LightModelParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeli")] public static void LightModel(LightModelParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightModeli((LightModelParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeliv")] public static unsafe void LightModel(LightModelParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightModeliv((LightModelParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set the lighting model parameters /// /// /// /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted. /// /// /// /// /// Specifies the value that param will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeliv")] public static void LightModel(LightModelParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glLightModeliv((LightModelParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify the line stipple pattern /// /// /// /// Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. /// /// /// /// /// Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLineStipple")] public static void LineStipple(Int32 factor, Int16 pattern) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLineStipple((Int32)factor, (UInt16)pattern); #if DEBUG } #endif } /// /// Specify the line stipple pattern /// /// /// /// Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. /// /// /// /// /// Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLineStipple")] public static void LineStipple(Int32 factor, UInt16 pattern) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLineStipple((Int32)factor, (UInt16)pattern); #if DEBUG } #endif } /// /// Specify the width of rasterized lines /// /// /// /// Specifies the width of rasterized lines. The initial value is 1. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glLineWidth")] public static void LineWidth(Single width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLineWidth((Single)width); #if DEBUG } #endif } /// /// Links a program object /// /// /// /// Specifies the handle of the program object to be linked. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glLinkProgram")] public static void LinkProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLinkProgram((UInt32)program); #if DEBUG } #endif } /// /// Links a program object /// /// /// /// Specifies the handle of the program object to be linked. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glLinkProgram")] public static void LinkProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLinkProgram((UInt32)program); #if DEBUG } #endif } /// /// Set the display-list base for glCallLists /// /// /// /// Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glListBase")] public static void ListBase(Int32 @base) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListBase((UInt32)@base); #if DEBUG } #endif } /// /// Set the display-list base for glCallLists /// /// /// /// Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glListBase")] public static void ListBase(UInt32 @base) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListBase((UInt32)@base); #if DEBUG } #endif } /// /// Replace the current matrix with the identity matrix /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadIdentity")] public static void LoadIdentity() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadIdentity(); #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")] public static unsafe void LoadMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadMatrixd((Double*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")] public static void LoadMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")] public static void LoadMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")] public static void LoadMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")] public static unsafe void LoadMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadMatrixf((Single*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")] public static void LoadMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Load a name onto the name stack /// /// /// /// Specifies a name that will replace the top value on the name stack. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadName")] public static void LoadName(Int32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadName((UInt32)name); #if DEBUG } #endif } /// /// Load a name onto the name stack /// /// /// /// Specifies a name that will replace the top value on the name stack. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadName")] public static void LoadName(UInt32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadName((UInt32)name); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")] public static unsafe void LoadTransposeMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadTransposeMatrixd((Double*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")] public static void LoadTransposeMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glLoadTransposeMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")] public static void LoadTransposeMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glLoadTransposeMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")] public static void LoadTransposeMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glLoadTransposeMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")] public static unsafe void LoadTransposeMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadTransposeMatrixf((Single*)m); #if DEBUG } #endif } /// /// Replace the current matrix with the specified row-major ordered matrix /// /// /// /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")] public static void LoadTransposeMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glLoadTransposeMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Specify a logical pixel operation for color index rendering /// /// /// /// Specifies a symbolic constant that selects a logical operation. The following symbols are accepted: GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, and GL_OR_INVERTED. The initial value is GL_COPY. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glLogicOp")] public static void LogicOp(LogicOp opcode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLogicOp((LogicOp)opcode); #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")] public static unsafe void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points); #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")] public static void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")] public static void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr); } } #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")] public static void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")] public static unsafe void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points); #if DEBUG } #endif } /// /// Define a one-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. /// /// /// /// /// Specifies the number of control points. Must be positive. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")] public static void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr); } } #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")] public static unsafe void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points); #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")] public static void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")] public static void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr); } } #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")] public static void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")] public static unsafe void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points); #if DEBUG } #endif } /// /// Define a two-dimensional evaluator /// /// /// /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1. /// /// /// /// /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0. /// /// /// /// /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1. /// /// /// /// /// Specifies a pointer to the array of control points. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")] public static void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr); } } #if DEBUG } #endif } /// /// Map a buffer object's data store /// /// /// /// Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER. /// /// /// /// /// Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glMapBuffer")] public static unsafe IntPtr MapBuffer(BufferTarget target, BufferAccess access) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapBuffer((BufferTarget)target, (BufferAccess)access); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbMapBufferRange", Version = "3.0", EntryPoint = "glMapBufferRange")] public static unsafe IntPtr MapBufferRange(BufferTarget target, IntPtr offset, IntPtr length, BufferAccessMask access) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapBufferRange((BufferTarget)target, (IntPtr)offset, (IntPtr)length, (BufferAccessMask)access); #if DEBUG } #endif } /// /// Define a one- or two-dimensional mesh /// /// /// /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. /// /// /// /// /// Specify the mappings for integer grid domain values i = 0 and i = un. /// /// /// /// /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). /// /// /// /// /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid1d")] public static void MapGrid1(Int32 un, Double u1, Double u2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapGrid1d((Int32)un, (Double)u1, (Double)u2); #if DEBUG } #endif } /// /// Define a one- or two-dimensional mesh /// /// /// /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. /// /// /// /// /// Specify the mappings for integer grid domain values i = 0 and i = un. /// /// /// /// /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). /// /// /// /// /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid1f")] public static void MapGrid1(Int32 un, Single u1, Single u2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapGrid1f((Int32)un, (Single)u1, (Single)u2); #if DEBUG } #endif } /// /// Define a one- or two-dimensional mesh /// /// /// /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. /// /// /// /// /// Specify the mappings for integer grid domain values i = 0 and i = un. /// /// /// /// /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). /// /// /// /// /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid2d")] public static void MapGrid2(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapGrid2d((Int32)un, (Double)u1, (Double)u2, (Int32)vn, (Double)v1, (Double)v2); #if DEBUG } #endif } /// /// Define a one- or two-dimensional mesh /// /// /// /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive. /// /// /// /// /// Specify the mappings for integer grid domain values i = 0 and i = un. /// /// /// /// /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only). /// /// /// /// /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only). /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid2f")] public static void MapGrid2(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapGrid2f((Int32)un, (Single)u1, (Single)u2, (Int32)vn, (Single)v1, (Single)v2); #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialf")] public static void Material(MaterialFace face, MaterialParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMaterialf((MaterialFace)face, (MaterialParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialfv")] public static unsafe void Material(MaterialFace face, MaterialParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialfv")] public static void Material(MaterialFace face, MaterialParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMateriali")] public static void Material(MaterialFace face, MaterialParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMateriali((MaterialFace)face, (MaterialParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialiv")] public static unsafe void Material(MaterialFace face, MaterialParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Specify material parameters for the lighting model /// /// /// /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS. /// /// /// /// /// Specifies the value that parameter GL_SHININESS will be set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialiv")] public static void Material(MaterialFace face, MaterialParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify which matrix is the current matrix /// /// /// /// Specifies which matrix stack is the target for subsequent matrix operations. Three values are accepted: GL_MODELVIEW, GL_PROJECTION, and GL_TEXTURE. The initial value is GL_MODELVIEW. Additionally, if the ARB_imaging extension is supported, GL_COLOR is also accepted. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMatrixMode")] public static void MatrixMode(MatrixMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixMode((MatrixMode)mode); #if DEBUG } #endif } /// /// Define minmax table /// /// /// /// The minmax table whose parameters are to be set. Must be GL_MINMAX. /// /// /// /// /// The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glMinmax")] public static void Minmax(Version12Deprecated target, PixelInternalFormat internalformat, bool sink) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMinmax((Version12Deprecated)target, (PixelInternalFormat)internalformat, (bool)sink); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSampleShading", Version = "1.2", EntryPoint = "glMinSampleShading")] public static void MinSampleShading(Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMinSampleShading((Single)value); #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")] public static unsafe void MultiDrawArrays(BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount); #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")] public static void MultiDrawArrays(BeginMode mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")] public static void MultiDrawArrays(BeginMode mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; count = *count_ptr; } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32* basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32* basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32* basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32* basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex); #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32[] basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) fixed (Int32* basevertex_ptr = basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32[] basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) fixed (Int32* basevertex_ptr = basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32[] basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) fixed (Int32* basevertex_ptr = basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32[] basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) fixed (Int32* basevertex_ptr = basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32[] basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) fixed (Int32* basevertex_ptr = basevertex) { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, ref Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* basevertex_ptr = &basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, ref Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* basevertex_ptr = &basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, ref Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* basevertex_ptr = &basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, ref Int32 basevertex) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* basevertex_ptr = &basevertex) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")] public static void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, ref Int32 basevertex) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) fixed (Int32* basevertex_ptr = &basevertex) { Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1d")] public static void MultiTexCoord1(TextureUnit target, Double s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1d((TextureUnit)target, (Double)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1dv")] public static unsafe void MultiTexCoord1(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1dv((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1f")] public static void MultiTexCoord1(TextureUnit target, Single s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1f((TextureUnit)target, (Single)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1fv")] public static unsafe void MultiTexCoord1(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1fv((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1i")] public static void MultiTexCoord1(TextureUnit target, Int32 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1i((TextureUnit)target, (Int32)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1iv")] public static unsafe void MultiTexCoord1(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1iv((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1s")] public static void MultiTexCoord1(TextureUnit target, Int16 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1s((TextureUnit)target, (Int16)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1sv")] public static unsafe void MultiTexCoord1(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1sv((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2d")] public static void MultiTexCoord2(TextureUnit target, Double s, Double t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2d((TextureUnit)target, (Double)s, (Double)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")] public static unsafe void MultiTexCoord2(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")] public static void MultiTexCoord2(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")] public static void MultiTexCoord2(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2f")] public static void MultiTexCoord2(TextureUnit target, Single s, Single t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2f((TextureUnit)target, (Single)s, (Single)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")] public static void MultiTexCoord2(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")] public static unsafe void MultiTexCoord2(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")] public static void MultiTexCoord2(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2i")] public static void MultiTexCoord2(TextureUnit target, Int32 s, Int32 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2i((TextureUnit)target, (Int32)s, (Int32)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")] public static unsafe void MultiTexCoord2(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")] public static void MultiTexCoord2(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")] public static void MultiTexCoord2(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2s")] public static void MultiTexCoord2(TextureUnit target, Int16 s, Int16 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2s((TextureUnit)target, (Int16)s, (Int16)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")] public static unsafe void MultiTexCoord2(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")] public static void MultiTexCoord2(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")] public static void MultiTexCoord2(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3d")] public static void MultiTexCoord3(TextureUnit target, Double s, Double t, Double r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3d((TextureUnit)target, (Double)s, (Double)t, (Double)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")] public static unsafe void MultiTexCoord3(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")] public static void MultiTexCoord3(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")] public static void MultiTexCoord3(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3f")] public static void MultiTexCoord3(TextureUnit target, Single s, Single t, Single r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3f((TextureUnit)target, (Single)s, (Single)t, (Single)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")] public static void MultiTexCoord3(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")] public static unsafe void MultiTexCoord3(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")] public static void MultiTexCoord3(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3i")] public static void MultiTexCoord3(TextureUnit target, Int32 s, Int32 t, Int32 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3i((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")] public static unsafe void MultiTexCoord3(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")] public static void MultiTexCoord3(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")] public static void MultiTexCoord3(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3s")] public static void MultiTexCoord3(TextureUnit target, Int16 s, Int16 t, Int16 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3s((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")] public static unsafe void MultiTexCoord3(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")] public static void MultiTexCoord3(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")] public static void MultiTexCoord3(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4d")] public static void MultiTexCoord4(TextureUnit target, Double s, Double t, Double r, Double q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4d((TextureUnit)target, (Double)s, (Double)t, (Double)r, (Double)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")] public static unsafe void MultiTexCoord4(TextureUnit target, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")] public static void MultiTexCoord4(TextureUnit target, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")] public static void MultiTexCoord4(TextureUnit target, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4f")] public static void MultiTexCoord4(TextureUnit target, Single s, Single t, Single r, Single q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4f((TextureUnit)target, (Single)s, (Single)t, (Single)r, (Single)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")] public static void MultiTexCoord4(TextureUnit target, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")] public static unsafe void MultiTexCoord4(TextureUnit target, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")] public static void MultiTexCoord4(TextureUnit target, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4i")] public static void MultiTexCoord4(TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4i((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")] public static unsafe void MultiTexCoord4(TextureUnit target, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")] public static void MultiTexCoord4(TextureUnit target, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")] public static void MultiTexCoord4(TextureUnit target, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4s")] public static void MultiTexCoord4(TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4s((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")] public static unsafe void MultiTexCoord4(TextureUnit target, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")] public static void MultiTexCoord4(TextureUnit target, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. /// /// /// /// /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")] public static void MultiTexCoord4(TextureUnit target, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")] public static unsafe void MultMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultMatrixd((Double*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")] public static void MultMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMultMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")] public static void MultMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")] public static void MultMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")] public static unsafe void MultMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultMatrixf((Single*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")] public static void MultMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMultMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")] public static unsafe void MultTransposeMatrix(Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultTransposeMatrixd((Double*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")] public static void MultTransposeMatrix(Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMultTransposeMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")] public static void MultTransposeMatrix(ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMultTransposeMatrixd((Double*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")] public static void MultTransposeMatrix(ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMultTransposeMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")] public static unsafe void MultTransposeMatrix(Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultTransposeMatrixf((Single*)m); #if DEBUG } #endif } /// /// Multiply the current matrix with the specified row-major ordered matrix /// /// /// /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix. /// /// [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")] public static void MultTransposeMatrix(Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMultTransposeMatrixf((Single*)m_ptr); } } #if DEBUG } #endif } /// /// Create or replace a display list /// /// /// /// Specifies the display-list name. /// /// /// /// /// Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNewList")] public static void NewList(Int32 list, ListMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNewList((UInt32)list, (ListMode)mode); #if DEBUG } #endif } /// /// Create or replace a display list /// /// /// /// Specifies the display-list name. /// /// /// /// /// Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNewList")] public static void NewList(UInt32 list, ListMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNewList((UInt32)list, (ListMode)mode); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3b")] public static void Normal3(Byte nx, Byte ny, Byte nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3b")] public static void Normal3(SByte nx, SByte ny, SByte nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static unsafe void Normal3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3bv((SByte*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static void Normal3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glNormal3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static void Normal3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glNormal3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static void Normal3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glNormal3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static unsafe void Normal3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3bv((SByte*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")] public static void Normal3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glNormal3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3d")] public static void Normal3(Double nx, Double ny, Double nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3d((Double)nx, (Double)ny, (Double)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")] public static unsafe void Normal3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3dv((Double*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")] public static void Normal3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glNormal3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")] public static void Normal3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glNormal3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3f")] public static void Normal3(Single nx, Single ny, Single nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3f((Single)nx, (Single)ny, (Single)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")] public static void Normal3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glNormal3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")] public static unsafe void Normal3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3fv((Single*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")] public static void Normal3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glNormal3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3i")] public static void Normal3(Int32 nx, Int32 ny, Int32 nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3i((Int32)nx, (Int32)ny, (Int32)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")] public static unsafe void Normal3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")] public static void Normal3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glNormal3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")] public static void Normal3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glNormal3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3s")] public static void Normal3(Int16 nx, Int16 ny, Int16 nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3s((Int16)nx, (Int16)ny, (Int16)nz); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")] public static unsafe void Normal3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")] public static void Normal3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glNormal3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current normal vector /// /// /// /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1). /// /// /// /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")] public static void Normal3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glNormal3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")] public static void NormalPointer(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")] public static void NormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")] public static void NormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")] public static void NormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")] public static void NormalPointer(NormalPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Multiply the current matrix with an orthographic matrix /// /// /// /// Specify the coordinates for the left and right vertical clipping planes. /// /// /// /// /// Specify the coordinates for the bottom and top horizontal clipping planes. /// /// /// /// /// Specify the distances to the nearer and farther depth clipping planes. These values are negative if the plane is to be behind the viewer. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glOrtho")] public static void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glOrtho((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); #if DEBUG } #endif } /// /// Place a marker in the feedback buffer /// /// /// /// Specifies a marker value to be placed in the feedback buffer following a GL_PASS_THROUGH_TOKEN. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPassThrough")] public static void PassThrough(Single token) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPassThrough((Single)token); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")] public static void PixelMap(PixelMap map, Int32 mapsize, ref Single values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* values_ptr = &values) { Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")] public static unsafe void PixelMap(PixelMap map, Int32 mapsize, Single* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")] public static void PixelMap(PixelMap map, Int32 mapsize, Single[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* values_ptr = values) { Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static unsafe void PixelMap(PixelMap map, Int32 mapsize, Int32* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static void PixelMap(PixelMap map, Int32 mapsize, Int32[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* values_ptr = values) { Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static void PixelMap(PixelMap map, Int32 mapsize, ref Int32 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* values_ptr = &values) { Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static void PixelMap(PixelMap map, Int32 mapsize, ref UInt32 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* values_ptr = &values) { Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static unsafe void PixelMap(PixelMap map, Int32 mapsize, UInt32* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")] public static void PixelMap(PixelMap map, Int32 mapsize, UInt32[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* values_ptr = values) { Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static unsafe void PixelMap(PixelMap map, Int32 mapsize, Int16* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static void PixelMap(PixelMap map, Int32 mapsize, Int16[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* values_ptr = values) { Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static void PixelMap(PixelMap map, Int32 mapsize, ref Int16 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* values_ptr = &values) { Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static void PixelMap(PixelMap map, Int32 mapsize, ref UInt16 values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* values_ptr = &values) { Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static unsafe void PixelMap(PixelMap map, Int32 mapsize, UInt16* values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values); #if DEBUG } #endif } /// /// Set up pixel transfer maps /// /// /// /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A. /// /// /// /// /// Specifies the size of the map being defined. /// /// /// /// /// Specifies an array of mapsize values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")] public static void PixelMap(PixelMap map, Int32 mapsize, UInt16[] values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* values_ptr = values) { Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr); } } #if DEBUG } #endif } /// /// Set pixel storage modes /// /// /// /// Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT. /// /// /// /// /// Specifies the value that pname is set to. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPixelStoref")] public static void PixelStore(PixelStoreParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelStoref((PixelStoreParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Set pixel storage modes /// /// /// /// Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT. /// /// /// /// /// Specifies the value that pname is set to. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPixelStorei")] public static void PixelStore(PixelStoreParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelStorei((PixelStoreParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Set pixel transfer modes /// /// /// /// Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS. /// /// /// Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS. /// /// /// /// /// Specifies the value that pname is set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelTransferf")] public static void PixelTransfer(PixelTransferParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransferf((PixelTransferParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Set pixel transfer modes /// /// /// /// Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS. /// /// /// Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS. /// /// /// /// /// Specifies the value that pname is set to. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelTransferi")] public static void PixelTransfer(PixelTransferParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransferi((PixelTransferParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Specify the pixel zoom factors /// /// /// /// Specify the and zoom factors for pixel write operations. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelZoom")] public static void PixelZoom(Single xfactor, Single yfactor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelZoom((Single)xfactor, (Single)yfactor); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterf")] public static void PointParameter(PointParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterf((PointParameterName)pname, (Single)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterfv")] public static unsafe void PointParameter(PointParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfv((PointParameterName)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterfv")] public static void PointParameter(PointParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfv((PointParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteri")] public static void PointParameter(PointParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameteri((PointParameterName)pname, (Int32)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteriv")] public static unsafe void PointParameter(PointParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameteriv((PointParameterName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteriv")] public static void PointParameter(PointParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPointParameteriv((PointParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify the diameter of rasterized points /// /// /// /// Specifies the diameter of rasterized points. The initial value is 1. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPointSize")] public static void PointSize(Single size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointSize((Single)size); #if DEBUG } #endif } /// /// Select a polygon rasterization mode /// /// /// /// Specifies the polygons that mode applies to. Must be GL_FRONT for front-facing polygons, GL_BACK for back-facing polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons. /// /// /// /// /// Specifies how polygons will be rasterized. Accepted values are GL_POINT, GL_LINE, and GL_FILL. The initial value is GL_FILL for both front- and back-facing polygons. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPolygonMode")] public static void PolygonMode(MaterialFace face, PolygonMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPolygonMode((MaterialFace)face, (PolygonMode)mode); #if DEBUG } #endif } /// /// Set the scale and units used to calculate depth values /// /// /// /// Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0. /// /// /// /// /// Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glPolygonOffset")] public static void PolygonOffset(Single factor, Single units) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPolygonOffset((Single)factor, (Single)units); #if DEBUG } #endif } /// /// Set the polygon stippling pattern /// /// /// /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")] public static unsafe void PolygonStipple(Byte* mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPolygonStipple((Byte*)mask); #if DEBUG } #endif } /// /// Set the polygon stippling pattern /// /// /// /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")] public static void PolygonStipple(Byte[] mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* mask_ptr = mask) { Delegates.glPolygonStipple((Byte*)mask_ptr); } } #if DEBUG } #endif } /// /// Set the polygon stippling pattern /// /// /// /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")] public static void PolygonStipple(ref Byte mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* mask_ptr = &mask) { Delegates.glPolygonStipple((Byte*)mask_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopAttrib")] public static void PopAttrib() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPopAttrib(); #if DEBUG } #endif } [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPopClientAttrib")] public static void PopClientAttrib() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPopClientAttrib(); #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopMatrix")] public static void PopMatrix() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPopMatrix(); #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopName")] public static void PopName() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPopName(); #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glPrimitiveRestartIndex")] public static void PrimitiveRestartIndex(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrimitiveRestartIndex((UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glPrimitiveRestartIndex")] public static void PrimitiveRestartIndex(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrimitiveRestartIndex((UInt32)index); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static unsafe void PrioritizeTextures(Int32 n, Int32* textures, Single* priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static void PrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static void PrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static void PrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")] public static void PrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glProgramParameteri")] public static void ProgramParameter(Int32 program, Version32 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteri((UInt32)program, (Version32)pname, (Int32)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glProgramParameteri")] public static void ProgramParameter(UInt32 program, Version32 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteri((UInt32)program, (Version32)pname, (Int32)value); #if DEBUG } #endif } [AutoGenerated(Category = "ArbProvokingVertex", Version = "1.2", EntryPoint = "glProvokingVertex")] public static void ProvokingVertex(ArbProvokingVertex mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProvokingVertex((ArbProvokingVertex)mode); #if DEBUG } #endif } /// /// Push and pop the server attribute stack /// /// /// /// Specifies a mask that indicates which attributes to save. Values for mask are listed below. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushAttrib")] public static void PushAttrib(AttribMask mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushAttrib((AttribMask)mask); #if DEBUG } #endif } /// /// Push and pop the client attribute stack /// /// /// /// Specifies a mask that indicates which attributes to save. Values for mask are listed below. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPushClientAttrib")] public static void PushClientAttrib(ClientAttribMask mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushClientAttrib((ClientAttribMask)mask); #if DEBUG } #endif } /// /// Push and pop the current matrix stack /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushMatrix")] public static void PushMatrix() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushMatrix(); #if DEBUG } #endif } /// /// Push and pop the name stack /// /// /// /// Specifies a name that will be pushed onto the name stack. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushName")] public static void PushName(Int32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushName((UInt32)name); #if DEBUG } #endif } /// /// Push and pop the name stack /// /// /// /// Specifies a name that will be pushed onto the name stack. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushName")] public static void PushName(UInt32 name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushName((UInt32)name); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2d")] public static void RasterPos2(Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2d((Double)x, (Double)y); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")] public static unsafe void RasterPos2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2dv((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")] public static void RasterPos2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")] public static void RasterPos2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2f")] public static void RasterPos2(Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2f((Single)x, (Single)y); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")] public static void RasterPos2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")] public static unsafe void RasterPos2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2fv((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")] public static void RasterPos2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2i")] public static void RasterPos2(Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2i((Int32)x, (Int32)y); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")] public static unsafe void RasterPos2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2iv((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")] public static void RasterPos2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")] public static void RasterPos2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2s")] public static void RasterPos2(Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2s((Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")] public static unsafe void RasterPos2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos2sv((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")] public static void RasterPos2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")] public static void RasterPos2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3d")] public static void RasterPos3(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3d((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")] public static unsafe void RasterPos3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3dv((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")] public static void RasterPos3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")] public static void RasterPos3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3f")] public static void RasterPos3(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3f((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")] public static void RasterPos3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")] public static unsafe void RasterPos3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3fv((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")] public static void RasterPos3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3i")] public static void RasterPos3(Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3i((Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")] public static unsafe void RasterPos3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3iv((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")] public static void RasterPos3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")] public static void RasterPos3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3s")] public static void RasterPos3(Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3s((Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")] public static unsafe void RasterPos3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos3sv((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")] public static void RasterPos3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")] public static void RasterPos3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4d")] public static void RasterPos4(Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4d((Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")] public static unsafe void RasterPos4(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4dv((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")] public static void RasterPos4(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glRasterPos4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")] public static void RasterPos4(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glRasterPos4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4f")] public static void RasterPos4(Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4f((Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")] public static void RasterPos4(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glRasterPos4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")] public static unsafe void RasterPos4(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4fv((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")] public static void RasterPos4(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glRasterPos4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4i")] public static void RasterPos4(Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4i((Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")] public static unsafe void RasterPos4(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4iv((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")] public static void RasterPos4(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glRasterPos4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")] public static void RasterPos4(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glRasterPos4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4s")] public static void RasterPos4(Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4s((Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")] public static unsafe void RasterPos4(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRasterPos4sv((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")] public static void RasterPos4(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glRasterPos4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position for pixel operations /// /// /// /// Specify the , , , and object coordinates (if present) for the raster position. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")] public static void RasterPos4(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glRasterPos4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Select a color buffer source for pixels /// /// /// /// Specifies a color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadBuffer")] public static void ReadBuffer(ReadBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReadBuffer((ReadBufferMode)mode); #if DEBUG } #endif } /// /// Read a block of pixels from the frame buffer /// /// /// /// Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. /// /// /// /// /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the pixel data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")] public static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Read a block of pixels from the frame buffer /// /// /// /// Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. /// /// /// /// /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the pixel data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")] public static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Read a block of pixels from the frame buffer /// /// /// /// Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. /// /// /// /// /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the pixel data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")] public static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Read a block of pixels from the frame buffer /// /// /// /// Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. /// /// /// /// /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the pixel data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")] public static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Read a block of pixels from the frame buffer /// /// /// /// Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels. /// /// /// /// /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Returns the pixel data. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")] public static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [Out] IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectd")] public static void Rect(Double x1, Double y1, Double x2, Double y2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectd((Double)x1, (Double)y1, (Double)x2, (Double)y2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")] public static unsafe void Rect(Double* v1, Double* v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectdv((Double*)v1, (Double*)v2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")] public static void Rect(Double[] v1, Double[] v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v1_ptr = v1) fixed (Double* v2_ptr = v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")] public static void Rect(ref Double v1, ref Double v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v1_ptr = &v1) fixed (Double* v2_ptr = &v2) { Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectf")] public static void Rect(Single x1, Single y1, Single x2, Single y2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectf((Single)x1, (Single)y1, (Single)x2, (Single)y2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")] public static void Rect(ref Single v1, ref Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v1_ptr = &v1) fixed (Single* v2_ptr = &v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")] public static unsafe void Rect(Single* v1, Single* v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectfv((Single*)v1, (Single*)v2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")] public static void Rect(Single[] v1, Single[] v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v1_ptr = v1) fixed (Single* v2_ptr = v2) { Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRecti")] public static void Rect(Int32 x1, Int32 y1, Int32 x2, Int32 y2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRecti((Int32)x1, (Int32)y1, (Int32)x2, (Int32)y2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")] public static unsafe void Rect(Int32* v1, Int32* v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectiv((Int32*)v1, (Int32*)v2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")] public static void Rect(Int32[] v1, Int32[] v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v1_ptr = v1) fixed (Int32* v2_ptr = v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")] public static void Rect(ref Int32 v1, ref Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v1_ptr = &v1) fixed (Int32* v2_ptr = &v2) { Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRects")] public static void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRects((Int16)x1, (Int16)y1, (Int16)x2, (Int16)y2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")] public static unsafe void Rect(Int16* v1, Int16* v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRectsv((Int16*)v1, (Int16*)v2); #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")] public static void Rect(Int16[] v1, Int16[] v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v1_ptr = v1) fixed (Int16* v2_ptr = v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } #if DEBUG } #endif } /// /// Draw a rectangle /// /// /// /// Specify one vertex of a rectangle. /// /// /// /// /// Specify the opposite vertex of the rectangle. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")] public static void Rect(ref Int16 v1, ref Int16 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v1_ptr = &v1) fixed (Int16* v2_ptr = &v2) { Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glRenderbufferStorage")] public static void RenderbufferStorage(RenderbufferTarget target, RenderbufferStorage internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRenderbufferStorage((RenderbufferTarget)target, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glRenderbufferStorageMultisample")] public static void RenderbufferStorageMultisample(RenderbufferTarget target, Int32 samples, RenderbufferStorage internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRenderbufferStorageMultisample((RenderbufferTarget)target, (Int32)samples, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Set rasterization mode /// /// /// /// Specifies the rasterization mode. Three values are accepted: GL_RENDER, GL_SELECT, and GL_FEEDBACK. The initial value is GL_RENDER. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRenderMode")] public static Int32 RenderMode(RenderingMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glRenderMode((RenderingMode)mode); #if DEBUG } #endif } /// /// Reset histogram table entries to zero /// /// /// /// Must be GL_HISTOGRAM. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glResetHistogram")] public static void ResetHistogram(Version12Deprecated target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResetHistogram((Version12Deprecated)target); #if DEBUG } #endif } /// /// Reset minmax table entries to initial values /// /// /// /// Must be GL_MINMAX. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glResetMinmax")] public static void ResetMinmax(Version12Deprecated target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResetMinmax((Version12Deprecated)target); #if DEBUG } #endif } /// /// Multiply the current matrix by a rotation matrix /// /// /// /// Specifies the angle of rotation, in degrees. /// /// /// /// /// Specify the x, y, and z coordinates of a vector, respectively. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRotated")] public static void Rotate(Double angle, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRotated((Double)angle, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Multiply the current matrix by a rotation matrix /// /// /// /// Specifies the angle of rotation, in degrees. /// /// /// /// /// Specify the x, y, and z coordinates of a vector, respectively. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRotatef")] public static void Rotate(Single angle, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRotatef((Single)angle, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify multisample coverage parameters /// /// /// /// Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0. /// /// /// /// /// Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE. /// /// [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glSampleCoverage")] public static void SampleCoverage(Single value, bool invert) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleCoverage((Single)value, (bool)invert); #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glSampleMaski")] public static void SampleMask(Int32 index, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaski((UInt32)index, (UInt32)mask); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glSampleMaski")] public static void SampleMask(UInt32 index, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaski((UInt32)index, (UInt32)mask); #if DEBUG } #endif } /// /// Multiply the current matrix by a general scaling matrix /// /// /// /// Specify scale factors along the x, y, and z axes, respectively. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glScaled")] public static void Scale(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glScaled((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Multiply the current matrix by a general scaling matrix /// /// /// /// Specify scale factors along the x, y, and z axes, respectively. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glScalef")] public static void Scale(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glScalef((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Define the scissor box /// /// /// /// Specify the lower left corner of the scissor box. Initially (0, 0). /// /// /// /// /// Specify the width and height of the scissor box. When a GL context is first attached to a window, width and height are set to the dimensions of that window. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glScissor")] public static void Scissor(Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glScissor((Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3b")] public static void SecondaryColor3(SByte red, SByte green, SByte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")] public static void SecondaryColor3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")] public static unsafe void SecondaryColor3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3bv((SByte*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")] public static void SecondaryColor3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glSecondaryColor3bv((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3d")] public static void SecondaryColor3(Double red, Double green, Double blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3d((Double)red, (Double)green, (Double)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")] public static unsafe void SecondaryColor3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3dv((Double*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")] public static void SecondaryColor3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glSecondaryColor3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")] public static void SecondaryColor3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glSecondaryColor3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3f")] public static void SecondaryColor3(Single red, Single green, Single blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3f((Single)red, (Single)green, (Single)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")] public static void SecondaryColor3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glSecondaryColor3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")] public static unsafe void SecondaryColor3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3fv((Single*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")] public static void SecondaryColor3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glSecondaryColor3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3i")] public static void SecondaryColor3(Int32 red, Int32 green, Int32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3i((Int32)red, (Int32)green, (Int32)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")] public static unsafe void SecondaryColor3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")] public static void SecondaryColor3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")] public static void SecondaryColor3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3s")] public static void SecondaryColor3(Int16 red, Int16 green, Int16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3s((Int16)red, (Int16)green, (Int16)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")] public static unsafe void SecondaryColor3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")] public static void SecondaryColor3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")] public static void SecondaryColor3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ub")] public static void SecondaryColor3(Byte red, Byte green, Byte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ub((Byte)red, (Byte)green, (Byte)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")] public static unsafe void SecondaryColor3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ubv((Byte*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")] public static void SecondaryColor3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")] public static void SecondaryColor3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3ubv((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ui")] public static void SecondaryColor3(UInt32 red, UInt32 green, UInt32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")] public static void SecondaryColor3(ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")] public static unsafe void SecondaryColor3(UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3uiv((UInt32*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")] public static void SecondaryColor3(UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glSecondaryColor3uiv((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3us")] public static void SecondaryColor3(UInt16 red, UInt16 green, UInt16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")] public static void SecondaryColor3(ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")] public static unsafe void SecondaryColor3(UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3usv((UInt16*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")] public static void SecondaryColor3(UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glSecondaryColor3usv((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static unsafe void SelectBuffer(Int32 size, [Out] Int32* buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer); #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static void SelectBuffer(Int32 size, [Out] Int32[] buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffer_ptr = buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); } } #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static void SelectBuffer(Int32 size, [Out] out Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffer_ptr = &buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); buffer = *buffer_ptr; } } #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static void SelectBuffer(Int32 size, [Out] out UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffer_ptr = &buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); buffer = *buffer_ptr; } } #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer); #if DEBUG } #endif } /// /// Establish a buffer for selection mode values /// /// /// /// Specifies the size of buffer. /// /// /// /// /// Returns the selection data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")] public static void SelectBuffer(Int32 size, [Out] UInt32[] buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* buffer_ptr = buffer) { Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr); } } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] ref T7 column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,,] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")] public static void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, IntPtr column) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column); #if DEBUG } #endif } /// /// Select flat or smooth shading /// /// /// /// Specifies a symbolic value representing a shading technique. Accepted values are GL_FLAT and GL_SMOOTH. The initial value is GL_SMOOTH. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glShadeModel")] public static void ShadeModel(ShadingModel mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShadeModel((ShadingModel)mode); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")] public static unsafe void ShaderSource(Int32 shader, Int32 count, String[] @string, Int32* length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")] public static void ShaderSource(Int32 shader, Int32 count, String[] @string, ref Int32 length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr); } } #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")] public static unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length); #if DEBUG } #endif } /// /// Replaces the source code in a shader object /// /// /// /// Specifies the handle of the shader object whose source code is to be replaced. /// /// /// /// /// Specifies the number of elements in the string and length arrays. /// /// /// /// /// Specifies an array of pointers to strings containing the source code to be loaded into the shader. /// /// /// /// /// Specifies an array of string lengths. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")] public static void ShaderSource(UInt32 shader, Int32 count, String[] @string, ref Int32 length) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) { Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr); } } #if DEBUG } #endif } /// /// Set front and back function and reference value for stencil testing /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilFunc")] public static void StencilFunc(StencilFunction func, Int32 @ref, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFunc((StencilFunction)func, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and back function and reference value for stencil testing /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilFunc")] public static void StencilFunc(StencilFunction func, Int32 @ref, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFunc((StencilFunction)func, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and/or back function and reference value for stencil testing /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilFuncSeparate")] public static void StencilFuncSeparate(StencilFace face, StencilFunction func, Int32 @ref, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFuncSeparate((StencilFace)face, (StencilFunction)func, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and/or back function and reference value for stencil testing /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS. /// /// /// /// /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0. /// /// /// /// /// Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilFuncSeparate")] public static void StencilFuncSeparate(StencilFace face, StencilFunction func, Int32 @ref, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilFuncSeparate((StencilFace)face, (StencilFunction)func, (Int32)@ref, (UInt32)mask); #if DEBUG } #endif } /// /// Control the front and back writing of individual bits in the stencil planes /// /// /// /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilMask")] public static void StencilMask(Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilMask((UInt32)mask); #if DEBUG } #endif } /// /// Control the front and back writing of individual bits in the stencil planes /// /// /// /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilMask")] public static void StencilMask(UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilMask((UInt32)mask); #if DEBUG } #endif } /// /// Control the front and/or back writing of individual bits in the stencil planes /// /// /// /// Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilMaskSeparate")] public static void StencilMaskSeparate(StencilFace face, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilMaskSeparate((StencilFace)face, (UInt32)mask); #if DEBUG } #endif } /// /// Control the front and/or back writing of individual bits in the stencil planes /// /// /// /// Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilMaskSeparate")] public static void StencilMaskSeparate(StencilFace face, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilMaskSeparate((StencilFace)face, (UInt32)mask); #if DEBUG } #endif } /// /// Set front and back stencil test actions /// /// /// /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilOp")] public static void StencilOp(StencilOp fail, StencilOp zfail, StencilOp zpass) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilOp((StencilOp)fail, (StencilOp)zfail, (StencilOp)zpass); #if DEBUG } #endif } /// /// Set front and/or back stencil test actions /// /// /// /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. /// /// /// /// /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// /// /// /// Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilOpSeparate")] public static void StencilOpSeparate(StencilFace face, StencilOp sfail, StencilOp dpfail, StencilOp dppass) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilOpSeparate((StencilFace)face, (StencilOp)sfail, (StencilOp)dpfail, (StencilOp)dppass); #if DEBUG } #endif } [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glTexBuffer")] public static void TexBuffer(TextureBufferTarget target, SizedInternalFormat internalformat, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBuffer((TextureBufferTarget)target, (SizedInternalFormat)internalformat, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glTexBuffer")] public static void TexBuffer(TextureBufferTarget target, SizedInternalFormat internalformat, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBuffer((TextureBufferTarget)target, (SizedInternalFormat)internalformat, (UInt32)buffer); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1d")] public static void TexCoord1(Double s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1d((Double)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1dv")] public static unsafe void TexCoord1(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1dv((Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1f")] public static void TexCoord1(Single s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1f((Single)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1fv")] public static unsafe void TexCoord1(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1fv((Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1i")] public static void TexCoord1(Int32 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1i((Int32)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1iv")] public static unsafe void TexCoord1(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1s")] public static void TexCoord1(Int16 s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1s((Int16)s); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1sv")] public static unsafe void TexCoord1(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2d")] public static void TexCoord2(Double s, Double t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2d((Double)s, (Double)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")] public static unsafe void TexCoord2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2dv((Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")] public static void TexCoord2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")] public static void TexCoord2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2f")] public static void TexCoord2(Single s, Single t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2f((Single)s, (Single)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")] public static void TexCoord2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")] public static unsafe void TexCoord2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fv((Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")] public static void TexCoord2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2i")] public static void TexCoord2(Int32 s, Int32 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2i((Int32)s, (Int32)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")] public static unsafe void TexCoord2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")] public static void TexCoord2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")] public static void TexCoord2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2s")] public static void TexCoord2(Int16 s, Int16 t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2s((Int16)s, (Int16)t); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")] public static unsafe void TexCoord2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")] public static void TexCoord2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")] public static void TexCoord2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3d")] public static void TexCoord3(Double s, Double t, Double r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3d((Double)s, (Double)t, (Double)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")] public static unsafe void TexCoord3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3dv((Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")] public static void TexCoord3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")] public static void TexCoord3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3f")] public static void TexCoord3(Single s, Single t, Single r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3f((Single)s, (Single)t, (Single)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")] public static void TexCoord3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")] public static unsafe void TexCoord3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3fv((Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")] public static void TexCoord3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3i")] public static void TexCoord3(Int32 s, Int32 t, Int32 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3i((Int32)s, (Int32)t, (Int32)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")] public static unsafe void TexCoord3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")] public static void TexCoord3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")] public static void TexCoord3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3s")] public static void TexCoord3(Int16 s, Int16 t, Int16 r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3s((Int16)s, (Int16)t, (Int16)r); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")] public static unsafe void TexCoord3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")] public static void TexCoord3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")] public static void TexCoord3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4d")] public static void TexCoord4(Double s, Double t, Double r, Double q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4d((Double)s, (Double)t, (Double)r, (Double)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")] public static unsafe void TexCoord4(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4dv((Double*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")] public static void TexCoord4(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glTexCoord4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")] public static void TexCoord4(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glTexCoord4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4f")] public static void TexCoord4(Single s, Single t, Single r, Single q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4f((Single)s, (Single)t, (Single)r, (Single)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")] public static void TexCoord4(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")] public static unsafe void TexCoord4(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4fv((Single*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")] public static void TexCoord4(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glTexCoord4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4i")] public static void TexCoord4(Int32 s, Int32 t, Int32 r, Int32 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4i((Int32)s, (Int32)t, (Int32)r, (Int32)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")] public static unsafe void TexCoord4(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4iv((Int32*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")] public static void TexCoord4(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glTexCoord4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")] public static void TexCoord4(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTexCoord4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4s")] public static void TexCoord4(Int16 s, Int16 t, Int16 r, Int16 q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4s((Int16)s, (Int16)t, (Int16)r, (Int16)q); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")] public static unsafe void TexCoord4(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4sv((Int16*)v); #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")] public static void TexCoord4(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glTexCoord4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current texture coordinates /// /// /// /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")] public static void TexCoord4(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTexCoord4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvf")] public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexEnvf((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvfv")] public static unsafe void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvfv")] public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvi")] public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexEnvi((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnviv")] public static unsafe void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set texture environment parameters /// /// /// /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE. /// /// /// /// /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE. /// /// /// /// /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnviv")] public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGend")] public static void TexGend(TextureCoordName coord, TextureGenParameter pname, Double param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGend((TextureCoordName)coord, (TextureGenParameter)pname, (Double)param); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")] public static unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenf")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGenf((TextureCoordName)coord, (TextureGenParameter)pname, (Single)param); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenfv")] public static unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenfv")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeni")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGeni((TextureCoordName)coord, (TextureGenParameter)pname, (Int32)param); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeniv")] public static unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Control the generation of texture coordinates /// /// /// /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q. /// /// /// /// /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE. /// /// /// /// /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeniv")] public static void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")] public static void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T7 pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")] public static void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")] public static void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")] public static void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")] public static void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Specify a two-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")] public static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")] public static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")] public static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")] public static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")] public static void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glTexImage2DMultisample")] public static void TexImage2DMultisample(ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage2DMultisample((ArbTextureMultisample)target, (Int32)samples, (Int32)internalformat, (Int32)width, (Int32)height, (bool)fixedsamplelocations); #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glTexImage3DMultisample")] public static void TexImage3DMultisample(ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage3DMultisample((ArbTextureMultisample)target, (Int32)samples, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)depth, (bool)fixedsamplelocations); #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterf")] public static void TexParameter(TextureTarget target, TextureParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterf((TextureTarget)target, (TextureParameterName)pname, (Single)param); #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterfv")] public static unsafe void TexParameter(TextureTarget target, TextureParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterfv((TextureTarget)target, (TextureParameterName)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterfv")] public static void TexParameter(TextureTarget target, TextureParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTexParameterfv((TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteri")] public static void TexParameter(TextureTarget target, TextureParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameteri((TextureTarget)target, (TextureParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")] public static unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")] public static unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteriv")] public static unsafe void TexParameter(TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameteriv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set texture parameters /// /// /// /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP. /// /// /// /// /// Specifies the value of pname. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteriv")] public static void TexParameter(TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameteriv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T6 pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTransformFeedbackVaryings")] public static void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, TransformFeedbackMode bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryings((UInt32)program, (Int32)count, (String[])varyings, (TransformFeedbackMode)bufferMode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTransformFeedbackVaryings")] public static void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, TransformFeedbackMode bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryings((UInt32)program, (Int32)count, (String[])varyings, (TransformFeedbackMode)bufferMode); #if DEBUG } #endif } /// /// Multiply the current matrix by a translation matrix /// /// /// /// Specify the x, y, and z coordinates of a translation vector. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTranslated")] public static void Translate(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTranslated((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Multiply the current matrix by a translation matrix /// /// /// /// Specify the x, y, and z coordinates of a translation vector. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTranslatef")] public static void Translate(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTranslatef((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1f")] public static void Uniform1(Int32 location, Single v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1f((Int32)location, (Single)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")] public static void Uniform1(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")] public static unsafe void Uniform1(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")] public static void Uniform1(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1i")] public static void Uniform1(Int32 location, Int32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1i((Int32)location, (Int32)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")] public static unsafe void Uniform1(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")] public static void Uniform1(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")] public static void Uniform1(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1ui")] public static void Uniform1(Int32 location, UInt32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1ui((Int32)location, (UInt32)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")] public static void Uniform1(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")] public static unsafe void Uniform1(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")] public static void Uniform1(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2f")] public static void Uniform2(Int32 location, Single v0, Single v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2f((Int32)location, (Single)v0, (Single)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")] public static void Uniform2(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")] public static unsafe void Uniform2(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")] public static void Uniform2(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2i")] public static void Uniform2(Int32 location, Int32 v0, Int32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2i((Int32)location, (Int32)v0, (Int32)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2iv")] public static unsafe void Uniform2(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2iv")] public static void Uniform2(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2ui")] public static void Uniform2(Int32 location, UInt32 v0, UInt32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2ui((Int32)location, (UInt32)v0, (UInt32)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")] public static void Uniform2(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")] public static unsafe void Uniform2(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")] public static void Uniform2(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3f")] public static void Uniform3(Int32 location, Single v0, Single v1, Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3f((Int32)location, (Single)v0, (Single)v1, (Single)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")] public static void Uniform3(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")] public static unsafe void Uniform3(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")] public static void Uniform3(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3i")] public static void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")] public static unsafe void Uniform3(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")] public static void Uniform3(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")] public static void Uniform3(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3ui")] public static void Uniform3(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3ui((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")] public static void Uniform3(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")] public static unsafe void Uniform3(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")] public static void Uniform3(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4f")] public static void Uniform4(Int32 location, Single v0, Single v1, Single v2, Single v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4f((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")] public static void Uniform4(Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")] public static unsafe void Uniform4(Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")] public static void Uniform4(Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4i")] public static void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")] public static unsafe void Uniform4(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")] public static void Uniform4(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")] public static void Uniform4(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4ui")] public static void Uniform4(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4ui((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")] public static void Uniform4(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")] public static unsafe void Uniform4(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")] public static void Uniform4(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glUniformBlockBinding")] public static void UniformBlockBinding(Int32 program, Int32 uniformBlockIndex, Int32 uniformBlockBinding) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformBlockBinding((UInt32)program, (UInt32)uniformBlockIndex, (UInt32)uniformBlockBinding); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glUniformBlockBinding")] public static void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformBlockBinding((UInt32)program, (UInt32)uniformBlockIndex, (UInt32)uniformBlockBinding); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")] public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")] public static unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")] public static void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")] public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")] public static unsafe void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")] public static void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")] public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")] public static unsafe void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")] public static void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")] public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")] public static unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")] public static void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")] public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")] public static unsafe void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")] public static void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")] public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")] public static unsafe void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")] public static void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")] public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")] public static unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")] public static void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")] public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")] public static unsafe void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")] public static void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")] public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")] public static unsafe void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")] public static void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glUnmapBuffer")] public static bool UnmapBuffer(BufferTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glUnmapBuffer((BufferTarget)target); #if DEBUG } #endif } /// /// Installs a program object as part of current rendering state /// /// /// /// Specifies the handle of the program object whose executables are to be used as part of current rendering state. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUseProgram")] public static void UseProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUseProgram((UInt32)program); #if DEBUG } #endif } /// /// Installs a program object as part of current rendering state /// /// /// /// Specifies the handle of the program object whose executables are to be used as part of current rendering state. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUseProgram")] public static void UseProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUseProgram((UInt32)program); #if DEBUG } #endif } /// /// Validates a program object /// /// /// /// Specifies the handle of the program object to be validated. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glValidateProgram")] public static void ValidateProgram(Int32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glValidateProgram((UInt32)program); #if DEBUG } #endif } /// /// Validates a program object /// /// /// /// Specifies the handle of the program object to be validated. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glValidateProgram")] public static void ValidateProgram(UInt32 program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glValidateProgram((UInt32)program); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2d")] public static void Vertex2(Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2d((Double)x, (Double)y); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")] public static unsafe void Vertex2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2dv((Double*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")] public static void Vertex2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")] public static void Vertex2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2f")] public static void Vertex2(Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2f((Single)x, (Single)y); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")] public static void Vertex2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")] public static unsafe void Vertex2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2fv((Single*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")] public static void Vertex2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2i")] public static void Vertex2(Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2i((Int32)x, (Int32)y); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")] public static unsafe void Vertex2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2iv((Int32*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")] public static void Vertex2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")] public static void Vertex2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2s")] public static void Vertex2(Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2s((Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")] public static unsafe void Vertex2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2sv((Int16*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")] public static void Vertex2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")] public static void Vertex2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3d")] public static void Vertex3(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3d((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")] public static unsafe void Vertex3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3dv((Double*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")] public static void Vertex3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")] public static void Vertex3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3f")] public static void Vertex3(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3f((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")] public static void Vertex3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")] public static unsafe void Vertex3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3fv((Single*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")] public static void Vertex3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3i")] public static void Vertex3(Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3i((Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")] public static unsafe void Vertex3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3iv((Int32*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")] public static void Vertex3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")] public static void Vertex3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3s")] public static void Vertex3(Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3s((Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")] public static unsafe void Vertex3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3sv((Int16*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")] public static void Vertex3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")] public static void Vertex3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4d")] public static void Vertex4(Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4d((Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")] public static unsafe void Vertex4(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4dv((Double*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")] public static void Vertex4(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertex4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")] public static void Vertex4(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertex4dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4f")] public static void Vertex4(Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4f((Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")] public static void Vertex4(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertex4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")] public static unsafe void Vertex4(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4fv((Single*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")] public static void Vertex4(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertex4fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4i")] public static void Vertex4(Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4i((Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")] public static unsafe void Vertex4(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4iv((Int32*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")] public static void Vertex4(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertex4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")] public static void Vertex4(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertex4iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4s")] public static void Vertex4(Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4s((Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")] public static unsafe void Vertex4(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4sv((Int16*)v); #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")] public static void Vertex4(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertex4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify a vertex /// /// /// /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command. /// /// [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")] public static void Vertex4(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertex4sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1d")] public static void VertexAttrib1(Int32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1d((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1d")] public static void VertexAttrib1(UInt32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1d((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1dv")] public static unsafe void VertexAttrib1(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1dv")] public static unsafe void VertexAttrib1(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1f")] public static void VertexAttrib1(Int32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1f((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1f")] public static void VertexAttrib1(UInt32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1f((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1fv")] public static unsafe void VertexAttrib1(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1fv")] public static unsafe void VertexAttrib1(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1s")] public static void VertexAttrib1(Int32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1s((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1s")] public static void VertexAttrib1(UInt32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1s((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1sv")] public static unsafe void VertexAttrib1(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1sv")] public static unsafe void VertexAttrib1(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2d")] public static void VertexAttrib2(Int32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2d")] public static void VertexAttrib2(UInt32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static unsafe void VertexAttrib2(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static void VertexAttrib2(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static void VertexAttrib2(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static unsafe void VertexAttrib2(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static void VertexAttrib2(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")] public static void VertexAttrib2(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2f")] public static void VertexAttrib2(Int32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2f")] public static void VertexAttrib2(UInt32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static void VertexAttrib2(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static unsafe void VertexAttrib2(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static void VertexAttrib2(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static void VertexAttrib2(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static unsafe void VertexAttrib2(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")] public static void VertexAttrib2(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2s")] public static void VertexAttrib2(Int32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2s")] public static void VertexAttrib2(UInt32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static unsafe void VertexAttrib2(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static void VertexAttrib2(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static void VertexAttrib2(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static unsafe void VertexAttrib2(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static void VertexAttrib2(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")] public static void VertexAttrib2(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3d")] public static void VertexAttrib3(Int32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3d")] public static void VertexAttrib3(UInt32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static unsafe void VertexAttrib3(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static void VertexAttrib3(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static void VertexAttrib3(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static unsafe void VertexAttrib3(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static void VertexAttrib3(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")] public static void VertexAttrib3(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3f")] public static void VertexAttrib3(Int32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3f")] public static void VertexAttrib3(UInt32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static void VertexAttrib3(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static unsafe void VertexAttrib3(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static void VertexAttrib3(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static void VertexAttrib3(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static unsafe void VertexAttrib3(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")] public static void VertexAttrib3(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3s")] public static void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3s")] public static void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static unsafe void VertexAttrib3(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static void VertexAttrib3(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static void VertexAttrib3(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static unsafe void VertexAttrib3(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static void VertexAttrib3(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")] public static void VertexAttrib3(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")] public static void VertexAttrib4(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")] public static unsafe void VertexAttrib4(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")] public static void VertexAttrib4(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4d")] public static void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4d")] public static void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static unsafe void VertexAttrib4(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static void VertexAttrib4(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static void VertexAttrib4(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static unsafe void VertexAttrib4(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static void VertexAttrib4(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")] public static void VertexAttrib4(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4f")] public static void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4f")] public static void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static void VertexAttrib4(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static unsafe void VertexAttrib4(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static void VertexAttrib4(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static void VertexAttrib4(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static unsafe void VertexAttrib4(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")] public static void VertexAttrib4(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static unsafe void VertexAttrib4(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static void VertexAttrib4(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static void VertexAttrib4(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static unsafe void VertexAttrib4(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static void VertexAttrib4(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")] public static void VertexAttrib4(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")] public static void VertexAttrib4N(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")] public static unsafe void VertexAttrib4N(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")] public static void VertexAttrib4N(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static unsafe void VertexAttrib4N(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static void VertexAttrib4N(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static void VertexAttrib4N(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static unsafe void VertexAttrib4N(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static void VertexAttrib4N(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")] public static void VertexAttrib4N(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static unsafe void VertexAttrib4N(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static void VertexAttrib4N(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static void VertexAttrib4N(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static unsafe void VertexAttrib4N(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static void VertexAttrib4N(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")] public static void VertexAttrib4N(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nub")] public static void VertexAttrib4N(Int32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nub")] public static void VertexAttrib4N(UInt32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static unsafe void VertexAttrib4N(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static void VertexAttrib4N(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static void VertexAttrib4N(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static unsafe void VertexAttrib4N(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static void VertexAttrib4N(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")] public static void VertexAttrib4N(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")] public static void VertexAttrib4N(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")] public static unsafe void VertexAttrib4N(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")] public static void VertexAttrib4N(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")] public static void VertexAttrib4N(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")] public static unsafe void VertexAttrib4N(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")] public static void VertexAttrib4N(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4s")] public static void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4s")] public static void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static unsafe void VertexAttrib4(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static void VertexAttrib4(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static void VertexAttrib4(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static unsafe void VertexAttrib4(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static void VertexAttrib4(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")] public static void VertexAttrib4(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static unsafe void VertexAttrib4(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static void VertexAttrib4(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static void VertexAttrib4(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static unsafe void VertexAttrib4(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static void VertexAttrib4(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")] public static void VertexAttrib4(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")] public static void VertexAttrib4(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")] public static unsafe void VertexAttrib4(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")] public static void VertexAttrib4(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")] public static void VertexAttrib4(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")] public static unsafe void VertexAttrib4(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")] public static void VertexAttrib4(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1i")] public static void VertexAttribI1(Int32 index, Int32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1i((UInt32)index, (Int32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1i")] public static void VertexAttribI1(UInt32 index, Int32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1i((UInt32)index, (Int32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1iv")] public static unsafe void VertexAttribI1(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1iv")] public static unsafe void VertexAttribI1(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1ui")] public static void VertexAttribI1(UInt32 index, UInt32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1ui((UInt32)index, (UInt32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1uiv")] public static unsafe void VertexAttribI1(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1uiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2i")] public static void VertexAttribI2(Int32 index, Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2i((UInt32)index, (Int32)x, (Int32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2i")] public static void VertexAttribI2(UInt32 index, Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2i((UInt32)index, (Int32)x, (Int32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static unsafe void VertexAttribI2(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static void VertexAttribI2(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static void VertexAttribI2(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static unsafe void VertexAttribI2(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static void VertexAttribI2(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")] public static void VertexAttribI2(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2ui")] public static void VertexAttribI2(UInt32 index, UInt32 x, UInt32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2ui((UInt32)index, (UInt32)x, (UInt32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")] public static void VertexAttribI2(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")] public static unsafe void VertexAttribI2(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")] public static void VertexAttribI2(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3i")] public static void VertexAttribI3(Int32 index, Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3i((UInt32)index, (Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3i")] public static void VertexAttribI3(UInt32 index, Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3i((UInt32)index, (Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static unsafe void VertexAttribI3(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static void VertexAttribI3(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static void VertexAttribI3(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static unsafe void VertexAttribI3(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static void VertexAttribI3(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")] public static void VertexAttribI3(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3ui")] public static void VertexAttribI3(UInt32 index, UInt32 x, UInt32 y, UInt32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3ui((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")] public static void VertexAttribI3(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")] public static unsafe void VertexAttribI3(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")] public static void VertexAttribI3(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")] public static void VertexAttribI4(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")] public static unsafe void VertexAttribI4(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")] public static void VertexAttribI4(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4i")] public static void VertexAttribI4(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4i((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4i")] public static void VertexAttribI4(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4i((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static unsafe void VertexAttribI4(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static void VertexAttribI4(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static void VertexAttribI4(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static unsafe void VertexAttribI4(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static void VertexAttribI4(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")] public static void VertexAttribI4(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static unsafe void VertexAttribI4(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static void VertexAttribI4(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static void VertexAttribI4(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static unsafe void VertexAttribI4(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static void VertexAttribI4(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")] public static void VertexAttribI4(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static unsafe void VertexAttribI4(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static void VertexAttribI4(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static void VertexAttribI4(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static unsafe void VertexAttribI4(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static void VertexAttribI4(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")] public static void VertexAttribI4(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ui")] public static void VertexAttribI4(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ui((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")] public static void VertexAttribI4(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")] public static unsafe void VertexAttribI4(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")] public static void VertexAttribI4(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")] public static void VertexAttribI4(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")] public static unsafe void VertexAttribI4(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")] public static void VertexAttribI4(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")] public static void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] ref T5 pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] ref T5 pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[] pointer) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")] public static void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Set the viewport /// /// /// /// Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0). /// /// /// /// /// Specify the width and height of the viewport. When a GL context is first attached to a window, width and height are set to the dimensions of that window. /// /// [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glViewport")] public static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glViewport((Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glWaitSync")] public static void WaitSync(IntPtr sync, Int32 flags, Int64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glWaitSync")] public static void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2d")] public static void WindowPos2(Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2d((Double)x, (Double)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")] public static unsafe void WindowPos2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2dv((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")] public static void WindowPos2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")] public static void WindowPos2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2f")] public static void WindowPos2(Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2f((Single)x, (Single)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")] public static void WindowPos2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")] public static unsafe void WindowPos2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2fv((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")] public static void WindowPos2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2i")] public static void WindowPos2(Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2i((Int32)x, (Int32)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")] public static unsafe void WindowPos2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2iv((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")] public static void WindowPos2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")] public static void WindowPos2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2s")] public static void WindowPos2(Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2s((Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")] public static unsafe void WindowPos2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2sv((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")] public static void WindowPos2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")] public static void WindowPos2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3d")] public static void WindowPos3(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3d((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")] public static unsafe void WindowPos3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3dv((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")] public static void WindowPos3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")] public static void WindowPos3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dv((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3f")] public static void WindowPos3(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3f((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")] public static void WindowPos3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")] public static unsafe void WindowPos3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3fv((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")] public static void WindowPos3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fv((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3i")] public static void WindowPos3(Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3i((Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")] public static unsafe void WindowPos3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3iv((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")] public static void WindowPos3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")] public static void WindowPos3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3iv((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3s")] public static void WindowPos3(Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3s((Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")] public static unsafe void WindowPos3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3sv((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")] public static void WindowPos3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3sv((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")] public static void WindowPos3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3sv((Int16*)v_ptr); } } #if DEBUG } #endif } public static partial class Ext { [AutoGenerated(Category = "ExtStencilTwoSide", Version = "1.3", EntryPoint = "glActiveStencilFaceEXT")] public static void ActiveStencilFace(ExtStencilTwoSide face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glActiveStencilFaceEXT((ExtStencilTwoSide)face); #if DEBUG } #endif } [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glApplyTextureEXT")] public static void ApplyTexture(ExtLightTexture mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glApplyTextureEXT((ExtLightTexture)mode); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static unsafe bool AreTexturesResident(Int32 n, Int32* textures, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (bool*)residences); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static bool AreTexturesResident(Int32 n, Int32[] textures, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) fixed (bool* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static bool AreTexturesResident(Int32 n, ref Int32 textures, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static bool AreTexturesResident(Int32 n, ref UInt32 textures, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (bool*)residences); #if DEBUG } #endif } /// /// Determine if textures are loaded in texture memory /// /// /// /// Specifies the number of textures to be queried. /// /// /// /// /// Specifies an array containing the names of the textures to be queried. /// /// /// /// /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")] public static bool AreTexturesResident(Int32 n, UInt32[] textures, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) fixed (bool* residences_ptr = residences) { return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } /// /// Render a vertex using the specified vertex array element /// /// /// /// Specifies an index into the enabled vertex data arrays. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glArrayElementEXT")] public static void ArrayElement(Int32 i) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glArrayElementEXT((Int32)i); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBeginTransformFeedbackEXT")] public static void BeginTransformFeedback(ExtTransformFeedback primitiveMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginTransformFeedbackEXT((ExtTransformFeedback)primitiveMode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBeginVertexShaderEXT")] public static void BeginVertexShader() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginVertexShaderEXT(); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferBaseEXT")] public static void BindBufferBase(ExtTransformFeedback target, Int32 index, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBaseEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferBaseEXT")] public static void BindBufferBase(ExtTransformFeedback target, UInt32 index, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBaseEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferOffsetEXT")] public static void BindBufferOffset(ExtTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferOffsetEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferOffsetEXT")] public static void BindBufferOffset(ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferOffsetEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferRangeEXT")] public static void BindBufferRange(ExtTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRangeEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferRangeEXT")] public static void BindBufferRange(ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRangeEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glBindFragDataLocationEXT")] public static void BindFragDataLocation(Int32 program, Int32 color, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glBindFragDataLocationEXT")] public static void BindFragDataLocation(UInt32 program, UInt32 color, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (String)name); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindFramebufferEXT")] public static void BindFramebuffer(FramebufferTarget target, Int32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFramebufferEXT((FramebufferTarget)target, (UInt32)framebuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindFramebufferEXT")] public static void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindFramebufferEXT((FramebufferTarget)target, (UInt32)framebuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindLightParameterEXT")] public static Int32 BindLightParameter(LightName light, LightParameter value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glBindLightParameterEXT((LightName)light, (LightParameter)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindMaterialParameterEXT")] public static Int32 BindMaterialParameter(MaterialFace face, MaterialParameter value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glBindMaterialParameterEXT((MaterialFace)face, (MaterialParameter)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glBindMultiTextureEXT")] public static void BindMultiTexture(TextureUnit texunit, TextureTarget target, Int32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindMultiTextureEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glBindMultiTextureEXT")] public static void BindMultiTexture(TextureUnit texunit, TextureTarget target, UInt32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindMultiTextureEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindParameterEXT")] public static Int32 BindParameter(ExtVertexShader value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glBindParameterEXT((ExtVertexShader)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindRenderbufferEXT")] public static void BindRenderbuffer(RenderbufferTarget target, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindRenderbufferEXT((RenderbufferTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindRenderbufferEXT")] public static void BindRenderbuffer(RenderbufferTarget target, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindRenderbufferEXT((RenderbufferTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindTexGenParameterEXT")] public static Int32 BindTexGenParameter(TextureUnit unit, TextureCoordName coord, TextureGenParameter value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glBindTexGenParameterEXT((TextureUnit)unit, (TextureCoordName)coord, (TextureGenParameter)value); #if DEBUG } #endif } /// /// Bind a named texture to a texturing target /// /// /// /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the name of a texture. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glBindTextureEXT")] public static void BindTexture(TextureTarget target, Int32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTextureEXT((TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } /// /// Bind a named texture to a texturing target /// /// /// /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP. /// /// /// /// /// Specifies the name of a texture. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glBindTextureEXT")] public static void BindTexture(TextureTarget target, UInt32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTextureEXT((TextureTarget)target, (UInt32)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindTextureUnitParameterEXT")] public static Int32 BindTextureUnitParameter(TextureUnit unit, ExtVertexShader value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glBindTextureUnitParameterEXT((TextureUnit)unit, (ExtVertexShader)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindVertexShaderEXT")] public static void BindVertexShader(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexShaderEXT((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindVertexShaderEXT")] public static void BindVertexShader(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindVertexShaderEXT((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bEXT")] public static void Binormal3(Byte bx, Byte by, Byte bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bEXT")] public static void Binormal3(SByte bx, SByte by, SByte bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static unsafe void Binormal3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3bvEXT((SByte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static void Binormal3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static void Binormal3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static void Binormal3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static unsafe void Binormal3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3bvEXT((SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")] public static void Binormal3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glBinormal3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dEXT")] public static void Binormal3(Double bx, Double by, Double bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3dEXT((Double)bx, (Double)by, (Double)bz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")] public static unsafe void Binormal3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3dvEXT((Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")] public static void Binormal3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glBinormal3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")] public static void Binormal3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glBinormal3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fEXT")] public static void Binormal3(Single bx, Single by, Single bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3fEXT((Single)bx, (Single)by, (Single)bz); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")] public static void Binormal3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glBinormal3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")] public static unsafe void Binormal3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3fvEXT((Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")] public static void Binormal3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glBinormal3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3iEXT")] public static void Binormal3(Int32 bx, Int32 by, Int32 bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3iEXT((Int32)bx, (Int32)by, (Int32)bz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")] public static unsafe void Binormal3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3ivEXT((Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")] public static void Binormal3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glBinormal3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")] public static void Binormal3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glBinormal3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3sEXT")] public static void Binormal3(Int16 bx, Int16 by, Int16 bz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3sEXT((Int16)bx, (Int16)by, (Int16)bz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")] public static unsafe void Binormal3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormal3svEXT((Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")] public static void Binormal3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glBinormal3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")] public static void Binormal3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glBinormal3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")] public static void BinormalPointer(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")] public static void BinormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")] public static void BinormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")] public static void BinormalPointer(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")] public static void BinormalPointer(NormalPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Set the blend color /// /// /// /// specify the components of GL_BLEND_COLOR /// /// [AutoGenerated(Category = "ExtBlendColor", Version = "1.0", EntryPoint = "glBlendColorEXT")] public static void BlendColor(Single red, Single green, Single blue, Single alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendColorEXT((Single)red, (Single)green, (Single)blue, (Single)alpha); #if DEBUG } #endif } /// /// Specify the equation used for both the RGB blend equation and the Alpha blend equation /// /// /// /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "ExtBlendMinmax", Version = "1.0", EntryPoint = "glBlendEquationEXT")] public static void BlendEquation(ExtBlendMinmax mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationEXT((ExtBlendMinmax)mode); #if DEBUG } #endif } /// /// Set the RGB blend equation and the alpha blend equation separately /// /// /// /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// /// /// /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX. /// /// [AutoGenerated(Category = "ExtBlendEquationSeparate", Version = "1.2", EntryPoint = "glBlendEquationSeparateEXT")] public static void BlendEquationSeparate(ExtBlendEquationSeparate modeRGB, ExtBlendEquationSeparate modeAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendEquationSeparateEXT((ExtBlendEquationSeparate)modeRGB, (ExtBlendEquationSeparate)modeAlpha); #if DEBUG } #endif } /// /// Specify pixel arithmetic for RGB and alpha components separately /// /// /// /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// /// /// /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. /// /// /// /// /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "ExtBlendFuncSeparate", Version = "1.0", EntryPoint = "glBlendFuncSeparateEXT")] public static void BlendFuncSeparate(ExtBlendFuncSeparate sfactorRGB, ExtBlendFuncSeparate dfactorRGB, ExtBlendFuncSeparate sfactorAlpha, ExtBlendFuncSeparate dfactorAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparateEXT((ExtBlendFuncSeparate)sfactorRGB, (ExtBlendFuncSeparate)dfactorRGB, (ExtBlendFuncSeparate)sfactorAlpha, (ExtBlendFuncSeparate)dfactorAlpha); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferBlit", Version = "1.5", EntryPoint = "glBlitFramebufferEXT")] public static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, ExtFramebufferBlit filter) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlitFramebufferEXT((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (ClearBufferMask)mask, (ExtFramebufferBlit)filter); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glCheckFramebufferStatusEXT")] public static FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCheckFramebufferStatusEXT((FramebufferTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCheckNamedFramebufferStatusEXT")] public static ExtDirectStateAccess CheckNamedFramebufferStatus(Int32 framebuffer, FramebufferTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCheckNamedFramebufferStatusEXT((UInt32)framebuffer, (FramebufferTarget)target); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCheckNamedFramebufferStatusEXT")] public static ExtDirectStateAccess CheckNamedFramebufferStatus(UInt32 framebuffer, FramebufferTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glCheckNamedFramebufferStatusEXT((UInt32)framebuffer, (FramebufferTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glClearColorIiEXT")] public static void ClearColorI(Int32 red, Int32 green, Int32 blue, Int32 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearColorIiEXT((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glClearColorIuiEXT")] public static void ClearColorI(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glClientAttribDefaultEXT")] public static void ClientAttribDefault(ClientAttribMask mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClientAttribDefaultEXT((ClientAttribMask)mask); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glColorMaskIndexedEXT")] public static void ColorMaskIndexed(Int32 index, bool r, bool g, bool b, bool a) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMaskIndexedEXT((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glColorMaskIndexedEXT")] public static void ColorMaskIndexed(UInt32 index, bool r, bool g, bool b, bool a) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorMaskIndexedEXT((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a); #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")] public static void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer); #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] ref T5 data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,,] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[] data) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The number of table entries to replace. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")] public static void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data); #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")] public static void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr table) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")] public static void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")] public static void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")] public static void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")] public static void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")] public static void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")] public static void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")] public static void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")] public static void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")] public static void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")] public static void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")] public static void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")] public static void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")] public static void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")] public static void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")] public static void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")] public static void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")] public static void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")] public static void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")] public static void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")] public static void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")] public static void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")] public static void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")] public static void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")] public static void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")] public static void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")] public static void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")] public static void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")] public static void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")] public static void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")] public static void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")] public static void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")] public static void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")] public static void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")] public static void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")] public static void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned); try { Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject()); } finally { bits_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")] public static void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits); #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")] public static void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")] public static void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")] public static void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")] public static void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] image) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")] public static void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")] public static void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")] public static void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")] public static void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")] public static void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] image) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Define a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The width of the pixel array referenced by data. /// /// /// /// /// The height of the pixel array referenced by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")] public static void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfEXT")] public static void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameterfEXT((ExtConvolution)target, (ExtConvolution)pname, (Single)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfvEXT")] public static unsafe void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfvEXT")] public static void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameteriEXT")] public static void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameteriEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterivEXT")] public static unsafe void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set convolution parameters /// /// /// /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE. /// /// /// /// /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER. /// /// /// /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterivEXT")] public static void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Respecify a portion of a color table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The starting index of the portion of the color table to be replaced. /// /// /// /// /// The window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// The number of table entries to replace. /// /// [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glCopyColorSubTableEXT")] public static void CopyColorSubTable(ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy pixels into a one-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_1D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The window space coordinates of the lower-left coordinate of the pixel array to copy. /// /// /// /// /// The width of the pixel array to copy. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glCopyConvolutionFilter1DEXT")] public static void CopyConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy pixels into a two-dimensional convolution filter /// /// /// /// Must be GL_CONVOLUTION_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The window space coordinates of the lower-left coordinate of the pixel array to copy. /// /// /// /// /// The width of the pixel array to copy. /// /// /// /// /// The height of the pixel array to copy. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glCopyConvolutionFilter2DEXT")] public static void CopyConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexImage1DEXT")] public static void CopyMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexImage2DEXT")] public static void CopyMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage1DEXT")] public static void CopyMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage2DEXT")] public static void CopyMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage3DEXT")] public static void CopyMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Copy pixels into a 1D texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specify the window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexImage1DEXT")] public static void CopyTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexImage1DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); #if DEBUG } #endif } /// /// Copy pixels into a 2D texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . /// /// /// /// /// Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer . /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexImage2DEXT")] public static void CopyTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexImage2DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); #if DEBUG } #endif } /// /// Copy a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies the texel offset within the texture array. /// /// /// /// /// Specify the window coordinates of the left corner of the row of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage1DEXT")] public static void CopyTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Copy a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage2DEXT")] public static void CopyTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Copy a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage3DEXT")] public static void CopyTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage1DEXT")] public static void CopyTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage1DEXT")] public static void CopyTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage2DEXT")] public static void CopyTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage2DEXT")] public static void CopyTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage1DEXT")] public static void CopyTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage1DEXT")] public static void CopyTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage2DEXT")] public static void CopyTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage2DEXT")] public static void CopyTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage3DEXT")] public static void CopyTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage3DEXT")] public static void CopyTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")] public static unsafe void CullParameter(ExtCullVertex pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")] public static void CullParameter(ExtCullVertex pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")] public static void CullParameter(ExtCullVertex pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")] public static void CullParameter(ExtCullVertex pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")] public static unsafe void CullParameter(ExtCullVertex pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")] public static void CullParameter(ExtCullVertex pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static void DeleteFramebuffers(Int32 n, Int32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static void DeleteFramebuffers(Int32 n, ref Int32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static void DeleteFramebuffers(Int32 n, ref UInt32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")] public static void DeleteFramebuffers(Int32 n, UInt32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static unsafe void DeleteRenderbuffers(Int32 n, Int32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static void DeleteRenderbuffers(Int32 n, Int32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static void DeleteRenderbuffers(Int32 n, ref Int32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static void DeleteRenderbuffers(Int32 n, ref UInt32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")] public static void DeleteRenderbuffers(Int32 n, UInt32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static unsafe void DeleteTextures(Int32 n, Int32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static void DeleteTextures(Int32 n, Int32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static void DeleteTextures(Int32 n, ref Int32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static void DeleteTextures(Int32 n, ref UInt32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static unsafe void DeleteTextures(Int32 n, UInt32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Delete named textures /// /// /// /// Specifies the number of textures to be deleted. /// /// /// /// /// Specifies an array of textures to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")] public static void DeleteTextures(Int32 n, UInt32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDeleteVertexShaderEXT")] public static void DeleteVertexShader(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexShaderEXT((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDeleteVertexShaderEXT")] public static void DeleteVertexShader(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteVertexShaderEXT((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDepthBoundsTest", Version = "1.2", EntryPoint = "glDepthBoundsEXT")] public static void DepthBounds(Double zmin, Double zmax) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthBoundsEXT((Double)zmin, (Double)zmax); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glDisableClientStateIndexedEXT")] public static void DisableClientStateIndexed(EnableCap array, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableClientStateIndexedEXT((EnableCap)array, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glDisableClientStateIndexedEXT")] public static void DisableClientStateIndexed(EnableCap array, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableClientStateIndexedEXT((EnableCap)array, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glDisableIndexedEXT")] public static void DisableIndexed(ExtDrawBuffers2 target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glDisableIndexedEXT")] public static void DisableIndexed(ExtDrawBuffers2 target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDisableVariantClientStateEXT")] public static void DisableVariantClientState(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVariantClientStateEXT((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDisableVariantClientStateEXT")] public static void DisableVariantClientState(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDisableVariantClientStateEXT((UInt32)id); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the starting index in the enabled arrays. /// /// /// /// /// Specifies the number of indices to be rendered. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glDrawArraysEXT")] public static void DrawArrays(BeginMode mode, Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawArraysEXT((BeginMode)mode, (Int32)first, (Int32)count); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawArraysInstancedEXT")] public static void DrawArraysInstanced(BeginMode mode, Int32 start, Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawArraysInstancedEXT((BeginMode)mode, (Int32)start, (Int32)count, (Int32)primcount); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")] public static void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices); #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject()); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Specifies the minimum array index contained in indices. /// /// /// /// /// Specifies the maximum array index contained in indices. /// /// /// /// /// Specifies the number of elements to be rendered. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")] public static void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices); #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")] public static unsafe void EdgeFlagPointer(Int32 stride, Int32 count, bool* pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer); #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")] public static void EdgeFlagPointer(Int32 stride, Int32 count, bool[] pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* pointer_ptr = pointer) { Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer_ptr); } } #if DEBUG } #endif } /// /// Define an array of edge flags /// /// /// /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first edge flag in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")] public static void EdgeFlagPointer(Int32 stride, Int32 count, ref bool pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* pointer_ptr = &pointer) { Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glEnableClientStateIndexedEXT")] public static void EnableClientStateIndexed(EnableCap array, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableClientStateIndexedEXT((EnableCap)array, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glEnableClientStateIndexedEXT")] public static void EnableClientStateIndexed(EnableCap array, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableClientStateIndexedEXT((EnableCap)array, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glEnableIndexedEXT")] public static void EnableIndexed(ExtDrawBuffers2 target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glEnableIndexedEXT")] public static void EnableIndexed(ExtDrawBuffers2 target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEnableVariantClientStateEXT")] public static void EnableVariantClientState(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVariantClientStateEXT((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEnableVariantClientStateEXT")] public static void EnableVariantClientState(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEnableVariantClientStateEXT((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glEndTransformFeedbackEXT")] public static void EndTransformFeedback() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndTransformFeedbackEXT(); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEndVertexShaderEXT")] public static void EndVertexShader() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndVertexShaderEXT(); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glExtractComponentEXT")] public static void ExtractComponent(Int32 res, Int32 src, Int32 num) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glExtractComponentEXT")] public static void ExtractComponent(UInt32 res, UInt32 src, UInt32 num) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoorddEXT")] public static void FogCoord(Double coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoorddEXT((Double)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoorddvEXT")] public static unsafe void FogCoord(Double* coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoorddvEXT((Double*)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordfEXT")] public static void FogCoord(Single coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordfEXT((Single)coord); #if DEBUG } #endif } /// /// Set the current fog coordinates /// /// /// /// Specify the fog distance. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordfvEXT")] public static unsafe void FogCoord(Single* coord) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordfvEXT((Single*)coord); #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")] public static void FogCoordPointer(ExtFogCoord type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")] public static void FogCoordPointer(ExtFogCoord type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")] public static void FogCoordPointer(ExtFogCoord type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")] public static void FogCoordPointer(ExtFogCoord type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of fog coordinates /// /// /// /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")] public static void FogCoordPointer(ExtFogCoord type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBufferEXT")] public static void FramebufferDrawBuffer(Int32 framebuffer, DrawBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferDrawBufferEXT((UInt32)framebuffer, (DrawBufferMode)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBufferEXT")] public static void FramebufferDrawBuffer(UInt32 framebuffer, DrawBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferDrawBufferEXT((UInt32)framebuffer, (DrawBufferMode)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static unsafe void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, DrawBufferMode* bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, DrawBufferMode[] bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBufferMode* bufs_ptr = bufs) { Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, ref DrawBufferMode bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBufferMode* bufs_ptr = &bufs) { Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static unsafe void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, DrawBufferMode* bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, DrawBufferMode[] bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBufferMode* bufs_ptr = bufs) { Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")] public static void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, ref DrawBufferMode bufs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (DrawBufferMode* bufs_ptr = &bufs) { Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferReadBufferEXT")] public static void FramebufferReadBuffer(Int32 framebuffer, ReadBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferReadBufferEXT((UInt32)framebuffer, (ReadBufferMode)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferReadBufferEXT")] public static void FramebufferReadBuffer(UInt32 framebuffer, ReadBufferMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferReadBufferEXT((UInt32)framebuffer, (ReadBufferMode)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferRenderbufferEXT")] public static void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferRenderbufferEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferRenderbufferEXT")] public static void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferRenderbufferEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture1DEXT")] public static void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture1DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture1DEXT")] public static void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture1DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture2DEXT")] public static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture2DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture2DEXT")] public static void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture2DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture3DEXT")] public static void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture3DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture3DEXT")] public static void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTexture3DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureEXT")] public static void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureEXT")] public static void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureFaceEXT")] public static void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFaceEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureFaceEXT")] public static void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureFaceEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureLayerEXT")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayerEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureLayerEXT")] public static void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFramebufferTextureLayerEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenerateMipmapEXT")] public static void GenerateMipmap(GenerateMipmapTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenerateMipmapEXT((GenerateMipmapTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateMultiTexMipmapEXT")] public static void GenerateMultiTexMipmap(TextureUnit texunit, TextureTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenerateMultiTexMipmapEXT((TextureUnit)texunit, (TextureTarget)target); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateTextureMipmapEXT")] public static void GenerateTextureMipmap(Int32 texture, TextureTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenerateTextureMipmapEXT((UInt32)texture, (TextureTarget)target); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateTextureMipmapEXT")] public static void GenerateTextureMipmap(UInt32 texture, TextureTarget target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenerateTextureMipmapEXT((UInt32)texture, (TextureTarget)target); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static unsafe void GenFramebuffers(Int32 n, [Out] Int32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static void GenFramebuffers(Int32 n, [Out] Int32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static void GenFramebuffers(Int32 n, [Out] out Int32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static void GenFramebuffers(Int32 n, [Out] out UInt32 framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = &framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); framebuffers = *framebuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")] public static void GenFramebuffers(Int32 n, [Out] UInt32[] framebuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* framebuffers_ptr = framebuffers) { Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static unsafe void GenRenderbuffers(Int32 n, [Out] Int32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static void GenRenderbuffers(Int32 n, [Out] Int32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static void GenRenderbuffers(Int32 n, [Out] out Int32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static void GenRenderbuffers(Int32 n, [Out] out UInt32 renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = &renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); renderbuffers = *renderbuffers_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")] public static void GenRenderbuffers(Int32 n, [Out] UInt32[] renderbuffers) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* renderbuffers_ptr = renderbuffers) { Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenSymbolsEXT")] public static Int32 GenSymbol(ExtVertexShader datatype, ExtVertexShader storagetype, ExtVertexShader range, Int32 components) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenSymbolsEXT((ExtVertexShader)datatype, (ExtVertexShader)storagetype, (ExtVertexShader)range, (UInt32)components); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenSymbolsEXT")] public static Int32 GenSymbol(ExtVertexShader datatype, ExtVertexShader storagetype, ExtVertexShader range, UInt32 components) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenSymbolsEXT((ExtVertexShader)datatype, (ExtVertexShader)storagetype, (ExtVertexShader)range, (UInt32)components); #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static unsafe void GenTextures(Int32 n, [Out] Int32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static void GenTextures(Int32 n, [Out] Int32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static void GenTextures(Int32 n, [Out] out Int32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static void GenTextures(Int32 n, [Out] out UInt32 textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); textures = *textures_ptr; } } #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static unsafe void GenTextures(Int32 n, [Out] UInt32* textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures); #if DEBUG } #endif } /// /// Generate texture names /// /// /// /// Specifies the number of texture names to be generated. /// /// /// /// /// Specifies an array in which the generated texture names are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")] public static void GenTextures(Int32 n, [Out] UInt32[] textures) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) { Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenVertexShadersEXT")] public static Int32 GenVertexShaders(Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenVertexShadersEXT((UInt32)range); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenVertexShadersEXT")] public static Int32 GenVertexShaders(UInt32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenVertexShadersEXT((UInt32)range); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static unsafe void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static unsafe void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")] public static void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")] public static void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")] public static unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")] public static unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")] public static void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")] public static void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] ref T3 img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")] public static void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[,,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")] public static void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")] public static void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")] public static void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [Out] IntPtr img) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [In, Out] ref T3 img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [Out] IntPtr img) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] ref T3 img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[] img) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned); try { Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject()); } finally { img_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")] public static void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [Out] IntPtr img) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img); #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")] public static void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] ref T3 image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")] public static void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,,] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")] public static void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")] public static void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[] image) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned); try { Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject()); } finally { image_ptr.Free(); } #if DEBUG } #endif } /// /// Get current 1D or 2D convolution filter kernel /// /// /// /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D. /// /// /// /// /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the output image. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")] public static void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr image) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")] public static void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")] public static unsafe void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")] public static void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")] public static unsafe void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")] public static void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get convolution parameters /// /// /// /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT. /// /// /// /// /// Pointer to storage for the parameters to be retrieved. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")] public static void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static unsafe void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] Double* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] Double[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* data_ptr = data) { Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] out Double data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* data_ptr = &data) { Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static unsafe void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Double* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Double[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* data_ptr = data) { Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")] public static void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] out Double data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* data_ptr = &data) { Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static unsafe void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static unsafe void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")] public static void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetFragDataLocationEXT")] public static Int32 GetFragDataLocation(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetFragDataLocationEXT((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetFragDataLocationEXT")] public static Int32 GetFragDataLocation(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetFragDataLocationEXT((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")] public static unsafe void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")] public static void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")] public static void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static unsafe void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static unsafe void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")] public static void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")] public static void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")] public static void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")] public static void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")] public static void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get histogram table /// /// /// /// Must be GL_HISTOGRAM. /// /// /// /// /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified. /// /// /// /// /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned histogram table. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")] public static void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")] public static void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")] public static unsafe void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")] public static void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")] public static unsafe void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")] public static void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get histogram parameters /// /// /// /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK. /// /// /// /// /// Pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")] public static void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static unsafe void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static unsafe void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")] public static void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static unsafe void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static unsafe void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")] public static void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static unsafe void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static unsafe void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")] public static void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static unsafe void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static unsafe void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")] public static void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static unsafe void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static unsafe void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")] public static void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static unsafe void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static unsafe void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")] public static void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static unsafe void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static unsafe void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")] public static void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")] public static void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")] public static void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")] public static void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")] public static void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned); try { Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject()); } finally { values_ptr.Free(); } #if DEBUG } #endif } /// /// Get minimum and maximum pixel values /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered. /// /// /// /// /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// A pointer to storage for the returned values. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")] public static void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")] public static void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")] public static unsafe void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")] public static void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")] public static unsafe void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")] public static void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get minmax parameters /// /// /// /// Must be GL_MINMAX. /// /// /// /// /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK. /// /// /// /// /// A pointer to storage for the retrieved parameters. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")] public static void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")] public static void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")] public static unsafe void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")] public static void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")] public static unsafe void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")] public static void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")] public static void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")] public static unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")] public static unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")] public static unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")] public static void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")] public static void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")] public static void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")] public static void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")] public static void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")] public static void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")] public static void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")] public static unsafe void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")] public static void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")] public static unsafe void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")] public static void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")] public static void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")] public static void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")] public static unsafe void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")] public static void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")] public static unsafe void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")] public static void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")] public static void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")] public static void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")] public static unsafe void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")] public static void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")] public static unsafe void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")] public static void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")] public static void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static unsafe void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static unsafe void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")] public static void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [In, Out] ref T2 @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] ref T2 @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[] @params) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")] public static void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")] public static void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static unsafe void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static unsafe void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")] public static void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")] public static unsafe void GetNamedProgram(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")] public static void GetNamedProgram(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")] public static unsafe void GetNamedProgram(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")] public static void GetNamedProgram(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static unsafe void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static unsafe void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")] public static void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static unsafe void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static unsafe void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")] public static void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static unsafe void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static unsafe void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")] public static void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")] public static void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")] public static unsafe void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")] public static void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] ref T3 @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] ref T3 @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[] @string) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")] public static void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static unsafe void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static unsafe void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")] public static void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [In, Out] ref T2 data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [In, Out] T2[,,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [In, Out] T2[,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [In, Out] T2[] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [In, Out] ref T2 data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[,,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")] public static void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")] public static void GetPointer(GetPointervPName pname, [In, Out] ref T1 @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[,,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")] public static void GetPointer(GetPointervPName pname, [In, Out] T1[] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")] public static void GetPointer(GetPointervPName pname, [Out] IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static unsafe void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static unsafe void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")] public static void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static unsafe void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] out UInt64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt64* @params_ptr = &@params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static unsafe void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] UInt64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")] public static void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] UInt64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt64* @params_ptr = @params) { Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")] public static unsafe void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")] public static void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")] public static void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] ref T3 row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T3 : struct where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] ref T4 column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,,] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[] column, [In, Out] T5[,,] span) where T4 : struct where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] ref T5 span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,,] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[] span) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned); try { Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject()); } finally { span_ptr.Free(); } #if DEBUG } #endif } /// /// Get separable convolution filter kernel images /// /// /// /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D. /// /// /// /// /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA. /// /// /// /// /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to storage for the row filter image. /// /// /// /// /// Pointer to storage for the column filter image. /// /// /// /// /// Pointer to storage for the span filter image (currently unused). /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")] public static void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")] public static unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")] public static unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")] public static void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")] public static void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static unsafe void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static unsafe void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")] public static void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static unsafe void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static unsafe void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")] public static void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static unsafe void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static unsafe void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")] public static void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static unsafe void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static unsafe void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")] public static void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")] public static void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")] public static unsafe void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")] public static void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static unsafe void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static unsafe void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")] public static void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")] public static unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ExtTransformFeedback* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ExtTransformFeedback*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")] public static void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ExtTransformFeedback type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ExtTransformFeedback* type_ptr = &type) { Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ExtTransformFeedback*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")] public static unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ExtTransformFeedback* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ExtTransformFeedback*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")] public static void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ExtTransformFeedback type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (ExtTransformFeedback* type_ptr = &type) { Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ExtTransformFeedback*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformBufferSizeEXT")] public static Int32 GetUniformBufferSize(Int32 program, Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformBufferSizeEXT")] public static Int32 GetUniformBufferSize(UInt32 program, Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location); #if DEBUG } #endif } [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformOffsetEXT")] public static IntPtr GetUniformOffset(Int32 program, Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformOffsetEXT")] public static IntPtr GetUniformOffset(UInt32 program, Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static unsafe void GetUniform(Int32 program, Int32 location, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static void GetUniform(Int32 program, Int32 location, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static void GetUniform(Int32 program, Int32 location, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static void GetUniform(UInt32 program, Int32 location, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static unsafe void GetUniform(UInt32 program, Int32 location, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params); #if DEBUG } #endif } /// /// Returns the value of a uniform variable /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the location of the uniform variable to be queried. /// /// /// /// /// Returns the value of the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")] public static void GetUniform(UInt32 program, Int32 location, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static unsafe void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static unsafe void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")] public static void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* data_ptr = &data) { Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static unsafe void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = &data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static unsafe void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")] public static void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* data_ptr = data) { Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static unsafe void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static unsafe void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")] public static void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* data_ptr = &data) { Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr); data = *data_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(Int32 id, ExtVertexShader value, [In, Out] ref T2 data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(Int32 id, ExtVertexShader value, [In, Out] T2[,,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(Int32 id, ExtVertexShader value, [In, Out] T2[,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(Int32 id, ExtVertexShader value, [In, Out] T2[] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(Int32 id, ExtVertexShader value, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(UInt32 id, ExtVertexShader value, [In, Out] ref T2 data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(UInt32 id, ExtVertexShader value, [In, Out] T2[,,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(UInt32 id, ExtVertexShader value, [In, Out] T2[,] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(UInt32 id, ExtVertexShader value, [In, Out] T2[] data) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")] public static void GetVariantPointer(UInt32 id, ExtVertexShader value, [Out] IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")] public static unsafe void GetVertexAttribI(Int32 index, NvVertexProgram4 pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")] public static void GetVertexAttribI(Int32 index, NvVertexProgram4 pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")] public static unsafe void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")] public static void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIuivEXT")] public static void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetVertexAttribIuivEXT((UInt32)index, (NvVertexProgram4)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIuivEXT")] public static unsafe void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribIuivEXT((UInt32)index, (NvVertexProgram4)pname, (UInt32*)@params); #if DEBUG } #endif } /// /// Define histogram table /// /// /// /// The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM. /// /// /// /// /// The number of entries in the histogram table. Must be a power of 2. /// /// /// /// /// The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glHistogramEXT")] public static void Histogram(ExtHistogram target, Int32 width, PixelInternalFormat internalformat, bool sink) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glHistogramEXT((ExtHistogram)target, (Int32)width, (PixelInternalFormat)internalformat, (bool)sink); #if DEBUG } #endif } [AutoGenerated(Category = "ExtIndexFunc", Version = "1.1", EntryPoint = "glIndexFuncEXT")] public static void IndexFunc(ExtIndexFunc func, Single @ref) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexFuncEXT((ExtIndexFunc)func, (Single)@ref); #if DEBUG } #endif } [AutoGenerated(Category = "ExtIndexMaterial", Version = "1.1", EntryPoint = "glIndexMaterialEXT")] public static void IndexMaterial(MaterialFace face, ExtIndexMaterial mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexMaterialEXT((MaterialFace)face, (ExtIndexMaterial)mode); #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")] public static void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")] public static void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")] public static void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")] public static void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of color indexes /// /// /// /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first index in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")] public static void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glInsertComponentEXT")] public static void InsertComponent(Int32 res, Int32 src, Int32 num) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glInsertComponentEXT")] public static void InsertComponent(UInt32 res, UInt32 src, UInt32 num) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glIsEnabledIndexedEXT")] public static bool IsEnabledIndexed(ExtDrawBuffers2 target, Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsEnabledIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glIsEnabledIndexedEXT")] public static bool IsEnabledIndexed(ExtDrawBuffers2 target, UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsEnabledIndexedEXT((ExtDrawBuffers2)target, (UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsFramebufferEXT")] public static bool IsFramebuffer(Int32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFramebufferEXT((UInt32)framebuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsFramebufferEXT")] public static bool IsFramebuffer(UInt32 framebuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFramebufferEXT((UInt32)framebuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsRenderbufferEXT")] public static bool IsRenderbuffer(Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsRenderbufferEXT")] public static bool IsRenderbuffer(UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer); #if DEBUG } #endif } /// /// Determine if a name corresponds to a texture /// /// /// /// Specifies a value that may be the name of a texture. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glIsTextureEXT")] public static bool IsTexture(Int32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTextureEXT((UInt32)texture); #if DEBUG } #endif } /// /// Determine if a name corresponds to a texture /// /// /// /// Specifies a value that may be the name of a texture. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glIsTextureEXT")] public static bool IsTexture(UInt32 texture) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTextureEXT((UInt32)texture); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glIsVariantEnabledEXT")] public static bool IsVariantEnabled(Int32 id, ExtVertexShader cap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVariantEnabledEXT((UInt32)id, (ExtVertexShader)cap); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glIsVariantEnabledEXT")] public static bool IsVariantEnabled(UInt32 id, ExtVertexShader cap) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsVariantEnabledEXT((UInt32)id, (ExtVertexShader)cap); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCompiledVertexArray", Version = "1.1", EntryPoint = "glLockArraysEXT")] public static void LockArrays(Int32 first, Int32 count) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLockArraysEXT((Int32)first, (Int32)count); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMapNamedBufferEXT")] public static unsafe IntPtr MapNamedBuffer(Int32 buffer, ExtDirectStateAccess access) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapNamedBufferEXT((UInt32)buffer, (ExtDirectStateAccess)access); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMapNamedBufferEXT")] public static unsafe IntPtr MapNamedBuffer(UInt32 buffer, ExtDirectStateAccess access) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glMapNamedBufferEXT((UInt32)buffer, (ExtDirectStateAccess)access); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixFrustumEXT")] public static void MatrixFrustum(MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixFrustumEXT((MatrixMode)mode, (Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")] public static unsafe void MatrixLoad(MatrixMode mode, Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")] public static void MatrixLoad(MatrixMode mode, Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")] public static void MatrixLoad(MatrixMode mode, ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")] public static void MatrixLoad(MatrixMode mode, ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")] public static unsafe void MatrixLoad(MatrixMode mode, Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")] public static void MatrixLoad(MatrixMode mode, Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadIdentityEXT")] public static void MatrixLoadIdentity(MatrixMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixLoadIdentityEXT((MatrixMode)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")] public static unsafe void MatrixLoadTranspose(MatrixMode mode, Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")] public static void MatrixLoadTranspose(MatrixMode mode, Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")] public static void MatrixLoadTranspose(MatrixMode mode, ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")] public static void MatrixLoadTranspose(MatrixMode mode, ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")] public static unsafe void MatrixLoadTranspose(MatrixMode mode, Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")] public static void MatrixLoadTranspose(MatrixMode mode, Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")] public static unsafe void MatrixMult(MatrixMode mode, Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")] public static void MatrixMult(MatrixMode mode, Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")] public static void MatrixMult(MatrixMode mode, ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")] public static void MatrixMult(MatrixMode mode, ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")] public static unsafe void MatrixMult(MatrixMode mode, Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")] public static void MatrixMult(MatrixMode mode, Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")] public static unsafe void MatrixMultTranspose(MatrixMode mode, Double* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")] public static void MatrixMultTranspose(MatrixMode mode, Double[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = m) { Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")] public static void MatrixMultTranspose(MatrixMode mode, ref Double m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* m_ptr = &m) { Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")] public static void MatrixMultTranspose(MatrixMode mode, ref Single m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = &m) { Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")] public static unsafe void MatrixMultTranspose(MatrixMode mode, Single* m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")] public static void MatrixMultTranspose(MatrixMode mode, Single[] m) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* m_ptr = m) { Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixOrthoEXT")] public static void MatrixOrtho(MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixOrthoEXT((MatrixMode)mode, (Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixPopEXT")] public static void MatrixPop(MatrixMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixPopEXT((MatrixMode)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixPushEXT")] public static void MatrixPush(MatrixMode mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixPushEXT((MatrixMode)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixRotatedEXT")] public static void MatrixRotate(MatrixMode mode, Double angle, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixRotatedEXT((MatrixMode)mode, (Double)angle, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixRotatefEXT")] public static void MatrixRotate(MatrixMode mode, Single angle, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixRotatefEXT((MatrixMode)mode, (Single)angle, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixScaledEXT")] public static void MatrixScale(MatrixMode mode, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixScaledEXT((MatrixMode)mode, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixScalefEXT")] public static void MatrixScale(MatrixMode mode, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixScalefEXT((MatrixMode)mode, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixTranslatedEXT")] public static void MatrixTranslate(MatrixMode mode, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixTranslatedEXT((MatrixMode)mode, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixTranslatefEXT")] public static void MatrixTranslate(MatrixMode mode, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMatrixTranslatefEXT((MatrixMode)mode, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Define minmax table /// /// /// /// The minmax table whose parameters are to be set. Must be GL_MINMAX. /// /// /// /// /// The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glMinmaxEXT")] public static void Minmax(ExtHistogram target, PixelInternalFormat internalformat, bool sink) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMinmaxEXT((ExtHistogram)target, (PixelInternalFormat)internalformat, (bool)sink); #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")] public static unsafe void MultiDrawArrays(BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount); #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")] public static void MultiDrawArrays(BeginMode mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); } } #if DEBUG } #endif } /// /// Render multiple sets of primitives from array data /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of starting indices in the enabled arrays. /// /// /// /// /// Points to an array of the number of indices to be rendered. /// /// /// /// /// Specifies the size of the first and count /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")] public static void MultiDrawArrays(BeginMode mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount); first = *first_ptr; count = *count_ptr; } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = count) { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } /// /// Render multiple sets of primitives by specifying indices of array data elements /// /// /// /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted. /// /// /// /// /// Points to an array of the elements counts. /// /// /// /// /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT. /// /// /// /// /// Specifies a pointer to the location where the indices are stored. /// /// /// /// /// Specifies the size of the count array. /// /// [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")] public static void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* count_ptr = &count) { Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexBufferEXT")] public static void MultiTexBuffer(TextureUnit texunit, TextureTarget target, ExtDirectStateAccess internalformat, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexBufferEXT((TextureUnit)texunit, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexBufferEXT")] public static void MultiTexBuffer(TextureUnit texunit, TextureTarget target, ExtDirectStateAccess internalformat, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexBufferEXT((TextureUnit)texunit, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")] public static void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")] public static void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")] public static void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")] public static void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")] public static void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfEXT")] public static void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexEnvfEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfvEXT")] public static unsafe void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfvEXT")] public static void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnviEXT")] public static void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexEnviEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvivEXT")] public static unsafe void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvivEXT")] public static void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendEXT")] public static void MultiTexGend(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGendEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")] public static unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGenfEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfvEXT")] public static unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfvEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGeniEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGeniEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenivEXT")] public static unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenivEXT")] public static void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")] public static void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")] public static void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")] public static void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")] public static void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")] public static void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")] public static void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")] public static void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")] public static void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")] public static void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")] public static void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")] public static void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")] public static void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")] public static void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")] public static void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")] public static void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfEXT")] public static void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameterfEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfvEXT")] public static unsafe void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfvEXT")] public static void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameteriEXT")] public static void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameteriEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")] public static unsafe void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")] public static void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")] public static void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")] public static void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")] public static unsafe void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")] public static void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterivEXT")] public static unsafe void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterivEXT")] public static void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexRenderbufferEXT")] public static void MultiTexRenderbuffer(TextureUnit texunit, TextureTarget target, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexRenderbufferEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexRenderbufferEXT")] public static void MultiTexRenderbuffer(TextureUnit texunit, TextureTarget target, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexRenderbufferEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")] public static void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")] public static void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")] public static void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")] public static void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")] public static void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")] public static void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")] public static void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")] public static void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")] public static void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")] public static void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")] public static void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")] public static void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")] public static void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")] public static void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")] public static void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(Int32 buffer, IntPtr size, [In, Out] ref T2 data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(Int32 buffer, IntPtr size, [In, Out] T2[,,] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(Int32 buffer, IntPtr size, [In, Out] T2[,] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(Int32 buffer, IntPtr size, [In, Out] T2[] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(Int32 buffer, IntPtr size, IntPtr data, ExtDirectStateAccess usage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data, (ExtDirectStateAccess)usage); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(UInt32 buffer, IntPtr size, [In, Out] ref T2 data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(UInt32 buffer, IntPtr size, [In, Out] T2[,,] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(UInt32 buffer, IntPtr size, [In, Out] T2[,] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(UInt32 buffer, IntPtr size, [In, Out] T2[] data, ExtDirectStateAccess usage) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")] public static void NamedBufferData(UInt32 buffer, IntPtr size, IntPtr data, ExtDirectStateAccess usage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data, (ExtDirectStateAccess)usage); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned); try { Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")] public static void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferRenderbufferEXT")] public static void NamedFramebufferRenderbuffer(Int32 framebuffer, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferRenderbufferEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferRenderbufferEXT")] public static void NamedFramebufferRenderbuffer(UInt32 framebuffer, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferRenderbufferEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture1DEXT")] public static void NamedFramebufferTexture1D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture1DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture1DEXT")] public static void NamedFramebufferTexture1D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture1DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture2DEXT")] public static void NamedFramebufferTexture2D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture2DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture2DEXT")] public static void NamedFramebufferTexture2D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture2DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture3DEXT")] public static void NamedFramebufferTexture3D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture3DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture3DEXT")] public static void NamedFramebufferTexture3D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTexture3DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureEXT")] public static void NamedFramebufferTexture(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureEXT")] public static void NamedFramebufferTexture(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureFaceEXT")] public static void NamedFramebufferTextureFace(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureFaceEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureFaceEXT")] public static void NamedFramebufferTextureFace(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureFaceEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureLayerEXT")] public static void NamedFramebufferTextureLayer(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureLayerEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureLayerEXT")] public static void NamedFramebufferTextureLayer(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedFramebufferTextureLayerEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4dEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4dEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static unsafe void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static unsafe void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4fEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4fEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static unsafe void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static unsafe void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")] public static void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4iEXT")] public static void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4iEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4iEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4iEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static unsafe void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static unsafe void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uiEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4uiEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")] public static unsafe void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")] public static void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static unsafe void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static unsafe void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")] public static void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static unsafe void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static unsafe void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")] public static void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")] public static void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")] public static unsafe void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")] public static void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] ref T4 @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,,] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] ref T4 @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,,] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[] @string) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")] public static void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageEXT")] public static void NamedRenderbufferStorage(Int32 renderbuffer, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageEXT((UInt32)renderbuffer, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageEXT")] public static void NamedRenderbufferStorage(UInt32 renderbuffer, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageEXT((UInt32)renderbuffer, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT")] public static void NamedRenderbufferStorageMultisampleCoverage(Int32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageMultisampleCoverageEXT((UInt32)renderbuffer, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT")] public static void NamedRenderbufferStorageMultisampleCoverage(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageMultisampleCoverageEXT((UInt32)renderbuffer, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleEXT")] public static void NamedRenderbufferStorageMultisample(Int32 renderbuffer, Int32 samples, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageMultisampleEXT((UInt32)renderbuffer, (Int32)samples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleEXT")] public static void NamedRenderbufferStorageMultisample(UInt32 renderbuffer, Int32 samples, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNamedRenderbufferStorageMultisampleEXT((UInt32)renderbuffer, (Int32)samples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")] public static void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")] public static void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")] public static void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")] public static void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")] public static void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterfEXT")] public static void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransformParameterfEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterfvEXT")] public static unsafe void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransformParameterfvEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameteriEXT")] public static void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransformParameteriEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterivEXT")] public static unsafe void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTransformParameterivEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfEXT")] public static void PointParameter(ExtPointParameters pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfEXT((ExtPointParameters)pname, (Single)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvEXT")] public static unsafe void PointParameter(ExtPointParameters pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfvEXT((ExtPointParameters)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvEXT")] public static void PointParameter(ExtPointParameters pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvEXT((ExtPointParameters)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set the scale and units used to calculate depth values /// /// /// /// Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0. /// /// /// /// /// Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0. /// /// [AutoGenerated(Category = "ExtPolygonOffset", Version = "1.0", EntryPoint = "glPolygonOffsetEXT")] public static void PolygonOffset(Single factor, Single bias) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPolygonOffsetEXT((Single)factor, (Single)bias); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static unsafe void PrioritizeTextures(Int32 n, Int32* textures, Single* priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static void PrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static void PrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static void PrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = &textures) fixed (Single* priorities_ptr = &priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities); #if DEBUG } #endif } /// /// Set texture residence priority /// /// /// /// Specifies the number of textures to be prioritized. /// /// /// /// /// Specifies an array containing the names of the textures to be prioritized. /// /// /// /// /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")] public static void PrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* textures_ptr = textures) fixed (Single* priorities_ptr = priorities) { Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static unsafe void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static unsafe void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")] public static void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static unsafe void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static unsafe void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")] public static void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtGeometryShader4", Version = "2.0", EntryPoint = "glProgramParameteriEXT")] public static void ProgramParameter(Int32 program, ExtGeometryShader4 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteriEXT((UInt32)program, (ExtGeometryShader4)pname, (Int32)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGeometryShader4", Version = "2.0", EntryPoint = "glProgramParameteriEXT")] public static void ProgramParameter(UInt32 program, ExtGeometryShader4 pname, Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameteriEXT((UInt32)program, (ExtGeometryShader4)pname, (Int32)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Single v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1fEXT((UInt32)program, (Int32)location, (Single)v0); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Single v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1fEXT((UInt32)program, (Int32)location, (Single)v0); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static unsafe void ProgramUniform1(Int32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1iEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Int32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1iEXT((UInt32)program, (Int32)location, (Int32)v0); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1iEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1iEXT((UInt32)program, (Int32)location, (Int32)v0); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static unsafe void ProgramUniform1(Int32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static void ProgramUniform1(Int32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uiEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, UInt32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1uiEXT((UInt32)program, (Int32)location, (UInt32)v0); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")] public static unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")] public static void ProgramUniform1(UInt32 program, Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fEXT")] public static void ProgramUniform2(Int32 program, Int32 location, Single v0, Single v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Single v0, Single v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static void ProgramUniform2(Int32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static unsafe void ProgramUniform2(Int32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static void ProgramUniform2(Int32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2iEXT")] public static void ProgramUniform2(Int32 program, Int32 location, Int32 v0, Int32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2iEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 v0, Int32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")] public static unsafe void ProgramUniform2(Int32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")] public static void ProgramUniform2(Int32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")] public static unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uiEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, UInt32 v0, UInt32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")] public static unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")] public static void ProgramUniform2(UInt32 program, Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Single v0, Single v1, Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Single v0, Single v1, Single v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static unsafe void ProgramUniform3(Int32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3iEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3iEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static unsafe void ProgramUniform3(Int32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static void ProgramUniform3(Int32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uiEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")] public static unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")] public static void ProgramUniform3(UInt32 program, Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Single v0, Single v1, Single v2, Single v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static unsafe void ProgramUniform4(Int32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4iEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4iEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static unsafe void ProgramUniform4(Int32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static void ProgramUniform4(Int32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uiEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")] public static unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")] public static void ProgramUniform4(UInt32 program, Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static unsafe void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static unsafe void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")] public static void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static unsafe void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static unsafe void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")] public static void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static unsafe void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static unsafe void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")] public static void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static unsafe void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static unsafe void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")] public static void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static unsafe void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static unsafe void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")] public static void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static unsafe void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static unsafe void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")] public static void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static unsafe void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static unsafe void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")] public static void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static unsafe void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static unsafe void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")] public static void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static unsafe void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = &value) { Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static unsafe void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")] public static void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* value_ptr = value) { Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtProvokingVertex", Version = "2.1", EntryPoint = "glProvokingVertexEXT")] public static void ProvokingVertex(ExtProvokingVertex mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProvokingVertexEXT((ExtProvokingVertex)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glPushClientAttribDefaultEXT")] public static void PushClientAttribDefault(ClientAttribMask mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPushClientAttribDefaultEXT((ClientAttribMask)mask); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glRenderbufferStorageEXT")] public static void RenderbufferStorage(RenderbufferTarget target, RenderbufferStorage internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRenderbufferStorageEXT((RenderbufferTarget)target, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [AutoGenerated(Category = "ExtFramebufferMultisample", Version = "1.5", EntryPoint = "glRenderbufferStorageMultisampleEXT")] public static void RenderbufferStorageMultisample(ExtFramebufferMultisample target, Int32 samples, ExtFramebufferMultisample internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRenderbufferStorageMultisampleEXT((ExtFramebufferMultisample)target, (Int32)samples, (ExtFramebufferMultisample)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } /// /// Reset histogram table entries to zero /// /// /// /// Must be GL_HISTOGRAM. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glResetHistogramEXT")] public static void ResetHistogram(ExtHistogram target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResetHistogramEXT((ExtHistogram)target); #if DEBUG } #endif } /// /// Reset minmax table entries to initial values /// /// /// /// Must be GL_MINMAX. /// /// [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glResetMinmaxEXT")] public static void ResetMinmax(ExtHistogram target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResetMinmaxEXT((ExtHistogram)target); #if DEBUG } #endif } [AutoGenerated(Category = "ExtMultisample", Version = "1.0", EntryPoint = "glSampleMaskEXT")] public static void SampleMask(Single value, bool invert) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaskEXT((Single)value, (bool)invert); #if DEBUG } #endif } [AutoGenerated(Category = "ExtMultisample", Version = "1.0", EntryPoint = "glSamplePatternEXT")] public static void SamplePattern(ExtMultisample pattern) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSamplePatternEXT((ExtMultisample)pattern); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bEXT")] public static void SecondaryColor3(SByte red, SByte green, SByte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")] public static void SecondaryColor3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")] public static unsafe void SecondaryColor3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3bvEXT((SByte*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")] public static void SecondaryColor3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dEXT")] public static void SecondaryColor3(Double red, Double green, Double blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3dEXT((Double)red, (Double)green, (Double)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")] public static unsafe void SecondaryColor3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3dvEXT((Double*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")] public static void SecondaryColor3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glSecondaryColor3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")] public static void SecondaryColor3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glSecondaryColor3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fEXT")] public static void SecondaryColor3(Single red, Single green, Single blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3fEXT((Single)red, (Single)green, (Single)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")] public static void SecondaryColor3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glSecondaryColor3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")] public static unsafe void SecondaryColor3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3fvEXT((Single*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")] public static void SecondaryColor3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glSecondaryColor3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3iEXT")] public static void SecondaryColor3(Int32 red, Int32 green, Int32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3iEXT((Int32)red, (Int32)green, (Int32)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")] public static unsafe void SecondaryColor3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ivEXT((Int32*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")] public static void SecondaryColor3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")] public static void SecondaryColor3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3sEXT")] public static void SecondaryColor3(Int16 red, Int16 green, Int16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3sEXT((Int16)red, (Int16)green, (Int16)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")] public static unsafe void SecondaryColor3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3svEXT((Int16*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")] public static void SecondaryColor3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glSecondaryColor3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")] public static void SecondaryColor3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glSecondaryColor3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubEXT")] public static void SecondaryColor3(Byte red, Byte green, Byte blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ubEXT((Byte)red, (Byte)green, (Byte)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")] public static unsafe void SecondaryColor3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3ubvEXT((Byte*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")] public static void SecondaryColor3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")] public static void SecondaryColor3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uiEXT")] public static void SecondaryColor3(UInt32 red, UInt32 green, UInt32 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")] public static void SecondaryColor3(ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")] public static unsafe void SecondaryColor3(UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3uivEXT((UInt32*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")] public static void SecondaryColor3(UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usEXT")] public static void SecondaryColor3(UInt16 red, UInt16 green, UInt16 blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")] public static void SecondaryColor3(ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")] public static unsafe void SecondaryColor3(UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3usvEXT((UInt16*)v); #if DEBUG } #endif } /// /// Set the current secondary color /// /// /// /// Specify new red, green, and blue values for the current secondary color. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")] public static void SecondaryColor3(UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr); } } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of secondary colors /// /// /// /// Specifies the number of components per color. Must be 3. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")] public static void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] row, [In, Out] T7[,,] column) where T6 : struct where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned); GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { row_ptr.Free(); column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] ref T7 column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,,] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[] column) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned); try { Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject()); } finally { column_ptr.Free(); } #if DEBUG } #endif } /// /// Define a separable two-dimensional convolution filter /// /// /// /// Must be GL_SEPARABLE_2D. /// /// /// /// /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.) /// /// /// /// /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.) /// /// /// /// /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel. /// /// [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")] public static void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, IntPtr column) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(Int32 id, ExtVertexShader type, [In, Out] ref T2 addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(Int32 id, ExtVertexShader type, [In, Out] T2[,,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(Int32 id, ExtVertexShader type, [In, Out] T2[,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(Int32 id, ExtVertexShader type, [In, Out] T2[] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(Int32 id, ExtVertexShader type, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(UInt32 id, ExtVertexShader type, [In, Out] ref T2 addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(UInt32 id, ExtVertexShader type, [In, Out] T2[,,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(UInt32 id, ExtVertexShader type, [In, Out] T2[,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(UInt32 id, ExtVertexShader type, [In, Out] T2[] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")] public static void SetInvariant(UInt32 id, ExtVertexShader type, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(Int32 id, ExtVertexShader type, [In, Out] ref T2 addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(Int32 id, ExtVertexShader type, [In, Out] T2[,,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(Int32 id, ExtVertexShader type, [In, Out] T2[,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(Int32 id, ExtVertexShader type, [In, Out] T2[] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(Int32 id, ExtVertexShader type, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(UInt32 id, ExtVertexShader type, [In, Out] ref T2 addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(UInt32 id, ExtVertexShader type, [In, Out] T2[,,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(UInt32 id, ExtVertexShader type, [In, Out] T2[,] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(UInt32 id, ExtVertexShader type, [In, Out] T2[] addr) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")] public static void SetLocalConstant(UInt32 id, ExtVertexShader type, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp1EXT")] public static void ShaderOp1(ExtVertexShader op, Int32 res, Int32 arg1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp1EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp1EXT")] public static void ShaderOp1(ExtVertexShader op, UInt32 res, UInt32 arg1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp1EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp2EXT")] public static void ShaderOp2(ExtVertexShader op, Int32 res, Int32 arg1, Int32 arg2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp2EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp2EXT")] public static void ShaderOp2(ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp2EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp3EXT")] public static void ShaderOp3(ExtVertexShader op, Int32 res, Int32 arg1, Int32 arg2, Int32 arg3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp3EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp3EXT")] public static void ShaderOp3(ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glShaderOp3EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3); #if DEBUG } #endif } [AutoGenerated(Category = "ExtStencilClearTag", Version = "1.5", EntryPoint = "glStencilClearTagEXT")] public static void StencilClearTag(Int32 stencilTagBits, Int32 stencilClearTag) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtStencilClearTag", Version = "1.5", EntryPoint = "glStencilClearTagEXT")] public static void StencilClearTag(Int32 stencilTagBits, UInt32 stencilClearTag) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSwizzleEXT")] public static void Swizzle(Int32 res, Int32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSwizzleEXT")] public static void Swizzle(UInt32 res, UInt32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bEXT")] public static void Tangent3(Byte tx, Byte ty, Byte tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bEXT")] public static void Tangent3(SByte tx, SByte ty, SByte tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static unsafe void Tangent3(Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3bvEXT((SByte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static void Tangent3(Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static void Tangent3(ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static void Tangent3(ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static unsafe void Tangent3(SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3bvEXT((SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")] public static void Tangent3(SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glTangent3bvEXT((SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dEXT")] public static void Tangent3(Double tx, Double ty, Double tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3dEXT((Double)tx, (Double)ty, (Double)tz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")] public static unsafe void Tangent3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3dvEXT((Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")] public static void Tangent3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glTangent3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")] public static void Tangent3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glTangent3dvEXT((Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fEXT")] public static void Tangent3(Single tx, Single ty, Single tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3fEXT((Single)tx, (Single)ty, (Single)tz); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")] public static void Tangent3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glTangent3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")] public static unsafe void Tangent3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3fvEXT((Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")] public static void Tangent3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glTangent3fvEXT((Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3iEXT")] public static void Tangent3(Int32 tx, Int32 ty, Int32 tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3iEXT((Int32)tx, (Int32)ty, (Int32)tz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")] public static unsafe void Tangent3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3ivEXT((Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")] public static void Tangent3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glTangent3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")] public static void Tangent3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glTangent3ivEXT((Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3sEXT")] public static void Tangent3(Int16 tx, Int16 ty, Int16 tz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3sEXT((Int16)tx, (Int16)ty, (Int16)tz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")] public static unsafe void Tangent3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangent3svEXT((Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")] public static void Tangent3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glTangent3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")] public static void Tangent3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glTangent3svEXT((Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")] public static void TangentPointer(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")] public static void TangentPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")] public static void TangentPointer(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")] public static void TangentPointer(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")] public static void TangentPointer(NormalPointerType type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureBufferObject", Version = "2.0", EntryPoint = "glTexBufferEXT")] public static void TexBuffer(TextureTarget target, ExtTextureBufferObject internalformat, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBufferEXT((TextureTarget)target, (ExtTextureBufferObject)internalformat, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureBufferObject", Version = "2.0", EntryPoint = "glTexBufferEXT")] public static void TexBuffer(TextureTarget target, ExtTextureBufferObject internalformat, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexBufferEXT((TextureTarget)target, (ExtTextureBufferObject)internalformat, (UInt32)buffer); #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")] public static void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer); #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture image /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image. /// /// /// /// /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8. /// /// /// /// /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide. /// /// /// /// /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high. /// /// /// /// /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep. /// /// /// /// /// Specifies the width of the border. Must be either 0 or 1. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")] public static void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")] public static unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")] public static unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")] public static void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T6 pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[] pixels) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a one-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_1D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")] public static void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a two-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")] public static void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } /// /// Specify a three-dimensional texture subimage /// /// /// /// Specifies the target texture. Must be GL_TEXTURE_3D. /// /// /// /// /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image. /// /// /// /// /// Specifies a texel offset in the x direction within the texture array. /// /// /// /// /// Specifies a texel offset in the y direction within the texture array. /// /// /// /// /// Specifies a texel offset in the z direction within the texture array. /// /// /// /// /// Specifies the width of the texture subimage. /// /// /// /// /// Specifies the height of the texture subimage. /// /// /// /// /// Specifies the depth of the texture subimage. /// /// /// /// /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA. /// /// /// /// /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Specifies a pointer to the image data in memory. /// /// [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")] public static void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureBufferEXT")] public static void TextureBuffer(Int32 texture, TextureTarget target, ExtDirectStateAccess internalformat, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureBufferEXT((UInt32)texture, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureBufferEXT")] public static void TextureBuffer(UInt32 texture, TextureTarget target, ExtDirectStateAccess internalformat, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureBufferEXT((UInt32)texture, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")] public static void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")] public static void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")] public static void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glTextureLightEXT")] public static void TextureLight(ExtLightTexture pname) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureLightEXT((ExtLightTexture)pname); #if DEBUG } #endif } [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glTextureMaterialEXT")] public static void TextureMaterial(MaterialFace face, MaterialParameter mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureMaterialEXT((MaterialFace)face, (MaterialParameter)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTexturePerturbNormal", Version = "1.1", EntryPoint = "glTextureNormalEXT")] public static void TextureNormal(ExtTexturePerturbNormal mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureNormalEXT((ExtTexturePerturbNormal)mode); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfEXT")] public static void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterfEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfEXT")] public static void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterfEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")] public static unsafe void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")] public static void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")] public static unsafe void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")] public static void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameteriEXT")] public static void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameteriEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameteriEXT")] public static void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameteriEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static unsafe void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static unsafe void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")] public static void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")] public static void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")] public static unsafe void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")] public static void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")] public static unsafe void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")] public static void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")] public static unsafe void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")] public static void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureRenderbufferEXT")] public static void TextureRenderbuffer(Int32 texture, TextureTarget target, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureRenderbufferEXT((UInt32)texture, (TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureRenderbufferEXT")] public static void TextureRenderbuffer(UInt32 texture, TextureTarget target, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureRenderbufferEXT((UInt32)texture, (TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels) where T7 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")] public static void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels) where T9 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")] public static void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels) where T11 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")] public static void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glTransformFeedbackVaryingsEXT")] public static void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, ExtTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryingsEXT((UInt32)program, (Int32)count, (String[])varyings, (ExtTransformFeedback)bufferMode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glTransformFeedbackVaryingsEXT")] public static void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, ExtTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryingsEXT((UInt32)program, (Int32)count, (String[])varyings, (ExtTransformFeedback)bufferMode); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uiEXT")] public static void Uniform1(Int32 location, Int32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uiEXT")] public static void Uniform1(Int32 location, UInt32 v0) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static unsafe void Uniform1(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static void Uniform1(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static void Uniform1(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static void Uniform1(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static unsafe void Uniform1(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")] public static void Uniform1(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uiEXT")] public static void Uniform2(Int32 location, Int32 v0, Int32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uiEXT")] public static void Uniform2(Int32 location, UInt32 v0, UInt32 v1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")] public static unsafe void Uniform2(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")] public static void Uniform2(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")] public static void Uniform2(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")] public static unsafe void Uniform2(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")] public static void Uniform2(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uiEXT")] public static void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uiEXT")] public static void Uniform3(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static unsafe void Uniform3(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static void Uniform3(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static void Uniform3(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static void Uniform3(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static unsafe void Uniform3(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")] public static void Uniform3(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uiEXT")] public static void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uiEXT")] public static void Uniform4(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static unsafe void Uniform4(Int32 location, Int32 count, Int32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static void Uniform4(Int32 location, Int32 count, Int32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static void Uniform4(Int32 location, Int32 count, ref Int32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* value_ptr = &value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static void Uniform4(Int32 location, Int32 count, ref UInt32 value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = &value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static unsafe void Uniform4(Int32 location, Int32 count, UInt32* value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value); #if DEBUG } #endif } /// /// Specify the value of a uniform variable for the current program object /// /// /// /// Specifies the location of the uniform variable to be modified. /// /// /// /// /// Specifies the new values to be used for the specified uniform variable. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")] public static void Uniform4(Int32 location, Int32 count, UInt32[] value) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* value_ptr = value) { Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glUniformBufferEXT")] public static void UniformBuffer(Int32 program, Int32 location, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glUniformBufferEXT")] public static void UniformBuffer(UInt32 program, Int32 location, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtCompiledVertexArray", Version = "1.1", EntryPoint = "glUnlockArraysEXT")] public static void UnlockArrays() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glUnlockArraysEXT(); #if DEBUG } #endif } [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glUnmapNamedBufferEXT")] public static bool UnmapNamedBuffer(Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glUnmapNamedBufferEXT((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glUnmapNamedBufferEXT")] public static bool UnmapNamedBuffer(UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glUnmapNamedBufferEXT((UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")] public static void Variant(UInt32 id, ref SByte addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* addr_ptr = &addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")] public static unsafe void Variant(UInt32 id, SByte* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")] public static void Variant(UInt32 id, SByte[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* addr_ptr = addr) { Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static unsafe void Variant(Int32 id, Double* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantdvEXT((UInt32)id, (Double*)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static void Variant(Int32 id, Double[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* addr_ptr = addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static void Variant(Int32 id, ref Double addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* addr_ptr = &addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static unsafe void Variant(UInt32 id, Double* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantdvEXT((UInt32)id, (Double*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static void Variant(UInt32 id, Double[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* addr_ptr = addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")] public static void Variant(UInt32 id, ref Double addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* addr_ptr = &addr) { Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static void Variant(Int32 id, ref Single addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* addr_ptr = &addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static unsafe void Variant(Int32 id, Single* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantfvEXT((UInt32)id, (Single*)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static void Variant(Int32 id, Single[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* addr_ptr = addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static void Variant(UInt32 id, ref Single addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* addr_ptr = &addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static unsafe void Variant(UInt32 id, Single* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantfvEXT((UInt32)id, (Single*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")] public static void Variant(UInt32 id, Single[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* addr_ptr = addr) { Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static unsafe void Variant(Int32 id, Int32* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantivEXT((UInt32)id, (Int32*)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static void Variant(Int32 id, Int32[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* addr_ptr = addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static void Variant(Int32 id, ref Int32 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* addr_ptr = &addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static unsafe void Variant(UInt32 id, Int32* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantivEXT((UInt32)id, (Int32*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static void Variant(UInt32 id, Int32[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* addr_ptr = addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")] public static void Variant(UInt32 id, ref Int32 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* addr_ptr = &addr) { Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] ref T3 addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[,,] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[,] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] ref T3 addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[,,] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[,] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[] addr) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned); try { Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject()); } finally { addr_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")] public static void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, IntPtr addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static unsafe void Variant(Int32 id, Int16* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static void Variant(Int32 id, Int16[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* addr_ptr = addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static void Variant(Int32 id, ref Int16 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* addr_ptr = &addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static unsafe void Variant(UInt32 id, Int16* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static void Variant(UInt32 id, Int16[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* addr_ptr = addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")] public static void Variant(UInt32 id, ref Int16 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* addr_ptr = &addr) { Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static unsafe void Variant(Int32 id, Byte* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static void Variant(Int32 id, Byte[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* addr_ptr = addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static void Variant(Int32 id, ref Byte addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* addr_ptr = &addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static unsafe void Variant(UInt32 id, Byte* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static void Variant(UInt32 id, Byte[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* addr_ptr = addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")] public static void Variant(UInt32 id, ref Byte addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* addr_ptr = &addr) { Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")] public static void Variant(UInt32 id, ref UInt32 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* addr_ptr = &addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")] public static unsafe void Variant(UInt32 id, UInt32* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")] public static void Variant(UInt32 id, UInt32[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* addr_ptr = addr) { Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")] public static void Variant(UInt32 id, ref UInt16 addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* addr_ptr = &addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")] public static unsafe void Variant(UInt32 id, UInt16* addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")] public static void Variant(UInt32 id, UInt16[] addr) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* addr_ptr = addr) { Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1iEXT")] public static void VertexAttribI1(Int32 index, Int32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1iEXT")] public static void VertexAttribI1(UInt32 index, Int32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1ivEXT")] public static unsafe void VertexAttribI1(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1ivEXT")] public static unsafe void VertexAttribI1(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1uiEXT")] public static void VertexAttribI1(UInt32 index, UInt32 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1uivEXT")] public static unsafe void VertexAttribI1(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2iEXT")] public static void VertexAttribI2(Int32 index, Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2iEXT")] public static void VertexAttribI2(UInt32 index, Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static unsafe void VertexAttribI2(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static void VertexAttribI2(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static void VertexAttribI2(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static unsafe void VertexAttribI2(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static void VertexAttribI2(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")] public static void VertexAttribI2(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uiEXT")] public static void VertexAttribI2(UInt32 index, UInt32 x, UInt32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")] public static void VertexAttribI2(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")] public static unsafe void VertexAttribI2(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")] public static void VertexAttribI2(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3iEXT")] public static void VertexAttribI3(Int32 index, Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3iEXT")] public static void VertexAttribI3(UInt32 index, Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static unsafe void VertexAttribI3(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static void VertexAttribI3(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static void VertexAttribI3(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static unsafe void VertexAttribI3(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static void VertexAttribI3(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")] public static void VertexAttribI3(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uiEXT")] public static void VertexAttribI3(UInt32 index, UInt32 x, UInt32 y, UInt32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")] public static void VertexAttribI3(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")] public static unsafe void VertexAttribI3(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")] public static void VertexAttribI3(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")] public static void VertexAttribI4(UInt32 index, ref SByte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = &v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")] public static unsafe void VertexAttribI4(UInt32 index, SByte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")] public static void VertexAttribI4(UInt32 index, SByte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (SByte* v_ptr = v) { Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4iEXT")] public static void VertexAttribI4(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4iEXT")] public static void VertexAttribI4(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static unsafe void VertexAttribI4(Int32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static void VertexAttribI4(Int32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static void VertexAttribI4(Int32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static unsafe void VertexAttribI4(UInt32 index, Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static void VertexAttribI4(UInt32 index, Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")] public static void VertexAttribI4(UInt32 index, ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static unsafe void VertexAttribI4(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static void VertexAttribI4(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static void VertexAttribI4(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static unsafe void VertexAttribI4(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static void VertexAttribI4(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")] public static void VertexAttribI4(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static unsafe void VertexAttribI4(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static void VertexAttribI4(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static void VertexAttribI4(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static unsafe void VertexAttribI4(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static void VertexAttribI4(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")] public static void VertexAttribI4(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uiEXT")] public static void VertexAttribI4(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")] public static void VertexAttribI4(UInt32 index, ref UInt32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = &v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")] public static unsafe void VertexAttribI4(UInt32 index, UInt32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")] public static void VertexAttribI4(UInt32 index, UInt32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* v_ptr = v) { Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")] public static void VertexAttribI4(UInt32 index, ref UInt16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = &v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")] public static unsafe void VertexAttribI4(UInt32 index, UInt16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")] public static void VertexAttribI4(UInt32 index, UInt16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* v_ptr = v) { Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")] public static void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")] public static void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightfEXT")] public static void VertexWeight(Single weight) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexWeightfEXT((Single)weight); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightfvEXT")] public static unsafe void VertexWeight(Single* weight) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexWeightfvEXT((Single*)weight); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")] public static void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] ref T3 pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")] public static void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[,,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")] public static void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[,] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")] public static void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[] pointer) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")] public static void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glWriteMaskEXT")] public static void WriteMask(Int32 res, Int32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glWriteMaskEXT")] public static void WriteMask(UInt32 res, UInt32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW); #if DEBUG } #endif } } public static partial class Gremedy { [AutoGenerated(Category = "GremedyFrameTerminator", Version = "1.0", EntryPoint = "glFrameTerminatorGREMEDY")] public static void FrameTerminator() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFrameTerminatorGREMEDY(); #if DEBUG } #endif } [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")] public static void StringMarker(Int32 len, [In, Out] ref T1 @string) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")] public static void StringMarker(Int32 len, [In, Out] T1[,,] @string) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")] public static void StringMarker(Int32 len, [In, Out] T1[,] @string) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")] public static void StringMarker(Int32 len, [In, Out] T1[] @string) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned); try { Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject()); } finally { @string_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")] public static void StringMarker(Int32 len, IntPtr @string) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string); #if DEBUG } #endif } } public static partial class HP { [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")] public static void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")] public static unsafe void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")] public static void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")] public static unsafe void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")] public static void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")] public static void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfHP")] public static void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glImageTransformParameterfHP((HpImageTransform)target, (HpImageTransform)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfvHP")] public static unsafe void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfvHP")] public static void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameteriHP")] public static void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glImageTransformParameteriHP((HpImageTransform)target, (HpImageTransform)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterivHP")] public static unsafe void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterivHP")] public static void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } } public static partial class Ibm { [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")] public static void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")] public static void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")] public static void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")] public static void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")] public static void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")] public static unsafe void EdgeFlagPointerList(Int32 stride, bool* pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer, (Int32)ptrstride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")] public static void EdgeFlagPointerList(Int32 stride, bool[] pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* pointer_ptr = pointer) { Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer_ptr, (Int32)ptrstride); } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")] public static void EdgeFlagPointerList(Int32 stride, ref bool pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (bool* pointer_ptr = &pointer) { Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer_ptr, (Int32)ptrstride); } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")] public static void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")] public static void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")] public static void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")] public static void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")] public static void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")] public static void IndexPointerList(IndexPointerType type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")] public static void IndexPointerList(IndexPointerType type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")] public static void IndexPointerList(IndexPointerType type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")] public static void IndexPointerList(IndexPointerType type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")] public static void IndexPointerList(IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")] public static unsafe void MultiModeDrawArrays(BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")] public static void MultiModeDrawArrays(BeginMode[] mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* first_ptr = first) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")] public static void MultiModeDrawArrays(ref BeginMode mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* first_ptr = &first) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* count_ptr = count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = mode) fixed (Int32* count_ptr = count) { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned); try { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride); } finally { indices_ptr.Free(); } } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")] public static void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (BeginMode* mode_ptr = &mode) fixed (Int32* count_ptr = &count) { Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride); } } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")] public static void NormalPointerList(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")] public static void NormalPointerList(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")] public static void NormalPointerList(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")] public static void NormalPointerList(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")] public static void NormalPointerList(NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")] public static void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")] public static void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")] public static void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")] public static void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")] public static void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")] public static void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")] public static void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")] public static void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")] public static void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")] public static void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")] public static void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")] public static void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")] public static void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")] public static void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")] public static void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride); #if DEBUG } #endif } } public static partial class Ingr { /// /// Specify pixel arithmetic for RGB and alpha components separately /// /// /// /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE. /// /// /// /// /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO. /// /// /// /// /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE. /// /// /// /// /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO. /// /// [AutoGenerated(Category = "IngrBlendFuncSeparate", Version = "1.0", EntryPoint = "glBlendFuncSeparateINGR")] public static void BlendFuncSeparate(All sfactorRGB, All dfactorRGB, All sfactorAlpha, All dfactorAlpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBlendFuncSeparateINGR((All)sfactorRGB, (All)dfactorRGB, (All)sfactorAlpha, (All)dfactorAlpha); #if DEBUG } #endif } } public static partial class Intel { /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")] public static void ColorPointer(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")] public static void ColorPointer(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")] public static void ColorPointer(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")] public static void ColorPointer(Int32 size, VertexPointerType type, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of colors /// /// /// /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")] public static void ColorPointer(Int32 size, VertexPointerType type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")] public static void NormalPointer(NormalPointerType type, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")] public static void NormalPointer(NormalPointerType type, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")] public static void NormalPointer(NormalPointerType type, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")] public static void NormalPointer(NormalPointerType type, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of normals /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")] public static void NormalPointer(NormalPointerType type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")] public static void TexCoordPointer(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")] public static void TexCoordPointer(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")] public static void TexCoordPointer(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")] public static void TexCoordPointer(Int32 size, VertexPointerType type, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of texture coordinates /// /// /// /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")] public static void TexCoordPointer(Int32 size, VertexPointerType type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")] public static void VertexPointer(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")] public static void VertexPointer(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")] public static void VertexPointer(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")] public static void VertexPointer(Int32 size, VertexPointerType type, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of vertex data /// /// /// /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0. /// /// [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")] public static void VertexPointer(Int32 size, VertexPointerType type, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer); #if DEBUG } #endif } } public static partial class Mesa { [AutoGenerated(Category = "MesaResizeBuffers", Version = "1.0", EntryPoint = "glResizeBuffersMESA")] public static void ResizeBuffers() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResizeBuffersMESA(); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dMESA")] public static void WindowPos2(Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2dMESA((Double)x, (Double)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")] public static unsafe void WindowPos2(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2dvMESA((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")] public static void WindowPos2(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos2dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")] public static void WindowPos2(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos2dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fMESA")] public static void WindowPos2(Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2fMESA((Single)x, (Single)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")] public static void WindowPos2(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos2fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")] public static unsafe void WindowPos2(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2fvMESA((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")] public static void WindowPos2(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos2fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2iMESA")] public static void WindowPos2(Int32 x, Int32 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2iMESA((Int32)x, (Int32)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")] public static unsafe void WindowPos2(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2ivMESA((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")] public static void WindowPos2(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos2ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")] public static void WindowPos2(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos2ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2sMESA")] public static void WindowPos2(Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2sMESA((Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")] public static unsafe void WindowPos2(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos2svMESA((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")] public static void WindowPos2(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos2svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")] public static void WindowPos2(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos2svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dMESA")] public static void WindowPos3(Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3dMESA((Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")] public static unsafe void WindowPos3(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3dvMESA((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")] public static void WindowPos3(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos3dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")] public static void WindowPos3(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos3dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fMESA")] public static void WindowPos3(Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3fMESA((Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")] public static void WindowPos3(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos3fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")] public static unsafe void WindowPos3(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3fvMESA((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")] public static void WindowPos3(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos3fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3iMESA")] public static void WindowPos3(Int32 x, Int32 y, Int32 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3iMESA((Int32)x, (Int32)y, (Int32)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")] public static unsafe void WindowPos3(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3ivMESA((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")] public static void WindowPos3(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos3ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")] public static void WindowPos3(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos3ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3sMESA")] public static void WindowPos3(Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3sMESA((Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")] public static unsafe void WindowPos3(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos3svMESA((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")] public static void WindowPos3(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos3svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")] public static void WindowPos3(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos3svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dMESA")] public static void WindowPos4(Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4dMESA((Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")] public static unsafe void WindowPos4(Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4dvMESA((Double*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")] public static void WindowPos4(Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glWindowPos4dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")] public static void WindowPos4(ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glWindowPos4dvMESA((Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fMESA")] public static void WindowPos4(Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4fMESA((Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")] public static void WindowPos4(ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glWindowPos4fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")] public static unsafe void WindowPos4(Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4fvMESA((Single*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")] public static void WindowPos4(Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glWindowPos4fvMESA((Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4iMESA")] public static void WindowPos4(Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4iMESA((Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")] public static unsafe void WindowPos4(Int32* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4ivMESA((Int32*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")] public static void WindowPos4(Int32[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = v) { Delegates.glWindowPos4ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")] public static void WindowPos4(ref Int32 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* v_ptr = &v) { Delegates.glWindowPos4ivMESA((Int32*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4sMESA")] public static void WindowPos4(Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4sMESA((Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")] public static unsafe void WindowPos4(Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glWindowPos4svMESA((Int16*)v); #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")] public static void WindowPos4(Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glWindowPos4svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specify the raster position in window coordinates for pixel operations /// /// /// /// Specify the , , coordinates for the raster position. /// /// [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")] public static void WindowPos4(ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glWindowPos4svMESA((Int16*)v_ptr); } } #if DEBUG } #endif } } public static partial class NV { [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glActiveVaryingNV")] public static void ActiveVarying(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glActiveVaryingNV((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glActiveVaryingNV")] public static void ActiveVarying(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glActiveVaryingNV((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static unsafe bool AreProgramsResident(Int32 n, Int32* programs, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (bool*)residences); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static bool AreProgramsResident(Int32 n, Int32[] programs, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) fixed (bool* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static bool AreProgramsResident(Int32 n, ref Int32 programs, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static bool AreProgramsResident(Int32 n, ref UInt32 programs, [Out] out bool residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) fixed (bool* residences_ptr = &residences) { bool retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr); residences = *residences_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static unsafe bool AreProgramsResident(Int32 n, UInt32* programs, [Out] bool* residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (bool*)residences); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")] public static bool AreProgramsResident(Int32 n, UInt32[] programs, [Out] bool[] residences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) fixed (bool* residences_ptr = residences) { return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glBeginConditionalRenderNV")] public static void BeginConditionalRender(Int32 id, NvConditionalRender mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginConditionalRenderNV((UInt32)id, (NvConditionalRender)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glBeginConditionalRenderNV")] public static void BeginConditionalRender(UInt32 id, NvConditionalRender mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginConditionalRenderNV((UInt32)id, (NvConditionalRender)mode); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glBeginOcclusionQueryNV")] public static void BeginOcclusionQuery(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginOcclusionQueryNV((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glBeginOcclusionQueryNV")] public static void BeginOcclusionQuery(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginOcclusionQueryNV((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBeginTransformFeedbackNV")] public static void BeginTransformFeedback(NvTransformFeedback primitiveMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBeginTransformFeedbackNV((NvTransformFeedback)primitiveMode); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferBaseNV")] public static void BindBufferBase(NvTransformFeedback target, Int32 index, Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBaseNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferBaseNV")] public static void BindBufferBase(NvTransformFeedback target, UInt32 index, UInt32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferBaseNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferOffsetNV")] public static void BindBufferOffset(NvTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferOffsetNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferOffsetNV")] public static void BindBufferOffset(NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferOffsetNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferRangeNV")] public static void BindBufferRange(NvTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRangeNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferRangeNV")] public static void BindBufferRange(NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindBufferRangeNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glBindProgramNV")] public static void BindProgram(AssemblyProgramTargetArb target, Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindProgramNV((AssemblyProgramTargetArb)target, (UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glBindProgramNV")] public static void BindProgram(AssemblyProgramTargetArb target, UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindProgramNV((AssemblyProgramTargetArb)target, (UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glBindTransformFeedbackNV")] public static void BindTransformFeedback(NvTransformFeedback2 target, Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTransformFeedbackNV((NvTransformFeedback2)target, (UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glBindTransformFeedbackNV")] public static void BindTransformFeedback(NvTransformFeedback2 target, UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glBindTransformFeedbackNV((NvTransformFeedback2)target, (UInt32)id); #if DEBUG } #endif } /// /// Specify the clear value for the depth buffer /// /// /// /// Specifies the depth value used when the depth buffer is cleared. The initial value is 1. /// /// [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glClearDepthdNV")] public static void ClearDepth(Double depth) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glClearDepthdNV((Double)depth); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hNV")] public static void Color3h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")] public static unsafe void Color3h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")] public static void Color3h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glColor3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")] public static void Color3h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glColor3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hNV")] public static void Color4h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue, (OpenTK.Half)alpha); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")] public static unsafe void Color4h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")] public static void Color4h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glColor4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")] public static void Color4h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glColor4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerInputNV")] public static void CombinerInput(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners input, NvRegisterCombiners mapping, NvRegisterCombiners componentUsage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerInputNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)input, (NvRegisterCombiners)mapping, (NvRegisterCombiners)componentUsage); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerOutputNV")] public static void CombinerOutput(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners abOutput, NvRegisterCombiners cdOutput, NvRegisterCombiners sumOutput, NvRegisterCombiners scale, NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerOutputNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)abOutput, (NvRegisterCombiners)cdOutput, (NvRegisterCombiners)sumOutput, (NvRegisterCombiners)scale, (NvRegisterCombiners)bias, (bool)abDotProduct, (bool)cdDotProduct, (bool)muxSum); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfNV")] public static void CombinerParameter(NvRegisterCombiners pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerParameterfNV((NvRegisterCombiners)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfvNV")] public static unsafe void CombinerParameter(NvRegisterCombiners pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerParameterfvNV((NvRegisterCombiners)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfvNV")] public static void CombinerParameter(NvRegisterCombiners pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCombinerParameterfvNV((NvRegisterCombiners)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameteriNV")] public static void CombinerParameter(NvRegisterCombiners pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerParameteriNV((NvRegisterCombiners)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterivNV")] public static unsafe void CombinerParameter(NvRegisterCombiners pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerParameterivNV((NvRegisterCombiners)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterivNV")] public static void CombinerParameter(NvRegisterCombiners pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glCombinerParameterivNV((NvRegisterCombiners)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")] public static void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")] public static unsafe void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")] public static void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static unsafe void DeleteFences(Int32 n, Int32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static void DeleteFences(Int32 n, Int32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static void DeleteFences(Int32 n, ref Int32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static void DeleteFences(Int32 n, ref UInt32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static unsafe void DeleteFences(Int32 n, UInt32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")] public static void DeleteFences(Int32 n, UInt32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static unsafe void DeleteOcclusionQueries(Int32 n, Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static void DeleteOcclusionQueries(Int32 n, Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static void DeleteOcclusionQueries(Int32 n, ref Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static void DeleteOcclusionQueries(Int32 n, ref UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static unsafe void DeleteOcclusionQueries(Int32 n, UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")] public static void DeleteOcclusionQueries(Int32 n, UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static unsafe void DeleteProgram(Int32 n, Int32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static void DeleteProgram(Int32 n, Int32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static void DeleteProgram(Int32 n, ref Int32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static void DeleteProgram(Int32 n, ref UInt32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static unsafe void DeleteProgram(Int32 n, UInt32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } /// /// Deletes a program object /// /// /// /// Specifies the program object to be deleted. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")] public static void DeleteProgram(Int32 n, UInt32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static unsafe void DeleteTransformFeedback(Int32 n, Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static void DeleteTransformFeedback(Int32 n, Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static void DeleteTransformFeedback(Int32 n, ref Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static void DeleteTransformFeedback(Int32 n, ref UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static unsafe void DeleteTransformFeedback(Int32 n, UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")] public static void DeleteTransformFeedback(Int32 n, UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glDepthBoundsdNV")] public static void DepthBounds(Double zmin, Double zmax) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthBoundsdNV((Double)zmin, (Double)zmax); #if DEBUG } #endif } /// /// Specify mapping of depth values from normalized device coordinates to window coordinates /// /// /// /// Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0. /// /// /// /// /// Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1. /// /// [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glDepthRangedNV")] public static void DepthRange(Double zNear, Double zFar) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDepthRangedNV((Double)zNear, (Double)zFar); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDrawTransformFeedbackNV")] public static void DrawTransformFeedback(NvTransformFeedback2 mode, Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawTransformFeedbackNV((NvTransformFeedback2)mode, (UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDrawTransformFeedbackNV")] public static void DrawTransformFeedback(NvTransformFeedback2 mode, UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawTransformFeedbackNV((NvTransformFeedback2)mode, (UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glEndConditionalRenderNV")] public static void EndConditionalRender() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndConditionalRenderNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glEndOcclusionQueryNV")] public static void EndOcclusionQuery() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndOcclusionQueryNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glEndTransformFeedbackNV")] public static void EndTransformFeedback() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEndTransformFeedbackNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glEvalMapsNV")] public static void EvalMap(NvEvaluators target, NvEvaluators mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glEvalMapsNV((NvEvaluators)target, (NvEvaluators)mode); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static unsafe void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static unsafe void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")] public static void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glFinalCombinerInputNV")] public static void FinalCombinerInput(NvRegisterCombiners variable, NvRegisterCombiners input, NvRegisterCombiners mapping, NvRegisterCombiners componentUsage) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinalCombinerInputNV((NvRegisterCombiners)variable, (NvRegisterCombiners)input, (NvRegisterCombiners)mapping, (NvRegisterCombiners)componentUsage); #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glFinishFenceNV")] public static void FinishFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishFenceNV((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glFinishFenceNV")] public static void FinishFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishFenceNV((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glFlushPixelDataRangeNV")] public static void FlushPixelDataRange(NvPixelDataRange target) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushPixelDataRangeNV((NvPixelDataRange)target); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glFlushVertexArrayRangeNV")] public static void FlushVertexArrayRange() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushVertexArrayRangeNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glFogCoordhNV")] public static void FogCoordh(OpenTK.Half fog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordhNV((OpenTK.Half)fog); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glFogCoordhvNV")] public static unsafe void FogCoordh(OpenTK.Half* fog) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogCoordhvNV((OpenTK.Half*)fog); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static unsafe void GenFences(Int32 n, [Out] Int32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFencesNV((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static void GenFences(Int32 n, [Out] Int32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static void GenFences(Int32 n, [Out] out Int32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* fences_ptr = &fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static void GenFences(Int32 n, [Out] out UInt32 fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = &fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); fences = *fences_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static unsafe void GenFences(Int32 n, [Out] UInt32* fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenFencesNV((Int32)n, (UInt32*)fences); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")] public static void GenFences(Int32 n, [Out] UInt32[] fences) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* fences_ptr = fences) { Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static unsafe void GenOcclusionQueries(Int32 n, [Out] Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static void GenOcclusionQueries(Int32 n, [Out] Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static void GenOcclusionQueries(Int32 n, [Out] out Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static void GenOcclusionQueries(Int32 n, [Out] out UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static unsafe void GenOcclusionQueries(Int32 n, [Out] UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")] public static void GenOcclusionQueries(Int32 n, [Out] UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static unsafe void GenProgram(Int32 n, [Out] Int32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static void GenProgram(Int32 n, [Out] Int32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static void GenProgram(Int32 n, [Out] out Int32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static void GenProgram(Int32 n, [Out] out UInt32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); programs = *programs_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static unsafe void GenProgram(Int32 n, [Out] UInt32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")] public static void GenProgram(Int32 n, [Out] UInt32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static unsafe void GenTransformFeedback(Int32 n, [Out] Int32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static void GenTransformFeedback(Int32 n, [Out] Int32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = ids) { Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static void GenTransformFeedback(Int32 n, [Out] out Int32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* ids_ptr = &ids) { Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static void GenTransformFeedback(Int32 n, [Out] out UInt32 ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = &ids) { Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); ids = *ids_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static unsafe void GenTransformFeedback(Int32 n, [Out] UInt32* ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")] public static void GenTransformFeedback(Int32 n, [Out] UInt32[] ids) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* ids_ptr = ids) { Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")] public static unsafe void GetActiveVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] NvTransformFeedback* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (NvTransformFeedback*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")] public static void GetActiveVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out NvTransformFeedback type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (NvTransformFeedback* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (NvTransformFeedback*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")] public static unsafe void GetActiveVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] NvTransformFeedback* type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (NvTransformFeedback*)type, (System.Text.StringBuilder)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")] public static void GetActiveVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out NvTransformFeedback type, [Out] System.Text.StringBuilder name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* length_ptr = &length) fixed (Int32* size_ptr = &size) fixed (NvTransformFeedback* type_ptr = &type) { Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (NvTransformFeedback*)type_ptr, (System.Text.StringBuilder)name); length = *length_ptr; size = *size_ptr; type = *type_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")] public static void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")] public static unsafe void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")] public static void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")] public static unsafe void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")] public static void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")] public static void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")] public static void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")] public static unsafe void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")] public static void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")] public static unsafe void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")] public static void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")] public static void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")] public static void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")] public static unsafe void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")] public static void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static unsafe void GetFence(Int32 fence, NvFence pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static void GetFence(Int32 fence, NvFence pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static void GetFence(Int32 fence, NvFence pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static unsafe void GetFence(UInt32 fence, NvFence pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static void GetFence(UInt32 fence, NvFence pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")] public static void GetFence(UInt32 fence, NvFence pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")] public static void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")] public static unsafe void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")] public static void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")] public static unsafe void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")] public static void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")] public static void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static unsafe void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static unsafe void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")] public static void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static unsafe void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static unsafe void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")] public static void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] ref T6 points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,,] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] ref T6 points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,,] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[] points) where T6 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")] public static void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")] public static void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")] public static unsafe void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")] public static void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")] public static unsafe void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")] public static void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")] public static void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] out Single val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = &val) { Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr); val = *val_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static unsafe void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] Single* val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val); #if DEBUG } #endif } [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] Single[] val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = val) { Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] out Single val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = &val) { Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr); val = *val_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static unsafe void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] Single* val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")] public static void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] Single[] val) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* val_ptr = val) { Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static unsafe void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static unsafe void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")] public static void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")] public static void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")] public static unsafe void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")] public static void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")] public static unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")] public static void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static unsafe void GetProgram(Int32 id, NvVertexProgram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static void GetProgram(Int32 id, NvVertexProgram pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static void GetProgram(Int32 id, NvVertexProgram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static unsafe void GetProgram(UInt32 id, NvVertexProgram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static void GetProgram(UInt32 id, NvVertexProgram pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Returns a parameter from a program object /// /// /// /// Specifies the program object to be queried. /// /// /// /// /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH. /// /// /// /// /// Returns the requested object parameter. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")] public static void GetProgram(UInt32 id, NvVertexProgram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")] public static unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")] public static void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static void GetProgramNamedParameter(Int32 id, Int32 len, ref Byte name, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Double* @params_ptr = @params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")] public static void GetProgramNamedParameter(UInt32 id, Int32 len, ref Byte name, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static void GetProgramNamedParameter(Int32 id, Int32 len, ref Byte name, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* @params_ptr = @params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")] public static void GetProgramNamedParameter(UInt32 id, Int32 len, ref Byte name, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static unsafe void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static unsafe void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Double[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = @params) { Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static unsafe void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static unsafe void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")] public static void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static unsafe void GetProgramString(Int32 id, NvVertexProgram pname, [Out] Byte* program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static void GetProgramString(Int32 id, NvVertexProgram pname, [Out] Byte[] program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = program) { Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static void GetProgramString(Int32 id, NvVertexProgram pname, [Out] out Byte program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = &program) { Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr); program = *program_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static unsafe void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] Byte* program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] Byte[] program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = program) { Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")] public static void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] out Byte program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = &program) { Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr); program = *program_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")] public static unsafe void GetTrackMatrix(AssemblyProgramTargetArb target, Int32 address, AssemblyProgramParameterArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")] public static void GetTrackMatrix(AssemblyProgramTargetArb target, Int32 address, AssemblyProgramParameterArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")] public static unsafe void GetTrackMatrix(AssemblyProgramTargetArb target, UInt32 address, AssemblyProgramParameterArb pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")] public static void GetTrackMatrix(AssemblyProgramTargetArb target, UInt32 address, AssemblyProgramParameterArb pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")] public static unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, [Out] Int32* location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")] public static void GetTransformFeedbackVarying(Int32 program, Int32 index, [Out] out Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* location_ptr = &location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); location = *location_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")] public static unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, [Out] Int32* location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")] public static void GetTransformFeedbackVarying(UInt32 program, UInt32 index, [Out] out Int32 location) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* location_ptr = &location) { Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr); location = *location_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetVaryingLocationNV")] public static Int32 GetVaryingLocation(Int32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetVaryingLocationNV((UInt32)program, (String)name); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetVaryingLocationNV")] public static Int32 GetVaryingLocation(UInt32 program, String name) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetVaryingLocationNV((UInt32)program, (String)name); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")] public static unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")] public static void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")] public static unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Double* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")] public static void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Double @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* @params_ptr = &@params) { Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")] public static void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")] public static unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")] public static void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")] public static unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")] public static unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")] public static void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")] public static unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Return a generic vertex attribute parameter /// /// /// /// Specifies the generic vertex attribute parameter to be queried. /// /// /// /// /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB. /// /// /// /// /// Returns the requested data. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")] public static void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")] public static void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static unsafe void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static unsafe void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")] public static void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static unsafe void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static unsafe void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")] public static void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static unsafe void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] Int64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] Int64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = @params) { Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] out Int64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int64* @params_ptr = &@params) { Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] out UInt64 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt64* @params_ptr = &@params) { Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static unsafe void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] UInt64* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")] public static void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] UInt64[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt64* @params_ptr = @params) { Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")] public static void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] out UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")] public static unsafe void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")] public static void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glIsFenceNV")] public static bool IsFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFenceNV((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glIsFenceNV")] public static bool IsFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsFenceNV((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glIsOcclusionQueryNV")] public static bool IsOcclusionQuery(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsOcclusionQueryNV((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glIsOcclusionQueryNV")] public static bool IsOcclusionQuery(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsOcclusionQueryNV((UInt32)id); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glIsProgramNV")] public static bool IsProgram(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgramNV((UInt32)id); #if DEBUG } #endif } /// /// Determines if a name corresponds to a program object /// /// /// /// Specifies a potential program object. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glIsProgramNV")] public static bool IsProgram(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsProgramNV((UInt32)id); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glIsTransformFeedbackNV")] public static bool IsTransformFeedback(Int32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTransformFeedbackNV((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glIsTransformFeedbackNV")] public static bool IsTransformFeedback(UInt32 id) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsTransformFeedbackNV((UInt32)id); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static unsafe void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, Byte* program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, Byte[] program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = program) { Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, ref Byte program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = &program) { Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static unsafe void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte[] program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = program) { Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")] public static void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, ref Byte program) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* program_ptr = &program) { Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] ref T8 points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,,] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] ref T8 points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,,] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[] points) where T8 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned); try { Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject()); } finally { points_ptr.Free(); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")] public static void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")] public static void MapParameter(NvEvaluators target, NvEvaluators pname, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")] public static unsafe void MapParameter(NvEvaluators target, NvEvaluators pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")] public static void MapParameter(NvEvaluators target, NvEvaluators pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")] public static unsafe void MapParameter(NvEvaluators target, NvEvaluators pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")] public static void MapParameter(NvEvaluators target, NvEvaluators pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")] public static void MapParameter(NvEvaluators target, NvEvaluators pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord1hNV")] public static void MultiTexCoord1h(TextureUnit target, OpenTK.Half s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1hNV((TextureUnit)target, (OpenTK.Half)s); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord1hvNV")] public static unsafe void MultiTexCoord1h(TextureUnit target, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord1hvNV((TextureUnit)target, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hNV")] public static void MultiTexCoord2h(TextureUnit target, OpenTK.Half s, OpenTK.Half t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")] public static unsafe void MultiTexCoord2h(TextureUnit target, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")] public static void MultiTexCoord2h(TextureUnit target, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")] public static void MultiTexCoord2h(TextureUnit target, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hNV")] public static void MultiTexCoord3h(TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")] public static unsafe void MultiTexCoord3h(TextureUnit target, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")] public static void MultiTexCoord3h(TextureUnit target, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")] public static void MultiTexCoord3h(TextureUnit target, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hNV")] public static void MultiTexCoord4h(TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r, (OpenTK.Half)q); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")] public static unsafe void MultiTexCoord4h(TextureUnit target, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")] public static void MultiTexCoord4h(TextureUnit target, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")] public static void MultiTexCoord4h(TextureUnit target, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hNV")] public static void Normal3h(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3hNV((OpenTK.Half)nx, (OpenTK.Half)ny, (OpenTK.Half)nz); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")] public static unsafe void Normal3h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")] public static void Normal3h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glNormal3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")] public static void Normal3h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glNormal3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glPauseTransformFeedbackNV")] public static void PauseTransformFeedback() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPauseTransformFeedbackNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")] public static void PixelDataRange(NvPixelDataRange target, Int32 length, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")] public static void PixelDataRange(NvPixelDataRange target, Int32 length, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")] public static void PixelDataRange(NvPixelDataRange target, Int32 length, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")] public static void PixelDataRange(NvPixelDataRange target, Int32 length, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")] public static void PixelDataRange(NvPixelDataRange target, Int32 length, [Out] IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameteriNV")] public static void PointParameter(NvPointSprite pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameteriNV((NvPointSprite)pname, (Int32)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameterivNV")] public static unsafe void PointParameter(NvPointSprite pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterivNV((NvPointSprite)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameterivNV")] public static void PointParameter(NvPointSprite pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPointParameterivNV((NvPointSprite)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameDualFillNV")] public static void PresentFrameDualFill(Int32 video_slot, Int64 minPresentTime, Int32 beginPresentTimeId, Int32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, Int32 fill0, NvPresentVideo target1, Int32 fill1, NvPresentVideo target2, Int32 fill2, NvPresentVideo target3, Int32 fill3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPresentFrameDualFillNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (NvPresentVideo)target1, (UInt32)fill1, (NvPresentVideo)target2, (UInt32)fill2, (NvPresentVideo)target3, (UInt32)fill3); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameDualFillNV")] public static void PresentFrameDualFill(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, UInt32 fill0, NvPresentVideo target1, UInt32 fill1, NvPresentVideo target2, UInt32 fill2, NvPresentVideo target3, UInt32 fill3) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPresentFrameDualFillNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (NvPresentVideo)target1, (UInt32)fill1, (NvPresentVideo)target2, (UInt32)fill2, (NvPresentVideo)target3, (UInt32)fill3); #if DEBUG } #endif } [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameKeyedNV")] public static void PresentFrameKeye(Int32 video_slot, Int64 minPresentTime, Int32 beginPresentTimeId, Int32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, Int32 fill0, Int32 key0, NvPresentVideo target1, Int32 fill1, Int32 key1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPresentFrameKeyedNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (UInt32)key0, (NvPresentVideo)target1, (UInt32)fill1, (UInt32)key1); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameKeyedNV")] public static void PresentFrameKeye(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, UInt32 fill0, UInt32 key0, NvPresentVideo target1, UInt32 fill1, UInt32 key1) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPresentFrameKeyedNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (UInt32)key0, (NvPresentVideo)target1, (UInt32)fill1, (UInt32)key1); #if DEBUG } #endif } [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartIndexNV")] public static void PrimitiveRestartIndex(Int32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrimitiveRestartIndexNV((UInt32)index); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartIndexNV")] public static void PrimitiveRestartIndex(UInt32 index) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrimitiveRestartIndexNV((UInt32)index); #if DEBUG } #endif } [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartNV")] public static void PrimitiveRestart() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPrimitiveRestartNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static unsafe void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static unsafe void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")] public static void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static unsafe void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static unsafe void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")] public static unsafe void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")] public static void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4iNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4iNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uiNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4uiNV((NvGpuProgram4)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")] public static unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")] public static void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")] public static unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")] public static void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4iNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4iNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uiNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4uiNV((NvGpuProgram4)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")] public static unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")] public static void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref UInt32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = &@params) { Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")] public static unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")] public static void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* @params_ptr = @params) { Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")] public static void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")] public static void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Double* v_ptr = v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")] public static void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Double* v_ptr = &v) { Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")] public static void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")] public static void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) { Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* v_ptr = v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")] public static void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* name_ptr = &name) fixed (Single* v_ptr = &v) { Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4dNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4dNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static unsafe void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static unsafe void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4fNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4fNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static unsafe void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static unsafe void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")] public static void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static unsafe void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static unsafe void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static unsafe void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static unsafe void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")] public static void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glProgramVertexLimitNV")] public static void ProgramVertexLimit(NvGeometryProgram4 target, Int32 limit) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glProgramVertexLimitNV((NvGeometryProgram4)target, (Int32)limit); #if DEBUG } #endif } [AutoGenerated(Category = "NvFramebufferMultisampleCoverage", Version = "1.5", EntryPoint = "glRenderbufferStorageMultisampleCoverageNV")] public static void RenderbufferStorageMultisampleCoverage(RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRenderbufferStorageMultisampleCoverageNV((RenderbufferTarget)target, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static unsafe void RequestResidentProgram(Int32 n, Int32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static void RequestResidentProgram(Int32 n, Int32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static void RequestResidentProgram(Int32 n, ref Int32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* programs_ptr = &programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static void RequestResidentProgram(Int32 n, ref UInt32 programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = &programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static unsafe void RequestResidentProgram(Int32 n, UInt32* programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")] public static void RequestResidentProgram(Int32 n, UInt32[] programs) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* programs_ptr = programs) { Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glResumeTransformFeedbackNV")] public static void ResumeTransformFeedback() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glResumeTransformFeedbackNV(); #if DEBUG } #endif } [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glSampleMaskIndexedNV")] public static void SampleMaskIndexed(Int32 index, Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaskIndexedNV((UInt32)index, (UInt32)mask); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glSampleMaskIndexedNV")] public static void SampleMaskIndexed(UInt32 index, UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaskIndexedNV((UInt32)index, (UInt32)mask); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hNV")] public static void SecondaryColor3h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")] public static unsafe void SecondaryColor3h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")] public static void SecondaryColor3h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")] public static void SecondaryColor3h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glSetFenceNV")] public static void SetFence(Int32 fence, NvFence condition) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFenceNV((UInt32)fence, (NvFence)condition); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glSetFenceNV")] public static void SetFence(UInt32 fence, NvFence condition) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSetFenceNV((UInt32)fence, (NvFence)condition); #if DEBUG } #endif } [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glTestFenceNV")] public static bool TestFence(Int32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestFenceNV((UInt32)fence); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glTestFenceNV")] public static bool TestFence(UInt32 fence) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glTestFenceNV((UInt32)fence); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord1hNV")] public static void TexCoord1h(OpenTK.Half s) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1hNV((OpenTK.Half)s); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord1hvNV")] public static unsafe void TexCoord1h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord1hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hNV")] public static void TexCoord2h(OpenTK.Half s, OpenTK.Half t) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2hNV((OpenTK.Half)s, (OpenTK.Half)t); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")] public static unsafe void TexCoord2h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")] public static void TexCoord2h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glTexCoord2hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")] public static void TexCoord2h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glTexCoord2hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hNV")] public static void TexCoord3h(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3hNV((OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")] public static unsafe void TexCoord3h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord3hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")] public static void TexCoord3h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glTexCoord3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")] public static void TexCoord3h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glTexCoord3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hNV")] public static void TexCoord4h(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4hNV((OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r, (OpenTK.Half)q); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")] public static unsafe void TexCoord4h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")] public static void TexCoord4h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glTexCoord4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")] public static void TexCoord4h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glTexCoord4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glTexRenderbufferNV")] public static void TexRenderbuffer(TextureTarget target, Int32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexRenderbufferNV((TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glTexRenderbufferNV")] public static void TexRenderbuffer(TextureTarget target, UInt32 renderbuffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexRenderbufferNV((TextureTarget)target, (UInt32)renderbuffer); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glTrackMatrixNV")] public static void TrackMatrix(AssemblyProgramTargetArb target, Int32 address, NvVertexProgram matrix, NvVertexProgram transform) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTrackMatrixNV((AssemblyProgramTargetArb)target, (UInt32)address, (NvVertexProgram)matrix, (NvVertexProgram)transform); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glTrackMatrixNV")] public static void TrackMatrix(AssemblyProgramTargetArb target, UInt32 address, NvVertexProgram matrix, NvVertexProgram transform) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTrackMatrixNV((AssemblyProgramTargetArb)target, (UInt32)address, (NvVertexProgram)matrix, (NvVertexProgram)transform); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static unsafe void TransformFeedbackAttrib(Int32 count, Int32* attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (NvTransformFeedback)bufferMode); #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static void TransformFeedbackAttrib(Int32 count, Int32[] attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* attribs_ptr = attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static void TransformFeedbackAttrib(Int32 count, ref Int32 attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* attribs_ptr = &attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static unsafe void TransformFeedbackAttrib(UInt32 count, Int32* attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (NvTransformFeedback)bufferMode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static void TransformFeedbackAttrib(UInt32 count, Int32[] attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* attribs_ptr = attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")] public static void TransformFeedbackAttrib(UInt32 count, ref Int32 attribs, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* attribs_ptr = &attribs) { Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackVaryingsNV")] public static void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (String[])varyings, (NvTransformFeedback)bufferMode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackVaryingsNV")] public static void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, NvTransformFeedback bufferMode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (String[])varyings, (NvTransformFeedback)bufferMode); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hNV")] public static void Vertex2h(OpenTK.Half x, OpenTK.Half y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2hNV((OpenTK.Half)x, (OpenTK.Half)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")] public static unsafe void Vertex2h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex2hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")] public static void Vertex2h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertex2hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")] public static void Vertex2h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertex2hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hNV")] public static void Vertex3h(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3hNV((OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")] public static unsafe void Vertex3h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex3hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")] public static void Vertex3h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertex3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")] public static void Vertex3h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertex3hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hNV")] public static void Vertex4h(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4hNV((OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")] public static unsafe void Vertex4h(OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertex4hvNV((OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")] public static void Vertex4h(OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertex4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")] public static void Vertex4h(ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertex4hvNV((OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")] public static void VertexArrayRange(Int32 length, [In, Out] ref T1 pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")] public static void VertexArrayRange(Int32 length, [In, Out] T1[,,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")] public static void VertexArrayRange(Int32 length, [In, Out] T1[,] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")] public static void VertexArrayRange(Int32 length, [In, Out] T1[] pointer) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")] public static void VertexArrayRange(Int32 length, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dNV")] public static void VertexAttrib1(Int32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dNV")] public static void VertexAttrib1(UInt32 index, Double x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dvNV")] public static unsafe void VertexAttrib1(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dvNV")] public static unsafe void VertexAttrib1(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fNV")] public static void VertexAttrib1(Int32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fNV")] public static void VertexAttrib1(UInt32 index, Single x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fvNV")] public static unsafe void VertexAttrib1(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fvNV")] public static unsafe void VertexAttrib1(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hNV")] public static void VertexAttrib1h(Int32 index, OpenTK.Half x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1hNV((UInt32)index, (OpenTK.Half)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hNV")] public static void VertexAttrib1h(UInt32 index, OpenTK.Half x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1hNV((UInt32)index, (OpenTK.Half)x); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hvNV")] public static unsafe void VertexAttrib1h(Int32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hvNV")] public static unsafe void VertexAttrib1h(UInt32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1sNV")] public static void VertexAttrib1(Int32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1sNV")] public static void VertexAttrib1(UInt32 index, Int16 x) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1svNV")] public static unsafe void VertexAttrib1(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1svNV")] public static unsafe void VertexAttrib1(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dNV")] public static void VertexAttrib2(Int32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dNV")] public static void VertexAttrib2(UInt32 index, Double x, Double y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static unsafe void VertexAttrib2(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static void VertexAttrib2(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static void VertexAttrib2(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static unsafe void VertexAttrib2(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static void VertexAttrib2(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")] public static void VertexAttrib2(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fNV")] public static void VertexAttrib2(Int32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fNV")] public static void VertexAttrib2(UInt32 index, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static void VertexAttrib2(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static unsafe void VertexAttrib2(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static void VertexAttrib2(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static void VertexAttrib2(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static unsafe void VertexAttrib2(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")] public static void VertexAttrib2(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hNV")] public static void VertexAttrib2h(Int32 index, OpenTK.Half x, OpenTK.Half y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hNV")] public static void VertexAttrib2h(UInt32 index, OpenTK.Half x, OpenTK.Half y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static unsafe void VertexAttrib2h(Int32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static void VertexAttrib2h(Int32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static void VertexAttrib2h(Int32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static unsafe void VertexAttrib2h(UInt32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static void VertexAttrib2h(UInt32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")] public static void VertexAttrib2h(UInt32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2sNV")] public static void VertexAttrib2(Int32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2sNV")] public static void VertexAttrib2(UInt32 index, Int16 x, Int16 y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static unsafe void VertexAttrib2(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static void VertexAttrib2(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static void VertexAttrib2(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static unsafe void VertexAttrib2(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static void VertexAttrib2(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")] public static void VertexAttrib2(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dNV")] public static void VertexAttrib3(Int32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dNV")] public static void VertexAttrib3(UInt32 index, Double x, Double y, Double z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static unsafe void VertexAttrib3(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static void VertexAttrib3(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static void VertexAttrib3(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static unsafe void VertexAttrib3(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static void VertexAttrib3(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")] public static void VertexAttrib3(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fNV")] public static void VertexAttrib3(Int32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fNV")] public static void VertexAttrib3(UInt32 index, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static void VertexAttrib3(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static unsafe void VertexAttrib3(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static void VertexAttrib3(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static void VertexAttrib3(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static unsafe void VertexAttrib3(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")] public static void VertexAttrib3(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hNV")] public static void VertexAttrib3h(Int32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hNV")] public static void VertexAttrib3h(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static unsafe void VertexAttrib3h(Int32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static void VertexAttrib3h(Int32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static void VertexAttrib3h(Int32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static unsafe void VertexAttrib3h(UInt32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static void VertexAttrib3h(UInt32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")] public static void VertexAttrib3h(UInt32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3sNV")] public static void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3sNV")] public static void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static unsafe void VertexAttrib3(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static void VertexAttrib3(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static void VertexAttrib3(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static unsafe void VertexAttrib3(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static void VertexAttrib3(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")] public static void VertexAttrib3(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dNV")] public static void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dNV")] public static void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static unsafe void VertexAttrib4(Int32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static void VertexAttrib4(Int32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static void VertexAttrib4(Int32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static unsafe void VertexAttrib4(UInt32 index, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static void VertexAttrib4(UInt32 index, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")] public static void VertexAttrib4(UInt32 index, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fNV")] public static void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fNV")] public static void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static void VertexAttrib4(Int32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static unsafe void VertexAttrib4(Int32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static void VertexAttrib4(Int32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static void VertexAttrib4(UInt32 index, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static unsafe void VertexAttrib4(UInt32 index, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")] public static void VertexAttrib4(UInt32 index, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hNV")] public static void VertexAttrib4h(Int32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hNV")] public static void VertexAttrib4h(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static unsafe void VertexAttrib4h(Int32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static void VertexAttrib4h(Int32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static void VertexAttrib4h(Int32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static unsafe void VertexAttrib4h(UInt32 index, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static void VertexAttrib4h(UInt32 index, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")] public static void VertexAttrib4h(UInt32 index, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4sNV")] public static void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4sNV")] public static void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static unsafe void VertexAttrib4(Int32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static void VertexAttrib4(Int32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static void VertexAttrib4(Int32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static unsafe void VertexAttrib4(UInt32 index, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static void VertexAttrib4(UInt32 index, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")] public static void VertexAttrib4(UInt32 index, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubNV")] public static void VertexAttrib4(Int32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubNV")] public static void VertexAttrib4(UInt32 index, Byte x, Byte y, Byte z, Byte w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static unsafe void VertexAttrib4(Int32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static void VertexAttrib4(Int32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static void VertexAttrib4(Int32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static unsafe void VertexAttrib4(UInt32 index, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v); #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static void VertexAttrib4(UInt32 index, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Specifies the value of a generic vertex attribute /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the new values to be used for the specified vertex attribute. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")] public static void VertexAttrib4(UInt32 index, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr); } } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] ref T4 pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[] pointer) where T4 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } /// /// Define an array of generic vertex attribute data /// /// /// /// Specifies the index of the generic vertex attribute to be modified. /// /// /// /// /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4. /// /// /// /// /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT. /// /// /// /// /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed. /// /// /// /// /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0. /// /// /// /// /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")] public static void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static unsafe void VertexAttribs1(Int32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static void VertexAttribs1(Int32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static void VertexAttribs1(Int32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static unsafe void VertexAttribs1(UInt32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static void VertexAttribs1(UInt32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")] public static void VertexAttribs1(UInt32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static void VertexAttribs1(Int32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static unsafe void VertexAttribs1(Int32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static void VertexAttribs1(Int32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static void VertexAttribs1(UInt32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static unsafe void VertexAttribs1(UInt32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")] public static void VertexAttribs1(UInt32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static unsafe void VertexAttribs1h(Int32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static void VertexAttribs1h(Int32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static void VertexAttribs1h(Int32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static unsafe void VertexAttribs1h(UInt32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static void VertexAttribs1h(UInt32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")] public static void VertexAttribs1h(UInt32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static unsafe void VertexAttribs1(Int32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static void VertexAttribs1(Int32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static void VertexAttribs1(Int32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static unsafe void VertexAttribs1(UInt32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static void VertexAttribs1(UInt32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")] public static void VertexAttribs1(UInt32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static unsafe void VertexAttribs2(Int32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static void VertexAttribs2(Int32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static void VertexAttribs2(Int32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static unsafe void VertexAttribs2(UInt32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static void VertexAttribs2(UInt32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")] public static void VertexAttribs2(UInt32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static void VertexAttribs2(Int32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static unsafe void VertexAttribs2(Int32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static void VertexAttribs2(Int32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static void VertexAttribs2(UInt32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static unsafe void VertexAttribs2(UInt32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")] public static void VertexAttribs2(UInt32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static unsafe void VertexAttribs2h(Int32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static void VertexAttribs2h(Int32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static void VertexAttribs2h(Int32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static unsafe void VertexAttribs2h(UInt32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static void VertexAttribs2h(UInt32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")] public static void VertexAttribs2h(UInt32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static unsafe void VertexAttribs2(Int32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static void VertexAttribs2(Int32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static void VertexAttribs2(Int32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static unsafe void VertexAttribs2(UInt32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static void VertexAttribs2(UInt32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")] public static void VertexAttribs2(UInt32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static unsafe void VertexAttribs3(Int32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static void VertexAttribs3(Int32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static void VertexAttribs3(Int32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static unsafe void VertexAttribs3(UInt32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static void VertexAttribs3(UInt32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")] public static void VertexAttribs3(UInt32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static void VertexAttribs3(Int32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static unsafe void VertexAttribs3(Int32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static void VertexAttribs3(Int32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static void VertexAttribs3(UInt32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static unsafe void VertexAttribs3(UInt32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")] public static void VertexAttribs3(UInt32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static unsafe void VertexAttribs3h(Int32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static void VertexAttribs3h(Int32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static void VertexAttribs3h(Int32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static unsafe void VertexAttribs3h(UInt32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static void VertexAttribs3h(UInt32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")] public static void VertexAttribs3h(UInt32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static unsafe void VertexAttribs3(Int32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static void VertexAttribs3(Int32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static void VertexAttribs3(Int32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static unsafe void VertexAttribs3(UInt32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static void VertexAttribs3(UInt32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")] public static void VertexAttribs3(UInt32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static unsafe void VertexAttribs4(Int32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static void VertexAttribs4(Int32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static void VertexAttribs4(Int32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static unsafe void VertexAttribs4(UInt32 index, Int32 count, Double* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, Double[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, ref Double v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* v_ptr = &v) { Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static void VertexAttribs4(Int32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static unsafe void VertexAttribs4(Int32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static void VertexAttribs4(Int32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = &v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static unsafe void VertexAttribs4(UInt32 index, Int32 count, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* v_ptr = v) { Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static unsafe void VertexAttribs4h(Int32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static void VertexAttribs4h(Int32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static void VertexAttribs4h(Int32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static unsafe void VertexAttribs4h(UInt32 index, Int32 n, OpenTK.Half* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static void VertexAttribs4h(UInt32 index, Int32 n, OpenTK.Half[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")] public static void VertexAttribs4h(UInt32 index, Int32 n, ref OpenTK.Half v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (OpenTK.Half* v_ptr = &v) { Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static unsafe void VertexAttribs4(Int32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static void VertexAttribs4(Int32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static void VertexAttribs4(Int32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static unsafe void VertexAttribs4(UInt32 index, Int32 count, Int16* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static void VertexAttribs4(UInt32 index, Int32 count, Int16[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")] public static void VertexAttribs4(UInt32 index, Int32 count, ref Int16 v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* v_ptr = &v) { Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static unsafe void VertexAttribs4(Int32 index, Int32 count, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v); #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static void VertexAttribs4(Int32 index, Int32 count, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static void VertexAttribs4(Int32 index, Int32 count, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static unsafe void VertexAttribs4(UInt32 index, Int32 count, Byte* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, Byte[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")] public static void VertexAttribs4(UInt32 index, Int32 count, ref Byte v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* v_ptr = &v) { Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexWeighthNV")] public static void VertexWeighth(OpenTK.Half weight) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexWeighthNV((OpenTK.Half)weight); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexWeighthvNV")] public static unsafe void VertexWeighth(OpenTK.Half* weight) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glVertexWeighthvNV((OpenTK.Half*)weight); #if DEBUG } #endif } } public static partial class Pgi { /// /// Specify implementation-specific hints /// /// /// /// Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted. /// /// /// /// /// Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted. /// /// [AutoGenerated(Category = "PgiMiscHints", Version = "1.1", EntryPoint = "glHintPGI")] public static void Hint(PgiMiscHints target, Int32 mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glHintPGI((PgiMiscHints)target, (Int32)mode); #if DEBUG } #endif } } public static partial class Sgi { /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")] public static void ColorTableParameter(SgiColorTable target, SgiColorTable pname, ref Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")] public static unsafe void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params); #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")] public static void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")] public static unsafe void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")] public static void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Set color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS. /// /// /// /// /// A pointer to an array where the values of the parameters are stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")] public static void ColorTableParameter(SgiColorTable target, SgiColorTable pname, ref Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")] public static void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")] public static void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")] public static void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")] public static void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table) where T5 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Define a color lookup table /// /// /// /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16. /// /// /// /// /// The number of entries in the color lookup table specified by data. /// /// /// /// /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV. /// /// /// /// /// Pointer to a one-dimensional array of pixel data that is processed to build the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")] public static void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr table) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table); #if DEBUG } #endif } /// /// Copy pixels into a color table /// /// /// /// The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16. /// /// /// /// /// The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. /// /// /// /// /// The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table. /// /// /// /// /// The width of the pixel rectangle. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glCopyColorTableSGI")] public static void CopyColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glCopyColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")] public static void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")] public static unsafe void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")] public static void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")] public static unsafe void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params); #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")] public static void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Get color lookup table parameters /// /// /// /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE. /// /// /// /// /// A pointer to an array where the values of the parameter will be stored. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")] public static void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")] public static void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] ref T3 table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")] public static void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[,,] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")] public static void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[,] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")] public static void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[] table) where T3 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned); try { Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject()); } finally { table_ptr.Free(); } #if DEBUG } #endif } /// /// Retrieve contents of a color lookup table /// /// /// /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE. /// /// /// /// /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA. /// /// /// /// /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted. /// /// /// /// /// Pointer to a one-dimensional array of pixel data containing the contents of the color table. /// /// [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")] public static void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [Out] IntPtr table) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table); #if DEBUG } #endif } } public static partial class Sgis { [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")] public static void DetailTexFunc(TextureTarget target, Int32 n, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")] public static unsafe void DetailTexFunc(TextureTarget target, Int32 n, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")] public static void DetailTexFunc(TextureTarget target, Int32 n, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")] public static void FogFunc(Int32 n, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")] public static unsafe void FogFunc(Int32 n, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFogFuncSGIS((Int32)n, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")] public static void FogFunc(Int32 n, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")] public static void GetDetailTexFunc(TextureTarget target, [Out] out Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points_ptr); points = *points_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")] public static unsafe void GetDetailTexFunc(TextureTarget target, [Out] Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")] public static void GetDetailTexFunc(TextureTarget target, [Out] Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")] public static void GetFogFunc([Out] out Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetFogFuncSGIS((Single*)points_ptr); points = *points_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")] public static unsafe void GetFogFunc([Out] Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFogFuncSGIS((Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")] public static void GetFogFunc([Out] Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glGetFogFuncSGIS((Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")] public static void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")] public static unsafe void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")] public static void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")] public static unsafe void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")] public static void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")] public static void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")] public static void GetSharpenTexFunc(TextureTarget target, [Out] out Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points_ptr); points = *points_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")] public static unsafe void GetSharpenTexFunc(TextureTarget target, [Out] Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")] public static void GetSharpenTexFunc(TextureTarget target, [Out] Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")] public static void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] out Single weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights_ptr); weights = *weights_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")] public static unsafe void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] Single* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")] public static void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] Single[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = weights) { Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfSGIS")] public static void PixelTexGenParameter(SgisPixelTexture pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTexGenParameterfSGIS((SgisPixelTexture)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfvSGIS")] public static unsafe void PixelTexGenParameter(SgisPixelTexture pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfvSGIS")] public static void PixelTexGenParameter(SgisPixelTexture pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameteriSGIS")] public static void PixelTexGenParameter(SgisPixelTexture pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTexGenParameteriSGIS((SgisPixelTexture)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterivSGIS")] public static unsafe void PixelTexGenParameter(SgisPixelTexture pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterivSGIS")] public static void PixelTexGenParameter(SgisPixelTexture pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfSGIS")] public static void PointParameter(SgisPointParameters pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfSGIS((SgisPointParameters)pname, (Single)param); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvSGIS")] public static unsafe void PointParameter(SgisPointParameters pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPointParameterfvSGIS((SgisPointParameters)pname, (Single*)@params); #if DEBUG } #endif } /// /// Specify point parameters /// /// /// /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted. /// /// /// /// /// Specifies the value that pname will be set to. /// /// [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvSGIS")] public static void PointParameter(SgisPointParameters pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glPointParameterfvSGIS((SgisPointParameters)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisMultisample", Version = "1.1", EntryPoint = "glSampleMaskSGIS")] public static void SampleMask(Single value, bool invert) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSampleMaskSGIS((Single)value, (bool)invert); #if DEBUG } #endif } [AutoGenerated(Category = "SgisMultisample", Version = "1.0", EntryPoint = "glSamplePatternSGIS")] public static void SamplePattern(SgisMultisample pattern) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSamplePatternSGIS((SgisMultisample)pattern); #if DEBUG } #endif } [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")] public static void SharpenTexFunc(TextureTarget target, Int32 n, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")] public static unsafe void SharpenTexFunc(TextureTarget target, Int32 n, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")] public static void SharpenTexFunc(TextureTarget target, Int32 n, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")] public static void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, ref Single weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = &weights) { Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")] public static unsafe void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, Single* weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights); #if DEBUG } #endif } [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")] public static void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, Single[] weights) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* weights_ptr = weights) { Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")] public static void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")] public static void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")] public static void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")] public static void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels) where T10 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")] public static void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")] public static void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] ref T12 pixels) where T12 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")] public static void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[,,] pixels) where T12 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")] public static void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[,] pixels) where T12 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")] public static void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[] pixels) where T12 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned); try { Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject()); } finally { pixels_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")] public static void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, IntPtr pixels) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels); #if DEBUG } #endif } [AutoGenerated(Category = "SgisTextureColorMask", Version = "1.1", EntryPoint = "glTextureColorMaskSGIS")] public static void TextureColorMask(bool red, bool green, bool blue, bool alpha) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTextureColorMaskSGIS((bool)red, (bool)green, (bool)blue, (bool)alpha); #if DEBUG } #endif } } public static partial class Sgix { [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glAsyncMarkerSGIX")] public static void AsyncMarker(Int32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAsyncMarkerSGIX((UInt32)marker); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glAsyncMarkerSGIX")] public static void AsyncMarker(UInt32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glAsyncMarkerSGIX((UInt32)marker); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")] public static unsafe void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")] public static void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = points) { Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")] public static void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, ref Double points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* points_ptr = &points) { Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")] public static void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, ref Single points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = &points) { Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")] public static unsafe void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points); #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")] public static void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single[] points) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* points_ptr = points) { Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformSGIX")] public static void Deform(Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeformSGIX((UInt32)mask); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformSGIX")] public static void Deform(UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeformSGIX((UInt32)mask); #if DEBUG } #endif } [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glDeleteAsyncMarkersSGIX")] public static void DeleteAsyncMarkers(Int32 marker, Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glDeleteAsyncMarkersSGIX")] public static void DeleteAsyncMarkers(UInt32 marker, Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")] public static unsafe Int32 FinishAsync([Out] Int32* markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glFinishAsyncSGIX((UInt32*)markerp); #if DEBUG } #endif } [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")] public static Int32 FinishAsync([Out] out Int32 markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* markerp_ptr = &markerp) { Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")] public static Int32 FinishAsync([Out] out UInt32 markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* markerp_ptr = &markerp) { Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")] public static unsafe Int32 FinishAsync([Out] UInt32* markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glFinishAsyncSGIX((UInt32*)markerp); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFlushRaster", Version = "1.0", EntryPoint = "glFlushRasterSGIX")] public static void FlushRaster() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFlushRasterSGIX(); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentColorMaterialSGIX")] public static void FragmentColorMaterial(MaterialFace face, MaterialParameter mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentColorMaterialSGIX((MaterialFace)face, (MaterialParameter)mode); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfSGIX")] public static void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightfSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfvSGIX")] public static unsafe void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfvSGIX")] public static void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightiSGIX")] public static void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightiSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightivSGIX")] public static unsafe void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightivSGIX")] public static void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfSGIX")] public static void FragmentLightModel(SgixFragmentLighting pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightModelfSGIX((SgixFragmentLighting)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfvSGIX")] public static unsafe void FragmentLightModel(SgixFragmentLighting pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightModelfvSGIX((SgixFragmentLighting)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfvSGIX")] public static void FragmentLightModel(SgixFragmentLighting pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentLightModelfvSGIX((SgixFragmentLighting)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModeliSGIX")] public static void FragmentLightModel(SgixFragmentLighting pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightModeliSGIX((SgixFragmentLighting)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelivSGIX")] public static unsafe void FragmentLightModel(SgixFragmentLighting pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentLightModelivSGIX((SgixFragmentLighting)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelivSGIX")] public static void FragmentLightModel(SgixFragmentLighting pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentLightModelivSGIX((SgixFragmentLighting)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfSGIX")] public static void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentMaterialfSGIX((MaterialFace)face, (MaterialParameter)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfvSGIX")] public static unsafe void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfvSGIX")] public static void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialiSGIX")] public static void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentMaterialiSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialivSGIX")] public static unsafe void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialivSGIX")] public static void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFramezoom", Version = "1.0", EntryPoint = "glFrameZoomSGIX")] public static void FrameZoom(Int32 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFrameZoomSGIX((Int32)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glGenAsyncMarkersSGIX")] public static Int32 GenAsyncMarkers(Int32 range) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGenAsyncMarkersSGIX((Int32)range); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")] public static void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")] public static unsafe void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")] public static void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")] public static unsafe void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")] public static void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")] public static void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")] public static void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")] public static unsafe void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")] public static void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")] public static unsafe void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")] public static void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")] public static void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glGetInstrumentsSGIX")] public static Int32 GetInstruments() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glGetInstrumentsSGIX(); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static void GetListParameter(Int32 list, ListParameterName pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static unsafe void GetListParameter(Int32 list, ListParameterName pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static void GetListParameter(Int32 list, ListParameterName pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static void GetListParameter(UInt32 list, ListParameterName pname, [Out] out Single @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = &@params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static unsafe void GetListParameter(UInt32 list, ListParameterName pname, [Out] Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")] public static void GetListParameter(UInt32 list, ListParameterName pname, [Out] Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static unsafe void GetListParameter(Int32 list, ListParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static void GetListParameter(Int32 list, ListParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static void GetListParameter(Int32 list, ListParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static unsafe void GetListParameter(UInt32 list, ListParameterName pname, [Out] Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static void GetListParameter(UInt32 list, ListParameterName pname, [Out] Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")] public static void GetListParameter(UInt32 list, ListParameterName pname, [Out] out Int32 @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = &@params) { Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); @params = *@params_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")] public static void IglooInterface(All pname, [In, Out] ref T1 @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")] public static void IglooInterface(All pname, [In, Out] T1[,,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")] public static void IglooInterface(All pname, [In, Out] T1[,] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")] public static void IglooInterface(All pname, [In, Out] T1[] @params) where T1 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned); try { Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject()); } finally { @params_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")] public static void IglooInterface(All pname, IntPtr @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")] public static unsafe void InstrumentsBuffer(Int32 size, [Out] Int32* buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer); #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")] public static void InstrumentsBuffer(Int32 size, [Out] Int32[] buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffer_ptr = buffer) { Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")] public static void InstrumentsBuffer(Int32 size, [Out] out Int32 buffer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* buffer_ptr = &buffer) { Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr); buffer = *buffer_ptr; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glIsAsyncMarkerSGIX")] public static bool IsAsyncMarker(Int32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsAsyncMarkerSGIX((UInt32)marker); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glIsAsyncMarkerSGIX")] public static bool IsAsyncMarker(UInt32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glIsAsyncMarkerSGIX((UInt32)marker); #if DEBUG } #endif } [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glLightEnviSGIX")] public static void LightEnv(SgixFragmentLighting pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLightEnviSGIX((SgixFragmentLighting)pname, (Int32)param); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfSGIX")] public static void ListParameter(Int32 list, ListParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterfSGIX((UInt32)list, (ListParameterName)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfSGIX")] public static void ListParameter(UInt32 list, ListParameterName pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterfSGIX((UInt32)list, (ListParameterName)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")] public static unsafe void ListParameter(Int32 list, ListParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")] public static void ListParameter(Int32 list, ListParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")] public static unsafe void ListParameter(UInt32 list, ListParameterName pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")] public static void ListParameter(UInt32 list, ListParameterName pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameteriSGIX")] public static void ListParameter(Int32 list, ListParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameteriSGIX((UInt32)list, (ListParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameteriSGIX")] public static void ListParameter(UInt32 list, ListParameterName pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameteriSGIX((UInt32)list, (ListParameterName)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")] public static unsafe void ListParameter(Int32 list, ListParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")] public static void ListParameter(Int32 list, ListParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")] public static unsafe void ListParameter(UInt32 list, ListParameterName pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")] public static void ListParameter(UInt32 list, ListParameterName pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glLoadIdentityDeformationMapSGIX")] public static void LoadIdentityDeformationMap(Int32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadIdentityDeformationMapSGIX((UInt32)mask); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glLoadIdentityDeformationMapSGIX")] public static void LoadIdentityDeformationMap(UInt32 mask) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glLoadIdentityDeformationMapSGIX((UInt32)mask); #if DEBUG } #endif } [AutoGenerated(Category = "SgixPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenSGIX")] public static void PixelTexGen(SgixPixelTexture mode) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glPixelTexGenSGIX((SgixPixelTexture)mode); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")] public static unsafe Int32 PollAsync([Out] Int32* markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glPollAsyncSGIX((UInt32*)markerp); #if DEBUG } #endif } [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")] public static Int32 PollAsync([Out] out Int32 markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* markerp_ptr = &markerp) { Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")] public static Int32 PollAsync([Out] out UInt32 markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* markerp_ptr = &markerp) { Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr); markerp = *markerp_ptr; return retval; } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")] public static unsafe Int32 PollAsync([Out] UInt32* markerp) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glPollAsyncSGIX((UInt32*)markerp); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glPollInstrumentsSGIX")] public static unsafe Int32 PollInstruments([Out] Int32* marker_p) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif return Delegates.glPollInstrumentsSGIX((Int32*)marker_p); #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glPollInstrumentsSGIX")] public static Int32 PollInstruments([Out] out Int32 marker_p) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* marker_p_ptr = &marker_p) { Int32 retval = Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr); marker_p = *marker_p_ptr; return retval; } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glReadInstrumentsSGIX")] public static void ReadInstruments(Int32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReadInstrumentsSGIX((Int32)marker); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")] public static unsafe void ReferencePlane(Double* equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReferencePlaneSGIX((Double*)equation); #if DEBUG } #endif } [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")] public static void ReferencePlane(Double[] equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = equation) { Delegates.glReferencePlaneSGIX((Double*)equation_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")] public static void ReferencePlane(ref Double equation) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Double* equation_ptr = &equation) { Delegates.glReferencePlaneSGIX((Double*)equation_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfSGIX")] public static void SpriteParameter(SgixSprite pname, Single param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSpriteParameterfSGIX((SgixSprite)pname, (Single)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfvSGIX")] public static unsafe void SpriteParameter(SgixSprite pname, Single* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSpriteParameterfvSGIX((SgixSprite)pname, (Single*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfvSGIX")] public static void SpriteParameter(SgixSprite pname, Single[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* @params_ptr = @params) { Delegates.glSpriteParameterfvSGIX((SgixSprite)pname, (Single*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameteriSGIX")] public static void SpriteParameter(SgixSprite pname, Int32 param) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSpriteParameteriSGIX((SgixSprite)pname, (Int32)param); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterivSGIX")] public static unsafe void SpriteParameter(SgixSprite pname, Int32* @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glSpriteParameterivSGIX((SgixSprite)pname, (Int32*)@params); #if DEBUG } #endif } [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterivSGIX")] public static void SpriteParameter(SgixSprite pname, Int32[] @params) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* @params_ptr = @params) { Delegates.glSpriteParameterivSGIX((SgixSprite)pname, (Int32*)@params_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glStartInstrumentsSGIX")] public static void StartInstruments() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStartInstrumentsSGIX(); #if DEBUG } #endif } [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glStopInstrumentsSGIX")] public static void StopInstruments(Int32 marker) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glStopInstrumentsSGIX((Int32)marker); #if DEBUG } #endif } [AutoGenerated(Category = "SgixTagSampleBuffer", Version = "1.0", EntryPoint = "glTagSampleBufferSGIX")] public static void TagSampleBuffer() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTagSampleBufferSGIX(); #if DEBUG } #endif } } public static partial class Sun { [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fSUN")] public static void Color3fVertex3(Single r, Single g, Single b, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")] public static void Color3fVertex3(ref Single c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")] public static unsafe void Color3fVertex3(Single* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")] public static void Color3fVertex3(Single[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fSUN")] public static void Color4fNormal3fVertex3(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4fNormal3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")] public static void Color4fNormal3fVertex3(ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")] public static unsafe void Color4fNormal3fVertex3(Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")] public static void Color4fNormal3fVertex3(Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fSUN")] public static void Color4ubVertex2(Byte r, Byte g, Byte b, Byte a, Single x, Single y) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ubVertex2fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")] public static unsafe void Color4ubVertex2(Byte* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")] public static void Color4ubVertex2(Byte[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")] public static void Color4ubVertex2(ref Byte c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fSUN")] public static void Color4ubVertex3(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ubVertex3fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")] public static unsafe void Color4ubVertex3(Byte* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")] public static void Color4ubVertex3(Byte[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")] public static void Color4ubVertex3(ref Byte c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunMeshArray", Version = "1.1", EntryPoint = "glDrawMeshArraysSUN")] public static void DrawMeshArrays(BeginMode mode, Int32 first, Int32 count, Int32 width) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glDrawMeshArraysSUN((BeginMode)mode, (Int32)first, (Int32)count, (Int32)width); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorbSUN")] public static void GlobalAlphaFactor(SByte factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorbSUN((SByte)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactordSUN")] public static void GlobalAlphaFactor(Double factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactordSUN((Double)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorfSUN")] public static void GlobalAlphaFactor(Single factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorfSUN((Single)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactoriSUN")] public static void GlobalAlphaFactor(Int32 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactoriSUN((Int32)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorsSUN")] public static void GlobalAlphaFactors(Int16 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorsSUN((Int16)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorubSUN")] public static void GlobalAlphaFactor(Byte factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorubSUN((Byte)factor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactoruiSUN")] public static void GlobalAlphaFactor(UInt32 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorusSUN")] public static void GlobalAlphaFactor(Int16 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorusSUN((UInt16)factor); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorusSUN")] public static void GlobalAlphaFactor(UInt16 factor) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glGlobalAlphaFactorusSUN((UInt16)factor); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fSUN")] public static void Normal3fVertex3(Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3fVertex3fSUN((Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")] public static void Normal3fVertex3(ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")] public static unsafe void Normal3fVertex3(Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")] public static void Normal3fVertex3(Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")] public static void ReplacementCodePointer(SunTriangleList type, Int32 stride, [In, Out] ref T2 pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")] public static void ReplacementCodePointer(SunTriangleList type, Int32 stride, [In, Out] T2[,,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")] public static void ReplacementCodePointer(SunTriangleList type, Int32 stride, [In, Out] T2[,] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")] public static void ReplacementCodePointer(SunTriangleList type, Int32 stride, [In, Out] T2[] pointer) where T2 : struct { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned); try { Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")] public static void ReplacementCodePointer(SunTriangleList type, Int32 stride, IntPtr pointer) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer); #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubSUN")] public static void ReplacementCode(Byte code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeubSUN((Byte)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubvSUN")] public static unsafe void ReplacementCode(Byte* code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeubvSUN((Byte*)code); #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubvSUN")] public static void ReplacementCode(Byte[] code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Byte* code_ptr = code) { Delegates.glReplacementCodeubvSUN((Byte*)code_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN")] public static void ReplacementCodeuiColor3fVertex3(Int32 rc, Single r, Single g, Single b, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN")] public static void ReplacementCodeuiColor3fVertex3(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor3fVertex3(Int32* rc, Single* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor3fVertex3(Int32* rc, Single[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static void ReplacementCodeuiColor3fVertex3(ref Int32 rc, ref Single c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static void ReplacementCodeuiColor3fVertex3(ref UInt32 rc, ref Single c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor3fVertex3(UInt32* rc, Single* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor3fVertex3(UInt32* rc, Single[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN")] public static void ReplacementCodeuiColor4fNormal3fVertex3(Int32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN")] public static void ReplacementCodeuiColor4fNormal3fVertex3(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4fNormal3fVertex3(Int32* rc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4fNormal3fVertex3(Int32* rc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiColor4fNormal3fVertex3(ref Int32 rc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiColor4fNormal3fVertex3(ref UInt32 rc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4fNormal3fVertex3(UInt32* rc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4fNormal3fVertex3(UInt32* rc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN")] public static void ReplacementCodeuiColor4ubVertex3(Int32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN")] public static void ReplacementCodeuiColor4ubVertex3(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4ubVertex3(Int32* rc, Byte* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4ubVertex3(Int32* rc, Byte[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static void ReplacementCodeuiColor4ubVertex3(ref Int32 rc, ref Byte c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static void ReplacementCodeuiColor4ubVertex3(ref UInt32 rc, ref Byte c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4ubVertex3(UInt32* rc, Byte* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")] public static unsafe void ReplacementCodeuiColor4ubVertex3(UInt32* rc, Byte[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN")] public static void ReplacementCodeuiNormal3fVertex3(Int32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN")] public static void ReplacementCodeuiNormal3fVertex3(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiNormal3fVertex3(Int32* rc, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiNormal3fVertex3(Int32* rc, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static void ReplacementCodeuiNormal3fVertex3(ref Int32 rc, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static void ReplacementCodeuiNormal3fVertex3(ref UInt32 rc, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiNormal3fVertex3(UInt32* rc, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiNormal3fVertex3(UInt32* rc, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuiSUN")] public static void ReplacementCode(Int32 code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiSUN((UInt32)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuiSUN")] public static void ReplacementCode(UInt32 code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiSUN((UInt32)code); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32* rc, Single* tc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32* rc, Single[] tc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(ref Int32 rc, ref Single tc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32* rc, Single* tc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32* rc, Single[] tc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32* rc, Single* tc, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32* rc, Single[] tc, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fNormal3fVertex3(ref Int32 rc, ref Single tc, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fNormal3fVertex3(ref UInt32 rc, ref Single tc, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32* rc, Single* tc, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32* rc, Single[] tc, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fVertex3(Int32 rc, Single s, Single t, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN")] public static void ReplacementCodeuiTexCoord2fVertex3(UInt32 rc, Single s, Single t, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fVertex3(Int32* rc, Single* tc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fVertex3(Int32* rc, Single[] tc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fVertex3(ref Int32 rc, ref Single tc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static void ReplacementCodeuiTexCoord2fVertex3(ref UInt32 rc, ref Single tc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fVertex3(UInt32* rc, Single* tc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")] public static unsafe void ReplacementCodeuiTexCoord2fVertex3(UInt32* rc, Single[] tc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fSUN")] public static void ReplacementCodeuiVertex3(Int32 rc, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fSUN")] public static void ReplacementCodeuiVertex3(UInt32 rc, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static unsafe void ReplacementCodeuiVertex3(Int32* rc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static unsafe void ReplacementCodeuiVertex3(Int32* rc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr); } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static void ReplacementCodeuiVertex3(ref Int32 rc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static void ReplacementCodeuiVertex3(ref UInt32 rc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* rc_ptr = &rc) fixed (Single* v_ptr = &v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static unsafe void ReplacementCodeuiVertex3(UInt32* rc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")] public static unsafe void ReplacementCodeuiVertex3(UInt32* rc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif fixed (Single* v_ptr = v) { Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr); } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")] public static unsafe void ReplacementCode(Int32* code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuivSUN((UInt32*)code); #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")] public static void ReplacementCode(Int32[] code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int32* code_ptr = code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")] public static unsafe void ReplacementCode(UInt32* code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeuivSUN((UInt32*)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")] public static void ReplacementCode(UInt32[] code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt32* code_ptr = code) { Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusSUN")] public static void ReplacementCode(Int16 code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeusSUN((UInt16)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusSUN")] public static void ReplacementCode(UInt16 code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeusSUN((UInt16)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")] public static unsafe void ReplacementCode(Int16* code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeusvSUN((UInt16*)code); #if DEBUG } #endif } [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")] public static void ReplacementCode(Int16[] code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Int16* code_ptr = code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")] public static unsafe void ReplacementCode(UInt16* code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glReplacementCodeusvSUN((UInt16*)code); #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")] public static void ReplacementCode(UInt16[] code) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (UInt16* code_ptr = code) { Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fSUN")] public static void TexCoord2fColor3fVertex3(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")] public static void TexCoord2fColor3fVertex3(ref Single tc, ref Single c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")] public static unsafe void TexCoord2fColor3fVertex3(Single* tc, Single* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")] public static void TexCoord2fColor3fVertex3(Single[] tc, Single[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fSUN")] public static void TexCoord2fColor4fNormal3fVertex3(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor4fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")] public static void TexCoord2fColor4fNormal3fVertex3(ref Single tc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")] public static unsafe void TexCoord2fColor4fNormal3fVertex3(Single* tc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")] public static void TexCoord2fColor4fNormal3fVertex3(Single[] tc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fSUN")] public static void TexCoord2fColor4ubVertex3(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor4ubVertex3fSUN((Single)s, (Single)t, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")] public static void TexCoord2fColor4ubVertex3(ref Single tc, ref Byte c, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Byte* c_ptr = &c) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")] public static unsafe void TexCoord2fColor4ubVertex3(Single* tc, Byte* c, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")] public static void TexCoord2fColor4ubVertex3(Single[] tc, Byte[] c, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Byte* c_ptr = c) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fSUN")] public static void TexCoord2fNormal3fVertex3(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")] public static void TexCoord2fNormal3fVertex3(ref Single tc, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")] public static unsafe void TexCoord2fNormal3fVertex3(Single* tc, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")] public static void TexCoord2fNormal3fVertex3(Single[] tc, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fSUN")] public static void TexCoord2fVertex3(Single s, Single t, Single x, Single y, Single z) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fVertex3fSUN((Single)s, (Single)t, (Single)x, (Single)y, (Single)z); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")] public static void TexCoord2fVertex3(ref Single tc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")] public static unsafe void TexCoord2fVertex3(Single* tc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")] public static void TexCoord2fVertex3(Single[] tc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fSUN")] public static void TexCoord4fColor4fNormal3fVertex4(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4fColor4fNormal3fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")] public static void TexCoord4fColor4fNormal3fVertex4(ref Single tc, ref Single c, ref Single n, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* c_ptr = &c) fixed (Single* n_ptr = &n) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")] public static unsafe void TexCoord4fColor4fNormal3fVertex4(Single* tc, Single* c, Single* n, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")] public static void TexCoord4fColor4fNormal3fVertex4(Single[] tc, Single[] c, Single[] n, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* c_ptr = c) fixed (Single* n_ptr = n) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fSUN")] public static void TexCoord4fVertex4(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)x, (Single)y, (Single)z, (Single)w); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")] public static void TexCoord4fVertex4(ref Single tc, ref Single v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = &tc) fixed (Single* v_ptr = &v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } [System.CLSCompliant(false)] [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")] public static unsafe void TexCoord4fVertex4(Single* tc, Single* v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v); #if DEBUG } #endif } [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")] public static void TexCoord4fVertex4(Single[] tc, Single[] v) { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif unsafe { fixed (Single* tc_ptr = tc) fixed (Single* v_ptr = v) { Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr); } } #if DEBUG } #endif } } public static partial class Sunx { [AutoGenerated(Category = "SunxConstantData", Version = "1.1", EntryPoint = "glFinishTextureSUNX")] public static void FinishTexture() { #if DEBUG using (new ErrorHelper(GraphicsContext.CurrentContext)) { #endif Delegates.glFinishTextureSUNX(); #if DEBUG } #endif } } } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/GLEnums.cs0000664000175000017500000154675111453131426022545 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK.Graphics { #pragma warning disable 1591 public enum AccumOp { Accum = ((int)0X0100), Load = ((int)0X0101), Return = ((int)0X0102), Mult = ((int)0X0103), Add = ((int)0X0104), } public enum ActiveAttribType { Float = ((int)0X1406), FloatVec2 = ((int)0X8b50), FloatVec3 = ((int)0X8b51), FloatVec4 = ((int)0X8b52), FloatMat2 = ((int)0X8b5a), FloatMat3 = ((int)0X8b5b), FloatMat4 = ((int)0X8b5c), } public enum ActiveUniformType { Int = ((int)0X1404), Float = ((int)0X1406), FloatVec2 = ((int)0X8b50), FloatVec3 = ((int)0X8b51), FloatVec4 = ((int)0X8b52), 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), FloatMat2x3 = ((int)0X8b65), FloatMat2x4 = ((int)0X8b66), FloatMat3x2 = ((int)0X8b67), FloatMat3x4 = ((int)0X8b68), FloatMat4x2 = ((int)0X8b69), FloatMat4x3 = ((int)0X8b6a), Sampler1DArray = ((int)0X8dc0), Sampler2DArray = ((int)0X8dc1), Sampler1DArrayShadow = ((int)0X8dc3), Sampler2DArrayShadow = ((int)0X8dc4), SamplerCubeShadow = ((int)0X8dc5), UnsignedIntVec2 = ((int)0X8dc6), UnsignedIntVec3 = ((int)0X8dc7), UnsignedIntVec4 = ((int)0X8dc8), IntSampler1D = ((int)0X8dc9), IntSampler2D = ((int)0X8dca), IntSampler3D = ((int)0X8dcb), IntSamplerCube = ((int)0X8dcc), IntSampler1DArray = ((int)0X8dce), IntSampler2DArray = ((int)0X8dcf), UnsignedIntSampler1D = ((int)0X8dd1), UnsignedIntSampler2D = ((int)0X8dd2), UnsignedIntSampler3D = ((int)0X8dd3), UnsignedIntSamplerCube = ((int)0X8dd4), UnsignedIntSampler1DArray = ((int)0X8dd6), UnsignedIntSampler2DArray = ((int)0X8dd7), } public enum All { False = ((int)0), NoError = ((int)0), None = ((int)0), Zero = ((int)0), Points = ((int)0X0000), ClientPixelStoreBit = ((int)0X00000001), ContextCoreProfileBit = ((int)0X00000001), CurrentBit = ((int)0X00000001), Gl2XBitAti = ((int)0X00000001), RedBitAti = ((int)0X00000001), SyncFlushCommandsBit = ((int)0X00000001), TextureDeformationBitSgix = ((int)0X00000001), ClientVertexArrayBit = ((int)0X00000002), CompBitAti = ((int)0X00000002), ContextCompatibilityProfileBit = ((int)0X00000002), GeometryDeformationBitSgix = ((int)0X00000002), Gl4XBitAti = ((int)0X00000002), GreenBitAti = ((int)0X00000002), PointBit = ((int)0X00000002), BlueBitAti = ((int)0X00000004), Gl8XBitAti = ((int)0X00000004), LineBit = ((int)0X00000004), NegateBitAti = ((int)0X00000004), Vertex23BitPgi = ((int)0X00000004), BiasBitAti = ((int)0X00000008), HalfBitAti = ((int)0X00000008), PolygonBit = ((int)0X00000008), Vertex4BitPgi = ((int)0X00000008), PolygonStippleBit = ((int)0X00000010), QuarterBitAti = ((int)0X00000010), EighthBitAti = ((int)0X00000020), PixelModeBit = ((int)0X00000020), LightingBit = ((int)0X00000040), SaturateBitAti = ((int)0X00000040), FogBit = ((int)0X00000080), DepthBufferBit = ((int)0X00000100), AccumBufferBit = ((int)0X00000200), StencilBufferBit = ((int)0X00000400), ViewportBit = ((int)0X00000800), TransformBit = ((int)0X00001000), EnableBit = ((int)0X00002000), ColorBufferBit = ((int)0X00004000), HintBit = ((int)0X00008000), ContextFlagForwardCompatibleBit = ((int)0X0001), Lines = ((int)0X0001), MapReadBit = ((int)0X0001), RestartSun = ((int)0X0001), Color3BitPgi = ((int)0X00010000), EvalBit = ((int)0X00010000), LineLoop = ((int)0X0002), MapWriteBit = ((int)0X0002), ReplaceMiddleSun = ((int)0X0002), Color4BitPgi = ((int)0X00020000), ListBit = ((int)0X00020000), LineStrip = ((int)0X0003), ReplaceOldestSun = ((int)0X0003), MapInvalidateRangeBit = ((int)0X0004), Triangles = ((int)0X0004), EdgeflagBitPgi = ((int)0X00040000), TextureBit = ((int)0X00040000), TriangleStrip = ((int)0X0005), TriangleFan = ((int)0X0006), Quads = ((int)0X0007), MapInvalidateBufferBit = ((int)0X0008), QuadStrip = ((int)0X0008), IndexBitPgi = ((int)0X00080000), ScissorBit = ((int)0X00080000), Polygon = ((int)0X0009), LinesAdjacency = ((int)0X000a), LinesAdjacencyArb = ((int)0X000a), LinesAdjacencyExt = ((int)0X000a), LineStripAdjacency = ((int)0X000b), LineStripAdjacencyArb = ((int)0X000b), LineStripAdjacencyExt = ((int)0X000b), TrianglesAdjacency = ((int)0X000c), TrianglesAdjacencyArb = ((int)0X000c), TrianglesAdjacencyExt = ((int)0X000c), TriangleStripAdjacency = ((int)0X000d), TriangleStripAdjacencyArb = ((int)0X000d), TriangleStripAdjacencyExt = ((int)0X000d), MapFlushExplicitBit = ((int)0X0010), MatAmbientBitPgi = ((int)0X00100000), MapUnsynchronizedBit = ((int)0X0020), MatAmbientAndDiffuseBitPgi = ((int)0X00200000), MatDiffuseBitPgi = ((int)0X00400000), MatEmissionBitPgi = ((int)0X00800000), Accum = ((int)0X0100), MatColorIndexesBitPgi = ((int)0X01000000), Load = ((int)0X0101), Return = ((int)0X0102), Mult = ((int)0X0103), Add = ((int)0X0104), Never = ((int)0X0200), MatShininessBitPgi = ((int)0X02000000), Less = ((int)0X0201), Equal = ((int)0X0202), Lequal = ((int)0X0203), Greater = ((int)0X0204), Notequal = ((int)0X0205), Gequal = ((int)0X0206), Always = ((int)0X0207), SrcColor = ((int)0X0300), OneMinusSrcColor = ((int)0X0301), SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), DstAlpha = ((int)0X0304), OneMinusDstAlpha = ((int)0X0305), DstColor = ((int)0X0306), OneMinusDstColor = ((int)0X0307), SrcAlphaSaturate = ((int)0X0308), FrontLeft = ((int)0X0400), MatSpecularBitPgi = ((int)0X04000000), FrontRight = ((int)0X0401), BackLeft = ((int)0X0402), BackRight = ((int)0X0403), Front = ((int)0X0404), Back = ((int)0X0405), Left = ((int)0X0406), Right = ((int)0X0407), FrontAndBack = ((int)0X0408), Aux0 = ((int)0X0409), Aux1 = ((int)0X040a), Aux2 = ((int)0X040b), Aux3 = ((int)0X040c), InvalidEnum = ((int)0X0500), InvalidValue = ((int)0X0501), InvalidOperation = ((int)0X0502), StackOverflow = ((int)0X0503), StackUnderflow = ((int)0X0504), OutOfMemory = ((int)0X0505), InvalidFramebufferOperation = ((int)0X0506), InvalidFramebufferOperationExt = ((int)0X0506), Gl2D = ((int)0X0600), Gl3D = ((int)0X0601), Gl3DColor = ((int)0X0602), Gl3DColorTexture = ((int)0X0603), Gl4DColorTexture = ((int)0X0604), PassThroughToken = ((int)0X0700), PointToken = ((int)0X0701), LineToken = ((int)0X0702), PolygonToken = ((int)0X0703), BitmapToken = ((int)0X0704), DrawPixelToken = ((int)0X0705), CopyPixelToken = ((int)0X0706), LineResetToken = ((int)0X0707), Exp = ((int)0X0800), NormalBitPgi = ((int)0X08000000), Exp2 = ((int)0X0801), Cw = ((int)0X0900), Ccw = ((int)0X0901), Coeff = ((int)0X0a00), Order = ((int)0X0a01), Domain = ((int)0X0a02), CurrentColor = ((int)0X0b00), CurrentIndex = ((int)0X0b01), CurrentNormal = ((int)0X0b02), CurrentTextureCoords = ((int)0X0b03), CurrentRasterColor = ((int)0X0b04), CurrentRasterIndex = ((int)0X0b05), CurrentRasterTextureCoords = ((int)0X0b06), CurrentRasterPosition = ((int)0X0b07), CurrentRasterPositionValid = ((int)0X0b08), CurrentRasterDistance = ((int)0X0b09), PointSmooth = ((int)0X0b10), PointSize = ((int)0X0b11), PointSizeRange = ((int)0X0b12), SmoothPointSizeRange = ((int)0X0b12), PointSizeGranularity = ((int)0X0b13), SmoothPointSizeGranularity = ((int)0X0b13), LineSmooth = ((int)0X0b20), LineWidth = ((int)0X0b21), LineWidthRange = ((int)0X0b22), SmoothLineWidthRange = ((int)0X0b22), LineWidthGranularity = ((int)0X0b23), SmoothLineWidthGranularity = ((int)0X0b23), LineStipple = ((int)0X0b24), LineStipplePattern = ((int)0X0b25), LineStippleRepeat = ((int)0X0b26), ListMode = ((int)0X0b30), MaxListNesting = ((int)0X0b31), ListBase = ((int)0X0b32), ListIndex = ((int)0X0b33), PolygonMode = ((int)0X0b40), PolygonSmooth = ((int)0X0b41), PolygonStipple = ((int)0X0b42), EdgeFlag = ((int)0X0b43), CullFace = ((int)0X0b44), CullFaceMode = ((int)0X0b45), FrontFace = ((int)0X0b46), Lighting = ((int)0X0b50), LightModelLocalViewer = ((int)0X0b51), LightModelTwoSide = ((int)0X0b52), LightModelAmbient = ((int)0X0b53), ShadeModel = ((int)0X0b54), ColorMaterialFace = ((int)0X0b55), ColorMaterialParameter = ((int)0X0b56), ColorMaterial = ((int)0X0b57), Fog = ((int)0X0b60), FogIndex = ((int)0X0b61), FogDensity = ((int)0X0b62), FogStart = ((int)0X0b63), FogEnd = ((int)0X0b64), FogMode = ((int)0X0b65), FogColor = ((int)0X0b66), DepthRange = ((int)0X0b70), DepthTest = ((int)0X0b71), DepthWritemask = ((int)0X0b72), DepthClearValue = ((int)0X0b73), DepthFunc = ((int)0X0b74), AccumClearValue = ((int)0X0b80), StencilTest = ((int)0X0b90), StencilClearValue = ((int)0X0b91), StencilFunc = ((int)0X0b92), StencilValueMask = ((int)0X0b93), StencilFail = ((int)0X0b94), StencilPassDepthFail = ((int)0X0b95), StencilPassDepthPass = ((int)0X0b96), StencilRef = ((int)0X0b97), StencilWritemask = ((int)0X0b98), MatrixMode = ((int)0X0ba0), Normalize = ((int)0X0ba1), Viewport = ((int)0X0ba2), Modelview0StackDepthExt = ((int)0X0ba3), ModelviewStackDepth = ((int)0X0ba3), ProjectionStackDepth = ((int)0X0ba4), TextureStackDepth = ((int)0X0ba5), Modelview0MatrixExt = ((int)0X0ba6), ModelviewMatrix = ((int)0X0ba6), ProjectionMatrix = ((int)0X0ba7), TextureMatrix = ((int)0X0ba8), AttribStackDepth = ((int)0X0bb0), ClientAttribStackDepth = ((int)0X0bb1), AlphaTest = ((int)0X0bc0), AlphaTestFunc = ((int)0X0bc1), AlphaTestRef = ((int)0X0bc2), Dither = ((int)0X0bd0), BlendDst = ((int)0X0be0), BlendSrc = ((int)0X0be1), Blend = ((int)0X0be2), LogicOpMode = ((int)0X0bf0), IndexLogicOp = ((int)0X0bf1), LogicOp = ((int)0X0bf1), ColorLogicOp = ((int)0X0bf2), AuxBuffers = ((int)0X0c00), DrawBuffer = ((int)0X0c01), ReadBuffer = ((int)0X0c02), ScissorBox = ((int)0X0c10), ScissorTest = ((int)0X0c11), IndexClearValue = ((int)0X0c20), IndexWritemask = ((int)0X0c21), ColorClearValue = ((int)0X0c22), ColorWritemask = ((int)0X0c23), IndexMode = ((int)0X0c30), RgbaMode = ((int)0X0c31), Doublebuffer = ((int)0X0c32), Stereo = ((int)0X0c33), RenderMode = ((int)0X0c40), PerspectiveCorrectionHint = ((int)0X0c50), PointSmoothHint = ((int)0X0c51), LineSmoothHint = ((int)0X0c52), PolygonSmoothHint = ((int)0X0c53), FogHint = ((int)0X0c54), TextureGenS = ((int)0X0c60), TextureGenT = ((int)0X0c61), TextureGenR = ((int)0X0c62), TextureGenQ = ((int)0X0c63), PixelMapIToI = ((int)0X0c70), PixelMapSToS = ((int)0X0c71), PixelMapIToR = ((int)0X0c72), PixelMapIToG = ((int)0X0c73), PixelMapIToB = ((int)0X0c74), PixelMapIToA = ((int)0X0c75), PixelMapRToR = ((int)0X0c76), PixelMapGToG = ((int)0X0c77), PixelMapBToB = ((int)0X0c78), PixelMapAToA = ((int)0X0c79), PixelMapIToISize = ((int)0X0cb0), PixelMapSToSSize = ((int)0X0cb1), PixelMapIToRSize = ((int)0X0cb2), PixelMapIToGSize = ((int)0X0cb3), PixelMapIToBSize = ((int)0X0cb4), PixelMapIToASize = ((int)0X0cb5), PixelMapRToRSize = ((int)0X0cb6), PixelMapGToGSize = ((int)0X0cb7), PixelMapBToBSize = ((int)0X0cb8), PixelMapAToASize = ((int)0X0cb9), UnpackSwapBytes = ((int)0X0cf0), UnpackLsbFirst = ((int)0X0cf1), UnpackRowLength = ((int)0X0cf2), UnpackSkipRows = ((int)0X0cf3), UnpackSkipPixels = ((int)0X0cf4), UnpackAlignment = ((int)0X0cf5), PackSwapBytes = ((int)0X0d00), PackLsbFirst = ((int)0X0d01), PackRowLength = ((int)0X0d02), PackSkipRows = ((int)0X0d03), PackSkipPixels = ((int)0X0d04), PackAlignment = ((int)0X0d05), MapColor = ((int)0X0d10), MapStencil = ((int)0X0d11), IndexShift = ((int)0X0d12), IndexOffset = ((int)0X0d13), RedScale = ((int)0X0d14), RedBias = ((int)0X0d15), ZoomX = ((int)0X0d16), ZoomY = ((int)0X0d17), GreenScale = ((int)0X0d18), GreenBias = ((int)0X0d19), BlueScale = ((int)0X0d1a), BlueBias = ((int)0X0d1b), AlphaScale = ((int)0X0d1c), AlphaBias = ((int)0X0d1d), DepthScale = ((int)0X0d1e), DepthBias = ((int)0X0d1f), MaxEvalOrder = ((int)0X0d30), MaxLights = ((int)0X0d31), MaxClipDistances = ((int)0X0d32), MaxClipPlanes = ((int)0X0d32), MaxTextureSize = ((int)0X0d33), MaxPixelMapTable = ((int)0X0d34), MaxAttribStackDepth = ((int)0X0d35), MaxModelviewStackDepth = ((int)0X0d36), MaxNameStackDepth = ((int)0X0d37), MaxProjectionStackDepth = ((int)0X0d38), MaxTextureStackDepth = ((int)0X0d39), MaxViewportDims = ((int)0X0d3a), MaxClientAttribStackDepth = ((int)0X0d3b), SubpixelBits = ((int)0X0d50), IndexBits = ((int)0X0d51), RedBits = ((int)0X0d52), GreenBits = ((int)0X0d53), BlueBits = ((int)0X0d54), AlphaBits = ((int)0X0d55), DepthBits = ((int)0X0d56), StencilBits = ((int)0X0d57), AccumRedBits = ((int)0X0d58), AccumGreenBits = ((int)0X0d59), AccumBlueBits = ((int)0X0d5a), AccumAlphaBits = ((int)0X0d5b), NameStackDepth = ((int)0X0d70), AutoNormal = ((int)0X0d80), Map1Color4 = ((int)0X0d90), Map1Index = ((int)0X0d91), Map1Normal = ((int)0X0d92), Map1TextureCoord1 = ((int)0X0d93), Map1TextureCoord2 = ((int)0X0d94), Map1TextureCoord3 = ((int)0X0d95), Map1TextureCoord4 = ((int)0X0d96), Map1Vertex3 = ((int)0X0d97), Map1Vertex4 = ((int)0X0d98), Map2Color4 = ((int)0X0db0), Map2Index = ((int)0X0db1), Map2Normal = ((int)0X0db2), Map2TextureCoord1 = ((int)0X0db3), Map2TextureCoord2 = ((int)0X0db4), Map2TextureCoord3 = ((int)0X0db5), Map2TextureCoord4 = ((int)0X0db6), Map2Vertex3 = ((int)0X0db7), Map2Vertex4 = ((int)0X0db8), Map1GridDomain = ((int)0X0dd0), Map1GridSegments = ((int)0X0dd1), Map2GridDomain = ((int)0X0dd2), Map2GridSegments = ((int)0X0dd3), Texture1D = ((int)0X0de0), Texture2D = ((int)0X0de1), FeedbackBufferPointer = ((int)0X0df0), FeedbackBufferSize = ((int)0X0df1), FeedbackBufferType = ((int)0X0df2), SelectionBufferPointer = ((int)0X0df3), SelectionBufferSize = ((int)0X0df4), TextureWidth = ((int)0X1000), Texcoord1BitPgi = ((int)0X10000000), TextureHeight = ((int)0X1001), TextureComponents = ((int)0X1003), TextureInternalFormat = ((int)0X1003), TextureBorderColor = ((int)0X1004), TextureBorder = ((int)0X1005), DontCare = ((int)0X1100), Fastest = ((int)0X1101), Nicest = ((int)0X1102), Ambient = ((int)0X1200), Diffuse = ((int)0X1201), Specular = ((int)0X1202), Position = ((int)0X1203), SpotDirection = ((int)0X1204), SpotExponent = ((int)0X1205), SpotCutoff = ((int)0X1206), ConstantAttenuation = ((int)0X1207), LinearAttenuation = ((int)0X1208), QuadraticAttenuation = ((int)0X1209), Compile = ((int)0X1300), CompileAndExecute = ((int)0X1301), Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Gl2Bytes = ((int)0X1407), Gl3Bytes = ((int)0X1408), Gl4Bytes = ((int)0X1409), Double = ((int)0X140a), DoubleExt = ((int)0X140a), HalfApple = ((int)0X140b), HalfFloat = ((int)0X140b), HalfFloatArb = ((int)0X140b), HalfFloatNv = ((int)0X140b), Clear = ((int)0X1500), And = ((int)0X1501), AndReverse = ((int)0X1502), Copy = ((int)0X1503), AndInverted = ((int)0X1504), Noop = ((int)0X1505), Xor = ((int)0X1506), Or = ((int)0X1507), Nor = ((int)0X1508), Equiv = ((int)0X1509), Invert = ((int)0X150a), OrReverse = ((int)0X150b), CopyInverted = ((int)0X150c), OrInverted = ((int)0X150d), Nand = ((int)0X150e), Set = ((int)0X150f), Emission = ((int)0X1600), Shininess = ((int)0X1601), AmbientAndDiffuse = ((int)0X1602), ColorIndexes = ((int)0X1603), Modelview = ((int)0X1700), Modelview0Arb = ((int)0X1700), Modelview0Ext = ((int)0X1700), Projection = ((int)0X1701), Texture = ((int)0X1702), Color = ((int)0X1800), Depth = ((int)0X1801), Stencil = ((int)0X1802), ColorIndex = ((int)0X1900), StencilIndex = ((int)0X1901), DepthComponent = ((int)0X1902), Red = ((int)0X1903), Green = ((int)0X1904), Blue = ((int)0X1905), Alpha = ((int)0X1906), Rgb = ((int)0X1907), Rgba = ((int)0X1908), Luminance = ((int)0X1909), LuminanceAlpha = ((int)0X190a), RasterPositionUnclippedIbm = ((int)0X19262), Bitmap = ((int)0X1a00), PreferDoublebufferHintPgi = ((int)0X1a1f8), ConserveMemoryHintPgi = ((int)0X1a1fd), ReclaimMemoryHintPgi = ((int)0X1a1fe), NativeGraphicsHandlePgi = ((int)0X1a202), NativeGraphicsBeginHintPgi = ((int)0X1a203), NativeGraphicsEndHintPgi = ((int)0X1a204), AlwaysFastHintPgi = ((int)0X1a20c), AlwaysSoftHintPgi = ((int)0X1a20d), AllowDrawObjHintPgi = ((int)0X1a20e), AllowDrawWinHintPgi = ((int)0X1a20f), AllowDrawFrgHintPgi = ((int)0X1a210), AllowDrawMemHintPgi = ((int)0X1a211), StrictDepthfuncHintPgi = ((int)0X1a216), StrictLightingHintPgi = ((int)0X1a217), StrictScissorHintPgi = ((int)0X1a218), FullStippleHintPgi = ((int)0X1a219), ClipNearHintPgi = ((int)0X1a220), ClipFarHintPgi = ((int)0X1a221), WideLineHintPgi = ((int)0X1a222), BackNormalsHintPgi = ((int)0X1a223), VertexDataHintPgi = ((int)0X1a22a), VertexConsistentHintPgi = ((int)0X1a22b), MaterialSideHintPgi = ((int)0X1a22c), MaxVertexHintPgi = ((int)0X1a22d), Point = ((int)0X1b00), Line = ((int)0X1b01), Fill = ((int)0X1b02), Render = ((int)0X1c00), Feedback = ((int)0X1c01), Select = ((int)0X1c02), Flat = ((int)0X1d00), Smooth = ((int)0X1d01), Keep = ((int)0X1e00), Replace = ((int)0X1e01), Incr = ((int)0X1e02), Decr = ((int)0X1e03), Vendor = ((int)0X1f00), Renderer = ((int)0X1f01), Version = ((int)0X1f02), Extensions = ((int)0X1f03), S = ((int)0X2000), MultisampleBit = ((int)0X20000000), MultisampleBit3Dfx = ((int)0X20000000), MultisampleBitArb = ((int)0X20000000), MultisampleBitExt = ((int)0X20000000), Texcoord2BitPgi = ((int)0X20000000), T = ((int)0X2001), R = ((int)0X2002), Q = ((int)0X2003), Modulate = ((int)0X2100), Decal = ((int)0X2101), TextureEnvMode = ((int)0X2200), TextureEnvColor = ((int)0X2201), TextureEnv = ((int)0X2300), EyeLinear = ((int)0X2400), ObjectLinear = ((int)0X2401), SphereMap = ((int)0X2402), TextureGenMode = ((int)0X2500), ObjectPlane = ((int)0X2501), EyePlane = ((int)0X2502), Nearest = ((int)0X2600), Linear = ((int)0X2601), NearestMipmapNearest = ((int)0X2700), LinearMipmapNearest = ((int)0X2701), NearestMipmapLinear = ((int)0X2702), LinearMipmapLinear = ((int)0X2703), TextureMagFilter = ((int)0X2800), TextureMinFilter = ((int)0X2801), TextureWrapS = ((int)0X2802), TextureWrapT = ((int)0X2803), Clamp = ((int)0X2900), Repeat = ((int)0X2901), PolygonOffsetUnits = ((int)0X2a00), PolygonOffsetPoint = ((int)0X2a01), PolygonOffsetLine = ((int)0X2a02), R3G3B2 = ((int)0X2a10), V2f = ((int)0X2a20), V3f = ((int)0X2a21), C4ubV2f = ((int)0X2a22), C4ubV3f = ((int)0X2a23), C3fV3f = ((int)0X2a24), N3fV3f = ((int)0X2a25), C4fN3fV3f = ((int)0X2a26), T2fV3f = ((int)0X2a27), T4fV4f = ((int)0X2a28), T2fC4ubV3f = ((int)0X2a29), T2fC3fV3f = ((int)0X2a2a), T2fN3fV3f = ((int)0X2a2b), T2fC4fN3fV3f = ((int)0X2a2c), T4fC4fN3fV4f = ((int)0X2a2d), ClipDistance0 = ((int)0X3000), ClipPlane0 = ((int)0X3000), ClipDistance1 = ((int)0X3001), ClipPlane1 = ((int)0X3001), ClipDistance2 = ((int)0X3002), ClipPlane2 = ((int)0X3002), ClipDistance3 = ((int)0X3003), ClipPlane3 = ((int)0X3003), ClipDistance4 = ((int)0X3004), ClipPlane4 = ((int)0X3004), ClipDistance5 = ((int)0X3005), ClipPlane5 = ((int)0X3005), ClipDistance6 = ((int)0X3006), ClipDistance7 = ((int)0X3007), Light0 = ((int)0X4000), Texcoord3BitPgi = ((int)0X40000000), Light1 = ((int)0X4001), Light2 = ((int)0X4002), Light3 = ((int)0X4003), Light4 = ((int)0X4004), Light5 = ((int)0X4005), Light6 = ((int)0X4006), Light7 = ((int)0X4007), AbgrExt = ((int)0X8000), Texcoord4BitPgi = unchecked((int)0X80000000), ConstantColor = ((int)0X8001), ConstantColorExt = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), OneMinusConstantColorExt = ((int)0X8002), ConstantAlpha = ((int)0X8003), ConstantAlphaExt = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), OneMinusConstantAlphaExt = ((int)0X8004), BlendColor = ((int)0X8005), BlendColorExt = ((int)0X8005), FuncAdd = ((int)0X8006), FuncAddExt = ((int)0X8006), Min = ((int)0X8007), MinExt = ((int)0X8007), Max = ((int)0X8008), MaxExt = ((int)0X8008), BlendEquation = ((int)0X8009), BlendEquationExt = ((int)0X8009), BlendEquationRgb = ((int)0X8009), BlendEquationRgbExt = ((int)0X8009), FuncSubtract = ((int)0X800a), FuncSubtractExt = ((int)0X800a), FuncReverseSubtract = ((int)0X800b), FuncReverseSubtractExt = ((int)0X800b), CmykExt = ((int)0X800c), CmykaExt = ((int)0X800d), PackCmykHintExt = ((int)0X800e), UnpackCmykHintExt = ((int)0X800f), Convolution1D = ((int)0X8010), Convolution1DExt = ((int)0X8010), Convolution2D = ((int)0X8011), Convolution2DExt = ((int)0X8011), Separable2D = ((int)0X8012), Separable2DExt = ((int)0X8012), ConvolutionBorderMode = ((int)0X8013), ConvolutionBorderModeExt = ((int)0X8013), ConvolutionFilterScale = ((int)0X8014), ConvolutionFilterScaleExt = ((int)0X8014), ConvolutionFilterBias = ((int)0X8015), ConvolutionFilterBiasExt = ((int)0X8015), Reduce = ((int)0X8016), ReduceExt = ((int)0X8016), ConvolutionFormat = ((int)0X8017), ConvolutionFormatExt = ((int)0X8017), ConvolutionWidth = ((int)0X8018), ConvolutionWidthExt = ((int)0X8018), ConvolutionHeight = ((int)0X8019), ConvolutionHeightExt = ((int)0X8019), MaxConvolutionWidth = ((int)0X801a), MaxConvolutionWidthExt = ((int)0X801a), MaxConvolutionHeight = ((int)0X801b), MaxConvolutionHeightExt = ((int)0X801b), PostConvolutionRedScale = ((int)0X801c), PostConvolutionRedScaleExt = ((int)0X801c), PostConvolutionGreenScale = ((int)0X801d), PostConvolutionGreenScaleExt = ((int)0X801d), PostConvolutionBlueScale = ((int)0X801e), PostConvolutionBlueScaleExt = ((int)0X801e), PostConvolutionAlphaScale = ((int)0X801f), PostConvolutionAlphaScaleExt = ((int)0X801f), PostConvolutionRedBias = ((int)0X8020), PostConvolutionRedBiasExt = ((int)0X8020), PostConvolutionGreenBias = ((int)0X8021), PostConvolutionGreenBiasExt = ((int)0X8021), PostConvolutionBlueBias = ((int)0X8022), PostConvolutionBlueBiasExt = ((int)0X8022), PostConvolutionAlphaBias = ((int)0X8023), PostConvolutionAlphaBiasExt = ((int)0X8023), Histogram = ((int)0X8024), HistogramExt = ((int)0X8024), ProxyHistogram = ((int)0X8025), ProxyHistogramExt = ((int)0X8025), HistogramWidth = ((int)0X8026), HistogramWidthExt = ((int)0X8026), HistogramFormat = ((int)0X8027), HistogramFormatExt = ((int)0X8027), HistogramRedSize = ((int)0X8028), HistogramRedSizeExt = ((int)0X8028), HistogramGreenSize = ((int)0X8029), HistogramGreenSizeExt = ((int)0X8029), HistogramBlueSize = ((int)0X802a), HistogramBlueSizeExt = ((int)0X802a), HistogramAlphaSize = ((int)0X802b), HistogramAlphaSizeExt = ((int)0X802b), HistogramLuminanceSize = ((int)0X802c), HistogramLuminanceSizeExt = ((int)0X802c), HistogramSink = ((int)0X802d), HistogramSinkExt = ((int)0X802d), Minmax = ((int)0X802e), MinmaxExt = ((int)0X802e), MinmaxFormat = ((int)0X802f), MinmaxFormatExt = ((int)0X802f), MinmaxSink = ((int)0X8030), MinmaxSinkExt = ((int)0X8030), TableTooLarge = ((int)0X8031), TableTooLargeExt = ((int)0X8031), UnsignedByte332 = ((int)0X8032), UnsignedByte332Ext = ((int)0X8032), UnsignedShort4444 = ((int)0X8033), UnsignedShort4444Ext = ((int)0X8033), UnsignedShort5551 = ((int)0X8034), UnsignedShort5551Ext = ((int)0X8034), UnsignedInt8888 = ((int)0X8035), UnsignedInt8888Ext = ((int)0X8035), UnsignedInt1010102 = ((int)0X8036), UnsignedInt1010102Ext = ((int)0X8036), PolygonOffsetExt = ((int)0X8037), PolygonOffsetFill = ((int)0X8037), PolygonOffsetFactor = ((int)0X8038), PolygonOffsetFactorExt = ((int)0X8038), PolygonOffsetBiasExt = ((int)0X8039), RescaleNormal = ((int)0X803a), RescaleNormalExt = ((int)0X803a), Alpha4 = ((int)0X803b), Alpha4Ext = ((int)0X803b), Alpha8 = ((int)0X803c), Alpha8Ext = ((int)0X803c), Alpha12 = ((int)0X803d), Alpha12Ext = ((int)0X803d), Alpha16 = ((int)0X803e), Alpha16Ext = ((int)0X803e), Luminance4 = ((int)0X803f), Luminance4Ext = ((int)0X803f), Luminance8 = ((int)0X8040), Luminance8Ext = ((int)0X8040), Luminance12 = ((int)0X8041), Luminance12Ext = ((int)0X8041), Luminance16 = ((int)0X8042), Luminance16Ext = ((int)0X8042), Luminance4Alpha4 = ((int)0X8043), Luminance4Alpha4Ext = ((int)0X8043), Luminance6Alpha2 = ((int)0X8044), Luminance6Alpha2Ext = ((int)0X8044), Luminance8Alpha8 = ((int)0X8045), Luminance8Alpha8Ext = ((int)0X8045), Luminance12Alpha4 = ((int)0X8046), Luminance12Alpha4Ext = ((int)0X8046), Luminance12Alpha12 = ((int)0X8047), Luminance12Alpha12Ext = ((int)0X8047), Luminance16Alpha16 = ((int)0X8048), Luminance16Alpha16Ext = ((int)0X8048), Intensity = ((int)0X8049), IntensityExt = ((int)0X8049), Intensity4 = ((int)0X804a), Intensity4Ext = ((int)0X804a), Intensity8 = ((int)0X804b), Intensity8Ext = ((int)0X804b), Intensity12 = ((int)0X804c), Intensity12Ext = ((int)0X804c), Intensity16 = ((int)0X804d), Intensity16Ext = ((int)0X804d), Rgb2Ext = ((int)0X804e), Rgb4 = ((int)0X804f), Rgb4Ext = ((int)0X804f), Rgb5 = ((int)0X8050), Rgb5Ext = ((int)0X8050), Rgb8 = ((int)0X8051), Rgb8Ext = ((int)0X8051), Rgb10 = ((int)0X8052), Rgb10Ext = ((int)0X8052), Rgb12 = ((int)0X8053), Rgb12Ext = ((int)0X8053), Rgb16 = ((int)0X8054), Rgb16Ext = ((int)0X8054), Rgba2 = ((int)0X8055), Rgba2Ext = ((int)0X8055), Rgba4 = ((int)0X8056), Rgba4Ext = ((int)0X8056), Rgb5A1 = ((int)0X8057), Rgb5A1Ext = ((int)0X8057), Rgba8 = ((int)0X8058), Rgba8Ext = ((int)0X8058), Rgb10A2 = ((int)0X8059), Rgb10A2Ext = ((int)0X8059), Rgba12 = ((int)0X805a), Rgba12Ext = ((int)0X805a), Rgba16 = ((int)0X805b), Rgba16Ext = ((int)0X805b), TextureRedSize = ((int)0X805c), TextureRedSizeExt = ((int)0X805c), TextureGreenSize = ((int)0X805d), TextureGreenSizeExt = ((int)0X805d), TextureBlueSize = ((int)0X805e), TextureBlueSizeExt = ((int)0X805e), TextureAlphaSize = ((int)0X805f), TextureAlphaSizeExt = ((int)0X805f), TextureLuminanceSize = ((int)0X8060), TextureLuminanceSizeExt = ((int)0X8060), TextureIntensitySize = ((int)0X8061), TextureIntensitySizeExt = ((int)0X8061), ReplaceExt = ((int)0X8062), ProxyTexture1D = ((int)0X8063), ProxyTexture1DExt = ((int)0X8063), ProxyTexture2D = ((int)0X8064), ProxyTexture2DExt = ((int)0X8064), TextureTooLargeExt = ((int)0X8065), TexturePriority = ((int)0X8066), TexturePriorityExt = ((int)0X8066), TextureResident = ((int)0X8067), TextureResidentExt = ((int)0X8067), Texture1DBindingExt = ((int)0X8068), TextureBinding1D = ((int)0X8068), Texture2DBindingExt = ((int)0X8069), TextureBinding2D = ((int)0X8069), Texture3DBindingExt = ((int)0X806a), TextureBinding3D = ((int)0X806a), PackSkipImages = ((int)0X806b), PackSkipImagesExt = ((int)0X806b), PackImageHeight = ((int)0X806c), PackImageHeightExt = ((int)0X806c), UnpackSkipImages = ((int)0X806d), UnpackSkipImagesExt = ((int)0X806d), UnpackImageHeight = ((int)0X806e), UnpackImageHeightExt = ((int)0X806e), Texture3D = ((int)0X806f), Texture3DExt = ((int)0X806f), ProxyTexture3D = ((int)0X8070), ProxyTexture3DExt = ((int)0X8070), TextureDepth = ((int)0X8071), TextureDepthExt = ((int)0X8071), TextureWrapR = ((int)0X8072), TextureWrapRExt = ((int)0X8072), Max3DTextureSize = ((int)0X8073), Max3DTextureSizeExt = ((int)0X8073), VertexArray = ((int)0X8074), VertexArrayExt = ((int)0X8074), NormalArray = ((int)0X8075), NormalArrayExt = ((int)0X8075), ColorArray = ((int)0X8076), ColorArrayExt = ((int)0X8076), IndexArray = ((int)0X8077), IndexArrayExt = ((int)0X8077), TextureCoordArray = ((int)0X8078), TextureCoordArrayExt = ((int)0X8078), EdgeFlagArray = ((int)0X8079), EdgeFlagArrayExt = ((int)0X8079), VertexArraySize = ((int)0X807a), VertexArraySizeExt = ((int)0X807a), VertexArrayType = ((int)0X807b), VertexArrayTypeExt = ((int)0X807b), VertexArrayStride = ((int)0X807c), VertexArrayStrideExt = ((int)0X807c), VertexArrayCountExt = ((int)0X807d), NormalArrayType = ((int)0X807e), NormalArrayTypeExt = ((int)0X807e), NormalArrayStride = ((int)0X807f), NormalArrayStrideExt = ((int)0X807f), NormalArrayCountExt = ((int)0X8080), ColorArraySize = ((int)0X8081), ColorArraySizeExt = ((int)0X8081), ColorArrayType = ((int)0X8082), ColorArrayTypeExt = ((int)0X8082), ColorArrayStride = ((int)0X8083), ColorArrayStrideExt = ((int)0X8083), ColorArrayCountExt = ((int)0X8084), IndexArrayType = ((int)0X8085), IndexArrayTypeExt = ((int)0X8085), IndexArrayStride = ((int)0X8086), IndexArrayStrideExt = ((int)0X8086), IndexArrayCountExt = ((int)0X8087), TextureCoordArraySize = ((int)0X8088), TextureCoordArraySizeExt = ((int)0X8088), TextureCoordArrayType = ((int)0X8089), TextureCoordArrayTypeExt = ((int)0X8089), TextureCoordArrayStride = ((int)0X808a), TextureCoordArrayStrideExt = ((int)0X808a), TextureCoordArrayCountExt = ((int)0X808b), EdgeFlagArrayStride = ((int)0X808c), EdgeFlagArrayStrideExt = ((int)0X808c), EdgeFlagArrayCountExt = ((int)0X808d), VertexArrayPointer = ((int)0X808e), VertexArrayPointerExt = ((int)0X808e), NormalArrayPointer = ((int)0X808f), NormalArrayPointerExt = ((int)0X808f), ColorArrayPointer = ((int)0X8090), ColorArrayPointerExt = ((int)0X8090), IndexArrayPointer = ((int)0X8091), IndexArrayPointerExt = ((int)0X8091), TextureCoordArrayPointer = ((int)0X8092), TextureCoordArrayPointerExt = ((int)0X8092), EdgeFlagArrayPointer = ((int)0X8093), EdgeFlagArrayPointerExt = ((int)0X8093), InterlaceSgix = ((int)0X8094), DetailTexture2DSgis = ((int)0X8095), DetailTexture2DBindingSgis = ((int)0X8096), LinearDetailSgis = ((int)0X8097), LinearDetailAlphaSgis = ((int)0X8098), LinearDetailColorSgis = ((int)0X8099), DetailTextureLevelSgis = ((int)0X809a), DetailTextureModeSgis = ((int)0X809b), DetailTextureFuncPointsSgis = ((int)0X809c), Multisample = ((int)0X809d), MultisampleArb = ((int)0X809d), MultisampleExt = ((int)0X809d), MultisampleSgis = ((int)0X809d), SampleAlphaToCoverage = ((int)0X809e), SampleAlphaToCoverageArb = ((int)0X809e), SampleAlphaToMaskExt = ((int)0X809e), SampleAlphaToMaskSgis = ((int)0X809e), SampleAlphaToOne = ((int)0X809f), SampleAlphaToOneArb = ((int)0X809f), SampleAlphaToOneExt = ((int)0X809f), SampleAlphaToOneSgis = ((int)0X809f), SampleCoverage = ((int)0X80a0), SampleCoverageArb = ((int)0X80a0), SampleMaskExt = ((int)0X80a0), SampleMaskSgis = ((int)0X80a0), Gl1PassExt = ((int)0X80a1), Gl1PassSgis = ((int)0X80a1), Gl2Pass0Ext = ((int)0X80a2), Gl2Pass0Sgis = ((int)0X80a2), Gl2Pass1Ext = ((int)0X80a3), Gl2Pass1Sgis = ((int)0X80a3), Gl4Pass0Ext = ((int)0X80a4), Gl4Pass0Sgis = ((int)0X80a4), Gl4Pass1Ext = ((int)0X80a5), Gl4Pass1Sgis = ((int)0X80a5), Gl4Pass2Ext = ((int)0X80a6), Gl4Pass2Sgis = ((int)0X80a6), Gl4Pass3Ext = ((int)0X80a7), Gl4Pass3Sgis = ((int)0X80a7), SampleBuffers = ((int)0X80a8), SampleBuffersArb = ((int)0X80a8), SampleBuffersExt = ((int)0X80a8), SampleBuffersSgis = ((int)0X80a8), Samples = ((int)0X80a9), SamplesArb = ((int)0X80a9), SamplesExt = ((int)0X80a9), SamplesSgis = ((int)0X80a9), SampleCoverageValue = ((int)0X80aa), SampleCoverageValueArb = ((int)0X80aa), SampleMaskValueExt = ((int)0X80aa), SampleMaskValueSgis = ((int)0X80aa), SampleCoverageInvert = ((int)0X80ab), SampleCoverageInvertArb = ((int)0X80ab), SampleMaskInvertExt = ((int)0X80ab), SampleMaskInvertSgis = ((int)0X80ab), SamplePatternExt = ((int)0X80ac), SamplePatternSgis = ((int)0X80ac), LinearSharpenSgis = ((int)0X80ad), LinearSharpenAlphaSgis = ((int)0X80ae), LinearSharpenColorSgis = ((int)0X80af), SharpenTextureFuncPointsSgis = ((int)0X80b0), ColorMatrix = ((int)0X80b1), ColorMatrixSgi = ((int)0X80b1), ColorMatrixStackDepth = ((int)0X80b2), ColorMatrixStackDepthSgi = ((int)0X80b2), MaxColorMatrixStackDepth = ((int)0X80b3), MaxColorMatrixStackDepthSgi = ((int)0X80b3), PostColorMatrixRedScale = ((int)0X80b4), PostColorMatrixRedScaleSgi = ((int)0X80b4), PostColorMatrixGreenScale = ((int)0X80b5), PostColorMatrixGreenScaleSgi = ((int)0X80b5), PostColorMatrixBlueScale = ((int)0X80b6), PostColorMatrixBlueScaleSgi = ((int)0X80b6), PostColorMatrixAlphaScale = ((int)0X80b7), PostColorMatrixAlphaScaleSgi = ((int)0X80b7), PostColorMatrixRedBias = ((int)0X80b8), PostColorMatrixRedBiasSgi = ((int)0X80b8), PostColorMatrixGreenBias = ((int)0X80b9), PostColorMatrixGreenBiasSgi = ((int)0X80b9), PostColorMatrixBlueBias = ((int)0X80ba), PostColorMatrixBlueBiasSgi = ((int)0X80ba), PostColorMatrixAlphaBias = ((int)0X80bb), PostColorMatrixAlphaBiasSgi = ((int)0X80bb), TextureColorTableSgi = ((int)0X80bc), ProxyTextureColorTableSgi = ((int)0X80bd), TextureEnvBiasSgix = ((int)0X80be), ShadowAmbientSgix = ((int)0X80bf), TextureCompareFailValue = ((int)0X80bf), TextureCompareFailValueArb = ((int)0X80bf), BlendDstRgb = ((int)0X80c8), BlendDstRgbExt = ((int)0X80c8), BlendSrcRgb = ((int)0X80c9), BlendSrcRgbExt = ((int)0X80c9), BlendDstAlpha = ((int)0X80ca), BlendDstAlphaExt = ((int)0X80ca), BlendSrcAlpha = ((int)0X80cb), BlendSrcAlphaExt = ((int)0X80cb), Gl422Ext = ((int)0X80cc), Gl422RevExt = ((int)0X80cd), Gl422AverageExt = ((int)0X80ce), Gl422RevAverageExt = ((int)0X80cf), ColorTable = ((int)0X80d0), ColorTableSgi = ((int)0X80d0), PostConvolutionColorTable = ((int)0X80d1), PostConvolutionColorTableSgi = ((int)0X80d1), PostColorMatrixColorTable = ((int)0X80d2), PostColorMatrixColorTableSgi = ((int)0X80d2), ProxyColorTable = ((int)0X80d3), ProxyColorTableSgi = ((int)0X80d3), ProxyPostConvolutionColorTable = ((int)0X80d4), ProxyPostConvolutionColorTableSgi = ((int)0X80d4), ProxyPostColorMatrixColorTable = ((int)0X80d5), ProxyPostColorMatrixColorTableSgi = ((int)0X80d5), ColorTableScale = ((int)0X80d6), ColorTableScaleSgi = ((int)0X80d6), ColorTableBias = ((int)0X80d7), ColorTableBiasSgi = ((int)0X80d7), ColorTableFormat = ((int)0X80d8), ColorTableFormatSgi = ((int)0X80d8), ColorTableWidth = ((int)0X80d9), ColorTableWidthSgi = ((int)0X80d9), ColorTableRedSize = ((int)0X80da), ColorTableRedSizeSgi = ((int)0X80da), ColorTableGreenSize = ((int)0X80db), ColorTableGreenSizeSgi = ((int)0X80db), ColorTableBlueSize = ((int)0X80dc), ColorTableBlueSizeSgi = ((int)0X80dc), ColorTableAlphaSize = ((int)0X80dd), ColorTableAlphaSizeSgi = ((int)0X80dd), ColorTableLuminanceSize = ((int)0X80de), ColorTableLuminanceSizeSgi = ((int)0X80de), ColorTableIntensitySize = ((int)0X80df), ColorTableIntensitySizeSgi = ((int)0X80df), Bgr = ((int)0X80e0), BgrExt = ((int)0X80e0), Bgra = ((int)0X80e1), BgraExt = ((int)0X80e1), ColorIndex1Ext = ((int)0X80e2), ColorIndex2Ext = ((int)0X80e3), ColorIndex4Ext = ((int)0X80e4), ColorIndex8Ext = ((int)0X80e5), ColorIndex12Ext = ((int)0X80e6), ColorIndex16Ext = ((int)0X80e7), MaxElementsVertices = ((int)0X80e8), MaxElementsVerticesExt = ((int)0X80e8), MaxElementsIndices = ((int)0X80e9), MaxElementsIndicesExt = ((int)0X80e9), PhongWin = ((int)0X80ea), PhongHintWin = ((int)0X80eb), FogSpecularTextureWin = ((int)0X80ec), TextureIndexSizeExt = ((int)0X80ed), ClipVolumeClippingHintExt = ((int)0X80f0), DualAlpha4Sgis = ((int)0X8110), DualAlpha8Sgis = ((int)0X8111), DualAlpha12Sgis = ((int)0X8112), DualAlpha16Sgis = ((int)0X8113), DualLuminance4Sgis = ((int)0X8114), DualLuminance8Sgis = ((int)0X8115), DualLuminance12Sgis = ((int)0X8116), DualLuminance16Sgis = ((int)0X8117), DualIntensity4Sgis = ((int)0X8118), DualIntensity8Sgis = ((int)0X8119), DualIntensity12Sgis = ((int)0X811a), DualIntensity16Sgis = ((int)0X811b), DualLuminanceAlpha4Sgis = ((int)0X811c), DualLuminanceAlpha8Sgis = ((int)0X811d), QuadAlpha4Sgis = ((int)0X811e), QuadAlpha8Sgis = ((int)0X811f), QuadLuminance4Sgis = ((int)0X8120), QuadLuminance8Sgis = ((int)0X8121), QuadIntensity4Sgis = ((int)0X8122), QuadIntensity8Sgis = ((int)0X8123), DualTextureSelectSgis = ((int)0X8124), QuadTextureSelectSgis = ((int)0X8125), PointSizeMin = ((int)0X8126), PointSizeMinArb = ((int)0X8126), PointSizeMinExt = ((int)0X8126), PointSizeMinSgis = ((int)0X8126), PointSizeMax = ((int)0X8127), PointSizeMaxArb = ((int)0X8127), PointSizeMaxExt = ((int)0X8127), PointSizeMaxSgis = ((int)0X8127), PointFadeThresholdSize = ((int)0X8128), PointFadeThresholdSizeArb = ((int)0X8128), PointFadeThresholdSizeExt = ((int)0X8128), PointFadeThresholdSizeSgis = ((int)0X8128), DistanceAttenuationExt = ((int)0X8129), DistanceAttenuationSgis = ((int)0X8129), PointDistanceAttenuation = ((int)0X8129), PointDistanceAttenuationArb = ((int)0X8129), FogFuncSgis = ((int)0X812a), FogFuncPointsSgis = ((int)0X812b), MaxFogFuncPointsSgis = ((int)0X812c), ClampToBorder = ((int)0X812d), ClampToBorderArb = ((int)0X812d), ClampToBorderSgis = ((int)0X812d), TextureMultiBufferHintSgix = ((int)0X812e), ClampToEdge = ((int)0X812f), ClampToEdgeSgis = ((int)0X812f), PackSkipVolumesSgis = ((int)0X8130), PackImageDepthSgis = ((int)0X8131), UnpackSkipVolumesSgis = ((int)0X8132), UnpackImageDepthSgis = ((int)0X8133), Texture4DSgis = ((int)0X8134), ProxyTexture4DSgis = ((int)0X8135), Texture4DsizeSgis = ((int)0X8136), TextureWrapQSgis = ((int)0X8137), Max4DTextureSizeSgis = ((int)0X8138), PixelTexGenSgix = ((int)0X8139), TextureMinLod = ((int)0X813a), TextureMinLodSgis = ((int)0X813a), TextureMaxLod = ((int)0X813b), TextureMaxLodSgis = ((int)0X813b), TextureBaseLevel = ((int)0X813c), TextureBaseLevelSgis = ((int)0X813c), TextureMaxLevel = ((int)0X813d), TextureMaxLevelSgis = ((int)0X813d), PixelTileBestAlignmentSgix = ((int)0X813e), PixelTileCacheIncrementSgix = ((int)0X813f), PixelTileWidthSgix = ((int)0X8140), PixelTileHeightSgix = ((int)0X8141), PixelTileGridWidthSgix = ((int)0X8142), PixelTileGridHeightSgix = ((int)0X8143), PixelTileGridDepthSgix = ((int)0X8144), PixelTileCacheSizeSgix = ((int)0X8145), Filter4Sgis = ((int)0X8146), TextureFilter4SizeSgis = ((int)0X8147), SpriteSgix = ((int)0X8148), SpriteModeSgix = ((int)0X8149), SpriteAxisSgix = ((int)0X814a), SpriteTranslationSgix = ((int)0X814b), SpriteAxialSgix = ((int)0X814c), SpriteObjectAlignedSgix = ((int)0X814d), SpriteEyeAlignedSgix = ((int)0X814e), Texture4DBindingSgis = ((int)0X814f), IgnoreBorderHp = ((int)0X8150), ConstantBorder = ((int)0X8151), ConstantBorderHp = ((int)0X8151), ReplicateBorder = ((int)0X8153), ReplicateBorderHp = ((int)0X8153), ConvolutionBorderColor = ((int)0X8154), ConvolutionBorderColorHp = ((int)0X8154), ImageScaleXHp = ((int)0X8155), ImageScaleYHp = ((int)0X8156), ImageTranslateXHp = ((int)0X8157), ImageTranslateYHp = ((int)0X8158), ImageRotateAngleHp = ((int)0X8159), ImageRotateOriginXHp = ((int)0X815a), ImageRotateOriginYHp = ((int)0X815b), ImageMagFilterHp = ((int)0X815c), ImageMinFilterHp = ((int)0X815d), ImageCubicWeightHp = ((int)0X815e), CubicHp = ((int)0X815f), AverageHp = ((int)0X8160), ImageTransform2DHp = ((int)0X8161), PostImageTransformColorTableHp = ((int)0X8162), ProxyPostImageTransformColorTableHp = ((int)0X8163), OcclusionTestHp = ((int)0X8165), OcclusionTestResultHp = ((int)0X8166), TextureLightingModeHp = ((int)0X8167), TexturePostSpecularHp = ((int)0X8168), TexturePreSpecularHp = ((int)0X8169), LinearClipmapLinearSgix = ((int)0X8170), TextureClipmapCenterSgix = ((int)0X8171), TextureClipmapFrameSgix = ((int)0X8172), TextureClipmapOffsetSgix = ((int)0X8173), TextureClipmapVirtualDepthSgix = ((int)0X8174), TextureClipmapLodOffsetSgix = ((int)0X8175), TextureClipmapDepthSgix = ((int)0X8176), MaxClipmapDepthSgix = ((int)0X8177), MaxClipmapVirtualDepthSgix = ((int)0X8178), PostTextureFilterBiasSgix = ((int)0X8179), PostTextureFilterScaleSgix = ((int)0X817a), PostTextureFilterBiasRangeSgix = ((int)0X817b), PostTextureFilterScaleRangeSgix = ((int)0X817c), ReferencePlaneSgix = ((int)0X817d), ReferencePlaneEquationSgix = ((int)0X817e), IrInstrument1Sgix = ((int)0X817f), InstrumentBufferPointerSgix = ((int)0X8180), InstrumentMeasurementsSgix = ((int)0X8181), ListPrioritySgix = ((int)0X8182), CalligraphicFragmentSgix = ((int)0X8183), PixelTexGenQCeilingSgix = ((int)0X8184), PixelTexGenQRoundSgix = ((int)0X8185), PixelTexGenQFloorSgix = ((int)0X8186), PixelTexGenAlphaReplaceSgix = ((int)0X8187), PixelTexGenAlphaNoReplaceSgix = ((int)0X8188), PixelTexGenAlphaLsSgix = ((int)0X8189), PixelTexGenAlphaMsSgix = ((int)0X818a), FramezoomSgix = ((int)0X818b), FramezoomFactorSgix = ((int)0X818c), MaxFramezoomFactorSgix = ((int)0X818d), TextureLodBiasSSgix = ((int)0X818e), TextureLodBiasTSgix = ((int)0X818f), TextureLodBiasRSgix = ((int)0X8190), GenerateMipmap = ((int)0X8191), GenerateMipmapSgis = ((int)0X8191), GenerateMipmapHint = ((int)0X8192), GenerateMipmapHintSgis = ((int)0X8192), GeometryDeformationSgix = ((int)0X8194), TextureDeformationSgix = ((int)0X8195), DeformationsMaskSgix = ((int)0X8196), MaxDeformationOrderSgix = ((int)0X8197), FogOffsetSgix = ((int)0X8198), FogOffsetValueSgix = ((int)0X8199), TextureCompareSgix = ((int)0X819a), TextureCompareOperatorSgix = ((int)0X819b), TextureLequalRSgix = ((int)0X819c), TextureGequalRSgix = ((int)0X819d), DepthComponent16 = ((int)0X81a5), DepthComponent16Arb = ((int)0X81a5), DepthComponent16Sgix = ((int)0X81a5), DepthComponent24 = ((int)0X81a6), DepthComponent24Arb = ((int)0X81a6), DepthComponent24Sgix = ((int)0X81a6), DepthComponent32 = ((int)0X81a7), DepthComponent32Arb = ((int)0X81a7), DepthComponent32Sgix = ((int)0X81a7), ArrayElementLockFirstExt = ((int)0X81a8), ArrayElementLockCountExt = ((int)0X81a9), CullVertexExt = ((int)0X81aa), CullVertexEyePositionExt = ((int)0X81ab), CullVertexObjectPositionExt = ((int)0X81ac), IuiV2fExt = ((int)0X81ad), IuiV3fExt = ((int)0X81ae), IuiN3fV2fExt = ((int)0X81af), IuiN3fV3fExt = ((int)0X81b0), T2fIuiV2fExt = ((int)0X81b1), T2fIuiV3fExt = ((int)0X81b2), T2fIuiN3fV2fExt = ((int)0X81b3), T2fIuiN3fV3fExt = ((int)0X81b4), IndexTestExt = ((int)0X81b5), IndexTestFuncExt = ((int)0X81b6), IndexTestRefExt = ((int)0X81b7), IndexMaterialExt = ((int)0X81b8), IndexMaterialParameterExt = ((int)0X81b9), IndexMaterialFaceExt = ((int)0X81ba), Ycrcb422Sgix = ((int)0X81bb), Ycrcb444Sgix = ((int)0X81bc), WrapBorderSun = ((int)0X81d4), UnpackConstantDataSunx = ((int)0X81d5), TextureConstantDataSunx = ((int)0X81d6), TriangleListSun = ((int)0X81d7), ReplacementCodeSun = ((int)0X81d8), GlobalAlphaSun = ((int)0X81d9), GlobalAlphaFactorSun = ((int)0X81da), TextureColorWritemaskSgis = ((int)0X81ef), EyeDistanceToPointSgis = ((int)0X81f0), ObjectDistanceToPointSgis = ((int)0X81f1), EyeDistanceToLineSgis = ((int)0X81f2), ObjectDistanceToLineSgis = ((int)0X81f3), EyePointSgis = ((int)0X81f4), ObjectPointSgis = ((int)0X81f5), EyeLineSgis = ((int)0X81f6), ObjectLineSgis = ((int)0X81f7), LightModelColorControl = ((int)0X81f8), LightModelColorControlExt = ((int)0X81f8), SingleColor = ((int)0X81f9), SingleColorExt = ((int)0X81f9), SeparateSpecularColor = ((int)0X81fa), SeparateSpecularColorExt = ((int)0X81fa), SharedTexturePaletteExt = ((int)0X81fb), FogScaleSgix = ((int)0X81fc), FogScaleValueSgix = ((int)0X81fd), TextFragmentShaderAti = ((int)0X8200), FramebufferAttachmentColorEncoding = ((int)0X8210), FramebufferAttachmentComponentType = ((int)0X8211), FramebufferAttachmentRedSize = ((int)0X8212), FramebufferAttachmentGreenSize = ((int)0X8213), FramebufferAttachmentBlueSize = ((int)0X8214), FramebufferAttachmentAlphaSize = ((int)0X8215), FramebufferAttachmentDepthSize = ((int)0X8216), FramebufferAttachmentStencilSize = ((int)0X8217), FramebufferDefault = ((int)0X8218), FramebufferUndefined = ((int)0X8219), DepthStencilAttachment = ((int)0X821a), MajorVersion = ((int)0X821b), MinorVersion = ((int)0X821c), NumExtensions = ((int)0X821d), ContextFlags = ((int)0X821e), Index = ((int)0X8222), DepthBuffer = ((int)0X8223), StencilBuffer = ((int)0X8224), CompressedRed = ((int)0X8225), CompressedRg = ((int)0X8226), Rg = ((int)0X8227), RgInteger = ((int)0X8228), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822d), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), DepthPassInstrumentSgix = ((int)0X8310), DepthPassInstrumentCountersSgix = ((int)0X8311), DepthPassInstrumentMaxSgix = ((int)0X8312), ConvolutionHintSgix = ((int)0X8316), YcrcbSgix = ((int)0X8318), YcrcbaSgix = ((int)0X8319), AlphaMinSgix = ((int)0X8320), AlphaMaxSgix = ((int)0X8321), ScalebiasHintSgix = ((int)0X8322), AsyncMarkerSgix = ((int)0X8329), PixelTexGenModeSgix = ((int)0X832b), AsyncHistogramSgix = ((int)0X832c), MaxAsyncHistogramSgix = ((int)0X832d), PixelTransform2DExt = ((int)0X8330), PixelMagFilterExt = ((int)0X8331), PixelMinFilterExt = ((int)0X8332), PixelCubicWeightExt = ((int)0X8333), CubicExt = ((int)0X8334), AverageExt = ((int)0X8335), PixelTransform2DStackDepthExt = ((int)0X8336), MaxPixelTransform2DStackDepthExt = ((int)0X8337), PixelTransform2DMatrixExt = ((int)0X8338), FragmentMaterialExt = ((int)0X8349), FragmentNormalExt = ((int)0X834a), FragmentColorExt = ((int)0X834c), AttenuationExt = ((int)0X834d), ShadowAttenuationExt = ((int)0X834e), TextureApplicationModeExt = ((int)0X834f), TextureLightExt = ((int)0X8350), TextureMaterialFaceExt = ((int)0X8351), TextureMaterialParameterExt = ((int)0X8352), PixelTextureSgis = ((int)0X8353), PixelFragmentRgbSourceSgis = ((int)0X8354), PixelFragmentAlphaSourceSgis = ((int)0X8355), PixelGroupColorSgis = ((int)0X8356), AsyncTexImageSgix = ((int)0X835c), AsyncDrawPixelsSgix = ((int)0X835d), AsyncReadPixelsSgix = ((int)0X835e), MaxAsyncTexImageSgix = ((int)0X835f), MaxAsyncDrawPixelsSgix = ((int)0X8360), MaxAsyncReadPixelsSgix = ((int)0X8361), UnsignedByte233Rev = ((int)0X8362), UnsignedByte233Reversed = ((int)0X8362), UnsignedByte233RevExt = ((int)0X8362), UnsignedShort565 = ((int)0X8363), UnsignedShort565Ext = ((int)0X8363), UnsignedShort565Rev = ((int)0X8364), UnsignedShort565Reversed = ((int)0X8364), UnsignedShort565RevExt = ((int)0X8364), UnsignedShort4444Rev = ((int)0X8365), UnsignedShort4444Reversed = ((int)0X8365), UnsignedShort4444RevExt = ((int)0X8365), UnsignedShort1555Rev = ((int)0X8366), UnsignedShort1555Reversed = ((int)0X8366), UnsignedShort1555RevExt = ((int)0X8366), UnsignedInt8888Rev = ((int)0X8367), UnsignedInt8888Reversed = ((int)0X8367), UnsignedInt8888RevExt = ((int)0X8367), UnsignedInt2101010Rev = ((int)0X8368), UnsignedInt2101010Reversed = ((int)0X8368), UnsignedInt2101010RevExt = ((int)0X8368), TextureMaxClampSSgix = ((int)0X8369), TextureMaxClampTSgix = ((int)0X836a), TextureMaxClampRSgix = ((int)0X836b), FogFactorToAlphaSgix = ((int)0X836f), MirroredRepeat = ((int)0X8370), MirroredRepeatArb = ((int)0X8370), MirroredRepeatIbm = ((int)0X8370), RgbS3tc = ((int)0X83a0), Rgb4S3tc = ((int)0X83a1), RgbaS3tc = ((int)0X83a2), Rgba4S3tc = ((int)0X83a3), VertexPreclipSgix = ((int)0X83ee), VertexPreclipHintSgix = ((int)0X83ef), CompressedRgbS3tcDxt1Ext = ((int)0X83f0), CompressedRgbaS3tcDxt1Ext = ((int)0X83f1), CompressedRgbaS3tcDxt3Ext = ((int)0X83f2), CompressedRgbaS3tcDxt5Ext = ((int)0X83f3), ParallelArraysIntel = ((int)0X83f4), VertexArrayParallelPointersIntel = ((int)0X83f5), NormalArrayParallelPointersIntel = ((int)0X83f6), ColorArrayParallelPointersIntel = ((int)0X83f7), TextureCoordArrayParallelPointersIntel = ((int)0X83f8), FragmentLightingSgix = ((int)0X8400), FragmentColorMaterialSgix = ((int)0X8401), FragmentColorMaterialFaceSgix = ((int)0X8402), FragmentColorMaterialParameterSgix = ((int)0X8403), MaxFragmentLightsSgix = ((int)0X8404), MaxActiveLightsSgix = ((int)0X8405), CurrentRasterNormalSgix = ((int)0X8406), LightEnvModeSgix = ((int)0X8407), FragmentLightModelLocalViewerSgix = ((int)0X8408), FragmentLightModelTwoSideSgix = ((int)0X8409), FragmentLightModelAmbientSgix = ((int)0X840a), FragmentLightModelNormalInterpolationSgix = ((int)0X840b), FragmentLight0Sgix = ((int)0X840c), FragmentLight1Sgix = ((int)0X840d), FragmentLight2Sgix = ((int)0X840e), FragmentLight3Sgix = ((int)0X840f), FragmentLight4Sgix = ((int)0X8410), FragmentLight5Sgix = ((int)0X8411), FragmentLight6Sgix = ((int)0X8412), FragmentLight7Sgix = ((int)0X8413), PackResampleSgix = ((int)0X842c), UnpackResampleSgix = ((int)0X842d), ResampleReplicateSgix = ((int)0X842e), ResampleZeroFillSgix = ((int)0X842f), ResampleDecimateSgix = ((int)0X8430), TangentArrayExt = ((int)0X8439), BinormalArrayExt = ((int)0X843a), CurrentTangentExt = ((int)0X843b), CurrentBinormalExt = ((int)0X843c), TangentArrayTypeExt = ((int)0X843e), TangentArrayStrideExt = ((int)0X843f), BinormalArrayTypeExt = ((int)0X8440), BinormalArrayStrideExt = ((int)0X8441), TangentArrayPointerExt = ((int)0X8442), BinormalArrayPointerExt = ((int)0X8443), Map1TangentExt = ((int)0X8444), Map2TangentExt = ((int)0X8445), Map1BinormalExt = ((int)0X8446), Map2BinormalExt = ((int)0X8447), NearestClipmapNearestSgix = ((int)0X844d), NearestClipmapLinearSgix = ((int)0X844e), LinearClipmapNearestSgix = ((int)0X844f), FogCoordinateSource = ((int)0X8450), FogCoordinateSourceExt = ((int)0X8450), FogCoordSrc = ((int)0X8450), FogCoord = ((int)0X8451), FogCoordinate = ((int)0X8451), FogCoordinateExt = ((int)0X8451), FragmentDepth = ((int)0X8452), FragmentDepthExt = ((int)0X8452), CurrentFogCoord = ((int)0X8453), CurrentFogCoordinate = ((int)0X8453), CurrentFogCoordinateExt = ((int)0X8453), FogCoordArrayType = ((int)0X8454), FogCoordinateArrayType = ((int)0X8454), FogCoordinateArrayTypeExt = ((int)0X8454), FogCoordArrayStride = ((int)0X8455), FogCoordinateArrayStride = ((int)0X8455), FogCoordinateArrayStrideExt = ((int)0X8455), FogCoordArrayPointer = ((int)0X8456), FogCoordinateArrayPointer = ((int)0X8456), FogCoordinateArrayPointerExt = ((int)0X8456), FogCoordArray = ((int)0X8457), FogCoordinateArray = ((int)0X8457), FogCoordinateArrayExt = ((int)0X8457), ColorSum = ((int)0X8458), ColorSumArb = ((int)0X8458), ColorSumExt = ((int)0X8458), CurrentSecondaryColor = ((int)0X8459), CurrentSecondaryColorExt = ((int)0X8459), SecondaryColorArraySize = ((int)0X845a), SecondaryColorArraySizeExt = ((int)0X845a), SecondaryColorArrayType = ((int)0X845b), SecondaryColorArrayTypeExt = ((int)0X845b), SecondaryColorArrayStride = ((int)0X845c), SecondaryColorArrayStrideExt = ((int)0X845c), SecondaryColorArrayPointer = ((int)0X845d), SecondaryColorArrayPointerExt = ((int)0X845d), SecondaryColorArray = ((int)0X845e), SecondaryColorArrayExt = ((int)0X845e), CurrentRasterSecondaryColor = ((int)0X845f), AliasedPointSizeRange = ((int)0X846d), AliasedLineWidthRange = ((int)0X846e), ScreenCoordinatesRend = ((int)0X8490), InvertedScreenWRend = ((int)0X8491), Texture0 = ((int)0X84c0), Texture0Arb = ((int)0X84c0), Texture1 = ((int)0X84c1), Texture1Arb = ((int)0X84c1), Texture2 = ((int)0X84c2), Texture2Arb = ((int)0X84c2), Texture3 = ((int)0X84c3), Texture3Arb = ((int)0X84c3), Texture4 = ((int)0X84c4), Texture4Arb = ((int)0X84c4), Texture5 = ((int)0X84c5), Texture5Arb = ((int)0X84c5), Texture6 = ((int)0X84c6), Texture6Arb = ((int)0X84c6), Texture7 = ((int)0X84c7), Texture7Arb = ((int)0X84c7), Texture8 = ((int)0X84c8), Texture8Arb = ((int)0X84c8), Texture9 = ((int)0X84c9), Texture9Arb = ((int)0X84c9), Texture10 = ((int)0X84ca), Texture10Arb = ((int)0X84ca), Texture11 = ((int)0X84cb), Texture11Arb = ((int)0X84cb), Texture12 = ((int)0X84cc), Texture12Arb = ((int)0X84cc), Texture13 = ((int)0X84cd), Texture13Arb = ((int)0X84cd), Texture14 = ((int)0X84ce), Texture14Arb = ((int)0X84ce), Texture15 = ((int)0X84cf), Texture15Arb = ((int)0X84cf), Texture16 = ((int)0X84d0), Texture16Arb = ((int)0X84d0), Texture17 = ((int)0X84d1), Texture17Arb = ((int)0X84d1), Texture18 = ((int)0X84d2), Texture18Arb = ((int)0X84d2), Texture19 = ((int)0X84d3), Texture19Arb = ((int)0X84d3), Texture20 = ((int)0X84d4), Texture20Arb = ((int)0X84d4), Texture21 = ((int)0X84d5), Texture21Arb = ((int)0X84d5), Texture22 = ((int)0X84d6), Texture22Arb = ((int)0X84d6), Texture23 = ((int)0X84d7), Texture23Arb = ((int)0X84d7), Texture24 = ((int)0X84d8), Texture24Arb = ((int)0X84d8), Texture25 = ((int)0X84d9), Texture25Arb = ((int)0X84d9), Texture26 = ((int)0X84da), Texture26Arb = ((int)0X84da), Texture27 = ((int)0X84db), Texture27Arb = ((int)0X84db), Texture28 = ((int)0X84dc), Texture28Arb = ((int)0X84dc), Texture29 = ((int)0X84dd), Texture29Arb = ((int)0X84dd), Texture30 = ((int)0X84de), Texture30Arb = ((int)0X84de), Texture31 = ((int)0X84df), Texture31Arb = ((int)0X84df), ActiveTexture = ((int)0X84e0), ActiveTextureArb = ((int)0X84e0), ClientActiveTexture = ((int)0X84e1), ClientActiveTextureArb = ((int)0X84e1), MaxTextureUnits = ((int)0X84e2), MaxTextureUnitsArb = ((int)0X84e2), TransposeModelviewMatrix = ((int)0X84e3), TransposeModelviewMatrixArb = ((int)0X84e3), TransposeProjectionMatrix = ((int)0X84e4), TransposeProjectionMatrixArb = ((int)0X84e4), TransposeTextureMatrix = ((int)0X84e5), TransposeTextureMatrixArb = ((int)0X84e5), TransposeColorMatrix = ((int)0X84e6), TransposeColorMatrixArb = ((int)0X84e6), Subtract = ((int)0X84e7), SubtractArb = ((int)0X84e7), MaxRenderbufferSize = ((int)0X84e8), MaxRenderbufferSizeExt = ((int)0X84e8), CompressedAlpha = ((int)0X84e9), CompressedAlphaArb = ((int)0X84e9), CompressedLuminance = ((int)0X84ea), CompressedLuminanceArb = ((int)0X84ea), CompressedLuminanceAlpha = ((int)0X84eb), CompressedLuminanceAlphaArb = ((int)0X84eb), CompressedIntensity = ((int)0X84ec), CompressedIntensityArb = ((int)0X84ec), CompressedRgb = ((int)0X84ed), CompressedRgbArb = ((int)0X84ed), CompressedRgba = ((int)0X84ee), CompressedRgbaArb = ((int)0X84ee), TextureCompressionHint = ((int)0X84ef), TextureCompressionHintArb = ((int)0X84ef), AllCompletedNv = ((int)0X84f2), FenceStatusNv = ((int)0X84f3), FenceConditionNv = ((int)0X84f4), TextureRectangle = ((int)0X84f5), TextureRectangleArb = ((int)0X84f5), TextureRectangleNv = ((int)0X84f5), TextureBindingRectangle = ((int)0X84f6), TextureBindingRectangleArb = ((int)0X84f6), TextureBindingRectangleNv = ((int)0X84f6), ProxyTextureRectangle = ((int)0X84f7), ProxyTextureRectangleArb = ((int)0X84f7), ProxyTextureRectangleNv = ((int)0X84f7), MaxRectangleTextureSize = ((int)0X84f8), MaxRectangleTextureSizeArb = ((int)0X84f8), MaxRectangleTextureSizeNv = ((int)0X84f8), DepthStencil = ((int)0X84f9), DepthStencilExt = ((int)0X84f9), DepthStencilNv = ((int)0X84f9), UnsignedInt248 = ((int)0X84fa), UnsignedInt248Ext = ((int)0X84fa), UnsignedInt248Nv = ((int)0X84fa), MaxTextureLodBias = ((int)0X84fd), MaxTextureLodBiasExt = ((int)0X84fd), TextureMaxAnisotropyExt = ((int)0X84fe), MaxTextureMaxAnisotropyExt = ((int)0X84ff), TextureFilterControl = ((int)0X8500), TextureFilterControlExt = ((int)0X8500), TextureLodBias = ((int)0X8501), TextureLodBiasExt = ((int)0X8501), Modelview1StackDepthExt = ((int)0X8502), Combine4Nv = ((int)0X8503), MaxShininessNv = ((int)0X8504), MaxSpotExponentNv = ((int)0X8505), Modelview1MatrixExt = ((int)0X8506), IncrWrap = ((int)0X8507), IncrWrapExt = ((int)0X8507), DecrWrap = ((int)0X8508), DecrWrapExt = ((int)0X8508), VertexWeightingExt = ((int)0X8509), Modelview1Arb = ((int)0X850a), Modelview1Ext = ((int)0X850a), CurrentVertexWeightExt = ((int)0X850b), VertexWeightArrayExt = ((int)0X850c), VertexWeightArraySizeExt = ((int)0X850d), VertexWeightArrayTypeExt = ((int)0X850e), VertexWeightArrayStrideExt = ((int)0X850f), VertexWeightArrayPointerExt = ((int)0X8510), NormalMap = ((int)0X8511), NormalMapArb = ((int)0X8511), NormalMapExt = ((int)0X8511), NormalMapNv = ((int)0X8511), ReflectionMap = ((int)0X8512), ReflectionMapArb = ((int)0X8512), ReflectionMapExt = ((int)0X8512), ReflectionMapNv = ((int)0X8512), TextureCubeMap = ((int)0X8513), TextureCubeMapArb = ((int)0X8513), TextureCubeMapExt = ((int)0X8513), TextureBindingCubeMap = ((int)0X8514), TextureBindingCubeMapArb = ((int)0X8514), TextureBindingCubeMapExt = ((int)0X8514), TextureCubeMapPositiveX = ((int)0X8515), TextureCubeMapPositiveXArb = ((int)0X8515), TextureCubeMapPositiveXExt = ((int)0X8515), TextureCubeMapNegativeX = ((int)0X8516), TextureCubeMapNegativeXArb = ((int)0X8516), TextureCubeMapNegativeXExt = ((int)0X8516), TextureCubeMapPositiveY = ((int)0X8517), TextureCubeMapPositiveYArb = ((int)0X8517), TextureCubeMapPositiveYExt = ((int)0X8517), TextureCubeMapNegativeY = ((int)0X8518), TextureCubeMapNegativeYArb = ((int)0X8518), TextureCubeMapNegativeYExt = ((int)0X8518), TextureCubeMapPositiveZ = ((int)0X8519), TextureCubeMapPositiveZArb = ((int)0X8519), TextureCubeMapPositiveZExt = ((int)0X8519), TextureCubeMapNegativeZ = ((int)0X851a), TextureCubeMapNegativeZArb = ((int)0X851a), TextureCubeMapNegativeZExt = ((int)0X851a), ProxyTextureCubeMap = ((int)0X851b), ProxyTextureCubeMapArb = ((int)0X851b), ProxyTextureCubeMapExt = ((int)0X851b), MaxCubeMapTextureSize = ((int)0X851c), MaxCubeMapTextureSizeArb = ((int)0X851c), MaxCubeMapTextureSizeExt = ((int)0X851c), VertexArrayRangeApple = ((int)0X851d), VertexArrayRangeNv = ((int)0X851d), VertexArrayRangeLengthApple = ((int)0X851e), VertexArrayRangeLengthNv = ((int)0X851e), VertexArrayRangeValidNv = ((int)0X851f), VertexArrayStorageHintApple = ((int)0X851f), MaxVertexArrayRangeElementNv = ((int)0X8520), VertexArrayRangePointerApple = ((int)0X8521), VertexArrayRangePointerNv = ((int)0X8521), RegisterCombinersNv = ((int)0X8522), VariableANv = ((int)0X8523), VariableBNv = ((int)0X8524), VariableCNv = ((int)0X8525), VariableDNv = ((int)0X8526), VariableENv = ((int)0X8527), VariableFNv = ((int)0X8528), VariableGNv = ((int)0X8529), ConstantColor0Nv = ((int)0X852a), ConstantColor1Nv = ((int)0X852b), PrimaryColorNv = ((int)0X852c), SecondaryColorNv = ((int)0X852d), Spare0Nv = ((int)0X852e), Spare1Nv = ((int)0X852f), DiscardNv = ((int)0X8530), ETimesFNv = ((int)0X8531), Spare0PlusSecondaryColorNv = ((int)0X8532), VertexArrayRangeWithoutFlushNv = ((int)0X8533), MultisampleFilterHintNv = ((int)0X8534), PerStageConstantsNv = ((int)0X8535), UnsignedIdentityNv = ((int)0X8536), UnsignedInvertNv = ((int)0X8537), ExpandNormalNv = ((int)0X8538), ExpandNegateNv = ((int)0X8539), HalfBiasNormalNv = ((int)0X853a), HalfBiasNegateNv = ((int)0X853b), SignedIdentityNv = ((int)0X853c), SignedNegateNv = ((int)0X853d), ScaleByTwoNv = ((int)0X853e), ScaleByFourNv = ((int)0X853f), ScaleByOneHalfNv = ((int)0X8540), BiasByNegativeOneHalfNv = ((int)0X8541), CombinerInputNv = ((int)0X8542), CombinerMappingNv = ((int)0X8543), CombinerComponentUsageNv = ((int)0X8544), CombinerAbDotProductNv = ((int)0X8545), CombinerCdDotProductNv = ((int)0X8546), CombinerMuxSumNv = ((int)0X8547), CombinerScaleNv = ((int)0X8548), CombinerBiasNv = ((int)0X8549), CombinerAbOutputNv = ((int)0X854a), CombinerCdOutputNv = ((int)0X854b), CombinerSumOutputNv = ((int)0X854c), MaxGeneralCombinersNv = ((int)0X854d), NumGeneralCombinersNv = ((int)0X854e), ColorSumClampNv = ((int)0X854f), Combiner0Nv = ((int)0X8550), Combiner1Nv = ((int)0X8551), Combiner2Nv = ((int)0X8552), Combiner3Nv = ((int)0X8553), Combiner4Nv = ((int)0X8554), Combiner5Nv = ((int)0X8555), Combiner6Nv = ((int)0X8556), Combiner7Nv = ((int)0X8557), PrimitiveRestartNv = ((int)0X8558), PrimitiveRestartIndexNv = ((int)0X8559), FogDistanceModeNv = ((int)0X855a), EyeRadialNv = ((int)0X855b), EyePlaneAbsoluteNv = ((int)0X855c), EmbossLightNv = ((int)0X855d), EmbossConstantNv = ((int)0X855e), EmbossMapNv = ((int)0X855f), RedMinClampIngr = ((int)0X8560), GreenMinClampIngr = ((int)0X8561), BlueMinClampIngr = ((int)0X8562), AlphaMinClampIngr = ((int)0X8563), RedMaxClampIngr = ((int)0X8564), GreenMaxClampIngr = ((int)0X8565), BlueMaxClampIngr = ((int)0X8566), AlphaMaxClampIngr = ((int)0X8567), InterlaceReadIngr = ((int)0X8568), Combine = ((int)0X8570), CombineArb = ((int)0X8570), CombineExt = ((int)0X8570), CombineRgb = ((int)0X8571), CombineRgbArb = ((int)0X8571), CombineRgbExt = ((int)0X8571), CombineAlpha = ((int)0X8572), CombineAlphaArb = ((int)0X8572), CombineAlphaExt = ((int)0X8572), RgbScale = ((int)0X8573), RgbScaleArb = ((int)0X8573), RgbScaleExt = ((int)0X8573), AddSigned = ((int)0X8574), AddSignedArb = ((int)0X8574), AddSignedExt = ((int)0X8574), Interpolate = ((int)0X8575), InterpolateArb = ((int)0X8575), InterpolateExt = ((int)0X8575), Constant = ((int)0X8576), ConstantArb = ((int)0X8576), ConstantExt = ((int)0X8576), PrimaryColor = ((int)0X8577), PrimaryColorArb = ((int)0X8577), PrimaryColorExt = ((int)0X8577), Previous = ((int)0X8578), PreviousArb = ((int)0X8578), PreviousExt = ((int)0X8578), Source0Rgb = ((int)0X8580), Source0RgbArb = ((int)0X8580), Source0RgbExt = ((int)0X8580), Src0Rgb = ((int)0X8580), Source1Rgb = ((int)0X8581), Source1RgbArb = ((int)0X8581), Source1RgbExt = ((int)0X8581), Src1Rgb = ((int)0X8581), Source2Rgb = ((int)0X8582), Source2RgbArb = ((int)0X8582), Source2RgbExt = ((int)0X8582), Src2Rgb = ((int)0X8582), Source3RgbNv = ((int)0X8583), Source0Alpha = ((int)0X8588), Source0AlphaArb = ((int)0X8588), Source0AlphaExt = ((int)0X8588), Src0Alpha = ((int)0X8588), Source1Alpha = ((int)0X8589), Source1AlphaArb = ((int)0X8589), Source1AlphaExt = ((int)0X8589), Src1Alpha = ((int)0X8589), Source2Alpha = ((int)0X858a), Source2AlphaArb = ((int)0X858a), Source2AlphaExt = ((int)0X858a), Src2Alpha = ((int)0X858a), Source3AlphaNv = ((int)0X858b), Operand0Rgb = ((int)0X8590), Operand0RgbArb = ((int)0X8590), Operand0RgbExt = ((int)0X8590), Operand1Rgb = ((int)0X8591), Operand1RgbArb = ((int)0X8591), Operand1RgbExt = ((int)0X8591), Operand2Rgb = ((int)0X8592), Operand2RgbArb = ((int)0X8592), Operand2RgbExt = ((int)0X8592), Operand3RgbNv = ((int)0X8593), Operand0Alpha = ((int)0X8598), Operand0AlphaArb = ((int)0X8598), Operand0AlphaExt = ((int)0X8598), Operand1Alpha = ((int)0X8599), Operand1AlphaArb = ((int)0X8599), Operand1AlphaExt = ((int)0X8599), Operand2Alpha = ((int)0X859a), Operand2AlphaArb = ((int)0X859a), Operand2AlphaExt = ((int)0X859a), Operand3AlphaNv = ((int)0X859b), PackSubsampleRateSgix = ((int)0X85a0), UnpackSubsampleRateSgix = ((int)0X85a1), PixelSubsample4444Sgix = ((int)0X85a2), PixelSubsample2424Sgix = ((int)0X85a3), PixelSubsample4242Sgix = ((int)0X85a4), PerturbExt = ((int)0X85ae), TextureNormalExt = ((int)0X85af), LightModelSpecularVectorApple = ((int)0X85b0), TransformHintApple = ((int)0X85b1), UnpackClientStorageApple = ((int)0X85b2), BufferObjectApple = ((int)0X85b3), VertexArrayBinding = ((int)0X85b5), VertexArrayBindingApple = ((int)0X85b5), TextureRangeLengthApple = ((int)0X85b7), TextureRangePointerApple = ((int)0X85b8), Ycbcr422Apple = ((int)0X85b9), UnsignedShort88Apple = ((int)0X85ba), UnsignedShort88Mesa = ((int)0X85ba), UnsignedShort88RevApple = ((int)0X85bb), UnsignedShort88RevMesa = ((int)0X85bb), TextureStorageHintApple = ((int)0X85bc), StoragePrivateApple = ((int)0X85bd), StorageCachedApple = ((int)0X85be), StorageSharedApple = ((int)0X85bf), ReplacementCodeArraySun = ((int)0X85c0), ReplacementCodeArrayTypeSun = ((int)0X85c1), ReplacementCodeArrayStrideSun = ((int)0X85c2), ReplacementCodeArrayPointerSun = ((int)0X85c3), R1uiV3fSun = ((int)0X85c4), R1uiC4ubV3fSun = ((int)0X85c5), R1uiC3fV3fSun = ((int)0X85c6), R1uiN3fV3fSun = ((int)0X85c7), R1uiC4fN3fV3fSun = ((int)0X85c8), R1uiT2fV3fSun = ((int)0X85c9), R1uiT2fN3fV3fSun = ((int)0X85ca), R1uiT2fC4fN3fV3fSun = ((int)0X85cb), SliceAccumSun = ((int)0X85cc), QuadMeshSun = ((int)0X8614), TriangleMeshSun = ((int)0X8615), VertexProgram = ((int)0X8620), VertexProgramArb = ((int)0X8620), VertexProgramNv = ((int)0X8620), VertexStateProgramNv = ((int)0X8621), ArrayEnabled = ((int)0X8622), VertexAttribArrayEnabled = ((int)0X8622), VertexAttribArrayEnabledArb = ((int)0X8622), ArraySize = ((int)0X8623), AttribArraySizeNv = ((int)0X8623), VertexAttribArraySize = ((int)0X8623), VertexAttribArraySizeArb = ((int)0X8623), ArrayStride = ((int)0X8624), AttribArrayStrideNv = ((int)0X8624), VertexAttribArrayStride = ((int)0X8624), VertexAttribArrayStrideArb = ((int)0X8624), ArrayType = ((int)0X8625), AttribArrayTypeNv = ((int)0X8625), VertexAttribArrayType = ((int)0X8625), VertexAttribArrayTypeArb = ((int)0X8625), CurrentAttribNv = ((int)0X8626), CurrentVertexAttrib = ((int)0X8626), CurrentVertexAttribArb = ((int)0X8626), ProgramLength = ((int)0X8627), ProgramLengthArb = ((int)0X8627), ProgramLengthNv = ((int)0X8627), ProgramString = ((int)0X8628), ProgramStringArb = ((int)0X8628), ProgramStringNv = ((int)0X8628), ModelviewProjectionNv = ((int)0X8629), IdentityNv = ((int)0X862a), InverseNv = ((int)0X862b), TransposeNv = ((int)0X862c), InverseTransposeNv = ((int)0X862d), MaxProgramMatrixStackDepthArb = ((int)0X862e), MaxTrackMatrixStackDepthNv = ((int)0X862e), MaxProgramMatricesArb = ((int)0X862f), MaxTrackMatricesNv = ((int)0X862f), Matrix0Nv = ((int)0X8630), Matrix1Nv = ((int)0X8631), Matrix2Nv = ((int)0X8632), Matrix3Nv = ((int)0X8633), Matrix4Nv = ((int)0X8634), Matrix5Nv = ((int)0X8635), Matrix6Nv = ((int)0X8636), Matrix7Nv = ((int)0X8637), CurrentMatrixStackDepthArb = ((int)0X8640), CurrentMatrixStackDepthNv = ((int)0X8640), CurrentMatrixArb = ((int)0X8641), CurrentMatrixNv = ((int)0X8641), ProgramPointSize = ((int)0X8642), ProgramPointSizeArb = ((int)0X8642), ProgramPointSizeExt = ((int)0X8642), VertexProgramPointSize = ((int)0X8642), VertexProgramPointSizeArb = ((int)0X8642), VertexProgramPointSizeNv = ((int)0X8642), VertexProgramTwoSide = ((int)0X8643), VertexProgramTwoSideArb = ((int)0X8643), VertexProgramTwoSideNv = ((int)0X8643), ProgramParameterNv = ((int)0X8644), ArrayPointer = ((int)0X8645), AttribArrayPointerNv = ((int)0X8645), VertexAttribArrayPointer = ((int)0X8645), VertexAttribArrayPointerArb = ((int)0X8645), ProgramTargetNv = ((int)0X8646), ProgramResidentNv = ((int)0X8647), TrackMatrixNv = ((int)0X8648), TrackMatrixTransformNv = ((int)0X8649), VertexProgramBindingNv = ((int)0X864a), ProgramErrorPositionArb = ((int)0X864b), ProgramErrorPositionNv = ((int)0X864b), OffsetTextureRectangleNv = ((int)0X864c), OffsetTextureRectangleScaleNv = ((int)0X864d), DotProductTextureRectangleNv = ((int)0X864e), DepthClamp = ((int)0X864f), DepthClampNv = ((int)0X864f), VertexAttribArray0Nv = ((int)0X8650), VertexAttribArray1Nv = ((int)0X8651), VertexAttribArray2Nv = ((int)0X8652), VertexAttribArray3Nv = ((int)0X8653), VertexAttribArray4Nv = ((int)0X8654), VertexAttribArray5Nv = ((int)0X8655), VertexAttribArray6Nv = ((int)0X8656), VertexAttribArray7Nv = ((int)0X8657), VertexAttribArray8Nv = ((int)0X8658), VertexAttribArray9Nv = ((int)0X8659), VertexAttribArray10Nv = ((int)0X865a), VertexAttribArray11Nv = ((int)0X865b), VertexAttribArray12Nv = ((int)0X865c), VertexAttribArray13Nv = ((int)0X865d), VertexAttribArray14Nv = ((int)0X865e), VertexAttribArray15Nv = ((int)0X865f), Map1VertexAttrib04Nv = ((int)0X8660), Map1VertexAttrib14Nv = ((int)0X8661), Map1VertexAttrib24Nv = ((int)0X8662), Map1VertexAttrib34Nv = ((int)0X8663), Map1VertexAttrib44Nv = ((int)0X8664), Map1VertexAttrib54Nv = ((int)0X8665), Map1VertexAttrib64Nv = ((int)0X8666), Map1VertexAttrib74Nv = ((int)0X8667), Map1VertexAttrib84Nv = ((int)0X8668), Map1VertexAttrib94Nv = ((int)0X8669), Map1VertexAttrib104Nv = ((int)0X866a), Map1VertexAttrib114Nv = ((int)0X866b), Map1VertexAttrib124Nv = ((int)0X866c), Map1VertexAttrib134Nv = ((int)0X866d), Map1VertexAttrib144Nv = ((int)0X866e), Map1VertexAttrib154Nv = ((int)0X866f), Map2VertexAttrib04Nv = ((int)0X8670), Map2VertexAttrib14Nv = ((int)0X8671), Map2VertexAttrib24Nv = ((int)0X8672), Map2VertexAttrib34Nv = ((int)0X8673), Map2VertexAttrib44Nv = ((int)0X8674), Map2VertexAttrib54Nv = ((int)0X8675), Map2VertexAttrib64Nv = ((int)0X8676), Map2VertexAttrib74Nv = ((int)0X8677), ProgramBinding = ((int)0X8677), ProgramBindingArb = ((int)0X8677), Map2VertexAttrib84Nv = ((int)0X8678), Map2VertexAttrib94Nv = ((int)0X8679), Map2VertexAttrib104Nv = ((int)0X867a), Map2VertexAttrib114Nv = ((int)0X867b), Map2VertexAttrib124Nv = ((int)0X867c), Map2VertexAttrib134Nv = ((int)0X867d), Map2VertexAttrib144Nv = ((int)0X867e), Map2VertexAttrib154Nv = ((int)0X867f), TextureCompressedImageSize = ((int)0X86a0), TextureCompressedImageSizeArb = ((int)0X86a0), TextureCompressed = ((int)0X86a1), TextureCompressedArb = ((int)0X86a1), NumCompressedTextureFormats = ((int)0X86a2), NumCompressedTextureFormatsArb = ((int)0X86a2), CompressedTextureFormats = ((int)0X86a3), CompressedTextureFormatsArb = ((int)0X86a3), MaxVertexUnitsArb = ((int)0X86a4), ActiveVertexUnitsArb = ((int)0X86a5), WeightSumUnityArb = ((int)0X86a6), VertexBlendArb = ((int)0X86a7), CurrentWeightArb = ((int)0X86a8), WeightArrayTypeArb = ((int)0X86a9), WeightArrayStrideArb = ((int)0X86aa), WeightArraySizeArb = ((int)0X86ab), WeightArrayPointerArb = ((int)0X86ac), WeightArrayArb = ((int)0X86ad), Dot3Rgb = ((int)0X86ae), Dot3RgbArb = ((int)0X86ae), Dot3Rgba = ((int)0X86af), Dot3RgbaArb = ((int)0X86af), CompressedRgbFxt13Dfx = ((int)0X86b0), CompressedRgbaFxt13Dfx = ((int)0X86b1), Multisample3Dfx = ((int)0X86b2), SampleBuffers3Dfx = ((int)0X86b3), Samples3Dfx = ((int)0X86b4), Eval2DNv = ((int)0X86c0), EvalTriangular2DNv = ((int)0X86c1), MapTessellationNv = ((int)0X86c2), MapAttribUOrderNv = ((int)0X86c3), MapAttribVOrderNv = ((int)0X86c4), EvalFractionalTessellationNv = ((int)0X86c5), EvalVertexAttrib0Nv = ((int)0X86c6), EvalVertexAttrib1Nv = ((int)0X86c7), EvalVertexAttrib2Nv = ((int)0X86c8), EvalVertexAttrib3Nv = ((int)0X86c9), EvalVertexAttrib4Nv = ((int)0X86ca), EvalVertexAttrib5Nv = ((int)0X86cb), EvalVertexAttrib6Nv = ((int)0X86cc), EvalVertexAttrib7Nv = ((int)0X86cd), EvalVertexAttrib8Nv = ((int)0X86ce), EvalVertexAttrib9Nv = ((int)0X86cf), EvalVertexAttrib10Nv = ((int)0X86d0), EvalVertexAttrib11Nv = ((int)0X86d1), EvalVertexAttrib12Nv = ((int)0X86d2), EvalVertexAttrib13Nv = ((int)0X86d3), EvalVertexAttrib14Nv = ((int)0X86d4), EvalVertexAttrib15Nv = ((int)0X86d5), MaxMapTessellationNv = ((int)0X86d6), MaxRationalEvalOrderNv = ((int)0X86d7), RgbaUnsignedDotProductMappingNv = ((int)0X86d9), UnsignedIntS8S888Nv = ((int)0X86da), UnsignedInt88S8S8RevNv = ((int)0X86db), DsdtMagIntensityNv = ((int)0X86dc), ShaderConsistentNv = ((int)0X86dd), TextureShaderNv = ((int)0X86de), ShaderOperationNv = ((int)0X86df), CullModesNv = ((int)0X86e0), OffsetTexture2DMatrixNv = ((int)0X86e1), OffsetTextureMatrixNv = ((int)0X86e1), OffsetTexture2DScaleNv = ((int)0X86e2), OffsetTextureScaleNv = ((int)0X86e2), OffsetTexture2DBiasNv = ((int)0X86e3), OffsetTextureBiasNv = ((int)0X86e3), PreviousTextureInputNv = ((int)0X86e4), ConstEyeNv = ((int)0X86e5), PassThroughNv = ((int)0X86e6), CullFragmentNv = ((int)0X86e7), OffsetTexture2DNv = ((int)0X86e8), DependentArTexture2DNv = ((int)0X86e9), DependentGbTexture2DNv = ((int)0X86ea), DotProductNv = ((int)0X86ec), DotProductDepthReplaceNv = ((int)0X86ed), DotProductTexture2DNv = ((int)0X86ee), DotProductTexture3DNv = ((int)0X86ef), DotProductTextureCubeMapNv = ((int)0X86f0), DotProductDiffuseCubeMapNv = ((int)0X86f1), DotProductReflectCubeMapNv = ((int)0X86f2), DotProductConstEyeReflectCubeMapNv = ((int)0X86f3), HiloNv = ((int)0X86f4), DsdtNv = ((int)0X86f5), DsdtMagNv = ((int)0X86f6), DsdtMagVibNv = ((int)0X86f7), Hilo16Nv = ((int)0X86f8), SignedHiloNv = ((int)0X86f9), SignedHilo16Nv = ((int)0X86fa), SignedRgbaNv = ((int)0X86fb), SignedRgba8Nv = ((int)0X86fc), SignedRgbNv = ((int)0X86fe), SignedRgb8Nv = ((int)0X86ff), SignedLuminanceNv = ((int)0X8701), SignedLuminance8Nv = ((int)0X8702), SignedLuminanceAlphaNv = ((int)0X8703), SignedLuminance8Alpha8Nv = ((int)0X8704), SignedAlphaNv = ((int)0X8705), SignedAlpha8Nv = ((int)0X8706), SignedIntensityNv = ((int)0X8707), SignedIntensity8Nv = ((int)0X8708), Dsdt8Nv = ((int)0X8709), Dsdt8Mag8Nv = ((int)0X870a), Dsdt8Mag8Intensity8Nv = ((int)0X870b), SignedRgbUnsignedAlphaNv = ((int)0X870c), SignedRgb8UnsignedAlpha8Nv = ((int)0X870d), HiScaleNv = ((int)0X870e), LoScaleNv = ((int)0X870f), DsScaleNv = ((int)0X8710), DtScaleNv = ((int)0X8711), MagnitudeScaleNv = ((int)0X8712), VibranceScaleNv = ((int)0X8713), HiBiasNv = ((int)0X8714), LoBiasNv = ((int)0X8715), DsBiasNv = ((int)0X8716), DtBiasNv = ((int)0X8717), MagnitudeBiasNv = ((int)0X8718), VibranceBiasNv = ((int)0X8719), TextureBorderValuesNv = ((int)0X871a), TextureHiSizeNv = ((int)0X871b), TextureLoSizeNv = ((int)0X871c), TextureDsSizeNv = ((int)0X871d), TextureDtSizeNv = ((int)0X871e), TextureMagSizeNv = ((int)0X871f), Modelview2Arb = ((int)0X8722), Modelview3Arb = ((int)0X8723), Modelview4Arb = ((int)0X8724), Modelview5Arb = ((int)0X8725), Modelview6Arb = ((int)0X8726), Modelview7Arb = ((int)0X8727), Modelview8Arb = ((int)0X8728), Modelview9Arb = ((int)0X8729), Modelview10Arb = ((int)0X872a), Modelview11Arb = ((int)0X872b), Modelview12Arb = ((int)0X872c), Modelview13Arb = ((int)0X872d), Modelview14Arb = ((int)0X872e), Modelview15Arb = ((int)0X872f), Modelview16Arb = ((int)0X8730), Modelview17Arb = ((int)0X8731), Modelview18Arb = ((int)0X8732), Modelview19Arb = ((int)0X8733), Modelview20Arb = ((int)0X8734), Modelview21Arb = ((int)0X8735), Modelview22Arb = ((int)0X8736), Modelview23Arb = ((int)0X8737), Modelview24Arb = ((int)0X8738), Modelview25Arb = ((int)0X8739), Modelview26Arb = ((int)0X873a), Modelview27Arb = ((int)0X873b), Modelview28Arb = ((int)0X873c), Modelview29Arb = ((int)0X873d), Modelview30Arb = ((int)0X873e), Modelview31Arb = ((int)0X873f), Dot3RgbExt = ((int)0X8740), Dot3RgbaExt = ((int)0X8741), MirrorClampAti = ((int)0X8742), MirrorClampExt = ((int)0X8742), MirrorClampToEdgeAti = ((int)0X8743), MirrorClampToEdgeExt = ((int)0X8743), ModulateAddAti = ((int)0X8744), ModulateSignedAddAti = ((int)0X8745), ModulateSubtractAti = ((int)0X8746), YcbcrMesa = ((int)0X8757), PackInvertMesa = ((int)0X8758), Texture1DStackMesax = ((int)0X8759), Texture2DStackMesax = ((int)0X875a), ProxyTexture1DStackMesax = ((int)0X875b), ProxyTexture2DStackMesax = ((int)0X875c), Texture1DStackBindingMesax = ((int)0X875d), Texture2DStackBindingMesax = ((int)0X875e), StaticAti = ((int)0X8760), DynamicAti = ((int)0X8761), PreserveAti = ((int)0X8762), DiscardAti = ((int)0X8763), BufferSize = ((int)0X8764), BufferSizeArb = ((int)0X8764), ObjectBufferSizeAti = ((int)0X8764), BufferUsage = ((int)0X8765), BufferUsageArb = ((int)0X8765), ObjectBufferUsageAti = ((int)0X8765), ArrayObjectBufferAti = ((int)0X8766), ArrayObjectOffsetAti = ((int)0X8767), ElementArrayApple = ((int)0X8768), ElementArrayAti = ((int)0X8768), ElementArrayTypeApple = ((int)0X8769), ElementArrayTypeAti = ((int)0X8769), ElementArrayPointerApple = ((int)0X876a), ElementArrayPointerAti = ((int)0X876a), MaxVertexStreamsAti = ((int)0X876b), VertexStream0Ati = ((int)0X876c), VertexStream1Ati = ((int)0X876d), VertexStream2Ati = ((int)0X876e), VertexStream3Ati = ((int)0X876f), VertexStream4Ati = ((int)0X8770), VertexStream5Ati = ((int)0X8771), VertexStream6Ati = ((int)0X8772), VertexStream7Ati = ((int)0X8773), VertexSourceAti = ((int)0X8774), BumpRotMatrixAti = ((int)0X8775), BumpRotMatrixSizeAti = ((int)0X8776), BumpNumTexUnitsAti = ((int)0X8777), BumpTexUnitsAti = ((int)0X8778), DudvAti = ((int)0X8779), Du8dv8Ati = ((int)0X877a), BumpEnvmapAti = ((int)0X877b), BumpTargetAti = ((int)0X877c), VertexShaderExt = ((int)0X8780), VertexShaderBindingExt = ((int)0X8781), OpIndexExt = ((int)0X8782), OpNegateExt = ((int)0X8783), OpDot3Ext = ((int)0X8784), OpDot4Ext = ((int)0X8785), OpMulExt = ((int)0X8786), OpAddExt = ((int)0X8787), OpMaddExt = ((int)0X8788), OpFracExt = ((int)0X8789), OpMaxExt = ((int)0X878a), OpMinExt = ((int)0X878b), OpSetGeExt = ((int)0X878c), OpSetLtExt = ((int)0X878d), OpClampExt = ((int)0X878e), OpFloorExt = ((int)0X878f), OpRoundExt = ((int)0X8790), OpExpBase2Ext = ((int)0X8791), OpLogBase2Ext = ((int)0X8792), OpPowerExt = ((int)0X8793), OpRecipExt = ((int)0X8794), OpRecipSqrtExt = ((int)0X8795), OpSubExt = ((int)0X8796), OpCrossProductExt = ((int)0X8797), OpMultiplyMatrixExt = ((int)0X8798), OpMovExt = ((int)0X8799), OutputVertexExt = ((int)0X879a), OutputColor0Ext = ((int)0X879b), OutputColor1Ext = ((int)0X879c), OutputTextureCoord0Ext = ((int)0X879d), OutputTextureCoord1Ext = ((int)0X879e), OutputTextureCoord2Ext = ((int)0X879f), OutputTextureCoord3Ext = ((int)0X87a0), OutputTextureCoord4Ext = ((int)0X87a1), OutputTextureCoord5Ext = ((int)0X87a2), OutputTextureCoord6Ext = ((int)0X87a3), OutputTextureCoord7Ext = ((int)0X87a4), OutputTextureCoord8Ext = ((int)0X87a5), OutputTextureCoord9Ext = ((int)0X87a6), OutputTextureCoord10Ext = ((int)0X87a7), OutputTextureCoord11Ext = ((int)0X87a8), OutputTextureCoord12Ext = ((int)0X87a9), OutputTextureCoord13Ext = ((int)0X87aa), OutputTextureCoord14Ext = ((int)0X87ab), OutputTextureCoord15Ext = ((int)0X87ac), OutputTextureCoord16Ext = ((int)0X87ad), OutputTextureCoord17Ext = ((int)0X87ae), OutputTextureCoord18Ext = ((int)0X87af), OutputTextureCoord19Ext = ((int)0X87b0), OutputTextureCoord20Ext = ((int)0X87b1), OutputTextureCoord21Ext = ((int)0X87b2), OutputTextureCoord22Ext = ((int)0X87b3), OutputTextureCoord23Ext = ((int)0X87b4), OutputTextureCoord24Ext = ((int)0X87b5), OutputTextureCoord25Ext = ((int)0X87b6), OutputTextureCoord26Ext = ((int)0X87b7), OutputTextureCoord27Ext = ((int)0X87b8), OutputTextureCoord28Ext = ((int)0X87b9), OutputTextureCoord29Ext = ((int)0X87ba), OutputTextureCoord30Ext = ((int)0X87bb), OutputTextureCoord31Ext = ((int)0X87bc), OutputFogExt = ((int)0X87bd), ScalarExt = ((int)0X87be), VectorExt = ((int)0X87bf), MatrixExt = ((int)0X87c0), VariantExt = ((int)0X87c1), InvariantExt = ((int)0X87c2), LocalConstantExt = ((int)0X87c3), LocalExt = ((int)0X87c4), MaxVertexShaderInstructionsExt = ((int)0X87c5), MaxVertexShaderVariantsExt = ((int)0X87c6), MaxVertexShaderInvariantsExt = ((int)0X87c7), MaxVertexShaderLocalConstantsExt = ((int)0X87c8), MaxVertexShaderLocalsExt = ((int)0X87c9), MaxOptimizedVertexShaderInstructionsExt = ((int)0X87ca), MaxOptimizedVertexShaderVariantsExt = ((int)0X87cb), MaxOptimizedVertexShaderLocalConstantsExt = ((int)0X87cc), MaxOptimizedVertexShaderInvariantsExt = ((int)0X87cd), MaxOptimizedVertexShaderLocalsExt = ((int)0X87ce), VertexShaderInstructionsExt = ((int)0X87cf), VertexShaderVariantsExt = ((int)0X87d0), VertexShaderInvariantsExt = ((int)0X87d1), VertexShaderLocalConstantsExt = ((int)0X87d2), VertexShaderLocalsExt = ((int)0X87d3), VertexShaderOptimizedExt = ((int)0X87d4), XExt = ((int)0X87d5), YExt = ((int)0X87d6), ZExt = ((int)0X87d7), WExt = ((int)0X87d8), NegativeXExt = ((int)0X87d9), NegativeYExt = ((int)0X87da), NegativeZExt = ((int)0X87db), NegativeWExt = ((int)0X87dc), ZeroExt = ((int)0X87dd), OneExt = ((int)0X87de), NegativeOneExt = ((int)0X87df), NormalizedRangeExt = ((int)0X87e0), FullRangeExt = ((int)0X87e1), CurrentVertexExt = ((int)0X87e2), MvpMatrixExt = ((int)0X87e3), VariantValueExt = ((int)0X87e4), VariantDatatypeExt = ((int)0X87e5), VariantArrayStrideExt = ((int)0X87e6), VariantArrayTypeExt = ((int)0X87e7), VariantArrayExt = ((int)0X87e8), VariantArrayPointerExt = ((int)0X87e9), InvariantValueExt = ((int)0X87ea), InvariantDatatypeExt = ((int)0X87eb), LocalConstantValueExt = ((int)0X87ec), LocalConstantDatatypeExt = ((int)0X87ed), PnTrianglesAti = ((int)0X87f0), MaxPnTrianglesTesselationLevelAti = ((int)0X87f1), PnTrianglesPointModeAti = ((int)0X87f2), PnTrianglesNormalModeAti = ((int)0X87f3), PnTrianglesTesselationLevelAti = ((int)0X87f4), PnTrianglesPointModeLinearAti = ((int)0X87f5), PnTrianglesPointModeCubicAti = ((int)0X87f6), PnTrianglesNormalModeLinearAti = ((int)0X87f7), PnTrianglesNormalModeQuadraticAti = ((int)0X87f8), VboFreeMemoryAti = ((int)0X87fb), TextureFreeMemoryAti = ((int)0X87fc), RenderbufferFreeMemoryAti = ((int)0X87fd), StencilBackFunc = ((int)0X8800), StencilBackFuncAti = ((int)0X8800), StencilBackFail = ((int)0X8801), StencilBackFailAti = ((int)0X8801), StencilBackPassDepthFail = ((int)0X8802), StencilBackPassDepthFailAti = ((int)0X8802), StencilBackPassDepthPass = ((int)0X8803), StencilBackPassDepthPassAti = ((int)0X8803), FragmentProgram = ((int)0X8804), FragmentProgramArb = ((int)0X8804), ProgramAluInstructionsArb = ((int)0X8805), ProgramTexInstructionsArb = ((int)0X8806), ProgramTexIndirectionsArb = ((int)0X8807), ProgramNativeAluInstructionsArb = ((int)0X8808), ProgramNativeTexInstructionsArb = ((int)0X8809), ProgramNativeTexIndirectionsArb = ((int)0X880a), MaxProgramAluInstructionsArb = ((int)0X880b), MaxProgramTexInstructionsArb = ((int)0X880c), MaxProgramTexIndirectionsArb = ((int)0X880d), MaxProgramNativeAluInstructionsArb = ((int)0X880e), MaxProgramNativeTexInstructionsArb = ((int)0X880f), MaxProgramNativeTexIndirectionsArb = ((int)0X8810), Rgba32f = ((int)0X8814), Rgba32fArb = ((int)0X8814), RgbaFloat32Apple = ((int)0X8814), RgbaFloat32Ati = ((int)0X8814), Rgb32f = ((int)0X8815), Rgb32fArb = ((int)0X8815), RgbFloat32Apple = ((int)0X8815), RgbFloat32Ati = ((int)0X8815), Alpha32fArb = ((int)0X8816), AlphaFloat32Apple = ((int)0X8816), AlphaFloat32Ati = ((int)0X8816), Intensity32fArb = ((int)0X8817), IntensityFloat32Apple = ((int)0X8817), IntensityFloat32Ati = ((int)0X8817), Luminance32fArb = ((int)0X8818), LuminanceFloat32Apple = ((int)0X8818), LuminanceFloat32Ati = ((int)0X8818), LuminanceAlpha32fArb = ((int)0X8819), LuminanceAlphaFloat32Apple = ((int)0X8819), LuminanceAlphaFloat32Ati = ((int)0X8819), Rgba16f = ((int)0X881a), Rgba16fArb = ((int)0X881a), RgbaFloat16Apple = ((int)0X881a), RgbaFloat16Ati = ((int)0X881a), Rgb16f = ((int)0X881b), Rgb16fArb = ((int)0X881b), RgbFloat16Apple = ((int)0X881b), RgbFloat16Ati = ((int)0X881b), Alpha16fArb = ((int)0X881c), AlphaFloat16Apple = ((int)0X881c), AlphaFloat16Ati = ((int)0X881c), Intensity16fArb = ((int)0X881d), IntensityFloat16Apple = ((int)0X881d), IntensityFloat16Ati = ((int)0X881d), Luminance16fArb = ((int)0X881e), LuminanceFloat16Apple = ((int)0X881e), LuminanceFloat16Ati = ((int)0X881e), LuminanceAlpha16fArb = ((int)0X881f), LuminanceAlphaFloat16Apple = ((int)0X881f), LuminanceAlphaFloat16Ati = ((int)0X881f), RgbaFloatMode = ((int)0X8820), RgbaFloatModeArb = ((int)0X8820), TypeRgbaFloatAti = ((int)0X8820), MaxDrawBuffers = ((int)0X8824), MaxDrawBuffersArb = ((int)0X8824), MaxDrawBuffersAti = ((int)0X8824), DrawBuffer0 = ((int)0X8825), DrawBuffer0Arb = ((int)0X8825), DrawBuffer0Ati = ((int)0X8825), DrawBuffer1 = ((int)0X8826), DrawBuffer1Arb = ((int)0X8826), DrawBuffer1Ati = ((int)0X8826), DrawBuffer2 = ((int)0X8827), DrawBuffer2Arb = ((int)0X8827), DrawBuffer2Ati = ((int)0X8827), DrawBuffer3 = ((int)0X8828), DrawBuffer3Arb = ((int)0X8828), DrawBuffer3Ati = ((int)0X8828), DrawBuffer4 = ((int)0X8829), DrawBuffer4Arb = ((int)0X8829), DrawBuffer4Ati = ((int)0X8829), DrawBuffer5 = ((int)0X882a), DrawBuffer5Arb = ((int)0X882a), DrawBuffer5Ati = ((int)0X882a), DrawBuffer6 = ((int)0X882b), DrawBuffer6Arb = ((int)0X882b), DrawBuffer6Ati = ((int)0X882b), DrawBuffer7 = ((int)0X882c), DrawBuffer7Arb = ((int)0X882c), DrawBuffer7Ati = ((int)0X882c), DrawBuffer8 = ((int)0X882d), DrawBuffer8Arb = ((int)0X882d), DrawBuffer8Ati = ((int)0X882d), DrawBuffer9 = ((int)0X882e), DrawBuffer9Arb = ((int)0X882e), DrawBuffer9Ati = ((int)0X882e), DrawBuffer10 = ((int)0X882f), DrawBuffer10Arb = ((int)0X882f), DrawBuffer10Ati = ((int)0X882f), DrawBuffer11 = ((int)0X8830), DrawBuffer11Arb = ((int)0X8830), DrawBuffer11Ati = ((int)0X8830), DrawBuffer12 = ((int)0X8831), DrawBuffer12Arb = ((int)0X8831), DrawBuffer12Ati = ((int)0X8831), DrawBuffer13 = ((int)0X8832), DrawBuffer13Arb = ((int)0X8832), DrawBuffer13Ati = ((int)0X8832), DrawBuffer14 = ((int)0X8833), DrawBuffer14Arb = ((int)0X8833), DrawBuffer14Ati = ((int)0X8833), DrawBuffer15 = ((int)0X8834), DrawBuffer15Arb = ((int)0X8834), DrawBuffer15Ati = ((int)0X8834), ColorClearUnclampedValueAti = ((int)0X8835), BlendEquationAlpha = ((int)0X883d), BlendEquationAlphaExt = ((int)0X883d), MatrixPaletteArb = ((int)0X8840), MaxMatrixPaletteStackDepthArb = ((int)0X8841), MaxPaletteMatricesArb = ((int)0X8842), CurrentPaletteMatrixArb = ((int)0X8843), MatrixIndexArrayArb = ((int)0X8844), CurrentMatrixIndexArb = ((int)0X8845), MatrixIndexArraySizeArb = ((int)0X8846), MatrixIndexArrayTypeArb = ((int)0X8847), MatrixIndexArrayStrideArb = ((int)0X8848), MatrixIndexArrayPointerArb = ((int)0X8849), TextureDepthSize = ((int)0X884a), TextureDepthSizeArb = ((int)0X884a), DepthTextureMode = ((int)0X884b), DepthTextureModeArb = ((int)0X884b), TextureCompareMode = ((int)0X884c), TextureCompareModeArb = ((int)0X884c), TextureCompareFunc = ((int)0X884d), TextureCompareFuncArb = ((int)0X884d), CompareRefDepthToTextureExt = ((int)0X884e), CompareRefToTexture = ((int)0X884e), CompareRToTexture = ((int)0X884e), CompareRToTextureArb = ((int)0X884e), TextureCubeMapSeamless = ((int)0X884f), OffsetProjectiveTexture2DNv = ((int)0X8850), OffsetProjectiveTexture2DScaleNv = ((int)0X8851), OffsetProjectiveTextureRectangleNv = ((int)0X8852), OffsetProjectiveTextureRectangleScaleNv = ((int)0X8853), OffsetHiloTexture2DNv = ((int)0X8854), OffsetHiloTextureRectangleNv = ((int)0X8855), OffsetHiloProjectiveTexture2DNv = ((int)0X8856), OffsetHiloProjectiveTextureRectangleNv = ((int)0X8857), DependentHiloTexture2DNv = ((int)0X8858), DependentRgbTexture3DNv = ((int)0X8859), DependentRgbTextureCubeMapNv = ((int)0X885a), DotProductPassThroughNv = ((int)0X885b), DotProductTexture1DNv = ((int)0X885c), DotProductAffineDepthReplaceNv = ((int)0X885d), Hilo8Nv = ((int)0X885e), SignedHilo8Nv = ((int)0X885f), ForceBlueToOneNv = ((int)0X8860), PointSprite = ((int)0X8861), PointSpriteArb = ((int)0X8861), PointSpriteNv = ((int)0X8861), CoordReplace = ((int)0X8862), CoordReplaceArb = ((int)0X8862), CoordReplaceNv = ((int)0X8862), PointSpriteRModeNv = ((int)0X8863), PixelCounterBitsNv = ((int)0X8864), QueryCounterBits = ((int)0X8864), QueryCounterBitsArb = ((int)0X8864), CurrentOcclusionQueryIdNv = ((int)0X8865), CurrentQuery = ((int)0X8865), CurrentQueryArb = ((int)0X8865), PixelCountNv = ((int)0X8866), QueryResult = ((int)0X8866), QueryResultArb = ((int)0X8866), PixelCountAvailableNv = ((int)0X8867), QueryResultAvailable = ((int)0X8867), QueryResultAvailableArb = ((int)0X8867), MaxFragmentProgramLocalParametersNv = ((int)0X8868), MaxVertexAttribs = ((int)0X8869), MaxVertexAttribsArb = ((int)0X8869), ArrayNormalized = ((int)0X886a), VertexAttribArrayNormalized = ((int)0X886a), VertexAttribArrayNormalizedArb = ((int)0X886a), DepthStencilToRgbaNv = ((int)0X886e), DepthStencilToBgraNv = ((int)0X886f), FragmentProgramNv = ((int)0X8870), MaxTextureCoords = ((int)0X8871), MaxTextureCoordsArb = ((int)0X8871), MaxTextureCoordsNv = ((int)0X8871), MaxTextureImageUnits = ((int)0X8872), MaxTextureImageUnitsArb = ((int)0X8872), MaxTextureImageUnitsNv = ((int)0X8872), FragmentProgramBindingNv = ((int)0X8873), ProgramErrorStringArb = ((int)0X8874), ProgramErrorStringNv = ((int)0X8874), ProgramFormatAsciiArb = ((int)0X8875), ProgramFormat = ((int)0X8876), ProgramFormatArb = ((int)0X8876), WritePixelDataRangeNv = ((int)0X8878), ReadPixelDataRangeNv = ((int)0X8879), WritePixelDataRangeLengthNv = ((int)0X887a), ReadPixelDataRangeLengthNv = ((int)0X887b), WritePixelDataRangePointerNv = ((int)0X887c), ReadPixelDataRangePointerNv = ((int)0X887d), FloatRNv = ((int)0X8880), FloatRgNv = ((int)0X8881), FloatRgbNv = ((int)0X8882), FloatRgbaNv = ((int)0X8883), FloatR16Nv = ((int)0X8884), FloatR32Nv = ((int)0X8885), FloatRg16Nv = ((int)0X8886), FloatRg32Nv = ((int)0X8887), FloatRgb16Nv = ((int)0X8888), FloatRgb32Nv = ((int)0X8889), FloatRgba16Nv = ((int)0X888a), FloatRgba32Nv = ((int)0X888b), TextureFloatComponentsNv = ((int)0X888c), FloatClearColorValueNv = ((int)0X888d), FloatRgbaModeNv = ((int)0X888e), TextureUnsignedRemapModeNv = ((int)0X888f), DepthBoundsTestExt = ((int)0X8890), DepthBoundsExt = ((int)0X8891), ArrayBuffer = ((int)0X8892), ArrayBufferArb = ((int)0X8892), ElementArrayBuffer = ((int)0X8893), ElementArrayBufferArb = ((int)0X8893), ArrayBufferBinding = ((int)0X8894), ArrayBufferBindingArb = ((int)0X8894), ElementArrayBufferBinding = ((int)0X8895), ElementArrayBufferBindingArb = ((int)0X8895), VertexArrayBufferBinding = ((int)0X8896), VertexArrayBufferBindingArb = ((int)0X8896), NormalArrayBufferBinding = ((int)0X8897), NormalArrayBufferBindingArb = ((int)0X8897), ColorArrayBufferBinding = ((int)0X8898), ColorArrayBufferBindingArb = ((int)0X8898), IndexArrayBufferBinding = ((int)0X8899), IndexArrayBufferBindingArb = ((int)0X8899), TextureCoordArrayBufferBinding = ((int)0X889a), TextureCoordArrayBufferBindingArb = ((int)0X889a), EdgeFlagArrayBufferBinding = ((int)0X889b), EdgeFlagArrayBufferBindingArb = ((int)0X889b), SecondaryColorArrayBufferBinding = ((int)0X889c), SecondaryColorArrayBufferBindingArb = ((int)0X889c), FogCoordArrayBufferBinding = ((int)0X889d), FogCoordinateArrayBufferBinding = ((int)0X889d), FogCoordinateArrayBufferBindingArb = ((int)0X889d), WeightArrayBufferBinding = ((int)0X889e), WeightArrayBufferBindingArb = ((int)0X889e), VertexAttribArrayBufferBinding = ((int)0X889f), VertexAttribArrayBufferBindingArb = ((int)0X889f), ProgramInstruction = ((int)0X88a0), ProgramInstructionsArb = ((int)0X88a0), MaxProgramInstructions = ((int)0X88a1), MaxProgramInstructionsArb = ((int)0X88a1), ProgramNativeInstructions = ((int)0X88a2), ProgramNativeInstructionsArb = ((int)0X88a2), MaxProgramNativeInstructions = ((int)0X88a3), MaxProgramNativeInstructionsArb = ((int)0X88a3), ProgramTemporaries = ((int)0X88a4), ProgramTemporariesArb = ((int)0X88a4), MaxProgramTemporaries = ((int)0X88a5), MaxProgramTemporariesArb = ((int)0X88a5), ProgramNativeTemporaries = ((int)0X88a6), ProgramNativeTemporariesArb = ((int)0X88a6), MaxProgramNativeTemporaries = ((int)0X88a7), MaxProgramNativeTemporariesArb = ((int)0X88a7), ProgramParameters = ((int)0X88a8), ProgramParametersArb = ((int)0X88a8), MaxProgramParameters = ((int)0X88a9), MaxProgramParametersArb = ((int)0X88a9), ProgramNativeParameters = ((int)0X88aa), ProgramNativeParametersArb = ((int)0X88aa), MaxProgramNativeParameters = ((int)0X88ab), MaxProgramNativeParametersArb = ((int)0X88ab), ProgramAttribs = ((int)0X88ac), ProgramAttribsArb = ((int)0X88ac), MaxProgramAttribs = ((int)0X88ad), MaxProgramAttribsArb = ((int)0X88ad), ProgramNativeAttribs = ((int)0X88ae), ProgramNativeAttribsArb = ((int)0X88ae), MaxProgramNativeAttribs = ((int)0X88af), MaxProgramNativeAttribsArb = ((int)0X88af), ProgramAddressRegisters = ((int)0X88b0), ProgramAddressRegistersArb = ((int)0X88b0), MaxProgramAddressRegisters = ((int)0X88b1), MaxProgramAddressRegistersArb = ((int)0X88b1), ProgramNativeAddressRegisters = ((int)0X88b2), ProgramNativeAddressRegistersArb = ((int)0X88b2), MaxProgramNativeAddressRegisters = ((int)0X88b3), MaxProgramNativeAddressRegistersArb = ((int)0X88b3), MaxProgramLocalParameters = ((int)0X88b4), MaxProgramLocalParametersArb = ((int)0X88b4), MaxProgramEnvParameters = ((int)0X88b5), MaxProgramEnvParametersArb = ((int)0X88b5), ProgramUnderNativeLimits = ((int)0X88b6), ProgramUnderNativeLimitsArb = ((int)0X88b6), TransposeCurrentMatrixArb = ((int)0X88b7), ReadOnly = ((int)0X88b8), ReadOnlyArb = ((int)0X88b8), WriteOnly = ((int)0X88b9), WriteOnlyArb = ((int)0X88b9), ReadWrite = ((int)0X88ba), ReadWriteArb = ((int)0X88ba), BufferAccess = ((int)0X88bb), BufferAccessArb = ((int)0X88bb), BufferMapped = ((int)0X88bc), BufferMappedArb = ((int)0X88bc), BufferMapPointer = ((int)0X88bd), BufferMapPointerArb = ((int)0X88bd), TimeElapsedExt = ((int)0X88bf), Matrix0 = ((int)0X88c0), Matrix0Arb = ((int)0X88c0), Matrix1 = ((int)0X88c1), Matrix1Arb = ((int)0X88c1), Matrix2 = ((int)0X88c2), Matrix2Arb = ((int)0X88c2), Matrix3 = ((int)0X88c3), Matrix3Arb = ((int)0X88c3), Matrix4 = ((int)0X88c4), Matrix4Arb = ((int)0X88c4), Matrix5 = ((int)0X88c5), Matrix5Arb = ((int)0X88c5), Matrix6 = ((int)0X88c6), Matrix6Arb = ((int)0X88c6), Matrix7 = ((int)0X88c7), Matrix7Arb = ((int)0X88c7), Matrix8 = ((int)0X88c8), Matrix8Arb = ((int)0X88c8), Matrix9 = ((int)0X88c9), Matrix9Arb = ((int)0X88c9), Matrix10 = ((int)0X88ca), Matrix10Arb = ((int)0X88ca), Matrix11 = ((int)0X88cb), Matrix11Arb = ((int)0X88cb), Matrix12 = ((int)0X88cc), Matrix12Arb = ((int)0X88cc), Matrix13 = ((int)0X88cd), Matrix13Arb = ((int)0X88cd), Matrix14 = ((int)0X88ce), Matrix14Arb = ((int)0X88ce), Matrix15 = ((int)0X88cf), Matrix15Arb = ((int)0X88cf), Matrix16 = ((int)0X88d0), Matrix16Arb = ((int)0X88d0), Matrix17 = ((int)0X88d1), Matrix17Arb = ((int)0X88d1), Matrix18 = ((int)0X88d2), Matrix18Arb = ((int)0X88d2), Matrix19 = ((int)0X88d3), Matrix19Arb = ((int)0X88d3), Matrix20 = ((int)0X88d4), Matrix20Arb = ((int)0X88d4), Matrix21 = ((int)0X88d5), Matrix21Arb = ((int)0X88d5), Matrix22 = ((int)0X88d6), Matrix22Arb = ((int)0X88d6), Matrix23 = ((int)0X88d7), Matrix23Arb = ((int)0X88d7), Matrix24 = ((int)0X88d8), Matrix24Arb = ((int)0X88d8), Matrix25 = ((int)0X88d9), Matrix25Arb = ((int)0X88d9), Matrix26 = ((int)0X88da), Matrix26Arb = ((int)0X88da), Matrix27 = ((int)0X88db), Matrix27Arb = ((int)0X88db), Matrix28 = ((int)0X88dc), Matrix28Arb = ((int)0X88dc), Matrix29 = ((int)0X88dd), Matrix29Arb = ((int)0X88dd), Matrix30 = ((int)0X88de), Matrix30Arb = ((int)0X88de), Matrix31 = ((int)0X88df), Matrix31Arb = ((int)0X88df), StreamDraw = ((int)0X88e0), StreamDrawArb = ((int)0X88e0), StreamRead = ((int)0X88e1), StreamReadArb = ((int)0X88e1), StreamCopy = ((int)0X88e2), StreamCopyArb = ((int)0X88e2), StaticDraw = ((int)0X88e4), StaticDrawArb = ((int)0X88e4), StaticRead = ((int)0X88e5), StaticReadArb = ((int)0X88e5), StaticCopy = ((int)0X88e6), StaticCopyArb = ((int)0X88e6), DynamicDraw = ((int)0X88e8), DynamicDrawArb = ((int)0X88e8), DynamicRead = ((int)0X88e9), DynamicReadArb = ((int)0X88e9), DynamicCopy = ((int)0X88ea), DynamicCopyArb = ((int)0X88ea), PixelPackBuffer = ((int)0X88eb), PixelPackBufferArb = ((int)0X88eb), PixelPackBufferExt = ((int)0X88eb), PixelUnpackBuffer = ((int)0X88ec), PixelUnpackBufferArb = ((int)0X88ec), PixelUnpackBufferExt = ((int)0X88ec), PixelPackBufferBinding = ((int)0X88ed), PixelPackBufferBindingArb = ((int)0X88ed), PixelPackBufferBindingExt = ((int)0X88ed), PixelUnpackBufferBinding = ((int)0X88ef), PixelUnpackBufferBindingArb = ((int)0X88ef), PixelUnpackBufferBindingExt = ((int)0X88ef), Depth24Stencil8 = ((int)0X88f0), Depth24Stencil8Ext = ((int)0X88f0), TextureStencilSize = ((int)0X88f1), TextureStencilSizeExt = ((int)0X88f1), StencilTagBitsExt = ((int)0X88f2), StencilClearTagValueExt = ((int)0X88f3), MaxProgramExecInstructionsNv = ((int)0X88f4), MaxProgramCallDepthNv = ((int)0X88f5), MaxProgramIfDepthNv = ((int)0X88f6), MaxProgramLoopDepthNv = ((int)0X88f7), MaxProgramLoopCountNv = ((int)0X88f8), VertexAttribArrayInteger = ((int)0X88fd), VertexAttribArrayIntegerNv = ((int)0X88fd), ArrayDivisor = ((int)0X88fe), VertexAttribArrayDivisorArb = ((int)0X88fe), MaxArrayTextureLayers = ((int)0X88ff), MaxArrayTextureLayersExt = ((int)0X88ff), MinProgramTexelOffset = ((int)0X8904), MinProgramTexelOffsetNv = ((int)0X8904), MaxProgramTexelOffset = ((int)0X8905), MaxProgramTexelOffsetNv = ((int)0X8905), ProgramAttribComponentsNv = ((int)0X8906), ProgramResultComponentsNv = ((int)0X8907), MaxProgramAttribComponentsNv = ((int)0X8908), MaxProgramResultComponentsNv = ((int)0X8909), StencilTestTwoSideExt = ((int)0X8910), ActiveStencilFaceExt = ((int)0X8911), MirrorClampToBorderExt = ((int)0X8912), SamplesPassed = ((int)0X8914), SamplesPassedArb = ((int)0X8914), GeometryVerticesOut = ((int)0X8916), GeometryInputType = ((int)0X8917), GeometryOutputType = ((int)0X8918), ClampVertexColor = ((int)0X891a), ClampVertexColorArb = ((int)0X891a), ClampFragmentColor = ((int)0X891b), ClampFragmentColorArb = ((int)0X891b), ClampReadColor = ((int)0X891c), ClampReadColorArb = ((int)0X891c), FixedOnly = ((int)0X891d), FixedOnlyArb = ((int)0X891d), FragmentShaderAti = ((int)0X8920), Reg0Ati = ((int)0X8921), Reg1Ati = ((int)0X8922), Reg2Ati = ((int)0X8923), Reg3Ati = ((int)0X8924), Reg4Ati = ((int)0X8925), Reg5Ati = ((int)0X8926), Reg6Ati = ((int)0X8927), Reg7Ati = ((int)0X8928), Reg8Ati = ((int)0X8929), Reg9Ati = ((int)0X892a), Reg10Ati = ((int)0X892b), Reg11Ati = ((int)0X892c), Reg12Ati = ((int)0X892d), Reg13Ati = ((int)0X892e), Reg14Ati = ((int)0X892f), Reg15Ati = ((int)0X8930), Reg16Ati = ((int)0X8931), Reg17Ati = ((int)0X8932), Reg18Ati = ((int)0X8933), Reg19Ati = ((int)0X8934), Reg20Ati = ((int)0X8935), Reg21Ati = ((int)0X8936), Reg22Ati = ((int)0X8937), Reg23Ati = ((int)0X8938), Reg24Ati = ((int)0X8939), Reg25Ati = ((int)0X893a), Reg26Ati = ((int)0X893b), Reg27Ati = ((int)0X893c), Reg28Ati = ((int)0X893d), Reg29Ati = ((int)0X893e), Reg30Ati = ((int)0X893f), Reg31Ati = ((int)0X8940), Con0Ati = ((int)0X8941), Con1Ati = ((int)0X8942), Con2Ati = ((int)0X8943), Con3Ati = ((int)0X8944), Con4Ati = ((int)0X8945), Con5Ati = ((int)0X8946), Con6Ati = ((int)0X8947), Con7Ati = ((int)0X8948), Con8Ati = ((int)0X8949), Con9Ati = ((int)0X894a), Con10Ati = ((int)0X894b), Con11Ati = ((int)0X894c), Con12Ati = ((int)0X894d), Con13Ati = ((int)0X894e), Con14Ati = ((int)0X894f), Con15Ati = ((int)0X8950), Con16Ati = ((int)0X8951), Con17Ati = ((int)0X8952), Con18Ati = ((int)0X8953), Con19Ati = ((int)0X8954), Con20Ati = ((int)0X8955), Con21Ati = ((int)0X8956), Con22Ati = ((int)0X8957), Con23Ati = ((int)0X8958), Con24Ati = ((int)0X8959), Con25Ati = ((int)0X895a), Con26Ati = ((int)0X895b), Con27Ati = ((int)0X895c), Con28Ati = ((int)0X895d), Con29Ati = ((int)0X895e), Con30Ati = ((int)0X895f), Con31Ati = ((int)0X8960), MovAti = ((int)0X8961), AddAti = ((int)0X8963), MulAti = ((int)0X8964), SubAti = ((int)0X8965), Dot3Ati = ((int)0X8966), Dot4Ati = ((int)0X8967), MadAti = ((int)0X8968), LerpAti = ((int)0X8969), CndAti = ((int)0X896a), Cnd0Ati = ((int)0X896b), Dot2AddAti = ((int)0X896c), SecondaryInterpolatorAti = ((int)0X896d), NumFragmentRegistersAti = ((int)0X896e), NumFragmentConstantsAti = ((int)0X896f), NumPassesAti = ((int)0X8970), NumInstructionsPerPassAti = ((int)0X8971), NumInstructionsTotalAti = ((int)0X8972), NumInputInterpolatorComponentsAti = ((int)0X8973), NumLoopbackComponentsAti = ((int)0X8974), ColorAlphaPairingAti = ((int)0X8975), SwizzleStrAti = ((int)0X8976), SwizzleStqAti = ((int)0X8977), SwizzleStrDrAti = ((int)0X8978), SwizzleStqDqAti = ((int)0X8979), SwizzleStrqAti = ((int)0X897a), SwizzleStrqDqAti = ((int)0X897b), InterlaceOml = ((int)0X8980), InterlaceReadOml = ((int)0X8981), FormatSubsample2424Oml = ((int)0X8982), FormatSubsample244244Oml = ((int)0X8983), PackResampleOml = ((int)0X8984), UnpackResampleOml = ((int)0X8985), ResampleReplicateOml = ((int)0X8986), ResampleZeroFillOml = ((int)0X8987), ResampleAverageOml = ((int)0X8988), ResampleDecimateOml = ((int)0X8989), VertexAttribMap1Apple = ((int)0X8a00), VertexAttribMap2Apple = ((int)0X8a01), VertexAttribMap1SizeApple = ((int)0X8a02), VertexAttribMap1CoeffApple = ((int)0X8a03), VertexAttribMap1OrderApple = ((int)0X8a04), VertexAttribMap1DomainApple = ((int)0X8a05), VertexAttribMap2SizeApple = ((int)0X8a06), VertexAttribMap2CoeffApple = ((int)0X8a07), VertexAttribMap2OrderApple = ((int)0X8a08), VertexAttribMap2DomainApple = ((int)0X8a09), DrawPixelsApple = ((int)0X8a0a), FenceApple = ((int)0X8a0b), ColorFloatApple = ((int)0X8a0f), UniformBuffer = ((int)0X8a11), BufferSerializedModifyApple = ((int)0X8a12), BufferFlushingUnmapApple = ((int)0X8a13), AuxDepthStencilApple = ((int)0X8a14), PackRowBytesApple = ((int)0X8a15), UnpackRowBytesApple = ((int)0X8a16), ReleasedApple = ((int)0X8a19), VolatileApple = ((int)0X8a1a), RetainedApple = ((int)0X8a1b), UndefinedApple = ((int)0X8a1c), PurgeableApple = ((int)0X8a1d), UniformBufferBinding = ((int)0X8a28), UniformBufferStart = ((int)0X8a29), UniformBufferSize = ((int)0X8a2a), MaxVertexUniformBlocks = ((int)0X8a2b), MaxGeometryUniformBlocks = ((int)0X8a2c), MaxFragmentUniformBlocks = ((int)0X8a2d), MaxCombinedUniformBlocks = ((int)0X8a2e), MaxUniformBufferBindings = ((int)0X8a2f), MaxUniformBlockSize = ((int)0X8a30), MaxCombinedVertexUniformComponents = ((int)0X8a31), MaxCombinedGeometryUniformComponents = ((int)0X8a32), MaxCombinedFragmentUniformComponents = ((int)0X8a33), UniformBufferOffsetAlignment = ((int)0X8a34), ActiveUniformBlockMaxNameLength = ((int)0X8a35), ActiveUniformBlocks = ((int)0X8a36), UniformType = ((int)0X8a37), UniformSize = ((int)0X8a38), UniformNameLength = ((int)0X8a39), UniformBlockIndex = ((int)0X8a3a), UniformOffset = ((int)0X8a3b), UniformArrayStride = ((int)0X8a3c), UniformMatrixStride = ((int)0X8a3d), UniformIsRowMajor = ((int)0X8a3e), UniformBlockBinding = ((int)0X8a3f), UniformBlockDataSize = ((int)0X8a40), UniformBlockNameLength = ((int)0X8a41), UniformBlockActiveUniforms = ((int)0X8a42), UniformBlockActiveUniformIndices = ((int)0X8a43), UniformBlockReferencedByVertexShader = ((int)0X8a44), UniformBlockReferencedByGeometryShader = ((int)0X8a45), UniformBlockReferencedByFragmentShader = ((int)0X8a46), FragmentShader = ((int)0X8b30), FragmentShaderArb = ((int)0X8b30), VertexShader = ((int)0X8b31), VertexShaderArb = ((int)0X8b31), ProgramObjectArb = ((int)0X8b40), ShaderObjectArb = ((int)0X8b48), MaxFragmentUniformComponents = ((int)0X8b49), MaxFragmentUniformComponentsArb = ((int)0X8b49), MaxVertexUniformComponents = ((int)0X8b4a), MaxVertexUniformComponentsArb = ((int)0X8b4a), MaxVaryingComponents = ((int)0X8b4b), MaxVaryingComponentsExt = ((int)0X8b4b), MaxVaryingFloats = ((int)0X8b4b), MaxVaryingFloatsArb = ((int)0X8b4b), MaxVertexTextureImageUnits = ((int)0X8b4c), MaxVertexTextureImageUnitsArb = ((int)0X8b4c), MaxCombinedTextureImageUnits = ((int)0X8b4d), MaxCombinedTextureImageUnitsArb = ((int)0X8b4d), ObjectTypeArb = ((int)0X8b4e), ObjectSubtypeArb = ((int)0X8b4f), ShaderType = ((int)0X8b4f), FloatVec2 = ((int)0X8b50), FloatVec2Arb = ((int)0X8b50), FloatVec3 = ((int)0X8b51), FloatVec3Arb = ((int)0X8b51), FloatVec4 = ((int)0X8b52), FloatVec4Arb = ((int)0X8b52), IntVec2 = ((int)0X8b53), IntVec2Arb = ((int)0X8b53), IntVec3 = ((int)0X8b54), IntVec3Arb = ((int)0X8b54), IntVec4 = ((int)0X8b55), IntVec4Arb = ((int)0X8b55), Bool = ((int)0X8b56), BoolArb = ((int)0X8b56), BoolVec2 = ((int)0X8b57), BoolVec2Arb = ((int)0X8b57), BoolVec3 = ((int)0X8b58), BoolVec3Arb = ((int)0X8b58), BoolVec4 = ((int)0X8b59), BoolVec4Arb = ((int)0X8b59), FloatMat2 = ((int)0X8b5a), FloatMat2Arb = ((int)0X8b5a), FloatMat3 = ((int)0X8b5b), FloatMat3Arb = ((int)0X8b5b), FloatMat4 = ((int)0X8b5c), FloatMat4Arb = ((int)0X8b5c), Sampler1D = ((int)0X8b5d), Sampler1DArb = ((int)0X8b5d), Sampler2D = ((int)0X8b5e), Sampler2DArb = ((int)0X8b5e), Sampler3D = ((int)0X8b5f), Sampler3DArb = ((int)0X8b5f), SamplerCube = ((int)0X8b60), SamplerCubeArb = ((int)0X8b60), Sampler1DShadow = ((int)0X8b61), Sampler1DShadowArb = ((int)0X8b61), Sampler2DShadow = ((int)0X8b62), Sampler2DShadowArb = ((int)0X8b62), Sampler2DRect = ((int)0X8b63), Sampler2DRectArb = ((int)0X8b63), Sampler2DRectShadow = ((int)0X8b64), Sampler2DRectShadowArb = ((int)0X8b64), FloatMat2x3 = ((int)0X8b65), FloatMat2x4 = ((int)0X8b66), FloatMat3x2 = ((int)0X8b67), FloatMat3x4 = ((int)0X8b68), FloatMat4x2 = ((int)0X8b69), FloatMat4x3 = ((int)0X8b6a), DeleteStatus = ((int)0X8b80), ObjectDeleteStatusArb = ((int)0X8b80), CompileStatus = ((int)0X8b81), ObjectCompileStatusArb = ((int)0X8b81), LinkStatus = ((int)0X8b82), ObjectLinkStatusArb = ((int)0X8b82), ObjectValidateStatusArb = ((int)0X8b83), ValidateStatus = ((int)0X8b83), InfoLogLength = ((int)0X8b84), ObjectInfoLogLengthArb = ((int)0X8b84), AttachedShaders = ((int)0X8b85), ObjectAttachedObjectsArb = ((int)0X8b85), ActiveUniforms = ((int)0X8b86), ObjectActiveUniformsArb = ((int)0X8b86), ActiveUniformMaxLength = ((int)0X8b87), ObjectActiveUniformMaxLengthArb = ((int)0X8b87), ObjectShaderSourceLengthArb = ((int)0X8b88), ShaderSourceLength = ((int)0X8b88), ActiveAttributes = ((int)0X8b89), ObjectActiveAttributesArb = ((int)0X8b89), ActiveAttributeMaxLength = ((int)0X8b8a), ObjectActiveAttributeMaxLengthArb = ((int)0X8b8a), FragmentShaderDerivativeHint = ((int)0X8b8b), FragmentShaderDerivativeHintArb = ((int)0X8b8b), ShadingLanguageVersion = ((int)0X8b8c), ShadingLanguageVersionArb = ((int)0X8b8c), CurrentProgram = ((int)0X8b8d), ImplementationColorReadTypeOes = ((int)0X8b9a), ImplementationColorReadFormatOes = ((int)0X8b9b), CounterTypeAmd = ((int)0X8bc0), CounterRangeAmd = ((int)0X8bc1), UnsignedInt64Amd = ((int)0X8bc2), PercentageAmd = ((int)0X8bc3), PerfmonResultAvailableAmd = ((int)0X8bc4), PerfmonResultSizeAmd = ((int)0X8bc5), PerfmonResultAmd = ((int)0X8bc6), TextureRedType = ((int)0X8c10), TextureRedTypeArb = ((int)0X8c10), TextureGreenType = ((int)0X8c11), TextureGreenTypeArb = ((int)0X8c11), TextureBlueType = ((int)0X8c12), TextureBlueTypeArb = ((int)0X8c12), TextureAlphaType = ((int)0X8c13), TextureAlphaTypeArb = ((int)0X8c13), TextureLuminanceType = ((int)0X8c14), TextureLuminanceTypeArb = ((int)0X8c14), TextureIntensityType = ((int)0X8c15), TextureIntensityTypeArb = ((int)0X8c15), TextureDepthType = ((int)0X8c16), TextureDepthTypeArb = ((int)0X8c16), UnsignedNormalized = ((int)0X8c17), UnsignedNormalizedArb = ((int)0X8c17), Texture1DArray = ((int)0X8c18), Texture1DArrayExt = ((int)0X8c18), ProxyTexture1DArray = ((int)0X8c19), ProxyTexture1DArrayExt = ((int)0X8c19), Texture2DArray = ((int)0X8c1a), Texture2DArrayExt = ((int)0X8c1a), ProxyTexture2DArray = ((int)0X8c1b), ProxyTexture2DArrayExt = ((int)0X8c1b), TextureBinding1DArray = ((int)0X8c1c), TextureBinding1DArrayExt = ((int)0X8c1c), TextureBinding2DArray = ((int)0X8c1d), TextureBinding2DArrayExt = ((int)0X8c1d), GeometryProgramNv = ((int)0X8c26), MaxProgramOutputVerticesNv = ((int)0X8c27), MaxProgramTotalOutputComponentsNv = ((int)0X8c28), MaxGeometryTextureImageUnits = ((int)0X8c29), MaxGeometryTextureImageUnitsArb = ((int)0X8c29), MaxGeometryTextureImageUnitsExt = ((int)0X8c29), TextureBuffer = ((int)0X8c2a), TextureBufferArb = ((int)0X8c2a), TextureBufferExt = ((int)0X8c2a), MaxTextureBufferSize = ((int)0X8c2b), MaxTextureBufferSizeArb = ((int)0X8c2b), MaxTextureBufferSizeExt = ((int)0X8c2b), TextureBindingBuffer = ((int)0X8c2c), TextureBindingBufferArb = ((int)0X8c2c), TextureBindingBufferExt = ((int)0X8c2c), TextureBufferDataStoreBinding = ((int)0X8c2d), TextureBufferDataStoreBindingArb = ((int)0X8c2d), TextureBufferDataStoreBindingExt = ((int)0X8c2d), TextureBufferFormat = ((int)0X8c2e), TextureBufferFormatArb = ((int)0X8c2e), TextureBufferFormatExt = ((int)0X8c2e), SampleShading = ((int)0X8c36), MinSampleShadingValue = ((int)0X8c37), R11fG11fB10f = ((int)0X8c3a), R11fG11fB10fExt = ((int)0X8c3a), UnsignedInt10F11F11FRev = ((int)0X8c3b), UnsignedInt10F11F11FRevExt = ((int)0X8c3b), RgbaSignedComponentsExt = ((int)0X8c3c), Rgb9E5 = ((int)0X8c3d), Rgb9E5Ext = ((int)0X8c3d), UnsignedInt5999Rev = ((int)0X8c3e), UnsignedInt5999RevExt = ((int)0X8c3e), TextureSharedSize = ((int)0X8c3f), TextureSharedSizeExt = ((int)0X8c3f), Srgb = ((int)0X8c40), SrgbExt = ((int)0X8c40), Srgb8 = ((int)0X8c41), Srgb8Ext = ((int)0X8c41), SrgbAlpha = ((int)0X8c42), SrgbAlphaExt = ((int)0X8c42), Srgb8Alpha8 = ((int)0X8c43), Srgb8Alpha8Ext = ((int)0X8c43), SluminanceAlpha = ((int)0X8c44), SluminanceAlphaExt = ((int)0X8c44), Sluminance8Alpha8 = ((int)0X8c45), Sluminance8Alpha8Ext = ((int)0X8c45), Sluminance = ((int)0X8c46), SluminanceExt = ((int)0X8c46), Sluminance8 = ((int)0X8c47), Sluminance8Ext = ((int)0X8c47), CompressedSrgb = ((int)0X8c48), CompressedSrgbExt = ((int)0X8c48), CompressedSrgbAlpha = ((int)0X8c49), CompressedSrgbAlphaExt = ((int)0X8c49), CompressedSluminance = ((int)0X8c4a), CompressedSluminanceExt = ((int)0X8c4a), CompressedSluminanceAlpha = ((int)0X8c4b), CompressedSluminanceAlphaExt = ((int)0X8c4b), CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c), CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d), CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e), CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f), CompressedLuminanceLatc1Ext = ((int)0X8c70), CompressedSignedLuminanceLatc1Ext = ((int)0X8c71), CompressedLuminanceAlphaLatc2Ext = ((int)0X8c72), CompressedSignedLuminanceAlphaLatc2Ext = ((int)0X8c73), TransformFeedbackVaryingMaxLength = ((int)0X8c76), TransformFeedbackVaryingMaxLengthExt = ((int)0X8c76), BackPrimaryColorNv = ((int)0X8c77), BackSecondaryColorNv = ((int)0X8c78), TextureCoordNv = ((int)0X8c79), ClipDistanceNv = ((int)0X8c7a), VertexIdNv = ((int)0X8c7b), PrimitiveIdNv = ((int)0X8c7c), GenericAttribNv = ((int)0X8c7d), TransformFeedbackAttribsNv = ((int)0X8c7e), TransformFeedbackBufferMode = ((int)0X8c7f), TransformFeedbackBufferModeExt = ((int)0X8c7f), TransformFeedbackBufferModeNv = ((int)0X8c7f), MaxTransformFeedbackSeparateComponents = ((int)0X8c80), MaxTransformFeedbackSeparateComponentsExt = ((int)0X8c80), MaxTransformFeedbackSeparateComponentsNv = ((int)0X8c80), ActiveVaryingsNv = ((int)0X8c81), ActiveVaryingMaxLengthNv = ((int)0X8c82), TransformFeedbackVaryings = ((int)0X8c83), TransformFeedbackVaryingsExt = ((int)0X8c83), TransformFeedbackVaryingsNv = ((int)0X8c83), TransformFeedbackBufferStart = ((int)0X8c84), TransformFeedbackBufferStartExt = ((int)0X8c84), TransformFeedbackBufferStartNv = ((int)0X8c84), TransformFeedbackBufferSize = ((int)0X8c85), TransformFeedbackBufferSizeExt = ((int)0X8c85), TransformFeedbackBufferSizeNv = ((int)0X8c85), TransformFeedbackRecordNv = ((int)0X8c86), PrimitivesGenerated = ((int)0X8c87), PrimitivesGeneratedExt = ((int)0X8c87), PrimitivesGeneratedNv = ((int)0X8c87), TransformFeedbackPrimitivesWritten = ((int)0X8c88), TransformFeedbackPrimitivesWrittenExt = ((int)0X8c88), TransformFeedbackPrimitivesWrittenNv = ((int)0X8c88), RasterizerDiscard = ((int)0X8c89), RasterizerDiscardExt = ((int)0X8c89), RasterizerDiscardNv = ((int)0X8c89), MaxTransformFeedbackInterleavedAttribsNv = ((int)0X8c8a), MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a), MaxTransformFeedbackInterleavedComponentsExt = ((int)0X8c8a), MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b), MaxTransformFeedbackSeparateAttribsExt = ((int)0X8c8b), MaxTransformFeedbackSeparateAttribsNv = ((int)0X8c8b), InterleavedAttribs = ((int)0X8c8c), InterleavedAttribsExt = ((int)0X8c8c), InterleavedAttribsNv = ((int)0X8c8c), SeparateAttribs = ((int)0X8c8d), SeparateAttribsExt = ((int)0X8c8d), SeparateAttribsNv = ((int)0X8c8d), TransformFeedbackBuffer = ((int)0X8c8e), TransformFeedbackBufferExt = ((int)0X8c8e), TransformFeedbackBufferNv = ((int)0X8c8e), TransformFeedbackBufferBinding = ((int)0X8c8f), TransformFeedbackBufferBindingExt = ((int)0X8c8f), TransformFeedbackBufferBindingNv = ((int)0X8c8f), PointSpriteCoordOrigin = ((int)0X8ca0), LowerLeft = ((int)0X8ca1), UpperLeft = ((int)0X8ca2), StencilBackRef = ((int)0X8ca3), StencilBackValueMask = ((int)0X8ca4), StencilBackWritemask = ((int)0X8ca5), DrawFramebufferBinding = ((int)0X8ca6), DrawFramebufferBindingExt = ((int)0X8ca6), FramebufferBinding = ((int)0X8ca6), FramebufferBindingExt = ((int)0X8ca6), RenderbufferBinding = ((int)0X8ca7), RenderbufferBindingExt = ((int)0X8ca7), ReadFramebuffer = ((int)0X8ca8), ReadFramebufferExt = ((int)0X8ca8), DrawFramebuffer = ((int)0X8ca9), DrawFramebufferExt = ((int)0X8ca9), ReadFramebufferBinding = ((int)0X8caa), ReadFramebufferBindingExt = ((int)0X8caa), RenderbufferCoverageSamplesNv = ((int)0X8cab), RenderbufferSamples = ((int)0X8cab), RenderbufferSamplesExt = ((int)0X8cab), DepthComponent32f = ((int)0X8cac), Depth32fStencil8 = ((int)0X8cad), FramebufferAttachmentObjectType = ((int)0X8cd0), FramebufferAttachmentObjectTypeExt = ((int)0X8cd0), FramebufferAttachmentObjectName = ((int)0X8cd1), FramebufferAttachmentObjectNameExt = ((int)0X8cd1), FramebufferAttachmentTextureLevel = ((int)0X8cd2), FramebufferAttachmentTextureLevelExt = ((int)0X8cd2), FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3), FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3), FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4), FramebufferAttachmentTextureLayer = ((int)0X8cd4), FramebufferAttachmentTextureLayerExt = ((int)0X8cd4), FramebufferComplete = ((int)0X8cd5), FramebufferCompleteExt = ((int)0X8cd5), FramebufferIncompleteAttachment = ((int)0X8cd6), FramebufferIncompleteAttachmentExt = ((int)0X8cd6), FramebufferIncompleteMissingAttachment = ((int)0X8cd7), FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7), FramebufferIncompleteDimensionsExt = ((int)0X8cd9), FramebufferIncompleteFormatsExt = ((int)0X8cda), FramebufferIncompleteDrawBuffer = ((int)0X8cdb), FramebufferIncompleteDrawBufferExt = ((int)0X8cdb), FramebufferIncompleteReadBuffer = ((int)0X8cdc), FramebufferIncompleteReadBufferExt = ((int)0X8cdc), FramebufferUnsupported = ((int)0X8cdd), FramebufferUnsupportedExt = ((int)0X8cdd), MaxColorAttachments = ((int)0X8cdf), MaxColorAttachmentsExt = ((int)0X8cdf), ColorAttachment0 = ((int)0X8ce0), ColorAttachment0Ext = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment1Ext = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment2Ext = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment3Ext = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment4Ext = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment5Ext = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment6Ext = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment7Ext = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment8Ext = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment9Ext = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment10Ext = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment11Ext = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment12Ext = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment13Ext = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment14Ext = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), ColorAttachment15Ext = ((int)0X8cef), DepthAttachment = ((int)0X8d00), DepthAttachmentExt = ((int)0X8d00), StencilAttachment = ((int)0X8d20), StencilAttachmentExt = ((int)0X8d20), Framebuffer = ((int)0X8d40), FramebufferExt = ((int)0X8d40), Renderbuffer = ((int)0X8d41), RenderbufferExt = ((int)0X8d41), RenderbufferWidth = ((int)0X8d42), RenderbufferWidthExt = ((int)0X8d42), RenderbufferHeight = ((int)0X8d43), RenderbufferHeightExt = ((int)0X8d43), RenderbufferInternalFormat = ((int)0X8d44), RenderbufferInternalFormatExt = ((int)0X8d44), StencilIndex1 = ((int)0X8d46), StencilIndex1Ext = ((int)0X8d46), StencilIndex4 = ((int)0X8d47), StencilIndex4Ext = ((int)0X8d47), StencilIndex8 = ((int)0X8d48), StencilIndex8Ext = ((int)0X8d48), StencilIndex16 = ((int)0X8d49), StencilIndex16Ext = ((int)0X8d49), RenderbufferRedSize = ((int)0X8d50), RenderbufferRedSizeExt = ((int)0X8d50), RenderbufferGreenSize = ((int)0X8d51), RenderbufferGreenSizeExt = ((int)0X8d51), RenderbufferBlueSize = ((int)0X8d52), RenderbufferBlueSizeExt = ((int)0X8d52), RenderbufferAlphaSize = ((int)0X8d53), RenderbufferAlphaSizeExt = ((int)0X8d53), RenderbufferDepthSize = ((int)0X8d54), RenderbufferDepthSizeExt = ((int)0X8d54), RenderbufferStencilSize = ((int)0X8d55), RenderbufferStencilSizeExt = ((int)0X8d55), FramebufferIncompleteMultisample = ((int)0X8d56), FramebufferIncompleteMultisampleExt = ((int)0X8d56), MaxSamples = ((int)0X8d57), MaxSamplesExt = ((int)0X8d57), Rgba32ui = ((int)0X8d70), Rgba32uiExt = ((int)0X8d70), Rgb32ui = ((int)0X8d71), Rgb32uiExt = ((int)0X8d71), Alpha32uiExt = ((int)0X8d72), Intensity32uiExt = ((int)0X8d73), Luminance32uiExt = ((int)0X8d74), LuminanceAlpha32uiExt = ((int)0X8d75), Rgba16ui = ((int)0X8d76), Rgba16uiExt = ((int)0X8d76), Rgb16ui = ((int)0X8d77), Rgb16uiExt = ((int)0X8d77), Alpha16uiExt = ((int)0X8d78), Intensity16uiExt = ((int)0X8d79), Luminance16uiExt = ((int)0X8d7a), LuminanceAlpha16uiExt = ((int)0X8d7b), Rgba8ui = ((int)0X8d7c), Rgba8uiExt = ((int)0X8d7c), Rgb8ui = ((int)0X8d7d), Rgb8uiExt = ((int)0X8d7d), Alpha8uiExt = ((int)0X8d7e), Intensity8uiExt = ((int)0X8d7f), Luminance8uiExt = ((int)0X8d80), LuminanceAlpha8uiExt = ((int)0X8d81), Rgba32i = ((int)0X8d82), Rgba32iExt = ((int)0X8d82), Rgb32i = ((int)0X8d83), Rgb32iExt = ((int)0X8d83), Alpha32iExt = ((int)0X8d84), Intensity32iExt = ((int)0X8d85), Luminance32iExt = ((int)0X8d86), LuminanceAlpha32iExt = ((int)0X8d87), Rgba16i = ((int)0X8d88), Rgba16iExt = ((int)0X8d88), Rgb16i = ((int)0X8d89), Rgb16iExt = ((int)0X8d89), Alpha16iExt = ((int)0X8d8a), Intensity16iExt = ((int)0X8d8b), Luminance16iExt = ((int)0X8d8c), LuminanceAlpha16iExt = ((int)0X8d8d), Rgba8i = ((int)0X8d8e), Rgba8iExt = ((int)0X8d8e), Rgb8i = ((int)0X8d8f), Rgb8iExt = ((int)0X8d8f), Alpha8iExt = ((int)0X8d90), Intensity8iExt = ((int)0X8d91), Luminance8iExt = ((int)0X8d92), LuminanceAlpha8iExt = ((int)0X8d93), RedInteger = ((int)0X8d94), RedIntegerExt = ((int)0X8d94), GreenInteger = ((int)0X8d95), GreenIntegerExt = ((int)0X8d95), BlueInteger = ((int)0X8d96), BlueIntegerExt = ((int)0X8d96), AlphaInteger = ((int)0X8d97), AlphaIntegerExt = ((int)0X8d97), RgbInteger = ((int)0X8d98), RgbIntegerExt = ((int)0X8d98), RgbaInteger = ((int)0X8d99), RgbaIntegerExt = ((int)0X8d99), BgrInteger = ((int)0X8d9a), BgrIntegerExt = ((int)0X8d9a), BgraInteger = ((int)0X8d9b), BgraIntegerExt = ((int)0X8d9b), LuminanceIntegerExt = ((int)0X8d9c), LuminanceAlphaIntegerExt = ((int)0X8d9d), RgbaIntegerModeExt = ((int)0X8d9e), MaxProgramParameterBufferBindingsNv = ((int)0X8da0), MaxProgramParameterBufferSizeNv = ((int)0X8da1), VertexProgramParameterBufferNv = ((int)0X8da2), GeometryProgramParameterBufferNv = ((int)0X8da3), FragmentProgramParameterBufferNv = ((int)0X8da4), MaxProgramGenericAttribsNv = ((int)0X8da5), MaxProgramGenericResultsNv = ((int)0X8da6), FramebufferAttachmentLayered = ((int)0X8da7), FramebufferAttachmentLayeredArb = ((int)0X8da7), FramebufferAttachmentLayeredExt = ((int)0X8da7), FramebufferIncompleteLayerTargets = ((int)0X8da8), FramebufferIncompleteLayerTargetsArb = ((int)0X8da8), FramebufferIncompleteLayerTargetsExt = ((int)0X8da8), FramebufferIncompleteLayerCountArb = ((int)0X8da9), FramebufferIncompleteLayerCountExt = ((int)0X8da9), DepthComponent32fNv = ((int)0X8dab), Depth32fStencil8Nv = ((int)0X8dac), Float32UnsignedInt248Rev = ((int)0X8dad), Float32UnsignedInt248RevNv = ((int)0X8dad), DepthBufferFloatModeNv = ((int)0X8daf), FramebufferSrgb = ((int)0X8db9), FramebufferSrgbExt = ((int)0X8db9), FramebufferSrgbCapableExt = ((int)0X8dba), CompressedRedRgtc1 = ((int)0X8dbb), CompressedRedRgtc1Ext = ((int)0X8dbb), CompressedSignedRedRgtc1 = ((int)0X8dbc), CompressedSignedRedRgtc1Ext = ((int)0X8dbc), CompressedRedGreenRgtc2Ext = ((int)0X8dbd), CompressedRgRgtc2 = ((int)0X8dbd), CompressedSignedRedGreenRgtc2Ext = ((int)0X8dbe), CompressedSignedRgRgtc2 = ((int)0X8dbe), Sampler1DArray = ((int)0X8dc0), Sampler1DArrayExt = ((int)0X8dc0), Sampler2DArray = ((int)0X8dc1), Sampler2DArrayExt = ((int)0X8dc1), SamplerBuffer = ((int)0X8dc2), SamplerBufferExt = ((int)0X8dc2), Sampler1DArrayShadow = ((int)0X8dc3), Sampler1DArrayShadowExt = ((int)0X8dc3), Sampler2DArrayShadow = ((int)0X8dc4), Sampler2DArrayShadowExt = ((int)0X8dc4), SamplerCubeShadow = ((int)0X8dc5), SamplerCubeShadowExt = ((int)0X8dc5), UnsignedIntVec2 = ((int)0X8dc6), UnsignedIntVec2Ext = ((int)0X8dc6), UnsignedIntVec3 = ((int)0X8dc7), UnsignedIntVec3Ext = ((int)0X8dc7), UnsignedIntVec4 = ((int)0X8dc8), UnsignedIntVec4Ext = ((int)0X8dc8), IntSampler1D = ((int)0X8dc9), IntSampler1DExt = ((int)0X8dc9), IntSampler2D = ((int)0X8dca), IntSampler2DExt = ((int)0X8dca), IntSampler3D = ((int)0X8dcb), IntSampler3DExt = ((int)0X8dcb), IntSamplerCube = ((int)0X8dcc), IntSamplerCubeExt = ((int)0X8dcc), IntSampler2DRect = ((int)0X8dcd), IntSampler2DRectExt = ((int)0X8dcd), IntSampler1DArray = ((int)0X8dce), IntSampler1DArrayExt = ((int)0X8dce), IntSampler2DArray = ((int)0X8dcf), IntSampler2DArrayExt = ((int)0X8dcf), IntSamplerBuffer = ((int)0X8dd0), IntSamplerBufferExt = ((int)0X8dd0), UnsignedIntSampler1D = ((int)0X8dd1), UnsignedIntSampler1DExt = ((int)0X8dd1), UnsignedIntSampler2D = ((int)0X8dd2), UnsignedIntSampler2DExt = ((int)0X8dd2), UnsignedIntSampler3D = ((int)0X8dd3), UnsignedIntSampler3DExt = ((int)0X8dd3), UnsignedIntSamplerCube = ((int)0X8dd4), UnsignedIntSamplerCubeExt = ((int)0X8dd4), UnsignedIntSampler2DRect = ((int)0X8dd5), UnsignedIntSampler2DRectExt = ((int)0X8dd5), UnsignedIntSampler1DArray = ((int)0X8dd6), UnsignedIntSampler1DArrayExt = ((int)0X8dd6), UnsignedIntSampler2DArray = ((int)0X8dd7), UnsignedIntSampler2DArrayExt = ((int)0X8dd7), UnsignedIntSamplerBuffer = ((int)0X8dd8), UnsignedIntSamplerBufferExt = ((int)0X8dd8), GeometryShader = ((int)0X8dd9), GeometryShaderArb = ((int)0X8dd9), GeometryShaderExt = ((int)0X8dd9), GeometryVerticesOutArb = ((int)0X8dda), GeometryVerticesOutExt = ((int)0X8dda), GeometryInputTypeArb = ((int)0X8ddb), GeometryInputTypeExt = ((int)0X8ddb), GeometryOutputTypeArb = ((int)0X8ddc), GeometryOutputTypeExt = ((int)0X8ddc), MaxGeometryVaryingComponentsArb = ((int)0X8ddd), MaxGeometryVaryingComponentsExt = ((int)0X8ddd), MaxVertexVaryingComponentsArb = ((int)0X8dde), MaxVertexVaryingComponentsExt = ((int)0X8dde), MaxGeometryUniformComponents = ((int)0X8ddf), MaxGeometryUniformComponentsArb = ((int)0X8ddf), MaxGeometryUniformComponentsExt = ((int)0X8ddf), MaxGeometryOutputVertices = ((int)0X8de0), MaxGeometryOutputVerticesArb = ((int)0X8de0), MaxGeometryOutputVerticesExt = ((int)0X8de0), MaxGeometryTotalOutputComponents = ((int)0X8de1), MaxGeometryTotalOutputComponentsArb = ((int)0X8de1), MaxGeometryTotalOutputComponentsExt = ((int)0X8de1), MaxVertexBindableUniformsExt = ((int)0X8de2), MaxFragmentBindableUniformsExt = ((int)0X8de3), MaxGeometryBindableUniformsExt = ((int)0X8de4), MaxBindableUniformSizeExt = ((int)0X8ded), UniformBufferExt = ((int)0X8dee), UniformBufferBindingExt = ((int)0X8def), RenderbufferColorSamplesNv = ((int)0X8e10), MaxMultisampleCoverageModesNv = ((int)0X8e11), MultisampleCoverageModesNv = ((int)0X8e12), QueryWait = ((int)0X8e13), QueryWaitNv = ((int)0X8e13), QueryNoWait = ((int)0X8e14), QueryNoWaitNv = ((int)0X8e14), QueryByRegionWait = ((int)0X8e15), QueryByRegionWaitNv = ((int)0X8e15), QueryByRegionNoWait = ((int)0X8e16), QueryByRegionNoWaitNv = ((int)0X8e16), TransformFeedbackNv = ((int)0X8e22), TransformFeedbackBufferPausedNv = ((int)0X8e23), TransformFeedbackBufferActiveNv = ((int)0X8e24), TransformFeedbackBindingNv = ((int)0X8e25), FrameNv = ((int)0X8e26), FieldsNv = ((int)0X8e27), CurrentTimeNv = ((int)0X8e28), NumFillStreamsNv = ((int)0X8e29), PresentTimeNv = ((int)0X8e2a), PresentDurationNv = ((int)0X8e2b), ProgramMatrixExt = ((int)0X8e2d), TransposeProgramMatrixExt = ((int)0X8e2e), ProgramMatrixStackDepthExt = ((int)0X8e2f), TextureSwizzleRExt = ((int)0X8e42), TextureSwizzleGExt = ((int)0X8e43), TextureSwizzleBExt = ((int)0X8e44), TextureSwizzleAExt = ((int)0X8e45), TextureSwizzleRgbaExt = ((int)0X8e46), QuadsFollowProvokingVertexConvention = ((int)0X8e4c), QuadsFollowProvokingVertexConventionExt = ((int)0X8e4c), FirstVertexConvention = ((int)0X8e4d), FirstVertexConventionExt = ((int)0X8e4d), LastVertexConvention = ((int)0X8e4e), LastVertexConventionExt = ((int)0X8e4e), ProvokingVertex = ((int)0X8e4f), ProvokingVertexExt = ((int)0X8e4f), SamplePosition = ((int)0X8e50), SamplePositionNv = ((int)0X8e50), SampleMask = ((int)0X8e51), SampleMaskNv = ((int)0X8e51), SampleMaskValue = ((int)0X8e52), SampleMaskValueNv = ((int)0X8e52), TextureBindingRenderbufferNv = ((int)0X8e53), TextureRenderbufferDataStoreBindingNv = ((int)0X8e54), TextureRenderbufferNv = ((int)0X8e55), SamplerRenderbufferNv = ((int)0X8e56), IntSamplerRenderbufferNv = ((int)0X8e57), UnsignedIntSamplerRenderbufferNv = ((int)0X8e58), MaxSampleMaskWords = ((int)0X8e59), MaxSampleMaskWordsNv = ((int)0X8e59), MinProgramTextureGatherOffset = ((int)0X8e5e), MaxProgramTextureGatherOffset = ((int)0X8e5f), CopyReadBuffer = ((int)0X8f36), CopyWriteBuffer = ((int)0X8f37), RedSnorm = ((int)0X8f90), RgSnorm = ((int)0X8f91), RgbSnorm = ((int)0X8f92), RgbaSnorm = ((int)0X8f93), R8Snorm = ((int)0X8f94), Rg8Snorm = ((int)0X8f95), Rgb8Snorm = ((int)0X8f96), Rgba8Snorm = ((int)0X8f97), R16Snorm = ((int)0X8f98), Rg16Snorm = ((int)0X8f99), Rgb16Snorm = ((int)0X8f9a), Rgba16Snorm = ((int)0X8f9b), SignedNormalized = ((int)0X8f9c), PrimitiveRestart = ((int)0X8f9d), PrimitiveRestartIndex = ((int)0X8f9e), MaxProgramTextureGatherComponents = ((int)0X8f9f), SamplerBufferAmd = ((int)0X9001), IntSamplerBufferAmd = ((int)0X9002), UnsignedIntSamplerBufferAmd = ((int)0X9003), TessellationModeAmd = ((int)0X9004), TessellationFactorAmd = ((int)0X9005), DiscreteAmd = ((int)0X9006), ContinuousAmd = ((int)0X9007), TextureCubeMapArray = ((int)0X9009), TextureBindingCubeMapArray = ((int)0X900a), ProxyTextureCubeMapArray = ((int)0X900b), SamplerCubeMapArray = ((int)0X900c), SamplerCubeMapArrayShadow = ((int)0X900d), IntSamplerCubeMapArray = ((int)0X900e), UnsignedIntSamplerCubeMapArray = ((int)0X900f), AlphaSnorm = ((int)0X9010), LuminanceSnorm = ((int)0X9011), LuminanceAlphaSnorm = ((int)0X9012), IntensitySnorm = ((int)0X9013), Alpha8Snorm = ((int)0X9014), Luminance8Snorm = ((int)0X9015), Luminance8Alpha8Snorm = ((int)0X9016), Intensity8Snorm = ((int)0X9017), Alpha16Snorm = ((int)0X9018), Luminance16Snorm = ((int)0X9019), Luminance16Alpha16Snorm = ((int)0X901a), Intensity16Snorm = ((int)0X901b), Texture2DMultisample = ((int)0X9100), ProxyTexture2DMultisample = ((int)0X9101), Texture2DMultisampleArray = ((int)0X9102), ProxyTexture2DMultisampleArray = ((int)0X9103), TextureBinding2DMultisample = ((int)0X9104), TextureBinding2DMultisampleArray = ((int)0X9105), TextureSamples = ((int)0X9106), TextureFixedSampleLocations = ((int)0X9107), Sampler2DMultisample = ((int)0X9108), IntSampler2DMultisample = ((int)0X9109), UnsignedIntSampler2DMultisample = ((int)0X910a), Sampler2DMultisampleArray = ((int)0X910b), IntSampler2DMultisampleArray = ((int)0X910c), UnsignedIntSampler2DMultisampleArray = ((int)0X910d), MaxColorTextureSamples = ((int)0X910e), MaxDepthTextureSamples = ((int)0X910f), MaxIntegerSamples = ((int)0X9110), MaxServerWaitTimeout = ((int)0X9111), ObjectType = ((int)0X9112), SyncCondition = ((int)0X9113), SyncStatus = ((int)0X9114), SyncFlags = ((int)0X9115), SyncFence = ((int)0X9116), SyncGpuCommandsComplete = ((int)0X9117), Unsignaled = ((int)0X9118), Signaled = ((int)0X9119), AlreadySignaled = ((int)0X911a), TimeoutExpired = ((int)0X911b), ConditionSatisfied = ((int)0X911c), WaitFailed = ((int)0X911d), BufferAccessFlags = ((int)0X911f), BufferMapLength = ((int)0X9120), BufferMapOffset = ((int)0X9121), MaxVertexOutputComponents = ((int)0X9122), MaxGeometryInputComponents = ((int)0X9123), MaxGeometryOutputComponents = ((int)0X9124), MaxFragmentInputComponents = ((int)0X9125), ContextProfileMask = ((int)0X9126), AllAttribBits = unchecked((int)0Xffffffff), ClientAllAttribBits = unchecked((int)0Xffffffff), InvalidIndex = unchecked((int)0Xffffffff), TimeoutIgnored = unchecked((int)0Xffffffffffffffff), One = ((int)1), True = ((int)1), CullVertexIbm = ((int)103050), VertexArrayListIbm = ((int)103070), NormalArrayListIbm = ((int)103071), ColorArrayListIbm = ((int)103072), IndexArrayListIbm = ((int)103073), TextureCoordArrayListIbm = ((int)103074), EdgeFlagArrayListIbm = ((int)103075), FogCoordinateArrayListIbm = ((int)103076), SecondaryColorArrayListIbm = ((int)103077), VertexArrayListStrideIbm = ((int)103080), NormalArrayListStrideIbm = ((int)103081), ColorArrayListStrideIbm = ((int)103082), IndexArrayListStrideIbm = ((int)103083), TextureCoordArrayListStrideIbm = ((int)103084), EdgeFlagArrayListStrideIbm = ((int)103085), FogCoordinateArrayListStrideIbm = ((int)103086), SecondaryColorArrayListStrideIbm = ((int)103087), Two = ((int)2), Three = ((int)3), Four = ((int)4), } public enum AlphaFunction { Never = ((int)0X0200), Less = ((int)0X0201), Equal = ((int)0X0202), Lequal = ((int)0X0203), Greater = ((int)0X0204), Notequal = ((int)0X0205), Gequal = ((int)0X0206), Always = ((int)0X0207), } public enum AmdDrawBuffersBlend { } public enum AmdPerformanceMonitor { CounterTypeAmd = ((int)0X8bc0), CounterRangeAmd = ((int)0X8bc1), UnsignedInt64Amd = ((int)0X8bc2), PercentageAmd = ((int)0X8bc3), PerfmonResultAvailableAmd = ((int)0X8bc4), PerfmonResultSizeAmd = ((int)0X8bc5), PerfmonResultAmd = ((int)0X8bc6), } public enum AmdTextureTexture4 { } public enum AmdVertexShaderTesselator { SamplerBufferAmd = ((int)0X9001), IntSamplerBufferAmd = ((int)0X9002), UnsignedIntSamplerBufferAmd = ((int)0X9003), TessellationModeAmd = ((int)0X9004), TessellationFactorAmd = ((int)0X9005), DiscreteAmd = ((int)0X9006), ContinuousAmd = ((int)0X9007), } public enum AppleAuxDepthStencil { AuxDepthStencilApple = ((int)0X8a14), } public enum AppleClientStorage { UnpackClientStorageApple = ((int)0X85b2), } public enum AppleElementArray { ElementArrayApple = ((int)0X8768), ElementArrayTypeApple = ((int)0X8769), ElementArrayPointerApple = ((int)0X876a), } public enum AppleFence { DrawPixelsApple = ((int)0X8a0a), FenceApple = ((int)0X8a0b), } public enum AppleFloatPixels { HalfApple = ((int)0X140b), RgbaFloat32Apple = ((int)0X8814), RgbFloat32Apple = ((int)0X8815), AlphaFloat32Apple = ((int)0X8816), IntensityFloat32Apple = ((int)0X8817), LuminanceFloat32Apple = ((int)0X8818), LuminanceAlphaFloat32Apple = ((int)0X8819), RgbaFloat16Apple = ((int)0X881a), RgbFloat16Apple = ((int)0X881b), AlphaFloat16Apple = ((int)0X881c), IntensityFloat16Apple = ((int)0X881d), LuminanceFloat16Apple = ((int)0X881e), LuminanceAlphaFloat16Apple = ((int)0X881f), ColorFloatApple = ((int)0X8a0f), } public enum AppleFlushBufferRange { BufferSerializedModifyApple = ((int)0X8a12), BufferFlushingUnmapApple = ((int)0X8a13), } public enum AppleObjectPurgeable { BufferObjectApple = ((int)0X85b3), ReleasedApple = ((int)0X8a19), VolatileApple = ((int)0X8a1a), RetainedApple = ((int)0X8a1b), UndefinedApple = ((int)0X8a1c), PurgeableApple = ((int)0X8a1d), } public enum AppleRowBytes { PackRowBytesApple = ((int)0X8a15), UnpackRowBytesApple = ((int)0X8a16), } public enum AppleSpecularVector { LightModelSpecularVectorApple = ((int)0X85b0), } public enum AppleTextureRange { TextureRangeLengthApple = ((int)0X85b7), TextureRangePointerApple = ((int)0X85b8), TextureStorageHintApple = ((int)0X85bc), StoragePrivateApple = ((int)0X85bd), StorageCachedApple = ((int)0X85be), StorageSharedApple = ((int)0X85bf), } public enum AppleTransformHint { TransformHintApple = ((int)0X85b1), } public enum AppleVertexArrayObject { VertexArrayBindingApple = ((int)0X85b5), } public enum AppleVertexArrayRange { VertexArrayRangeApple = ((int)0X851d), VertexArrayRangeLengthApple = ((int)0X851e), VertexArrayStorageHintApple = ((int)0X851f), VertexArrayRangePointerApple = ((int)0X8521), StorageCachedApple = ((int)0X85be), StorageSharedApple = ((int)0X85bf), } public enum AppleVertexProgramEvaluators { VertexAttribMap1Apple = ((int)0X8a00), VertexAttribMap2Apple = ((int)0X8a01), VertexAttribMap1SizeApple = ((int)0X8a02), VertexAttribMap1CoeffApple = ((int)0X8a03), VertexAttribMap1OrderApple = ((int)0X8a04), VertexAttribMap1DomainApple = ((int)0X8a05), VertexAttribMap2SizeApple = ((int)0X8a06), VertexAttribMap2CoeffApple = ((int)0X8a07), VertexAttribMap2OrderApple = ((int)0X8a08), VertexAttribMap2DomainApple = ((int)0X8a09), } public enum AppleYcbcr422 { Ycbcr422Apple = ((int)0X85b9), UnsignedShort88Apple = ((int)0X85ba), UnsignedShort88RevApple = ((int)0X85bb), } public enum ArbColorBufferFloat { RgbaFloatModeArb = ((int)0X8820), ClampVertexColorArb = ((int)0X891a), ClampFragmentColorArb = ((int)0X891b), ClampReadColorArb = ((int)0X891c), FixedOnlyArb = ((int)0X891d), } public enum ArbCompatibility { } public enum ArbCopyBuffer { CopyReadBuffer = ((int)0X8f36), CopyWriteBuffer = ((int)0X8f37), } public enum ArbDepthBufferFloat { DepthComponent32f = ((int)0X8cac), Depth32fStencil8 = ((int)0X8cad), Float32UnsignedInt248Rev = ((int)0X8dad), } public enum ArbDepthClamp { DepthClamp = ((int)0X864f), } public enum ArbDepthTexture { DepthComponent16Arb = ((int)0X81a5), DepthComponent24Arb = ((int)0X81a6), DepthComponent32Arb = ((int)0X81a7), TextureDepthSizeArb = ((int)0X884a), DepthTextureModeArb = ((int)0X884b), } public enum ArbDrawBuffers { MaxDrawBuffersArb = ((int)0X8824), DrawBuffer0Arb = ((int)0X8825), DrawBuffer1Arb = ((int)0X8826), DrawBuffer2Arb = ((int)0X8827), DrawBuffer3Arb = ((int)0X8828), DrawBuffer4Arb = ((int)0X8829), DrawBuffer5Arb = ((int)0X882a), DrawBuffer6Arb = ((int)0X882b), DrawBuffer7Arb = ((int)0X882c), DrawBuffer8Arb = ((int)0X882d), DrawBuffer9Arb = ((int)0X882e), DrawBuffer10Arb = ((int)0X882f), DrawBuffer11Arb = ((int)0X8830), DrawBuffer12Arb = ((int)0X8831), DrawBuffer13Arb = ((int)0X8832), DrawBuffer14Arb = ((int)0X8833), DrawBuffer15Arb = ((int)0X8834), } public enum ArbDrawBuffersBlend { } public enum ArbDrawElementsBaseVertex { } public enum ArbDrawInstanced { } public enum ArbFragmentCoordConventions { } public enum ArbFragmentProgram { FragmentProgramArb = ((int)0X8804), ProgramAluInstructionsArb = ((int)0X8805), ProgramTexInstructionsArb = ((int)0X8806), ProgramTexIndirectionsArb = ((int)0X8807), ProgramNativeAluInstructionsArb = ((int)0X8808), ProgramNativeTexInstructionsArb = ((int)0X8809), ProgramNativeTexIndirectionsArb = ((int)0X880a), MaxProgramAluInstructionsArb = ((int)0X880b), MaxProgramTexInstructionsArb = ((int)0X880c), MaxProgramTexIndirectionsArb = ((int)0X880d), MaxProgramNativeAluInstructionsArb = ((int)0X880e), MaxProgramNativeTexInstructionsArb = ((int)0X880f), MaxProgramNativeTexIndirectionsArb = ((int)0X8810), MaxTextureCoordsArb = ((int)0X8871), MaxTextureImageUnitsArb = ((int)0X8872), } public enum ArbFragmentProgramShadow { } public enum ArbFragmentShader { FragmentShaderArb = ((int)0X8b30), MaxFragmentUniformComponentsArb = ((int)0X8b49), FragmentShaderDerivativeHintArb = ((int)0X8b8b), } public enum ArbFramebufferObject { InvalidFramebufferOperation = ((int)0X0506), FramebufferAttachmentColorEncoding = ((int)0X8210), FramebufferAttachmentComponentType = ((int)0X8211), FramebufferAttachmentRedSize = ((int)0X8212), FramebufferAttachmentGreenSize = ((int)0X8213), FramebufferAttachmentBlueSize = ((int)0X8214), FramebufferAttachmentAlphaSize = ((int)0X8215), FramebufferAttachmentDepthSize = ((int)0X8216), FramebufferAttachmentStencilSize = ((int)0X8217), FramebufferDefault = ((int)0X8218), FramebufferUndefined = ((int)0X8219), DepthStencilAttachment = ((int)0X821a), MaxRenderbufferSize = ((int)0X84e8), DepthStencil = ((int)0X84f9), UnsignedInt248 = ((int)0X84fa), Depth24Stencil8 = ((int)0X88f0), TextureStencilSize = ((int)0X88f1), TextureRedType = ((int)0X8c10), TextureGreenType = ((int)0X8c11), TextureBlueType = ((int)0X8c12), TextureAlphaType = ((int)0X8c13), TextureDepthType = ((int)0X8c16), UnsignedNormalized = ((int)0X8c17), DrawFramebufferBinding = ((int)0X8ca6), FramebufferBinding = ((int)0X8ca6), RenderbufferBinding = ((int)0X8ca7), ReadFramebuffer = ((int)0X8ca8), DrawFramebuffer = ((int)0X8ca9), ReadFramebufferBinding = ((int)0X8caa), RenderbufferSamples = ((int)0X8cab), FramebufferAttachmentObjectType = ((int)0X8cd0), FramebufferAttachmentObjectName = ((int)0X8cd1), FramebufferAttachmentTextureLevel = ((int)0X8cd2), FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3), FramebufferAttachmentTextureLayer = ((int)0X8cd4), FramebufferComplete = ((int)0X8cd5), FramebufferIncompleteAttachment = ((int)0X8cd6), FramebufferIncompleteMissingAttachment = ((int)0X8cd7), FramebufferIncompleteDrawBuffer = ((int)0X8cdb), FramebufferIncompleteReadBuffer = ((int)0X8cdc), FramebufferUnsupported = ((int)0X8cdd), MaxColorAttachments = ((int)0X8cdf), ColorAttachment0 = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), DepthAttachment = ((int)0X8d00), StencilAttachment = ((int)0X8d20), Framebuffer = ((int)0X8d40), Renderbuffer = ((int)0X8d41), RenderbufferWidth = ((int)0X8d42), RenderbufferHeight = ((int)0X8d43), RenderbufferInternalFormat = ((int)0X8d44), StencilIndex1 = ((int)0X8d46), StencilIndex4 = ((int)0X8d47), StencilIndex8 = ((int)0X8d48), StencilIndex16 = ((int)0X8d49), RenderbufferRedSize = ((int)0X8d50), RenderbufferGreenSize = ((int)0X8d51), RenderbufferBlueSize = ((int)0X8d52), RenderbufferAlphaSize = ((int)0X8d53), RenderbufferDepthSize = ((int)0X8d54), RenderbufferStencilSize = ((int)0X8d55), FramebufferIncompleteMultisample = ((int)0X8d56), MaxSamples = ((int)0X8d57), } public enum ArbFramebufferObjectDeprecated { Index = ((int)0X8222), TextureLuminanceType = ((int)0X8c14), TextureIntensityType = ((int)0X8c15), } public enum ArbFramebufferSrgb { FramebufferSrgb = ((int)0X8db9), } public enum ArbGeometryShader4 { LinesAdjacencyArb = ((int)0X000a), LineStripAdjacencyArb = ((int)0X000b), TrianglesAdjacencyArb = ((int)0X000c), TriangleStripAdjacencyArb = ((int)0X000d), ProgramPointSizeArb = ((int)0X8642), MaxVaryingComponents = ((int)0X8b4b), MaxGeometryTextureImageUnitsArb = ((int)0X8c29), FramebufferAttachmentTextureLayer = ((int)0X8cd4), FramebufferAttachmentLayeredArb = ((int)0X8da7), FramebufferIncompleteLayerTargetsArb = ((int)0X8da8), FramebufferIncompleteLayerCountArb = ((int)0X8da9), GeometryShaderArb = ((int)0X8dd9), GeometryVerticesOutArb = ((int)0X8dda), GeometryInputTypeArb = ((int)0X8ddb), GeometryOutputTypeArb = ((int)0X8ddc), MaxGeometryVaryingComponentsArb = ((int)0X8ddd), MaxVertexVaryingComponentsArb = ((int)0X8dde), MaxGeometryUniformComponentsArb = ((int)0X8ddf), MaxGeometryOutputVerticesArb = ((int)0X8de0), MaxGeometryTotalOutputComponentsArb = ((int)0X8de1), } public enum ArbHalfFloatPixel { HalfFloatArb = ((int)0X140b), } public enum ArbHalfFloatVertex { HalfFloat = ((int)0X140b), } public enum ArbImaging { ConstantColor = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), ConstantAlpha = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), BlendColor = ((int)0X8005), FuncAdd = ((int)0X8006), Min = ((int)0X8007), Max = ((int)0X8008), BlendEquation = ((int)0X8009), FuncSubtract = ((int)0X800a), FuncReverseSubtract = ((int)0X800b), } public enum ArbImagingDeprecated { Convolution1D = ((int)0X8010), Convolution2D = ((int)0X8011), Separable2D = ((int)0X8012), ConvolutionBorderMode = ((int)0X8013), ConvolutionFilterScale = ((int)0X8014), ConvolutionFilterBias = ((int)0X8015), Reduce = ((int)0X8016), ConvolutionFormat = ((int)0X8017), ConvolutionWidth = ((int)0X8018), ConvolutionHeight = ((int)0X8019), MaxConvolutionWidth = ((int)0X801a), MaxConvolutionHeight = ((int)0X801b), PostConvolutionRedScale = ((int)0X801c), PostConvolutionGreenScale = ((int)0X801d), PostConvolutionBlueScale = ((int)0X801e), PostConvolutionAlphaScale = ((int)0X801f), PostConvolutionRedBias = ((int)0X8020), PostConvolutionGreenBias = ((int)0X8021), PostConvolutionBlueBias = ((int)0X8022), PostConvolutionAlphaBias = ((int)0X8023), Histogram = ((int)0X8024), ProxyHistogram = ((int)0X8025), HistogramWidth = ((int)0X8026), HistogramFormat = ((int)0X8027), HistogramRedSize = ((int)0X8028), HistogramGreenSize = ((int)0X8029), HistogramBlueSize = ((int)0X802a), HistogramAlphaSize = ((int)0X802b), HistogramLuminanceSize = ((int)0X802c), HistogramSink = ((int)0X802d), Minmax = ((int)0X802e), MinmaxFormat = ((int)0X802f), MinmaxSink = ((int)0X8030), TableTooLarge = ((int)0X8031), ColorMatrix = ((int)0X80b1), ColorMatrixStackDepth = ((int)0X80b2), MaxColorMatrixStackDepth = ((int)0X80b3), PostColorMatrixRedScale = ((int)0X80b4), PostColorMatrixGreenScale = ((int)0X80b5), PostColorMatrixBlueScale = ((int)0X80b6), PostColorMatrixAlphaScale = ((int)0X80b7), PostColorMatrixRedBias = ((int)0X80b8), PostColorMatrixGreenBias = ((int)0X80b9), PostColorMatrixBlueBias = ((int)0X80ba), PostColorMatrixAlphaBias = ((int)0X80bb), ColorTable = ((int)0X80d0), PostConvolutionColorTable = ((int)0X80d1), PostColorMatrixColorTable = ((int)0X80d2), ProxyColorTable = ((int)0X80d3), ProxyPostConvolutionColorTable = ((int)0X80d4), ProxyPostColorMatrixColorTable = ((int)0X80d5), ColorTableScale = ((int)0X80d6), ColorTableBias = ((int)0X80d7), ColorTableFormat = ((int)0X80d8), ColorTableWidth = ((int)0X80d9), ColorTableRedSize = ((int)0X80da), ColorTableGreenSize = ((int)0X80db), ColorTableBlueSize = ((int)0X80dc), ColorTableAlphaSize = ((int)0X80dd), ColorTableLuminanceSize = ((int)0X80de), ColorTableIntensitySize = ((int)0X80df), ConstantBorder = ((int)0X8151), ReplicateBorder = ((int)0X8153), ConvolutionBorderColor = ((int)0X8154), } public enum ArbInstancedArrays { VertexAttribArrayDivisorArb = ((int)0X88fe), } public enum ArbMapBufferRange { MapReadBit = ((int)0X0001), MapWriteBit = ((int)0X0002), MapInvalidateRangeBit = ((int)0X0004), MapInvalidateBufferBit = ((int)0X0008), MapFlushExplicitBit = ((int)0X0010), MapUnsynchronizedBit = ((int)0X0020), } public enum ArbMatrixPalette { MatrixPaletteArb = ((int)0X8840), MaxMatrixPaletteStackDepthArb = ((int)0X8841), MaxPaletteMatricesArb = ((int)0X8842), CurrentPaletteMatrixArb = ((int)0X8843), MatrixIndexArrayArb = ((int)0X8844), CurrentMatrixIndexArb = ((int)0X8845), MatrixIndexArraySizeArb = ((int)0X8846), MatrixIndexArrayTypeArb = ((int)0X8847), MatrixIndexArrayStrideArb = ((int)0X8848), MatrixIndexArrayPointerArb = ((int)0X8849), } public enum ArbMultisample { MultisampleBitArb = ((int)0X20000000), MultisampleArb = ((int)0X809d), SampleAlphaToCoverageArb = ((int)0X809e), SampleAlphaToOneArb = ((int)0X809f), SampleCoverageArb = ((int)0X80a0), SampleBuffersArb = ((int)0X80a8), SamplesArb = ((int)0X80a9), SampleCoverageValueArb = ((int)0X80aa), SampleCoverageInvertArb = ((int)0X80ab), } public enum ArbMultitexture { Texture0Arb = ((int)0X84c0), Texture1Arb = ((int)0X84c1), Texture2Arb = ((int)0X84c2), Texture3Arb = ((int)0X84c3), Texture4Arb = ((int)0X84c4), Texture5Arb = ((int)0X84c5), Texture6Arb = ((int)0X84c6), Texture7Arb = ((int)0X84c7), Texture8Arb = ((int)0X84c8), Texture9Arb = ((int)0X84c9), Texture10Arb = ((int)0X84ca), Texture11Arb = ((int)0X84cb), Texture12Arb = ((int)0X84cc), Texture13Arb = ((int)0X84cd), Texture14Arb = ((int)0X84ce), Texture15Arb = ((int)0X84cf), Texture16Arb = ((int)0X84d0), Texture17Arb = ((int)0X84d1), Texture18Arb = ((int)0X84d2), Texture19Arb = ((int)0X84d3), Texture20Arb = ((int)0X84d4), Texture21Arb = ((int)0X84d5), Texture22Arb = ((int)0X84d6), Texture23Arb = ((int)0X84d7), Texture24Arb = ((int)0X84d8), Texture25Arb = ((int)0X84d9), Texture26Arb = ((int)0X84da), Texture27Arb = ((int)0X84db), Texture28Arb = ((int)0X84dc), Texture29Arb = ((int)0X84dd), Texture30Arb = ((int)0X84de), Texture31Arb = ((int)0X84df), ActiveTextureArb = ((int)0X84e0), ClientActiveTextureArb = ((int)0X84e1), MaxTextureUnitsArb = ((int)0X84e2), } public enum ArbOcclusionQuery { QueryCounterBitsArb = ((int)0X8864), CurrentQueryArb = ((int)0X8865), QueryResultArb = ((int)0X8866), QueryResultAvailableArb = ((int)0X8867), SamplesPassedArb = ((int)0X8914), } public enum ArbPixelBufferObject { PixelPackBufferArb = ((int)0X88eb), PixelUnpackBufferArb = ((int)0X88ec), PixelPackBufferBindingArb = ((int)0X88ed), PixelUnpackBufferBindingArb = ((int)0X88ef), } public enum ArbPointParameters { PointSizeMinArb = ((int)0X8126), PointSizeMaxArb = ((int)0X8127), PointFadeThresholdSizeArb = ((int)0X8128), PointDistanceAttenuationArb = ((int)0X8129), } public enum ArbPointSprite { PointSpriteArb = ((int)0X8861), CoordReplaceArb = ((int)0X8862), } public enum ArbProvokingVertex { QuadsFollowProvokingVertexConvention = ((int)0X8e4c), FirstVertexConvention = ((int)0X8e4d), LastVertexConvention = ((int)0X8e4e), ProvokingVertex = ((int)0X8e4f), } public enum ArbSampleShading { SampleShading = ((int)0X8c36), MinSampleShadingValue = ((int)0X8c37), } public enum ArbSeamlessCubeMap { TextureCubeMapSeamless = ((int)0X884f), } public enum ArbShaderObjects { ProgramObjectArb = ((int)0X8b40), ShaderObjectArb = ((int)0X8b48), ObjectTypeArb = ((int)0X8b4e), ObjectSubtypeArb = ((int)0X8b4f), FloatVec2Arb = ((int)0X8b50), FloatVec3Arb = ((int)0X8b51), FloatVec4Arb = ((int)0X8b52), IntVec2Arb = ((int)0X8b53), IntVec3Arb = ((int)0X8b54), IntVec4Arb = ((int)0X8b55), BoolArb = ((int)0X8b56), BoolVec2Arb = ((int)0X8b57), BoolVec3Arb = ((int)0X8b58), BoolVec4Arb = ((int)0X8b59), FloatMat2Arb = ((int)0X8b5a), FloatMat3Arb = ((int)0X8b5b), FloatMat4Arb = ((int)0X8b5c), Sampler1DArb = ((int)0X8b5d), Sampler2DArb = ((int)0X8b5e), Sampler3DArb = ((int)0X8b5f), SamplerCubeArb = ((int)0X8b60), Sampler1DShadowArb = ((int)0X8b61), Sampler2DShadowArb = ((int)0X8b62), Sampler2DRectArb = ((int)0X8b63), Sampler2DRectShadowArb = ((int)0X8b64), ObjectDeleteStatusArb = ((int)0X8b80), ObjectCompileStatusArb = ((int)0X8b81), ObjectLinkStatusArb = ((int)0X8b82), ObjectValidateStatusArb = ((int)0X8b83), ObjectInfoLogLengthArb = ((int)0X8b84), ObjectAttachedObjectsArb = ((int)0X8b85), ObjectActiveUniformsArb = ((int)0X8b86), ObjectActiveUniformMaxLengthArb = ((int)0X8b87), ObjectShaderSourceLengthArb = ((int)0X8b88), } public enum ArbShaderTextureLod { } public enum ArbShadingLanguage100 { ShadingLanguageVersionArb = ((int)0X8b8c), } public enum ArbShadow { TextureCompareModeArb = ((int)0X884c), TextureCompareFuncArb = ((int)0X884d), CompareRToTextureArb = ((int)0X884e), } public enum ArbShadowAmbient { TextureCompareFailValueArb = ((int)0X80bf), } public enum ArbSync { SyncFlushCommandsBit = ((int)0X00000001), MaxServerWaitTimeout = ((int)0X9111), ObjectType = ((int)0X9112), SyncCondition = ((int)0X9113), SyncStatus = ((int)0X9114), SyncFlags = ((int)0X9115), SyncFence = ((int)0X9116), SyncGpuCommandsComplete = ((int)0X9117), Unsignaled = ((int)0X9118), Signaled = ((int)0X9119), AlreadySignaled = ((int)0X911a), TimeoutExpired = ((int)0X911b), ConditionSatisfied = ((int)0X911c), WaitFailed = ((int)0X911d), TimeoutIgnored = unchecked((int)0Xffffffffffffffff), } public enum ArbTextureBorderClamp { ClampToBorderArb = ((int)0X812d), } public enum ArbTextureBufferObject { TextureBufferArb = ((int)0X8c2a), MaxTextureBufferSizeArb = ((int)0X8c2b), TextureBindingBufferArb = ((int)0X8c2c), TextureBufferDataStoreBindingArb = ((int)0X8c2d), TextureBufferFormatArb = ((int)0X8c2e), } public enum ArbTextureCompression { CompressedAlphaArb = ((int)0X84e9), CompressedLuminanceArb = ((int)0X84ea), CompressedLuminanceAlphaArb = ((int)0X84eb), CompressedIntensityArb = ((int)0X84ec), CompressedRgbArb = ((int)0X84ed), CompressedRgbaArb = ((int)0X84ee), TextureCompressionHintArb = ((int)0X84ef), TextureCompressedImageSizeArb = ((int)0X86a0), TextureCompressedArb = ((int)0X86a1), NumCompressedTextureFormatsArb = ((int)0X86a2), CompressedTextureFormatsArb = ((int)0X86a3), } public enum ArbTextureCompressionRgtc { CompressedRedRgtc1 = ((int)0X8dbb), CompressedSignedRedRgtc1 = ((int)0X8dbc), CompressedRgRgtc2 = ((int)0X8dbd), CompressedSignedRgRgtc2 = ((int)0X8dbe), } public enum ArbTextureCubeMap { NormalMapArb = ((int)0X8511), ReflectionMapArb = ((int)0X8512), TextureCubeMapArb = ((int)0X8513), TextureBindingCubeMapArb = ((int)0X8514), TextureCubeMapPositiveXArb = ((int)0X8515), TextureCubeMapNegativeXArb = ((int)0X8516), TextureCubeMapPositiveYArb = ((int)0X8517), TextureCubeMapNegativeYArb = ((int)0X8518), TextureCubeMapPositiveZArb = ((int)0X8519), TextureCubeMapNegativeZArb = ((int)0X851a), ProxyTextureCubeMapArb = ((int)0X851b), MaxCubeMapTextureSizeArb = ((int)0X851c), } public enum ArbTextureCubeMapArray { TextureCubeMapArray = ((int)0X9009), TextureBindingCubeMapArray = ((int)0X900a), ProxyTextureCubeMapArray = ((int)0X900b), SamplerCubeMapArray = ((int)0X900c), SamplerCubeMapArrayShadow = ((int)0X900d), IntSamplerCubeMapArray = ((int)0X900e), UnsignedIntSamplerCubeMapArray = ((int)0X900f), } public enum ArbTextureEnvAdd { } public enum ArbTextureEnvCombine { SubtractArb = ((int)0X84e7), CombineArb = ((int)0X8570), CombineRgbArb = ((int)0X8571), CombineAlphaArb = ((int)0X8572), RgbScaleArb = ((int)0X8573), AddSignedArb = ((int)0X8574), InterpolateArb = ((int)0X8575), ConstantArb = ((int)0X8576), PrimaryColorArb = ((int)0X8577), PreviousArb = ((int)0X8578), Source0RgbArb = ((int)0X8580), Source1RgbArb = ((int)0X8581), Source2RgbArb = ((int)0X8582), Source0AlphaArb = ((int)0X8588), Source1AlphaArb = ((int)0X8589), Source2AlphaArb = ((int)0X858a), Operand0RgbArb = ((int)0X8590), Operand1RgbArb = ((int)0X8591), Operand2RgbArb = ((int)0X8592), Operand0AlphaArb = ((int)0X8598), Operand1AlphaArb = ((int)0X8599), Operand2AlphaArb = ((int)0X859a), } public enum ArbTextureEnvCrossbar { } public enum ArbTextureEnvDot3 { Dot3RgbArb = ((int)0X86ae), Dot3RgbaArb = ((int)0X86af), } public enum ArbTextureFloat { Rgba32fArb = ((int)0X8814), Rgb32fArb = ((int)0X8815), Alpha32fArb = ((int)0X8816), Intensity32fArb = ((int)0X8817), Luminance32fArb = ((int)0X8818), LuminanceAlpha32fArb = ((int)0X8819), Rgba16fArb = ((int)0X881a), Rgb16fArb = ((int)0X881b), Alpha16fArb = ((int)0X881c), Intensity16fArb = ((int)0X881d), Luminance16fArb = ((int)0X881e), LuminanceAlpha16fArb = ((int)0X881f), TextureRedTypeArb = ((int)0X8c10), TextureGreenTypeArb = ((int)0X8c11), TextureBlueTypeArb = ((int)0X8c12), TextureAlphaTypeArb = ((int)0X8c13), TextureLuminanceTypeArb = ((int)0X8c14), TextureIntensityTypeArb = ((int)0X8c15), TextureDepthTypeArb = ((int)0X8c16), UnsignedNormalizedArb = ((int)0X8c17), } public enum ArbTextureGather { MinProgramTextureGatherOffset = ((int)0X8e5e), MaxProgramTextureGatherOffset = ((int)0X8e5f), MaxProgramTextureGatherComponents = ((int)0X8f9f), } public enum ArbTextureMirroredRepeat { MirroredRepeatArb = ((int)0X8370), } public enum ArbTextureMultisample { SamplePosition = ((int)0X8e50), SampleMask = ((int)0X8e51), SampleMaskValue = ((int)0X8e52), MaxSampleMaskWords = ((int)0X8e59), Texture2DMultisample = ((int)0X9100), ProxyTexture2DMultisample = ((int)0X9101), Texture2DMultisampleArray = ((int)0X9102), ProxyTexture2DMultisampleArray = ((int)0X9103), TextureBinding2DMultisample = ((int)0X9104), TextureBinding2DMultisampleArray = ((int)0X9105), TextureSamples = ((int)0X9106), TextureFixedSampleLocations = ((int)0X9107), Sampler2DMultisample = ((int)0X9108), IntSampler2DMultisample = ((int)0X9109), UnsignedIntSampler2DMultisample = ((int)0X910a), Sampler2DMultisampleArray = ((int)0X910b), IntSampler2DMultisampleArray = ((int)0X910c), UnsignedIntSampler2DMultisampleArray = ((int)0X910d), MaxColorTextureSamples = ((int)0X910e), MaxDepthTextureSamples = ((int)0X910f), MaxIntegerSamples = ((int)0X9110), } public enum ArbTextureNonPowerOfTwo { } public enum ArbTextureQueryLod { } public enum ArbTextureRectangle { TextureRectangleArb = ((int)0X84f5), TextureBindingRectangleArb = ((int)0X84f6), ProxyTextureRectangleArb = ((int)0X84f7), MaxRectangleTextureSizeArb = ((int)0X84f8), } public enum ArbTextureRg { Rg = ((int)0X8227), RgInteger = ((int)0X8228), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822d), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), } public enum ArbTransposeMatrix { TransposeModelviewMatrixArb = ((int)0X84e3), TransposeProjectionMatrixArb = ((int)0X84e4), TransposeTextureMatrixArb = ((int)0X84e5), TransposeColorMatrixArb = ((int)0X84e6), } public enum ArbUniformBufferObject { UniformBuffer = ((int)0X8a11), UniformBufferBinding = ((int)0X8a28), UniformBufferStart = ((int)0X8a29), UniformBufferSize = ((int)0X8a2a), MaxVertexUniformBlocks = ((int)0X8a2b), MaxGeometryUniformBlocks = ((int)0X8a2c), MaxFragmentUniformBlocks = ((int)0X8a2d), MaxCombinedUniformBlocks = ((int)0X8a2e), MaxUniformBufferBindings = ((int)0X8a2f), MaxUniformBlockSize = ((int)0X8a30), MaxCombinedVertexUniformComponents = ((int)0X8a31), MaxCombinedGeometryUniformComponents = ((int)0X8a32), MaxCombinedFragmentUniformComponents = ((int)0X8a33), UniformBufferOffsetAlignment = ((int)0X8a34), ActiveUniformBlockMaxNameLength = ((int)0X8a35), ActiveUniformBlocks = ((int)0X8a36), UniformType = ((int)0X8a37), UniformSize = ((int)0X8a38), UniformNameLength = ((int)0X8a39), UniformBlockIndex = ((int)0X8a3a), UniformOffset = ((int)0X8a3b), UniformArrayStride = ((int)0X8a3c), UniformMatrixStride = ((int)0X8a3d), UniformIsRowMajor = ((int)0X8a3e), UniformBlockBinding = ((int)0X8a3f), UniformBlockDataSize = ((int)0X8a40), UniformBlockNameLength = ((int)0X8a41), UniformBlockActiveUniforms = ((int)0X8a42), UniformBlockActiveUniformIndices = ((int)0X8a43), UniformBlockReferencedByVertexShader = ((int)0X8a44), UniformBlockReferencedByGeometryShader = ((int)0X8a45), UniformBlockReferencedByFragmentShader = ((int)0X8a46), InvalidIndex = unchecked((int)0Xffffffff), } public enum ArbVertexArrayBgra { Bgra = ((int)0X80e1), } public enum ArbVertexArrayObject { VertexArrayBinding = ((int)0X85b5), } public enum ArbVertexBlend { Modelview0Arb = ((int)0X1700), Modelview1Arb = ((int)0X850a), MaxVertexUnitsArb = ((int)0X86a4), ActiveVertexUnitsArb = ((int)0X86a5), WeightSumUnityArb = ((int)0X86a6), VertexBlendArb = ((int)0X86a7), CurrentWeightArb = ((int)0X86a8), WeightArrayTypeArb = ((int)0X86a9), WeightArrayStrideArb = ((int)0X86aa), WeightArraySizeArb = ((int)0X86ab), WeightArrayPointerArb = ((int)0X86ac), WeightArrayArb = ((int)0X86ad), Modelview2Arb = ((int)0X8722), Modelview3Arb = ((int)0X8723), Modelview4Arb = ((int)0X8724), Modelview5Arb = ((int)0X8725), Modelview6Arb = ((int)0X8726), Modelview7Arb = ((int)0X8727), Modelview8Arb = ((int)0X8728), Modelview9Arb = ((int)0X8729), Modelview10Arb = ((int)0X872a), Modelview11Arb = ((int)0X872b), Modelview12Arb = ((int)0X872c), Modelview13Arb = ((int)0X872d), Modelview14Arb = ((int)0X872e), Modelview15Arb = ((int)0X872f), Modelview16Arb = ((int)0X8730), Modelview17Arb = ((int)0X8731), Modelview18Arb = ((int)0X8732), Modelview19Arb = ((int)0X8733), Modelview20Arb = ((int)0X8734), Modelview21Arb = ((int)0X8735), Modelview22Arb = ((int)0X8736), Modelview23Arb = ((int)0X8737), Modelview24Arb = ((int)0X8738), Modelview25Arb = ((int)0X8739), Modelview26Arb = ((int)0X873a), Modelview27Arb = ((int)0X873b), Modelview28Arb = ((int)0X873c), Modelview29Arb = ((int)0X873d), Modelview30Arb = ((int)0X873e), Modelview31Arb = ((int)0X873f), } public enum ArbVertexBufferObject { BufferSizeArb = ((int)0X8764), BufferUsageArb = ((int)0X8765), ArrayBufferArb = ((int)0X8892), ElementArrayBufferArb = ((int)0X8893), ArrayBufferBindingArb = ((int)0X8894), ElementArrayBufferBindingArb = ((int)0X8895), VertexArrayBufferBindingArb = ((int)0X8896), NormalArrayBufferBindingArb = ((int)0X8897), ColorArrayBufferBindingArb = ((int)0X8898), IndexArrayBufferBindingArb = ((int)0X8899), TextureCoordArrayBufferBindingArb = ((int)0X889a), EdgeFlagArrayBufferBindingArb = ((int)0X889b), SecondaryColorArrayBufferBindingArb = ((int)0X889c), FogCoordinateArrayBufferBindingArb = ((int)0X889d), WeightArrayBufferBindingArb = ((int)0X889e), VertexAttribArrayBufferBindingArb = ((int)0X889f), ReadOnlyArb = ((int)0X88b8), WriteOnlyArb = ((int)0X88b9), ReadWriteArb = ((int)0X88ba), BufferAccessArb = ((int)0X88bb), BufferMappedArb = ((int)0X88bc), BufferMapPointerArb = ((int)0X88bd), StreamDrawArb = ((int)0X88e0), StreamReadArb = ((int)0X88e1), StreamCopyArb = ((int)0X88e2), StaticDrawArb = ((int)0X88e4), StaticReadArb = ((int)0X88e5), StaticCopyArb = ((int)0X88e6), DynamicDrawArb = ((int)0X88e8), DynamicReadArb = ((int)0X88e9), DynamicCopyArb = ((int)0X88ea), } public enum ArbVertexProgram { ColorSumArb = ((int)0X8458), VertexProgramArb = ((int)0X8620), VertexAttribArrayEnabledArb = ((int)0X8622), VertexAttribArraySizeArb = ((int)0X8623), VertexAttribArrayStrideArb = ((int)0X8624), VertexAttribArrayTypeArb = ((int)0X8625), CurrentVertexAttribArb = ((int)0X8626), ProgramLengthArb = ((int)0X8627), ProgramStringArb = ((int)0X8628), MaxProgramMatrixStackDepthArb = ((int)0X862e), MaxProgramMatricesArb = ((int)0X862f), CurrentMatrixStackDepthArb = ((int)0X8640), CurrentMatrixArb = ((int)0X8641), VertexProgramPointSizeArb = ((int)0X8642), VertexProgramTwoSideArb = ((int)0X8643), VertexAttribArrayPointerArb = ((int)0X8645), ProgramErrorPositionArb = ((int)0X864b), ProgramBindingArb = ((int)0X8677), MaxVertexAttribsArb = ((int)0X8869), VertexAttribArrayNormalizedArb = ((int)0X886a), ProgramErrorStringArb = ((int)0X8874), ProgramFormatAsciiArb = ((int)0X8875), ProgramFormatArb = ((int)0X8876), ProgramInstructionsArb = ((int)0X88a0), MaxProgramInstructionsArb = ((int)0X88a1), ProgramNativeInstructionsArb = ((int)0X88a2), MaxProgramNativeInstructionsArb = ((int)0X88a3), ProgramTemporariesArb = ((int)0X88a4), MaxProgramTemporariesArb = ((int)0X88a5), ProgramNativeTemporariesArb = ((int)0X88a6), MaxProgramNativeTemporariesArb = ((int)0X88a7), ProgramParametersArb = ((int)0X88a8), MaxProgramParametersArb = ((int)0X88a9), ProgramNativeParametersArb = ((int)0X88aa), MaxProgramNativeParametersArb = ((int)0X88ab), ProgramAttribsArb = ((int)0X88ac), MaxProgramAttribsArb = ((int)0X88ad), ProgramNativeAttribsArb = ((int)0X88ae), MaxProgramNativeAttribsArb = ((int)0X88af), ProgramAddressRegistersArb = ((int)0X88b0), MaxProgramAddressRegistersArb = ((int)0X88b1), ProgramNativeAddressRegistersArb = ((int)0X88b2), MaxProgramNativeAddressRegistersArb = ((int)0X88b3), MaxProgramLocalParametersArb = ((int)0X88b4), MaxProgramEnvParametersArb = ((int)0X88b5), ProgramUnderNativeLimitsArb = ((int)0X88b6), TransposeCurrentMatrixArb = ((int)0X88b7), Matrix0Arb = ((int)0X88c0), Matrix1Arb = ((int)0X88c1), Matrix2Arb = ((int)0X88c2), Matrix3Arb = ((int)0X88c3), Matrix4Arb = ((int)0X88c4), Matrix5Arb = ((int)0X88c5), Matrix6Arb = ((int)0X88c6), Matrix7Arb = ((int)0X88c7), Matrix8Arb = ((int)0X88c8), Matrix9Arb = ((int)0X88c9), Matrix10Arb = ((int)0X88ca), Matrix11Arb = ((int)0X88cb), Matrix12Arb = ((int)0X88cc), Matrix13Arb = ((int)0X88cd), Matrix14Arb = ((int)0X88ce), Matrix15Arb = ((int)0X88cf), Matrix16Arb = ((int)0X88d0), Matrix17Arb = ((int)0X88d1), Matrix18Arb = ((int)0X88d2), Matrix19Arb = ((int)0X88d3), Matrix20Arb = ((int)0X88d4), Matrix21Arb = ((int)0X88d5), Matrix22Arb = ((int)0X88d6), Matrix23Arb = ((int)0X88d7), Matrix24Arb = ((int)0X88d8), Matrix25Arb = ((int)0X88d9), Matrix26Arb = ((int)0X88da), Matrix27Arb = ((int)0X88db), Matrix28Arb = ((int)0X88dc), Matrix29Arb = ((int)0X88dd), Matrix30Arb = ((int)0X88de), Matrix31Arb = ((int)0X88df), } public enum ArbVertexShader { VertexShaderArb = ((int)0X8b31), MaxVertexUniformComponentsArb = ((int)0X8b4a), MaxVaryingFloatsArb = ((int)0X8b4b), MaxVertexTextureImageUnitsArb = ((int)0X8b4c), MaxCombinedTextureImageUnitsArb = ((int)0X8b4d), ObjectActiveAttributesArb = ((int)0X8b89), ObjectActiveAttributeMaxLengthArb = ((int)0X8b8a), } public enum ArbWindowPos { } public enum AssemblyProgramFormatArb { ProgramFormatAsciiArb = ((int)0X8875), } public enum AssemblyProgramParameterArb { ProgramLength = ((int)0X8627), ProgramBinding = ((int)0X8677), ProgramAluInstructionsArb = ((int)0X8805), ProgramTexInstructionsArb = ((int)0X8806), ProgramTexIndirectionsArb = ((int)0X8807), ProgramNativeAluInstructionsArb = ((int)0X8808), ProgramNativeTexInstructionsArb = ((int)0X8809), ProgramNativeTexIndirectionsArb = ((int)0X880a), MaxProgramAluInstructionsArb = ((int)0X880b), MaxProgramTexInstructionsArb = ((int)0X880c), MaxProgramTexIndirectionsArb = ((int)0X880d), MaxProgramNativeAluInstructionsArb = ((int)0X880e), MaxProgramNativeTexInstructionsArb = ((int)0X880f), MaxProgramNativeTexIndirectionsArb = ((int)0X8810), ProgramFormat = ((int)0X8876), ProgramInstruction = ((int)0X88a0), MaxProgramInstructions = ((int)0X88a1), ProgramNativeInstructions = ((int)0X88a2), MaxProgramNativeInstructions = ((int)0X88a3), ProgramTemporaries = ((int)0X88a4), MaxProgramTemporaries = ((int)0X88a5), ProgramNativeTemporaries = ((int)0X88a6), MaxProgramNativeTemporaries = ((int)0X88a7), ProgramParameters = ((int)0X88a8), MaxProgramParameters = ((int)0X88a9), ProgramNativeParameters = ((int)0X88aa), MaxProgramNativeParameters = ((int)0X88ab), ProgramAttribs = ((int)0X88ac), MaxProgramAttribs = ((int)0X88ad), ProgramNativeAttribs = ((int)0X88ae), MaxProgramNativeAttribs = ((int)0X88af), ProgramAddressRegisters = ((int)0X88b0), MaxProgramAddressRegisters = ((int)0X88b1), ProgramNativeAddressRegisters = ((int)0X88b2), MaxProgramNativeAddressRegisters = ((int)0X88b3), MaxProgramLocalParameters = ((int)0X88b4), MaxProgramEnvParameters = ((int)0X88b5), ProgramUnderNativeLimits = ((int)0X88b6), } public enum AssemblyProgramStringParameterArb { ProgramString = ((int)0X8628), } public enum AssemblyProgramTargetArb { VertexProgram = ((int)0X8620), FragmentProgram = ((int)0X8804), GeometryProgramNv = ((int)0X8c26), } public enum AtiDrawBuffers { MaxDrawBuffersAti = ((int)0X8824), DrawBuffer0Ati = ((int)0X8825), DrawBuffer1Ati = ((int)0X8826), DrawBuffer2Ati = ((int)0X8827), DrawBuffer3Ati = ((int)0X8828), DrawBuffer4Ati = ((int)0X8829), DrawBuffer5Ati = ((int)0X882a), DrawBuffer6Ati = ((int)0X882b), DrawBuffer7Ati = ((int)0X882c), DrawBuffer8Ati = ((int)0X882d), DrawBuffer9Ati = ((int)0X882e), DrawBuffer10Ati = ((int)0X882f), DrawBuffer11Ati = ((int)0X8830), DrawBuffer12Ati = ((int)0X8831), DrawBuffer13Ati = ((int)0X8832), DrawBuffer14Ati = ((int)0X8833), DrawBuffer15Ati = ((int)0X8834), } public enum AtiElementArray { ElementArrayAti = ((int)0X8768), ElementArrayTypeAti = ((int)0X8769), ElementArrayPointerAti = ((int)0X876a), } public enum AtiEnvmapBumpmap { BumpRotMatrixAti = ((int)0X8775), BumpRotMatrixSizeAti = ((int)0X8776), BumpNumTexUnitsAti = ((int)0X8777), BumpTexUnitsAti = ((int)0X8778), DudvAti = ((int)0X8779), Du8dv8Ati = ((int)0X877a), BumpEnvmapAti = ((int)0X877b), BumpTargetAti = ((int)0X877c), } public enum AtiFragmentShader { Gl2XBitAti = ((int)0X00000001), RedBitAti = ((int)0X00000001), CompBitAti = ((int)0X00000002), Gl4XBitAti = ((int)0X00000002), GreenBitAti = ((int)0X00000002), BlueBitAti = ((int)0X00000004), Gl8XBitAti = ((int)0X00000004), NegateBitAti = ((int)0X00000004), BiasBitAti = ((int)0X00000008), HalfBitAti = ((int)0X00000008), QuarterBitAti = ((int)0X00000010), EighthBitAti = ((int)0X00000020), SaturateBitAti = ((int)0X00000040), FragmentShaderAti = ((int)0X8920), Reg0Ati = ((int)0X8921), Reg1Ati = ((int)0X8922), Reg2Ati = ((int)0X8923), Reg3Ati = ((int)0X8924), Reg4Ati = ((int)0X8925), Reg5Ati = ((int)0X8926), Reg6Ati = ((int)0X8927), Reg7Ati = ((int)0X8928), Reg8Ati = ((int)0X8929), Reg9Ati = ((int)0X892a), Reg10Ati = ((int)0X892b), Reg11Ati = ((int)0X892c), Reg12Ati = ((int)0X892d), Reg13Ati = ((int)0X892e), Reg14Ati = ((int)0X892f), Reg15Ati = ((int)0X8930), Reg16Ati = ((int)0X8931), Reg17Ati = ((int)0X8932), Reg18Ati = ((int)0X8933), Reg19Ati = ((int)0X8934), Reg20Ati = ((int)0X8935), Reg21Ati = ((int)0X8936), Reg22Ati = ((int)0X8937), Reg23Ati = ((int)0X8938), Reg24Ati = ((int)0X8939), Reg25Ati = ((int)0X893a), Reg26Ati = ((int)0X893b), Reg27Ati = ((int)0X893c), Reg28Ati = ((int)0X893d), Reg29Ati = ((int)0X893e), Reg30Ati = ((int)0X893f), Reg31Ati = ((int)0X8940), Con0Ati = ((int)0X8941), Con1Ati = ((int)0X8942), Con2Ati = ((int)0X8943), Con3Ati = ((int)0X8944), Con4Ati = ((int)0X8945), Con5Ati = ((int)0X8946), Con6Ati = ((int)0X8947), Con7Ati = ((int)0X8948), Con8Ati = ((int)0X8949), Con9Ati = ((int)0X894a), Con10Ati = ((int)0X894b), Con11Ati = ((int)0X894c), Con12Ati = ((int)0X894d), Con13Ati = ((int)0X894e), Con14Ati = ((int)0X894f), Con15Ati = ((int)0X8950), Con16Ati = ((int)0X8951), Con17Ati = ((int)0X8952), Con18Ati = ((int)0X8953), Con19Ati = ((int)0X8954), Con20Ati = ((int)0X8955), Con21Ati = ((int)0X8956), Con22Ati = ((int)0X8957), Con23Ati = ((int)0X8958), Con24Ati = ((int)0X8959), Con25Ati = ((int)0X895a), Con26Ati = ((int)0X895b), Con27Ati = ((int)0X895c), Con28Ati = ((int)0X895d), Con29Ati = ((int)0X895e), Con30Ati = ((int)0X895f), Con31Ati = ((int)0X8960), MovAti = ((int)0X8961), AddAti = ((int)0X8963), MulAti = ((int)0X8964), SubAti = ((int)0X8965), Dot3Ati = ((int)0X8966), Dot4Ati = ((int)0X8967), MadAti = ((int)0X8968), LerpAti = ((int)0X8969), CndAti = ((int)0X896a), Cnd0Ati = ((int)0X896b), Dot2AddAti = ((int)0X896c), SecondaryInterpolatorAti = ((int)0X896d), NumFragmentRegistersAti = ((int)0X896e), NumFragmentConstantsAti = ((int)0X896f), NumPassesAti = ((int)0X8970), NumInstructionsPerPassAti = ((int)0X8971), NumInstructionsTotalAti = ((int)0X8972), NumInputInterpolatorComponentsAti = ((int)0X8973), NumLoopbackComponentsAti = ((int)0X8974), ColorAlphaPairingAti = ((int)0X8975), SwizzleStrAti = ((int)0X8976), SwizzleStqAti = ((int)0X8977), SwizzleStrDrAti = ((int)0X8978), SwizzleStqDqAti = ((int)0X8979), SwizzleStrqAti = ((int)0X897a), SwizzleStrqDqAti = ((int)0X897b), } public enum AtiMapObjectBuffer { } public enum AtiMeminfo { VboFreeMemoryAti = ((int)0X87fb), TextureFreeMemoryAti = ((int)0X87fc), RenderbufferFreeMemoryAti = ((int)0X87fd), } public enum AtiPixelFormatFloat { TypeRgbaFloatAti = ((int)0X8820), ColorClearUnclampedValueAti = ((int)0X8835), } public enum AtiPnTriangles { PnTrianglesAti = ((int)0X87f0), MaxPnTrianglesTesselationLevelAti = ((int)0X87f1), PnTrianglesPointModeAti = ((int)0X87f2), PnTrianglesNormalModeAti = ((int)0X87f3), PnTrianglesTesselationLevelAti = ((int)0X87f4), PnTrianglesPointModeLinearAti = ((int)0X87f5), PnTrianglesPointModeCubicAti = ((int)0X87f6), PnTrianglesNormalModeLinearAti = ((int)0X87f7), PnTrianglesNormalModeQuadraticAti = ((int)0X87f8), } public enum AtiSeparateStencil { StencilBackFuncAti = ((int)0X8800), StencilBackFailAti = ((int)0X8801), StencilBackPassDepthFailAti = ((int)0X8802), StencilBackPassDepthPassAti = ((int)0X8803), } public enum AtiTextFragmentShader { TextFragmentShaderAti = ((int)0X8200), } public enum AtiTextureEnvCombine3 { ModulateAddAti = ((int)0X8744), ModulateSignedAddAti = ((int)0X8745), ModulateSubtractAti = ((int)0X8746), } public enum AtiTextureFloat { RgbaFloat32Ati = ((int)0X8814), RgbFloat32Ati = ((int)0X8815), AlphaFloat32Ati = ((int)0X8816), IntensityFloat32Ati = ((int)0X8817), LuminanceFloat32Ati = ((int)0X8818), LuminanceAlphaFloat32Ati = ((int)0X8819), RgbaFloat16Ati = ((int)0X881a), RgbFloat16Ati = ((int)0X881b), AlphaFloat16Ati = ((int)0X881c), IntensityFloat16Ati = ((int)0X881d), LuminanceFloat16Ati = ((int)0X881e), LuminanceAlphaFloat16Ati = ((int)0X881f), } public enum AtiTextureMirrorOnce { MirrorClampAti = ((int)0X8742), MirrorClampToEdgeAti = ((int)0X8743), } public enum AtiVertexArrayObject { StaticAti = ((int)0X8760), DynamicAti = ((int)0X8761), PreserveAti = ((int)0X8762), DiscardAti = ((int)0X8763), ObjectBufferSizeAti = ((int)0X8764), ObjectBufferUsageAti = ((int)0X8765), ArrayObjectBufferAti = ((int)0X8766), ArrayObjectOffsetAti = ((int)0X8767), } public enum AtiVertexAttribArrayObject { } public enum AtiVertexStreams { MaxVertexStreamsAti = ((int)0X876b), VertexStream0Ati = ((int)0X876c), VertexStream1Ati = ((int)0X876d), VertexStream2Ati = ((int)0X876e), VertexStream3Ati = ((int)0X876f), VertexStream4Ati = ((int)0X8770), VertexStream5Ati = ((int)0X8771), VertexStream6Ati = ((int)0X8772), VertexStream7Ati = ((int)0X8773), VertexSourceAti = ((int)0X8774), } [Flags] public enum AttribMask { CurrentBit = ((int)0X00000001), PointBit = ((int)0X00000002), LineBit = ((int)0X00000004), PolygonBit = ((int)0X00000008), PolygonStippleBit = ((int)0X00000010), PixelModeBit = ((int)0X00000020), LightingBit = ((int)0X00000040), FogBit = ((int)0X00000080), DepthBufferBit = ((int)0X00000100), AccumBufferBit = ((int)0X00000200), StencilBufferBit = ((int)0X00000400), ViewportBit = ((int)0X00000800), TransformBit = ((int)0X00001000), EnableBit = ((int)0X00002000), ColorBufferBit = ((int)0X00004000), HintBit = ((int)0X00008000), EvalBit = ((int)0X00010000), ListBit = ((int)0X00020000), TextureBit = ((int)0X00040000), ScissorBit = ((int)0X00080000), MultisampleBit = ((int)0X20000000), AllAttribBits = unchecked((int)0Xffffffff), } public enum BeginFeedbackMode { Points = ((int)0X0000), Lines = ((int)0X0001), Triangles = ((int)0X0004), } public enum BeginMode { Points = ((int)0X0000), Lines = ((int)0X0001), LineLoop = ((int)0X0002), LineStrip = ((int)0X0003), Triangles = ((int)0X0004), TriangleStrip = ((int)0X0005), TriangleFan = ((int)0X0006), Quads = ((int)0X0007), QuadStrip = ((int)0X0008), Polygon = ((int)0X0009), } public enum BlendEquationMode { FuncAdd = ((int)0X8006), Min = ((int)0X8007), Max = ((int)0X8008), FuncSubtract = ((int)0X800a), FuncReverseSubtract = ((int)0X800b), } public enum BlendEquationModeExt { LogicOp = ((int)0X0bf1), FuncAddExt = ((int)0X8006), MinExt = ((int)0X8007), MaxExt = ((int)0X8008), FuncSubtractExt = ((int)0X800a), FuncReverseSubtractExt = ((int)0X800b), AlphaMinSgix = ((int)0X8320), AlphaMaxSgix = ((int)0X8321), } public enum BlendingFactorDest { Zero = ((int)0), SrcColor = ((int)0X0300), OneMinusSrcColor = ((int)0X0301), SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), DstAlpha = ((int)0X0304), OneMinusDstAlpha = ((int)0X0305), DstColor = ((int)0X0306), OneMinusDstColor = ((int)0X0307), ConstantColor = ((int)0X8001), ConstantColorExt = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), OneMinusConstantColorExt = ((int)0X8002), ConstantAlpha = ((int)0X8003), ConstantAlphaExt = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), OneMinusConstantAlphaExt = ((int)0X8004), One = ((int)1), } public enum BlendingFactorSrc { Zero = ((int)0), SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), DstAlpha = ((int)0X0304), OneMinusDstAlpha = ((int)0X0305), DstColor = ((int)0X0306), OneMinusDstColor = ((int)0X0307), SrcAlphaSaturate = ((int)0X0308), ConstantColor = ((int)0X8001), ConstantColorExt = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), OneMinusConstantColorExt = ((int)0X8002), ConstantAlpha = ((int)0X8003), ConstantAlphaExt = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), OneMinusConstantAlphaExt = ((int)0X8004), One = ((int)1), } public enum BlitFramebufferFilter { Nearest = ((int)0X2600), Linear = ((int)0X2601), } public enum Boolean { False = ((int)0), True = ((int)1), } public enum BufferAccess { ReadOnly = ((int)0X88b8), WriteOnly = ((int)0X88b9), ReadWrite = ((int)0X88ba), } public enum BufferAccessArb { ReadOnly = ((int)0X88b8), WriteOnly = ((int)0X88b9), ReadWrite = ((int)0X88ba), } [Flags] public enum BufferAccessMask { MapReadBit = ((int)0X0001), MapWriteBit = ((int)0X0002), MapInvalidateRangeBit = ((int)0X0004), MapInvalidateBufferBit = ((int)0X0008), MapFlushExplicitBit = ((int)0X0010), MapUnsynchronizedBit = ((int)0X0020), } public enum BufferParameterApple { BufferSerializedModifyApple = ((int)0X8a12), BufferFlushingUnmapApple = ((int)0X8a13), } public enum BufferParameterName { BufferSize = ((int)0X8764), BufferUsage = ((int)0X8765), BufferAccess = ((int)0X88bb), BufferMapped = ((int)0X88bc), } public enum BufferParameterNameArb { BufferSize = ((int)0X8764), BufferUsage = ((int)0X8765), BufferAccess = ((int)0X88bb), BufferMapped = ((int)0X88bc), } public enum BufferPointer { BufferMapPointer = ((int)0X88bd), } public enum BufferPointerNameArb { BufferMapPointer = ((int)0X88bd), } public enum BufferTarget { ArrayBuffer = ((int)0X8892), ElementArrayBuffer = ((int)0X8893), PixelPackBuffer = ((int)0X88eb), PixelUnpackBuffer = ((int)0X88ec), UniformBuffer = ((int)0X8a11), TransformFeedbackBuffer = ((int)0X8c8e), CopyReadBuffer = ((int)0X8f36), CopyWriteBuffer = ((int)0X8f37), } public enum BufferTargetArb { ArrayBuffer = ((int)0X8892), ElementArrayBuffer = ((int)0X8893), } public enum BufferUsageArb { StreamDraw = ((int)0X88e0), StreamRead = ((int)0X88e1), StreamCopy = ((int)0X88e2), StaticDraw = ((int)0X88e4), StaticRead = ((int)0X88e5), StaticCopy = ((int)0X88e6), DynamicDraw = ((int)0X88e8), DynamicRead = ((int)0X88e9), DynamicCopy = ((int)0X88ea), } public enum BufferUsageHint { StreamDraw = ((int)0X88e0), StreamRead = ((int)0X88e1), StreamCopy = ((int)0X88e2), StaticDraw = ((int)0X88e4), StaticRead = ((int)0X88e5), StaticCopy = ((int)0X88e6), DynamicDraw = ((int)0X88e8), DynamicRead = ((int)0X88e9), DynamicCopy = ((int)0X88ea), } public enum ClampColorMode { False = ((int)0), FixedOnly = ((int)0X891d), True = ((int)1), } public enum ClampColorTarget { ClampVertexColor = ((int)0X891a), ClampFragmentColor = ((int)0X891b), ClampReadColor = ((int)0X891c), } public enum ClearBuffer { Color = ((int)0X1800), Depth = ((int)0X1801), Stencil = ((int)0X1802), DepthStencil = ((int)0X84f9), } [Flags] public enum ClearBufferMask { DepthBufferBit = ((int)0X00000100), AccumBufferBit = ((int)0X00000200), StencilBufferBit = ((int)0X00000400), ColorBufferBit = ((int)0X00004000), } [Flags] public enum ClientAttribMask { ClientPixelStoreBit = ((int)0X00000001), ClientVertexArrayBit = ((int)0X00000002), ClientAllAttribBits = unchecked((int)0Xffffffff), } public enum ClipPlaneName { ClipPlane0 = ((int)0X3000), ClipPlane1 = ((int)0X3001), ClipPlane2 = ((int)0X3002), ClipPlane3 = ((int)0X3003), ClipPlane4 = ((int)0X3004), ClipPlane5 = ((int)0X3005), } public enum ColorMaterialFace { Front = ((int)0X0404), Back = ((int)0X0405), FrontAndBack = ((int)0X0408), } public enum ColorMaterialParameter { Ambient = ((int)0X1200), Diffuse = ((int)0X1201), Specular = ((int)0X1202), Emission = ((int)0X1600), AmbientAndDiffuse = ((int)0X1602), } public enum ColorPointerType { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum ColorTableParameterPName { } public enum ColorTableParameterPNameSgi { ColorTableScaleSgi = ((int)0X80D6), ColorTableBiasSgi = ((int)0X80D7), } public enum ColorTableTarget { } public enum ColorTableTargetSgi { TextureColorTableSgi = ((int)0X80bc), ProxyTextureColorTableSgi = ((int)0X80bd), ColorTableSgi = ((int)0X80D0), PostConvolutionColorTableSgi = ((int)0X80D1), PostColorMatrixColorTableSgi = ((int)0X80D2), ProxyColorTableSgi = ((int)0X80D3), ProxyPostConvolutionColorTableSgi = ((int)0X80D4), ProxyPostColorMatrixColorTableSgi = ((int)0X80D5), } public enum ConditionalRenderType { QueryWait = ((int)0X8e13), QueryNoWait = ((int)0X8e14), QueryByRegionWait = ((int)0X8e15), QueryByRegionNoWait = ((int)0X8e16), } public enum ConvolutionBorderModeExt { ReduceExt = ((int)0X8016), } public enum ConvolutionParameter { } public enum ConvolutionParameterExt { ConvolutionBorderModeExt = ((int)0X8013), ConvolutionFilterScaleExt = ((int)0X8014), ConvolutionFilterBiasExt = ((int)0X8015), } public enum ConvolutionTarget { } public enum ConvolutionTargetExt { Convolution1DExt = ((int)0X8010), Convolution2DExt = ((int)0X8011), } public enum CullFaceMode { Front = ((int)0X0404), Back = ((int)0X0405), FrontAndBack = ((int)0X0408), } public enum DataType { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Gl2Bytes = ((int)0X1407), Gl3Bytes = ((int)0X1408), Gl4Bytes = ((int)0X1409), Double = ((int)0X140a), DoubleExt = ((int)0X140a), } public enum DepthFunction { Never = ((int)0X0200), Less = ((int)0X0201), Equal = ((int)0X0202), Lequal = ((int)0X0203), Greater = ((int)0X0204), Notequal = ((int)0X0205), Gequal = ((int)0X0206), Always = ((int)0X0207), } public enum DrawBufferMode { None = ((int)0), FrontLeft = ((int)0X0400), FrontRight = ((int)0X0401), BackLeft = ((int)0X0402), BackRight = ((int)0X0403), Front = ((int)0X0404), Back = ((int)0X0405), Left = ((int)0X0406), Right = ((int)0X0407), FrontAndBack = ((int)0X0408), Aux0 = ((int)0X0409), Aux1 = ((int)0X040a), Aux2 = ((int)0X040b), Aux3 = ((int)0X040c), ColorAttachment0 = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), } public enum DrawBuffersEnum { None = ((int)0), FrontLeft = ((int)0X0400), FrontRight = ((int)0X0401), BackLeft = ((int)0X0402), BackRight = ((int)0X0403), Aux0 = ((int)0X0409), Aux1 = ((int)0X040a), Aux2 = ((int)0X040b), Aux3 = ((int)0X040c), ColorAttachment0 = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), } public enum DrawElementsType { UnsignedByte = ((int)0X1401), UnsignedShort = ((int)0X1403), UnsignedInt = ((int)0X1405), } public enum EnableCap { PointSmooth = ((int)0X0b10), LineSmooth = ((int)0X0b20), LineStipple = ((int)0X0b24), PolygonSmooth = ((int)0X0b41), PolygonStipple = ((int)0X0b42), CullFace = ((int)0X0b44), Lighting = ((int)0X0b50), ColorMaterial = ((int)0X0b57), Fog = ((int)0X0b60), DepthTest = ((int)0X0b71), StencilTest = ((int)0X0b90), Normalize = ((int)0X0ba1), AlphaTest = ((int)0X0bc0), Dither = ((int)0X0bd0), Blend = ((int)0X0be2), IndexLogicOp = ((int)0X0bf1), ColorLogicOp = ((int)0X0bf2), ScissorTest = ((int)0X0c11), TextureGenS = ((int)0X0c60), TextureGenT = ((int)0X0c61), TextureGenR = ((int)0X0c62), TextureGenQ = ((int)0X0c63), AutoNormal = ((int)0X0D80), Map1Color4 = ((int)0X0D90), Map1Index = ((int)0X0D91), Map1Normal = ((int)0X0D92), Map1TextureCoord1 = ((int)0X0D93), Map1TextureCoord2 = ((int)0X0D94), Map1TextureCoord3 = ((int)0X0D95), Map1TextureCoord4 = ((int)0X0D96), Map1Vertex3 = ((int)0X0D97), Map1Vertex4 = ((int)0X0D98), Map2Color4 = ((int)0X0Db0), Map2Index = ((int)0X0Db1), Map2Normal = ((int)0X0Db2), Map2TextureCoord1 = ((int)0X0Db3), Map2TextureCoord2 = ((int)0X0Db4), Map2TextureCoord3 = ((int)0X0Db5), Map2TextureCoord4 = ((int)0X0Db6), Map2Vertex3 = ((int)0X0Db7), Map2Vertex4 = ((int)0X0Db8), Texture1D = ((int)0X0De0), Texture2D = ((int)0X0De1), PolygonOffsetPoint = ((int)0X2a01), PolygonOffsetLine = ((int)0X2a02), ClipPlane0 = ((int)0X3000), ClipPlane1 = ((int)0X3001), ClipPlane2 = ((int)0X3002), ClipPlane3 = ((int)0X3003), ClipPlane4 = ((int)0X3004), ClipPlane5 = ((int)0X3005), Light0 = ((int)0X4000), Light1 = ((int)0X4001), Light2 = ((int)0X4002), Light3 = ((int)0X4003), Light4 = ((int)0X4004), Light5 = ((int)0X4005), Light6 = ((int)0X4006), Light7 = ((int)0X4007), Convolution1DExt = ((int)0X8010), Convolution2DExt = ((int)0X8011), Separable2DExt = ((int)0X8012), HistogramExt = ((int)0X8024), MinmaxExt = ((int)0X802e), PolygonOffsetFill = ((int)0X8037), RescaleNormal = ((int)0X803a), RescaleNormalExt = ((int)0X803a), Texture3DExt = ((int)0X806f), VertexArray = ((int)0X8074), NormalArray = ((int)0X8075), ColorArray = ((int)0X8076), IndexArray = ((int)0X8077), TextureCoordArray = ((int)0X8078), EdgeFlagArray = ((int)0X8079), InterlaceSgix = ((int)0X8094), Multisample = ((int)0X809d), SampleAlphaToCoverage = ((int)0X809e), SampleAlphaToMaskSgis = ((int)0X809e), SampleAlphaToOne = ((int)0X809f), SampleAlphaToOneSgis = ((int)0X809f), SampleCoverage = ((int)0X80a0), SampleMaskSgis = ((int)0X80a0), TextureColorTableSgi = ((int)0X80bc), ColorTableSgi = ((int)0X80D0), PostConvolutionColorTableSgi = ((int)0X80D1), PostColorMatrixColorTableSgi = ((int)0X80D2), Texture4DSgis = ((int)0X8134), PixelTexGenSgix = ((int)0X8139), SpriteSgix = ((int)0X8148), ReferencePlaneSgix = ((int)0X817D), IrInstrument1Sgix = ((int)0X817f), CalligraphicFragmentSgix = ((int)0X8183), FramezoomSgix = ((int)0X818b), FogOffsetSgix = ((int)0X8198), SharedTexturePaletteExt = ((int)0X81fb), AsyncHistogramSgix = ((int)0X832c), PixelTextureSgis = ((int)0X8353), AsyncTexImageSgix = ((int)0X835c), AsyncDrawPixelsSgix = ((int)0X835D), AsyncReadPixelsSgix = ((int)0X835e), FragmentLightingSgix = ((int)0X8400), FragmentColorMaterialSgix = ((int)0X8401), FragmentLight0Sgix = ((int)0X840c), FragmentLight1Sgix = ((int)0X840D), FragmentLight2Sgix = ((int)0X840e), FragmentLight3Sgix = ((int)0X840f), FragmentLight4Sgix = ((int)0X8410), FragmentLight5Sgix = ((int)0X8411), FragmentLight6Sgix = ((int)0X8412), FragmentLight7Sgix = ((int)0X8413), FogCoordArray = ((int)0X8457), ColorSum = ((int)0X8458), SecondaryColorArray = ((int)0X845e), TextureCubeMap = ((int)0X8513), VertexProgramPointSize = ((int)0X8642), VertexProgramTwoSide = ((int)0X8643), PointSprite = ((int)0X8861), RasterizerDiscard = ((int)0X8c89), FramebufferSrgb = ((int)0X8Db9), } public enum ErrorCode { NoError = ((int)0), InvalidEnum = ((int)0X0500), InvalidValue = ((int)0X0501), InvalidOperation = ((int)0X0502), StackOverflow = ((int)0X0503), StackUnderflow = ((int)0X0504), OutOfMemory = ((int)0X0505), InvalidFramebufferOperation = ((int)0X0506), InvalidFramebufferOperationExt = ((int)0X0506), TableTooLargeExt = ((int)0X8031), TextureTooLargeExt = ((int)0X8065), } public enum Ext422Pixels { Gl422Ext = ((int)0X80cc), Gl422RevExt = ((int)0X80cd), Gl422AverageExt = ((int)0X80ce), Gl422RevAverageExt = ((int)0X80cf), } public enum ExtAbgr { AbgrExt = ((int)0X8000), } public enum ExtBgra { BgrExt = ((int)0X80e0), BgraExt = ((int)0X80e1), } public enum ExtBindableUniform { MaxVertexBindableUniformsExt = ((int)0X8de2), MaxFragmentBindableUniformsExt = ((int)0X8de3), MaxGeometryBindableUniformsExt = ((int)0X8de4), MaxBindableUniformSizeExt = ((int)0X8ded), UniformBufferExt = ((int)0X8dee), UniformBufferBindingExt = ((int)0X8def), } public enum ExtBlendColor { ConstantColor = ((int)0X8001), ConstantColorExt = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), OneMinusConstantColorExt = ((int)0X8002), ConstantAlpha = ((int)0X8003), ConstantAlphaExt = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), OneMinusConstantAlphaExt = ((int)0X8004), BlendColor = ((int)0X8005), BlendColorExt = ((int)0X8005), } public enum ExtBlendEquationSeparate { BlendEquationRgbExt = ((int)0X8009), BlendEquationAlphaExt = ((int)0X883d), } public enum ExtBlendFuncSeparate { BlendDstRgbExt = ((int)0X80c8), BlendSrcRgbExt = ((int)0X80c9), BlendDstAlphaExt = ((int)0X80ca), BlendSrcAlphaExt = ((int)0X80cb), } public enum ExtBlendLogicOp { } public enum ExtBlendMinmax { FuncAdd = ((int)0X8006), FuncAddExt = ((int)0X8006), Min = ((int)0X8007), MinExt = ((int)0X8007), Max = ((int)0X8008), MaxExt = ((int)0X8008), BlendEquation = ((int)0X8009), BlendEquationExt = ((int)0X8009), } public enum ExtBlendSubtract { FuncSubtract = ((int)0X800a), FuncSubtractExt = ((int)0X800a), FuncReverseSubtract = ((int)0X800b), FuncReverseSubtractExt = ((int)0X800b), } public enum ExtClipVolumeHint { ClipVolumeClippingHintExt = ((int)0X80f0), } public enum ExtCmyka { CmykExt = ((int)0X800c), CmykaExt = ((int)0X800d), PackCmykHintExt = ((int)0X800e), UnpackCmykHintExt = ((int)0X800f), } public enum ExtColorSubtable { } public enum ExtCompiledVertexArray { ArrayElementLockFirstExt = ((int)0X81a8), ArrayElementLockCountExt = ((int)0X81a9), } public enum ExtConvolution { Convolution1DExt = ((int)0X8010), Convolution2DExt = ((int)0X8011), Separable2DExt = ((int)0X8012), ConvolutionBorderModeExt = ((int)0X8013), ConvolutionFilterScaleExt = ((int)0X8014), ConvolutionFilterBiasExt = ((int)0X8015), ReduceExt = ((int)0X8016), ConvolutionFormatExt = ((int)0X8017), ConvolutionWidthExt = ((int)0X8018), ConvolutionHeightExt = ((int)0X8019), MaxConvolutionWidthExt = ((int)0X801a), MaxConvolutionHeightExt = ((int)0X801b), PostConvolutionRedScaleExt = ((int)0X801c), PostConvolutionGreenScaleExt = ((int)0X801d), PostConvolutionBlueScaleExt = ((int)0X801e), PostConvolutionAlphaScaleExt = ((int)0X801f), PostConvolutionRedBiasExt = ((int)0X8020), PostConvolutionGreenBiasExt = ((int)0X8021), PostConvolutionBlueBiasExt = ((int)0X8022), PostConvolutionAlphaBiasExt = ((int)0X8023), } public enum ExtCoordinateFrame { TangentArrayExt = ((int)0X8439), BinormalArrayExt = ((int)0X843a), CurrentTangentExt = ((int)0X843b), CurrentBinormalExt = ((int)0X843c), TangentArrayTypeExt = ((int)0X843e), TangentArrayStrideExt = ((int)0X843f), BinormalArrayTypeExt = ((int)0X8440), BinormalArrayStrideExt = ((int)0X8441), TangentArrayPointerExt = ((int)0X8442), BinormalArrayPointerExt = ((int)0X8443), Map1TangentExt = ((int)0X8444), Map2TangentExt = ((int)0X8445), Map1BinormalExt = ((int)0X8446), Map2BinormalExt = ((int)0X8447), } public enum ExtCopyTexture { } public enum ExtCullVertex { CullVertexExt = ((int)0X81aa), CullVertexEyePositionExt = ((int)0X81ab), CullVertexObjectPositionExt = ((int)0X81ac), } public enum ExtDepthBoundsTest { DepthBoundsTestExt = ((int)0X8890), DepthBoundsExt = ((int)0X8891), } public enum ExtDirectStateAccess { ProgramMatrixExt = ((int)0X8e2d), TransposeProgramMatrixExt = ((int)0X8e2e), ProgramMatrixStackDepthExt = ((int)0X8e2f), } public enum ExtDrawBuffers2 { } public enum ExtDrawInstanced { } public enum ExtDrawRangeElements { MaxElementsVerticesExt = ((int)0X80e8), MaxElementsIndicesExt = ((int)0X80e9), } public enum ExtFogCoord { FogCoordinateSourceExt = ((int)0X8450), FogCoordinateExt = ((int)0X8451), FragmentDepthExt = ((int)0X8452), CurrentFogCoordinateExt = ((int)0X8453), FogCoordinateArrayTypeExt = ((int)0X8454), FogCoordinateArrayStrideExt = ((int)0X8455), FogCoordinateArrayPointerExt = ((int)0X8456), FogCoordinateArrayExt = ((int)0X8457), } public enum ExtFramebufferBlit { DrawFramebufferBindingExt = ((int)0X8ca6), ReadFramebufferExt = ((int)0X8ca8), DrawFramebufferExt = ((int)0X8ca9), ReadFramebufferBindingExt = ((int)0X8caa), } public enum ExtFramebufferMultisample { RenderbufferSamplesExt = ((int)0X8cab), FramebufferIncompleteMultisampleExt = ((int)0X8d56), MaxSamplesExt = ((int)0X8d57), } public enum ExtFramebufferObject { InvalidFramebufferOperationExt = ((int)0X0506), MaxRenderbufferSizeExt = ((int)0X84e8), FramebufferBindingExt = ((int)0X8ca6), RenderbufferBindingExt = ((int)0X8ca7), FramebufferAttachmentObjectTypeExt = ((int)0X8cd0), FramebufferAttachmentObjectNameExt = ((int)0X8cd1), FramebufferAttachmentTextureLevelExt = ((int)0X8cd2), FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3), FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4), FramebufferCompleteExt = ((int)0X8cd5), FramebufferIncompleteAttachmentExt = ((int)0X8cd6), FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7), FramebufferIncompleteDimensionsExt = ((int)0X8cd9), FramebufferIncompleteFormatsExt = ((int)0X8cda), FramebufferIncompleteDrawBufferExt = ((int)0X8cdb), FramebufferIncompleteReadBufferExt = ((int)0X8cdc), FramebufferUnsupportedExt = ((int)0X8cdd), MaxColorAttachmentsExt = ((int)0X8cdf), ColorAttachment0Ext = ((int)0X8ce0), ColorAttachment1Ext = ((int)0X8ce1), ColorAttachment2Ext = ((int)0X8ce2), ColorAttachment3Ext = ((int)0X8ce3), ColorAttachment4Ext = ((int)0X8ce4), ColorAttachment5Ext = ((int)0X8ce5), ColorAttachment6Ext = ((int)0X8ce6), ColorAttachment7Ext = ((int)0X8ce7), ColorAttachment8Ext = ((int)0X8ce8), ColorAttachment9Ext = ((int)0X8ce9), ColorAttachment10Ext = ((int)0X8cea), ColorAttachment11Ext = ((int)0X8ceb), ColorAttachment12Ext = ((int)0X8cec), ColorAttachment13Ext = ((int)0X8ced), ColorAttachment14Ext = ((int)0X8cee), ColorAttachment15Ext = ((int)0X8cef), DepthAttachmentExt = ((int)0X8d00), StencilAttachmentExt = ((int)0X8d20), FramebufferExt = ((int)0X8d40), RenderbufferExt = ((int)0X8d41), RenderbufferWidthExt = ((int)0X8d42), RenderbufferHeightExt = ((int)0X8d43), RenderbufferInternalFormatExt = ((int)0X8d44), StencilIndex1Ext = ((int)0X8d46), StencilIndex4Ext = ((int)0X8d47), StencilIndex8Ext = ((int)0X8d48), StencilIndex16Ext = ((int)0X8d49), RenderbufferRedSizeExt = ((int)0X8d50), RenderbufferGreenSizeExt = ((int)0X8d51), RenderbufferBlueSizeExt = ((int)0X8d52), RenderbufferAlphaSizeExt = ((int)0X8d53), RenderbufferDepthSizeExt = ((int)0X8d54), RenderbufferStencilSizeExt = ((int)0X8d55), } public enum ExtFramebufferSrgb { FramebufferSrgbExt = ((int)0X8db9), FramebufferSrgbCapableExt = ((int)0X8dba), } public enum ExtGeometryShader4 { LinesAdjacencyExt = ((int)0X000a), LineStripAdjacencyExt = ((int)0X000b), TrianglesAdjacencyExt = ((int)0X000c), TriangleStripAdjacencyExt = ((int)0X000D), ProgramPointSizeExt = ((int)0X8642), MaxVaryingComponentsExt = ((int)0X8b4b), MaxGeometryTextureImageUnitsExt = ((int)0X8c29), FramebufferAttachmentTextureLayerExt = ((int)0X8cd4), FramebufferAttachmentLayeredExt = ((int)0X8Da7), FramebufferIncompleteLayerTargetsExt = ((int)0X8Da8), FramebufferIncompleteLayerCountExt = ((int)0X8Da9), GeometryShaderExt = ((int)0X8dd9), GeometryVerticesOutExt = ((int)0X8Dda), GeometryInputTypeExt = ((int)0X8Ddb), GeometryOutputTypeExt = ((int)0X8Ddc), MaxGeometryVaryingComponentsExt = ((int)0X8ddd), MaxVertexVaryingComponentsExt = ((int)0X8dde), MaxGeometryUniformComponentsExt = ((int)0X8ddf), MaxGeometryOutputVerticesExt = ((int)0X8de0), MaxGeometryTotalOutputComponentsExt = ((int)0X8de1), } public enum ExtGpuProgramParameters { } public enum ExtGpuShader4 { Sampler1DArrayExt = ((int)0X8dc0), Sampler2DArrayExt = ((int)0X8dc1), SamplerBufferExt = ((int)0X8dc2), Sampler1DArrayShadowExt = ((int)0X8dc3), Sampler2DArrayShadowExt = ((int)0X8dc4), SamplerCubeShadowExt = ((int)0X8dc5), UnsignedIntVec2Ext = ((int)0X8dc6), UnsignedIntVec3Ext = ((int)0X8dc7), UnsignedIntVec4Ext = ((int)0X8dc8), IntSampler1DExt = ((int)0X8dc9), IntSampler2DExt = ((int)0X8dca), IntSampler3DExt = ((int)0X8dcb), IntSamplerCubeExt = ((int)0X8dcc), IntSampler2DRectExt = ((int)0X8dcd), IntSampler1DArrayExt = ((int)0X8dce), IntSampler2DArrayExt = ((int)0X8dcf), IntSamplerBufferExt = ((int)0X8dd0), UnsignedIntSampler1DExt = ((int)0X8dd1), UnsignedIntSampler2DExt = ((int)0X8dd2), UnsignedIntSampler3DExt = ((int)0X8dd3), UnsignedIntSamplerCubeExt = ((int)0X8dd4), UnsignedIntSampler2DRectExt = ((int)0X8dd5), UnsignedIntSampler1DArrayExt = ((int)0X8dd6), UnsignedIntSampler2DArrayExt = ((int)0X8dd7), UnsignedIntSamplerBufferExt = ((int)0X8dd8), } public enum ExtHistogram { HistogramExt = ((int)0X8024), ProxyHistogramExt = ((int)0X8025), HistogramWidthExt = ((int)0X8026), HistogramFormatExt = ((int)0X8027), HistogramRedSizeExt = ((int)0X8028), HistogramGreenSizeExt = ((int)0X8029), HistogramBlueSizeExt = ((int)0X802a), HistogramAlphaSizeExt = ((int)0X802b), HistogramLuminanceSize = ((int)0X802c), HistogramLuminanceSizeExt = ((int)0X802c), HistogramSinkExt = ((int)0X802d), MinmaxExt = ((int)0X802e), MinmaxFormatExt = ((int)0X802f), MinmaxSinkExt = ((int)0X8030), TableTooLargeExt = ((int)0X8031), } public enum ExtIndexArrayFormats { IuiV2fExt = ((int)0X81ad), IuiV3fExt = ((int)0X81ae), IuiN3fV2fExt = ((int)0X81af), IuiN3fV3fExt = ((int)0X81b0), T2fIuiV2fExt = ((int)0X81b1), T2fIuiV3fExt = ((int)0X81b2), T2fIuiN3fV2fExt = ((int)0X81b3), T2fIuiN3fV3fExt = ((int)0X81b4), } public enum ExtIndexFunc { IndexTestExt = ((int)0X81b5), IndexTestFuncExt = ((int)0X81b6), IndexTestRefExt = ((int)0X81b7), } public enum ExtIndexMaterial { IndexMaterialExt = ((int)0X81b8), IndexMaterialParameterExt = ((int)0X81b9), IndexMaterialFaceExt = ((int)0X81ba), } public enum ExtIndexTexture { } public enum ExtLightTexture { FragmentMaterialExt = ((int)0X8349), FragmentNormalExt = ((int)0X834a), FragmentColorExt = ((int)0X834c), AttenuationExt = ((int)0X834d), ShadowAttenuationExt = ((int)0X834e), TextureApplicationModeExt = ((int)0X834f), TextureLightExt = ((int)0X8350), TextureMaterialFaceExt = ((int)0X8351), TextureMaterialParameterExt = ((int)0X8352), FragmentDepthExt = ((int)0X8452), } public enum ExtMiscAttribute { } public enum ExtMultiDrawArrays { } public enum ExtMultisample { MultisampleBitExt = ((int)0X20000000), MultisampleExt = ((int)0X809d), SampleAlphaToMaskExt = ((int)0X809e), SampleAlphaToOneExt = ((int)0X809f), SampleMaskExt = ((int)0X80a0), Gl1PassExt = ((int)0X80a1), Gl2Pass0Ext = ((int)0X80a2), Gl2Pass1Ext = ((int)0X80a3), Gl4Pass0Ext = ((int)0X80a4), Gl4Pass1Ext = ((int)0X80a5), Gl4Pass2Ext = ((int)0X80a6), Gl4Pass3Ext = ((int)0X80a7), SampleBuffersExt = ((int)0X80a8), SamplesExt = ((int)0X80a9), SampleMaskValueExt = ((int)0X80aa), SampleMaskInvertExt = ((int)0X80ab), SamplePatternExt = ((int)0X80ac), } public enum ExtPackedDepthStencil { DepthStencilExt = ((int)0X84f9), UnsignedInt248Ext = ((int)0X84fa), Depth24Stencil8Ext = ((int)0X88f0), TextureStencilSizeExt = ((int)0X88f1), } public enum ExtPackedFloat { R11fG11fB10fExt = ((int)0X8c3a), UnsignedInt10F11F11FRevExt = ((int)0X8c3b), RgbaSignedComponentsExt = ((int)0X8c3c), } public enum ExtPackedPixels { UnsignedByte332Ext = ((int)0X8032), UnsignedShort4444Ext = ((int)0X8033), UnsignedShort5551Ext = ((int)0X8034), UnsignedInt8888Ext = ((int)0X8035), UnsignedInt1010102Ext = ((int)0X8036), UnsignedByte233RevExt = ((int)0X8362), UnsignedShort565Ext = ((int)0X8363), UnsignedShort565RevExt = ((int)0X8364), UnsignedShort4444RevExt = ((int)0X8365), UnsignedShort1555RevExt = ((int)0X8366), UnsignedInt8888RevExt = ((int)0X8367), UnsignedInt2101010RevExt = ((int)0X8368), } public enum ExtPalettedTexture { ColorIndex1Ext = ((int)0X80e2), ColorIndex2Ext = ((int)0X80e3), ColorIndex4Ext = ((int)0X80e4), ColorIndex8Ext = ((int)0X80e5), ColorIndex12Ext = ((int)0X80e6), ColorIndex16Ext = ((int)0X80e7), TextureIndexSizeExt = ((int)0X80ed), } public enum ExtPixelBufferObject { PixelPackBufferExt = ((int)0X88eb), PixelUnpackBufferExt = ((int)0X88ec), PixelPackBufferBindingExt = ((int)0X88ed), PixelUnpackBufferBindingExt = ((int)0X88ef), } public enum ExtPixelTransform { PixelTransform2DExt = ((int)0X8330), PixelMagFilterExt = ((int)0X8331), PixelMinFilterExt = ((int)0X8332), PixelCubicWeightExt = ((int)0X8333), CubicExt = ((int)0X8334), AverageExt = ((int)0X8335), PixelTransform2DStackDepthExt = ((int)0X8336), MaxPixelTransform2DStackDepthExt = ((int)0X8337), PixelTransform2DMatrixExt = ((int)0X8338), } public enum ExtPixelTransformColorTable { } public enum ExtPointParameters { PointSizeMinExt = ((int)0X8126), PointSizeMaxExt = ((int)0X8127), PointFadeThresholdSizeExt = ((int)0X8128), DistanceAttenuationExt = ((int)0X8129), } public enum ExtPolygonOffset { PolygonOffsetExt = ((int)0X8037), PolygonOffsetFactorExt = ((int)0X8038), PolygonOffsetBiasExt = ((int)0X8039), } public enum ExtProvokingVertex { QuadsFollowProvokingVertexConventionExt = ((int)0X8e4c), FirstVertexConventionExt = ((int)0X8e4d), LastVertexConventionExt = ((int)0X8e4e), ProvokingVertexExt = ((int)0X8e4f), } public enum ExtRescaleNormal { RescaleNormalExt = ((int)0X803a), } public enum ExtSecondaryColor { ColorSumExt = ((int)0X8458), CurrentSecondaryColorExt = ((int)0X8459), SecondaryColorArraySizeExt = ((int)0X845a), SecondaryColorArrayTypeExt = ((int)0X845b), SecondaryColorArrayStrideExt = ((int)0X845c), SecondaryColorArrayPointerExt = ((int)0X845d), SecondaryColorArrayExt = ((int)0X845e), } public enum ExtSeparateSpecularColor { LightModelColorControlExt = ((int)0X81f8), SingleColorExt = ((int)0X81f9), SeparateSpecularColorExt = ((int)0X81fa), } public enum ExtShadowFuncs { } public enum ExtSharedTexturePalette { SharedTexturePaletteExt = ((int)0X81fb), } public enum ExtStencilClearTag { StencilTagBitsExt = ((int)0X88f2), StencilClearTagValueExt = ((int)0X88f3), } public enum ExtStencilTwoSide { StencilTestTwoSideExt = ((int)0X8910), ActiveStencilFaceExt = ((int)0X8911), } public enum ExtStencilWrap { IncrWrapExt = ((int)0X8507), DecrWrapExt = ((int)0X8508), } public enum ExtSubtexture { } public enum ExtTexture { Alpha4Ext = ((int)0X803b), Alpha8Ext = ((int)0X803c), Alpha12Ext = ((int)0X803d), Alpha16Ext = ((int)0X803e), Luminance4Ext = ((int)0X803f), Luminance8Ext = ((int)0X8040), Luminance12Ext = ((int)0X8041), Luminance16Ext = ((int)0X8042), Luminance4Alpha4Ext = ((int)0X8043), Luminance6Alpha2Ext = ((int)0X8044), Luminance8Alpha8Ext = ((int)0X8045), Luminance12Alpha4Ext = ((int)0X8046), Luminance12Alpha12Ext = ((int)0X8047), Luminance16Alpha16Ext = ((int)0X8048), IntensityExt = ((int)0X8049), Intensity4Ext = ((int)0X804a), Intensity8Ext = ((int)0X804b), Intensity12Ext = ((int)0X804c), Intensity16Ext = ((int)0X804d), Rgb2Ext = ((int)0X804e), Rgb4Ext = ((int)0X804f), Rgb5Ext = ((int)0X8050), Rgb8Ext = ((int)0X8051), Rgb10Ext = ((int)0X8052), Rgb12Ext = ((int)0X8053), Rgb16Ext = ((int)0X8054), Rgba2Ext = ((int)0X8055), Rgba4Ext = ((int)0X8056), Rgb5A1Ext = ((int)0X8057), Rgba8Ext = ((int)0X8058), Rgb10A2Ext = ((int)0X8059), Rgba12Ext = ((int)0X805a), Rgba16Ext = ((int)0X805b), TextureRedSizeExt = ((int)0X805c), TextureGreenSizeExt = ((int)0X805d), TextureBlueSizeExt = ((int)0X805e), TextureAlphaSizeExt = ((int)0X805f), TextureLuminanceSizeExt = ((int)0X8060), TextureIntensitySizeExt = ((int)0X8061), ReplaceExt = ((int)0X8062), ProxyTexture1DExt = ((int)0X8063), ProxyTexture2DExt = ((int)0X8064), TextureTooLargeExt = ((int)0X8065), } public enum ExtTexture3D { PackSkipImagesExt = ((int)0X806b), PackImageHeightExt = ((int)0X806c), UnpackSkipImagesExt = ((int)0X806d), UnpackImageHeightExt = ((int)0X806e), Texture3DExt = ((int)0X806f), ProxyTexture3DExt = ((int)0X8070), TextureDepthExt = ((int)0X8071), TextureWrapRExt = ((int)0X8072), Max3DTextureSizeExt = ((int)0X8073), } public enum ExtTextureArray { CompareRefDepthToTextureExt = ((int)0X884e), MaxArrayTextureLayersExt = ((int)0X88ff), Texture1DArrayExt = ((int)0X8c18), ProxyTexture1DArrayExt = ((int)0X8c19), Texture2DArrayExt = ((int)0X8c1a), ProxyTexture2DArrayExt = ((int)0X8c1b), TextureBinding1DArrayExt = ((int)0X8c1c), TextureBinding2DArrayExt = ((int)0X8c1d), FramebufferAttachmentTextureLayerExt = ((int)0X8cd4), } public enum ExtTextureBufferObject { TextureBufferExt = ((int)0X8c2a), MaxTextureBufferSizeExt = ((int)0X8c2b), TextureBindingBufferExt = ((int)0X8c2c), TextureBufferDataStoreBindingExt = ((int)0X8c2d), TextureBufferFormatExt = ((int)0X8c2e), } public enum ExtTextureCompressionLatc { CompressedLuminanceLatc1Ext = ((int)0X8c70), CompressedSignedLuminanceLatc1Ext = ((int)0X8c71), CompressedLuminanceAlphaLatc2Ext = ((int)0X8c72), CompressedSignedLuminanceAlphaLatc2Ext = ((int)0X8c73), } public enum ExtTextureCompressionRgtc { CompressedRedRgtc1Ext = ((int)0X8dbb), CompressedSignedRedRgtc1Ext = ((int)0X8dbc), CompressedRedGreenRgtc2Ext = ((int)0X8dbd), CompressedSignedRedGreenRgtc2Ext = ((int)0X8dbe), } public enum ExtTextureCompressionS3tc { CompressedRgbS3tcDxt1Ext = ((int)0X83f0), CompressedRgbaS3tcDxt1Ext = ((int)0X83f1), CompressedRgbaS3tcDxt3Ext = ((int)0X83f2), CompressedRgbaS3tcDxt5Ext = ((int)0X83f3), } public enum ExtTextureCubeMap { NormalMapExt = ((int)0X8511), ReflectionMapExt = ((int)0X8512), TextureCubeMapExt = ((int)0X8513), TextureBindingCubeMapExt = ((int)0X8514), TextureCubeMapPositiveXExt = ((int)0X8515), TextureCubeMapNegativeXExt = ((int)0X8516), TextureCubeMapPositiveYExt = ((int)0X8517), TextureCubeMapNegativeYExt = ((int)0X8518), TextureCubeMapPositiveZExt = ((int)0X8519), TextureCubeMapNegativeZExt = ((int)0X851a), ProxyTextureCubeMapExt = ((int)0X851b), MaxCubeMapTextureSizeExt = ((int)0X851c), } public enum ExtTextureEnvAdd { } public enum ExtTextureEnvCombine { CombineExt = ((int)0X8570), CombineRgbExt = ((int)0X8571), CombineAlphaExt = ((int)0X8572), RgbScaleExt = ((int)0X8573), AddSignedExt = ((int)0X8574), InterpolateExt = ((int)0X8575), ConstantExt = ((int)0X8576), PrimaryColorExt = ((int)0X8577), PreviousExt = ((int)0X8578), Source0RgbExt = ((int)0X8580), Source1RgbExt = ((int)0X8581), Source2RgbExt = ((int)0X8582), Source0AlphaExt = ((int)0X8588), Source1AlphaExt = ((int)0X8589), Source2AlphaExt = ((int)0X858a), Operand0RgbExt = ((int)0X8590), Operand1RgbExt = ((int)0X8591), Operand2RgbExt = ((int)0X8592), Operand0AlphaExt = ((int)0X8598), Operand1AlphaExt = ((int)0X8599), Operand2AlphaExt = ((int)0X859a), } public enum ExtTextureEnvDot3 { Dot3RgbExt = ((int)0X8740), Dot3RgbaExt = ((int)0X8741), } public enum ExtTextureFilterAnisotropic { TextureMaxAnisotropyExt = ((int)0X84fe), MaxTextureMaxAnisotropyExt = ((int)0X84ff), } public enum ExtTextureInteger { Rgba32uiExt = ((int)0X8d70), Rgb32uiExt = ((int)0X8d71), Alpha32uiExt = ((int)0X8d72), Intensity32uiExt = ((int)0X8d73), Luminance32uiExt = ((int)0X8d74), LuminanceAlpha32uiExt = ((int)0X8d75), Rgba16uiExt = ((int)0X8d76), Rgb16uiExt = ((int)0X8d77), Alpha16uiExt = ((int)0X8d78), Intensity16uiExt = ((int)0X8d79), Luminance16uiExt = ((int)0X8d7a), LuminanceAlpha16uiExt = ((int)0X8d7b), Rgba8uiExt = ((int)0X8d7c), Rgb8uiExt = ((int)0X8d7d), Alpha8uiExt = ((int)0X8d7e), Intensity8uiExt = ((int)0X8d7f), Luminance8uiExt = ((int)0X8d80), LuminanceAlpha8uiExt = ((int)0X8d81), Rgba32iExt = ((int)0X8d82), Rgb32iExt = ((int)0X8d83), Alpha32iExt = ((int)0X8d84), Intensity32iExt = ((int)0X8d85), Luminance32iExt = ((int)0X8d86), LuminanceAlpha32iExt = ((int)0X8d87), Rgba16iExt = ((int)0X8d88), Rgb16iExt = ((int)0X8d89), Alpha16iExt = ((int)0X8d8a), Intensity16iExt = ((int)0X8d8b), Luminance16iExt = ((int)0X8d8c), LuminanceAlpha16iExt = ((int)0X8d8d), Rgba8iExt = ((int)0X8d8e), Rgb8iExt = ((int)0X8d8f), Alpha8iExt = ((int)0X8d90), Intensity8iExt = ((int)0X8d91), Luminance8iExt = ((int)0X8d92), LuminanceAlpha8iExt = ((int)0X8d93), RedIntegerExt = ((int)0X8d94), GreenIntegerExt = ((int)0X8d95), BlueIntegerExt = ((int)0X8d96), AlphaIntegerExt = ((int)0X8d97), RgbIntegerExt = ((int)0X8d98), RgbaIntegerExt = ((int)0X8d99), BgrIntegerExt = ((int)0X8d9a), BgraIntegerExt = ((int)0X8d9b), LuminanceIntegerExt = ((int)0X8d9c), LuminanceAlphaIntegerExt = ((int)0X8d9d), RgbaIntegerModeExt = ((int)0X8d9e), } public enum ExtTextureLodBias { MaxTextureLodBiasExt = ((int)0X84fd), TextureFilterControlExt = ((int)0X8500), TextureLodBiasExt = ((int)0X8501), } public enum ExtTextureMirrorClamp { MirrorClampExt = ((int)0X8742), MirrorClampToEdgeExt = ((int)0X8743), MirrorClampToBorderExt = ((int)0X8912), } public enum ExtTextureObject { TexturePriorityExt = ((int)0X8066), TextureResidentExt = ((int)0X8067), Texture1DBindingExt = ((int)0X8068), Texture2DBindingExt = ((int)0X8069), Texture3DBindingExt = ((int)0X806a), } public enum ExtTexturePerturbNormal { PerturbExt = ((int)0X85ae), TextureNormalExt = ((int)0X85af), } public enum ExtTextureSharedExponent { Rgb9E5Ext = ((int)0X8c3d), UnsignedInt5999RevExt = ((int)0X8c3e), TextureSharedSizeExt = ((int)0X8c3f), } public enum ExtTextureSnorm { RgSnorm = ((int)0X8f91), RgbSnorm = ((int)0X8f92), RgbaSnorm = ((int)0X8f93), R8Snorm = ((int)0X8f94), Rg8Snorm = ((int)0X8f95), Rgb8Snorm = ((int)0X8f96), Rgba8Snorm = ((int)0X8f97), R16Snorm = ((int)0X8f98), Rg16Snorm = ((int)0X8f99), Rgb16Snorm = ((int)0X8f9a), Rgba16Snorm = ((int)0X8f9b), SignedNormalized = ((int)0X8f9c), AlphaSnorm = ((int)0X9010), LuminanceSnorm = ((int)0X9011), LuminanceAlphaSnorm = ((int)0X9012), IntensitySnorm = ((int)0X9013), Alpha8Snorm = ((int)0X9014), Luminance8Snorm = ((int)0X9015), Luminance8Alpha8Snorm = ((int)0X9016), Intensity8Snorm = ((int)0X9017), Alpha16Snorm = ((int)0X9018), Luminance16Snorm = ((int)0X9019), Luminance16Alpha16Snorm = ((int)0X901a), Intensity16Snorm = ((int)0X901b), } public enum ExtTextureSrgb { SrgbExt = ((int)0X8c40), Srgb8Ext = ((int)0X8c41), SrgbAlphaExt = ((int)0X8c42), Srgb8Alpha8Ext = ((int)0X8c43), SluminanceAlphaExt = ((int)0X8c44), Sluminance8Alpha8Ext = ((int)0X8c45), SluminanceExt = ((int)0X8c46), Sluminance8Ext = ((int)0X8c47), CompressedSrgbExt = ((int)0X8c48), CompressedSrgbAlphaExt = ((int)0X8c49), CompressedSluminanceExt = ((int)0X8c4a), CompressedSluminanceAlphaExt = ((int)0X8c4b), CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c), CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d), CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e), CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f), } public enum ExtTextureSwizzle { TextureSwizzleRExt = ((int)0X8e42), TextureSwizzleGExt = ((int)0X8e43), TextureSwizzleBExt = ((int)0X8e44), TextureSwizzleAExt = ((int)0X8e45), TextureSwizzleRgbaExt = ((int)0X8e46), } public enum ExtTimerQuery { TimeElapsedExt = ((int)0X88bf), } public enum ExtTransformFeedback { TransformFeedbackVaryingMaxLengthExt = ((int)0X8c76), TransformFeedbackBufferModeExt = ((int)0X8c7f), MaxTransformFeedbackSeparateComponentsExt = ((int)0X8c80), TransformFeedbackVaryingsExt = ((int)0X8c83), TransformFeedbackBufferStartExt = ((int)0X8c84), TransformFeedbackBufferSizeExt = ((int)0X8c85), PrimitivesGeneratedExt = ((int)0X8c87), TransformFeedbackPrimitivesWrittenExt = ((int)0X8c88), RasterizerDiscardExt = ((int)0X8c89), MaxTransformFeedbackInterleavedComponentsExt = ((int)0X8c8a), MaxTransformFeedbackSeparateAttribsExt = ((int)0X8c8b), InterleavedAttribsExt = ((int)0X8c8c), SeparateAttribsExt = ((int)0X8c8d), TransformFeedbackBufferExt = ((int)0X8c8e), TransformFeedbackBufferBindingExt = ((int)0X8c8f), } public enum ExtVertexArray { VertexArrayExt = ((int)0X8074), NormalArrayExt = ((int)0X8075), ColorArrayExt = ((int)0X8076), IndexArrayExt = ((int)0X8077), TextureCoordArrayExt = ((int)0X8078), EdgeFlagArrayExt = ((int)0X8079), VertexArraySizeExt = ((int)0X807a), VertexArrayTypeExt = ((int)0X807b), VertexArrayStrideExt = ((int)0X807c), VertexArrayCountExt = ((int)0X807d), NormalArrayTypeExt = ((int)0X807e), NormalArrayStrideExt = ((int)0X807f), NormalArrayCountExt = ((int)0X8080), ColorArraySizeExt = ((int)0X8081), ColorArrayTypeExt = ((int)0X8082), ColorArrayStrideExt = ((int)0X8083), ColorArrayCountExt = ((int)0X8084), IndexArrayTypeExt = ((int)0X8085), IndexArrayStrideExt = ((int)0X8086), IndexArrayCountExt = ((int)0X8087), TextureCoordArraySizeExt = ((int)0X8088), TextureCoordArrayTypeExt = ((int)0X8089), TextureCoordArrayStrideExt = ((int)0X808a), TextureCoordArrayCountExt = ((int)0X808b), EdgeFlagArrayStrideExt = ((int)0X808c), EdgeFlagArrayCountExt = ((int)0X808d), VertexArrayPointerExt = ((int)0X808e), NormalArrayPointerExt = ((int)0X808f), ColorArrayPointerExt = ((int)0X8090), IndexArrayPointerExt = ((int)0X8091), TextureCoordArrayPointerExt = ((int)0X8092), EdgeFlagArrayPointerExt = ((int)0X8093), } public enum ExtVertexArrayBgra { Bgra = ((int)0X80e1), } public enum ExtVertexShader { VertexShaderExt = ((int)0X8780), VertexShaderBindingExt = ((int)0X8781), OpIndexExt = ((int)0X8782), OpNegateExt = ((int)0X8783), OpDot3Ext = ((int)0X8784), OpDot4Ext = ((int)0X8785), OpMulExt = ((int)0X8786), OpAddExt = ((int)0X8787), OpMaddExt = ((int)0X8788), OpFracExt = ((int)0X8789), OpMaxExt = ((int)0X878a), OpMinExt = ((int)0X878b), OpSetGeExt = ((int)0X878c), OpSetLtExt = ((int)0X878d), OpClampExt = ((int)0X878e), OpFloorExt = ((int)0X878f), OpRoundExt = ((int)0X8790), OpExpBase2Ext = ((int)0X8791), OpLogBase2Ext = ((int)0X8792), OpPowerExt = ((int)0X8793), OpRecipExt = ((int)0X8794), OpRecipSqrtExt = ((int)0X8795), OpSubExt = ((int)0X8796), OpCrossProductExt = ((int)0X8797), OpMultiplyMatrixExt = ((int)0X8798), OpMovExt = ((int)0X8799), OutputVertexExt = ((int)0X879a), OutputColor0Ext = ((int)0X879b), OutputColor1Ext = ((int)0X879c), OutputTextureCoord0Ext = ((int)0X879d), OutputTextureCoord1Ext = ((int)0X879e), OutputTextureCoord2Ext = ((int)0X879f), OutputTextureCoord3Ext = ((int)0X87a0), OutputTextureCoord4Ext = ((int)0X87a1), OutputTextureCoord5Ext = ((int)0X87a2), OutputTextureCoord6Ext = ((int)0X87a3), OutputTextureCoord7Ext = ((int)0X87a4), OutputTextureCoord8Ext = ((int)0X87a5), OutputTextureCoord9Ext = ((int)0X87a6), OutputTextureCoord10Ext = ((int)0X87a7), OutputTextureCoord11Ext = ((int)0X87a8), OutputTextureCoord12Ext = ((int)0X87a9), OutputTextureCoord13Ext = ((int)0X87aa), OutputTextureCoord14Ext = ((int)0X87ab), OutputTextureCoord15Ext = ((int)0X87ac), OutputTextureCoord16Ext = ((int)0X87ad), OutputTextureCoord17Ext = ((int)0X87ae), OutputTextureCoord18Ext = ((int)0X87af), OutputTextureCoord19Ext = ((int)0X87b0), OutputTextureCoord20Ext = ((int)0X87b1), OutputTextureCoord21Ext = ((int)0X87b2), OutputTextureCoord22Ext = ((int)0X87b3), OutputTextureCoord23Ext = ((int)0X87b4), OutputTextureCoord24Ext = ((int)0X87b5), OutputTextureCoord25Ext = ((int)0X87b6), OutputTextureCoord26Ext = ((int)0X87b7), OutputTextureCoord27Ext = ((int)0X87b8), OutputTextureCoord28Ext = ((int)0X87b9), OutputTextureCoord29Ext = ((int)0X87ba), OutputTextureCoord30Ext = ((int)0X87bb), OutputTextureCoord31Ext = ((int)0X87bc), OutputFogExt = ((int)0X87bd), ScalarExt = ((int)0X87be), VectorExt = ((int)0X87bf), MatrixExt = ((int)0X87c0), VariantExt = ((int)0X87c1), InvariantExt = ((int)0X87c2), LocalConstantExt = ((int)0X87c3), LocalExt = ((int)0X87c4), MaxVertexShaderInstructionsExt = ((int)0X87c5), MaxVertexShaderVariantsExt = ((int)0X87c6), MaxVertexShaderInvariantsExt = ((int)0X87c7), MaxVertexShaderLocalConstantsExt = ((int)0X87c8), MaxVertexShaderLocalsExt = ((int)0X87c9), MaxOptimizedVertexShaderInstructionsExt = ((int)0X87ca), MaxOptimizedVertexShaderVariantsExt = ((int)0X87cb), MaxOptimizedVertexShaderLocalConstantsExt = ((int)0X87cc), MaxOptimizedVertexShaderInvariantsExt = ((int)0X87cd), MaxOptimizedVertexShaderLocalsExt = ((int)0X87ce), VertexShaderInstructionsExt = ((int)0X87cf), VertexShaderVariantsExt = ((int)0X87d0), VertexShaderInvariantsExt = ((int)0X87d1), VertexShaderLocalConstantsExt = ((int)0X87d2), VertexShaderLocalsExt = ((int)0X87d3), VertexShaderOptimizedExt = ((int)0X87d4), XExt = ((int)0X87d5), YExt = ((int)0X87d6), ZExt = ((int)0X87d7), WExt = ((int)0X87d8), NegativeXExt = ((int)0X87d9), NegativeYExt = ((int)0X87da), NegativeZExt = ((int)0X87db), NegativeWExt = ((int)0X87dc), ZeroExt = ((int)0X87dd), OneExt = ((int)0X87de), NegativeOneExt = ((int)0X87df), NormalizedRangeExt = ((int)0X87e0), FullRangeExt = ((int)0X87e1), CurrentVertexExt = ((int)0X87e2), MvpMatrixExt = ((int)0X87e3), VariantValueExt = ((int)0X87e4), VariantDatatypeExt = ((int)0X87e5), VariantArrayStrideExt = ((int)0X87e6), VariantArrayTypeExt = ((int)0X87e7), VariantArrayExt = ((int)0X87e8), VariantArrayPointerExt = ((int)0X87e9), InvariantValueExt = ((int)0X87ea), InvariantDatatypeExt = ((int)0X87eb), LocalConstantValueExt = ((int)0X87ec), LocalConstantDatatypeExt = ((int)0X87ed), } public enum ExtVertexWeighting { Modelview0StackDepthExt = ((int)0X0ba3), Modelview0MatrixExt = ((int)0X0ba6), Modelview0Ext = ((int)0X1700), Modelview1StackDepthExt = ((int)0X8502), Modelview1MatrixExt = ((int)0X8506), VertexWeightingExt = ((int)0X8509), Modelview1Ext = ((int)0X850a), CurrentVertexWeightExt = ((int)0X850b), VertexWeightArrayExt = ((int)0X850c), VertexWeightArraySizeExt = ((int)0X850d), VertexWeightArrayTypeExt = ((int)0X850e), VertexWeightArrayStrideExt = ((int)0X850f), VertexWeightArrayPointerExt = ((int)0X8510), } public enum FeedBackToken { PassThroughToken = ((int)0X0700), PointToken = ((int)0X0701), LineToken = ((int)0X0702), PolygonToken = ((int)0X0703), BitmapToken = ((int)0X0704), DrawPixelToken = ((int)0X0705), CopyPixelToken = ((int)0X0706), LineResetToken = ((int)0X0707), } public enum FeedbackType { Gl2D = ((int)0X0600), Gl3D = ((int)0X0601), Gl3DColor = ((int)0X0602), Gl3DColorTexture = ((int)0X0603), Gl4DColorTexture = ((int)0X0604), } [Flags] public enum FfdMaskSgix { TextureDeformationBitSgix = ((int)0X00000001), GeometryDeformationBitSgix = ((int)0X00000002), } public enum FfdTargetSgix { GeometryDeformationSgix = ((int)0X8194), TextureDeformationSgix = ((int)0X8195), } public enum FogMode { Exp = ((int)0X0800), Exp2 = ((int)0X0801), Linear = ((int)0X2601), FogFuncSgis = ((int)0X812a), FogCoord = ((int)0X8451), FragmentDepth = ((int)0X8452), } public enum FogParameter { FogIndex = ((int)0X0b61), FogDensity = ((int)0X0b62), FogStart = ((int)0X0b63), FogEnd = ((int)0X0b64), FogMode = ((int)0X0b65), FogColor = ((int)0X0b66), FogOffsetValueSgix = ((int)0X8199), FogCoordSrc = ((int)0X8450), } public enum FogPointerType { Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum FragmentLightModelParameterSgix { FragmentLightModelLocalViewerSgix = ((int)0X8408), FragmentLightModelTwoSideSgix = ((int)0X8409), FragmentLightModelAmbientSgix = ((int)0X840a), FragmentLightModelNormalInterpolationSgix = ((int)0X840b), } public enum FramebufferAttachment { DepthStencilAttachment = ((int)0X821a), ColorAttachment0 = ((int)0X8ce0), ColorAttachment0Ext = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment1Ext = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment2Ext = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment3Ext = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment4Ext = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment5Ext = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment6Ext = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment7Ext = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment8Ext = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment9Ext = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment10Ext = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment11Ext = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment12Ext = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment13Ext = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment14Ext = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), ColorAttachment15Ext = ((int)0X8cef), DepthAttachmentExt = ((int)0X8d00), DepthAttachment = ((int)0X8D00), StencilAttachmentExt = ((int)0X8d20), StencilAttachment = ((int)0X8D20), } public enum FramebufferAttachmentComponentType { Int = ((int)0X1404), Float = ((int)0X1406), UnsignedNormalized = ((int)0X8c17), } public enum FramebufferAttachmentObjectType { None = ((int)0), Texture = ((int)0X1702), FramebufferDefault = ((int)0X8218), Renderbuffer = ((int)0X8D41), } public enum FramebufferErrorCode { FramebufferUndefined = ((int)0X8219), FramebufferComplete = ((int)0X8cd5), FramebufferCompleteExt = ((int)0X8cd5), FramebufferIncompleteAttachment = ((int)0X8cd6), FramebufferIncompleteAttachmentExt = ((int)0X8cd6), FramebufferIncompleteMissingAttachment = ((int)0X8cd7), FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7), FramebufferIncompleteDimensionsExt = ((int)0X8cd9), FramebufferIncompleteFormatsExt = ((int)0X8cda), FramebufferIncompleteDrawBuffer = ((int)0X8cdb), FramebufferIncompleteDrawBufferExt = ((int)0X8cdb), FramebufferIncompleteReadBuffer = ((int)0X8cdc), FramebufferIncompleteReadBufferExt = ((int)0X8cdc), FramebufferUnsupported = ((int)0X8cdd), FramebufferUnsupportedExt = ((int)0X8cdd), FramebufferIncompleteMultisample = ((int)0X8D56), } public enum FramebufferParameterName { FramebufferAttachmentColorEncoding = ((int)0X8210), FramebufferAttachmentComponentType = ((int)0X8211), FramebufferAttachmentRedSize = ((int)0X8212), FramebufferAttachmentGreenSize = ((int)0X8213), FramebufferAttachmentBlueSize = ((int)0X8214), FramebufferAttachmentAlphaSize = ((int)0X8215), FramebufferAttachmentDepthSize = ((int)0X8216), FramebufferAttachmentStencilSize = ((int)0X8217), FramebufferAttachmentObjectType = ((int)0X8cd0), FramebufferAttachmentObjectTypeExt = ((int)0X8cd0), FramebufferAttachmentObjectName = ((int)0X8cd1), FramebufferAttachmentObjectNameExt = ((int)0X8cd1), FramebufferAttachmentTextureLevel = ((int)0X8cd2), FramebufferAttachmentTextureLevelExt = ((int)0X8cd2), FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3), FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3), FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4), FramebufferAttachmentTextureLayer = ((int)0X8cd4), } public enum FramebufferTarget { ReadFramebuffer = ((int)0X8ca8), DrawFramebuffer = ((int)0X8ca9), FramebufferExt = ((int)0X8d40), Framebuffer = ((int)0X8D40), } public enum FrontFaceDirection { Cw = ((int)0X0900), Ccw = ((int)0X0901), } public enum GenerateMipmapTarget { Texture1D = ((int)0X0de0), Texture2D = ((int)0X0de1), Texture3D = ((int)0X806f), TextureCubeMap = ((int)0X8513), } public enum GetColorTableParameterPName { } public enum GetColorTableParameterPNameSgi { ColorTableScaleSgi = ((int)0X80D6), ColorTableBiasSgi = ((int)0X80D7), ColorTableFormatSgi = ((int)0X80D8), ColorTableWidthSgi = ((int)0X80D9), ColorTableRedSizeSgi = ((int)0X80Da), ColorTableGreenSizeSgi = ((int)0X80Db), ColorTableBlueSizeSgi = ((int)0X80Dc), ColorTableAlphaSizeSgi = ((int)0X80Dd), ColorTableLuminanceSizeSgi = ((int)0X80De), ColorTableIntensitySizeSgi = ((int)0X80Df), } public enum GetConvolutionParameter { ConvolutionBorderModeExt = ((int)0X8013), ConvolutionFilterScaleExt = ((int)0X8014), ConvolutionFilterBiasExt = ((int)0X8015), ConvolutionFormatExt = ((int)0X8017), ConvolutionWidthExt = ((int)0X8018), ConvolutionHeightExt = ((int)0X8019), MaxConvolutionWidthExt = ((int)0X801a), MaxConvolutionHeightExt = ((int)0X801b), } public enum GetHistogramParameterPNameExt { HistogramWidthExt = ((int)0X8026), HistogramFormatExt = ((int)0X8027), HistogramRedSizeExt = ((int)0X8028), HistogramGreenSizeExt = ((int)0X8029), HistogramBlueSizeExt = ((int)0X802a), HistogramAlphaSizeExt = ((int)0X802b), HistogramLuminanceSizeExt = ((int)0X802c), HistogramSinkExt = ((int)0X802D), } public enum GetIndexedPName { UniformBufferBinding = ((int)0X8a28), UniformBufferStart = ((int)0X8a29), UniformBufferSize = ((int)0X8a2a), TransformFeedbackBufferStart = ((int)0X8c84), TransformFeedbackBufferSize = ((int)0X8c85), TransformFeedbackBufferBinding = ((int)0X8c8f), } public enum GetMapQuery { Coeff = ((int)0X0a00), Order = ((int)0X0a01), Domain = ((int)0X0a02), } public enum GetMinmaxParameterPNameExt { MinmaxFormatExt = ((int)0X802f), MinmaxSinkExt = ((int)0X8030), } public enum GetPixelMap { PixelMapIToI = ((int)0X0c70), PixelMapSToS = ((int)0X0c71), PixelMapIToR = ((int)0X0c72), PixelMapIToG = ((int)0X0c73), PixelMapIToB = ((int)0X0c74), PixelMapIToA = ((int)0X0c75), PixelMapRToR = ((int)0X0c76), PixelMapGToG = ((int)0X0c77), PixelMapBToB = ((int)0X0c78), PixelMapAToA = ((int)0X0c79), } public enum GetPName { CurrentColor = ((int)0X0b00), CurrentIndex = ((int)0X0b01), CurrentNormal = ((int)0X0b02), CurrentTextureCoords = ((int)0X0b03), CurrentRasterColor = ((int)0X0b04), CurrentRasterIndex = ((int)0X0b05), CurrentRasterTextureCoords = ((int)0X0b06), CurrentRasterPosition = ((int)0X0b07), CurrentRasterPositionValid = ((int)0X0b08), CurrentRasterDistance = ((int)0X0b09), PointSmooth = ((int)0X0b10), PointSize = ((int)0X0b11), PointSizeRange = ((int)0X0b12), SmoothPointSizeRange = ((int)0X0b12), PointSizeGranularity = ((int)0X0b13), SmoothPointSizeGranularity = ((int)0X0b13), LineSmooth = ((int)0X0b20), LineWidth = ((int)0X0b21), LineWidthRange = ((int)0X0b22), SmoothLineWidthRange = ((int)0X0b22), LineWidthGranularity = ((int)0X0b23), SmoothLineWidthGranularity = ((int)0X0b23), LineStipple = ((int)0X0b24), LineStipplePattern = ((int)0X0b25), LineStippleRepeat = ((int)0X0b26), ListMode = ((int)0X0b30), MaxListNesting = ((int)0X0b31), ListBase = ((int)0X0b32), ListIndex = ((int)0X0b33), PolygonMode = ((int)0X0b40), PolygonSmooth = ((int)0X0b41), PolygonStipple = ((int)0X0b42), EdgeFlag = ((int)0X0b43), CullFace = ((int)0X0b44), CullFaceMode = ((int)0X0b45), FrontFace = ((int)0X0b46), Lighting = ((int)0X0b50), LightModelLocalViewer = ((int)0X0b51), LightModelTwoSide = ((int)0X0b52), LightModelAmbient = ((int)0X0b53), ShadeModel = ((int)0X0b54), ColorMaterialFace = ((int)0X0b55), ColorMaterialParameter = ((int)0X0b56), ColorMaterial = ((int)0X0b57), Fog = ((int)0X0b60), FogIndex = ((int)0X0b61), FogDensity = ((int)0X0b62), FogStart = ((int)0X0b63), FogEnd = ((int)0X0b64), FogMode = ((int)0X0b65), FogColor = ((int)0X0b66), DepthRange = ((int)0X0b70), DepthTest = ((int)0X0b71), DepthWritemask = ((int)0X0b72), DepthClearValue = ((int)0X0b73), DepthFunc = ((int)0X0b74), AccumClearValue = ((int)0X0b80), StencilTest = ((int)0X0b90), StencilClearValue = ((int)0X0b91), StencilFunc = ((int)0X0b92), StencilValueMask = ((int)0X0b93), StencilFail = ((int)0X0b94), StencilPassDepthFail = ((int)0X0b95), StencilPassDepthPass = ((int)0X0b96), StencilRef = ((int)0X0b97), StencilWritemask = ((int)0X0b98), MatrixMode = ((int)0X0ba0), Normalize = ((int)0X0ba1), Viewport = ((int)0X0ba2), ModelviewStackDepth = ((int)0X0ba3), ProjectionStackDepth = ((int)0X0ba4), TextureStackDepth = ((int)0X0ba5), ModelviewMatrix = ((int)0X0ba6), ProjectionMatrix = ((int)0X0ba7), TextureMatrix = ((int)0X0ba8), AttribStackDepth = ((int)0X0bb0), ClientAttribStackDepth = ((int)0X0bb1), AlphaTest = ((int)0X0bc0), AlphaTestFunc = ((int)0X0bc1), AlphaTestRef = ((int)0X0bc2), Dither = ((int)0X0bd0), BlendDst = ((int)0X0be0), BlendSrc = ((int)0X0be1), Blend = ((int)0X0be2), LogicOpMode = ((int)0X0bf0), IndexLogicOp = ((int)0X0bf1), LogicOp = ((int)0X0bf1), ColorLogicOp = ((int)0X0bf2), AuxBuffers = ((int)0X0c00), DrawBuffer = ((int)0X0c01), ReadBuffer = ((int)0X0c02), ScissorBox = ((int)0X0c10), ScissorTest = ((int)0X0c11), IndexClearValue = ((int)0X0c20), IndexWritemask = ((int)0X0c21), ColorClearValue = ((int)0X0c22), ColorWritemask = ((int)0X0c23), IndexMode = ((int)0X0c30), RgbaMode = ((int)0X0c31), Doublebuffer = ((int)0X0c32), Stereo = ((int)0X0c33), RenderMode = ((int)0X0c40), PerspectiveCorrectionHint = ((int)0X0c50), PointSmoothHint = ((int)0X0c51), LineSmoothHint = ((int)0X0c52), PolygonSmoothHint = ((int)0X0c53), FogHint = ((int)0X0c54), TextureGenS = ((int)0X0c60), TextureGenT = ((int)0X0c61), TextureGenR = ((int)0X0c62), TextureGenQ = ((int)0X0c63), PixelMapIToISize = ((int)0X0cb0), PixelMapSToSSize = ((int)0X0cb1), PixelMapIToRSize = ((int)0X0cb2), PixelMapIToGSize = ((int)0X0cb3), PixelMapIToBSize = ((int)0X0cb4), PixelMapIToASize = ((int)0X0cb5), PixelMapRToRSize = ((int)0X0cb6), PixelMapGToGSize = ((int)0X0cb7), PixelMapBToBSize = ((int)0X0cb8), PixelMapAToASize = ((int)0X0cb9), UnpackSwapBytes = ((int)0X0cf0), UnpackLsbFirst = ((int)0X0cf1), UnpackRowLength = ((int)0X0cf2), UnpackSkipRows = ((int)0X0cf3), UnpackSkipPixels = ((int)0X0cf4), UnpackAlignment = ((int)0X0cf5), PackSwapBytes = ((int)0X0d00), PackLsbFirst = ((int)0X0d01), PackRowLength = ((int)0X0d02), PackSkipRows = ((int)0X0d03), PackSkipPixels = ((int)0X0d04), PackAlignment = ((int)0X0d05), MapColor = ((int)0X0d10), MapStencil = ((int)0X0d11), IndexShift = ((int)0X0d12), IndexOffset = ((int)0X0d13), RedScale = ((int)0X0d14), RedBias = ((int)0X0d15), ZoomX = ((int)0X0d16), ZoomY = ((int)0X0d17), GreenScale = ((int)0X0d18), GreenBias = ((int)0X0d19), BlueScale = ((int)0X0d1a), BlueBias = ((int)0X0d1b), AlphaScale = ((int)0X0d1c), AlphaBias = ((int)0X0d1d), DepthScale = ((int)0X0d1e), DepthBias = ((int)0X0d1f), MaxEvalOrder = ((int)0X0d30), MaxLights = ((int)0X0d31), MaxClipPlanes = ((int)0X0d32), MaxTextureSize = ((int)0X0d33), MaxPixelMapTable = ((int)0X0d34), MaxAttribStackDepth = ((int)0X0d35), MaxModelviewStackDepth = ((int)0X0d36), MaxNameStackDepth = ((int)0X0d37), MaxProjectionStackDepth = ((int)0X0d38), MaxTextureStackDepth = ((int)0X0d39), MaxViewportDims = ((int)0X0d3a), MaxClientAttribStackDepth = ((int)0X0d3b), SubpixelBits = ((int)0X0d50), IndexBits = ((int)0X0d51), RedBits = ((int)0X0d52), GreenBits = ((int)0X0d53), BlueBits = ((int)0X0d54), AlphaBits = ((int)0X0d55), DepthBits = ((int)0X0d56), StencilBits = ((int)0X0d57), AccumRedBits = ((int)0X0d58), AccumGreenBits = ((int)0X0d59), AccumBlueBits = ((int)0X0d5a), AccumAlphaBits = ((int)0X0d5b), NameStackDepth = ((int)0X0d70), AutoNormal = ((int)0X0d80), Map1Color4 = ((int)0X0d90), Map1Index = ((int)0X0d91), Map1Normal = ((int)0X0d92), Map1TextureCoord1 = ((int)0X0d93), Map1TextureCoord2 = ((int)0X0d94), Map1TextureCoord3 = ((int)0X0d95), Map1TextureCoord4 = ((int)0X0d96), Map1Vertex3 = ((int)0X0d97), Map1Vertex4 = ((int)0X0d98), Map2Color4 = ((int)0X0db0), Map2Index = ((int)0X0db1), Map2Normal = ((int)0X0db2), Map2TextureCoord1 = ((int)0X0db3), Map2TextureCoord2 = ((int)0X0db4), Map2TextureCoord3 = ((int)0X0db5), Map2TextureCoord4 = ((int)0X0db6), Map2Vertex3 = ((int)0X0db7), Map2Vertex4 = ((int)0X0db8), Map1GridDomain = ((int)0X0dd0), Map1GridSegments = ((int)0X0dd1), Map2GridDomain = ((int)0X0dd2), Map2GridSegments = ((int)0X0dd3), Texture1D = ((int)0X0de0), Texture2D = ((int)0X0de1), FeedbackBufferSize = ((int)0X0df1), FeedbackBufferType = ((int)0X0df2), SelectionBufferSize = ((int)0X0df4), PolygonOffsetUnits = ((int)0X2a00), PolygonOffsetPoint = ((int)0X2a01), PolygonOffsetLine = ((int)0X2a02), ClipPlane0 = ((int)0X3000), ClipPlane1 = ((int)0X3001), ClipPlane2 = ((int)0X3002), ClipPlane3 = ((int)0X3003), ClipPlane4 = ((int)0X3004), ClipPlane5 = ((int)0X3005), Light0 = ((int)0X4000), Light1 = ((int)0X4001), Light2 = ((int)0X4002), Light3 = ((int)0X4003), Light4 = ((int)0X4004), Light5 = ((int)0X4005), Light6 = ((int)0X4006), Light7 = ((int)0X4007), BlendColorExt = ((int)0X8005), BlendEquationExt = ((int)0X8009), BlendEquationRgb = ((int)0X8009), PackCmykHintExt = ((int)0X800e), UnpackCmykHintExt = ((int)0X800f), Convolution1DExt = ((int)0X8010), Convolution2DExt = ((int)0X8011), Separable2DExt = ((int)0X8012), PostConvolutionRedScaleExt = ((int)0X801c), PostConvolutionGreenScaleExt = ((int)0X801D), PostConvolutionBlueScaleExt = ((int)0X801e), PostConvolutionAlphaScaleExt = ((int)0X801f), PostConvolutionRedBiasExt = ((int)0X8020), PostConvolutionGreenBiasExt = ((int)0X8021), PostConvolutionBlueBiasExt = ((int)0X8022), PostConvolutionAlphaBiasExt = ((int)0X8023), HistogramExt = ((int)0X8024), MinmaxExt = ((int)0X802e), PolygonOffsetFill = ((int)0X8037), PolygonOffsetFactor = ((int)0X8038), PolygonOffsetBiasExt = ((int)0X8039), RescaleNormalExt = ((int)0X803a), TextureBinding1D = ((int)0X8068), TextureBinding2D = ((int)0X8069), Texture3DBindingExt = ((int)0X806a), TextureBinding3D = ((int)0X806a), PackSkipImagesExt = ((int)0X806b), PackImageHeightExt = ((int)0X806c), UnpackSkipImagesExt = ((int)0X806D), UnpackImageHeightExt = ((int)0X806e), Texture3DExt = ((int)0X806f), Max3DTextureSize = ((int)0X8073), Max3DTextureSizeExt = ((int)0X8073), VertexArray = ((int)0X8074), NormalArray = ((int)0X8075), ColorArray = ((int)0X8076), IndexArray = ((int)0X8077), TextureCoordArray = ((int)0X8078), EdgeFlagArray = ((int)0X8079), VertexArraySize = ((int)0X807a), VertexArrayType = ((int)0X807b), VertexArrayStride = ((int)0X807c), VertexArrayCountExt = ((int)0X807D), NormalArrayType = ((int)0X807e), NormalArrayStride = ((int)0X807f), NormalArrayCountExt = ((int)0X8080), ColorArraySize = ((int)0X8081), ColorArrayType = ((int)0X8082), ColorArrayStride = ((int)0X8083), ColorArrayCountExt = ((int)0X8084), IndexArrayType = ((int)0X8085), IndexArrayStride = ((int)0X8086), IndexArrayCountExt = ((int)0X8087), TextureCoordArraySize = ((int)0X8088), TextureCoordArrayType = ((int)0X8089), TextureCoordArrayStride = ((int)0X808a), TextureCoordArrayCountExt = ((int)0X808b), EdgeFlagArrayStride = ((int)0X808c), EdgeFlagArrayCountExt = ((int)0X808D), InterlaceSgix = ((int)0X8094), DetailTexture2DBindingSgis = ((int)0X8096), Multisample = ((int)0X809d), MultisampleSgis = ((int)0X809D), SampleAlphaToCoverage = ((int)0X809e), SampleAlphaToMaskSgis = ((int)0X809e), SampleAlphaToOne = ((int)0X809f), SampleAlphaToOneSgis = ((int)0X809f), SampleCoverage = ((int)0X80a0), SampleMaskSgis = ((int)0X80a0), SampleBuffers = ((int)0X80a8), SampleBuffersSgis = ((int)0X80a8), Samples = ((int)0X80a9), SamplesSgis = ((int)0X80a9), SampleCoverageValue = ((int)0X80aa), SampleMaskValueSgis = ((int)0X80aa), SampleCoverageInvert = ((int)0X80ab), SampleMaskInvertSgis = ((int)0X80ab), SamplePatternSgis = ((int)0X80ac), ColorMatrixSgi = ((int)0X80b1), ColorMatrixStackDepthSgi = ((int)0X80b2), MaxColorMatrixStackDepthSgi = ((int)0X80b3), PostColorMatrixRedScaleSgi = ((int)0X80b4), PostColorMatrixGreenScaleSgi = ((int)0X80b5), PostColorMatrixBlueScaleSgi = ((int)0X80b6), PostColorMatrixAlphaScaleSgi = ((int)0X80b7), PostColorMatrixRedBiasSgi = ((int)0X80b8), PostColorMatrixGreenBiasSgi = ((int)0X80b9), PostColorMatrixBlueBiasSgi = ((int)0X80ba), PostColorMatrixAlphaBiasSgi = ((int)0X80bb), TextureColorTableSgi = ((int)0X80bc), BlendDstRgb = ((int)0X80c8), BlendSrcRgb = ((int)0X80c9), BlendDstAlpha = ((int)0X80ca), BlendSrcAlpha = ((int)0X80cb), ColorTableSgi = ((int)0X80D0), PostConvolutionColorTableSgi = ((int)0X80D1), PostColorMatrixColorTableSgi = ((int)0X80D2), MaxElementsVertices = ((int)0X80e8), MaxElementsIndices = ((int)0X80e9), PointSizeMin = ((int)0X8126), PointSizeMinSgis = ((int)0X8126), PointSizeMax = ((int)0X8127), PointSizeMaxSgis = ((int)0X8127), PointFadeThresholdSize = ((int)0X8128), PointFadeThresholdSizeSgis = ((int)0X8128), DistanceAttenuationSgis = ((int)0X8129), PointDistanceAttenuation = ((int)0X8129), FogFuncPointsSgis = ((int)0X812b), MaxFogFuncPointsSgis = ((int)0X812c), PackSkipVolumesSgis = ((int)0X8130), PackImageDepthSgis = ((int)0X8131), UnpackSkipVolumesSgis = ((int)0X8132), UnpackImageDepthSgis = ((int)0X8133), Texture4DSgis = ((int)0X8134), Max4DTextureSizeSgis = ((int)0X8138), PixelTexGenSgix = ((int)0X8139), PixelTileBestAlignmentSgix = ((int)0X813e), PixelTileCacheIncrementSgix = ((int)0X813f), PixelTileWidthSgix = ((int)0X8140), PixelTileHeightSgix = ((int)0X8141), PixelTileGridWidthSgix = ((int)0X8142), PixelTileGridHeightSgix = ((int)0X8143), PixelTileGridDepthSgix = ((int)0X8144), PixelTileCacheSizeSgix = ((int)0X8145), SpriteSgix = ((int)0X8148), SpriteModeSgix = ((int)0X8149), SpriteAxisSgix = ((int)0X814a), SpriteTranslationSgix = ((int)0X814b), Texture4DBindingSgis = ((int)0X814f), MaxClipmapDepthSgix = ((int)0X8177), MaxClipmapVirtualDepthSgix = ((int)0X8178), PostTextureFilterBiasRangeSgix = ((int)0X817b), PostTextureFilterScaleRangeSgix = ((int)0X817c), ReferencePlaneSgix = ((int)0X817D), ReferencePlaneEquationSgix = ((int)0X817e), IrInstrument1Sgix = ((int)0X817f), InstrumentMeasurementsSgix = ((int)0X8181), CalligraphicFragmentSgix = ((int)0X8183), FramezoomSgix = ((int)0X818b), FramezoomFactorSgix = ((int)0X818c), MaxFramezoomFactorSgix = ((int)0X818D), GenerateMipmapHint = ((int)0X8192), GenerateMipmapHintSgis = ((int)0X8192), DeformationsMaskSgix = ((int)0X8196), FogOffsetSgix = ((int)0X8198), FogOffsetValueSgix = ((int)0X8199), LightModelColorControl = ((int)0X81f8), SharedTexturePaletteExt = ((int)0X81fb), MajorVersion = ((int)0X821b), MinorVersion = ((int)0X821c), NumExtensions = ((int)0X821d), ContextFlags = ((int)0X821e), ConvolutionHintSgix = ((int)0X8316), AsyncMarkerSgix = ((int)0X8329), PixelTexGenModeSgix = ((int)0X832b), AsyncHistogramSgix = ((int)0X832c), MaxAsyncHistogramSgix = ((int)0X832D), PixelTextureSgis = ((int)0X8353), AsyncTexImageSgix = ((int)0X835c), AsyncDrawPixelsSgix = ((int)0X835D), AsyncReadPixelsSgix = ((int)0X835e), MaxAsyncTexImageSgix = ((int)0X835f), MaxAsyncDrawPixelsSgix = ((int)0X8360), MaxAsyncReadPixelsSgix = ((int)0X8361), VertexPreclipSgix = ((int)0X83ee), VertexPreclipHintSgix = ((int)0X83ef), FragmentLightingSgix = ((int)0X8400), FragmentColorMaterialSgix = ((int)0X8401), FragmentColorMaterialFaceSgix = ((int)0X8402), FragmentColorMaterialParameterSgix = ((int)0X8403), MaxFragmentLightsSgix = ((int)0X8404), MaxActiveLightsSgix = ((int)0X8405), LightEnvModeSgix = ((int)0X8407), FragmentLightModelLocalViewerSgix = ((int)0X8408), FragmentLightModelTwoSideSgix = ((int)0X8409), FragmentLightModelAmbientSgix = ((int)0X840a), FragmentLightModelNormalInterpolationSgix = ((int)0X840b), FragmentLight0Sgix = ((int)0X840c), PackResampleSgix = ((int)0X842c), UnpackResampleSgix = ((int)0X842D), CurrentFogCoord = ((int)0X8453), FogCoordArrayType = ((int)0X8454), FogCoordArrayStride = ((int)0X8455), ColorSum = ((int)0X8458), CurrentSecondaryColor = ((int)0X8459), SecondaryColorArraySize = ((int)0X845a), SecondaryColorArrayType = ((int)0X845b), SecondaryColorArrayStride = ((int)0X845c), CurrentRasterSecondaryColor = ((int)0X845f), AliasedPointSizeRange = ((int)0X846d), AliasedLineWidthRange = ((int)0X846e), ActiveTexture = ((int)0X84e0), ClientActiveTexture = ((int)0X84e1), MaxTextureUnits = ((int)0X84e2), TransposeModelviewMatrix = ((int)0X84e3), TransposeProjectionMatrix = ((int)0X84e4), TransposeTextureMatrix = ((int)0X84e5), TransposeColorMatrix = ((int)0X84e6), MaxRenderbufferSize = ((int)0X84e8), MaxRenderbufferSizeExt = ((int)0X84e8), TextureCompressionHint = ((int)0X84ef), MaxTextureLodBias = ((int)0X84fd), TextureCubeMap = ((int)0X8513), TextureBindingCubeMap = ((int)0X8514), MaxCubeMapTextureSize = ((int)0X851c), PackSubsampleRateSgix = ((int)0X85a0), UnpackSubsampleRateSgix = ((int)0X85a1), VertexArrayBinding = ((int)0X85b5), NumCompressedTextureFormats = ((int)0X86a2), CompressedTextureFormats = ((int)0X86a3), StencilBackFunc = ((int)0X8800), StencilBackFail = ((int)0X8801), StencilBackPassDepthFail = ((int)0X8802), StencilBackPassDepthPass = ((int)0X8803), RgbaFloatMode = ((int)0X8820), MaxDrawBuffers = ((int)0X8824), DrawBuffer0 = ((int)0X8825), DrawBuffer1 = ((int)0X8826), DrawBuffer2 = ((int)0X8827), DrawBuffer3 = ((int)0X8828), DrawBuffer4 = ((int)0X8829), DrawBuffer5 = ((int)0X882a), DrawBuffer6 = ((int)0X882b), DrawBuffer7 = ((int)0X882c), DrawBuffer8 = ((int)0X882d), DrawBuffer9 = ((int)0X882e), DrawBuffer10 = ((int)0X882f), DrawBuffer11 = ((int)0X8830), DrawBuffer12 = ((int)0X8831), DrawBuffer13 = ((int)0X8832), DrawBuffer14 = ((int)0X8833), DrawBuffer15 = ((int)0X8834), BlendEquationAlpha = ((int)0X883d), PointSprite = ((int)0X8861), MaxVertexAttribs = ((int)0X8869), MaxTextureCoords = ((int)0X8871), MaxTextureImageUnits = ((int)0X8872), ArrayBufferBinding = ((int)0X8894), ElementArrayBufferBinding = ((int)0X8895), VertexArrayBufferBinding = ((int)0X8896), NormalArrayBufferBinding = ((int)0X8897), ColorArrayBufferBinding = ((int)0X8898), IndexArrayBufferBinding = ((int)0X8899), TextureCoordArrayBufferBinding = ((int)0X889a), EdgeFlagArrayBufferBinding = ((int)0X889b), SecondaryColorArrayBufferBinding = ((int)0X889c), FogCoordArrayBufferBinding = ((int)0X889d), WeightArrayBufferBinding = ((int)0X889e), VertexAttribArrayBufferBinding = ((int)0X889f), PixelPackBufferBinding = ((int)0X88ed), PixelUnpackBufferBinding = ((int)0X88ef), MaxArrayTextureLayers = ((int)0X88ff), MinProgramTexelOffset = ((int)0X8904), MaxProgramTexelOffset = ((int)0X8905), ClampVertexColor = ((int)0X891a), ClampFragmentColor = ((int)0X891b), ClampReadColor = ((int)0X891c), MaxVertexUniformBlocks = ((int)0X8a2b), MaxGeometryUniformBlocks = ((int)0X8a2c), MaxFragmentUniformBlocks = ((int)0X8a2D), MaxCombinedUniformBlocks = ((int)0X8a2e), MaxUniformBufferBindings = ((int)0X8a2f), MaxUniformBlockSize = ((int)0X8a30), MaxCombinedVertexUniformComponents = ((int)0X8a31), MaxCombinedGeometryUniformComponents = ((int)0X8a32), MaxCombinedFragmentUniformComponents = ((int)0X8a33), UniformBufferOffsetAlignment = ((int)0X8a34), MaxFragmentUniformComponents = ((int)0X8b49), MaxVertexUniformComponents = ((int)0X8b4a), MaxVaryingFloats = ((int)0X8b4b), MaxVertexTextureImageUnits = ((int)0X8b4c), MaxCombinedTextureImageUnits = ((int)0X8b4d), FragmentShaderDerivativeHint = ((int)0X8b8b), CurrentProgram = ((int)0X8b8d), TextureBinding1DArray = ((int)0X8c1c), TextureBinding2DArray = ((int)0X8c1d), MaxTransformFeedbackSeparateComponents = ((int)0X8c80), MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a), MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b), StencilBackRef = ((int)0X8ca3), StencilBackValueMask = ((int)0X8ca4), StencilBackWritemask = ((int)0X8ca5), DrawFramebufferBinding = ((int)0X8ca6), FramebufferBinding = ((int)0X8ca6), FramebufferBindingExt = ((int)0X8ca6), RenderbufferBinding = ((int)0X8ca7), RenderbufferBindingExt = ((int)0X8ca7), ReadFramebufferBinding = ((int)0X8caa), MaxColorAttachments = ((int)0X8cdf), MaxColorAttachmentsExt = ((int)0X8cdf), MaxSamples = ((int)0X8D57), FramebufferSrgb = ((int)0X8Db9), } public enum GetPointervPName { FeedbackBufferPointer = ((int)0X0df0), SelectionBufferPointer = ((int)0X0df3), VertexArrayPointer = ((int)0X808e), NormalArrayPointer = ((int)0X808f), ColorArrayPointer = ((int)0X8090), IndexArrayPointer = ((int)0X8091), TextureCoordArrayPointer = ((int)0X8092), EdgeFlagArrayPointer = ((int)0X8093), InstrumentBufferPointerSgix = ((int)0X8180), FogCoordArrayPointer = ((int)0X8456), SecondaryColorArrayPointer = ((int)0X845d), } public enum GetQueryObjectParam { QueryResult = ((int)0X8866), QueryResultAvailable = ((int)0X8867), } public enum GetQueryParam { QueryCounterBits = ((int)0X8864), CurrentQuery = ((int)0X8865), } public enum GetTextureParameter { TextureWidth = ((int)0X1000), TextureHeight = ((int)0X1001), TextureComponents = ((int)0X1003), TextureInternalFormat = ((int)0X1003), TextureBorderColor = ((int)0X1004), TextureBorder = ((int)0X1005), TextureMagFilter = ((int)0X2800), TextureMinFilter = ((int)0X2801), TextureWrapS = ((int)0X2802), TextureWrapT = ((int)0X2803), TextureRedSize = ((int)0X805c), TextureGreenSize = ((int)0X805d), TextureBlueSize = ((int)0X805e), TextureAlphaSize = ((int)0X805f), TextureLuminanceSize = ((int)0X8060), TextureIntensitySize = ((int)0X8061), TexturePriority = ((int)0X8066), TextureResident = ((int)0X8067), TextureDepth = ((int)0X8071), TextureDepthExt = ((int)0X8071), TextureWrapR = ((int)0X8072), TextureWrapRExt = ((int)0X8072), DetailTextureLevelSgis = ((int)0X809a), DetailTextureModeSgis = ((int)0X809b), DetailTextureFuncPointsSgis = ((int)0X809c), SharpenTextureFuncPointsSgis = ((int)0X80b0), ShadowAmbientSgix = ((int)0X80bf), DualTextureSelectSgis = ((int)0X8124), QuadTextureSelectSgis = ((int)0X8125), Texture4DsizeSgis = ((int)0X8136), TextureWrapQSgis = ((int)0X8137), TextureMinLod = ((int)0X813a), TextureMinLodSgis = ((int)0X813a), TextureMaxLod = ((int)0X813b), TextureMaxLodSgis = ((int)0X813b), TextureBaseLevel = ((int)0X813c), TextureBaseLevelSgis = ((int)0X813c), TextureMaxLevel = ((int)0X813d), TextureMaxLevelSgis = ((int)0X813D), TextureFilter4SizeSgis = ((int)0X8147), TextureClipmapCenterSgix = ((int)0X8171), TextureClipmapFrameSgix = ((int)0X8172), TextureClipmapOffsetSgix = ((int)0X8173), TextureClipmapVirtualDepthSgix = ((int)0X8174), TextureClipmapLodOffsetSgix = ((int)0X8175), TextureClipmapDepthSgix = ((int)0X8176), PostTextureFilterBiasSgix = ((int)0X8179), PostTextureFilterScaleSgix = ((int)0X817a), TextureLodBiasSSgix = ((int)0X818e), TextureLodBiasTSgix = ((int)0X818f), TextureLodBiasRSgix = ((int)0X8190), GenerateMipmap = ((int)0X8191), GenerateMipmapSgis = ((int)0X8191), TextureCompareSgix = ((int)0X819a), TextureCompareOperatorSgix = ((int)0X819b), TextureLequalRSgix = ((int)0X819c), TextureGequalRSgix = ((int)0X819D), TextureMaxClampSSgix = ((int)0X8369), TextureMaxClampTSgix = ((int)0X836a), TextureMaxClampRSgix = ((int)0X836b), TextureCompressedImageSize = ((int)0X86a0), TextureCompressed = ((int)0X86a1), TextureDepthSize = ((int)0X884a), DepthTextureMode = ((int)0X884b), TextureCompareMode = ((int)0X884c), TextureCompareFunc = ((int)0X884d), TextureStencilSize = ((int)0X88f1), TextureRedType = ((int)0X8c10), TextureGreenType = ((int)0X8c11), TextureBlueType = ((int)0X8c12), TextureAlphaType = ((int)0X8c13), TextureLuminanceType = ((int)0X8c14), TextureIntensityType = ((int)0X8c15), TextureDepthType = ((int)0X8c16), TextureSharedSize = ((int)0X8c3f), } public enum Gl3DfxMultisample { MultisampleBit3Dfx = ((int)0X20000000), Multisample3Dfx = ((int)0X86b2), SampleBuffers3Dfx = ((int)0X86b3), Samples3Dfx = ((int)0X86b4), } public enum Gl3DfxTbuffer { } public enum Gl3DfxTextureCompressionFxt1 { CompressedRgbFxt13Dfx = ((int)0X86b0), CompressedRgbaFxt13Dfx = ((int)0X86b1), } public enum GremedyFrameTerminator { } public enum GremedyStringMarker { } public enum HintMode { DontCare = ((int)0X1100), Fastest = ((int)0X1101), Nicest = ((int)0X1102), } public enum HintTarget { PerspectiveCorrectionHint = ((int)0X0c50), PointSmoothHint = ((int)0X0c51), LineSmoothHint = ((int)0X0c52), PolygonSmoothHint = ((int)0X0c53), FogHint = ((int)0X0c54), PackCmykHintExt = ((int)0X800e), UnpackCmykHintExt = ((int)0X800f), TextureMultiBufferHintSgix = ((int)0X812e), GenerateMipmapHint = ((int)0X8192), GenerateMipmapHintSgis = ((int)0X8192), ConvolutionHintSgix = ((int)0X8316), VertexPreclipHintSgix = ((int)0X83ef), TextureCompressionHint = ((int)0X84ef), FragmentShaderDerivativeHint = ((int)0X8b8b), } public enum HistogramTargetExt { HistogramExt = ((int)0X8024), ProxyHistogramExt = ((int)0X8025), } public enum HpConvolutionBorderModes { IgnoreBorderHp = ((int)0X8150), ConstantBorderHp = ((int)0X8151), ReplicateBorderHp = ((int)0X8153), ConvolutionBorderColorHp = ((int)0X8154), } public enum HpImageTransform { ImageScaleXHp = ((int)0X8155), ImageScaleYHp = ((int)0X8156), ImageTranslateXHp = ((int)0X8157), ImageTranslateYHp = ((int)0X8158), ImageRotateAngleHp = ((int)0X8159), ImageRotateOriginXHp = ((int)0X815a), ImageRotateOriginYHp = ((int)0X815b), ImageMagFilterHp = ((int)0X815c), ImageMinFilterHp = ((int)0X815d), ImageCubicWeightHp = ((int)0X815e), CubicHp = ((int)0X815f), AverageHp = ((int)0X8160), ImageTransform2DHp = ((int)0X8161), PostImageTransformColorTableHp = ((int)0X8162), ProxyPostImageTransformColorTableHp = ((int)0X8163), } public enum HpOcclusionTest { OcclusionTestHp = ((int)0X8165), OcclusionTestResultHp = ((int)0X8166), } public enum HpTextureLighting { TextureLightingModeHp = ((int)0X8167), TexturePostSpecularHp = ((int)0X8168), TexturePreSpecularHp = ((int)0X8169), } public enum IbmCullVertex { CullVertexIbm = ((int)103050), } public enum IbmMultimodeDrawArrays { } public enum IbmRasterposClip { RasterPositionUnclippedIbm = ((int)0X19262), } public enum IbmTextureMirroredRepeat { MirroredRepeatIbm = ((int)0X8370), } public enum IbmVertexArrayLists { VertexArrayListIbm = ((int)103070), NormalArrayListIbm = ((int)103071), ColorArrayListIbm = ((int)103072), IndexArrayListIbm = ((int)103073), TextureCoordArrayListIbm = ((int)103074), EdgeFlagArrayListIbm = ((int)103075), FogCoordinateArrayListIbm = ((int)103076), SecondaryColorArrayListIbm = ((int)103077), VertexArrayListStrideIbm = ((int)103080), NormalArrayListStrideIbm = ((int)103081), ColorArrayListStrideIbm = ((int)103082), IndexArrayListStrideIbm = ((int)103083), TextureCoordArrayListStrideIbm = ((int)103084), EdgeFlagArrayListStrideIbm = ((int)103085), FogCoordinateArrayListStrideIbm = ((int)103086), SecondaryColorArrayListStrideIbm = ((int)103087), } public enum IndexedEnableCap { Blend = ((int)0X0be2), } public enum IndexPointerType { Short = ((int)0X1402), Int = ((int)0X1404), Float = ((int)0X1406), Double = ((int)0X140a), } public enum IngrColorClamp { RedMinClampIngr = ((int)0X8560), GreenMinClampIngr = ((int)0X8561), BlueMinClampIngr = ((int)0X8562), AlphaMinClampIngr = ((int)0X8563), RedMaxClampIngr = ((int)0X8564), GreenMaxClampIngr = ((int)0X8565), BlueMaxClampIngr = ((int)0X8566), AlphaMaxClampIngr = ((int)0X8567), } public enum IngrInterlaceRead { InterlaceReadIngr = ((int)0X8568), } public enum IngrPaletteBuffer { } public enum IntelParallelArrays { ParallelArraysIntel = ((int)0X83f4), VertexArrayParallelPointersIntel = ((int)0X83f5), NormalArrayParallelPointersIntel = ((int)0X83f6), ColorArrayParallelPointersIntel = ((int)0X83f7), TextureCoordArrayParallelPointersIntel = ((int)0X83f8), } public enum IntelTextureScissor { } public enum InterleavedArrayFormat { V2f = ((int)0X2a20), V3f = ((int)0X2a21), C4ubV2f = ((int)0X2a22), C4ubV3f = ((int)0X2a23), C3fV3f = ((int)0X2a24), N3fV3f = ((int)0X2a25), C4fN3fV3f = ((int)0X2a26), T2fV3f = ((int)0X2a27), T4fV4f = ((int)0X2a28), T2fC4ubV3f = ((int)0X2a29), T2fC3fV3f = ((int)0X2a2a), T2fN3fV3f = ((int)0X2a2b), T2fC4fN3fV3f = ((int)0X2a2c), T4fC4fN3fV4f = ((int)0X2a2d), } public enum LightEnvModeSgix { Add = ((int)0X0104), Replace = ((int)0X1e01), Modulate = ((int)0X2100), } public enum LightEnvParameterSgix { LightEnvModeSgix = ((int)0X8407), } public enum LightModelColorControl { SingleColor = ((int)0X81f9), SeparateSpecularColor = ((int)0X81fa), } public enum LightModelParameter { LightModelLocalViewer = ((int)0X0b51), LightModelTwoSide = ((int)0X0b52), LightModelAmbient = ((int)0X0b53), LightModelColorControl = ((int)0X81f8), } public enum LightName { Light0 = ((int)0X4000), Light1 = ((int)0X4001), Light2 = ((int)0X4002), Light3 = ((int)0X4003), Light4 = ((int)0X4004), Light5 = ((int)0X4005), Light6 = ((int)0X4006), Light7 = ((int)0X4007), FragmentLight0Sgix = ((int)0X840c), FragmentLight1Sgix = ((int)0X840D), FragmentLight2Sgix = ((int)0X840e), FragmentLight3Sgix = ((int)0X840f), FragmentLight4Sgix = ((int)0X8410), FragmentLight5Sgix = ((int)0X8411), FragmentLight6Sgix = ((int)0X8412), FragmentLight7Sgix = ((int)0X8413), } public enum LightParameter { Ambient = ((int)0X1200), Diffuse = ((int)0X1201), Specular = ((int)0X1202), Position = ((int)0X1203), SpotDirection = ((int)0X1204), SpotExponent = ((int)0X1205), SpotCutoff = ((int)0X1206), ConstantAttenuation = ((int)0X1207), LinearAttenuation = ((int)0X1208), QuadraticAttenuation = ((int)0X1209), } public enum ListMode { Compile = ((int)0X1300), CompileAndExecute = ((int)0X1301), } public enum ListNameType { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Gl2Bytes = ((int)0X1407), Gl3Bytes = ((int)0X1408), Gl4Bytes = ((int)0X1409), } public enum ListParameterName { ListPrioritySgix = ((int)0X8182), } public enum LogicOp { Clear = ((int)0X1500), And = ((int)0X1501), AndReverse = ((int)0X1502), Copy = ((int)0X1503), AndInverted = ((int)0X1504), Noop = ((int)0X1505), Xor = ((int)0X1506), Or = ((int)0X1507), Nor = ((int)0X1508), Equiv = ((int)0X1509), Invert = ((int)0X150a), OrReverse = ((int)0X150b), CopyInverted = ((int)0X150c), OrInverted = ((int)0X150d), Nand = ((int)0X150e), Set = ((int)0X150f), } public enum MapTarget { Map1Color4 = ((int)0X0D90), Map1Index = ((int)0X0D91), Map1Normal = ((int)0X0D92), Map1TextureCoord1 = ((int)0X0D93), Map1TextureCoord2 = ((int)0X0D94), Map1TextureCoord3 = ((int)0X0D95), Map1TextureCoord4 = ((int)0X0D96), Map1Vertex3 = ((int)0X0D97), Map1Vertex4 = ((int)0X0D98), Map2Color4 = ((int)0X0Db0), Map2Index = ((int)0X0Db1), Map2Normal = ((int)0X0Db2), Map2TextureCoord1 = ((int)0X0Db3), Map2TextureCoord2 = ((int)0X0Db4), Map2TextureCoord3 = ((int)0X0Db5), Map2TextureCoord4 = ((int)0X0Db6), Map2Vertex3 = ((int)0X0Db7), Map2Vertex4 = ((int)0X0Db8), GeometryDeformationSgix = ((int)0X8194), TextureDeformationSgix = ((int)0X8195), } public enum MaterialFace { Front = ((int)0X0404), Back = ((int)0X0405), FrontAndBack = ((int)0X0408), } public enum MaterialParameter { Ambient = ((int)0X1200), Diffuse = ((int)0X1201), Specular = ((int)0X1202), Emission = ((int)0X1600), Shininess = ((int)0X1601), AmbientAndDiffuse = ((int)0X1602), ColorIndexes = ((int)0X1603), } public enum MatrixMode { Modelview = ((int)0X1700), Projection = ((int)0X1701), Texture = ((int)0X1702), Color = ((int)0X1800), } public enum MatrixModeArb { Modelview = ((int)0X1700), Projection = ((int)0X1701), Texture = ((int)0X1702), Color = ((int)0X1800), Matrix0 = ((int)0X88c0), Matrix1 = ((int)0X88c1), Matrix2 = ((int)0X88c2), Matrix3 = ((int)0X88c3), Matrix4 = ((int)0X88c4), Matrix5 = ((int)0X88c5), Matrix6 = ((int)0X88c6), Matrix7 = ((int)0X88c7), Matrix8 = ((int)0X88c8), Matrix9 = ((int)0X88c9), Matrix10 = ((int)0X88ca), Matrix11 = ((int)0X88cb), Matrix12 = ((int)0X88cc), Matrix13 = ((int)0X88cd), Matrix14 = ((int)0X88ce), Matrix15 = ((int)0X88cf), Matrix16 = ((int)0X88d0), Matrix17 = ((int)0X88d1), Matrix18 = ((int)0X88d2), Matrix19 = ((int)0X88d3), Matrix20 = ((int)0X88d4), Matrix21 = ((int)0X88d5), Matrix22 = ((int)0X88d6), Matrix23 = ((int)0X88d7), Matrix24 = ((int)0X88d8), Matrix25 = ((int)0X88d9), Matrix26 = ((int)0X88da), Matrix27 = ((int)0X88db), Matrix28 = ((int)0X88dc), Matrix29 = ((int)0X88dd), Matrix30 = ((int)0X88de), Matrix31 = ((int)0X88df), } public enum MesaPackInvert { PackInvertMesa = ((int)0X8758), } public enum MesaResizeBuffers { } public enum MesaWindowPos { } public enum MesaxTextureStack { Texture1DStackMesax = ((int)0X8759), Texture2DStackMesax = ((int)0X875a), ProxyTexture1DStackMesax = ((int)0X875b), ProxyTexture2DStackMesax = ((int)0X875c), Texture1DStackBindingMesax = ((int)0X875d), Texture2DStackBindingMesax = ((int)0X875e), } public enum MesaYcbcrTexture { UnsignedShort88Mesa = ((int)0X85ba), UnsignedShort88RevMesa = ((int)0X85bb), YcbcrMesa = ((int)0X8757), } public enum MeshMode1 { Point = ((int)0X1b00), Line = ((int)0X1b01), } public enum MeshMode2 { Point = ((int)0X1b00), Line = ((int)0X1b01), Fill = ((int)0X1b02), } public enum MinmaxTargetExt { MinmaxExt = ((int)0X802e), } public enum NormalPointerType { Byte = ((int)0X1400), Short = ((int)0X1402), Int = ((int)0X1404), Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum NvBlendSquare { } public enum NvConditionalRender { QueryWaitNv = ((int)0X8e13), QueryNoWaitNv = ((int)0X8e14), QueryByRegionWaitNv = ((int)0X8e15), QueryByRegionNoWaitNv = ((int)0X8e16), } public enum NvCopyDepthToColor { DepthStencilToRgbaNv = ((int)0X886e), DepthStencilToBgraNv = ((int)0X886f), } public enum NvDepthBufferFloat { DepthComponent32fNv = ((int)0X8dab), Depth32fStencil8Nv = ((int)0X8dac), Float32UnsignedInt248RevNv = ((int)0X8dad), DepthBufferFloatModeNv = ((int)0X8daf), } public enum NvDepthClamp { DepthClampNv = ((int)0X864f), } public enum NvEvaluators { Eval2DNv = ((int)0X86c0), EvalTriangular2DNv = ((int)0X86c1), MapTessellationNv = ((int)0X86c2), MapAttribUOrderNv = ((int)0X86c3), MapAttribVOrderNv = ((int)0X86c4), EvalFractionalTessellationNv = ((int)0X86c5), EvalVertexAttrib0Nv = ((int)0X86c6), EvalVertexAttrib1Nv = ((int)0X86c7), EvalVertexAttrib2Nv = ((int)0X86c8), EvalVertexAttrib3Nv = ((int)0X86c9), EvalVertexAttrib4Nv = ((int)0X86ca), EvalVertexAttrib5Nv = ((int)0X86cb), EvalVertexAttrib6Nv = ((int)0X86cc), EvalVertexAttrib7Nv = ((int)0X86cd), EvalVertexAttrib8Nv = ((int)0X86ce), EvalVertexAttrib9Nv = ((int)0X86cf), EvalVertexAttrib10Nv = ((int)0X86d0), EvalVertexAttrib11Nv = ((int)0X86d1), EvalVertexAttrib12Nv = ((int)0X86d2), EvalVertexAttrib13Nv = ((int)0X86d3), EvalVertexAttrib14Nv = ((int)0X86d4), EvalVertexAttrib15Nv = ((int)0X86d5), MaxMapTessellationNv = ((int)0X86d6), MaxRationalEvalOrderNv = ((int)0X86d7), } public enum NvExplicitMultisample { SamplePositionNv = ((int)0X8e50), SampleMaskNv = ((int)0X8e51), SampleMaskValueNv = ((int)0X8e52), TextureBindingRenderbufferNv = ((int)0X8e53), TextureRenderbufferDataStoreBindingNv = ((int)0X8e54), TextureRenderbufferNv = ((int)0X8e55), SamplerRenderbufferNv = ((int)0X8e56), IntSamplerRenderbufferNv = ((int)0X8e57), UnsignedIntSamplerRenderbufferNv = ((int)0X8e58), MaxSampleMaskWordsNv = ((int)0X8e59), } public enum NvFence { AllCompletedNv = ((int)0X84f2), FenceStatusNv = ((int)0X84f3), FenceConditionNv = ((int)0X84f4), } public enum NvFloatBuffer { FloatRNv = ((int)0X8880), FloatRgNv = ((int)0X8881), FloatRgbNv = ((int)0X8882), FloatRgbaNv = ((int)0X8883), FloatR16Nv = ((int)0X8884), FloatR32Nv = ((int)0X8885), FloatRg16Nv = ((int)0X8886), FloatRg32Nv = ((int)0X8887), FloatRgb16Nv = ((int)0X8888), FloatRgb32Nv = ((int)0X8889), FloatRgba16Nv = ((int)0X888a), FloatRgba32Nv = ((int)0X888b), TextureFloatComponentsNv = ((int)0X888c), FloatClearColorValueNv = ((int)0X888d), FloatRgbaModeNv = ((int)0X888e), } public enum NvFogDistance { EyePlane = ((int)0X2502), FogDistanceModeNv = ((int)0X855a), EyeRadialNv = ((int)0X855b), EyePlaneAbsoluteNv = ((int)0X855c), } public enum NvFragmentProgram { MaxFragmentProgramLocalParametersNv = ((int)0X8868), FragmentProgramNv = ((int)0X8870), MaxTextureCoordsNv = ((int)0X8871), MaxTextureImageUnitsNv = ((int)0X8872), FragmentProgramBindingNv = ((int)0X8873), ProgramErrorStringNv = ((int)0X8874), } public enum NvFragmentProgram2 { MaxProgramExecInstructionsNv = ((int)0X88f4), MaxProgramCallDepthNv = ((int)0X88f5), MaxProgramIfDepthNv = ((int)0X88f6), MaxProgramLoopDepthNv = ((int)0X88f7), MaxProgramLoopCountNv = ((int)0X88f8), } public enum NvFragmentProgram4 { } public enum NvFragmentProgramOption { } public enum NvFramebufferMultisampleCoverage { RenderbufferCoverageSamplesNv = ((int)0X8cab), RenderbufferColorSamplesNv = ((int)0X8e10), MaxMultisampleCoverageModesNv = ((int)0X8e11), MultisampleCoverageModesNv = ((int)0X8e12), } public enum NvGeometryProgram4 { LinesAdjacencyExt = ((int)0X000a), LineStripAdjacencyExt = ((int)0X000b), TrianglesAdjacencyExt = ((int)0X000c), TriangleStripAdjacencyExt = ((int)0X000d), ProgramPointSizeExt = ((int)0X8642), GeometryProgramNv = ((int)0X8c26), MaxProgramOutputVerticesNv = ((int)0X8c27), MaxProgramTotalOutputComponentsNv = ((int)0X8c28), MaxGeometryTextureImageUnitsExt = ((int)0X8c29), FramebufferAttachmentTextureLayerExt = ((int)0X8cd4), FramebufferAttachmentLayeredExt = ((int)0X8da7), FramebufferIncompleteLayerTargetsExt = ((int)0X8da8), FramebufferIncompleteLayerCountExt = ((int)0X8da9), GeometryVerticesOutExt = ((int)0X8dda), GeometryInputTypeExt = ((int)0X8ddb), GeometryOutputTypeExt = ((int)0X8ddc), } public enum NvGeometryShader4 { } public enum NvGpuProgram4 { MinProgramTexelOffsetNv = ((int)0X8904), MaxProgramTexelOffsetNv = ((int)0X8905), ProgramAttribComponentsNv = ((int)0X8906), ProgramResultComponentsNv = ((int)0X8907), MaxProgramAttribComponentsNv = ((int)0X8908), MaxProgramResultComponentsNv = ((int)0X8909), MaxProgramGenericAttribsNv = ((int)0X8da5), MaxProgramGenericResultsNv = ((int)0X8da6), } public enum NvHalfFloat { HalfFloatNv = ((int)0X140b), } public enum NvLightMaxExponent { MaxShininessNv = ((int)0X8504), MaxSpotExponentNv = ((int)0X8505), } public enum NvMultisampleFilterHint { MultisampleFilterHintNv = ((int)0X8534), } public enum NvOcclusionQuery { PixelCounterBitsNv = ((int)0X8864), CurrentOcclusionQueryIdNv = ((int)0X8865), PixelCountNv = ((int)0X8866), PixelCountAvailableNv = ((int)0X8867), } public enum NvPackedDepthStencil { DepthStencilNv = ((int)0X84f9), UnsignedInt248Nv = ((int)0X84fa), } public enum NvParameterBufferObject { MaxProgramParameterBufferBindingsNv = ((int)0X8da0), MaxProgramParameterBufferSizeNv = ((int)0X8da1), VertexProgramParameterBufferNv = ((int)0X8da2), GeometryProgramParameterBufferNv = ((int)0X8da3), FragmentProgramParameterBufferNv = ((int)0X8da4), } public enum NvPixelDataRange { WritePixelDataRangeNv = ((int)0X8878), ReadPixelDataRangeNv = ((int)0X8879), WritePixelDataRangeLengthNv = ((int)0X887a), ReadPixelDataRangeLengthNv = ((int)0X887b), WritePixelDataRangePointerNv = ((int)0X887c), ReadPixelDataRangePointerNv = ((int)0X887d), } public enum NvPointSprite { PointSpriteNv = ((int)0X8861), CoordReplaceNv = ((int)0X8862), PointSpriteRModeNv = ((int)0X8863), } public enum NvPresentVideo { FrameNv = ((int)0X8e26), FieldsNv = ((int)0X8e27), CurrentTimeNv = ((int)0X8e28), NumFillStreamsNv = ((int)0X8e29), PresentTimeNv = ((int)0X8e2a), PresentDurationNv = ((int)0X8e2b), } public enum NvPrimitiveRestart { PrimitiveRestartNv = ((int)0X8558), PrimitiveRestartIndexNv = ((int)0X8559), } public enum NvRegisterCombiners { None = ((int)0), Zero = ((int)0), Fog = ((int)0X0b60), Texture0Arb = ((int)0X84c0), Texture1Arb = ((int)0X84c1), RegisterCombinersNv = ((int)0X8522), VariableANv = ((int)0X8523), VariableBNv = ((int)0X8524), VariableCNv = ((int)0X8525), VariableDNv = ((int)0X8526), VariableENv = ((int)0X8527), VariableFNv = ((int)0X8528), VariableGNv = ((int)0X8529), ConstantColor0Nv = ((int)0X852a), ConstantColor1Nv = ((int)0X852b), PrimaryColorNv = ((int)0X852c), SecondaryColorNv = ((int)0X852d), Spare0Nv = ((int)0X852e), Spare1Nv = ((int)0X852f), DiscardNv = ((int)0X8530), ETimesFNv = ((int)0X8531), Spare0PlusSecondaryColorNv = ((int)0X8532), UnsignedIdentityNv = ((int)0X8536), UnsignedInvertNv = ((int)0X8537), ExpandNormalNv = ((int)0X8538), ExpandNegateNv = ((int)0X8539), HalfBiasNormalNv = ((int)0X853a), HalfBiasNegateNv = ((int)0X853b), SignedIdentityNv = ((int)0X853c), SignedNegateNv = ((int)0X853d), ScaleByTwoNv = ((int)0X853e), ScaleByFourNv = ((int)0X853f), ScaleByOneHalfNv = ((int)0X8540), BiasByNegativeOneHalfNv = ((int)0X8541), CombinerInputNv = ((int)0X8542), CombinerMappingNv = ((int)0X8543), CombinerComponentUsageNv = ((int)0X8544), CombinerAbDotProductNv = ((int)0X8545), CombinerCdDotProductNv = ((int)0X8546), CombinerMuxSumNv = ((int)0X8547), CombinerScaleNv = ((int)0X8548), CombinerBiasNv = ((int)0X8549), CombinerAbOutputNv = ((int)0X854a), CombinerCdOutputNv = ((int)0X854b), CombinerSumOutputNv = ((int)0X854c), MaxGeneralCombinersNv = ((int)0X854d), NumGeneralCombinersNv = ((int)0X854e), ColorSumClampNv = ((int)0X854f), Combiner0Nv = ((int)0X8550), Combiner1Nv = ((int)0X8551), Combiner2Nv = ((int)0X8552), Combiner3Nv = ((int)0X8553), Combiner4Nv = ((int)0X8554), Combiner5Nv = ((int)0X8555), Combiner6Nv = ((int)0X8556), Combiner7Nv = ((int)0X8557), } public enum NvRegisterCombiners2 { PerStageConstantsNv = ((int)0X8535), } public enum NvTexgenEmboss { EmbossLightNv = ((int)0X855d), EmbossConstantNv = ((int)0X855e), EmbossMapNv = ((int)0X855f), } public enum NvTexgenReflection { NormalMapNv = ((int)0X8511), ReflectionMapNv = ((int)0X8512), } public enum NvTextureCompressionVtc { } public enum NvTextureEnvCombine4 { Combine4Nv = ((int)0X8503), Source3RgbNv = ((int)0X8583), Source3AlphaNv = ((int)0X858b), Operand3RgbNv = ((int)0X8593), Operand3AlphaNv = ((int)0X859b), } public enum NvTextureExpandNormal { TextureUnsignedRemapModeNv = ((int)0X888f), } public enum NvTextureRectangle { TextureRectangleNv = ((int)0X84f5), TextureBindingRectangleNv = ((int)0X84f6), ProxyTextureRectangleNv = ((int)0X84f7), MaxRectangleTextureSizeNv = ((int)0X84f8), } public enum NvTextureShader { OffsetTextureRectangleNv = ((int)0X864c), OffsetTextureRectangleScaleNv = ((int)0X864d), DotProductTextureRectangleNv = ((int)0X864e), RgbaUnsignedDotProductMappingNv = ((int)0X86d9), UnsignedIntS8S888Nv = ((int)0X86da), UnsignedInt88S8S8RevNv = ((int)0X86db), DsdtMagIntensityNv = ((int)0X86dc), ShaderConsistentNv = ((int)0X86dd), TextureShaderNv = ((int)0X86de), ShaderOperationNv = ((int)0X86df), CullModesNv = ((int)0X86e0), OffsetTexture2DMatrixNv = ((int)0X86e1), OffsetTextureMatrixNv = ((int)0X86e1), OffsetTexture2DScaleNv = ((int)0X86e2), OffsetTextureScaleNv = ((int)0X86e2), OffsetTexture2DBiasNv = ((int)0X86e3), OffsetTextureBiasNv = ((int)0X86e3), PreviousTextureInputNv = ((int)0X86e4), ConstEyeNv = ((int)0X86e5), PassThroughNv = ((int)0X86e6), CullFragmentNv = ((int)0X86e7), OffsetTexture2DNv = ((int)0X86e8), DependentArTexture2DNv = ((int)0X86e9), DependentGbTexture2DNv = ((int)0X86ea), DotProductNv = ((int)0X86ec), DotProductDepthReplaceNv = ((int)0X86ed), DotProductTexture2DNv = ((int)0X86ee), DotProductTextureCubeMapNv = ((int)0X86f0), DotProductDiffuseCubeMapNv = ((int)0X86f1), DotProductReflectCubeMapNv = ((int)0X86f2), DotProductConstEyeReflectCubeMapNv = ((int)0X86f3), HiloNv = ((int)0X86f4), DsdtNv = ((int)0X86f5), DsdtMagNv = ((int)0X86f6), DsdtMagVibNv = ((int)0X86f7), Hilo16Nv = ((int)0X86f8), SignedHiloNv = ((int)0X86f9), SignedHilo16Nv = ((int)0X86fa), SignedRgbaNv = ((int)0X86fb), SignedRgba8Nv = ((int)0X86fc), SignedRgbNv = ((int)0X86fe), SignedRgb8Nv = ((int)0X86ff), SignedLuminanceNv = ((int)0X8701), SignedLuminance8Nv = ((int)0X8702), SignedLuminanceAlphaNv = ((int)0X8703), SignedLuminance8Alpha8Nv = ((int)0X8704), SignedAlphaNv = ((int)0X8705), SignedAlpha8Nv = ((int)0X8706), SignedIntensityNv = ((int)0X8707), SignedIntensity8Nv = ((int)0X8708), Dsdt8Nv = ((int)0X8709), Dsdt8Mag8Nv = ((int)0X870a), Dsdt8Mag8Intensity8Nv = ((int)0X870b), SignedRgbUnsignedAlphaNv = ((int)0X870c), SignedRgb8UnsignedAlpha8Nv = ((int)0X870d), HiScaleNv = ((int)0X870e), LoScaleNv = ((int)0X870f), DsScaleNv = ((int)0X8710), DtScaleNv = ((int)0X8711), MagnitudeScaleNv = ((int)0X8712), VibranceScaleNv = ((int)0X8713), HiBiasNv = ((int)0X8714), LoBiasNv = ((int)0X8715), DsBiasNv = ((int)0X8716), DtBiasNv = ((int)0X8717), MagnitudeBiasNv = ((int)0X8718), VibranceBiasNv = ((int)0X8719), TextureBorderValuesNv = ((int)0X871a), TextureHiSizeNv = ((int)0X871b), TextureLoSizeNv = ((int)0X871c), TextureDsSizeNv = ((int)0X871d), TextureDtSizeNv = ((int)0X871e), TextureMagSizeNv = ((int)0X871f), } public enum NvTextureShader2 { DotProductTexture3DNv = ((int)0X86ef), } public enum NvTextureShader3 { OffsetProjectiveTexture2DNv = ((int)0X8850), OffsetProjectiveTexture2DScaleNv = ((int)0X8851), OffsetProjectiveTextureRectangleNv = ((int)0X8852), OffsetProjectiveTextureRectangleScaleNv = ((int)0X8853), OffsetHiloTexture2DNv = ((int)0X8854), OffsetHiloTextureRectangleNv = ((int)0X8855), OffsetHiloProjectiveTexture2DNv = ((int)0X8856), OffsetHiloProjectiveTextureRectangleNv = ((int)0X8857), DependentHiloTexture2DNv = ((int)0X8858), DependentRgbTexture3DNv = ((int)0X8859), DependentRgbTextureCubeMapNv = ((int)0X885a), DotProductPassThroughNv = ((int)0X885b), DotProductTexture1DNv = ((int)0X885c), DotProductAffineDepthReplaceNv = ((int)0X885d), Hilo8Nv = ((int)0X885e), SignedHilo8Nv = ((int)0X885f), ForceBlueToOneNv = ((int)0X8860), } public enum NvTransformFeedback { BackPrimaryColorNv = ((int)0X8c77), BackSecondaryColorNv = ((int)0X8c78), TextureCoordNv = ((int)0X8c79), ClipDistanceNv = ((int)0X8c7a), VertexIdNv = ((int)0X8c7b), PrimitiveIdNv = ((int)0X8c7c), GenericAttribNv = ((int)0X8c7d), TransformFeedbackAttribsNv = ((int)0X8c7e), TransformFeedbackBufferModeNv = ((int)0X8c7f), MaxTransformFeedbackSeparateComponentsNv = ((int)0X8c80), ActiveVaryingsNv = ((int)0X8c81), ActiveVaryingMaxLengthNv = ((int)0X8c82), TransformFeedbackVaryingsNv = ((int)0X8c83), TransformFeedbackBufferStartNv = ((int)0X8c84), TransformFeedbackBufferSizeNv = ((int)0X8c85), TransformFeedbackRecordNv = ((int)0X8c86), PrimitivesGeneratedNv = ((int)0X8c87), TransformFeedbackPrimitivesWrittenNv = ((int)0X8c88), RasterizerDiscardNv = ((int)0X8c89), MaxTransformFeedbackInterleavedAttribsNv = ((int)0X8c8a), MaxTransformFeedbackSeparateAttribsNv = ((int)0X8c8b), InterleavedAttribsNv = ((int)0X8c8c), SeparateAttribsNv = ((int)0X8c8d), TransformFeedbackBufferNv = ((int)0X8c8e), TransformFeedbackBufferBindingNv = ((int)0X8c8f), } public enum NvTransformFeedback2 { TransformFeedbackNv = ((int)0X8e22), TransformFeedbackBufferPausedNv = ((int)0X8e23), TransformFeedbackBufferActiveNv = ((int)0X8e24), TransformFeedbackBindingNv = ((int)0X8e25), } public enum NvVertexArrayRange { VertexArrayRangeNv = ((int)0X851d), VertexArrayRangeLengthNv = ((int)0X851e), VertexArrayRangeValidNv = ((int)0X851f), MaxVertexArrayRangeElementNv = ((int)0X8520), VertexArrayRangePointerNv = ((int)0X8521), } public enum NvVertexArrayRange2 { VertexArrayRangeWithoutFlushNv = ((int)0X8533), } public enum NvVertexProgram { VertexProgramNv = ((int)0X8620), VertexStateProgramNv = ((int)0X8621), AttribArraySizeNv = ((int)0X8623), AttribArrayStrideNv = ((int)0X8624), AttribArrayTypeNv = ((int)0X8625), CurrentAttribNv = ((int)0X8626), ProgramLengthNv = ((int)0X8627), ProgramStringNv = ((int)0X8628), ModelviewProjectionNv = ((int)0X8629), IdentityNv = ((int)0X862a), InverseNv = ((int)0X862b), TransposeNv = ((int)0X862c), InverseTransposeNv = ((int)0X862d), MaxTrackMatrixStackDepthNv = ((int)0X862e), MaxTrackMatricesNv = ((int)0X862f), Matrix0Nv = ((int)0X8630), Matrix1Nv = ((int)0X8631), Matrix2Nv = ((int)0X8632), Matrix3Nv = ((int)0X8633), Matrix4Nv = ((int)0X8634), Matrix5Nv = ((int)0X8635), Matrix6Nv = ((int)0X8636), Matrix7Nv = ((int)0X8637), CurrentMatrixStackDepthNv = ((int)0X8640), CurrentMatrixNv = ((int)0X8641), VertexProgramPointSizeNv = ((int)0X8642), VertexProgramTwoSideNv = ((int)0X8643), ProgramParameterNv = ((int)0X8644), AttribArrayPointerNv = ((int)0X8645), ProgramTargetNv = ((int)0X8646), ProgramResidentNv = ((int)0X8647), TrackMatrixNv = ((int)0X8648), TrackMatrixTransformNv = ((int)0X8649), VertexProgramBindingNv = ((int)0X864a), ProgramErrorPositionNv = ((int)0X864b), VertexAttribArray0Nv = ((int)0X8650), VertexAttribArray1Nv = ((int)0X8651), VertexAttribArray2Nv = ((int)0X8652), VertexAttribArray3Nv = ((int)0X8653), VertexAttribArray4Nv = ((int)0X8654), VertexAttribArray5Nv = ((int)0X8655), VertexAttribArray6Nv = ((int)0X8656), VertexAttribArray7Nv = ((int)0X8657), VertexAttribArray8Nv = ((int)0X8658), VertexAttribArray9Nv = ((int)0X8659), VertexAttribArray10Nv = ((int)0X865a), VertexAttribArray11Nv = ((int)0X865b), VertexAttribArray12Nv = ((int)0X865c), VertexAttribArray13Nv = ((int)0X865d), VertexAttribArray14Nv = ((int)0X865e), VertexAttribArray15Nv = ((int)0X865f), Map1VertexAttrib04Nv = ((int)0X8660), Map1VertexAttrib14Nv = ((int)0X8661), Map1VertexAttrib24Nv = ((int)0X8662), Map1VertexAttrib34Nv = ((int)0X8663), Map1VertexAttrib44Nv = ((int)0X8664), Map1VertexAttrib54Nv = ((int)0X8665), Map1VertexAttrib64Nv = ((int)0X8666), Map1VertexAttrib74Nv = ((int)0X8667), Map1VertexAttrib84Nv = ((int)0X8668), Map1VertexAttrib94Nv = ((int)0X8669), Map1VertexAttrib104Nv = ((int)0X866a), Map1VertexAttrib114Nv = ((int)0X866b), Map1VertexAttrib124Nv = ((int)0X866c), Map1VertexAttrib134Nv = ((int)0X866d), Map1VertexAttrib144Nv = ((int)0X866e), Map1VertexAttrib154Nv = ((int)0X866f), Map2VertexAttrib04Nv = ((int)0X8670), Map2VertexAttrib14Nv = ((int)0X8671), Map2VertexAttrib24Nv = ((int)0X8672), Map2VertexAttrib34Nv = ((int)0X8673), Map2VertexAttrib44Nv = ((int)0X8674), Map2VertexAttrib54Nv = ((int)0X8675), Map2VertexAttrib64Nv = ((int)0X8676), Map2VertexAttrib74Nv = ((int)0X8677), Map2VertexAttrib84Nv = ((int)0X8678), Map2VertexAttrib94Nv = ((int)0X8679), Map2VertexAttrib104Nv = ((int)0X867a), Map2VertexAttrib114Nv = ((int)0X867b), Map2VertexAttrib124Nv = ((int)0X867c), Map2VertexAttrib134Nv = ((int)0X867d), Map2VertexAttrib144Nv = ((int)0X867e), Map2VertexAttrib154Nv = ((int)0X867f), } public enum NvVertexProgram11 { } public enum NvVertexProgram2 { } public enum NvVertexProgram2Option { MaxProgramExecInstructionsNv = ((int)0X88f4), MaxProgramCallDepthNv = ((int)0X88f5), } public enum NvVertexProgram3 { MaxVertexTextureImageUnitsArb = ((int)0X8b4c), } public enum NvVertexProgram4 { VertexAttribArrayIntegerNv = ((int)0X88fd), } public enum OesReadFormat { ImplementationColorReadTypeOes = ((int)0X8b9a), ImplementationColorReadFormatOes = ((int)0X8b9b), } public enum OmlInterlace { InterlaceOml = ((int)0X8980), InterlaceReadOml = ((int)0X8981), } public enum OmlResample { PackResampleOml = ((int)0X8984), UnpackResampleOml = ((int)0X8985), ResampleReplicateOml = ((int)0X8986), ResampleZeroFillOml = ((int)0X8987), ResampleAverageOml = ((int)0X8988), ResampleDecimateOml = ((int)0X8989), } public enum OmlSubsample { FormatSubsample2424Oml = ((int)0X8982), FormatSubsample244244Oml = ((int)0X8983), } public enum PgiMiscHints { PreferDoublebufferHintPgi = ((int)0X1a1f8), ConserveMemoryHintPgi = ((int)0X1a1fd), ReclaimMemoryHintPgi = ((int)0X1a1fe), NativeGraphicsHandlePgi = ((int)0X1a202), NativeGraphicsBeginHintPgi = ((int)0X1a203), NativeGraphicsEndHintPgi = ((int)0X1a204), AlwaysFastHintPgi = ((int)0X1a20c), AlwaysSoftHintPgi = ((int)0X1a20d), AllowDrawObjHintPgi = ((int)0X1a20e), AllowDrawWinHintPgi = ((int)0X1a20f), AllowDrawFrgHintPgi = ((int)0X1a210), AllowDrawMemHintPgi = ((int)0X1a211), StrictDepthfuncHintPgi = ((int)0X1a216), StrictLightingHintPgi = ((int)0X1a217), StrictScissorHintPgi = ((int)0X1a218), FullStippleHintPgi = ((int)0X1a219), ClipNearHintPgi = ((int)0X1a220), ClipFarHintPgi = ((int)0X1a221), WideLineHintPgi = ((int)0X1a222), BackNormalsHintPgi = ((int)0X1a223), } public enum PgiVertexHints { Vertex23BitPgi = ((int)0X00000004), Vertex4BitPgi = ((int)0X00000008), Color3BitPgi = ((int)0X00010000), Color4BitPgi = ((int)0X00020000), EdgeflagBitPgi = ((int)0X00040000), IndexBitPgi = ((int)0X00080000), MatAmbientBitPgi = ((int)0X00100000), MatAmbientAndDiffuseBitPgi = ((int)0X00200000), MatDiffuseBitPgi = ((int)0X00400000), MatEmissionBitPgi = ((int)0X00800000), MatColorIndexesBitPgi = ((int)0X01000000), MatShininessBitPgi = ((int)0X02000000), MatSpecularBitPgi = ((int)0X04000000), NormalBitPgi = ((int)0X08000000), Texcoord1BitPgi = ((int)0X10000000), VertexDataHintPgi = ((int)0X1a22a), VertexConsistentHintPgi = ((int)0X1a22b), MaterialSideHintPgi = ((int)0X1a22c), MaxVertexHintPgi = ((int)0X1a22d), Texcoord2BitPgi = ((int)0X20000000), Texcoord3BitPgi = ((int)0X40000000), Texcoord4BitPgi = unchecked((int)0X80000000), } public enum PixelCopyType { Color = ((int)0X1800), Depth = ((int)0X1801), Stencil = ((int)0X1802), } public enum PixelFormat { ColorIndex = ((int)0X1900), StencilIndex = ((int)0X1901), DepthComponent = ((int)0X1902), Red = ((int)0X1903), Green = ((int)0X1904), Blue = ((int)0X1905), Alpha = ((int)0X1906), Rgb = ((int)0X1907), Rgba = ((int)0X1908), Luminance = ((int)0X1909), LuminanceAlpha = ((int)0X190a), AbgrExt = ((int)0X8000), CmykExt = ((int)0X800c), CmykaExt = ((int)0X800D), Bgr = ((int)0X80e0), Bgra = ((int)0X80e1), Ycrcb422Sgix = ((int)0X81bb), Ycrcb444Sgix = ((int)0X81bc), Rg = ((int)0X8227), RgInteger = ((int)0X8228), DepthStencil = ((int)0X84f9), RedInteger = ((int)0X8d94), GreenInteger = ((int)0X8d95), BlueInteger = ((int)0X8d96), AlphaInteger = ((int)0X8d97), RgbInteger = ((int)0X8d98), RgbaInteger = ((int)0X8d99), BgrInteger = ((int)0X8d9a), BgraInteger = ((int)0X8d9b), } public enum PixelInternalFormat { DepthComponent = ((int)0X1902), Alpha = ((int)0X1906), Rgb = ((int)0X1907), Rgba = ((int)0X1908), Luminance = ((int)0X1909), LuminanceAlpha = ((int)0X190a), R3G3B2 = ((int)0X2a10), Alpha4 = ((int)0X803b), Alpha8 = ((int)0X803c), Alpha12 = ((int)0X803d), Alpha16 = ((int)0X803e), Luminance4 = ((int)0X803f), Luminance8 = ((int)0X8040), Luminance12 = ((int)0X8041), Luminance16 = ((int)0X8042), Luminance4Alpha4 = ((int)0X8043), Luminance6Alpha2 = ((int)0X8044), Luminance8Alpha8 = ((int)0X8045), Luminance12Alpha4 = ((int)0X8046), Luminance12Alpha12 = ((int)0X8047), Luminance16Alpha16 = ((int)0X8048), Intensity = ((int)0X8049), Intensity4 = ((int)0X804a), Intensity8 = ((int)0X804b), Intensity12 = ((int)0X804c), Intensity16 = ((int)0X804d), Rgb2Ext = ((int)0X804e), Rgb4 = ((int)0X804f), Rgb5 = ((int)0X8050), Rgb8 = ((int)0X8051), Rgb10 = ((int)0X8052), Rgb12 = ((int)0X8053), Rgb16 = ((int)0X8054), Rgba2 = ((int)0X8055), Rgba4 = ((int)0X8056), Rgb5A1 = ((int)0X8057), Rgba8 = ((int)0X8058), Rgb10A2 = ((int)0X8059), Rgba12 = ((int)0X805a), Rgba16 = ((int)0X805b), DualAlpha4Sgis = ((int)0X8110), DualAlpha8Sgis = ((int)0X8111), DualAlpha12Sgis = ((int)0X8112), DualAlpha16Sgis = ((int)0X8113), DualLuminance4Sgis = ((int)0X8114), DualLuminance8Sgis = ((int)0X8115), DualLuminance12Sgis = ((int)0X8116), DualLuminance16Sgis = ((int)0X8117), DualIntensity4Sgis = ((int)0X8118), DualIntensity8Sgis = ((int)0X8119), DualIntensity12Sgis = ((int)0X811a), DualIntensity16Sgis = ((int)0X811b), DualLuminanceAlpha4Sgis = ((int)0X811c), DualLuminanceAlpha8Sgis = ((int)0X811D), QuadAlpha4Sgis = ((int)0X811e), QuadAlpha8Sgis = ((int)0X811f), QuadLuminance4Sgis = ((int)0X8120), QuadLuminance8Sgis = ((int)0X8121), QuadIntensity4Sgis = ((int)0X8122), QuadIntensity8Sgis = ((int)0X8123), DepthComponent16 = ((int)0X81a5), DepthComponent16Sgix = ((int)0X81a5), DepthComponent24 = ((int)0X81a6), DepthComponent24Sgix = ((int)0X81a6), DepthComponent32 = ((int)0X81a7), DepthComponent32Sgix = ((int)0X81a7), CompressedRed = ((int)0X8225), CompressedRg = ((int)0X8226), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822D), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), CompressedAlpha = ((int)0X84e9), CompressedLuminance = ((int)0X84ea), CompressedLuminanceAlpha = ((int)0X84eb), CompressedIntensity = ((int)0X84ec), CompressedRgb = ((int)0X84ed), CompressedRgba = ((int)0X84ee), DepthStencil = ((int)0X84f9), Rgba32f = ((int)0X8814), Rgb32f = ((int)0X8815), Rgba16f = ((int)0X881a), Rgb16f = ((int)0X881b), Depth24Stencil8 = ((int)0X88f0), R11fG11fB10f = ((int)0X8c3a), Rgb9E5 = ((int)0X8c3d), Srgb = ((int)0X8c40), Srgb8 = ((int)0X8c41), SrgbAlpha = ((int)0X8c42), Srgb8Alpha8 = ((int)0X8c43), SluminanceAlpha = ((int)0X8c44), Sluminance8Alpha8 = ((int)0X8c45), Sluminance = ((int)0X8c46), Sluminance8 = ((int)0X8c47), CompressedSrgb = ((int)0X8c48), CompressedSrgbAlpha = ((int)0X8c49), CompressedSluminance = ((int)0X8c4a), CompressedSluminanceAlpha = ((int)0X8c4b), CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c), CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d), CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e), CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f), DepthComponent32f = ((int)0X8cac), Depth32fStencil8 = ((int)0X8cad), Rgba32ui = ((int)0X8d70), Rgb32ui = ((int)0X8d71), Rgba16ui = ((int)0X8d76), Rgb16ui = ((int)0X8d77), Rgba8ui = ((int)0X8d7c), Rgb8ui = ((int)0X8d7d), Rgba32i = ((int)0X8d82), Rgb32i = ((int)0X8d83), Rgba16i = ((int)0X8d88), Rgb16i = ((int)0X8d89), Rgba8i = ((int)0X8d8e), Rgb8i = ((int)0X8d8f), Float32UnsignedInt248Rev = ((int)0X8Dad), CompressedRedRgtc1 = ((int)0X8Dbb), CompressedSignedRedRgtc1 = ((int)0X8Dbc), CompressedRgRgtc2 = ((int)0X8Dbd), CompressedSignedRgRgtc2 = ((int)0X8Dbe), One = ((int)1), Two = ((int)2), Three = ((int)3), Four = ((int)4), } public enum PixelMap { PixelMapIToI = ((int)0X0c70), PixelMapSToS = ((int)0X0c71), PixelMapIToR = ((int)0X0c72), PixelMapIToG = ((int)0X0c73), PixelMapIToB = ((int)0X0c74), PixelMapIToA = ((int)0X0c75), PixelMapRToR = ((int)0X0c76), PixelMapGToG = ((int)0X0c77), PixelMapBToB = ((int)0X0c78), PixelMapAToA = ((int)0X0c79), } public enum PixelStoreParameter { UnpackSwapBytes = ((int)0X0cf0), UnpackLsbFirst = ((int)0X0cf1), UnpackRowLength = ((int)0X0cf2), UnpackSkipRows = ((int)0X0cf3), UnpackSkipPixels = ((int)0X0cf4), UnpackAlignment = ((int)0X0cf5), PackSwapBytes = ((int)0X0D00), PackLsbFirst = ((int)0X0D01), PackRowLength = ((int)0X0D02), PackSkipRows = ((int)0X0D03), PackSkipPixels = ((int)0X0D04), PackAlignment = ((int)0X0D05), PackSkipImages = ((int)0X806b), PackSkipImagesExt = ((int)0X806b), PackImageHeight = ((int)0X806c), PackImageHeightExt = ((int)0X806c), UnpackSkipImages = ((int)0X806d), UnpackSkipImagesExt = ((int)0X806D), UnpackImageHeight = ((int)0X806e), UnpackImageHeightExt = ((int)0X806e), PackSkipVolumesSgis = ((int)0X8130), PackImageDepthSgis = ((int)0X8131), UnpackSkipVolumesSgis = ((int)0X8132), UnpackImageDepthSgis = ((int)0X8133), PixelTileWidthSgix = ((int)0X8140), PixelTileHeightSgix = ((int)0X8141), PixelTileGridWidthSgix = ((int)0X8142), PixelTileGridHeightSgix = ((int)0X8143), PixelTileGridDepthSgix = ((int)0X8144), PixelTileCacheSizeSgix = ((int)0X8145), PackResampleSgix = ((int)0X842c), UnpackResampleSgix = ((int)0X842D), PackSubsampleRateSgix = ((int)0X85a0), UnpackSubsampleRateSgix = ((int)0X85a1), } public enum PixelStoreResampleMode { ResampleReplicateSgix = ((int)0X842e), ResampleZeroFillSgix = ((int)0X842f), ResampleDecimateSgix = ((int)0X8430), } public enum PixelStoreSubsampleRate { PixelSubsample4444Sgix = ((int)0X85a2), PixelSubsample2424Sgix = ((int)0X85a3), PixelSubsample4242Sgix = ((int)0X85a4), } public enum PixelTexGenMode { None = ((int)0), Rgb = ((int)0X1907), Rgba = ((int)0X1908), Luminance = ((int)0X1909), LuminanceAlpha = ((int)0X190a), PixelTexGenAlphaReplaceSgix = ((int)0X8187), PixelTexGenAlphaNoReplaceSgix = ((int)0X8188), PixelTexGenAlphaLsSgix = ((int)0X8189), PixelTexGenAlphaMsSgix = ((int)0X818a), } public enum PixelTexGenParameterNameSgis { PixelFragmentRgbSourceSgis = ((int)0X8354), PixelFragmentAlphaSourceSgis = ((int)0X8355), } public enum PixelTransferParameter { MapColor = ((int)0X0D10), MapStencil = ((int)0X0D11), IndexShift = ((int)0X0D12), IndexOffset = ((int)0X0D13), RedScale = ((int)0X0D14), RedBias = ((int)0X0D15), GreenScale = ((int)0X0D18), GreenBias = ((int)0X0D19), BlueScale = ((int)0X0D1a), BlueBias = ((int)0X0D1b), AlphaScale = ((int)0X0D1c), AlphaBias = ((int)0X0D1D), DepthScale = ((int)0X0D1e), DepthBias = ((int)0X0D1f), PostConvolutionRedScaleExt = ((int)0X801c), PostConvolutionGreenScaleExt = ((int)0X801D), PostConvolutionBlueScaleExt = ((int)0X801e), PostConvolutionAlphaScaleExt = ((int)0X801f), PostConvolutionRedBiasExt = ((int)0X8020), PostConvolutionGreenBiasExt = ((int)0X8021), PostConvolutionBlueBiasExt = ((int)0X8022), PostConvolutionAlphaBiasExt = ((int)0X8023), PostColorMatrixRedScaleSgi = ((int)0X80b4), PostColorMatrixGreenScaleSgi = ((int)0X80b5), PostColorMatrixBlueScaleSgi = ((int)0X80b6), PostColorMatrixAlphaScaleSgi = ((int)0X80b7), PostColorMatrixRedBiasSgi = ((int)0X80b8), PostColorMatrixGreenBiasSgi = ((int)0X80b9), PostColorMatrixBlueBiasSgi = ((int)0X80ba), PostColorMatrixAlphaBiasSgi = ((int)0X80bb), } public enum PixelType { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), HalfFloat = ((int)0X140b), Bitmap = ((int)0X1a00), UnsignedByte332 = ((int)0X8032), UnsignedByte332Ext = ((int)0X8032), UnsignedShort4444 = ((int)0X8033), UnsignedShort4444Ext = ((int)0X8033), UnsignedShort5551 = ((int)0X8034), UnsignedShort5551Ext = ((int)0X8034), UnsignedInt8888 = ((int)0X8035), UnsignedInt8888Ext = ((int)0X8035), UnsignedInt1010102 = ((int)0X8036), UnsignedInt1010102Ext = ((int)0X8036), UnsignedByte233Reversed = ((int)0X8362), UnsignedShort565 = ((int)0X8363), UnsignedShort565Reversed = ((int)0X8364), UnsignedShort4444Reversed = ((int)0X8365), UnsignedShort1555Reversed = ((int)0X8366), UnsignedInt8888Reversed = ((int)0X8367), UnsignedInt2101010Reversed = ((int)0X8368), UnsignedInt248 = ((int)0X84fa), UnsignedInt10F11F11FRev = ((int)0X8c3b), UnsignedInt5999Rev = ((int)0X8c3e), Float32UnsignedInt248Rev = ((int)0X8Dad), } public enum PointParameterName { PointSizeMin = ((int)0X8126), PointSizeMax = ((int)0X8127), PointFadeThresholdSize = ((int)0X8128), PointDistanceAttenuation = ((int)0X8129), PointSpriteCoordOrigin = ((int)0X8ca0), } public enum PointParameterNameSgis { PointSizeMinSgis = ((int)0X8126), PointSizeMaxSgis = ((int)0X8127), PointFadeThresholdSizeSgis = ((int)0X8128), DistanceAttenuationSgis = ((int)0X8129), } public enum PointSpriteCoordOriginParameter { LowerLeft = ((int)0X8ca1), UpperLeft = ((int)0X8ca2), } public enum PolygonMode { Point = ((int)0X1b00), Line = ((int)0X1b01), Fill = ((int)0X1b02), } public enum ProgramParameter { ActiveUniformBlockMaxNameLength = ((int)0X8a35), ActiveUniformBlocks = ((int)0X8a36), DeleteStatus = ((int)0X8b80), LinkStatus = ((int)0X8b82), ValidateStatus = ((int)0X8b83), InfoLogLength = ((int)0X8b84), AttachedShaders = ((int)0X8b85), ActiveUniforms = ((int)0X8b86), ActiveUniformMaxLength = ((int)0X8b87), ActiveAttributes = ((int)0X8b89), ActiveAttributeMaxLength = ((int)0X8b8a), TransformFeedbackVaryingMaxLength = ((int)0X8c76), TransformFeedbackBufferMode = ((int)0X8c7f), TransformFeedbackVaryings = ((int)0X8c83), } public enum QueryTarget { SamplesPassed = ((int)0X8914), PrimitivesGenerated = ((int)0X8c87), TransformFeedbackPrimitivesWritten = ((int)0X8c88), } public enum ReadBufferMode { FrontLeft = ((int)0X0400), FrontRight = ((int)0X0401), BackLeft = ((int)0X0402), BackRight = ((int)0X0403), Front = ((int)0X0404), Back = ((int)0X0405), Left = ((int)0X0406), Right = ((int)0X0407), Aux0 = ((int)0X0409), Aux1 = ((int)0X040a), Aux2 = ((int)0X040b), Aux3 = ((int)0X040c), } public enum RenderbufferParameterName { RenderbufferSamples = ((int)0X8cab), RenderbufferWidthExt = ((int)0X8d42), RenderbufferWidth = ((int)0X8D42), RenderbufferHeightExt = ((int)0X8d43), RenderbufferHeight = ((int)0X8D43), RenderbufferInternalFormatExt = ((int)0X8d44), RenderbufferInternalFormat = ((int)0X8D44), RenderbufferRedSizeExt = ((int)0X8d50), RenderbufferRedSize = ((int)0X8D50), RenderbufferGreenSizeExt = ((int)0X8d51), RenderbufferGreenSize = ((int)0X8D51), RenderbufferBlueSizeExt = ((int)0X8d52), RenderbufferBlueSize = ((int)0X8D52), RenderbufferAlphaSizeExt = ((int)0X8d53), RenderbufferAlphaSize = ((int)0X8D53), RenderbufferDepthSizeExt = ((int)0X8d54), RenderbufferDepthSize = ((int)0X8D54), RenderbufferStencilSizeExt = ((int)0X8d55), RenderbufferStencilSize = ((int)0X8D55), } public enum RenderbufferStorage { R3G3B2 = ((int)0X2a10), Alpha4 = ((int)0X803b), Alpha8 = ((int)0X803c), Alpha12 = ((int)0X803D), Alpha16 = ((int)0X803e), Rgb4 = ((int)0X804f), Rgb5 = ((int)0X8050), Rgb8 = ((int)0X8051), Rgb10 = ((int)0X8052), Rgb12 = ((int)0X8053), Rgb16 = ((int)0X8054), Rgba2 = ((int)0X8055), Rgba4 = ((int)0X8056), Rgba8 = ((int)0X8058), Rgb10A2 = ((int)0X8059), Rgba12 = ((int)0X805a), Rgba16 = ((int)0X805b), DepthComponent16 = ((int)0X81a5), DepthComponent24 = ((int)0X81a6), DepthComponent32 = ((int)0X81a7), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822d), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), Rgba32f = ((int)0X8814), Rgb32f = ((int)0X8815), Rgba16f = ((int)0X881a), Rgb16f = ((int)0X881b), Depth24Stencil8 = ((int)0X88f0), R11fG11fB10f = ((int)0X8c3a), Rgb9E5 = ((int)0X8c3D), Srgb8 = ((int)0X8c41), Srgb8Alpha8 = ((int)0X8c43), DepthComponent32f = ((int)0X8cac), Depth32fStencil8 = ((int)0X8cad), StencilIndex1Ext = ((int)0X8d46), StencilIndex1 = ((int)0X8D46), StencilIndex4Ext = ((int)0X8d47), StencilIndex4 = ((int)0X8D47), StencilIndex8Ext = ((int)0X8d48), StencilIndex8 = ((int)0X8D48), StencilIndex16Ext = ((int)0X8d49), StencilIndex16 = ((int)0X8D49), Rgba32ui = ((int)0X8D70), Rgb32ui = ((int)0X8D71), Rgba16ui = ((int)0X8D76), Rgb16ui = ((int)0X8D77), Rgba8ui = ((int)0X8D7c), Rgb8ui = ((int)0X8D7D), Rgba32i = ((int)0X8D82), Rgb32i = ((int)0X8D83), Rgba16i = ((int)0X8D88), Rgb16i = ((int)0X8D89), Rgba8i = ((int)0X8D8e), Rgb8i = ((int)0X8D8f), } public enum RenderbufferTarget { RenderbufferExt = ((int)0X8d41), Renderbuffer = ((int)0X8D41), } public enum RenderingMode { Render = ((int)0X1c00), Feedback = ((int)0X1c01), Select = ((int)0X1c02), } public enum RendScreenCoordinates { ScreenCoordinatesRend = ((int)0X8490), InvertedScreenWRend = ((int)0X8491), } public enum S3S3tc { RgbS3tc = ((int)0X83a0), Rgb4S3tc = ((int)0X83a1), RgbaS3tc = ((int)0X83a2), Rgba4S3tc = ((int)0X83a3), } public enum SamplePatternSgis { Gl1PassSgis = ((int)0X80a1), Gl2Pass0Sgis = ((int)0X80a2), Gl2Pass1Sgis = ((int)0X80a3), Gl4Pass0Sgis = ((int)0X80a4), Gl4Pass1Sgis = ((int)0X80a5), Gl4Pass2Sgis = ((int)0X80a6), Gl4Pass3Sgis = ((int)0X80a7), } public enum SeparableTargetExt { Separable2DExt = ((int)0X8012), } public enum SgiColorMatrix { ColorMatrixSgi = ((int)0X80b1), ColorMatrixStackDepthSgi = ((int)0X80b2), MaxColorMatrixStackDepthSgi = ((int)0X80b3), PostColorMatrixRedScaleSgi = ((int)0X80b4), PostColorMatrixGreenScaleSgi = ((int)0X80b5), PostColorMatrixBlueScaleSgi = ((int)0X80b6), PostColorMatrixAlphaScaleSgi = ((int)0X80b7), PostColorMatrixRedBiasSgi = ((int)0X80b8), PostColorMatrixGreenBiasSgi = ((int)0X80b9), PostColorMatrixBlueBiasSgi = ((int)0X80ba), PostColorMatrixAlphaBiasSgi = ((int)0X80bb), } public enum SgiColorTable { ColorTableSgi = ((int)0X80d0), PostConvolutionColorTableSgi = ((int)0X80d1), PostColorMatrixColorTableSgi = ((int)0X80d2), ProxyColorTableSgi = ((int)0X80d3), ProxyPostConvolutionColorTableSgi = ((int)0X80d4), ProxyPostColorMatrixColorTableSgi = ((int)0X80d5), ColorTableScaleSgi = ((int)0X80d6), ColorTableBiasSgi = ((int)0X80d7), ColorTableFormatSgi = ((int)0X80d8), ColorTableWidthSgi = ((int)0X80d9), ColorTableRedSizeSgi = ((int)0X80da), ColorTableGreenSizeSgi = ((int)0X80db), ColorTableBlueSizeSgi = ((int)0X80dc), ColorTableAlphaSizeSgi = ((int)0X80dd), ColorTableLuminanceSizeSgi = ((int)0X80de), ColorTableIntensitySizeSgi = ((int)0X80df), } public enum SgiDepthPassInstrument { DepthPassInstrumentSgix = ((int)0X8310), DepthPassInstrumentCountersSgix = ((int)0X8311), DepthPassInstrumentMaxSgix = ((int)0X8312), } public enum SgisDetailTexture { DetailTexture2DSgis = ((int)0X8095), DetailTexture2DBindingSgis = ((int)0X8096), LinearDetailSgis = ((int)0X8097), LinearDetailAlphaSgis = ((int)0X8098), LinearDetailColorSgis = ((int)0X8099), DetailTextureLevelSgis = ((int)0X809a), DetailTextureModeSgis = ((int)0X809b), DetailTextureFuncPointsSgis = ((int)0X809c), } public enum SgisFogFunction { FogFuncSgis = ((int)0X812a), FogFuncPointsSgis = ((int)0X812b), MaxFogFuncPointsSgis = ((int)0X812c), } public enum SgisGenerateMipmap { GenerateMipmapSgis = ((int)0X8191), GenerateMipmapHintSgis = ((int)0X8192), GeometryDeformationSgix = ((int)0X8194), TextureDeformationSgix = ((int)0X8195), DeformationsMaskSgix = ((int)0X8196), MaxDeformationOrderSgix = ((int)0X8197), } public enum SgisMultisample { MultisampleSgis = ((int)0X809d), SampleAlphaToMaskSgis = ((int)0X809e), SampleAlphaToOneSgis = ((int)0X809f), SampleMaskSgis = ((int)0X80a0), Gl1PassSgis = ((int)0X80a1), Gl2Pass0Sgis = ((int)0X80a2), Gl2Pass1Sgis = ((int)0X80a3), Gl4Pass0Sgis = ((int)0X80a4), Gl4Pass1Sgis = ((int)0X80a5), Gl4Pass2Sgis = ((int)0X80a6), Gl4Pass3Sgis = ((int)0X80a7), SampleBuffersSgis = ((int)0X80a8), SamplesSgis = ((int)0X80a9), SampleMaskValueSgis = ((int)0X80aa), SampleMaskInvertSgis = ((int)0X80ab), SamplePatternSgis = ((int)0X80ac), } public enum SgisPixelTexture { PixelTextureSgis = ((int)0X8353), PixelFragmentRgbSourceSgis = ((int)0X8354), PixelFragmentAlphaSourceSgis = ((int)0X8355), PixelGroupColorSgis = ((int)0X8356), } public enum SgisPointLineTexgen { EyeDistanceToPointSgis = ((int)0X81f0), ObjectDistanceToPointSgis = ((int)0X81f1), EyeDistanceToLineSgis = ((int)0X81f2), ObjectDistanceToLineSgis = ((int)0X81f3), EyePointSgis = ((int)0X81f4), ObjectPointSgis = ((int)0X81f5), EyeLineSgis = ((int)0X81f6), ObjectLineSgis = ((int)0X81f7), } public enum SgisPointParameters { PointSizeMinSgis = ((int)0X8126), PointSizeMaxSgis = ((int)0X8127), PointFadeThresholdSizeSgis = ((int)0X8128), DistanceAttenuationSgis = ((int)0X8129), } public enum SgisSharpenTexture { LinearSharpenSgis = ((int)0X80ad), LinearSharpenAlphaSgis = ((int)0X80ae), LinearSharpenColorSgis = ((int)0X80af), SharpenTextureFuncPointsSgis = ((int)0X80b0), } public enum SgisTexture4D { PackSkipVolumesSgis = ((int)0X8130), PackImageDepthSgis = ((int)0X8131), UnpackSkipVolumesSgis = ((int)0X8132), UnpackImageDepthSgis = ((int)0X8133), Texture4DSgis = ((int)0X8134), ProxyTexture4DSgis = ((int)0X8135), Texture4DsizeSgis = ((int)0X8136), TextureWrapQSgis = ((int)0X8137), Max4DTextureSizeSgis = ((int)0X8138), Texture4DBindingSgis = ((int)0X814f), } public enum SgisTextureBorderClamp { ClampToBorderSgis = ((int)0X812d), } [Flags] public enum SgisTextureColorMask { TextureColorWritemaskSgis = ((int)0X81ef), } public enum SgisTextureEdgeClamp { ClampToEdgeSgis = ((int)0X812f), } public enum SgisTextureFilter4 { Filter4Sgis = ((int)0X8146), TextureFilter4SizeSgis = ((int)0X8147), } public enum SgisTextureLod { TextureMinLodSgis = ((int)0X813a), TextureMaxLodSgis = ((int)0X813b), TextureBaseLevelSgis = ((int)0X813c), TextureMaxLevelSgis = ((int)0X813d), } public enum SgisTextureSelect { DualAlpha4Sgis = ((int)0X8110), DualAlpha8Sgis = ((int)0X8111), DualAlpha12Sgis = ((int)0X8112), DualAlpha16Sgis = ((int)0X8113), DualLuminance4Sgis = ((int)0X8114), DualLuminance8Sgis = ((int)0X8115), DualLuminance12Sgis = ((int)0X8116), DualLuminance16Sgis = ((int)0X8117), DualIntensity4Sgis = ((int)0X8118), DualIntensity8Sgis = ((int)0X8119), DualIntensity12Sgis = ((int)0X811a), DualIntensity16Sgis = ((int)0X811b), DualLuminanceAlpha4Sgis = ((int)0X811c), DualLuminanceAlpha8Sgis = ((int)0X811d), QuadAlpha4Sgis = ((int)0X811e), QuadAlpha8Sgis = ((int)0X811f), QuadLuminance4Sgis = ((int)0X8120), QuadLuminance8Sgis = ((int)0X8121), QuadIntensity4Sgis = ((int)0X8122), QuadIntensity8Sgis = ((int)0X8123), DualTextureSelectSgis = ((int)0X8124), QuadTextureSelectSgis = ((int)0X8125), } public enum SgiTextureColorTable { TextureColorTableSgi = ((int)0X80bc), ProxyTextureColorTableSgi = ((int)0X80bd), } public enum SgixAsync { AsyncMarkerSgix = ((int)0X8329), } public enum SgixAsyncHistogram { AsyncHistogramSgix = ((int)0X832c), MaxAsyncHistogramSgix = ((int)0X832d), } public enum SgixAsyncPixel { AsyncTexImageSgix = ((int)0X835c), AsyncDrawPixelsSgix = ((int)0X835d), AsyncReadPixelsSgix = ((int)0X835e), MaxAsyncTexImageSgix = ((int)0X835f), MaxAsyncDrawPixelsSgix = ((int)0X8360), MaxAsyncReadPixelsSgix = ((int)0X8361), } public enum SgixBlendAlphaMinmax { AlphaMinSgix = ((int)0X8320), AlphaMaxSgix = ((int)0X8321), AsyncMarkerSgix = ((int)0X8329), } public enum SgixCalligraphicFragment { CalligraphicFragmentSgix = ((int)0X8183), } public enum SgixClipmap { LinearClipmapLinearSgix = ((int)0X8170), TextureClipmapCenterSgix = ((int)0X8171), TextureClipmapFrameSgix = ((int)0X8172), TextureClipmapOffsetSgix = ((int)0X8173), TextureClipmapVirtualDepthSgix = ((int)0X8174), TextureClipmapLodOffsetSgix = ((int)0X8175), TextureClipmapDepthSgix = ((int)0X8176), MaxClipmapDepthSgix = ((int)0X8177), MaxClipmapVirtualDepthSgix = ((int)0X8178), NearestClipmapNearestSgix = ((int)0X844d), NearestClipmapLinearSgix = ((int)0X844e), LinearClipmapNearestSgix = ((int)0X844f), } public enum SgixConvolutionAccuracy { ConvolutionHintSgix = ((int)0X8316), } public enum SgixDepthTexture { DepthComponent16Sgix = ((int)0X81a5), DepthComponent24Sgix = ((int)0X81a6), DepthComponent32Sgix = ((int)0X81a7), } public enum SgixFlushRaster { } public enum SgixFogOffset { FogOffsetSgix = ((int)0X8198), FogOffsetValueSgix = ((int)0X8199), } public enum SgixFogScale { FogScaleSgix = ((int)0X81fc), FogScaleValueSgix = ((int)0X81fd), } public enum SgixFragmentLighting { FragmentLightingSgix = ((int)0X8400), FragmentColorMaterialSgix = ((int)0X8401), FragmentColorMaterialFaceSgix = ((int)0X8402), FragmentColorMaterialParameterSgix = ((int)0X8403), MaxFragmentLightsSgix = ((int)0X8404), MaxActiveLightsSgix = ((int)0X8405), CurrentRasterNormalSgix = ((int)0X8406), LightEnvModeSgix = ((int)0X8407), FragmentLightModelLocalViewerSgix = ((int)0X8408), FragmentLightModelTwoSideSgix = ((int)0X8409), FragmentLightModelAmbientSgix = ((int)0X840a), FragmentLightModelNormalInterpolationSgix = ((int)0X840b), FragmentLight0Sgix = ((int)0X840c), FragmentLight1Sgix = ((int)0X840d), FragmentLight2Sgix = ((int)0X840e), FragmentLight3Sgix = ((int)0X840f), FragmentLight4Sgix = ((int)0X8410), FragmentLight5Sgix = ((int)0X8411), FragmentLight6Sgix = ((int)0X8412), FragmentLight7Sgix = ((int)0X8413), } public enum SgixFramezoom { FramezoomSgix = ((int)0X818b), FramezoomFactorSgix = ((int)0X818c), MaxFramezoomFactorSgix = ((int)0X818d), } public enum SgixImpactPixelTexture { PixelTexGenQCeilingSgix = ((int)0X8184), PixelTexGenQRoundSgix = ((int)0X8185), PixelTexGenQFloorSgix = ((int)0X8186), PixelTexGenAlphaReplaceSgix = ((int)0X8187), PixelTexGenAlphaNoReplaceSgix = ((int)0X8188), PixelTexGenAlphaLsSgix = ((int)0X8189), PixelTexGenAlphaMsSgix = ((int)0X818a), } public enum SgixInstruments { InstrumentBufferPointerSgix = ((int)0X8180), InstrumentMeasurementsSgix = ((int)0X8181), } public enum SgixInterlace { InterlaceSgix = ((int)0X8094), } public enum SgixIrInstrument1 { IrInstrument1Sgix = ((int)0X817f), } public enum SgixListPriority { ListPrioritySgix = ((int)0X8182), } public enum SgixPixelTexture { PixelTexGenSgix = ((int)0X8139), PixelTexGenModeSgix = ((int)0X832b), } public enum SgixPixelTiles { PixelTileBestAlignmentSgix = ((int)0X813e), PixelTileCacheIncrementSgix = ((int)0X813f), PixelTileWidthSgix = ((int)0X8140), PixelTileHeightSgix = ((int)0X8141), PixelTileGridWidthSgix = ((int)0X8142), PixelTileGridHeightSgix = ((int)0X8143), PixelTileGridDepthSgix = ((int)0X8144), PixelTileCacheSizeSgix = ((int)0X8145), } public enum SgixPolynomialFfd { GeometryDeformationSgix = ((int)0X8194), TextureDeformationSgix = ((int)0X8195), DeformationsMaskSgix = ((int)0X8196), MaxDeformationOrderSgix = ((int)0X8197), } public enum SgixReferencePlane { ReferencePlaneSgix = ((int)0X817d), ReferencePlaneEquationSgix = ((int)0X817e), } public enum SgixResample { PackResampleSgix = ((int)0X842c), UnpackResampleSgix = ((int)0X842d), ResampleReplicateSgix = ((int)0X842e), ResampleZeroFillSgix = ((int)0X842f), ResampleDecimateSgix = ((int)0X8430), } public enum SgixScalebiasHint { ScalebiasHintSgix = ((int)0X8322), } public enum SgixShadow { TextureCompareSgix = ((int)0X819a), TextureCompareOperatorSgix = ((int)0X819b), TextureLequalRSgix = ((int)0X819c), TextureGequalRSgix = ((int)0X819d), } public enum SgixShadowAmbient { ShadowAmbientSgix = ((int)0X80bf), } public enum SgixSprite { SpriteSgix = ((int)0X8148), SpriteModeSgix = ((int)0X8149), SpriteAxisSgix = ((int)0X814a), SpriteTranslationSgix = ((int)0X814b), SpriteAxialSgix = ((int)0X814c), SpriteObjectAlignedSgix = ((int)0X814d), SpriteEyeAlignedSgix = ((int)0X814e), } public enum SgixSubsample { PackSubsampleRateSgix = ((int)0X85a0), UnpackSubsampleRateSgix = ((int)0X85a1), PixelSubsample4444Sgix = ((int)0X85a2), PixelSubsample2424Sgix = ((int)0X85a3), PixelSubsample4242Sgix = ((int)0X85a4), } public enum SgixTagSampleBuffer { } public enum SgixTextureAddEnv { TextureEnvBiasSgix = ((int)0X80be), } public enum SgixTextureCoordinateClamp { TextureMaxClampSSgix = ((int)0X8369), TextureMaxClampTSgix = ((int)0X836a), TextureMaxClampRSgix = ((int)0X836b), FogFactorToAlphaSgix = ((int)0X836f), } public enum SgixTextureLodBias { TextureLodBiasSSgix = ((int)0X818e), TextureLodBiasTSgix = ((int)0X818f), TextureLodBiasRSgix = ((int)0X8190), } public enum SgixTextureMultiBuffer { TextureMultiBufferHintSgix = ((int)0X812e), } public enum SgixTextureScaleBias { PostTextureFilterBiasSgix = ((int)0X8179), PostTextureFilterScaleSgix = ((int)0X817a), PostTextureFilterBiasRangeSgix = ((int)0X817b), PostTextureFilterScaleRangeSgix = ((int)0X817c), } public enum SgixVertexPreclip { VertexPreclipSgix = ((int)0X83ee), VertexPreclipHintSgix = ((int)0X83ef), } public enum SgixYcrcb { Ycrcb422Sgix = ((int)0X81bb), Ycrcb444Sgix = ((int)0X81bc), } public enum SgixYcrcba { YcrcbSgix = ((int)0X8318), YcrcbaSgix = ((int)0X8319), } public enum SgixYcrcbSubsample { PackSubsampleRateSgix = ((int)0X85a0), UnpackSubsampleRateSgix = ((int)0X85a1), PixelSubsample4444Sgix = ((int)0X85a2), PixelSubsample2424Sgix = ((int)0X85a3), PixelSubsample4242Sgix = ((int)0X85a4), } public enum ShaderParameter { ShaderType = ((int)0X8b4f), DeleteStatus = ((int)0X8b80), CompileStatus = ((int)0X8b81), InfoLogLength = ((int)0X8b84), ShaderSourceLength = ((int)0X8b88), } public enum ShaderType { FragmentShader = ((int)0X8b30), VertexShader = ((int)0X8b31), GeometryShaderExt = ((int)0X8dd9), } public enum ShadingModel { Flat = ((int)0X1d00), Smooth = ((int)0X1d01), } public enum SizedInternalFormat { Rgba8 = ((int)0X8058), Rgba16 = ((int)0X805b), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822d), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), Rgba32f = ((int)0X8814), Rgba16f = ((int)0X881a), Rgba32ui = ((int)0X8D70), Rgba16ui = ((int)0X8D76), Rgba8ui = ((int)0X8D7c), Rgba32i = ((int)0X8D82), Rgba16i = ((int)0X8D88), Rgba8i = ((int)0X8D8e), } public enum StencilFace { Front = ((int)0X0404), Back = ((int)0X0405), FrontAndBack = ((int)0X0408), } public enum StencilFunction { Never = ((int)0X0200), Less = ((int)0X0201), Equal = ((int)0X0202), Lequal = ((int)0X0203), Greater = ((int)0X0204), Notequal = ((int)0X0205), Gequal = ((int)0X0206), Always = ((int)0X0207), } public enum StencilOp { Zero = ((int)0), Invert = ((int)0X150a), Keep = ((int)0X1e00), Replace = ((int)0X1e01), Incr = ((int)0X1e02), Decr = ((int)0X1e03), IncrWrap = ((int)0X8507), DecrWrap = ((int)0X8508), } public enum StringName { Vendor = ((int)0X1f00), Renderer = ((int)0X1f01), Version = ((int)0X1f02), Extensions = ((int)0X1f03), ShadingLanguageVersion = ((int)0X8b8c), } public enum SunConvolutionBorderModes { WrapBorderSun = ((int)0X81d4), } public enum SunGlobalAlpha { GlobalAlphaSun = ((int)0X81d9), GlobalAlphaFactorSun = ((int)0X81da), } public enum SunMeshArray { QuadMeshSun = ((int)0X8614), TriangleMeshSun = ((int)0X8615), } public enum SunSliceAccum { SliceAccumSun = ((int)0X85cc), } public enum SunTriangleList { RestartSun = ((int)0X0001), ReplaceMiddleSun = ((int)0X0002), ReplaceOldestSun = ((int)0X0003), TriangleListSun = ((int)0X81d7), ReplacementCodeSun = ((int)0X81d8), ReplacementCodeArraySun = ((int)0X85c0), ReplacementCodeArrayTypeSun = ((int)0X85c1), ReplacementCodeArrayStrideSun = ((int)0X85c2), ReplacementCodeArrayPointerSun = ((int)0X85c3), R1uiV3fSun = ((int)0X85c4), R1uiC4ubV3fSun = ((int)0X85c5), R1uiC3fV3fSun = ((int)0X85c6), R1uiN3fV3fSun = ((int)0X85c7), R1uiC4fN3fV3fSun = ((int)0X85c8), R1uiT2fV3fSun = ((int)0X85c9), R1uiT2fN3fV3fSun = ((int)0X85ca), R1uiT2fC4fN3fV3fSun = ((int)0X85cb), } public enum SunVertex { } public enum SunxConstantData { UnpackConstantDataSunx = ((int)0X81d5), TextureConstantDataSunx = ((int)0X81d6), } public enum TexCoordPointerType { Short = ((int)0X1402), Int = ((int)0X1404), Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum TextureBufferTarget { TextureBuffer = ((int)0X8c2a), } public enum TextureCompareMode { CompareRefToTexture = ((int)0X884e), CompareRToTexture = ((int)0X884e), } public enum TextureCoordName { S = ((int)0X2000), T = ((int)0X2001), R = ((int)0X2002), Q = ((int)0X2003), } public enum TextureEnvMode { Add = ((int)0X0104), Blend = ((int)0X0be2), Replace = ((int)0X1e01), Modulate = ((int)0X2100), Decal = ((int)0X2101), ReplaceExt = ((int)0X8062), TextureEnvBiasSgix = ((int)0X80be), Combine = ((int)0X8570), } public enum TextureEnvModeCombine { Add = ((int)0X0104), Replace = ((int)0X1e01), Modulate = ((int)0X2100), Subtract = ((int)0X84e7), AddSigned = ((int)0X8574), Interpolate = ((int)0X8575), Dot3Rgb = ((int)0X86ae), Dot3Rgba = ((int)0X86af), } public enum TextureEnvModeOperandAlpha { SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), } public enum TextureEnvModeOperandRgb { SrcColor = ((int)0X0300), OneMinusSrcColor = ((int)0X0301), SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), } public enum TextureEnvModePointSprite { False = ((int)0), True = ((int)1), } public enum TextureEnvModeScale { One = ((int)1), Two = ((int)2), Four = ((int)4), } public enum TextureEnvModeSource { Texture = ((int)0X1702), Texture0 = ((int)0X84c0), Texture1 = ((int)0X84c1), Texture2 = ((int)0X84c2), Texture3 = ((int)0X84c3), Texture4 = ((int)0X84c4), Texture5 = ((int)0X84c5), Texture6 = ((int)0X84c6), Texture7 = ((int)0X84c7), Texture8 = ((int)0X84c8), Texture9 = ((int)0X84c9), Texture10 = ((int)0X84ca), Texture11 = ((int)0X84cb), Texture12 = ((int)0X84cc), Texture13 = ((int)0X84cd), Texture14 = ((int)0X84ce), Texture15 = ((int)0X84cf), Texture16 = ((int)0X84d0), Texture17 = ((int)0X84d1), Texture18 = ((int)0X84d2), Texture19 = ((int)0X84d3), Texture20 = ((int)0X84d4), Texture21 = ((int)0X84d5), Texture22 = ((int)0X84d6), Texture23 = ((int)0X84d7), Texture24 = ((int)0X84d8), Texture25 = ((int)0X84d9), Texture26 = ((int)0X84da), Texture27 = ((int)0X84db), Texture28 = ((int)0X84dc), Texture29 = ((int)0X84dd), Texture30 = ((int)0X84de), Texture31 = ((int)0X84df), Constant = ((int)0X8576), PrimaryColor = ((int)0X8577), Previous = ((int)0X8578), } public enum TextureEnvParameter { AlphaScale = ((int)0X0D1c), TextureEnvMode = ((int)0X2200), TextureEnvColor = ((int)0X2201), TextureLodBias = ((int)0X8501), CombineRgb = ((int)0X8571), CombineAlpha = ((int)0X8572), RgbScale = ((int)0X8573), Source0Rgb = ((int)0X8580), Src1Rgb = ((int)0X8581), Src2Rgb = ((int)0X8582), Src0Alpha = ((int)0X8588), Src1Alpha = ((int)0X8589), Src2Alpha = ((int)0X858a), Operand0Rgb = ((int)0X8590), Operand1Rgb = ((int)0X8591), Operand2Rgb = ((int)0X8592), Operand0Alpha = ((int)0X8598), Operand1Alpha = ((int)0X8599), Operand2Alpha = ((int)0X859a), CoordReplace = ((int)0X8862), } public enum TextureEnvTarget { TextureEnv = ((int)0X2300), TextureFilterControl = ((int)0X8500), PointSprite = ((int)0X8861), } public enum TextureFilterFuncSgis { Filter4Sgis = ((int)0X8146), } public enum TextureGenMode { EyeLinear = ((int)0X2400), ObjectLinear = ((int)0X2401), SphereMap = ((int)0X2402), EyeDistanceToPointSgis = ((int)0X81f0), ObjectDistanceToPointSgis = ((int)0X81f1), EyeDistanceToLineSgis = ((int)0X81f2), ObjectDistanceToLineSgis = ((int)0X81f3), NormalMap = ((int)0X8511), ReflectionMap = ((int)0X8512), } public enum TextureGenParameter { TextureGenMode = ((int)0X2500), ObjectPlane = ((int)0X2501), EyePlane = ((int)0X2502), EyePointSgis = ((int)0X81f4), ObjectPointSgis = ((int)0X81f5), EyeLineSgis = ((int)0X81f6), ObjectLineSgis = ((int)0X81f7), } public enum TextureMagFilter { Nearest = ((int)0X2600), Linear = ((int)0X2601), LinearDetailSgis = ((int)0X8097), LinearDetailAlphaSgis = ((int)0X8098), LinearDetailColorSgis = ((int)0X8099), LinearSharpenSgis = ((int)0X80ad), LinearSharpenAlphaSgis = ((int)0X80ae), LinearSharpenColorSgis = ((int)0X80af), Filter4Sgis = ((int)0X8146), PixelTexGenQCeilingSgix = ((int)0X8184), PixelTexGenQRoundSgix = ((int)0X8185), PixelTexGenQFloorSgix = ((int)0X8186), } public enum TextureMinFilter { Nearest = ((int)0X2600), Linear = ((int)0X2601), NearestMipmapNearest = ((int)0X2700), LinearMipmapNearest = ((int)0X2701), NearestMipmapLinear = ((int)0X2702), LinearMipmapLinear = ((int)0X2703), Filter4Sgis = ((int)0X8146), LinearClipmapLinearSgix = ((int)0X8170), PixelTexGenQCeilingSgix = ((int)0X8184), PixelTexGenQRoundSgix = ((int)0X8185), PixelTexGenQFloorSgix = ((int)0X8186), NearestClipmapNearestSgix = ((int)0X844D), NearestClipmapLinearSgix = ((int)0X844e), LinearClipmapNearestSgix = ((int)0X844f), } public enum TextureParameterName { TextureBorderColor = ((int)0X1004), Red = ((int)0X1903), TextureMagFilter = ((int)0X2800), TextureMinFilter = ((int)0X2801), TextureWrapS = ((int)0X2802), TextureWrapT = ((int)0X2803), TexturePriority = ((int)0X8066), TextureDepth = ((int)0X8071), TextureWrapR = ((int)0X8072), TextureWrapRExt = ((int)0X8072), DetailTextureLevelSgis = ((int)0X809a), DetailTextureModeSgis = ((int)0X809b), ShadowAmbientSgix = ((int)0X80bf), TextureCompareFailValue = ((int)0X80bf), DualTextureSelectSgis = ((int)0X8124), QuadTextureSelectSgis = ((int)0X8125), ClampToBorder = ((int)0X812d), ClampToEdge = ((int)0X812f), TextureWrapQSgis = ((int)0X8137), TextureMinLod = ((int)0X813a), TextureMaxLod = ((int)0X813b), TextureBaseLevel = ((int)0X813c), TextureMaxLevel = ((int)0X813D), TextureClipmapCenterSgix = ((int)0X8171), TextureClipmapFrameSgix = ((int)0X8172), TextureClipmapOffsetSgix = ((int)0X8173), TextureClipmapVirtualDepthSgix = ((int)0X8174), TextureClipmapLodOffsetSgix = ((int)0X8175), TextureClipmapDepthSgix = ((int)0X8176), PostTextureFilterBiasSgix = ((int)0X8179), PostTextureFilterScaleSgix = ((int)0X817a), TextureLodBiasSSgix = ((int)0X818e), TextureLodBiasTSgix = ((int)0X818f), TextureLodBiasRSgix = ((int)0X8190), GenerateMipmap = ((int)0X8191), GenerateMipmapSgis = ((int)0X8191), TextureCompareSgix = ((int)0X819a), TextureCompareOperatorSgix = ((int)0X819b), TextureMaxClampSSgix = ((int)0X8369), TextureMaxClampTSgix = ((int)0X836a), TextureMaxClampRSgix = ((int)0X836b), DepthTextureMode = ((int)0X884b), TextureCompareMode = ((int)0X884c), TextureCompareFunc = ((int)0X884d), } public enum TextureTarget { Texture1D = ((int)0X0De0), Texture2D = ((int)0X0De1), ProxyTexture1D = ((int)0X8063), ProxyTexture2D = ((int)0X8064), Texture3D = ((int)0X806f), ProxyTexture3D = ((int)0X8070), DetailTexture2DSgis = ((int)0X8095), Texture4DSgis = ((int)0X8134), ProxyTexture4DSgis = ((int)0X8135), TextureMinLod = ((int)0X813a), TextureMaxLod = ((int)0X813b), TextureBaseLevel = ((int)0X813c), TextureMaxLevel = ((int)0X813d), TextureRectangleArb = ((int)0X84f5), TextureRectangleNv = ((int)0X84f5), TextureCubeMap = ((int)0X8513), TextureBindingCubeMap = ((int)0X8514), TextureCubeMapPositiveX = ((int)0X8515), TextureCubeMapNegativeX = ((int)0X8516), TextureCubeMapPositiveY = ((int)0X8517), TextureCubeMapNegativeY = ((int)0X8518), TextureCubeMapPositiveZ = ((int)0X8519), TextureCubeMapNegativeZ = ((int)0X851a), ProxyTextureCubeMap = ((int)0X851b), Texture1DArray = ((int)0X8c18), ProxyTexture1DArray = ((int)0X8c19), Texture2DArray = ((int)0X8c1a), ProxyTexture2DArray = ((int)0X8c1b), } public enum TextureUnit { Texture0 = ((int)0X84c0), Texture1 = ((int)0X84c1), Texture2 = ((int)0X84c2), Texture3 = ((int)0X84c3), Texture4 = ((int)0X84c4), Texture5 = ((int)0X84c5), Texture6 = ((int)0X84c6), Texture7 = ((int)0X84c7), Texture8 = ((int)0X84c8), Texture9 = ((int)0X84c9), Texture10 = ((int)0X84ca), Texture11 = ((int)0X84cb), Texture12 = ((int)0X84cc), Texture13 = ((int)0X84cd), Texture14 = ((int)0X84ce), Texture15 = ((int)0X84cf), Texture16 = ((int)0X84d0), Texture17 = ((int)0X84d1), Texture18 = ((int)0X84d2), Texture19 = ((int)0X84d3), Texture20 = ((int)0X84d4), Texture21 = ((int)0X84d5), Texture22 = ((int)0X84d6), Texture23 = ((int)0X84d7), Texture24 = ((int)0X84d8), Texture25 = ((int)0X84d9), Texture26 = ((int)0X84da), Texture27 = ((int)0X84db), Texture28 = ((int)0X84dc), Texture29 = ((int)0X84dd), Texture30 = ((int)0X84de), Texture31 = ((int)0X84df), } public enum TextureWrapMode { Clamp = ((int)0X2900), Repeat = ((int)0X2901), ClampToBorder = ((int)0X812d), ClampToEdge = ((int)0X812f), MirroredRepeat = ((int)0X8370), } public enum TransformFeedbackMode { InterleavedAttribs = ((int)0X8c8c), SeparateAttribs = ((int)0X8c8d), } public enum Version11 { False = ((int)0), NoError = ((int)0), None = ((int)0), Zero = ((int)0), Points = ((int)0X0000), DepthBufferBit = ((int)0X00000100), StencilBufferBit = ((int)0X00000400), ColorBufferBit = ((int)0X00004000), Lines = ((int)0X0001), LineLoop = ((int)0X0002), LineStrip = ((int)0X0003), Triangles = ((int)0X0004), TriangleStrip = ((int)0X0005), TriangleFan = ((int)0X0006), Never = ((int)0X0200), Less = ((int)0X0201), Equal = ((int)0X0202), Lequal = ((int)0X0203), Greater = ((int)0X0204), Notequal = ((int)0X0205), Gequal = ((int)0X0206), Always = ((int)0X0207), SrcColor = ((int)0X0300), OneMinusSrcColor = ((int)0X0301), SrcAlpha = ((int)0X0302), OneMinusSrcAlpha = ((int)0X0303), DstAlpha = ((int)0X0304), OneMinusDstAlpha = ((int)0X0305), DstColor = ((int)0X0306), OneMinusDstColor = ((int)0X0307), SrcAlphaSaturate = ((int)0X0308), FrontLeft = ((int)0X0400), FrontRight = ((int)0X0401), BackLeft = ((int)0X0402), BackRight = ((int)0X0403), Front = ((int)0X0404), Back = ((int)0X0405), Left = ((int)0X0406), Right = ((int)0X0407), FrontAndBack = ((int)0X0408), InvalidEnum = ((int)0X0500), InvalidValue = ((int)0X0501), InvalidOperation = ((int)0X0502), OutOfMemory = ((int)0X0505), Cw = ((int)0X0900), Ccw = ((int)0X0901), PointSize = ((int)0X0b11), PointSizeRange = ((int)0X0b12), PointSizeGranularity = ((int)0X0b13), LineSmooth = ((int)0X0b20), LineWidth = ((int)0X0b21), LineWidthRange = ((int)0X0b22), LineWidthGranularity = ((int)0X0b23), PolygonSmooth = ((int)0X0b41), CullFace = ((int)0X0b44), CullFaceMode = ((int)0X0b45), FrontFace = ((int)0X0b46), DepthRange = ((int)0X0b70), DepthTest = ((int)0X0b71), DepthWritemask = ((int)0X0b72), DepthClearValue = ((int)0X0b73), DepthFunc = ((int)0X0b74), StencilTest = ((int)0X0b90), StencilClearValue = ((int)0X0b91), StencilFunc = ((int)0X0b92), StencilValueMask = ((int)0X0b93), StencilFail = ((int)0X0b94), StencilPassDepthFail = ((int)0X0b95), StencilPassDepthPass = ((int)0X0b96), StencilRef = ((int)0X0b97), StencilWritemask = ((int)0X0b98), Viewport = ((int)0X0ba2), Dither = ((int)0X0bd0), BlendDst = ((int)0X0be0), BlendSrc = ((int)0X0be1), Blend = ((int)0X0be2), LogicOpMode = ((int)0X0bf0), ColorLogicOp = ((int)0X0bf2), DrawBuffer = ((int)0X0c01), ReadBuffer = ((int)0X0c02), ScissorBox = ((int)0X0c10), ScissorTest = ((int)0X0c11), ColorClearValue = ((int)0X0c22), ColorWritemask = ((int)0X0c23), Doublebuffer = ((int)0X0c32), Stereo = ((int)0X0c33), LineSmoothHint = ((int)0X0c52), PolygonSmoothHint = ((int)0X0c53), UnpackSwapBytes = ((int)0X0cf0), UnpackLsbFirst = ((int)0X0cf1), UnpackRowLength = ((int)0X0cf2), UnpackSkipRows = ((int)0X0cf3), UnpackSkipPixels = ((int)0X0cf4), UnpackAlignment = ((int)0X0cf5), PackSwapBytes = ((int)0X0d00), PackLsbFirst = ((int)0X0d01), PackRowLength = ((int)0X0d02), PackSkipRows = ((int)0X0d03), PackSkipPixels = ((int)0X0d04), PackAlignment = ((int)0X0d05), MaxTextureSize = ((int)0X0d33), MaxViewportDims = ((int)0X0d3a), SubpixelBits = ((int)0X0d50), Texture1D = ((int)0X0de0), Texture2D = ((int)0X0de1), TextureWidth = ((int)0X1000), TextureHeight = ((int)0X1001), TextureInternalFormat = ((int)0X1003), TextureBorderColor = ((int)0X1004), TextureBorder = ((int)0X1005), DontCare = ((int)0X1100), Fastest = ((int)0X1101), Nicest = ((int)0X1102), Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Double = ((int)0X140a), Clear = ((int)0X1500), And = ((int)0X1501), AndReverse = ((int)0X1502), Copy = ((int)0X1503), AndInverted = ((int)0X1504), Noop = ((int)0X1505), Xor = ((int)0X1506), Or = ((int)0X1507), Nor = ((int)0X1508), Equiv = ((int)0X1509), Invert = ((int)0X150a), OrReverse = ((int)0X150b), CopyInverted = ((int)0X150c), OrInverted = ((int)0X150d), Nand = ((int)0X150e), Set = ((int)0X150f), Texture = ((int)0X1702), Color = ((int)0X1800), Depth = ((int)0X1801), Stencil = ((int)0X1802), StencilIndex = ((int)0X1901), DepthComponent = ((int)0X1902), Red = ((int)0X1903), Green = ((int)0X1904), Blue = ((int)0X1905), Alpha = ((int)0X1906), Rgb = ((int)0X1907), Rgba = ((int)0X1908), Point = ((int)0X1b00), Line = ((int)0X1b01), Fill = ((int)0X1b02), Keep = ((int)0X1e00), Replace = ((int)0X1e01), Incr = ((int)0X1e02), Decr = ((int)0X1e03), Vendor = ((int)0X1f00), Renderer = ((int)0X1f01), Version = ((int)0X1f02), Extensions = ((int)0X1f03), Nearest = ((int)0X2600), Linear = ((int)0X2601), NearestMipmapNearest = ((int)0X2700), LinearMipmapNearest = ((int)0X2701), NearestMipmapLinear = ((int)0X2702), LinearMipmapLinear = ((int)0X2703), TextureMagFilter = ((int)0X2800), TextureMinFilter = ((int)0X2801), TextureWrapS = ((int)0X2802), TextureWrapT = ((int)0X2803), Repeat = ((int)0X2901), PolygonOffsetUnits = ((int)0X2a00), PolygonOffsetPoint = ((int)0X2a01), PolygonOffsetLine = ((int)0X2a02), R3G3B2 = ((int)0X2a10), PolygonOffsetFill = ((int)0X8037), PolygonOffsetFactor = ((int)0X8038), Rgb4 = ((int)0X804f), Rgb5 = ((int)0X8050), Rgb8 = ((int)0X8051), Rgb10 = ((int)0X8052), Rgb12 = ((int)0X8053), Rgb16 = ((int)0X8054), Rgba2 = ((int)0X8055), Rgba4 = ((int)0X8056), Rgb5A1 = ((int)0X8057), Rgba8 = ((int)0X8058), Rgb10A2 = ((int)0X8059), Rgba12 = ((int)0X805a), Rgba16 = ((int)0X805b), TextureRedSize = ((int)0X805c), TextureGreenSize = ((int)0X805d), TextureBlueSize = ((int)0X805e), TextureAlphaSize = ((int)0X805f), ProxyTexture1D = ((int)0X8063), ProxyTexture2D = ((int)0X8064), TextureBinding1D = ((int)0X8068), TextureBinding2D = ((int)0X8069), One = ((int)1), True = ((int)1), } public enum Version11Deprecated { ClientPixelStoreBit = ((int)0X00000001), CurrentBit = ((int)0X00000001), ClientVertexArrayBit = ((int)0X00000002), PointBit = ((int)0X00000002), LineBit = ((int)0X00000004), PolygonBit = ((int)0X00000008), PolygonStippleBit = ((int)0X00000010), PixelModeBit = ((int)0X00000020), LightingBit = ((int)0X00000040), FogBit = ((int)0X00000080), AccumBufferBit = ((int)0X00000200), ViewportBit = ((int)0X00000800), TransformBit = ((int)0X00001000), EnableBit = ((int)0X00002000), HintBit = ((int)0X00008000), EvalBit = ((int)0X00010000), ListBit = ((int)0X00020000), TextureBit = ((int)0X00040000), Quads = ((int)0X0007), QuadStrip = ((int)0X0008), ScissorBit = ((int)0X00080000), Polygon = ((int)0X0009), Accum = ((int)0X0100), Load = ((int)0X0101), Return = ((int)0X0102), Mult = ((int)0X0103), Add = ((int)0X0104), Aux0 = ((int)0X0409), Aux1 = ((int)0X040a), Aux2 = ((int)0X040b), Aux3 = ((int)0X040c), StackOverflow = ((int)0X0503), StackUnderflow = ((int)0X0504), Gl2D = ((int)0X0600), Gl3D = ((int)0X0601), Gl3DColor = ((int)0X0602), Gl3DColorTexture = ((int)0X0603), Gl4DColorTexture = ((int)0X0604), PassThroughToken = ((int)0X0700), PointToken = ((int)0X0701), LineToken = ((int)0X0702), PolygonToken = ((int)0X0703), BitmapToken = ((int)0X0704), DrawPixelToken = ((int)0X0705), CopyPixelToken = ((int)0X0706), LineResetToken = ((int)0X0707), Exp = ((int)0X0800), Exp2 = ((int)0X0801), Coeff = ((int)0X0a00), Order = ((int)0X0a01), Domain = ((int)0X0a02), CurrentColor = ((int)0X0b00), CurrentIndex = ((int)0X0b01), CurrentNormal = ((int)0X0b02), CurrentTextureCoords = ((int)0X0b03), CurrentRasterColor = ((int)0X0b04), CurrentRasterIndex = ((int)0X0b05), CurrentRasterTextureCoords = ((int)0X0b06), CurrentRasterPosition = ((int)0X0b07), CurrentRasterPositionValid = ((int)0X0b08), CurrentRasterDistance = ((int)0X0b09), PointSmooth = ((int)0X0b10), LineStipple = ((int)0X0b24), LineStipplePattern = ((int)0X0b25), LineStippleRepeat = ((int)0X0b26), ListMode = ((int)0X0b30), MaxListNesting = ((int)0X0b31), ListBase = ((int)0X0b32), ListIndex = ((int)0X0b33), PolygonMode = ((int)0X0b40), PolygonStipple = ((int)0X0b42), EdgeFlag = ((int)0X0b43), Lighting = ((int)0X0b50), LightModelLocalViewer = ((int)0X0b51), LightModelTwoSide = ((int)0X0b52), LightModelAmbient = ((int)0X0b53), ShadeModel = ((int)0X0b54), ColorMaterialFace = ((int)0X0b55), ColorMaterialParameter = ((int)0X0b56), ColorMaterial = ((int)0X0b57), Fog = ((int)0X0b60), FogIndex = ((int)0X0b61), FogDensity = ((int)0X0b62), FogStart = ((int)0X0b63), FogEnd = ((int)0X0b64), FogMode = ((int)0X0b65), FogColor = ((int)0X0b66), AccumClearValue = ((int)0X0b80), MatrixMode = ((int)0X0ba0), Normalize = ((int)0X0ba1), ModelviewStackDepth = ((int)0X0ba3), ProjectionStackDepth = ((int)0X0ba4), TextureStackDepth = ((int)0X0ba5), ModelviewMatrix = ((int)0X0ba6), ProjectionMatrix = ((int)0X0ba7), TextureMatrix = ((int)0X0ba8), AttribStackDepth = ((int)0X0bb0), ClientAttribStackDepth = ((int)0X0bb1), AlphaTest = ((int)0X0bc0), AlphaTestFunc = ((int)0X0bc1), AlphaTestRef = ((int)0X0bc2), IndexLogicOp = ((int)0X0bf1), LogicOp = ((int)0X0bf1), AuxBuffers = ((int)0X0c00), IndexClearValue = ((int)0X0c20), IndexWritemask = ((int)0X0c21), IndexMode = ((int)0X0c30), RgbaMode = ((int)0X0c31), RenderMode = ((int)0X0c40), PerspectiveCorrectionHint = ((int)0X0c50), PointSmoothHint = ((int)0X0c51), FogHint = ((int)0X0c54), TextureGenS = ((int)0X0c60), TextureGenT = ((int)0X0c61), TextureGenR = ((int)0X0c62), TextureGenQ = ((int)0X0c63), PixelMapIToI = ((int)0X0c70), PixelMapSToS = ((int)0X0c71), PixelMapIToR = ((int)0X0c72), PixelMapIToG = ((int)0X0c73), PixelMapIToB = ((int)0X0c74), PixelMapIToA = ((int)0X0c75), PixelMapRToR = ((int)0X0c76), PixelMapGToG = ((int)0X0c77), PixelMapBToB = ((int)0X0c78), PixelMapAToA = ((int)0X0c79), PixelMapIToISize = ((int)0X0cb0), PixelMapSToSSize = ((int)0X0cb1), PixelMapIToRSize = ((int)0X0cb2), PixelMapIToGSize = ((int)0X0cb3), PixelMapIToBSize = ((int)0X0cb4), PixelMapIToASize = ((int)0X0cb5), PixelMapRToRSize = ((int)0X0cb6), PixelMapGToGSize = ((int)0X0cb7), PixelMapBToBSize = ((int)0X0cb8), PixelMapAToASize = ((int)0X0cb9), MapColor = ((int)0X0d10), MapStencil = ((int)0X0d11), IndexShift = ((int)0X0d12), IndexOffset = ((int)0X0d13), RedScale = ((int)0X0d14), RedBias = ((int)0X0d15), ZoomX = ((int)0X0d16), ZoomY = ((int)0X0d17), GreenScale = ((int)0X0d18), GreenBias = ((int)0X0d19), BlueScale = ((int)0X0d1a), BlueBias = ((int)0X0d1b), AlphaScale = ((int)0X0d1c), AlphaBias = ((int)0X0d1d), DepthScale = ((int)0X0d1e), DepthBias = ((int)0X0d1f), MaxEvalOrder = ((int)0X0d30), MaxLights = ((int)0X0d31), MaxClipPlanes = ((int)0X0d32), MaxPixelMapTable = ((int)0X0d34), MaxAttribStackDepth = ((int)0X0d35), MaxModelviewStackDepth = ((int)0X0d36), MaxNameStackDepth = ((int)0X0d37), MaxProjectionStackDepth = ((int)0X0d38), MaxTextureStackDepth = ((int)0X0d39), MaxClientAttribStackDepth = ((int)0X0d3b), IndexBits = ((int)0X0d51), RedBits = ((int)0X0d52), GreenBits = ((int)0X0d53), BlueBits = ((int)0X0d54), AlphaBits = ((int)0X0d55), DepthBits = ((int)0X0d56), StencilBits = ((int)0X0d57), AccumRedBits = ((int)0X0d58), AccumGreenBits = ((int)0X0d59), AccumBlueBits = ((int)0X0d5a), AccumAlphaBits = ((int)0X0d5b), NameStackDepth = ((int)0X0d70), AutoNormal = ((int)0X0d80), Map1Color4 = ((int)0X0d90), Map1Index = ((int)0X0d91), Map1Normal = ((int)0X0d92), Map1TextureCoord1 = ((int)0X0d93), Map1TextureCoord2 = ((int)0X0d94), Map1TextureCoord3 = ((int)0X0d95), Map1TextureCoord4 = ((int)0X0d96), Map1Vertex3 = ((int)0X0d97), Map1Vertex4 = ((int)0X0d98), Map2Color4 = ((int)0X0db0), Map2Index = ((int)0X0db1), Map2Normal = ((int)0X0db2), Map2TextureCoord1 = ((int)0X0db3), Map2TextureCoord2 = ((int)0X0db4), Map2TextureCoord3 = ((int)0X0db5), Map2TextureCoord4 = ((int)0X0db6), Map2Vertex3 = ((int)0X0db7), Map2Vertex4 = ((int)0X0db8), Map1GridDomain = ((int)0X0dd0), Map1GridSegments = ((int)0X0dd1), Map2GridDomain = ((int)0X0dd2), Map2GridSegments = ((int)0X0dd3), FeedbackBufferPointer = ((int)0X0df0), FeedbackBufferSize = ((int)0X0df1), FeedbackBufferType = ((int)0X0df2), SelectionBufferPointer = ((int)0X0df3), SelectionBufferSize = ((int)0X0df4), TextureComponents = ((int)0X1003), Ambient = ((int)0X1200), Diffuse = ((int)0X1201), Specular = ((int)0X1202), Position = ((int)0X1203), SpotDirection = ((int)0X1204), SpotExponent = ((int)0X1205), SpotCutoff = ((int)0X1206), ConstantAttenuation = ((int)0X1207), LinearAttenuation = ((int)0X1208), QuadraticAttenuation = ((int)0X1209), Compile = ((int)0X1300), CompileAndExecute = ((int)0X1301), Gl2Bytes = ((int)0X1407), Gl3Bytes = ((int)0X1408), Gl4Bytes = ((int)0X1409), Emission = ((int)0X1600), Shininess = ((int)0X1601), AmbientAndDiffuse = ((int)0X1602), ColorIndexes = ((int)0X1603), Modelview = ((int)0X1700), Projection = ((int)0X1701), ColorIndex = ((int)0X1900), Luminance = ((int)0X1909), LuminanceAlpha = ((int)0X190a), Bitmap = ((int)0X1a00), Render = ((int)0X1c00), Feedback = ((int)0X1c01), Select = ((int)0X1c02), Flat = ((int)0X1d00), Smooth = ((int)0X1d01), S = ((int)0X2000), T = ((int)0X2001), R = ((int)0X2002), Q = ((int)0X2003), Modulate = ((int)0X2100), Decal = ((int)0X2101), TextureEnvMode = ((int)0X2200), TextureEnvColor = ((int)0X2201), TextureEnv = ((int)0X2300), EyeLinear = ((int)0X2400), ObjectLinear = ((int)0X2401), SphereMap = ((int)0X2402), TextureGenMode = ((int)0X2500), ObjectPlane = ((int)0X2501), EyePlane = ((int)0X2502), Clamp = ((int)0X2900), V2f = ((int)0X2a20), V3f = ((int)0X2a21), C4ubV2f = ((int)0X2a22), C4ubV3f = ((int)0X2a23), C3fV3f = ((int)0X2a24), N3fV3f = ((int)0X2a25), C4fN3fV3f = ((int)0X2a26), T2fV3f = ((int)0X2a27), T4fV4f = ((int)0X2a28), T2fC4ubV3f = ((int)0X2a29), T2fC3fV3f = ((int)0X2a2a), T2fN3fV3f = ((int)0X2a2b), T2fC4fN3fV3f = ((int)0X2a2c), T4fC4fN3fV4f = ((int)0X2a2d), ClipPlane0 = ((int)0X3000), ClipPlane1 = ((int)0X3001), ClipPlane2 = ((int)0X3002), ClipPlane3 = ((int)0X3003), ClipPlane4 = ((int)0X3004), ClipPlane5 = ((int)0X3005), Light0 = ((int)0X4000), Light1 = ((int)0X4001), Light2 = ((int)0X4002), Light3 = ((int)0X4003), Light4 = ((int)0X4004), Light5 = ((int)0X4005), Light6 = ((int)0X4006), Light7 = ((int)0X4007), Alpha4 = ((int)0X803b), Alpha8 = ((int)0X803c), Alpha12 = ((int)0X803d), Alpha16 = ((int)0X803e), Luminance4 = ((int)0X803f), Luminance8 = ((int)0X8040), Luminance12 = ((int)0X8041), Luminance16 = ((int)0X8042), Luminance4Alpha4 = ((int)0X8043), Luminance6Alpha2 = ((int)0X8044), Luminance8Alpha8 = ((int)0X8045), Luminance12Alpha4 = ((int)0X8046), Luminance12Alpha12 = ((int)0X8047), Luminance16Alpha16 = ((int)0X8048), Intensity = ((int)0X8049), Intensity4 = ((int)0X804a), Intensity8 = ((int)0X804b), Intensity12 = ((int)0X804c), Intensity16 = ((int)0X804d), TextureLuminanceSize = ((int)0X8060), TextureIntensitySize = ((int)0X8061), TexturePriority = ((int)0X8066), TextureResident = ((int)0X8067), VertexArray = ((int)0X8074), NormalArray = ((int)0X8075), ColorArray = ((int)0X8076), IndexArray = ((int)0X8077), TextureCoordArray = ((int)0X8078), EdgeFlagArray = ((int)0X8079), VertexArraySize = ((int)0X807a), VertexArrayType = ((int)0X807b), VertexArrayStride = ((int)0X807c), NormalArrayType = ((int)0X807e), NormalArrayStride = ((int)0X807f), ColorArraySize = ((int)0X8081), ColorArrayType = ((int)0X8082), ColorArrayStride = ((int)0X8083), IndexArrayType = ((int)0X8085), IndexArrayStride = ((int)0X8086), TextureCoordArraySize = ((int)0X8088), TextureCoordArrayType = ((int)0X8089), TextureCoordArrayStride = ((int)0X808a), EdgeFlagArrayStride = ((int)0X808c), VertexArrayPointer = ((int)0X808e), NormalArrayPointer = ((int)0X808f), ColorArrayPointer = ((int)0X8090), IndexArrayPointer = ((int)0X8091), TextureCoordArrayPointer = ((int)0X8092), EdgeFlagArrayPointer = ((int)0X8093), AllAttribBits = unchecked((int)0Xffffffff), ClientAllAttribBits = unchecked((int)0Xffffffff), } public enum Version12 { SmoothPointSizeRange = ((int)0X0b12), SmoothPointSizeGranularity = ((int)0X0b13), SmoothLineWidthRange = ((int)0X0b22), SmoothLineWidthGranularity = ((int)0X0b23), ConstantColor = ((int)0X8001), OneMinusConstantColor = ((int)0X8002), ConstantAlpha = ((int)0X8003), OneMinusConstantAlpha = ((int)0X8004), BlendColor = ((int)0X8005), Convolution1D = ((int)0X8010), Convolution2D = ((int)0X8011), Separable2D = ((int)0X8012), ConvolutionBorderMode = ((int)0X8013), ConvolutionFilterScale = ((int)0X8014), ConvolutionFilterBias = ((int)0X8015), Reduce = ((int)0X8016), ConvolutionFormat = ((int)0X8017), ConvolutionWidth = ((int)0X8018), ConvolutionHeight = ((int)0X8019), MaxConvolutionWidth = ((int)0X801a), MaxConvolutionHeight = ((int)0X801b), PostConvolutionRedScale = ((int)0X801c), PostConvolutionGreenScale = ((int)0X801d), PostConvolutionBlueScale = ((int)0X801e), PostConvolutionAlphaScale = ((int)0X801f), PostConvolutionRedBias = ((int)0X8020), PostConvolutionGreenBias = ((int)0X8021), PostConvolutionBlueBias = ((int)0X8022), PostConvolutionAlphaBias = ((int)0X8023), Histogram = ((int)0X8024), ProxyHistogram = ((int)0X8025), HistogramWidth = ((int)0X8026), HistogramFormat = ((int)0X8027), HistogramRedSize = ((int)0X8028), HistogramGreenSize = ((int)0X8029), HistogramBlueSize = ((int)0X802a), HistogramAlphaSize = ((int)0X802b), HistogramSink = ((int)0X802d), Minmax = ((int)0X802e), MinmaxFormat = ((int)0X802f), MinmaxSink = ((int)0X8030), TableTooLarge = ((int)0X8031), UnsignedByte332 = ((int)0X8032), UnsignedShort4444 = ((int)0X8033), UnsignedShort5551 = ((int)0X8034), UnsignedInt8888 = ((int)0X8035), UnsignedInt1010102 = ((int)0X8036), RescaleNormal = ((int)0X803a), TextureBinding3D = ((int)0X806a), PackSkipImages = ((int)0X806b), PackImageHeight = ((int)0X806c), UnpackSkipImages = ((int)0X806d), UnpackImageHeight = ((int)0X806e), Texture3D = ((int)0X806f), ProxyTexture3D = ((int)0X8070), TextureDepth = ((int)0X8071), TextureWrapR = ((int)0X8072), Max3DTextureSize = ((int)0X8073), ColorMatrix = ((int)0X80b1), ColorMatrixStackDepth = ((int)0X80b2), MaxColorMatrixStackDepth = ((int)0X80b3), PostColorMatrixRedScale = ((int)0X80b4), PostColorMatrixGreenScale = ((int)0X80b5), PostColorMatrixBlueScale = ((int)0X80b6), PostColorMatrixAlphaScale = ((int)0X80b7), PostColorMatrixRedBias = ((int)0X80b8), PostColorMatrixGreenBias = ((int)0X80b9), PostColorMatrixBlueBias = ((int)0X80ba), PostColorMatrixAlphaBias = ((int)0X80bb), ColorTable = ((int)0X80d0), PostConvolutionColorTable = ((int)0X80d1), PostColorMatrixColorTable = ((int)0X80d2), ProxyColorTable = ((int)0X80d3), ProxyPostConvolutionColorTable = ((int)0X80d4), ProxyPostColorMatrixColorTable = ((int)0X80d5), ColorTableScale = ((int)0X80d6), ColorTableBias = ((int)0X80d7), ColorTableFormat = ((int)0X80d8), ColorTableWidth = ((int)0X80d9), ColorTableRedSize = ((int)0X80da), ColorTableGreenSize = ((int)0X80db), ColorTableBlueSize = ((int)0X80dc), ColorTableAlphaSize = ((int)0X80dd), ColorTableLuminanceSize = ((int)0X80de), ColorTableIntensitySize = ((int)0X80df), Bgr = ((int)0X80e0), Bgra = ((int)0X80e1), MaxElementsVertices = ((int)0X80e8), MaxElementsIndices = ((int)0X80e9), ClampToEdge = ((int)0X812f), TextureMinLod = ((int)0X813a), TextureMaxLod = ((int)0X813b), TextureBaseLevel = ((int)0X813c), TextureMaxLevel = ((int)0X813d), ConstantBorder = ((int)0X8151), ReplicateBorder = ((int)0X8153), ConvolutionBorderColor = ((int)0X8154), LightModelColorControl = ((int)0X81f8), SingleColor = ((int)0X81f9), SeparateSpecularColor = ((int)0X81fa), UnsignedByte233Rev = ((int)0X8362), UnsignedShort565 = ((int)0X8363), UnsignedShort565Rev = ((int)0X8364), UnsignedShort4444Rev = ((int)0X8365), UnsignedShort1555Rev = ((int)0X8366), UnsignedInt8888Rev = ((int)0X8367), UnsignedInt2101010Rev = ((int)0X8368), AliasedPointSizeRange = ((int)0X846d), AliasedLineWidthRange = ((int)0X846e), } public enum Version12Deprecated { RescaleNormal = ((int)0X803a), LightModelColorControl = ((int)0X81f8), SingleColor = ((int)0X81f9), SeparateSpecularColor = ((int)0X81fa), AliasedPointSizeRange = ((int)0X846d), } public enum Version13 { Multisample = ((int)0X809d), SampleAlphaToCoverage = ((int)0X809e), SampleAlphaToOne = ((int)0X809f), SampleCoverage = ((int)0X80a0), SampleBuffers = ((int)0X80a8), Samples = ((int)0X80a9), SampleCoverageValue = ((int)0X80aa), SampleCoverageInvert = ((int)0X80ab), ClampToBorder = ((int)0X812d), Texture0 = ((int)0X84c0), Texture1 = ((int)0X84c1), Texture2 = ((int)0X84c2), Texture3 = ((int)0X84c3), Texture4 = ((int)0X84c4), Texture5 = ((int)0X84c5), Texture6 = ((int)0X84c6), Texture7 = ((int)0X84c7), Texture8 = ((int)0X84c8), Texture9 = ((int)0X84c9), Texture10 = ((int)0X84ca), Texture11 = ((int)0X84cb), Texture12 = ((int)0X84cc), Texture13 = ((int)0X84cd), Texture14 = ((int)0X84ce), Texture15 = ((int)0X84cf), Texture16 = ((int)0X84d0), Texture17 = ((int)0X84d1), Texture18 = ((int)0X84d2), Texture19 = ((int)0X84d3), Texture20 = ((int)0X84d4), Texture21 = ((int)0X84d5), Texture22 = ((int)0X84d6), Texture23 = ((int)0X84d7), Texture24 = ((int)0X84d8), Texture25 = ((int)0X84d9), Texture26 = ((int)0X84da), Texture27 = ((int)0X84db), Texture28 = ((int)0X84dc), Texture29 = ((int)0X84dd), Texture30 = ((int)0X84de), Texture31 = ((int)0X84df), ActiveTexture = ((int)0X84e0), CompressedRgb = ((int)0X84ed), CompressedRgba = ((int)0X84ee), TextureCompressionHint = ((int)0X84ef), TextureCubeMap = ((int)0X8513), TextureBindingCubeMap = ((int)0X8514), TextureCubeMapPositiveX = ((int)0X8515), TextureCubeMapNegativeX = ((int)0X8516), TextureCubeMapPositiveY = ((int)0X8517), TextureCubeMapNegativeY = ((int)0X8518), TextureCubeMapPositiveZ = ((int)0X8519), TextureCubeMapNegativeZ = ((int)0X851a), ProxyTextureCubeMap = ((int)0X851b), MaxCubeMapTextureSize = ((int)0X851c), TextureCompressedImageSize = ((int)0X86a0), TextureCompressed = ((int)0X86a1), NumCompressedTextureFormats = ((int)0X86a2), CompressedTextureFormats = ((int)0X86a3), } public enum Version13Deprecated { MultisampleBit = ((int)0X20000000), ClientActiveTexture = ((int)0X84e1), MaxTextureUnits = ((int)0X84e2), TransposeModelviewMatrix = ((int)0X84e3), TransposeProjectionMatrix = ((int)0X84e4), TransposeTextureMatrix = ((int)0X84e5), TransposeColorMatrix = ((int)0X84e6), Subtract = ((int)0X84e7), CompressedAlpha = ((int)0X84e9), CompressedLuminance = ((int)0X84ea), CompressedLuminanceAlpha = ((int)0X84eb), CompressedIntensity = ((int)0X84ec), NormalMap = ((int)0X8511), ReflectionMap = ((int)0X8512), Combine = ((int)0X8570), CombineRgb = ((int)0X8571), CombineAlpha = ((int)0X8572), RgbScale = ((int)0X8573), AddSigned = ((int)0X8574), Interpolate = ((int)0X8575), Constant = ((int)0X8576), PrimaryColor = ((int)0X8577), Previous = ((int)0X8578), Source0Rgb = ((int)0X8580), Source1Rgb = ((int)0X8581), Source2Rgb = ((int)0X8582), Source0Alpha = ((int)0X8588), Source1Alpha = ((int)0X8589), Source2Alpha = ((int)0X858a), Operand0Rgb = ((int)0X8590), Operand1Rgb = ((int)0X8591), Operand2Rgb = ((int)0X8592), Operand0Alpha = ((int)0X8598), Operand1Alpha = ((int)0X8599), Operand2Alpha = ((int)0X859a), Dot3Rgb = ((int)0X86ae), Dot3Rgba = ((int)0X86af), } public enum Version14 { BlendDstRgb = ((int)0X80c8), BlendSrcRgb = ((int)0X80c9), BlendDstAlpha = ((int)0X80ca), BlendSrcAlpha = ((int)0X80cb), PointSizeMin = ((int)0X8126), PointSizeMax = ((int)0X8127), PointFadeThresholdSize = ((int)0X8128), PointDistanceAttenuation = ((int)0X8129), GenerateMipmap = ((int)0X8191), GenerateMipmapHint = ((int)0X8192), DepthComponent16 = ((int)0X81a5), DepthComponent24 = ((int)0X81a6), DepthComponent32 = ((int)0X81a7), MirroredRepeat = ((int)0X8370), MaxTextureLodBias = ((int)0X84fd), TextureLodBias = ((int)0X8501), IncrWrap = ((int)0X8507), DecrWrap = ((int)0X8508), TextureDepthSize = ((int)0X884a), TextureCompareMode = ((int)0X884c), TextureCompareFunc = ((int)0X884d), } public enum Version14Deprecated { PointSizeMin = ((int)0X8126), PointSizeMax = ((int)0X8127), PointDistanceAttenuation = ((int)0X8129), GenerateMipmap = ((int)0X8191), GenerateMipmapHint = ((int)0X8192), FogCoordinateSource = ((int)0X8450), FogCoordinate = ((int)0X8451), FragmentDepth = ((int)0X8452), CurrentFogCoordinate = ((int)0X8453), FogCoordinateArrayType = ((int)0X8454), FogCoordinateArrayStride = ((int)0X8455), FogCoordinateArrayPointer = ((int)0X8456), FogCoordinateArray = ((int)0X8457), ColorSum = ((int)0X8458), CurrentSecondaryColor = ((int)0X8459), SecondaryColorArraySize = ((int)0X845a), SecondaryColorArrayType = ((int)0X845b), SecondaryColorArrayStride = ((int)0X845c), SecondaryColorArrayPointer = ((int)0X845d), SecondaryColorArray = ((int)0X845e), TextureFilterControl = ((int)0X8500), DepthTextureMode = ((int)0X884b), CompareRToTexture = ((int)0X884e), } public enum Version15 { BufferSize = ((int)0X8764), BufferUsage = ((int)0X8765), QueryCounterBits = ((int)0X8864), CurrentQuery = ((int)0X8865), QueryResult = ((int)0X8866), QueryResultAvailable = ((int)0X8867), ArrayBuffer = ((int)0X8892), ElementArrayBuffer = ((int)0X8893), ArrayBufferBinding = ((int)0X8894), ElementArrayBufferBinding = ((int)0X8895), VertexAttribArrayBufferBinding = ((int)0X889f), ReadOnly = ((int)0X88b8), WriteOnly = ((int)0X88b9), ReadWrite = ((int)0X88ba), BufferAccess = ((int)0X88bb), BufferMapped = ((int)0X88bc), BufferMapPointer = ((int)0X88bd), StreamDraw = ((int)0X88e0), StreamRead = ((int)0X88e1), StreamCopy = ((int)0X88e2), StaticDraw = ((int)0X88e4), StaticRead = ((int)0X88e5), StaticCopy = ((int)0X88e6), DynamicDraw = ((int)0X88e8), DynamicRead = ((int)0X88e9), DynamicCopy = ((int)0X88ea), SamplesPassed = ((int)0X8914), } public enum Version15Deprecated { FogCoordSrc = ((int)0X8450), FogCoord = ((int)0X8451), CurrentFogCoord = ((int)0X8453), FogCoordArrayType = ((int)0X8454), FogCoordArrayStride = ((int)0X8455), FogCoordArrayPointer = ((int)0X8456), FogCoordArray = ((int)0X8457), Src0Rgb = ((int)0X8580), Src1Rgb = ((int)0X8581), Src2Rgb = ((int)0X8582), Src0Alpha = ((int)0X8588), Src1Alpha = ((int)0X8589), Src2Alpha = ((int)0X858a), VertexArrayBufferBinding = ((int)0X8896), NormalArrayBufferBinding = ((int)0X8897), ColorArrayBufferBinding = ((int)0X8898), IndexArrayBufferBinding = ((int)0X8899), TextureCoordArrayBufferBinding = ((int)0X889a), EdgeFlagArrayBufferBinding = ((int)0X889b), SecondaryColorArrayBufferBinding = ((int)0X889c), FogCoordArrayBufferBinding = ((int)0X889d), FogCoordinateArrayBufferBinding = ((int)0X889d), WeightArrayBufferBinding = ((int)0X889e), } public enum Version20 { BlendEquationRgb = ((int)0X8009), VertexAttribArrayEnabled = ((int)0X8622), VertexAttribArraySize = ((int)0X8623), VertexAttribArrayStride = ((int)0X8624), VertexAttribArrayType = ((int)0X8625), CurrentVertexAttrib = ((int)0X8626), VertexProgramPointSize = ((int)0X8642), VertexAttribArrayPointer = ((int)0X8645), StencilBackFunc = ((int)0X8800), StencilBackFail = ((int)0X8801), StencilBackPassDepthFail = ((int)0X8802), StencilBackPassDepthPass = ((int)0X8803), MaxDrawBuffers = ((int)0X8824), DrawBuffer0 = ((int)0X8825), DrawBuffer1 = ((int)0X8826), DrawBuffer2 = ((int)0X8827), DrawBuffer3 = ((int)0X8828), DrawBuffer4 = ((int)0X8829), DrawBuffer5 = ((int)0X882a), DrawBuffer6 = ((int)0X882b), DrawBuffer7 = ((int)0X882c), DrawBuffer8 = ((int)0X882d), DrawBuffer9 = ((int)0X882e), DrawBuffer10 = ((int)0X882f), DrawBuffer11 = ((int)0X8830), DrawBuffer12 = ((int)0X8831), DrawBuffer13 = ((int)0X8832), DrawBuffer14 = ((int)0X8833), DrawBuffer15 = ((int)0X8834), BlendEquationAlpha = ((int)0X883d), MaxVertexAttribs = ((int)0X8869), VertexAttribArrayNormalized = ((int)0X886a), MaxTextureImageUnits = ((int)0X8872), FragmentShader = ((int)0X8b30), VertexShader = ((int)0X8b31), MaxFragmentUniformComponents = ((int)0X8b49), MaxVertexUniformComponents = ((int)0X8b4a), MaxVaryingFloats = ((int)0X8b4b), MaxVertexTextureImageUnits = ((int)0X8b4c), MaxCombinedTextureImageUnits = ((int)0X8b4d), ShaderType = ((int)0X8b4f), FloatVec2 = ((int)0X8b50), FloatVec3 = ((int)0X8b51), FloatVec4 = ((int)0X8b52), 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), DeleteStatus = ((int)0X8b80), CompileStatus = ((int)0X8b81), LinkStatus = ((int)0X8b82), ValidateStatus = ((int)0X8b83), InfoLogLength = ((int)0X8b84), AttachedShaders = ((int)0X8b85), ActiveUniforms = ((int)0X8b86), ActiveUniformMaxLength = ((int)0X8b87), ShaderSourceLength = ((int)0X8b88), ActiveAttributes = ((int)0X8b89), ActiveAttributeMaxLength = ((int)0X8b8a), FragmentShaderDerivativeHint = ((int)0X8b8b), ShadingLanguageVersion = ((int)0X8b8c), CurrentProgram = ((int)0X8b8d), PointSpriteCoordOrigin = ((int)0X8ca0), LowerLeft = ((int)0X8ca1), UpperLeft = ((int)0X8ca2), StencilBackRef = ((int)0X8ca3), StencilBackValueMask = ((int)0X8ca4), StencilBackWritemask = ((int)0X8ca5), } public enum Version20Deprecated { VertexProgramTwoSide = ((int)0X8643), PointSprite = ((int)0X8861), CoordReplace = ((int)0X8862), MaxTextureCoords = ((int)0X8871), } public enum Version21 { PixelPackBuffer = ((int)0X88eb), PixelUnpackBuffer = ((int)0X88ec), PixelPackBufferBinding = ((int)0X88ed), PixelUnpackBufferBinding = ((int)0X88ef), FloatMat2x3 = ((int)0X8b65), FloatMat2x4 = ((int)0X8b66), FloatMat3x2 = ((int)0X8b67), FloatMat3x4 = ((int)0X8b68), FloatMat4x2 = ((int)0X8b69), FloatMat4x3 = ((int)0X8b6a), Srgb = ((int)0X8c40), Srgb8 = ((int)0X8c41), SrgbAlpha = ((int)0X8c42), Srgb8Alpha8 = ((int)0X8c43), CompressedSrgb = ((int)0X8c48), CompressedSrgbAlpha = ((int)0X8c49), } public enum Version21Deprecated { CurrentRasterSecondaryColor = ((int)0X845f), SluminanceAlpha = ((int)0X8c44), Sluminance8Alpha8 = ((int)0X8c45), Sluminance = ((int)0X8c46), Sluminance8 = ((int)0X8c47), CompressedSluminance = ((int)0X8c4a), CompressedSluminanceAlpha = ((int)0X8c4b), } public enum Version30 { ContextFlagForwardCompatibleBit = ((int)0X0001), MapReadBit = ((int)0X0001), MapWriteBit = ((int)0X0002), MapInvalidateRangeBit = ((int)0X0004), MapInvalidateBufferBit = ((int)0X0008), MapFlushExplicitBit = ((int)0X0010), MapUnsynchronizedBit = ((int)0X0020), InvalidFramebufferOperation = ((int)0X0506), MaxClipDistances = ((int)0X0d32), HalfFloat = ((int)0X140b), ClipDistance0 = ((int)0X3000), ClipDistance1 = ((int)0X3001), ClipDistance2 = ((int)0X3002), ClipDistance3 = ((int)0X3003), ClipDistance4 = ((int)0X3004), ClipDistance5 = ((int)0X3005), ClipDistance6 = ((int)0X3006), ClipDistance7 = ((int)0X3007), FramebufferAttachmentColorEncoding = ((int)0X8210), FramebufferAttachmentComponentType = ((int)0X8211), FramebufferAttachmentRedSize = ((int)0X8212), FramebufferAttachmentGreenSize = ((int)0X8213), FramebufferAttachmentBlueSize = ((int)0X8214), FramebufferAttachmentAlphaSize = ((int)0X8215), FramebufferAttachmentDepthSize = ((int)0X8216), FramebufferAttachmentStencilSize = ((int)0X8217), FramebufferDefault = ((int)0X8218), FramebufferUndefined = ((int)0X8219), DepthStencilAttachment = ((int)0X821a), MajorVersion = ((int)0X821b), MinorVersion = ((int)0X821c), NumExtensions = ((int)0X821d), ContextFlags = ((int)0X821e), DepthBuffer = ((int)0X8223), StencilBuffer = ((int)0X8224), CompressedRed = ((int)0X8225), CompressedRg = ((int)0X8226), Rg = ((int)0X8227), RgInteger = ((int)0X8228), R8 = ((int)0X8229), R16 = ((int)0X822a), Rg8 = ((int)0X822b), Rg16 = ((int)0X822c), R16f = ((int)0X822D), R32f = ((int)0X822e), Rg16f = ((int)0X822f), Rg32f = ((int)0X8230), R8i = ((int)0X8231), R8ui = ((int)0X8232), R16i = ((int)0X8233), R16ui = ((int)0X8234), R32i = ((int)0X8235), R32ui = ((int)0X8236), Rg8i = ((int)0X8237), Rg8ui = ((int)0X8238), Rg16i = ((int)0X8239), Rg16ui = ((int)0X823a), Rg32i = ((int)0X823b), Rg32ui = ((int)0X823c), MaxRenderbufferSize = ((int)0X84e8), DepthStencil = ((int)0X84f9), UnsignedInt248 = ((int)0X84fa), VertexArrayBinding = ((int)0X85b5), Rgba32f = ((int)0X8814), Rgb32f = ((int)0X8815), Rgba16f = ((int)0X881a), Rgb16f = ((int)0X881b), CompareRefToTexture = ((int)0X884e), Depth24Stencil8 = ((int)0X88f0), TextureStencilSize = ((int)0X88f1), VertexAttribArrayInteger = ((int)0X88fd), MaxArrayTextureLayers = ((int)0X88ff), MinProgramTexelOffset = ((int)0X8904), MaxProgramTexelOffset = ((int)0X8905), ClampReadColor = ((int)0X891c), FixedOnly = ((int)0X891d), MaxVaryingComponents = ((int)0X8b4b), TextureRedType = ((int)0X8c10), TextureGreenType = ((int)0X8c11), TextureBlueType = ((int)0X8c12), TextureAlphaType = ((int)0X8c13), TextureDepthType = ((int)0X8c16), UnsignedNormalized = ((int)0X8c17), Texture1DArray = ((int)0X8c18), ProxyTexture1DArray = ((int)0X8c19), Texture2DArray = ((int)0X8c1a), ProxyTexture2DArray = ((int)0X8c1b), TextureBinding1DArray = ((int)0X8c1c), TextureBinding2DArray = ((int)0X8c1d), R11fG11fB10f = ((int)0X8c3a), UnsignedInt10F11F11FRev = ((int)0X8c3b), Rgb9E5 = ((int)0X8c3d), UnsignedInt5999Rev = ((int)0X8c3e), TextureSharedSize = ((int)0X8c3f), TransformFeedbackVaryingMaxLength = ((int)0X8c76), TransformFeedbackBufferMode = ((int)0X8c7f), MaxTransformFeedbackSeparateComponents = ((int)0X8c80), TransformFeedbackVaryings = ((int)0X8c83), TransformFeedbackBufferStart = ((int)0X8c84), TransformFeedbackBufferSize = ((int)0X8c85), PrimitivesGenerated = ((int)0X8c87), TransformFeedbackPrimitivesWritten = ((int)0X8c88), RasterizerDiscard = ((int)0X8c89), MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a), MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b), InterleavedAttribs = ((int)0X8c8c), SeparateAttribs = ((int)0X8c8d), TransformFeedbackBuffer = ((int)0X8c8e), TransformFeedbackBufferBinding = ((int)0X8c8f), DrawFramebufferBinding = ((int)0X8ca6), FramebufferBinding = ((int)0X8ca6), RenderbufferBinding = ((int)0X8ca7), ReadFramebuffer = ((int)0X8ca8), DrawFramebuffer = ((int)0X8ca9), ReadFramebufferBinding = ((int)0X8caa), RenderbufferSamples = ((int)0X8cab), DepthComponent32f = ((int)0X8cac), Depth32fStencil8 = ((int)0X8cad), FramebufferAttachmentObjectType = ((int)0X8cd0), FramebufferAttachmentObjectName = ((int)0X8cd1), FramebufferAttachmentTextureLevel = ((int)0X8cd2), FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3), FramebufferAttachmentTextureLayer = ((int)0X8cd4), FramebufferComplete = ((int)0X8cd5), FramebufferIncompleteAttachment = ((int)0X8cd6), FramebufferIncompleteMissingAttachment = ((int)0X8cd7), FramebufferIncompleteDrawBuffer = ((int)0X8cdb), FramebufferIncompleteReadBuffer = ((int)0X8cdc), FramebufferUnsupported = ((int)0X8cdd), MaxColorAttachments = ((int)0X8cdf), ColorAttachment0 = ((int)0X8ce0), ColorAttachment1 = ((int)0X8ce1), ColorAttachment2 = ((int)0X8ce2), ColorAttachment3 = ((int)0X8ce3), ColorAttachment4 = ((int)0X8ce4), ColorAttachment5 = ((int)0X8ce5), ColorAttachment6 = ((int)0X8ce6), ColorAttachment7 = ((int)0X8ce7), ColorAttachment8 = ((int)0X8ce8), ColorAttachment9 = ((int)0X8ce9), ColorAttachment10 = ((int)0X8cea), ColorAttachment11 = ((int)0X8ceb), ColorAttachment12 = ((int)0X8cec), ColorAttachment13 = ((int)0X8ced), ColorAttachment14 = ((int)0X8cee), ColorAttachment15 = ((int)0X8cef), DepthAttachment = ((int)0X8D00), StencilAttachment = ((int)0X8D20), Framebuffer = ((int)0X8D40), Renderbuffer = ((int)0X8D41), RenderbufferWidth = ((int)0X8D42), RenderbufferHeight = ((int)0X8D43), RenderbufferInternalFormat = ((int)0X8D44), StencilIndex1 = ((int)0X8D46), StencilIndex4 = ((int)0X8D47), StencilIndex8 = ((int)0X8D48), StencilIndex16 = ((int)0X8D49), RenderbufferRedSize = ((int)0X8D50), RenderbufferGreenSize = ((int)0X8D51), RenderbufferBlueSize = ((int)0X8D52), RenderbufferAlphaSize = ((int)0X8D53), RenderbufferDepthSize = ((int)0X8D54), RenderbufferStencilSize = ((int)0X8D55), FramebufferIncompleteMultisample = ((int)0X8D56), MaxSamples = ((int)0X8D57), Rgba32ui = ((int)0X8d70), Rgb32ui = ((int)0X8d71), Rgba16ui = ((int)0X8d76), Rgb16ui = ((int)0X8d77), Rgba8ui = ((int)0X8d7c), Rgb8ui = ((int)0X8d7d), Rgba32i = ((int)0X8d82), Rgb32i = ((int)0X8d83), Rgba16i = ((int)0X8d88), Rgb16i = ((int)0X8d89), Rgba8i = ((int)0X8d8e), Rgb8i = ((int)0X8d8f), RedInteger = ((int)0X8d94), GreenInteger = ((int)0X8d95), BlueInteger = ((int)0X8d96), RgbInteger = ((int)0X8d98), RgbaInteger = ((int)0X8d99), BgrInteger = ((int)0X8d9a), BgraInteger = ((int)0X8d9b), Float32UnsignedInt248Rev = ((int)0X8Dad), FramebufferSrgb = ((int)0X8Db9), CompressedRedRgtc1 = ((int)0X8Dbb), CompressedSignedRedRgtc1 = ((int)0X8Dbc), CompressedRgRgtc2 = ((int)0X8Dbd), CompressedSignedRgRgtc2 = ((int)0X8Dbe), Sampler1DArray = ((int)0X8dc0), Sampler2DArray = ((int)0X8dc1), Sampler1DArrayShadow = ((int)0X8dc3), Sampler2DArrayShadow = ((int)0X8dc4), SamplerCubeShadow = ((int)0X8dc5), UnsignedIntVec2 = ((int)0X8dc6), UnsignedIntVec3 = ((int)0X8dc7), UnsignedIntVec4 = ((int)0X8dc8), IntSampler1D = ((int)0X8dc9), IntSampler2D = ((int)0X8dca), IntSampler3D = ((int)0X8dcb), IntSamplerCube = ((int)0X8dcc), IntSampler1DArray = ((int)0X8dce), IntSampler2DArray = ((int)0X8dcf), UnsignedIntSampler1D = ((int)0X8dd1), UnsignedIntSampler2D = ((int)0X8dd2), UnsignedIntSampler3D = ((int)0X8dd3), UnsignedIntSamplerCube = ((int)0X8dd4), UnsignedIntSampler1DArray = ((int)0X8dd6), UnsignedIntSampler2DArray = ((int)0X8dd7), QueryWait = ((int)0X8e13), QueryNoWait = ((int)0X8e14), QueryByRegionWait = ((int)0X8e15), QueryByRegionNoWait = ((int)0X8e16), BufferAccessFlags = ((int)0X911f), BufferMapLength = ((int)0X9120), BufferMapOffset = ((int)0X9121), } public enum Version30Deprecated { ClampVertexColor = ((int)0X891a), ClampFragmentColor = ((int)0X891b), AlphaInteger = ((int)0X8d97), } public enum Version31 { TextureRectangle = ((int)0X84f5), TextureBindingRectangle = ((int)0X84f6), ProxyTextureRectangle = ((int)0X84f7), MaxRectangleTextureSize = ((int)0X84f8), UniformBuffer = ((int)0X8a11), UniformBufferBinding = ((int)0X8a28), UniformBufferStart = ((int)0X8a29), UniformBufferSize = ((int)0X8a2a), MaxVertexUniformBlocks = ((int)0X8a2b), MaxFragmentUniformBlocks = ((int)0X8a2D), MaxCombinedUniformBlocks = ((int)0X8a2e), MaxUniformBufferBindings = ((int)0X8a2f), MaxUniformBlockSize = ((int)0X8a30), MaxCombinedVertexUniformComponents = ((int)0X8a31), MaxCombinedFragmentUniformComponents = ((int)0X8a33), UniformBufferOffsetAlignment = ((int)0X8a34), ActiveUniformBlockMaxNameLength = ((int)0X8a35), ActiveUniformBlocks = ((int)0X8a36), UniformType = ((int)0X8a37), UniformSize = ((int)0X8a38), UniformNameLength = ((int)0X8a39), UniformBlockIndex = ((int)0X8a3a), UniformOffset = ((int)0X8a3b), UniformArrayStride = ((int)0X8a3c), UniformMatrixStride = ((int)0X8a3D), UniformIsRowMajor = ((int)0X8a3e), UniformBlockBinding = ((int)0X8a3f), UniformBlockDataSize = ((int)0X8a40), UniformBlockNameLength = ((int)0X8a41), UniformBlockActiveUniforms = ((int)0X8a42), UniformBlockActiveUniformIndices = ((int)0X8a43), UniformBlockReferencedByVertexShader = ((int)0X8a44), UniformBlockReferencedByFragmentShader = ((int)0X8a46), Sampler2DRect = ((int)0X8b63), Sampler2DRectShadow = ((int)0X8b64), TextureBuffer = ((int)0X8c2a), MaxTextureBufferSize = ((int)0X8c2b), TextureBindingBuffer = ((int)0X8c2c), TextureBufferDataStoreBinding = ((int)0X8c2d), TextureBufferFormat = ((int)0X8c2e), SamplerBuffer = ((int)0X8dc2), IntSampler2DRect = ((int)0X8dcd), IntSamplerBuffer = ((int)0X8dd0), UnsignedIntSampler2DRect = ((int)0X8dd5), UnsignedIntSamplerBuffer = ((int)0X8dd8), CopyReadBuffer = ((int)0X8f36), CopyWriteBuffer = ((int)0X8f37), RedSnorm = ((int)0X8f90), RgSnorm = ((int)0X8f91), RgbSnorm = ((int)0X8f92), RgbaSnorm = ((int)0X8f93), R8Snorm = ((int)0X8f94), Rg8Snorm = ((int)0X8f95), Rgb8Snorm = ((int)0X8f96), Rgba8Snorm = ((int)0X8f97), R16Snorm = ((int)0X8f98), Rg16Snorm = ((int)0X8f99), Rgb16Snorm = ((int)0X8f9a), Rgba16Snorm = ((int)0X8f9b), SignedNormalized = ((int)0X8f9c), PrimitiveRestart = ((int)0X8f9d), PrimitiveRestartIndex = ((int)0X8f9e), InvalidIndex = unchecked((int)0Xffffffff), } public enum Version32 { ContextCoreProfileBit = ((int)0X00000001), SyncFlushCommandsBit = ((int)0X00000001), ContextCompatibilityProfileBit = ((int)0X00000002), LinesAdjacency = ((int)0X000a), LineStripAdjacency = ((int)0X000b), TrianglesAdjacency = ((int)0X000c), TriangleStripAdjacency = ((int)0X000d), ProgramPointSize = ((int)0X8642), DepthClamp = ((int)0X864f), TextureCubeMapSeamless = ((int)0X884f), GeometryVerticesOut = ((int)0X8916), GeometryInputType = ((int)0X8917), GeometryOutputType = ((int)0X8918), MaxVaryingComponents = ((int)0X8b4b), MaxGeometryTextureImageUnits = ((int)0X8c29), FramebufferAttachmentTextureLayer = ((int)0X8cd4), FramebufferAttachmentLayered = ((int)0X8da7), FramebufferIncompleteLayerTargets = ((int)0X8da8), GeometryShader = ((int)0X8dd9), MaxGeometryUniformComponents = ((int)0X8ddf), MaxGeometryOutputVertices = ((int)0X8de0), MaxGeometryTotalOutputComponents = ((int)0X8de1), QuadsFollowProvokingVertexConvention = ((int)0X8e4c), FirstVertexConvention = ((int)0X8e4D), LastVertexConvention = ((int)0X8e4e), ProvokingVertex = ((int)0X8e4f), SamplePosition = ((int)0X8e50), SampleMask = ((int)0X8e51), SampleMaskValue = ((int)0X8e52), MaxSampleMaskWords = ((int)0X8e59), Texture2DMultisample = ((int)0X9100), ProxyTexture2DMultisample = ((int)0X9101), Texture2DMultisampleArray = ((int)0X9102), ProxyTexture2DMultisampleArray = ((int)0X9103), TextureBinding2DMultisample = ((int)0X9104), TextureBinding2DMultisampleArray = ((int)0X9105), TextureSamples = ((int)0X9106), TextureFixedSampleLocations = ((int)0X9107), Sampler2DMultisample = ((int)0X9108), IntSampler2DMultisample = ((int)0X9109), UnsignedIntSampler2DMultisample = ((int)0X910a), Sampler2DMultisampleArray = ((int)0X910b), IntSampler2DMultisampleArray = ((int)0X910c), UnsignedIntSampler2DMultisampleArray = ((int)0X910D), MaxColorTextureSamples = ((int)0X910e), MaxDepthTextureSamples = ((int)0X910f), MaxIntegerSamples = ((int)0X9110), MaxServerWaitTimeout = ((int)0X9111), ObjectType = ((int)0X9112), SyncCondition = ((int)0X9113), SyncStatus = ((int)0X9114), SyncFlags = ((int)0X9115), SyncFence = ((int)0X9116), SyncGpuCommandsComplete = ((int)0X9117), Unsignaled = ((int)0X9118), Signaled = ((int)0X9119), AlreadySignaled = ((int)0X911a), TimeoutExpired = ((int)0X911b), ConditionSatisfied = ((int)0X911c), WaitFailed = ((int)0X911D), MaxVertexOutputComponents = ((int)0X9122), MaxGeometryInputComponents = ((int)0X9123), MaxGeometryOutputComponents = ((int)0X9124), MaxFragmentInputComponents = ((int)0X9125), ContextProfileMask = ((int)0X9126), TimeoutIgnored = unchecked((int)0Xffffffffffffffff), } public enum VertexAttribParameter { ArrayEnabled = ((int)0X8622), ArraySize = ((int)0X8623), ArrayStride = ((int)0X8624), ArrayType = ((int)0X8625), CurrentVertexAttrib = ((int)0X8626), ArrayNormalized = ((int)0X886a), VertexAttribArrayInteger = ((int)0X88fd), } public enum VertexAttribParameterArb { ArrayEnabled = ((int)0X8622), ArraySize = ((int)0X8623), ArrayStride = ((int)0X8624), ArrayType = ((int)0X8625), CurrentVertexAttrib = ((int)0X8626), ArrayNormalized = ((int)0X886a), ArrayDivisor = ((int)0X88fe), } public enum VertexAttribPointerParameter { ArrayPointer = ((int)0X8645), } public enum VertexAttribPointerParameterArb { ArrayPointer = ((int)0X8645), } public enum VertexAttribPointerType { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum VertexAttribPointerTypeArb { Byte = ((int)0X1400), UnsignedByte = ((int)0X1401), Short = ((int)0X1402), UnsignedShort = ((int)0X1403), Int = ((int)0X1404), UnsignedInt = ((int)0X1405), Float = ((int)0X1406), Double = ((int)0X140a), } public enum VertexPointerType { Short = ((int)0X1402), Int = ((int)0X1404), Float = ((int)0X1406), Double = ((int)0X140a), HalfFloat = ((int)0X140b), } public enum WinPhongShading { PhongWin = ((int)0X80ea), PhongHintWin = ((int)0X80eb), } public enum WinSpecularFog { FogSpecularTextureWin = ((int)0X80ec), } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/ErrorHelper.cs0000664000175000017500000001103111453131426023435 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace OpenTK.Graphics { // Used in debug-mode only, for automatic OpenGL error-checking. // // Works like this: an instance is created before each OpenGL function is called. // The constructor resets the OpenGL error state. Once the native function returns, // the error state is checked again, raising the relevant exceptions. // // A using-region is used to ensure Dispose() is called. // // Make sure that no error checking is added to the GetError function, // as that would cause infinite recursion! [Obsolete] struct ErrorHelper : IDisposable { #region Fields static readonly object SyncRoot = new object(); static readonly Dictionary> ContextErrors = new Dictionary>(); readonly GraphicsContext Context; #endregion #region Constructors public ErrorHelper(IGraphicsContext context) { if (context == null) throw new GraphicsContextMissingException(); Context = (GraphicsContext)context; lock (SyncRoot) { if (!ContextErrors.ContainsKey(Context)) ContextErrors.Add(Context, new List()); } ResetErrors(); } #endregion #region Public Members // Retrieve all OpenGL errors to clear the error list. // See http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/geterror.html [Conditional("DEBUG")] internal void ResetErrors() { if (Context.ErrorChecking) { while (GL.GetError() != ErrorCode.NoError) { } } } // Retrieve all OpenGL errors and throw an exception if anything other than NoError is returned. [Conditional("DEBUG")] internal void CheckErrors() { if (Context.ErrorChecking) { List error_list = ContextErrors[Context]; error_list.Clear(); ErrorCode error; do { error = GL.GetError(); error_list.Add(error); } while (error != ErrorCode.NoError); if (error_list.Count != 1) { StringBuilder sb = new StringBuilder(); foreach (ErrorCode e in error_list) { if (e != ErrorCode.NoError) { sb.Append(e.ToString()); sb.Append(", "); } else break; } sb.Remove(sb.Length - 2, 2); // Remove the last comma throw new GraphicsErrorException(sb.ToString()); } } } #endregion #region IDisposable Members public void Dispose() { CheckErrors(); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/GLDelegates.cs0000664000175000017500000167327611453131426023356 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 0649 #pragma warning disable 3019 #pragma warning disable 1591 partial class GL { [Obsolete] internal static partial class Delegates { [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Accum(OpenTK.Graphics.AccumOp op, Single value); internal static Accum glAccum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveStencilFaceEXT(OpenTK.Graphics.ExtStencilTwoSide face); internal static ActiveStencilFaceEXT glActiveStencilFaceEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveTexture(OpenTK.Graphics.TextureUnit texture); internal static ActiveTexture glActiveTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveTextureARB(OpenTK.Graphics.TextureUnit texture); internal static ActiveTextureARB glActiveTextureARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ActiveVaryingNV(UInt32 program, String name); internal static ActiveVaryingNV glActiveVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); internal static AlphaFragmentOp1ATI glAlphaFragmentOp1ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); internal static AlphaFragmentOp2ATI glAlphaFragmentOp2ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); internal static AlphaFragmentOp3ATI glAlphaFragmentOp3ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AlphaFunc(OpenTK.Graphics.AlphaFunction func, Single @ref); internal static AlphaFunc glAlphaFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ApplyTextureEXT(OpenTK.Graphics.ExtLightTexture mode); internal static ApplyTextureEXT glApplyTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate bool AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool* residences); internal unsafe static AreProgramsResidentNV glAreProgramsResidentNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences); internal unsafe static AreTexturesResident glAreTexturesResident; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate bool AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] bool* residences); internal unsafe static AreTexturesResidentEXT glAreTexturesResidentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayElement(Int32 i); internal static ArrayElement glArrayElement; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayElementEXT(Int32 i); internal static ArrayElementEXT glArrayElementEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ArrayObjectATI(OpenTK.Graphics.EnableCap array, Int32 size, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset); internal static ArrayObjectATI glArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AsyncMarkerSGIX(UInt32 marker); internal static AsyncMarkerSGIX glAsyncMarkerSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AttachObjectARB(UInt32 containerObj, UInt32 obj); internal static AttachObjectARB glAttachObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void AttachShader(UInt32 program, UInt32 shader); internal static AttachShader glAttachShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Begin(OpenTK.Graphics.BeginMode mode); internal static Begin glBegin; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginConditionalRender(UInt32 id, OpenTK.Graphics.ConditionalRenderType mode); internal static BeginConditionalRender glBeginConditionalRender; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginConditionalRenderNV(UInt32 id, OpenTK.Graphics.NvConditionalRender mode); internal static BeginConditionalRenderNV glBeginConditionalRenderNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginFragmentShaderATI(); internal static BeginFragmentShaderATI glBeginFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginOcclusionQueryNV(UInt32 id); internal static BeginOcclusionQueryNV glBeginOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginPerfMonitorAMD(UInt32 monitor); internal static BeginPerfMonitorAMD glBeginPerfMonitorAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginQuery(OpenTK.Graphics.QueryTarget target, UInt32 id); internal static BeginQuery glBeginQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginQueryARB(OpenTK.Graphics.ArbOcclusionQuery target, UInt32 id); internal static BeginQueryARB glBeginQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginTransformFeedback(OpenTK.Graphics.BeginFeedbackMode primitiveMode); internal static BeginTransformFeedback glBeginTransformFeedback; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginTransformFeedbackEXT(OpenTK.Graphics.ExtTransformFeedback primitiveMode); internal static BeginTransformFeedbackEXT glBeginTransformFeedbackEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback primitiveMode); internal static BeginTransformFeedbackNV glBeginTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginVertexShaderEXT(); internal static BeginVertexShaderEXT glBeginVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindAttribLocation(UInt32 program, UInt32 index, String name); internal static BindAttribLocation glBindAttribLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, String name); internal static BindAttribLocationARB glBindAttribLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBuffer(OpenTK.Graphics.BufferTarget target, UInt32 buffer); internal static BindBuffer glBindBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferARB(OpenTK.Graphics.BufferTargetArb target, UInt32 buffer); internal static BindBufferARB glBindBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferBase(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer); internal static BindBufferBase glBindBufferBase; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferBaseEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer); internal static BindBufferBaseEXT glBindBufferBaseEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferBaseNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer); internal static BindBufferBaseNV glBindBufferBaseNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferOffsetEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset); internal static BindBufferOffsetEXT glBindBufferOffsetEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferOffsetNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset); internal static BindBufferOffsetNV glBindBufferOffsetNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferRange(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); internal static BindBufferRange glBindBufferRange; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferRangeEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); internal static BindBufferRangeEXT glBindBufferRangeEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindBufferRangeNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); internal static BindBufferRangeNV glBindBufferRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFragDataLocation(UInt32 program, UInt32 color, String name); internal static BindFragDataLocation glBindFragDataLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, String name); internal static BindFragDataLocationEXT glBindFragDataLocationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFragmentShaderATI(UInt32 id); internal static BindFragmentShaderATI glBindFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFramebuffer(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer); internal static BindFramebuffer glBindFramebuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindFramebufferEXT(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer); internal static BindFramebufferEXT glBindFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindLightParameterEXT(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter value); internal static BindLightParameterEXT glBindLightParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindMaterialParameterEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter value); internal static BindMaterialParameterEXT glBindMaterialParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindMultiTextureEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 texture); internal static BindMultiTextureEXT glBindMultiTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindParameterEXT(OpenTK.Graphics.ExtVertexShader value); internal static BindParameterEXT glBindParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindProgramARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 program); internal static BindProgramARB glBindProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id); internal static BindProgramNV glBindProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindRenderbuffer(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer); internal static BindRenderbuffer glBindRenderbuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindRenderbufferEXT(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer); internal static BindRenderbufferEXT glBindRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindTexGenParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter value); internal static BindTexGenParameterEXT glBindTexGenParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindTexture(OpenTK.Graphics.TextureTarget target, UInt32 texture); internal static BindTexture glBindTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindTextureEXT(OpenTK.Graphics.TextureTarget target, UInt32 texture); internal static BindTextureEXT glBindTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 BindTextureUnitParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.ExtVertexShader value); internal static BindTextureUnitParameterEXT glBindTextureUnitParameterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 target, UInt32 id); internal static BindTransformFeedbackNV glBindTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindVertexArray(UInt32 array); internal static BindVertexArray glBindVertexArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindVertexArrayAPPLE(UInt32 array); internal static BindVertexArrayAPPLE glBindVertexArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BindVertexShaderEXT(UInt32 id); internal static BindVertexShaderEXT glBindVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3bEXT(SByte bx, SByte by, SByte bz); internal static Binormal3bEXT glBinormal3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3bvEXT(SByte* v); internal unsafe static Binormal3bvEXT glBinormal3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3dEXT(Double bx, Double by, Double bz); internal static Binormal3dEXT glBinormal3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3dvEXT(Double* v); internal unsafe static Binormal3dvEXT glBinormal3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3fEXT(Single bx, Single by, Single bz); internal static Binormal3fEXT glBinormal3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3fvEXT(Single* v); internal unsafe static Binormal3fvEXT glBinormal3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz); internal static Binormal3iEXT glBinormal3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3ivEXT(Int32* v); internal unsafe static Binormal3ivEXT glBinormal3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz); internal static Binormal3sEXT glBinormal3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Binormal3svEXT(Int16* v); internal unsafe static Binormal3svEXT glBinormal3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BinormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); internal static BinormalPointerEXT glBinormalPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap); internal unsafe static Bitmap glBitmap; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendColor(Single red, Single green, Single blue, Single alpha); internal static BlendColor glBlendColor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendColorEXT(Single red, Single green, Single blue, Single alpha); internal static BlendColorEXT glBlendColorEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquation(OpenTK.Graphics.BlendEquationMode mode); internal static BlendEquation glBlendEquation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationEXT(OpenTK.Graphics.ExtBlendMinmax mode); internal static BlendEquationEXT glBlendEquationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationi(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend mode); internal static BlendEquationi glBlendEquationi; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend mode); internal static BlendEquationIndexedAMD glBlendEquationIndexedAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparate(OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha); internal static BlendEquationSeparate glBlendEquationSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparateEXT(OpenTK.Graphics.ExtBlendEquationSeparate modeRGB, OpenTK.Graphics.ExtBlendEquationSeparate modeAlpha); internal static BlendEquationSeparateEXT glBlendEquationSeparateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparatei(UInt32 buf, OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha); internal static BlendEquationSeparatei glBlendEquationSeparatei; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendEquationSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend modeRGB, OpenTK.Graphics.AmdDrawBuffersBlend modeAlpha); internal static BlendEquationSeparateIndexedAMD glBlendEquationSeparateIndexedAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFunc(OpenTK.Graphics.BlendingFactorSrc sfactor, OpenTK.Graphics.BlendingFactorDest dfactor); internal static BlendFunc glBlendFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFunci(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend src, OpenTK.Graphics.ArbDrawBuffersBlend dst); internal static BlendFunci glBlendFunci; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend src, OpenTK.Graphics.AmdDrawBuffersBlend dst); internal static BlendFuncIndexedAMD glBlendFuncIndexedAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparate(OpenTK.Graphics.BlendingFactorSrc sfactorRGB, OpenTK.Graphics.BlendingFactorDest dfactorRGB, OpenTK.Graphics.BlendingFactorSrc sfactorAlpha, OpenTK.Graphics.BlendingFactorDest dfactorAlpha); internal static BlendFuncSeparate glBlendFuncSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparateEXT(OpenTK.Graphics.ExtBlendFuncSeparate sfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate dfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate sfactorAlpha, OpenTK.Graphics.ExtBlendFuncSeparate dfactorAlpha); internal static BlendFuncSeparateEXT glBlendFuncSeparateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparatei(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend srcRGB, OpenTK.Graphics.ArbDrawBuffersBlend dstRGB, OpenTK.Graphics.ArbDrawBuffersBlend srcAlpha, OpenTK.Graphics.ArbDrawBuffersBlend dstAlpha); internal static BlendFuncSeparatei glBlendFuncSeparatei; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend srcRGB, OpenTK.Graphics.AmdDrawBuffersBlend dstRGB, OpenTK.Graphics.AmdDrawBuffersBlend srcAlpha, OpenTK.Graphics.AmdDrawBuffersBlend dstAlpha); internal static BlendFuncSeparateIndexedAMD glBlendFuncSeparateIndexedAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlendFuncSeparateINGR(OpenTK.Graphics.All sfactorRGB, OpenTK.Graphics.All dfactorRGB, OpenTK.Graphics.All sfactorAlpha, OpenTK.Graphics.All dfactorAlpha); internal static BlendFuncSeparateINGR glBlendFuncSeparateINGR; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.BlitFramebufferFilter filter); internal static BlitFramebuffer glBlitFramebuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.ExtFramebufferBlit filter); internal static BlitFramebufferEXT glBlitFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferData(OpenTK.Graphics.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageHint usage); internal static BufferData glBufferData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageArb usage); internal static BufferDataARB glBufferDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferParameteriAPPLE(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterApple pname, Int32 param); internal static BufferParameteriAPPLE glBufferParameteriAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data); internal static BufferSubData glBufferSubData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data); internal static BufferSubDataARB glBufferSubDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CallList(UInt32 list); internal static CallList glCallList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CallLists(Int32 n, OpenTK.Graphics.ListNameType type, IntPtr lists); internal static CallLists glCallLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatus(OpenTK.Graphics.FramebufferTarget target); internal static CheckFramebufferStatus glCheckFramebufferStatus; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatusEXT(OpenTK.Graphics.FramebufferTarget target); internal static CheckFramebufferStatusEXT glCheckFramebufferStatusEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.ExtDirectStateAccess CheckNamedFramebufferStatusEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferTarget target); internal static CheckNamedFramebufferStatusEXT glCheckNamedFramebufferStatusEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClampColor(OpenTK.Graphics.ClampColorTarget target, OpenTK.Graphics.ClampColorMode clamp); internal static ClampColor glClampColor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClampColorARB(OpenTK.Graphics.ArbColorBufferFloat target, OpenTK.Graphics.ArbColorBufferFloat clamp); internal static ClampColorARB glClampColorARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Clear(OpenTK.Graphics.ClearBufferMask mask); internal static Clear glClear; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearAccum(Single red, Single green, Single blue, Single alpha); internal static ClearAccum glClearAccum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearBufferfi(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil); internal static ClearBufferfi glClearBufferfi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClearBufferfv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single* value); internal unsafe static ClearBufferfv glClearBufferfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClearBufferiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Int32* value); internal unsafe static ClearBufferiv glClearBufferiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClearBufferuiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, UInt32* value); internal unsafe static ClearBufferuiv glClearBufferuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColor(Single red, Single green, Single blue, Single alpha); internal static ClearColor glClearColor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static ClearColorIiEXT glClearColorIiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); internal static ClearColorIuiEXT glClearColorIuiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearDepth(Double depth); internal static ClearDepth glClearDepth; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearDepthdNV(Double depth); internal static ClearDepthdNV glClearDepthdNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearIndex(Single c); internal static ClearIndex glClearIndex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClearStencil(Int32 s); internal static ClearStencil glClearStencil; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveTexture(OpenTK.Graphics.TextureUnit texture); internal static ClientActiveTexture glClientActiveTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveTextureARB(OpenTK.Graphics.TextureUnit texture); internal static ClientActiveTextureARB glClientActiveTextureARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientActiveVertexStreamATI(OpenTK.Graphics.AtiVertexStreams stream); internal static ClientActiveVertexStreamATI glClientActiveVertexStreamATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask); internal static ClientAttribDefaultEXT glClientAttribDefaultEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); internal static ClientWaitSync glClientWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ClipPlane(OpenTK.Graphics.ClipPlaneName plane, Double* equation); internal unsafe static ClipPlane glClipPlane; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3b(SByte red, SByte green, SByte blue); internal static Color3b glColor3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3bv(SByte* v); internal unsafe static Color3bv glColor3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3d(Double red, Double green, Double blue); internal static Color3d glColor3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3dv(Double* v); internal unsafe static Color3dv glColor3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3f(Single red, Single green, Single blue); internal static Color3f glColor3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3fv(Single* v); internal unsafe static Color3fv glColor3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z); internal static Color3fVertex3fSUN glColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3fVertex3fvSUN(Single* c, Single* v); internal unsafe static Color3fVertex3fvSUN glColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue); internal static Color3hNV glColor3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3hvNV(OpenTK.Half* v); internal unsafe static Color3hvNV glColor3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3i(Int32 red, Int32 green, Int32 blue); internal static Color3i glColor3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3iv(Int32* v); internal unsafe static Color3iv glColor3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3s(Int16 red, Int16 green, Int16 blue); internal static Color3s glColor3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3sv(Int16* v); internal unsafe static Color3sv glColor3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3ub(Byte red, Byte green, Byte blue); internal static Color3ub glColor3ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3ubv(Byte* v); internal unsafe static Color3ubv glColor3ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3ui(UInt32 red, UInt32 green, UInt32 blue); internal static Color3ui glColor3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3uiv(UInt32* v); internal unsafe static Color3uiv glColor3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color3us(UInt16 red, UInt16 green, UInt16 blue); internal static Color3us glColor3us; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color3usv(UInt16* v); internal unsafe static Color3usv glColor3usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4b(SByte red, SByte green, SByte blue, SByte alpha); internal static Color4b glColor4b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4bv(SByte* v); internal unsafe static Color4bv glColor4bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4d(Double red, Double green, Double blue, Double alpha); internal static Color4d glColor4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4dv(Double* v); internal unsafe static Color4dv glColor4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4f(Single red, Single green, Single blue, Single alpha); internal static Color4f glColor4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static Color4fNormal3fVertex3fSUN glColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v); internal unsafe static Color4fNormal3fVertex3fvSUN glColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4fv(Single* v); internal unsafe static Color4fv glColor4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha); internal static Color4hNV glColor4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4hvNV(OpenTK.Half* v); internal unsafe static Color4hvNV glColor4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha); internal static Color4i glColor4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4iv(Int32* v); internal unsafe static Color4iv glColor4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha); internal static Color4s glColor4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4sv(Int16* v); internal unsafe static Color4sv glColor4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ub(Byte red, Byte green, Byte blue, Byte alpha); internal static Color4ub glColor4ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubv(Byte* v); internal unsafe static Color4ubv glColor4ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y); internal static Color4ubVertex2fSUN glColor4ubVertex2fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubVertex2fvSUN(Byte* c, Single* v); internal unsafe static Color4ubVertex2fvSUN glColor4ubVertex2fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static Color4ubVertex3fSUN glColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4ubVertex3fvSUN(Byte* c, Single* v); internal unsafe static Color4ubVertex3fvSUN glColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); internal static Color4ui glColor4ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4uiv(UInt32* v); internal unsafe static Color4uiv glColor4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha); internal static Color4us glColor4us; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Color4usv(UInt16* v); internal unsafe static Color4usv glColor4usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); internal static ColorFragmentOp1ATI glColorFragmentOp1ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); internal static ColorFragmentOp2ATI glColorFragmentOp2ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); internal static ColorFragmentOp3ATI glColorFragmentOp3ATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMask(bool red, bool green, bool blue, bool alpha); internal static ColorMask glColorMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMaski(UInt32 index, bool r, bool g, bool b, bool a); internal static ColorMaski glColorMaski; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMaskIndexedEXT(UInt32 index, bool r, bool g, bool b, bool a); internal static ColorMaskIndexedEXT glColorMaskIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorMaterial(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ColorMaterialParameter mode); internal static ColorMaterial glColorMaterial; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); internal static ColorPointer glColorPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer); internal static ColorPointerEXT glColorPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointerListIBM(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static ColorPointerListIBM glColorPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); internal static ColorPointervINTEL glColorPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data); internal static ColorSubTable glColorSubTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data); internal static ColorSubTableEXT glColorSubTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); internal static ColorTable glColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalFormat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); internal static ColorTableEXT glColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Single* @params); internal unsafe static ColorTableParameterfv glColorTableParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Single* @params); internal unsafe static ColorTableParameterfvSGI glColorTableParameterfvSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Int32* @params); internal unsafe static ColorTableParameteriv glColorTableParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Int32* @params); internal unsafe static ColorTableParameterivSGI glColorTableParameterivSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); internal static ColorTableSGI glColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerInputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage); internal static CombinerInputNV glCombinerInputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerOutputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners abOutput, OpenTK.Graphics.NvRegisterCombiners cdOutput, OpenTK.Graphics.NvRegisterCombiners sumOutput, OpenTK.Graphics.NvRegisterCombiners scale, OpenTK.Graphics.NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum); internal static CombinerOutputNV glCombinerOutputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerParameterfNV(OpenTK.Graphics.NvRegisterCombiners pname, Single param); internal static CombinerParameterfNV glCombinerParameterfNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerParameterfvNV(OpenTK.Graphics.NvRegisterCombiners pname, Single* @params); internal unsafe static CombinerParameterfvNV glCombinerParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CombinerParameteriNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32 param); internal static CombinerParameteriNV glCombinerParameteriNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerParameterivNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32* @params); internal unsafe static CombinerParameterivNV glCombinerParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, Single* @params); internal unsafe static CombinerStageParameterfvNV glCombinerStageParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompileShader(UInt32 shader); internal static CompileShader glCompileShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompileShaderARB(UInt32 shaderObj); internal static CompileShaderARB glCompileShaderARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexImage1DEXT glCompressedMultiTexImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexImage2DEXT glCompressedMultiTexImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexImage3DEXT glCompressedMultiTexImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexSubImage1DEXT glCompressedMultiTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexSubImage2DEXT glCompressedMultiTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedMultiTexSubImage3DEXT glCompressedMultiTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage1D glCompressedTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage1DARB glCompressedTexImage1DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage2D glCompressedTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage2DARB glCompressedTexImage2DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage3D glCompressedTexImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); internal static CompressedTexImage3DARB glCompressedTexImage3DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage1D glCompressedTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage1DARB glCompressedTexSubImage1DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage2D glCompressedTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage2DARB glCompressedTexSubImage2DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage3D glCompressedTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTexSubImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); internal static CompressedTexSubImage3DARB glCompressedTexSubImage3DARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedTextureImage1DEXT glCompressedTextureImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedTextureImage2DEXT glCompressedTextureImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits); internal static CompressedTextureImage3DEXT glCompressedTextureImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedTextureSubImage1DEXT glCompressedTextureSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedTextureSubImage2DEXT glCompressedTextureSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CompressedTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); internal static CompressedTextureSubImage3DEXT glCompressedTextureSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); internal static ConvolutionFilter1D glConvolutionFilter1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); internal static ConvolutionFilter1DEXT glConvolutionFilter1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); internal static ConvolutionFilter2D glConvolutionFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); internal static ConvolutionFilter2DEXT glConvolutionFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameterf(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single @params); internal static ConvolutionParameterf glConvolutionParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameterfEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single @params); internal static ConvolutionParameterfEXT glConvolutionParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single* @params); internal unsafe static ConvolutionParameterfv glConvolutionParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single* @params); internal unsafe static ConvolutionParameterfvEXT glConvolutionParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameteri(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32 @params); internal static ConvolutionParameteri glConvolutionParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ConvolutionParameteriEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32 @params); internal static ConvolutionParameteriEXT glConvolutionParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32* @params); internal unsafe static ConvolutionParameteriv glConvolutionParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32* @params); internal unsafe static ConvolutionParameterivEXT glConvolutionParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyBufferSubData(OpenTK.Graphics.BufferTarget readTarget, OpenTK.Graphics.BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size); internal static CopyBufferSubData glCopyBufferSubData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width); internal static CopyColorSubTable glCopyColorSubTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width); internal static CopyColorSubTableEXT glCopyColorSubTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); internal static CopyColorTable glCopyColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); internal static CopyColorTableSGI glCopyColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); internal static CopyConvolutionFilter1D glCopyConvolutionFilter1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); internal static CopyConvolutionFilter1DEXT glCopyConvolutionFilter1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyConvolutionFilter2D glCopyConvolutionFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyConvolutionFilter2DEXT glCopyConvolutionFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyMultiTexImage1DEXT glCopyMultiTexImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyMultiTexImage2DEXT glCopyMultiTexImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyMultiTexSubImage1DEXT glCopyMultiTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyMultiTexSubImage2DEXT glCopyMultiTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyMultiTexSubImage3DEXT glCopyMultiTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelCopyType type); internal static CopyPixels glCopyPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyTexImage1D glCopyTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyTexImage1DEXT glCopyTexImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyTexImage2D glCopyTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyTexImage2DEXT glCopyTexImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyTexSubImage1D glCopyTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyTexSubImage1DEXT glCopyTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage2D glCopyTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage2DEXT glCopyTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage3D glCopyTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTexSubImage3DEXT glCopyTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border); internal static CopyTextureImage1DEXT glCopyTextureImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); internal static CopyTextureImage2DEXT glCopyTextureImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); internal static CopyTextureSubImage1DEXT glCopyTextureSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTextureSubImage2DEXT glCopyTextureSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CopyTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); internal static CopyTextureSubImage3DEXT glCopyTextureSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateProgram(); internal static CreateProgram glCreateProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateProgramObjectARB(); internal static CreateProgramObjectARB glCreateProgramObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateShader(OpenTK.Graphics.ShaderType type); internal static CreateShader glCreateShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 CreateShaderObjectARB(OpenTK.Graphics.ArbShaderObjects shaderType); internal static CreateShaderObjectARB glCreateShaderObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CullFace(OpenTK.Graphics.CullFaceMode mode); internal static CullFace glCullFace; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CullParameterdvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Double* @params); internal unsafe static CullParameterdvEXT glCullParameterdvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void CullParameterfvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Single* @params); internal unsafe static CullParameterfvEXT glCullParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void CurrentPaletteMatrixARB(Int32 index); internal static CurrentPaletteMatrixARB glCurrentPaletteMatrixARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeformationMap3dSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points); internal unsafe static DeformationMap3dSGIX glDeformationMap3dSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeformationMap3fSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points); internal unsafe static DeformationMap3fSGIX glDeformationMap3fSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeformSGIX(UInt32 mask); internal static DeformSGIX glDeformSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range); internal static DeleteAsyncMarkersSGIX glDeleteAsyncMarkersSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteBuffers(Int32 n, UInt32* buffers); internal unsafe static DeleteBuffers glDeleteBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteBuffersARB(Int32 n, UInt32* buffers); internal unsafe static DeleteBuffersARB glDeleteBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFencesAPPLE(Int32 n, UInt32* fences); internal unsafe static DeleteFencesAPPLE glDeleteFencesAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFencesNV(Int32 n, UInt32* fences); internal unsafe static DeleteFencesNV glDeleteFencesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteFragmentShaderATI(UInt32 id); internal static DeleteFragmentShaderATI glDeleteFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFramebuffers(Int32 n, UInt32* framebuffers); internal unsafe static DeleteFramebuffers glDeleteFramebuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers); internal unsafe static DeleteFramebuffersEXT glDeleteFramebuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteLists(UInt32 list, Int32 range); internal static DeleteLists glDeleteLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteObjectARB(UInt32 obj); internal static DeleteObjectARB glDeleteObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids); internal unsafe static DeleteOcclusionQueriesNV glDeleteOcclusionQueriesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeletePerfMonitorsAMD(Int32 n, [Out] UInt32* monitors); internal unsafe static DeletePerfMonitorsAMD glDeletePerfMonitorsAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteProgram(UInt32 program); internal static DeleteProgram glDeleteProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteProgramsARB(Int32 n, UInt32* programs); internal unsafe static DeleteProgramsARB glDeleteProgramsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteProgramsNV(Int32 n, UInt32* programs); internal unsafe static DeleteProgramsNV glDeleteProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteQueries(Int32 n, UInt32* ids); internal unsafe static DeleteQueries glDeleteQueries; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteQueriesARB(Int32 n, UInt32* ids); internal unsafe static DeleteQueriesARB glDeleteQueriesARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers); internal unsafe static DeleteRenderbuffers glDeleteRenderbuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers); internal unsafe static DeleteRenderbuffersEXT glDeleteRenderbuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteShader(UInt32 shader); internal static DeleteShader glDeleteShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteSync(IntPtr sync); internal static DeleteSync glDeleteSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteTextures(Int32 n, UInt32* textures); internal unsafe static DeleteTextures glDeleteTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteTexturesEXT(Int32 n, UInt32* textures); internal unsafe static DeleteTexturesEXT glDeleteTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteTransformFeedbacksNV(Int32 n, UInt32* ids); internal unsafe static DeleteTransformFeedbacksNV glDeleteTransformFeedbacksNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteVertexArrays(Int32 n, UInt32* arrays); internal unsafe static DeleteVertexArrays glDeleteVertexArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays); internal unsafe static DeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteVertexShaderEXT(UInt32 id); internal static DeleteVertexShaderEXT glDeleteVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthBoundsdNV(Double zmin, Double zmax); internal static DepthBoundsdNV glDepthBoundsdNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthBoundsEXT(Double zmin, Double zmax); internal static DepthBoundsEXT glDepthBoundsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthFunc(OpenTK.Graphics.DepthFunction func); internal static DepthFunc glDepthFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthMask(bool flag); internal static DepthMask glDepthMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthRange(Double near, Double far); internal static DepthRange glDepthRange; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DepthRangedNV(Double zNear, Double zFar); internal static DepthRangedNV glDepthRangedNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj); internal static DetachObjectARB glDetachObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DetachShader(UInt32 program, UInt32 shader); internal static DetachShader glDetachShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points); internal unsafe static DetailTexFuncSGIS glDetailTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Disable(OpenTK.Graphics.EnableCap cap); internal static Disable glDisable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableClientState(OpenTK.Graphics.EnableCap array); internal static DisableClientState glDisableClientState; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index); internal static DisableClientStateIndexedEXT glDisableClientStateIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Disablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); internal static Disablei glDisablei; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); internal static DisableIndexedEXT glDisableIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVariantClientStateEXT(UInt32 id); internal static DisableVariantClientStateEXT glDisableVariantClientStateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); internal static DisableVertexAttribAPPLE glDisableVertexAttribAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVertexAttribArray(UInt32 index); internal static DisableVertexAttribArray glDisableVertexAttribArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DisableVertexAttribArrayARB(UInt32 index); internal static DisableVertexAttribArrayARB glDisableVertexAttribArrayARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArrays(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); internal static DrawArrays glDrawArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysEXT(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); internal static DrawArraysEXT glDrawArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysInstanced(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount); internal static DrawArraysInstanced glDrawArraysInstanced; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount); internal static DrawArraysInstancedARB glDrawArraysInstancedARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawArraysInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 start, Int32 count, Int32 primcount); internal static DrawArraysInstancedEXT glDrawArraysInstancedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawBuffer(OpenTK.Graphics.DrawBufferMode mode); internal static DrawBuffer glDrawBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffers(Int32 n, OpenTK.Graphics.DrawBuffersEnum* bufs); internal unsafe static DrawBuffers glDrawBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffersARB(Int32 n, OpenTK.Graphics.ArbDrawBuffers* bufs); internal unsafe static DrawBuffersARB glDrawBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void DrawBuffersATI(Int32 n, OpenTK.Graphics.AtiDrawBuffers* bufs); internal unsafe static DrawBuffersATI glDrawBuffersATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); internal static DrawElementArrayAPPLE glDrawElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementArrayATI(OpenTK.Graphics.BeginMode mode, Int32 count); internal static DrawElementArrayATI glDrawElementArrayATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElements(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); internal static DrawElements glDrawElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex); internal static DrawElementsBaseVertex glDrawElementsBaseVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsInstanced(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); internal static DrawElementsInstanced glDrawElementsInstanced; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); internal static DrawElementsInstancedARB glDrawElementsInstancedARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsInstancedBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex); internal static DrawElementsInstancedBaseVertex glDrawElementsInstancedBaseVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawElementsInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); internal static DrawElementsInstancedEXT glDrawElementsInstancedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawMeshArraysSUN(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 width); internal static DrawMeshArraysSUN glDrawMeshArraysSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawPixels(Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static DrawPixels glDrawPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count); internal static DrawRangeElementArrayAPPLE glDrawRangeElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementArrayATI(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count); internal static DrawRangeElementArrayATI glDrawRangeElementArrayATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElements(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); internal static DrawRangeElements glDrawRangeElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex); internal static DrawRangeElementsBaseVertex glDrawRangeElementsBaseVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawRangeElementsEXT(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); internal static DrawRangeElementsEXT glDrawRangeElementsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DrawTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 mode, UInt32 id); internal static DrawTransformFeedbackNV glDrawTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EdgeFlag(bool flag); internal static EdgeFlag glEdgeFlag; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EdgeFlagPointer(Int32 stride, IntPtr pointer); internal static EdgeFlagPointer glEdgeFlagPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagPointerEXT(Int32 stride, Int32 count, bool* pointer); internal unsafe static EdgeFlagPointerEXT glEdgeFlagPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagPointerListIBM(Int32 stride, bool* pointer, Int32 ptrstride); internal unsafe static EdgeFlagPointerListIBM glEdgeFlagPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EdgeFlagv(bool* flag); internal unsafe static EdgeFlagv glEdgeFlagv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ElementPointerAPPLE(OpenTK.Graphics.AppleElementArray type, IntPtr pointer); internal static ElementPointerAPPLE glElementPointerAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ElementPointerATI(OpenTK.Graphics.AtiElementArray type, IntPtr pointer); internal static ElementPointerATI glElementPointerATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Enable(OpenTK.Graphics.EnableCap cap); internal static Enable glEnable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableClientState(OpenTK.Graphics.EnableCap array); internal static EnableClientState glEnableClientState; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index); internal static EnableClientStateIndexedEXT glEnableClientStateIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Enablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); internal static Enablei glEnablei; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); internal static EnableIndexedEXT glEnableIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVariantClientStateEXT(UInt32 id); internal static EnableVariantClientStateEXT glEnableVariantClientStateEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); internal static EnableVertexAttribAPPLE glEnableVertexAttribAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVertexAttribArray(UInt32 index); internal static EnableVertexAttribArray glEnableVertexAttribArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EnableVertexAttribArrayARB(UInt32 index); internal static EnableVertexAttribArrayARB glEnableVertexAttribArrayARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void End(); internal static End glEnd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndConditionalRender(); internal static EndConditionalRender glEndConditionalRender; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndConditionalRenderNV(); internal static EndConditionalRenderNV glEndConditionalRenderNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndFragmentShaderATI(); internal static EndFragmentShaderATI glEndFragmentShaderATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndList(); internal static EndList glEndList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndOcclusionQueryNV(); internal static EndOcclusionQueryNV glEndOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndPerfMonitorAMD(UInt32 monitor); internal static EndPerfMonitorAMD glEndPerfMonitorAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndQuery(OpenTK.Graphics.QueryTarget target); internal static EndQuery glEndQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndQueryARB(OpenTK.Graphics.ArbOcclusionQuery target); internal static EndQueryARB glEndQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndTransformFeedback(); internal static EndTransformFeedback glEndTransformFeedback; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndTransformFeedbackEXT(); internal static EndTransformFeedbackEXT glEndTransformFeedbackEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndTransformFeedbackNV(); internal static EndTransformFeedbackNV glEndTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndVertexShaderEXT(); internal static EndVertexShaderEXT glEndVertexShaderEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord1d(Double u); internal static EvalCoord1d glEvalCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord1dv(Double* u); internal unsafe static EvalCoord1dv glEvalCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord1f(Single u); internal static EvalCoord1f glEvalCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord1fv(Single* u); internal unsafe static EvalCoord1fv glEvalCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord2d(Double u, Double v); internal static EvalCoord2d glEvalCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord2dv(Double* u); internal unsafe static EvalCoord2dv glEvalCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalCoord2f(Single u, Single v); internal static EvalCoord2f glEvalCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void EvalCoord2fv(Single* u); internal unsafe static EvalCoord2fv glEvalCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMapsNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators mode); internal static EvalMapsNV glEvalMapsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMesh1(OpenTK.Graphics.MeshMode1 mode, Int32 i1, Int32 i2); internal static EvalMesh1 glEvalMesh1; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalMesh2(OpenTK.Graphics.MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2); internal static EvalMesh2 glEvalMesh2; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalPoint1(Int32 i); internal static EvalPoint1 glEvalPoint1; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EvalPoint2(Int32 i, Int32 j); internal static EvalPoint2 glEvalPoint2; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ExecuteProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Single* @params); internal unsafe static ExecuteProgramNV glExecuteProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num); internal static ExtractComponentEXT glExtractComponentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FeedbackBuffer(Int32 size, OpenTK.Graphics.FeedbackType type, [Out] Single* buffer); internal unsafe static FeedbackBuffer glFeedbackBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr FenceSync(OpenTK.Graphics.ArbSync condition, UInt32 flags); internal static FenceSync glFenceSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinalCombinerInputNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage); internal static FinalCombinerInputNV glFinalCombinerInputNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Finish(); internal static Finish glFinish; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 FinishAsyncSGIX([Out] UInt32* markerp); internal unsafe static FinishAsyncSGIX glFinishAsyncSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishFenceAPPLE(UInt32 fence); internal static FinishFenceAPPLE glFinishFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishFenceNV(UInt32 fence); internal static FinishFenceNV glFinishFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishObjectAPPLE(OpenTK.Graphics.AppleFence @object, Int32 name); internal static FinishObjectAPPLE glFinishObjectAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FinishTextureSUNX(); internal static FinishTextureSUNX glFinishTextureSUNX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Flush(); internal static Flush glFlush; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushMappedBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length); internal static FlushMappedBufferRange glFlushMappedBufferRange; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushMappedBufferRangeAPPLE(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size); internal static FlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushPixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target); internal static FlushPixelDataRangeNV glFlushPixelDataRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushRasterSGIX(); internal static FlushRasterSGIX glFlushRasterSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); internal static FlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FlushVertexArrayRangeNV(); internal static FlushVertexArrayRangeNV glFlushVertexArrayRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordd(Double coord); internal static FogCoordd glFogCoordd; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoorddEXT(Double coord); internal static FogCoorddEXT glFogCoorddEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoorddv(Double* coord); internal unsafe static FogCoorddv glFogCoorddv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoorddvEXT(Double* coord); internal unsafe static FogCoorddvEXT glFogCoorddvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordf(Single coord); internal static FogCoordf glFogCoordf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordfEXT(Single coord); internal static FogCoordfEXT glFogCoordfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordfv(Single* coord); internal unsafe static FogCoordfv glFogCoordfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordfvEXT(Single* coord); internal unsafe static FogCoordfvEXT glFogCoordfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordhNV(OpenTK.Half fog); internal static FogCoordhNV glFogCoordhNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogCoordhvNV(OpenTK.Half* fog); internal unsafe static FogCoordhvNV glFogCoordhvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointer(OpenTK.Graphics.FogPointerType type, Int32 stride, IntPtr pointer); internal static FogCoordPointer glFogCoordPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointerEXT(OpenTK.Graphics.ExtFogCoord type, Int32 stride, IntPtr pointer); internal static FogCoordPointerEXT glFogCoordPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FogCoordPointerListIBM(OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static FogCoordPointerListIBM glFogCoordPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Fogf(OpenTK.Graphics.FogParameter pname, Single param); internal static Fogf glFogf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FogFuncSGIS(Int32 n, Single* points); internal unsafe static FogFuncSGIS glFogFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Fogfv(OpenTK.Graphics.FogParameter pname, Single* @params); internal unsafe static Fogfv glFogfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Fogi(OpenTK.Graphics.FogParameter pname, Int32 param); internal static Fogi glFogi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Fogiv(OpenTK.Graphics.FogParameter pname, Int32* @params); internal unsafe static Fogiv glFogiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentColorMaterialSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode); internal static FragmentColorMaterialSGIX glFragmentColorMaterialSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightfSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single param); internal static FragmentLightfSGIX glFragmentLightfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single* @params); internal unsafe static FragmentLightfvSGIX glFragmentLightfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightiSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); internal static FragmentLightiSGIX glFragmentLightiSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params); internal unsafe static FragmentLightivSGIX glFragmentLightivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightModelfSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single param); internal static FragmentLightModelfSGIX glFragmentLightModelfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightModelfvSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single* @params); internal unsafe static FragmentLightModelfvSGIX glFragmentLightModelfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentLightModeliSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); internal static FragmentLightModeliSGIX glFragmentLightModeliSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentLightModelivSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params); internal unsafe static FragmentLightModelivSGIX glFragmentLightModelivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentMaterialfSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param); internal static FragmentMaterialfSGIX glFragmentMaterialfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params); internal unsafe static FragmentMaterialfvSGIX glFragmentMaterialfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FragmentMaterialiSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param); internal static FragmentMaterialiSGIX glFragmentMaterialiSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params); internal unsafe static FragmentMaterialivSGIX glFragmentMaterialivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferDrawBufferEXT(UInt32 framebuffer, OpenTK.Graphics.DrawBufferMode mode); internal static FramebufferDrawBufferEXT glFramebufferDrawBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.DrawBufferMode* bufs); internal unsafe static FramebufferDrawBuffersEXT glFramebufferDrawBuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.ReadBufferMode mode); internal static FramebufferReadBufferEXT glFramebufferReadBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferRenderbuffer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); internal static FramebufferRenderbuffer glFramebufferRenderbuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferRenderbufferEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); internal static FramebufferRenderbufferEXT glFramebufferRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level); internal static FramebufferTexture glFramebufferTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture1D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static FramebufferTexture1D glFramebufferTexture1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture1DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static FramebufferTexture1DEXT glFramebufferTexture1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture2D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static FramebufferTexture2D glFramebufferTexture2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture2DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static FramebufferTexture2DEXT glFramebufferTexture2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture3D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); internal static FramebufferTexture3D glFramebufferTexture3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTexture3DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); internal static FramebufferTexture3DEXT glFramebufferTexture3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); internal static FramebufferTextureARB glFramebufferTextureARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); internal static FramebufferTextureEXT glFramebufferTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureFace(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level, OpenTK.Graphics.Version32 face); internal static FramebufferTextureFace glFramebufferTextureFace; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureFaceARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); internal static FramebufferTextureFaceARB glFramebufferTextureFaceARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureFaceEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); internal static FramebufferTextureFaceEXT glFramebufferTextureFaceEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureLayer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); internal static FramebufferTextureLayer glFramebufferTextureLayer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureLayerARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); internal static FramebufferTextureLayerARB glFramebufferTextureLayerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FramebufferTextureLayerEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); internal static FramebufferTextureLayerEXT glFramebufferTextureLayerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FrameTerminatorGREMEDY(); internal static FrameTerminatorGREMEDY glFrameTerminatorGREMEDY; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FrameZoomSGIX(Int32 factor); internal static FrameZoomSGIX glFrameZoomSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FreeObjectBufferATI(UInt32 buffer); internal static FreeObjectBufferATI glFreeObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FrontFace(OpenTK.Graphics.FrontFaceDirection mode); internal static FrontFace glFrontFace; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static Frustum glFrustum; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenAsyncMarkersSGIX(Int32 range); internal static GenAsyncMarkersSGIX glGenAsyncMarkersSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenBuffers(Int32 n, [Out] UInt32* buffers); internal unsafe static GenBuffers glGenBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenBuffersARB(Int32 n, [Out] UInt32* buffers); internal unsafe static GenBuffersARB glGenBuffersARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GenerateMipmap(OpenTK.Graphics.GenerateMipmapTarget target); internal static GenerateMipmap glGenerateMipmap; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GenerateMipmapEXT(OpenTK.Graphics.GenerateMipmapTarget target); internal static GenerateMipmapEXT glGenerateMipmapEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GenerateMultiTexMipmapEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target); internal static GenerateMultiTexMipmapEXT glGenerateMultiTexMipmapEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GenerateTextureMipmapEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target); internal static GenerateTextureMipmapEXT glGenerateTextureMipmapEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFencesAPPLE(Int32 n, [Out] UInt32* fences); internal unsafe static GenFencesAPPLE glGenFencesAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFencesNV(Int32 n, [Out] UInt32* fences); internal unsafe static GenFencesNV glGenFencesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenFragmentShadersATI(UInt32 range); internal static GenFragmentShadersATI glGenFragmentShadersATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers); internal unsafe static GenFramebuffers glGenFramebuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers); internal unsafe static GenFramebuffersEXT glGenFramebuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenLists(Int32 range); internal static GenLists glGenLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids); internal unsafe static GenOcclusionQueriesNV glGenOcclusionQueriesNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenPerfMonitorsAMD(Int32 n, [Out] UInt32* monitors); internal unsafe static GenPerfMonitorsAMD glGenPerfMonitorsAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenProgramsARB(Int32 n, [Out] UInt32* programs); internal unsafe static GenProgramsARB glGenProgramsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenProgramsNV(Int32 n, [Out] UInt32* programs); internal unsafe static GenProgramsNV glGenProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenQueries(Int32 n, [Out] UInt32* ids); internal unsafe static GenQueries glGenQueries; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenQueriesARB(Int32 n, [Out] UInt32* ids); internal unsafe static GenQueriesARB glGenQueriesARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers); internal unsafe static GenRenderbuffers glGenRenderbuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers); internal unsafe static GenRenderbuffersEXT glGenRenderbuffersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenSymbolsEXT(OpenTK.Graphics.ExtVertexShader datatype, OpenTK.Graphics.ExtVertexShader storagetype, OpenTK.Graphics.ExtVertexShader range, UInt32 components); internal static GenSymbolsEXT glGenSymbolsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenTextures(Int32 n, [Out] UInt32* textures); internal unsafe static GenTextures glGenTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenTexturesEXT(Int32 n, [Out] UInt32* textures); internal unsafe static GenTexturesEXT glGenTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenTransformFeedbacksNV(Int32 n, [Out] UInt32* ids); internal unsafe static GenTransformFeedbacksNV glGenTransformFeedbacksNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenVertexArrays(Int32 n, [Out] UInt32* arrays); internal unsafe static GenVertexArrays glGenVertexArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays); internal unsafe static GenVertexArraysAPPLE glGenVertexArraysAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GenVertexShadersEXT(UInt32 range); internal static GenVertexShadersEXT glGenVertexShadersEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveAttrib glGetActiveAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbVertexShader* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveAttribARB glGetActiveAttribARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveUniformType* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveUniform glGetActiveUniform; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbShaderObjects* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveUniformARB glGetActiveUniformARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformBlockiv(UInt32 program, UInt32 uniformBlockIndex, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params); internal unsafe static GetActiveUniformBlockiv glGetActiveUniformBlockiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName); internal unsafe static GetActiveUniformBlockName glGetActiveUniformBlockName; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName); internal unsafe static GetActiveUniformName glGetActiveUniformName; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveUniformsiv(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params); internal unsafe static GetActiveUniformsiv glGetActiveUniformsiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.NvTransformFeedback* type, [Out] System.Text.StringBuilder name); internal unsafe static GetActiveVaryingNV glGetActiveVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetArrayObjectfvATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); internal unsafe static GetArrayObjectfvATI glGetArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetArrayObjectivATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); internal unsafe static GetArrayObjectivATI glGetArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); internal unsafe static GetAttachedObjectsARB glGetAttachedObjectsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); internal unsafe static GetAttachedShaders glGetAttachedShaders; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetAttribLocation(UInt32 program, String name); internal static GetAttribLocation glGetAttribLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetAttribLocationARB(UInt32 programObj, String name); internal static GetAttribLocationARB glGetAttribLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBooleani_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] bool* data); internal unsafe static GetBooleani_v glGetBooleani_v; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBooleanIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] bool* data); internal unsafe static GetBooleanIndexedvEXT glGetBooleanIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBooleanv(OpenTK.Graphics.GetPName pname, [Out] bool* @params); internal unsafe static GetBooleanv glGetBooleanv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBufferParameteri64v(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 pname, [Out] Int64* @params); internal unsafe static GetBufferParameteri64v glGetBufferParameteri64v; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBufferParameteriv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterName pname, [Out] Int32* @params); internal unsafe static GetBufferParameteriv glGetBufferParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetBufferParameterivARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferParameterNameArb pname, [Out] Int32* @params); internal unsafe static GetBufferParameterivARB glGetBufferParameterivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferPointerv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferPointer pname, [Out] IntPtr @params); internal static GetBufferPointerv glGetBufferPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferPointervARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferPointerNameArb pname, [Out] IntPtr @params); internal static GetBufferPointervARB glGetBufferPointervARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data); internal static GetBufferSubData glGetBufferSubData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetBufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data); internal static GetBufferSubDataARB glGetBufferSubDataARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetClipPlane(OpenTK.Graphics.ClipPlaneName plane, [Out] Double* equation); internal unsafe static GetClipPlane glGetClipPlane; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table); internal static GetColorTable glGetColorTable; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr data); internal static GetColorTableEXT glGetColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfv glGetColorTableParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfvEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfvEXT glGetColorTableParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Single* @params); internal unsafe static GetColorTableParameterfvSGI glGetColorTableParameterfvSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params); internal unsafe static GetColorTableParameteriv glGetColorTableParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterivEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params); internal unsafe static GetColorTableParameterivEXT glGetColorTableParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Int32* @params); internal unsafe static GetColorTableParameterivSGI glGetColorTableParameterivSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table); internal static GetColorTableSGI glGetColorTableSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); internal unsafe static GetCombinerInputParameterfvNV glGetCombinerInputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); internal unsafe static GetCombinerInputParameterivNV glGetCombinerInputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerOutputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); internal unsafe static GetCombinerOutputParameterfvNV glGetCombinerOutputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerOutputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); internal unsafe static GetCombinerOutputParameterivNV glGetCombinerOutputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetCombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, [Out] Single* @params); internal unsafe static GetCombinerStageParameterfvNV glGetCombinerStageParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img); internal static GetCompressedMultiTexImageEXT glGetCompressedMultiTexImageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img); internal static GetCompressedTexImage glGetCompressedTexImage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedTexImageARB(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img); internal static GetCompressedTexImageARB glGetCompressedTexImageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetCompressedTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img); internal static GetCompressedTextureImageEXT glGetCompressedTextureImageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetConvolutionFilter(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image); internal static GetConvolutionFilter glGetConvolutionFilter; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetConvolutionFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image); internal static GetConvolutionFilterEXT glGetConvolutionFilterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); internal unsafe static GetConvolutionParameterfv glGetConvolutionParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Single* @params); internal unsafe static GetConvolutionParameterfvEXT glGetConvolutionParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); internal unsafe static GetConvolutionParameteriv glGetConvolutionParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Int32* @params); internal unsafe static GetConvolutionParameterivEXT glGetConvolutionParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetDetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points); internal unsafe static GetDetailTexFuncSGIS glGetDetailTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetDoubleIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* data); internal unsafe static GetDoubleIndexedvEXT glGetDoubleIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetDoublev(OpenTK.Graphics.GetPName pname, [Out] Double* @params); internal unsafe static GetDoublev glGetDoublev; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate OpenTK.Graphics.ErrorCode GetError(); internal static GetError glGetError; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFenceivNV(UInt32 fence, OpenTK.Graphics.NvFence pname, [Out] Int32* @params); internal unsafe static GetFenceivNV glGetFenceivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFinalCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); internal unsafe static GetFinalCombinerInputParameterfvNV glGetFinalCombinerInputParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFinalCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); internal unsafe static GetFinalCombinerInputParameterivNV glGetFinalCombinerInputParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFloatIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* data); internal unsafe static GetFloatIndexedvEXT glGetFloatIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFloatv(OpenTK.Graphics.GetPName pname, [Out] Single* @params); internal unsafe static GetFloatv glGetFloatv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFogFuncSGIS([Out] Single* points); internal unsafe static GetFogFuncSGIS glGetFogFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetFragDataLocation(UInt32 program, String name); internal static GetFragDataLocation glGetFragDataLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetFragDataLocationEXT(UInt32 program, String name); internal static GetFragDataLocationEXT glGetFragDataLocationEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Single* @params); internal unsafe static GetFragmentLightfvSGIX glGetFragmentLightfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Int32* @params); internal unsafe static GetFragmentLightivSGIX glGetFragmentLightivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params); internal unsafe static GetFragmentMaterialfvSGIX glGetFragmentMaterialfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params); internal unsafe static GetFragmentMaterialivSGIX glGetFragmentMaterialivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFramebufferAttachmentParameteriv(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params); internal unsafe static GetFramebufferAttachmentParameteriv glGetFramebufferAttachmentParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params); internal unsafe static GetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); internal unsafe static GetFramebufferParameterivEXT glGetFramebufferParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetHandleARB(OpenTK.Graphics.ArbShaderObjects pname); internal static GetHandleARB glGetHandleARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetHistogram(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); internal static GetHistogram glGetHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetHistogramEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); internal static GetHistogramEXT glGetHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); internal unsafe static GetHistogramParameterfv glGetHistogramParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params); internal unsafe static GetHistogramParameterfvEXT glGetHistogramParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); internal unsafe static GetHistogramParameteriv glGetHistogramParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetHistogramParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params); internal unsafe static GetHistogramParameterivEXT glGetHistogramParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Single* @params); internal unsafe static GetImageTransformParameterfvHP glGetImageTransformParameterfvHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Int32* @params); internal unsafe static GetImageTransformParameterivHP glGetImageTransformParameterivHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetInfoLogARB glGetInfoLogARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetInstrumentsSGIX(); internal static GetInstrumentsSGIX glGetInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInteger64i_v(OpenTK.Graphics.Version32 target, UInt32 index, [Out] Int64* data); internal unsafe static GetInteger64i_v glGetInteger64i_v; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInteger64v(OpenTK.Graphics.ArbSync pname, [Out] Int64* @params); internal unsafe static GetInteger64v glGetInteger64v; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetIntegeri_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] Int32* data); internal unsafe static GetIntegeri_v glGetIntegeri_v; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetIntegerIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data); internal unsafe static GetIntegerIndexedvEXT glGetIntegerIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetIntegerv(OpenTK.Graphics.GetPName pname, [Out] Int32* @params); internal unsafe static GetIntegerv glGetIntegerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); internal unsafe static GetInvariantBooleanvEXT glGetInvariantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); internal unsafe static GetInvariantFloatvEXT glGetInvariantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetInvariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); internal unsafe static GetInvariantIntegervEXT glGetInvariantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Single* @params); internal unsafe static GetLightfv glGetLightfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Int32* @params); internal unsafe static GetLightiv glGetLightiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Single* @params); internal unsafe static GetListParameterfvSGIX glGetListParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Int32* @params); internal unsafe static GetListParameterivSGIX glGetListParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); internal unsafe static GetLocalConstantBooleanvEXT glGetLocalConstantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); internal unsafe static GetLocalConstantFloatvEXT glGetLocalConstantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetLocalConstantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); internal unsafe static GetLocalConstantIntegervEXT glGetLocalConstantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapAttribParameterfvNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params); internal unsafe static GetMapAttribParameterfvNV glGetMapAttribParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapAttribParameterivNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params); internal unsafe static GetMapAttribParameterivNV glGetMapAttribParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points); internal static GetMapControlPointsNV glGetMapControlPointsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapdv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Double* v); internal unsafe static GetMapdv glGetMapdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapfv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Single* v); internal unsafe static GetMapfv glGetMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapiv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Int32* v); internal unsafe static GetMapiv glGetMapiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params); internal unsafe static GetMapParameterfvNV glGetMapParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params); internal unsafe static GetMapParameterivNV glGetMapParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMaterialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params); internal unsafe static GetMaterialfv glGetMaterialfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMaterialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params); internal unsafe static GetMaterialiv glGetMaterialiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMinmax(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); internal static GetMinmax glGetMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMinmaxEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); internal static GetMinmaxEXT glGetMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); internal unsafe static GetMinmaxParameterfv glGetMinmaxParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params); internal unsafe static GetMinmaxParameterfvEXT glGetMinmaxParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); internal unsafe static GetMinmaxParameteriv glGetMinmaxParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMinmaxParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params); internal unsafe static GetMinmaxParameterivEXT glGetMinmaxParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultisamplefv(OpenTK.Graphics.ArbTextureMultisample pname, UInt32 index, [Out] Single* val); internal unsafe static GetMultisamplefv glGetMultisamplefv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultisamplefvNV(OpenTK.Graphics.NvExplicitMultisample pname, UInt32 index, [Out] Single* val); internal unsafe static GetMultisamplefvNV glGetMultisamplefvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params); internal unsafe static GetMultiTexEnvfvEXT glGetMultiTexEnvfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params); internal unsafe static GetMultiTexEnvivEXT glGetMultiTexEnvivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params); internal unsafe static GetMultiTexGendvEXT glGetMultiTexGendvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params); internal unsafe static GetMultiTexGenfvEXT glGetMultiTexGenfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params); internal unsafe static GetMultiTexGenivEXT glGetMultiTexGenivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); internal static GetMultiTexImageEXT glGetMultiTexImageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexLevelParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetMultiTexLevelParameterfvEXT glGetMultiTexLevelParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexLevelParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetMultiTexLevelParameterivEXT glGetMultiTexLevelParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetMultiTexParameterfvEXT glGetMultiTexParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetMultiTexParameterIivEXT glGetMultiTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); internal unsafe static GetMultiTexParameterIuivEXT glGetMultiTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetMultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetMultiTexParameterivEXT glGetMultiTexParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedBufferParameterivEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); internal unsafe static GetNamedBufferParameterivEXT glGetNamedBufferParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetNamedBufferPointervEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @params); internal static GetNamedBufferPointervEXT glGetNamedBufferPointervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data); internal static GetNamedBufferSubDataEXT glGetNamedBufferSubDataEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedFramebufferAttachmentParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); internal unsafe static GetNamedFramebufferAttachmentParameterivEXT glGetNamedFramebufferAttachmentParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedProgramivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); internal unsafe static GetNamedProgramivEXT glGetNamedProgramivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedProgramLocalParameterdvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* @params); internal unsafe static GetNamedProgramLocalParameterdvEXT glGetNamedProgramLocalParameterdvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedProgramLocalParameterfvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* @params); internal unsafe static GetNamedProgramLocalParameterfvEXT glGetNamedProgramLocalParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedProgramLocalParameterIivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params); internal unsafe static GetNamedProgramLocalParameterIivEXT glGetNamedProgramLocalParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedProgramLocalParameterIuivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params); internal unsafe static GetNamedProgramLocalParameterIuivEXT glGetNamedProgramLocalParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetNamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @string); internal static GetNamedProgramStringEXT glGetNamedProgramStringEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNamedRenderbufferParameterivEXT(UInt32 renderbuffer, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); internal unsafe static GetNamedRenderbufferParameterivEXT glGetNamedRenderbufferParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectBufferfvATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); internal unsafe static GetObjectBufferfvATI glGetObjectBufferfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectBufferivATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); internal unsafe static GetObjectBufferivATI glGetObjectBufferivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectParameterfvARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Single* @params); internal unsafe static GetObjectParameterfvARB glGetObjectParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectParameterivAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable pname, [Out] Int32* @params); internal unsafe static GetObjectParameterivAPPLE glGetObjectParameterivAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetObjectParameterivARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Int32* @params); internal unsafe static GetObjectParameterivARB glGetObjectParameterivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetOcclusionQueryivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] Int32* @params); internal unsafe static GetOcclusionQueryivNV glGetOcclusionQueryivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetOcclusionQueryuivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] UInt32* @params); internal unsafe static GetOcclusionQueryuivNV glGetOcclusionQueryuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPerfMonitorCounterDataAMD(UInt32 monitor, OpenTK.Graphics.AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten); internal unsafe static GetPerfMonitorCounterDataAMD glGetPerfMonitorCounterDataAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPerfMonitorCounterInfoAMD(UInt32 group, UInt32 counter, OpenTK.Graphics.AmdPerformanceMonitor pname, [Out] IntPtr data); internal static GetPerfMonitorCounterInfoAMD glGetPerfMonitorCounterInfoAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPerfMonitorCountersAMD(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters); internal unsafe static GetPerfMonitorCountersAMD glGetPerfMonitorCountersAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPerfMonitorCounterStringAMD(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString); internal unsafe static GetPerfMonitorCounterStringAMD glGetPerfMonitorCounterStringAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPerfMonitorGroupsAMD([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups); internal unsafe static GetPerfMonitorGroupsAMD glGetPerfMonitorGroupsAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString); internal unsafe static GetPerfMonitorGroupStringAMD glGetPerfMonitorGroupStringAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapfv(OpenTK.Graphics.PixelMap map, [Out] Single* values); internal unsafe static GetPixelMapfv glGetPixelMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapuiv(OpenTK.Graphics.PixelMap map, [Out] UInt32* values); internal unsafe static GetPixelMapuiv glGetPixelMapuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelMapusv(OpenTK.Graphics.PixelMap map, [Out] UInt16* values); internal unsafe static GetPixelMapusv glGetPixelMapusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Single* @params); internal unsafe static GetPixelTexGenParameterfvSGIS glGetPixelTexGenParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Int32* @params); internal unsafe static GetPixelTexGenParameterivSGIS glGetPixelTexGenParameterivSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPointerIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data); internal static GetPointerIndexedvEXT glGetPointerIndexedvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPointerv(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params); internal static GetPointerv glGetPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetPointervEXT(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params); internal static GetPointervEXT glGetPointervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetPolygonStipple([Out] Byte* mask); internal unsafe static GetPolygonStipple glGetPolygonStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params); internal unsafe static GetProgramEnvParameterdvARB glGetProgramEnvParameterdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params); internal unsafe static GetProgramEnvParameterfvARB glGetProgramEnvParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params); internal unsafe static GetProgramEnvParameterIivNV glGetProgramEnvParameterIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramEnvParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params); internal unsafe static GetProgramEnvParameterIuivNV glGetProgramEnvParameterIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetProgramInfoLog glGetProgramInfoLog; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params); internal unsafe static GetProgramiv glGetProgramiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramivARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params); internal unsafe static GetProgramivARB glGetProgramivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramivNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params); internal unsafe static GetProgramivNV glGetProgramivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params); internal unsafe static GetProgramLocalParameterdvARB glGetProgramLocalParameterdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params); internal unsafe static GetProgramLocalParameterfvARB glGetProgramLocalParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params); internal unsafe static GetProgramLocalParameterIivNV glGetProgramLocalParameterIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramLocalParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params); internal unsafe static GetProgramLocalParameterIuivNV glGetProgramLocalParameterIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params); internal unsafe static GetProgramNamedParameterdvNV glGetProgramNamedParameterdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params); internal unsafe static GetProgramNamedParameterfvNV glGetProgramNamedParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramParameterdvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Double* @params); internal unsafe static GetProgramParameterdvNV glGetProgramParameterdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramParameterfvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Single* @params); internal unsafe static GetProgramParameterfvNV glGetProgramParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] IntPtr @string); internal static GetProgramStringARB glGetProgramStringARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetProgramStringNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Byte* program); internal unsafe static GetProgramStringNV glGetProgramStringNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryiv(OpenTK.Graphics.QueryTarget target, OpenTK.Graphics.GetQueryParam pname, [Out] Int32* @params); internal unsafe static GetQueryiv glGetQueryiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryivARB(OpenTK.Graphics.ArbOcclusionQuery target, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params); internal unsafe static GetQueryivARB glGetQueryivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjecti64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] Int64* @params); internal unsafe static GetQueryObjecti64vEXT glGetQueryObjecti64vEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] Int32* @params); internal unsafe static GetQueryObjectiv glGetQueryObjectiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params); internal unsafe static GetQueryObjectivARB glGetQueryObjectivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectui64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] UInt64* @params); internal unsafe static GetQueryObjectui64vEXT glGetQueryObjectui64vEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectuiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] UInt32* @params); internal unsafe static GetQueryObjectuiv glGetQueryObjectuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetQueryObjectuivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] UInt32* @params); internal unsafe static GetQueryObjectuivARB glGetQueryObjectuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetRenderbufferParameteriv(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); internal unsafe static GetRenderbufferParameteriv glGetRenderbufferParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetRenderbufferParameterivEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); internal unsafe static GetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetSeparableFilter(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); internal static GetSeparableFilter glGetSeparableFilter; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetSeparableFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); internal static GetSeparableFilterEXT glGetSeparableFilterEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); internal unsafe static GetShaderInfoLog glGetShaderInfoLog; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderiv(UInt32 shader, OpenTK.Graphics.ShaderParameter pname, [Out] Int32* @params); internal unsafe static GetShaderiv glGetShaderiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source); internal unsafe static GetShaderSource glGetShaderSource; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source); internal unsafe static GetShaderSourceARB glGetShaderSourceARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetSharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points); internal unsafe static GetSharpenTexFuncSGIS glGetSharpenTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetString(OpenTK.Graphics.StringName name); internal static GetString glGetString; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetStringi(OpenTK.Graphics.StringName name, UInt32 index); internal static GetStringi glGetStringi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetSynciv(IntPtr sync, OpenTK.Graphics.ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values); internal unsafe static GetSynciv glGetSynciv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Single* param); internal unsafe static GetTexBumpParameterfvATI glGetTexBumpParameterfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Int32* param); internal unsafe static GetTexBumpParameterivATI glGetTexBumpParameterivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params); internal unsafe static GetTexEnvfv glGetTexEnvfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params); internal unsafe static GetTexEnviv glGetTexEnviv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, [Out] Single* weights); internal unsafe static GetTexFilterFuncSGIS glGetTexFilterFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params); internal unsafe static GetTexGendv glGetTexGendv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params); internal unsafe static GetTexGenfv glGetTexGenfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params); internal unsafe static GetTexGeniv glGetTexGeniv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); internal static GetTexImage glGetTexImage; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexLevelParameterfv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetTexLevelParameterfv glGetTexLevelParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexLevelParameteriv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTexLevelParameteriv glGetTexLevelParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetTexParameterfv glGetTexParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTexParameterIiv glGetTexParameterIiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTexParameterIivEXT glGetTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); internal unsafe static GetTexParameterIuiv glGetTexParameterIuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); internal unsafe static GetTexParameterIuivEXT glGetTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTexParameteriv glGetTexParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetTexParameterPointervAPPLE(OpenTK.Graphics.AppleTextureRange target, OpenTK.Graphics.AppleTextureRange pname, [Out] IntPtr @params); internal static GetTexParameterPointervAPPLE glGetTexParameterPointervAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); internal static GetTextureImageEXT glGetTextureImageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureLevelParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetTextureLevelParameterfvEXT glGetTextureLevelParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureLevelParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTextureLevelParameterivEXT glGetTextureLevelParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); internal unsafe static GetTextureParameterfvEXT glGetTextureParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTextureParameterIivEXT glGetTextureParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); internal unsafe static GetTextureParameterIuivEXT glGetTextureParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); internal unsafe static GetTextureParameterivEXT glGetTextureParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTrackMatrixivNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params); internal unsafe static GetTrackMatrixivNV glGetTrackMatrixivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name); internal unsafe static GetTransformFeedbackVarying glGetTransformFeedbackVarying; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTransformFeedbackVaryingEXT(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ExtTransformFeedback* type, [Out] System.Text.StringBuilder name); internal unsafe static GetTransformFeedbackVaryingEXT glGetTransformFeedbackVaryingEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location); internal unsafe static GetTransformFeedbackVaryingNV glGetTransformFeedbackVaryingNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName); internal static GetUniformBlockIndex glGetUniformBlockIndex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location); internal static GetUniformBufferSizeEXT glGetUniformBufferSizeEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params); internal unsafe static GetUniformfv glGetUniformfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params); internal unsafe static GetUniformfvARB glGetUniformfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices); internal unsafe static GetUniformIndices glGetUniformIndices; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params); internal unsafe static GetUniformiv glGetUniformiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params); internal unsafe static GetUniformivARB glGetUniformivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformLocation(UInt32 program, String name); internal static GetUniformLocation glGetUniformLocation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetUniformLocationARB(UInt32 programObj, String name); internal static GetUniformLocationARB glGetUniformLocationARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location); internal static GetUniformOffsetEXT glGetUniformOffsetEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params); internal unsafe static GetUniformuiv glGetUniformuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params); internal unsafe static GetUniformuivEXT glGetUniformuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantArrayObjectfvATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); internal unsafe static GetVariantArrayObjectfvATI glGetVariantArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantArrayObjectivATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); internal unsafe static GetVariantArrayObjectivATI glGetVariantArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); internal unsafe static GetVariantBooleanvEXT glGetVariantBooleanvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); internal unsafe static GetVariantFloatvEXT glGetVariantFloatvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); internal unsafe static GetVariantIntegervEXT glGetVariantIntegervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVariantPointervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] IntPtr data); internal static GetVariantPointervEXT glGetVariantPointervEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 GetVaryingLocationNV(UInt32 program, String name); internal static GetVaryingLocationNV glGetVaryingLocationNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribArrayObjectfvATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Single* @params); internal unsafe static GetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribArrayObjectivATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Int32* @params); internal unsafe static GetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Double* @params); internal unsafe static GetVertexAttribdv glGetVertexAttribdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Double* @params); internal unsafe static GetVertexAttribdvARB glGetVertexAttribdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribdvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Double* @params); internal unsafe static GetVertexAttribdvNV glGetVertexAttribdvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Single* @params); internal unsafe static GetVertexAttribfv glGetVertexAttribfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Single* @params); internal unsafe static GetVertexAttribfvARB glGetVertexAttribfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribfvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Single* @params); internal unsafe static GetVertexAttribfvNV glGetVertexAttribfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params); internal unsafe static GetVertexAttribIiv glGetVertexAttribIiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] Int32* @params); internal unsafe static GetVertexAttribIivEXT glGetVertexAttribIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIuiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] UInt32* @params); internal unsafe static GetVertexAttribIuiv glGetVertexAttribIuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribIuivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] UInt32* @params); internal unsafe static GetVertexAttribIuivEXT glGetVertexAttribIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params); internal unsafe static GetVertexAttribiv glGetVertexAttribiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribivARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Int32* @params); internal unsafe static GetVertexAttribivARB glGetVertexAttribivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVertexAttribivNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params); internal unsafe static GetVertexAttribivNV glGetVertexAttribivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointerv(UInt32 index, OpenTK.Graphics.VertexAttribPointerType pname, [Out] IntPtr pointer); internal static GetVertexAttribPointerv glGetVertexAttribPointerv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointervARB(UInt32 index, OpenTK.Graphics.VertexAttribPointerParameterArb pname, [Out] IntPtr pointer); internal static GetVertexAttribPointervARB glGetVertexAttribPointervARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GetVertexAttribPointervNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] IntPtr pointer); internal static GetVertexAttribPointervNV glGetVertexAttribPointervNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVideoi64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int64* @params); internal unsafe static GetVideoi64vNV glGetVideoi64vNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVideoivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int32* @params); internal unsafe static GetVideoivNV glGetVideoivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVideoui64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt64* @params); internal unsafe static GetVideoui64vNV glGetVideoui64vNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetVideouivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt32* @params); internal unsafe static GetVideouivNV glGetVideouivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorbSUN(SByte factor); internal static GlobalAlphaFactorbSUN glGlobalAlphaFactorbSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactordSUN(Double factor); internal static GlobalAlphaFactordSUN glGlobalAlphaFactordSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorfSUN(Single factor); internal static GlobalAlphaFactorfSUN glGlobalAlphaFactorfSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactoriSUN(Int32 factor); internal static GlobalAlphaFactoriSUN glGlobalAlphaFactoriSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorsSUN(Int16 factor); internal static GlobalAlphaFactorsSUN glGlobalAlphaFactorsSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorubSUN(Byte factor); internal static GlobalAlphaFactorubSUN glGlobalAlphaFactorubSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactoruiSUN(UInt32 factor); internal static GlobalAlphaFactoruiSUN glGlobalAlphaFactoruiSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void GlobalAlphaFactorusSUN(UInt16 factor); internal static GlobalAlphaFactorusSUN glGlobalAlphaFactorusSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Hint(OpenTK.Graphics.HintTarget target, OpenTK.Graphics.HintMode mode); internal static Hint glHint; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void HintPGI(OpenTK.Graphics.PgiMiscHints target, Int32 mode); internal static HintPGI glHintPGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Histogram(OpenTK.Graphics.Version12Deprecated target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); internal static Histogram glHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void HistogramEXT(OpenTK.Graphics.ExtHistogram target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); internal static HistogramEXT glHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IglooInterfaceSGIX(OpenTK.Graphics.All pname, IntPtr @params); internal static IglooInterfaceSGIX glIglooInterfaceSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ImageTransformParameterfHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single param); internal static ImageTransformParameterfHP glImageTransformParameterfHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single* @params); internal unsafe static ImageTransformParameterfvHP glImageTransformParameterfvHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ImageTransformParameteriHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32 param); internal static ImageTransformParameteriHP glImageTransformParameteriHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32* @params); internal unsafe static ImageTransformParameterivHP glImageTransformParameterivHP; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexd(Double c); internal static Indexd glIndexd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexdv(Double* c); internal unsafe static Indexdv glIndexdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexf(Single c); internal static Indexf glIndexf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexFuncEXT(OpenTK.Graphics.ExtIndexFunc func, Single @ref); internal static IndexFuncEXT glIndexFuncEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexfv(Single* c); internal unsafe static Indexfv glIndexfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexi(Int32 c); internal static Indexi glIndexi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexiv(Int32* c); internal unsafe static Indexiv glIndexiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexMask(UInt32 mask); internal static IndexMask glIndexMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ExtIndexMaterial mode); internal static IndexMaterialEXT glIndexMaterialEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointer(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer); internal static IndexPointer glIndexPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointerEXT(OpenTK.Graphics.IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer); internal static IndexPointerEXT glIndexPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void IndexPointerListIBM(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static IndexPointerListIBM glIndexPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexs(Int16 c); internal static Indexs glIndexs; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexsv(Int16* c); internal unsafe static Indexsv glIndexsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Indexub(Byte c); internal static Indexub glIndexub; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Indexubv(Byte* c); internal unsafe static Indexubv glIndexubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InitNames(); internal static InitNames glInitNames; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num); internal static InsertComponentEXT glInsertComponentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer); internal unsafe static InstrumentsBufferSGIX glInstrumentsBufferSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void InterleavedArrays(OpenTK.Graphics.InterleavedArrayFormat format, Int32 stride, IntPtr pointer); internal static InterleavedArrays glInterleavedArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsAsyncMarkerSGIX(UInt32 marker); internal static IsAsyncMarkerSGIX glIsAsyncMarkerSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsBuffer(UInt32 buffer); internal static IsBuffer glIsBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsBufferARB(UInt32 buffer); internal static IsBufferARB glIsBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsEnabled(OpenTK.Graphics.EnableCap cap); internal static IsEnabled glIsEnabled; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsEnabledi(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); internal static IsEnabledi glIsEnabledi; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsEnabledIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); internal static IsEnabledIndexedEXT glIsEnabledIndexedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsFenceAPPLE(UInt32 fence); internal static IsFenceAPPLE glIsFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsFenceNV(UInt32 fence); internal static IsFenceNV glIsFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsFramebuffer(UInt32 framebuffer); internal static IsFramebuffer glIsFramebuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsFramebufferEXT(UInt32 framebuffer); internal static IsFramebufferEXT glIsFramebufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsList(UInt32 list); internal static IsList glIsList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsObjectBufferATI(UInt32 buffer); internal static IsObjectBufferATI glIsObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsOcclusionQueryNV(UInt32 id); internal static IsOcclusionQueryNV glIsOcclusionQueryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsProgram(UInt32 program); internal static IsProgram glIsProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsProgramARB(UInt32 program); internal static IsProgramARB glIsProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsProgramNV(UInt32 id); internal static IsProgramNV glIsProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsQuery(UInt32 id); internal static IsQuery glIsQuery; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsQueryARB(UInt32 id); internal static IsQueryARB glIsQueryARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsRenderbuffer(UInt32 renderbuffer); internal static IsRenderbuffer glIsRenderbuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsRenderbufferEXT(UInt32 renderbuffer); internal static IsRenderbufferEXT glIsRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsShader(UInt32 shader); internal static IsShader glIsShader; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsSync(IntPtr sync); internal static IsSync glIsSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsTexture(UInt32 texture); internal static IsTexture glIsTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsTextureEXT(UInt32 texture); internal static IsTextureEXT glIsTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsTransformFeedbackNV(UInt32 id); internal static IsTransformFeedbackNV glIsTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsVariantEnabledEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader cap); internal static IsVariantEnabledEXT glIsVariantEnabledEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsVertexArray(UInt32 array); internal static IsVertexArray glIsVertexArray; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsVertexArrayAPPLE(UInt32 array); internal static IsVertexArrayAPPLE glIsVertexArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool IsVertexAttribEnabledAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); internal static IsVertexAttribEnabledAPPLE glIsVertexAttribEnabledAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightEnviSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); internal static LightEnviSGIX glLightEnviSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Lightf(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single param); internal static Lightf glLightf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Lightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single* @params); internal unsafe static Lightfv glLightfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Lighti(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32 param); internal static Lighti glLighti; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Lightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32* @params); internal unsafe static Lightiv glLightiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightModelf(OpenTK.Graphics.LightModelParameter pname, Single param); internal static LightModelf glLightModelf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LightModelfv(OpenTK.Graphics.LightModelParameter pname, Single* @params); internal unsafe static LightModelfv glLightModelfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LightModeli(OpenTK.Graphics.LightModelParameter pname, Int32 param); internal static LightModeli glLightModeli; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LightModeliv(OpenTK.Graphics.LightModelParameter pname, Int32* @params); internal unsafe static LightModeliv glLightModeliv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LineStipple(Int32 factor, UInt16 pattern); internal static LineStipple glLineStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LineWidth(Single width); internal static LineWidth glLineWidth; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LinkProgram(UInt32 program); internal static LinkProgram glLinkProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LinkProgramARB(UInt32 programObj); internal static LinkProgramARB glLinkProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListBase(UInt32 @base); internal static ListBase glListBase; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListParameterfSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single param); internal static ListParameterfSGIX glListParameterfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single* @params); internal unsafe static ListParameterfvSGIX glListParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ListParameteriSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32 param); internal static ListParameteriSGIX glListParameteriSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32* @params); internal unsafe static ListParameterivSGIX glListParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadIdentity(); internal static LoadIdentity glLoadIdentity; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadIdentityDeformationMapSGIX(UInt32 mask); internal static LoadIdentityDeformationMapSGIX glLoadIdentityDeformationMapSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadMatrixd(Double* m); internal unsafe static LoadMatrixd glLoadMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadMatrixf(Single* m); internal unsafe static LoadMatrixf glLoadMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LoadName(UInt32 name); internal static LoadName glLoadName; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program); internal unsafe static LoadProgramNV glLoadProgramNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixd(Double* m); internal unsafe static LoadTransposeMatrixd glLoadTransposeMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixdARB(Double* m); internal unsafe static LoadTransposeMatrixdARB glLoadTransposeMatrixdARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixf(Single* m); internal unsafe static LoadTransposeMatrixf glLoadTransposeMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadTransposeMatrixfARB(Single* m); internal unsafe static LoadTransposeMatrixfARB glLoadTransposeMatrixfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LockArraysEXT(Int32 first, Int32 count); internal static LockArraysEXT glLockArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LogicOp(OpenTK.Graphics.LogicOp opcode); internal static LogicOp glLogicOp; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map1d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points); internal unsafe static Map1d glMap1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map1f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points); internal unsafe static Map1f glMap1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map2d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); internal unsafe static Map2d glMap2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Map2f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); internal unsafe static Map2f glMap2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapBuffer(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferAccess access); internal unsafe static MapBuffer glMapBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapBufferARB(OpenTK.Graphics.BufferTargetArb target, OpenTK.Graphics.ArbVertexBufferObject access); internal unsafe static MapBufferARB glMapBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length, OpenTK.Graphics.BufferAccessMask access); internal unsafe static MapBufferRange glMapBufferRange; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points); internal static MapControlPointsNV glMapControlPointsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid1d(Int32 un, Double u1, Double u2); internal static MapGrid1d glMapGrid1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid1f(Int32 un, Single u1, Single u2); internal static MapGrid1f glMapGrid1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2); internal static MapGrid2d glMapGrid2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2); internal static MapGrid2f glMapGrid2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapNamedBufferEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess access); internal unsafe static MapNamedBufferEXT glMapNamedBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr MapObjectBufferATI(UInt32 buffer); internal unsafe static MapObjectBufferATI glMapObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Single* @params); internal unsafe static MapParameterfvNV glMapParameterfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Int32* @params); internal unsafe static MapParameterivNV glMapParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapVertexAttrib1dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points); internal unsafe static MapVertexAttrib1dAPPLE glMapVertexAttrib1dAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapVertexAttrib1fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points); internal unsafe static MapVertexAttrib1fAPPLE glMapVertexAttrib1fAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapVertexAttrib2dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); internal unsafe static MapVertexAttrib2dAPPLE glMapVertexAttrib2dAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MapVertexAttrib2fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); internal unsafe static MapVertexAttrib2fAPPLE glMapVertexAttrib2fAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Materialf(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param); internal static Materialf glMaterialf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Materialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params); internal unsafe static Materialfv glMaterialfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Materiali(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param); internal static Materiali glMateriali; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Materialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params); internal unsafe static Materialiv glMaterialiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixFrustumEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static MatrixFrustumEXT glMatrixFrustumEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixIndexPointerARB(Int32 size, OpenTK.Graphics.ArbMatrixPalette type, Int32 stride, IntPtr pointer); internal static MatrixIndexPointerARB glMatrixIndexPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexubvARB(Int32 size, Byte* indices); internal unsafe static MatrixIndexubvARB glMatrixIndexubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexuivARB(Int32 size, UInt32* indices); internal unsafe static MatrixIndexuivARB glMatrixIndexuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixIndexusvARB(Int32 size, UInt16* indices); internal unsafe static MatrixIndexusvARB glMatrixIndexusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixLoaddEXT(OpenTK.Graphics.MatrixMode mode, Double* m); internal unsafe static MatrixLoaddEXT glMatrixLoaddEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixLoadfEXT(OpenTK.Graphics.MatrixMode mode, Single* m); internal unsafe static MatrixLoadfEXT glMatrixLoadfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixLoadIdentityEXT(OpenTK.Graphics.MatrixMode mode); internal static MatrixLoadIdentityEXT glMatrixLoadIdentityEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixLoadTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m); internal unsafe static MatrixLoadTransposedEXT glMatrixLoadTransposedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixLoadTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m); internal unsafe static MatrixLoadTransposefEXT glMatrixLoadTransposefEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixMode(OpenTK.Graphics.MatrixMode mode); internal static MatrixMode glMatrixMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixMultdEXT(OpenTK.Graphics.MatrixMode mode, Double* m); internal unsafe static MatrixMultdEXT glMatrixMultdEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixMultfEXT(OpenTK.Graphics.MatrixMode mode, Single* m); internal unsafe static MatrixMultfEXT glMatrixMultfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixMultTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m); internal unsafe static MatrixMultTransposedEXT glMatrixMultTransposedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MatrixMultTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m); internal unsafe static MatrixMultTransposefEXT glMatrixMultTransposefEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixOrthoEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static MatrixOrthoEXT glMatrixOrthoEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixPopEXT(OpenTK.Graphics.MatrixMode mode); internal static MatrixPopEXT glMatrixPopEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixPushEXT(OpenTK.Graphics.MatrixMode mode); internal static MatrixPushEXT glMatrixPushEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixRotatedEXT(OpenTK.Graphics.MatrixMode mode, Double angle, Double x, Double y, Double z); internal static MatrixRotatedEXT glMatrixRotatedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixRotatefEXT(OpenTK.Graphics.MatrixMode mode, Single angle, Single x, Single y, Single z); internal static MatrixRotatefEXT glMatrixRotatefEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixScaledEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z); internal static MatrixScaledEXT glMatrixScaledEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixScalefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z); internal static MatrixScalefEXT glMatrixScalefEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixTranslatedEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z); internal static MatrixTranslatedEXT glMatrixTranslatedEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MatrixTranslatefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z); internal static MatrixTranslatefEXT glMatrixTranslatefEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Minmax(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); internal static Minmax glMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MinmaxEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); internal static MinmaxEXT glMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MinSampleShading(Single value); internal static MinSampleShading glMinSampleShading; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawArrays(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); internal unsafe static MultiDrawArrays glMultiDrawArrays; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawArraysEXT(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); internal unsafe static MultiDrawArraysEXT glMultiDrawArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32* first, Int32* count, Int32 primcount); internal unsafe static MultiDrawElementArrayAPPLE glMultiDrawElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElements(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); internal unsafe static MultiDrawElements glMultiDrawElements; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex); internal unsafe static MultiDrawElementsBaseVertex glMultiDrawElementsBaseVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawElementsEXT(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); internal unsafe static MultiDrawElementsEXT glMultiDrawElementsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiDrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount); internal unsafe static MultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiModeDrawArraysIBM(OpenTK.Graphics.BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride); internal unsafe static MultiModeDrawArraysIBM glMultiModeDrawArraysIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiModeDrawElementsIBM(OpenTK.Graphics.BeginMode* mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride); internal unsafe static MultiModeDrawElementsIBM glMultiModeDrawElementsIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexBufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer); internal static MultiTexBufferEXT glMultiTexBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1d(OpenTK.Graphics.TextureUnit target, Double s); internal static MultiTexCoord1d glMultiTexCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1dARB(OpenTK.Graphics.TextureUnit target, Double s); internal static MultiTexCoord1dARB glMultiTexCoord1dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1dv(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord1dv glMultiTexCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1dvARB(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord1dvARB glMultiTexCoord1dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1f(OpenTK.Graphics.TextureUnit target, Single s); internal static MultiTexCoord1f glMultiTexCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1fARB(OpenTK.Graphics.TextureUnit target, Single s); internal static MultiTexCoord1fARB glMultiTexCoord1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1fv(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord1fv glMultiTexCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1fvARB(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord1fvARB glMultiTexCoord1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s); internal static MultiTexCoord1hNV glMultiTexCoord1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); internal unsafe static MultiTexCoord1hvNV glMultiTexCoord1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1i(OpenTK.Graphics.TextureUnit target, Int32 s); internal static MultiTexCoord1i glMultiTexCoord1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1iARB(OpenTK.Graphics.TextureUnit target, Int32 s); internal static MultiTexCoord1iARB glMultiTexCoord1iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1iv(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord1iv glMultiTexCoord1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord1ivARB glMultiTexCoord1ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1s(OpenTK.Graphics.TextureUnit target, Int16 s); internal static MultiTexCoord1s glMultiTexCoord1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord1sARB(OpenTK.Graphics.TextureUnit target, Int16 s); internal static MultiTexCoord1sARB glMultiTexCoord1sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1sv(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord1sv glMultiTexCoord1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord1svARB(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord1svARB glMultiTexCoord1svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2d(OpenTK.Graphics.TextureUnit target, Double s, Double t); internal static MultiTexCoord2d glMultiTexCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t); internal static MultiTexCoord2dARB glMultiTexCoord2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2dv(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord2dv glMultiTexCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2dvARB(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord2dvARB glMultiTexCoord2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2f(OpenTK.Graphics.TextureUnit target, Single s, Single t); internal static MultiTexCoord2f glMultiTexCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t); internal static MultiTexCoord2fARB glMultiTexCoord2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2fv(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord2fv glMultiTexCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2fvARB(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord2fvARB glMultiTexCoord2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t); internal static MultiTexCoord2hNV glMultiTexCoord2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); internal unsafe static MultiTexCoord2hvNV glMultiTexCoord2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t); internal static MultiTexCoord2i glMultiTexCoord2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t); internal static MultiTexCoord2iARB glMultiTexCoord2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2iv(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord2iv glMultiTexCoord2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord2ivARB glMultiTexCoord2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t); internal static MultiTexCoord2s glMultiTexCoord2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord2sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t); internal static MultiTexCoord2sARB glMultiTexCoord2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2sv(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord2sv glMultiTexCoord2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord2svARB(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord2svARB glMultiTexCoord2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r); internal static MultiTexCoord3d glMultiTexCoord3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r); internal static MultiTexCoord3dARB glMultiTexCoord3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3dv(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord3dv glMultiTexCoord3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3dvARB(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord3dvARB glMultiTexCoord3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r); internal static MultiTexCoord3f glMultiTexCoord3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r); internal static MultiTexCoord3fARB glMultiTexCoord3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3fv(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord3fv glMultiTexCoord3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3fvARB(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord3fvARB glMultiTexCoord3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r); internal static MultiTexCoord3hNV glMultiTexCoord3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); internal unsafe static MultiTexCoord3hvNV glMultiTexCoord3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r); internal static MultiTexCoord3i glMultiTexCoord3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r); internal static MultiTexCoord3iARB glMultiTexCoord3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3iv(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord3iv glMultiTexCoord3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord3ivARB glMultiTexCoord3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r); internal static MultiTexCoord3s glMultiTexCoord3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord3sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r); internal static MultiTexCoord3sARB glMultiTexCoord3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3sv(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord3sv glMultiTexCoord3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord3svARB(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord3svARB glMultiTexCoord3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q); internal static MultiTexCoord4d glMultiTexCoord4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q); internal static MultiTexCoord4dARB glMultiTexCoord4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4dv(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord4dv glMultiTexCoord4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4dvARB(OpenTK.Graphics.TextureUnit target, Double* v); internal unsafe static MultiTexCoord4dvARB glMultiTexCoord4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q); internal static MultiTexCoord4f glMultiTexCoord4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q); internal static MultiTexCoord4fARB glMultiTexCoord4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4fv(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord4fv glMultiTexCoord4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4fvARB(OpenTK.Graphics.TextureUnit target, Single* v); internal unsafe static MultiTexCoord4fvARB glMultiTexCoord4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q); internal static MultiTexCoord4hNV glMultiTexCoord4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); internal unsafe static MultiTexCoord4hvNV glMultiTexCoord4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q); internal static MultiTexCoord4i glMultiTexCoord4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q); internal static MultiTexCoord4iARB glMultiTexCoord4iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4iv(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord4iv glMultiTexCoord4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); internal unsafe static MultiTexCoord4ivARB glMultiTexCoord4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q); internal static MultiTexCoord4s glMultiTexCoord4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoord4sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q); internal static MultiTexCoord4sARB glMultiTexCoord4sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4sv(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord4sv glMultiTexCoord4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexCoord4svARB(OpenTK.Graphics.TextureUnit target, Int16* v); internal unsafe static MultiTexCoord4svARB glMultiTexCoord4svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexCoordPointerEXT(OpenTK.Graphics.TextureUnit texunit, Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer); internal static MultiTexCoordPointerEXT glMultiTexCoordPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexEnvfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param); internal static MultiTexEnvfEXT glMultiTexEnvfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params); internal unsafe static MultiTexEnvfvEXT glMultiTexEnvfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexEnviEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param); internal static MultiTexEnviEXT glMultiTexEnviEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params); internal unsafe static MultiTexEnvivEXT glMultiTexEnvivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexGendEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param); internal static MultiTexGendEXT glMultiTexGendEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params); internal unsafe static MultiTexGendvEXT glMultiTexGendvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexGenfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param); internal static MultiTexGenfEXT glMultiTexGenfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params); internal unsafe static MultiTexGenfvEXT glMultiTexGenfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexGeniEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param); internal static MultiTexGeniEXT glMultiTexGeniEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params); internal unsafe static MultiTexGenivEXT glMultiTexGenivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexImage1DEXT glMultiTexImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexImage2DEXT glMultiTexImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexImage3DEXT glMultiTexImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexParameterfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); internal static MultiTexParameterfEXT glMultiTexParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); internal unsafe static MultiTexParameterfvEXT glMultiTexParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexParameteriEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); internal static MultiTexParameteriEXT glMultiTexParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static MultiTexParameterIivEXT glMultiTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); internal unsafe static MultiTexParameterIuivEXT glMultiTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static MultiTexParameterivEXT glMultiTexParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexRenderbufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); internal static MultiTexRenderbufferEXT glMultiTexRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexSubImage1DEXT glMultiTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexSubImage2DEXT glMultiTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void MultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static MultiTexSubImage3DEXT glMultiTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultMatrixd(Double* m); internal unsafe static MultMatrixd glMultMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultMatrixf(Single* m); internal unsafe static MultMatrixf glMultMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixd(Double* m); internal unsafe static MultTransposeMatrixd glMultTransposeMatrixd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixdARB(Double* m); internal unsafe static MultTransposeMatrixdARB glMultTransposeMatrixdARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixf(Single* m); internal unsafe static MultTransposeMatrixf glMultTransposeMatrixf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void MultTransposeMatrixfARB(Single* m); internal unsafe static MultTransposeMatrixfARB glMultTransposeMatrixfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedBufferDataEXT(UInt32 buffer, IntPtr size, IntPtr data, OpenTK.Graphics.ExtDirectStateAccess usage); internal static NamedBufferDataEXT glNamedBufferDataEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data); internal static NamedBufferSubDataEXT glNamedBufferSubDataEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferRenderbufferEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); internal static NamedFramebufferRenderbufferEXT glNamedFramebufferRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTexture1DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static NamedFramebufferTexture1DEXT glNamedFramebufferTexture1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTexture2DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); internal static NamedFramebufferTexture2DEXT glNamedFramebufferTexture2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTexture3DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); internal static NamedFramebufferTexture3DEXT glNamedFramebufferTexture3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTextureEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); internal static NamedFramebufferTextureEXT glNamedFramebufferTextureEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTextureFaceEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); internal static NamedFramebufferTextureFaceEXT glNamedFramebufferTextureFaceEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedFramebufferTextureLayerEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); internal static NamedFramebufferTextureLayerEXT glNamedFramebufferTextureLayerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedProgramLocalParameter4dEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w); internal static NamedProgramLocalParameter4dEXT glNamedProgramLocalParameter4dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParameter4dvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double* @params); internal unsafe static NamedProgramLocalParameter4dvEXT glNamedProgramLocalParameter4dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedProgramLocalParameter4fEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w); internal static NamedProgramLocalParameter4fEXT glNamedProgramLocalParameter4fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParameter4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single* @params); internal unsafe static NamedProgramLocalParameter4fvEXT glNamedProgramLocalParameter4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedProgramLocalParameterI4iEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static NamedProgramLocalParameterI4iEXT glNamedProgramLocalParameterI4iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParameterI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32* @params); internal unsafe static NamedProgramLocalParameterI4ivEXT glNamedProgramLocalParameterI4ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedProgramLocalParameterI4uiEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static NamedProgramLocalParameterI4uiEXT glNamedProgramLocalParameterI4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParameterI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32* @params); internal unsafe static NamedProgramLocalParameterI4uivEXT glNamedProgramLocalParameterI4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParameters4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params); internal unsafe static NamedProgramLocalParameters4fvEXT glNamedProgramLocalParameters4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParametersI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params); internal unsafe static NamedProgramLocalParametersI4ivEXT glNamedProgramLocalParametersI4ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NamedProgramLocalParametersI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params); internal unsafe static NamedProgramLocalParametersI4uivEXT glNamedProgramLocalParametersI4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess format, Int32 len, IntPtr @string); internal static NamedProgramStringEXT glNamedProgramStringEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedRenderbufferStorageEXT(UInt32 renderbuffer, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); internal static NamedRenderbufferStorageEXT glNamedRenderbufferStorageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedRenderbufferStorageMultisampleCoverageEXT(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); internal static NamedRenderbufferStorageMultisampleCoverageEXT glNamedRenderbufferStorageMultisampleCoverageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NamedRenderbufferStorageMultisampleEXT(UInt32 renderbuffer, Int32 samples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); internal static NamedRenderbufferStorageMultisampleEXT glNamedRenderbufferStorageMultisampleEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NewList(UInt32 list, OpenTK.Graphics.ListMode mode); internal static NewList glNewList; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject usage); internal static NewObjectBufferATI glNewObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3b(SByte nx, SByte ny, SByte nz); internal static Normal3b glNormal3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3bv(SByte* v); internal unsafe static Normal3bv glNormal3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3d(Double nx, Double ny, Double nz); internal static Normal3d glNormal3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3dv(Double* v); internal unsafe static Normal3dv glNormal3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3f(Single nx, Single ny, Single nz); internal static Normal3f glNormal3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3fv(Single* v); internal unsafe static Normal3fv glNormal3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static Normal3fVertex3fSUN glNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3fVertex3fvSUN(Single* n, Single* v); internal unsafe static Normal3fVertex3fvSUN glNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3hNV(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz); internal static Normal3hNV glNormal3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3hvNV(OpenTK.Half* v); internal unsafe static Normal3hvNV glNormal3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3i(Int32 nx, Int32 ny, Int32 nz); internal static Normal3i glNormal3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3iv(Int32* v); internal unsafe static Normal3iv glNormal3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Normal3s(Int16 nx, Int16 ny, Int16 nz); internal static Normal3s glNormal3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Normal3sv(Int16* v); internal unsafe static Normal3sv glNormal3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointer(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); internal static NormalPointer glNormalPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer); internal static NormalPointerEXT glNormalPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointerListIBM(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static NormalPointerListIBM glNormalPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalPointervINTEL(OpenTK.Graphics.NormalPointerType type, IntPtr pointer); internal static NormalPointervINTEL glNormalPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3bATI(OpenTK.Graphics.AtiVertexStreams stream, SByte nx, SByte ny, SByte nz); internal static NormalStream3bATI glNormalStream3bATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3bvATI(OpenTK.Graphics.AtiVertexStreams stream, SByte* coords); internal unsafe static NormalStream3bvATI glNormalStream3bvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double nx, Double ny, Double nz); internal static NormalStream3dATI glNormalStream3dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); internal unsafe static NormalStream3dvATI glNormalStream3dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single nx, Single ny, Single nz); internal static NormalStream3fATI glNormalStream3fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); internal unsafe static NormalStream3fvATI glNormalStream3fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz); internal static NormalStream3iATI glNormalStream3iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); internal unsafe static NormalStream3ivATI glNormalStream3ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NormalStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz); internal static NormalStream3sATI glNormalStream3sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NormalStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); internal unsafe static NormalStream3svATI glNormalStream3svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr ObjectPurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option); internal static ObjectPurgeableAPPLE glObjectPurgeableAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr ObjectUnpurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option); internal static ObjectUnpurgeableAPPLE glObjectUnpurgeableAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); internal static Ortho glOrtho; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PassTexCoordATI(UInt32 dst, UInt32 coord, OpenTK.Graphics.AtiFragmentShader swizzle); internal static PassTexCoordATI glPassTexCoordATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PassThrough(Single token); internal static PassThrough glPassThrough; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PauseTransformFeedbackNV(); internal static PauseTransformFeedbackNV glPauseTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target, Int32 length, [Out] IntPtr pointer); internal static PixelDataRangeNV glPixelDataRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapfv(OpenTK.Graphics.PixelMap map, Int32 mapsize, Single* values); internal unsafe static PixelMapfv glPixelMapfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapuiv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt32* values); internal unsafe static PixelMapuiv glPixelMapuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelMapusv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt16* values); internal unsafe static PixelMapusv glPixelMapusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelStoref(OpenTK.Graphics.PixelStoreParameter pname, Single param); internal static PixelStoref glPixelStoref; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelStorei(OpenTK.Graphics.PixelStoreParameter pname, Int32 param); internal static PixelStorei glPixelStorei; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenParameterfSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single param); internal static PixelTexGenParameterfSGIS glPixelTexGenParameterfSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single* @params); internal unsafe static PixelTexGenParameterfvSGIS glPixelTexGenParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenParameteriSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32 param); internal static PixelTexGenParameteriSGIS glPixelTexGenParameteriSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32* @params); internal unsafe static PixelTexGenParameterivSGIS glPixelTexGenParameterivSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTexGenSGIX(OpenTK.Graphics.SgixPixelTexture mode); internal static PixelTexGenSGIX glPixelTexGenSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransferf(OpenTK.Graphics.PixelTransferParameter pname, Single param); internal static PixelTransferf glPixelTransferf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransferi(OpenTK.Graphics.PixelTransferParameter pname, Int32 param); internal static PixelTransferi glPixelTransferi; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransformParameterfEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single param); internal static PixelTransformParameterfEXT glPixelTransformParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTransformParameterfvEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single* @params); internal unsafe static PixelTransformParameterfvEXT glPixelTransformParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelTransformParameteriEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32 param); internal static PixelTransformParameteriEXT glPixelTransformParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PixelTransformParameterivEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32* @params); internal unsafe static PixelTransformParameterivEXT glPixelTransformParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PixelZoom(Single xfactor, Single yfactor); internal static PixelZoom glPixelZoom; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PNTrianglesfATI(OpenTK.Graphics.AtiPnTriangles pname, Single param); internal static PNTrianglesfATI glPNTrianglesfATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PNTrianglesiATI(OpenTK.Graphics.AtiPnTriangles pname, Int32 param); internal static PNTrianglesiATI glPNTrianglesiATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterf(OpenTK.Graphics.PointParameterName pname, Single param); internal static PointParameterf glPointParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfARB(OpenTK.Graphics.ArbPointParameters pname, Single param); internal static PointParameterfARB glPointParameterfARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfEXT(OpenTK.Graphics.ExtPointParameters pname, Single param); internal static PointParameterfEXT glPointParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameterfSGIS(OpenTK.Graphics.SgisPointParameters pname, Single param); internal static PointParameterfSGIS glPointParameterfSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfv(OpenTK.Graphics.PointParameterName pname, Single* @params); internal unsafe static PointParameterfv glPointParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvARB(OpenTK.Graphics.ArbPointParameters pname, Single* @params); internal unsafe static PointParameterfvARB glPointParameterfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvEXT(OpenTK.Graphics.ExtPointParameters pname, Single* @params); internal unsafe static PointParameterfvEXT glPointParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterfvSGIS(OpenTK.Graphics.SgisPointParameters pname, Single* @params); internal unsafe static PointParameterfvSGIS glPointParameterfvSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameteri(OpenTK.Graphics.PointParameterName pname, Int32 param); internal static PointParameteri glPointParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointParameteriNV(OpenTK.Graphics.NvPointSprite pname, Int32 param); internal static PointParameteriNV glPointParameteriNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameteriv(OpenTK.Graphics.PointParameterName pname, Int32* @params); internal unsafe static PointParameteriv glPointParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PointParameterivNV(OpenTK.Graphics.NvPointSprite pname, Int32* @params); internal unsafe static PointParameterivNV glPointParameterivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PointSize(Single size); internal static PointSize glPointSize; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 PollAsyncSGIX([Out] UInt32* markerp); internal unsafe static PollAsyncSGIX glPollAsyncSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 PollInstrumentsSGIX([Out] Int32* marker_p); internal unsafe static PollInstrumentsSGIX glPollInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonMode(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.PolygonMode mode); internal static PolygonMode glPolygonMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonOffset(Single factor, Single units); internal static PolygonOffset glPolygonOffset; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PolygonOffsetEXT(Single factor, Single bias); internal static PolygonOffsetEXT glPolygonOffsetEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PolygonStipple(Byte* mask); internal unsafe static PolygonStipple glPolygonStipple; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopAttrib(); internal static PopAttrib glPopAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopClientAttrib(); internal static PopClientAttrib glPopClientAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopMatrix(); internal static PopMatrix glPopMatrix; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PopName(); internal static PopName glPopName; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, OpenTK.Graphics.NvPresentVideo target2, UInt32 fill2, OpenTK.Graphics.NvPresentVideo target3, UInt32 fill3); internal static PresentFrameDualFillNV glPresentFrameDualFillNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, UInt32 key0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, UInt32 key1); internal static PresentFrameKeyedNV glPresentFrameKeyedNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PrimitiveRestartIndex(UInt32 index); internal static PrimitiveRestartIndex glPrimitiveRestartIndex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PrimitiveRestartIndexNV(UInt32 index); internal static PrimitiveRestartIndexNV glPrimitiveRestartIndexNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PrimitiveRestartNV(); internal static PrimitiveRestartNV glPrimitiveRestartNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities); internal unsafe static PrioritizeTextures glPrioritizeTextures; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities); internal unsafe static PrioritizeTexturesEXT glPrioritizeTexturesEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersfvNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramBufferParametersfvNV glProgramBufferParametersfvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersIivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramBufferParametersIivNV glProgramBufferParametersIivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramBufferParametersIuivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramBufferParametersIuivNV glProgramBufferParametersIuivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramEnvParameter4dARB glProgramEnvParameter4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params); internal unsafe static ProgramEnvParameter4dvARB glProgramEnvParameter4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramEnvParameter4fARB glProgramEnvParameter4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params); internal unsafe static ProgramEnvParameter4fvARB glProgramEnvParameter4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static ProgramEnvParameterI4iNV glProgramEnvParameterI4iNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params); internal unsafe static ProgramEnvParameterI4ivNV glProgramEnvParameterI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramEnvParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static ProgramEnvParameterI4uiNV glProgramEnvParameterI4uiNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params); internal unsafe static ProgramEnvParameterI4uivNV glProgramEnvParameterI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramEnvParameters4fvEXT glProgramEnvParameters4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramEnvParametersI4ivNV glProgramEnvParametersI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramEnvParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramEnvParametersI4uivNV glProgramEnvParametersI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramLocalParameter4dARB glProgramLocalParameter4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params); internal unsafe static ProgramLocalParameter4dvARB glProgramLocalParameter4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramLocalParameter4fARB glProgramLocalParameter4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params); internal unsafe static ProgramLocalParameter4fvARB glProgramLocalParameter4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static ProgramLocalParameterI4iNV glProgramLocalParameterI4iNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params); internal unsafe static ProgramLocalParameterI4ivNV glProgramLocalParameterI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramLocalParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static ProgramLocalParameterI4uiNV glProgramLocalParameterI4uiNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params); internal unsafe static ProgramLocalParameterI4uivNV glProgramLocalParameterI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params); internal unsafe static ProgramLocalParameters4fvEXT glProgramLocalParameters4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params); internal unsafe static ProgramLocalParametersI4ivNV glProgramLocalParametersI4ivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramLocalParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params); internal unsafe static ProgramLocalParametersI4uivNV glProgramLocalParametersI4uivNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w); internal unsafe static ProgramNamedParameter4dNV glProgramNamedParameter4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v); internal unsafe static ProgramNamedParameter4dvNV glProgramNamedParameter4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w); internal unsafe static ProgramNamedParameter4fNV glProgramNamedParameter4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v); internal unsafe static ProgramNamedParameter4fvNV glProgramNamedParameter4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameter4dNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); internal static ProgramParameter4dNV glProgramParameter4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameter4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* v); internal unsafe static ProgramParameter4dvNV glProgramParameter4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameter4fNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); internal static ProgramParameter4fNV glProgramParameter4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameter4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* v); internal unsafe static ProgramParameter4fvNV glProgramParameter4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameteri(UInt32 program, OpenTK.Graphics.Version32 pname, Int32 value); internal static ProgramParameteri glProgramParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameteriARB(UInt32 program, OpenTK.Graphics.ArbGeometryShader4 pname, Int32 value); internal static ProgramParameteriARB glProgramParameteriARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramParameteriEXT(UInt32 program, OpenTK.Graphics.ExtGeometryShader4 pname, Int32 value); internal static ProgramParameteriEXT glProgramParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameters4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v); internal unsafe static ProgramParameters4dvNV glProgramParameters4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramParameters4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v); internal unsafe static ProgramParameters4fvNV glProgramParameters4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.ArbVertexProgram format, Int32 len, IntPtr @string); internal static ProgramStringARB glProgramStringARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform1fEXT(UInt32 program, Int32 location, Single v0); internal static ProgramUniform1fEXT glProgramUniform1fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); internal unsafe static ProgramUniform1fvEXT glProgramUniform1fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0); internal static ProgramUniform1iEXT glProgramUniform1iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); internal unsafe static ProgramUniform1ivEXT glProgramUniform1ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0); internal static ProgramUniform1uiEXT glProgramUniform1uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); internal unsafe static ProgramUniform1uivEXT glProgramUniform1uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1); internal static ProgramUniform2fEXT glProgramUniform2fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); internal unsafe static ProgramUniform2fvEXT glProgramUniform2fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1); internal static ProgramUniform2iEXT glProgramUniform2iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); internal unsafe static ProgramUniform2ivEXT glProgramUniform2ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1); internal static ProgramUniform2uiEXT glProgramUniform2uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); internal unsafe static ProgramUniform2uivEXT glProgramUniform2uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2); internal static ProgramUniform3fEXT glProgramUniform3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); internal unsafe static ProgramUniform3fvEXT glProgramUniform3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2); internal static ProgramUniform3iEXT glProgramUniform3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); internal unsafe static ProgramUniform3ivEXT glProgramUniform3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); internal static ProgramUniform3uiEXT glProgramUniform3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); internal unsafe static ProgramUniform3uivEXT glProgramUniform3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3); internal static ProgramUniform4fEXT glProgramUniform4fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); internal unsafe static ProgramUniform4fvEXT glProgramUniform4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); internal static ProgramUniform4iEXT glProgramUniform4iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); internal unsafe static ProgramUniform4ivEXT glProgramUniform4ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); internal static ProgramUniform4uiEXT glProgramUniform4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); internal unsafe static ProgramUniform4uivEXT glProgramUniform4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix2fvEXT glProgramUniformMatrix2fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix2x3fvEXT glProgramUniformMatrix2x3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix2x4fvEXT glProgramUniformMatrix2x4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix3fvEXT glProgramUniformMatrix3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix3x2fvEXT glProgramUniformMatrix3x2fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix3x4fvEXT glProgramUniformMatrix3x4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix4fvEXT glProgramUniformMatrix4fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix4x2fvEXT glProgramUniformMatrix4x2fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static ProgramUniformMatrix4x3fvEXT glProgramUniformMatrix4x3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProgramVertexLimitNV(OpenTK.Graphics.NvGeometryProgram4 target, Int32 limit); internal static ProgramVertexLimitNV glProgramVertexLimitNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProvokingVertex(OpenTK.Graphics.ArbProvokingVertex mode); internal static ProvokingVertex glProvokingVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ProvokingVertexEXT(OpenTK.Graphics.ExtProvokingVertex mode); internal static ProvokingVertexEXT glProvokingVertexEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushAttrib(OpenTK.Graphics.AttribMask mask); internal static PushAttrib glPushAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushClientAttrib(OpenTK.Graphics.ClientAttribMask mask); internal static PushClientAttrib glPushClientAttrib; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask); internal static PushClientAttribDefaultEXT glPushClientAttribDefaultEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushMatrix(); internal static PushMatrix glPushMatrix; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PushName(UInt32 name); internal static PushName glPushName; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2d(Double x, Double y); internal static RasterPos2d glRasterPos2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2dv(Double* v); internal unsafe static RasterPos2dv glRasterPos2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2f(Single x, Single y); internal static RasterPos2f glRasterPos2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2fv(Single* v); internal unsafe static RasterPos2fv glRasterPos2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2i(Int32 x, Int32 y); internal static RasterPos2i glRasterPos2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2iv(Int32* v); internal unsafe static RasterPos2iv glRasterPos2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos2s(Int16 x, Int16 y); internal static RasterPos2s glRasterPos2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos2sv(Int16* v); internal unsafe static RasterPos2sv glRasterPos2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3d(Double x, Double y, Double z); internal static RasterPos3d glRasterPos3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3dv(Double* v); internal unsafe static RasterPos3dv glRasterPos3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3f(Single x, Single y, Single z); internal static RasterPos3f glRasterPos3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3fv(Single* v); internal unsafe static RasterPos3fv glRasterPos3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3i(Int32 x, Int32 y, Int32 z); internal static RasterPos3i glRasterPos3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3iv(Int32* v); internal unsafe static RasterPos3iv glRasterPos3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos3s(Int16 x, Int16 y, Int16 z); internal static RasterPos3s glRasterPos3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos3sv(Int16* v); internal unsafe static RasterPos3sv glRasterPos3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4d(Double x, Double y, Double z, Double w); internal static RasterPos4d glRasterPos4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4dv(Double* v); internal unsafe static RasterPos4dv glRasterPos4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4f(Single x, Single y, Single z, Single w); internal static RasterPos4f glRasterPos4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4fv(Single* v); internal unsafe static RasterPos4fv glRasterPos4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w); internal static RasterPos4i glRasterPos4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4iv(Int32* v); internal unsafe static RasterPos4iv glRasterPos4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w); internal static RasterPos4s glRasterPos4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RasterPos4sv(Int16* v); internal unsafe static RasterPos4sv glRasterPos4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadBuffer(OpenTK.Graphics.ReadBufferMode mode); internal static ReadBuffer glReadBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadInstrumentsSGIX(Int32 marker); internal static ReadInstrumentsSGIX glReadInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); internal static ReadPixels glReadPixels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rectd(Double x1, Double y1, Double x2, Double y2); internal static Rectd glRectd; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectdv(Double* v1, Double* v2); internal unsafe static Rectdv glRectdv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rectf(Single x1, Single y1, Single x2, Single y2); internal static Rectf glRectf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectfv(Single* v1, Single* v2); internal unsafe static Rectfv glRectfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2); internal static Recti glRecti; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectiv(Int32* v1, Int32* v2); internal unsafe static Rectiv glRectiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2); internal static Rects glRects; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Rectsv(Int16* v1, Int16* v2); internal unsafe static Rectsv glRectsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReferencePlaneSGIX(Double* equation); internal unsafe static ReferencePlaneSGIX glReferencePlaneSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorage(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); internal static RenderbufferStorage glRenderbufferStorage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); internal static RenderbufferStorageEXT glRenderbufferStorageEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageMultisample(OpenTK.Graphics.RenderbufferTarget target, Int32 samples, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); internal static RenderbufferStorageMultisample glRenderbufferStorageMultisample; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageMultisampleCoverageNV(OpenTK.Graphics.RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); internal static RenderbufferStorageMultisampleCoverageNV glRenderbufferStorageMultisampleCoverageNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void RenderbufferStorageMultisampleEXT(OpenTK.Graphics.ExtFramebufferMultisample target, Int32 samples, OpenTK.Graphics.ExtFramebufferMultisample internalformat, Int32 width, Int32 height); internal static RenderbufferStorageMultisampleEXT glRenderbufferStorageMultisampleEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 RenderMode(OpenTK.Graphics.RenderingMode mode); internal static RenderMode glRenderMode; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodePointerSUN(OpenTK.Graphics.SunTriangleList type, Int32 stride, IntPtr pointer); internal static ReplacementCodePointerSUN glReplacementCodePointerSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeubSUN(Byte code); internal static ReplacementCodeubSUN glReplacementCodeubSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeubvSUN(Byte* code); internal unsafe static ReplacementCodeubvSUN glReplacementCodeubvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z); internal static ReplacementCodeuiColor3fVertex3fSUN glReplacementCodeuiColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v); internal unsafe static ReplacementCodeuiColor3fVertex3fvSUN glReplacementCodeuiColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiColor4fNormal3fVertex3fSUN glReplacementCodeuiColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v); internal unsafe static ReplacementCodeuiColor4fNormal3fVertex3fvSUN glReplacementCodeuiColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static ReplacementCodeuiColor4ubVertex3fSUN glReplacementCodeuiColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v); internal unsafe static ReplacementCodeuiColor4ubVertex3fvSUN glReplacementCodeuiColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiNormal3fVertex3fSUN glReplacementCodeuiNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v); internal unsafe static ReplacementCodeuiNormal3fVertex3fvSUN glReplacementCodeuiNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiSUN(UInt32 code); internal static ReplacementCodeuiSUN glReplacementCodeuiSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z); internal static ReplacementCodeuiTexCoord2fVertex3fSUN glReplacementCodeuiTexCoord2fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v); internal unsafe static ReplacementCodeuiTexCoord2fVertex3fvSUN glReplacementCodeuiTexCoord2fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z); internal static ReplacementCodeuiVertex3fSUN glReplacementCodeuiVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v); internal unsafe static ReplacementCodeuiVertex3fvSUN glReplacementCodeuiVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeuivSUN(UInt32* code); internal unsafe static ReplacementCodeuivSUN glReplacementCodeuivSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ReplacementCodeusSUN(UInt16 code); internal static ReplacementCodeusSUN glReplacementCodeusSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ReplacementCodeusvSUN(UInt16* code); internal unsafe static ReplacementCodeusvSUN glReplacementCodeusvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void RequestResidentProgramsNV(Int32 n, UInt32* programs); internal unsafe static RequestResidentProgramsNV glRequestResidentProgramsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetHistogram(OpenTK.Graphics.Version12Deprecated target); internal static ResetHistogram glResetHistogram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetHistogramEXT(OpenTK.Graphics.ExtHistogram target); internal static ResetHistogramEXT glResetHistogramEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetMinmax(OpenTK.Graphics.Version12Deprecated target); internal static ResetMinmax glResetMinmax; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResetMinmaxEXT(OpenTK.Graphics.ExtHistogram target); internal static ResetMinmaxEXT glResetMinmaxEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResizeBuffersMESA(); internal static ResizeBuffersMESA glResizeBuffersMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ResumeTransformFeedbackNV(); internal static ResumeTransformFeedbackNV glResumeTransformFeedbackNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rotated(Double angle, Double x, Double y, Double z); internal static Rotated glRotated; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Rotatef(Single angle, Single x, Single y, Single z); internal static Rotatef glRotatef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleCoverage(Single value, bool invert); internal static SampleCoverage glSampleCoverage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleCoverageARB(Single value, bool invert); internal static SampleCoverageARB glSampleCoverageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMapATI(UInt32 dst, UInt32 interp, OpenTK.Graphics.AtiFragmentShader swizzle); internal static SampleMapATI glSampleMapATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaskEXT(Single value, bool invert); internal static SampleMaskEXT glSampleMaskEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaski(UInt32 index, UInt32 mask); internal static SampleMaski glSampleMaski; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaskIndexedNV(UInt32 index, UInt32 mask); internal static SampleMaskIndexedNV glSampleMaskIndexedNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SampleMaskSGIS(Single value, bool invert); internal static SampleMaskSGIS glSampleMaskSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SamplePatternEXT(OpenTK.Graphics.ExtMultisample pattern); internal static SamplePatternEXT glSamplePatternEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SamplePatternSGIS(OpenTK.Graphics.SgisMultisample pattern); internal static SamplePatternSGIS glSamplePatternSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scaled(Double x, Double y, Double z); internal static Scaled glScaled; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scalef(Single x, Single y, Single z); internal static Scalef glScalef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Scissor(Int32 x, Int32 y, Int32 width, Int32 height); internal static Scissor glScissor; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3b(SByte red, SByte green, SByte blue); internal static SecondaryColor3b glSecondaryColor3b; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3bEXT(SByte red, SByte green, SByte blue); internal static SecondaryColor3bEXT glSecondaryColor3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3bv(SByte* v); internal unsafe static SecondaryColor3bv glSecondaryColor3bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3bvEXT(SByte* v); internal unsafe static SecondaryColor3bvEXT glSecondaryColor3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3d(Double red, Double green, Double blue); internal static SecondaryColor3d glSecondaryColor3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3dEXT(Double red, Double green, Double blue); internal static SecondaryColor3dEXT glSecondaryColor3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3dv(Double* v); internal unsafe static SecondaryColor3dv glSecondaryColor3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3dvEXT(Double* v); internal unsafe static SecondaryColor3dvEXT glSecondaryColor3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3f(Single red, Single green, Single blue); internal static SecondaryColor3f glSecondaryColor3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3fEXT(Single red, Single green, Single blue); internal static SecondaryColor3fEXT glSecondaryColor3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3fv(Single* v); internal unsafe static SecondaryColor3fv glSecondaryColor3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3fvEXT(Single* v); internal unsafe static SecondaryColor3fvEXT glSecondaryColor3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue); internal static SecondaryColor3hNV glSecondaryColor3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3hvNV(OpenTK.Half* v); internal unsafe static SecondaryColor3hvNV glSecondaryColor3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3i(Int32 red, Int32 green, Int32 blue); internal static SecondaryColor3i glSecondaryColor3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue); internal static SecondaryColor3iEXT glSecondaryColor3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3iv(Int32* v); internal unsafe static SecondaryColor3iv glSecondaryColor3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ivEXT(Int32* v); internal unsafe static SecondaryColor3ivEXT glSecondaryColor3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3s(Int16 red, Int16 green, Int16 blue); internal static SecondaryColor3s glSecondaryColor3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue); internal static SecondaryColor3sEXT glSecondaryColor3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3sv(Int16* v); internal unsafe static SecondaryColor3sv glSecondaryColor3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3svEXT(Int16* v); internal unsafe static SecondaryColor3svEXT glSecondaryColor3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ub(Byte red, Byte green, Byte blue); internal static SecondaryColor3ub glSecondaryColor3ub; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue); internal static SecondaryColor3ubEXT glSecondaryColor3ubEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ubv(Byte* v); internal unsafe static SecondaryColor3ubv glSecondaryColor3ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3ubvEXT(Byte* v); internal unsafe static SecondaryColor3ubvEXT glSecondaryColor3ubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue); internal static SecondaryColor3ui glSecondaryColor3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue); internal static SecondaryColor3uiEXT glSecondaryColor3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3uiv(UInt32* v); internal unsafe static SecondaryColor3uiv glSecondaryColor3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3uivEXT(UInt32* v); internal unsafe static SecondaryColor3uivEXT glSecondaryColor3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue); internal static SecondaryColor3us glSecondaryColor3us; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue); internal static SecondaryColor3usEXT glSecondaryColor3usEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3usv(UInt16* v); internal unsafe static SecondaryColor3usv glSecondaryColor3usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SecondaryColor3usvEXT(UInt16* v); internal unsafe static SecondaryColor3usvEXT glSecondaryColor3usvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); internal static SecondaryColorPointer glSecondaryColorPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); internal static SecondaryColorPointerEXT glSecondaryColorPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SecondaryColorPointerListIBM(Int32 size, OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static SecondaryColorPointerListIBM glSecondaryColorPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SelectBuffer(Int32 size, [Out] UInt32* buffer); internal unsafe static SelectBuffer glSelectBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList); internal unsafe static SelectPerfMonitorCountersAMD glSelectPerfMonitorCountersAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SeparableFilter2D(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column); internal static SeparableFilter2D glSeparableFilter2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SeparableFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column); internal static SeparableFilter2DEXT glSeparableFilter2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetFenceAPPLE(UInt32 fence); internal static SetFenceAPPLE glSetFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetFenceNV(UInt32 fence, OpenTK.Graphics.NvFence condition); internal static SetFenceNV glSetFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SetFragmentShaderConstantATI(UInt32 dst, Single* value); internal unsafe static SetFragmentShaderConstantATI glSetFragmentShaderConstantATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetInvariantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr); internal static SetInvariantEXT glSetInvariantEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SetLocalConstantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr); internal static SetLocalConstantEXT glSetLocalConstantEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShadeModel(OpenTK.Graphics.ShadingModel mode); internal static ShadeModel glShadeModel; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp1EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1); internal static ShaderOp1EXT glShaderOp1EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp2EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2); internal static ShaderOp2EXT glShaderOp2EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ShaderOp3EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3); internal static ShaderOp3EXT glShaderOp3EXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length); internal unsafe static ShaderSource glShaderSource; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, String[] @string, Int32* length); internal unsafe static ShaderSourceARB glShaderSourceARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points); internal unsafe static SharpenTexFuncSGIS glSharpenTexFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SpriteParameterfSGIX(OpenTK.Graphics.SgixSprite pname, Single param); internal static SpriteParameterfSGIX glSpriteParameterfSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SpriteParameterfvSGIX(OpenTK.Graphics.SgixSprite pname, Single* @params); internal unsafe static SpriteParameterfvSGIX glSpriteParameterfvSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SpriteParameteriSGIX(OpenTK.Graphics.SgixSprite pname, Int32 param); internal static SpriteParameteriSGIX glSpriteParameteriSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void SpriteParameterivSGIX(OpenTK.Graphics.SgixSprite pname, Int32* @params); internal unsafe static SpriteParameterivSGIX glSpriteParameterivSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StartInstrumentsSGIX(); internal static StartInstrumentsSGIX glStartInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag); internal static StencilClearTagEXT glStencilClearTagEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFunc(OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask); internal static StencilFunc glStencilFunc; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFuncSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask); internal static StencilFuncSeparate glStencilFuncSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilFuncSeparateATI(OpenTK.Graphics.StencilFunction frontfunc, OpenTK.Graphics.StencilFunction backfunc, Int32 @ref, UInt32 mask); internal static StencilFuncSeparateATI glStencilFuncSeparateATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilMask(UInt32 mask); internal static StencilMask glStencilMask; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilMaskSeparate(OpenTK.Graphics.StencilFace face, UInt32 mask); internal static StencilMaskSeparate glStencilMaskSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOp(OpenTK.Graphics.StencilOp fail, OpenTK.Graphics.StencilOp zfail, OpenTK.Graphics.StencilOp zpass); internal static StencilOp glStencilOp; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOpSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass); internal static StencilOpSeparate glStencilOpSeparate; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StencilOpSeparateATI(OpenTK.Graphics.AtiSeparateStencil face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass); internal static StencilOpSeparateATI glStencilOpSeparateATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StopInstrumentsSGIX(Int32 marker); internal static StopInstrumentsSGIX glStopInstrumentsSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void StringMarkerGREMEDY(Int32 len, IntPtr @string); internal static StringMarkerGREMEDY glStringMarkerGREMEDY; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void SwizzleEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW); internal static SwizzleEXT glSwizzleEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TagSampleBufferSGIX(); internal static TagSampleBufferSGIX glTagSampleBufferSGIX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3bEXT(SByte tx, SByte ty, SByte tz); internal static Tangent3bEXT glTangent3bEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3bvEXT(SByte* v); internal unsafe static Tangent3bvEXT glTangent3bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3dEXT(Double tx, Double ty, Double tz); internal static Tangent3dEXT glTangent3dEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3dvEXT(Double* v); internal unsafe static Tangent3dvEXT glTangent3dvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3fEXT(Single tx, Single ty, Single tz); internal static Tangent3fEXT glTangent3fEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3fvEXT(Single* v); internal unsafe static Tangent3fvEXT glTangent3fvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz); internal static Tangent3iEXT glTangent3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3ivEXT(Int32* v); internal unsafe static Tangent3ivEXT glTangent3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz); internal static Tangent3sEXT glTangent3sEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Tangent3svEXT(Int16* v); internal unsafe static Tangent3svEXT glTangent3svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TangentPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); internal static TangentPointerEXT glTangentPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TbufferMask3DFX(UInt32 mask); internal static TbufferMask3DFX glTbufferMask3DFX; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessellationFactorAMD(Single factor); internal static TessellationFactorAMD glTessellationFactorAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessellationModeAMD(OpenTK.Graphics.AmdVertexShaderTesselator mode); internal static TessellationModeAMD glTessellationModeAMD; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool TestFenceAPPLE(UInt32 fence); internal static TestFenceAPPLE glTestFenceAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool TestFenceNV(UInt32 fence); internal static TestFenceNV glTestFenceNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool TestObjectAPPLE(OpenTK.Graphics.AppleFence @object, UInt32 name); internal static TestObjectAPPLE glTestObjectAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexBuffer(OpenTK.Graphics.TextureBufferTarget target, OpenTK.Graphics.SizedInternalFormat internalformat, UInt32 buffer); internal static TexBuffer glTexBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexBufferARB(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ArbTextureBufferObject internalformat, UInt32 buffer); internal static TexBufferARB glTexBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexBufferEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtTextureBufferObject internalformat, UInt32 buffer); internal static TexBufferEXT glTexBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Single* param); internal unsafe static TexBumpParameterfvATI glTexBumpParameterfvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Int32* param); internal unsafe static TexBumpParameterivATI glTexBumpParameterivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1d(Double s); internal static TexCoord1d glTexCoord1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1dv(Double* v); internal unsafe static TexCoord1dv glTexCoord1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1f(Single s); internal static TexCoord1f glTexCoord1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1fv(Single* v); internal unsafe static TexCoord1fv glTexCoord1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1hNV(OpenTK.Half s); internal static TexCoord1hNV glTexCoord1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1hvNV(OpenTK.Half* v); internal unsafe static TexCoord1hvNV glTexCoord1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1i(Int32 s); internal static TexCoord1i glTexCoord1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1iv(Int32* v); internal unsafe static TexCoord1iv glTexCoord1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord1s(Int16 s); internal static TexCoord1s glTexCoord1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord1sv(Int16* v); internal unsafe static TexCoord1sv glTexCoord1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2d(Double s, Double t); internal static TexCoord2d glTexCoord2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2dv(Double* v); internal unsafe static TexCoord2dv glTexCoord2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2f(Single s, Single t); internal static TexCoord2f glTexCoord2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z); internal static TexCoord2fColor3fVertex3fSUN glTexCoord2fColor3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v); internal unsafe static TexCoord2fColor3fVertex3fvSUN glTexCoord2fColor3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static TexCoord2fColor4fNormal3fVertex3fSUN glTexCoord2fColor4fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v); internal unsafe static TexCoord2fColor4fNormal3fVertex3fvSUN glTexCoord2fColor4fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); internal static TexCoord2fColor4ubVertex3fSUN glTexCoord2fColor4ubVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v); internal unsafe static TexCoord2fColor4ubVertex3fvSUN glTexCoord2fColor4ubVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); internal static TexCoord2fNormal3fVertex3fSUN glTexCoord2fNormal3fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v); internal unsafe static TexCoord2fNormal3fVertex3fvSUN glTexCoord2fNormal3fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fv(Single* v); internal unsafe static TexCoord2fv glTexCoord2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z); internal static TexCoord2fVertex3fSUN glTexCoord2fVertex3fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2fVertex3fvSUN(Single* tc, Single* v); internal unsafe static TexCoord2fVertex3fvSUN glTexCoord2fVertex3fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2hNV(OpenTK.Half s, OpenTK.Half t); internal static TexCoord2hNV glTexCoord2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2hvNV(OpenTK.Half* v); internal unsafe static TexCoord2hvNV glTexCoord2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2i(Int32 s, Int32 t); internal static TexCoord2i glTexCoord2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2iv(Int32* v); internal unsafe static TexCoord2iv glTexCoord2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord2s(Int16 s, Int16 t); internal static TexCoord2s glTexCoord2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord2sv(Int16* v); internal unsafe static TexCoord2sv glTexCoord2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3d(Double s, Double t, Double r); internal static TexCoord3d glTexCoord3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3dv(Double* v); internal unsafe static TexCoord3dv glTexCoord3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3f(Single s, Single t, Single r); internal static TexCoord3f glTexCoord3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3fv(Single* v); internal unsafe static TexCoord3fv glTexCoord3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r); internal static TexCoord3hNV glTexCoord3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3hvNV(OpenTK.Half* v); internal unsafe static TexCoord3hvNV glTexCoord3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3i(Int32 s, Int32 t, Int32 r); internal static TexCoord3i glTexCoord3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3iv(Int32* v); internal unsafe static TexCoord3iv glTexCoord3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord3s(Int16 s, Int16 t, Int16 r); internal static TexCoord3s glTexCoord3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord3sv(Int16* v); internal unsafe static TexCoord3sv glTexCoord3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4d(Double s, Double t, Double r, Double q); internal static TexCoord4d glTexCoord4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4dv(Double* v); internal unsafe static TexCoord4dv glTexCoord4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4f(Single s, Single t, Single r, Single q); internal static TexCoord4f glTexCoord4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w); internal static TexCoord4fColor4fNormal3fVertex4fSUN glTexCoord4fColor4fNormal3fVertex4fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v); internal unsafe static TexCoord4fColor4fNormal3fVertex4fvSUN glTexCoord4fColor4fNormal3fVertex4fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fv(Single* v); internal unsafe static TexCoord4fv glTexCoord4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w); internal static TexCoord4fVertex4fSUN glTexCoord4fVertex4fSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4fVertex4fvSUN(Single* tc, Single* v); internal unsafe static TexCoord4fVertex4fvSUN glTexCoord4fVertex4fvSUN; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q); internal static TexCoord4hNV glTexCoord4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4hvNV(OpenTK.Half* v); internal unsafe static TexCoord4hvNV glTexCoord4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q); internal static TexCoord4i glTexCoord4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4iv(Int32* v); internal unsafe static TexCoord4iv glTexCoord4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q); internal static TexCoord4s glTexCoord4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexCoord4sv(Int16* v); internal unsafe static TexCoord4sv glTexCoord4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointer(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer); internal static TexCoordPointer glTexCoordPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointerEXT(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer); internal static TexCoordPointerEXT glTexCoordPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointerListIBM(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static TexCoordPointerListIBM glTexCoordPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexCoordPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); internal static TexCoordPointervINTEL glTexCoordPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexEnvf(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param); internal static TexEnvf glTexEnvf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params); internal unsafe static TexEnvfv glTexEnvfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexEnvi(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param); internal static TexEnvi glTexEnvi; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params); internal unsafe static TexEnviv glTexEnviv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, Int32 n, Single* weights); internal unsafe static TexFilterFuncSGIS glTexFilterFuncSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGend(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param); internal static TexGend glTexGend; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params); internal unsafe static TexGendv glTexGendv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGenf(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param); internal static TexGenf glTexGenf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params); internal unsafe static TexGenfv glTexGenfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexGeni(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param); internal static TexGeni glTexGeni; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params); internal unsafe static TexGeniv glTexGeniv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexImage1D glTexImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexImage2D glTexImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage2DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations); internal static TexImage2DMultisample glTexImage2DMultisample; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexImage3D glTexImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexImage3DEXT glTexImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage3DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations); internal static TexImage3DMultisample glTexImage3DMultisample; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexImage4DSGIS glTexImage4DSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexParameterf(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); internal static TexParameterf glTexParameterf; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); internal unsafe static TexParameterfv glTexParameterfv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexParameteri(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); internal static TexParameteri glTexParameteri; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static TexParameterIiv glTexParameterIiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static TexParameterIivEXT glTexParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); internal unsafe static TexParameterIuiv glTexParameterIuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); internal unsafe static TexParameterIuivEXT glTexParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static TexParameteriv glTexParameteriv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexRenderbufferNV(OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); internal static TexRenderbufferNV glTexRenderbufferNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage1D glTexSubImage1D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage1DEXT glTexSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage2D glTexSubImage2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage2DEXT glTexSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage3D glTexSubImage3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage3DEXT glTexSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TexSubImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TexSubImage4DSGIS glTexSubImage4DSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureBufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer); internal static TextureBufferEXT glTextureBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureColorMaskSGIS(bool red, bool green, bool blue, bool alpha); internal static TextureColorMaskSGIS glTextureColorMaskSGIS; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureImage1DEXT glTextureImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureImage2DEXT glTextureImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureImage3DEXT glTextureImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureLightEXT(OpenTK.Graphics.ExtLightTexture pname); internal static TextureLightEXT glTextureLightEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode); internal static TextureMaterialEXT glTextureMaterialEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureNormalEXT(OpenTK.Graphics.ExtTexturePerturbNormal mode); internal static TextureNormalEXT glTextureNormalEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureParameterfEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); internal static TextureParameterfEXT glTextureParameterfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); internal unsafe static TextureParameterfvEXT glTextureParameterfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureParameteriEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); internal static TextureParameteriEXT glTextureParameteriEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static TextureParameterIivEXT glTextureParameterIivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); internal unsafe static TextureParameterIuivEXT glTextureParameterIuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); internal unsafe static TextureParameterivEXT glTextureParameterivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureRangeAPPLE(OpenTK.Graphics.AppleTextureRange target, Int32 length, IntPtr pointer); internal static TextureRangeAPPLE glTextureRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureRenderbufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); internal static TextureRenderbufferEXT glTextureRenderbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureSubImage1DEXT glTextureSubImage1DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureSubImage2DEXT glTextureSubImage2DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); internal static TextureSubImage3DEXT glTextureSubImage3DEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TrackMatrixNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.NvVertexProgram matrix, OpenTK.Graphics.NvVertexProgram transform); internal static TrackMatrixNV glTrackMatrixNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, OpenTK.Graphics.NvTransformFeedback bufferMode); internal unsafe static TransformFeedbackAttribsNV glTransformFeedbackAttribsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.TransformFeedbackMode bufferMode); internal static TransformFeedbackVaryings glTransformFeedbackVaryings; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TransformFeedbackVaryingsEXT(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.ExtTransformFeedback bufferMode); internal static TransformFeedbackVaryingsEXT glTransformFeedbackVaryingsEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.NvTransformFeedback bufferMode); internal static TransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Translated(Double x, Double y, Double z); internal static Translated glTranslated; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Translatef(Single x, Single y, Single z); internal static Translatef glTranslatef; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1f(Int32 location, Single v0); internal static Uniform1f glUniform1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1fARB(Int32 location, Single v0); internal static Uniform1fARB glUniform1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform1fv glUniform1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform1fvARB glUniform1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1i(Int32 location, Int32 v0); internal static Uniform1i glUniform1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1iARB(Int32 location, Int32 v0); internal static Uniform1iARB glUniform1iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform1iv glUniform1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform1ivARB glUniform1ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1ui(Int32 location, UInt32 v0); internal static Uniform1ui glUniform1ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform1uiEXT(Int32 location, UInt32 v0); internal static Uniform1uiEXT glUniform1uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1uiv(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform1uiv glUniform1uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform1uivEXT glUniform1uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2f(Int32 location, Single v0, Single v1); internal static Uniform2f glUniform2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2fARB(Int32 location, Single v0, Single v1); internal static Uniform2fARB glUniform2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform2fv glUniform2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform2fvARB glUniform2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2i(Int32 location, Int32 v0, Int32 v1); internal static Uniform2i glUniform2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2iARB(Int32 location, Int32 v0, Int32 v1); internal static Uniform2iARB glUniform2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform2iv glUniform2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform2ivARB glUniform2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2ui(Int32 location, UInt32 v0, UInt32 v1); internal static Uniform2ui glUniform2ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1); internal static Uniform2uiEXT glUniform2uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2uiv(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform2uiv glUniform2uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform2uivEXT glUniform2uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3f(Int32 location, Single v0, Single v1, Single v2); internal static Uniform3f glUniform3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2); internal static Uniform3fARB glUniform3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform3fv glUniform3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform3fvARB glUniform3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2); internal static Uniform3i glUniform3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2); internal static Uniform3iARB glUniform3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform3iv glUniform3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform3ivARB glUniform3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); internal static Uniform3ui glUniform3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); internal static Uniform3uiEXT glUniform3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3uiv(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform3uiv glUniform3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform3uivEXT glUniform3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3); internal static Uniform4f glUniform4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3); internal static Uniform4fARB glUniform4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4fv(Int32 location, Int32 count, Single* value); internal unsafe static Uniform4fv glUniform4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4fvARB(Int32 location, Int32 count, Single* value); internal unsafe static Uniform4fvARB glUniform4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); internal static Uniform4i glUniform4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); internal static Uniform4iARB glUniform4iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4iv(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform4iv glUniform4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4ivARB(Int32 location, Int32 count, Int32* value); internal unsafe static Uniform4ivARB glUniform4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); internal static Uniform4ui glUniform4ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); internal static Uniform4uiEXT glUniform4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4uiv(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform4uiv glUniform4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value); internal unsafe static Uniform4uivEXT glUniform4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding); internal static UniformBlockBinding glUniformBlockBinding; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer); internal static UniformBufferEXT glUniformBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix2fv glUniformMatrix2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2fvARB(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix2fvARB glUniformMatrix2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2x3fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix2x3fv glUniformMatrix2x3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix2x4fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix2x4fv glUniformMatrix2x4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix3fv glUniformMatrix3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3fvARB(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix3fvARB glUniformMatrix3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3x2fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix3x2fv glUniformMatrix3x2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix3x4fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix3x4fv glUniformMatrix3x4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix4fv glUniformMatrix4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4fvARB(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix4fvARB glUniformMatrix4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4x2fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix4x2fv glUniformMatrix4x2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void UniformMatrix4x3fv(Int32 location, Int32 count, bool transpose, Single* value); internal unsafe static UniformMatrix4x3fv glUniformMatrix4x3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UnlockArraysEXT(); internal static UnlockArraysEXT glUnlockArraysEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool UnmapBuffer(OpenTK.Graphics.BufferTarget target); internal static UnmapBuffer glUnmapBuffer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool UnmapBufferARB(OpenTK.Graphics.BufferTargetArb target); internal static UnmapBufferARB glUnmapBufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool UnmapNamedBufferEXT(UInt32 buffer); internal static UnmapNamedBufferEXT glUnmapNamedBufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UnmapObjectBufferATI(UInt32 buffer); internal static UnmapObjectBufferATI glUnmapObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject preserve); internal static UpdateObjectBufferATI glUpdateObjectBufferATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UseProgram(UInt32 program); internal static UseProgram glUseProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void UseProgramObjectARB(UInt32 programObj); internal static UseProgramObjectARB glUseProgramObjectARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ValidateProgram(UInt32 program); internal static ValidateProgram glValidateProgram; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void ValidateProgramARB(UInt32 programObj); internal static ValidateProgramARB glValidateProgramARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VariantArrayObjectATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset); internal static VariantArrayObjectATI glVariantArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantbvEXT(UInt32 id, SByte* addr); internal unsafe static VariantbvEXT glVariantbvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantdvEXT(UInt32 id, Double* addr); internal unsafe static VariantdvEXT glVariantdvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantfvEXT(UInt32 id, Single* addr); internal unsafe static VariantfvEXT glVariantfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantivEXT(UInt32 id, Int32* addr); internal unsafe static VariantivEXT glVariantivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VariantPointerEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, UInt32 stride, IntPtr addr); internal static VariantPointerEXT glVariantPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantsvEXT(UInt32 id, Int16* addr); internal unsafe static VariantsvEXT glVariantsvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantubvEXT(UInt32 id, Byte* addr); internal unsafe static VariantubvEXT glVariantubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantuivEXT(UInt32 id, UInt32* addr); internal unsafe static VariantuivEXT glVariantuivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VariantusvEXT(UInt32 id, UInt16* addr); internal unsafe static VariantusvEXT glVariantusvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2d(Double x, Double y); internal static Vertex2d glVertex2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2dv(Double* v); internal unsafe static Vertex2dv glVertex2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2f(Single x, Single y); internal static Vertex2f glVertex2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2fv(Single* v); internal unsafe static Vertex2fv glVertex2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2hNV(OpenTK.Half x, OpenTK.Half y); internal static Vertex2hNV glVertex2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2hvNV(OpenTK.Half* v); internal unsafe static Vertex2hvNV glVertex2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2i(Int32 x, Int32 y); internal static Vertex2i glVertex2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2iv(Int32* v); internal unsafe static Vertex2iv glVertex2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex2s(Int16 x, Int16 y); internal static Vertex2s glVertex2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex2sv(Int16* v); internal unsafe static Vertex2sv glVertex2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3d(Double x, Double y, Double z); internal static Vertex3d glVertex3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3dv(Double* v); internal unsafe static Vertex3dv glVertex3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3f(Single x, Single y, Single z); internal static Vertex3f glVertex3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3fv(Single* v); internal unsafe static Vertex3fv glVertex3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z); internal static Vertex3hNV glVertex3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3hvNV(OpenTK.Half* v); internal unsafe static Vertex3hvNV glVertex3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3i(Int32 x, Int32 y, Int32 z); internal static Vertex3i glVertex3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3iv(Int32* v); internal unsafe static Vertex3iv glVertex3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex3s(Int16 x, Int16 y, Int16 z); internal static Vertex3s glVertex3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex3sv(Int16* v); internal unsafe static Vertex3sv glVertex3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4d(Double x, Double y, Double z, Double w); internal static Vertex4d glVertex4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4dv(Double* v); internal unsafe static Vertex4dv glVertex4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4f(Single x, Single y, Single z, Single w); internal static Vertex4f glVertex4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4fv(Single* v); internal unsafe static Vertex4fv glVertex4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w); internal static Vertex4hNV glVertex4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4hvNV(OpenTK.Half* v); internal unsafe static Vertex4hvNV glVertex4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w); internal static Vertex4i glVertex4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4iv(Int32* v); internal unsafe static Vertex4iv glVertex4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w); internal static Vertex4s glVertex4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void Vertex4sv(Int16* v); internal unsafe static Vertex4sv glVertex4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayParameteriAPPLE(OpenTK.Graphics.AppleVertexArrayRange pname, Int32 param); internal static VertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); internal static VertexArrayRangeAPPLE glVertexArrayRangeAPPLE; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexArrayRangeNV(Int32 length, IntPtr pointer); internal static VertexArrayRangeNV glVertexArrayRangeNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1d(UInt32 index, Double x); internal static VertexAttrib1d glVertexAttrib1d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1dARB(UInt32 index, Double x); internal static VertexAttrib1dARB glVertexAttrib1dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1dNV(UInt32 index, Double x); internal static VertexAttrib1dNV glVertexAttrib1dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dv(UInt32 index, Double* v); internal unsafe static VertexAttrib1dv glVertexAttrib1dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib1dvARB glVertexAttrib1dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib1dvNV glVertexAttrib1dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1f(UInt32 index, Single x); internal static VertexAttrib1f glVertexAttrib1f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1fARB(UInt32 index, Single x); internal static VertexAttrib1fARB glVertexAttrib1fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1fNV(UInt32 index, Single x); internal static VertexAttrib1fNV glVertexAttrib1fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fv(UInt32 index, Single* v); internal unsafe static VertexAttrib1fv glVertexAttrib1fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib1fvARB glVertexAttrib1fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib1fvNV glVertexAttrib1fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1hNV(UInt32 index, OpenTK.Half x); internal static VertexAttrib1hNV glVertexAttrib1hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1hvNV(UInt32 index, OpenTK.Half* v); internal unsafe static VertexAttrib1hvNV glVertexAttrib1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1s(UInt32 index, Int16 x); internal static VertexAttrib1s glVertexAttrib1s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1sARB(UInt32 index, Int16 x); internal static VertexAttrib1sARB glVertexAttrib1sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib1sNV(UInt32 index, Int16 x); internal static VertexAttrib1sNV glVertexAttrib1sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib1sv glVertexAttrib1sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib1svARB glVertexAttrib1svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib1svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib1svNV glVertexAttrib1svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2d(UInt32 index, Double x, Double y); internal static VertexAttrib2d glVertexAttrib2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2dARB(UInt32 index, Double x, Double y); internal static VertexAttrib2dARB glVertexAttrib2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2dNV(UInt32 index, Double x, Double y); internal static VertexAttrib2dNV glVertexAttrib2dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dv(UInt32 index, Double* v); internal unsafe static VertexAttrib2dv glVertexAttrib2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib2dvARB glVertexAttrib2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib2dvNV glVertexAttrib2dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2f(UInt32 index, Single x, Single y); internal static VertexAttrib2f glVertexAttrib2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2fARB(UInt32 index, Single x, Single y); internal static VertexAttrib2fARB glVertexAttrib2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2fNV(UInt32 index, Single x, Single y); internal static VertexAttrib2fNV glVertexAttrib2fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fv(UInt32 index, Single* v); internal unsafe static VertexAttrib2fv glVertexAttrib2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib2fvARB glVertexAttrib2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib2fvNV glVertexAttrib2fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y); internal static VertexAttrib2hNV glVertexAttrib2hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2hvNV(UInt32 index, OpenTK.Half* v); internal unsafe static VertexAttrib2hvNV glVertexAttrib2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2s(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2s glVertexAttrib2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2sARB glVertexAttrib2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y); internal static VertexAttrib2sNV glVertexAttrib2sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib2sv glVertexAttrib2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib2svARB glVertexAttrib2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib2svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib2svNV glVertexAttrib2svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3d(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3d glVertexAttrib3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3dARB glVertexAttrib3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z); internal static VertexAttrib3dNV glVertexAttrib3dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dv(UInt32 index, Double* v); internal unsafe static VertexAttrib3dv glVertexAttrib3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib3dvARB glVertexAttrib3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib3dvNV glVertexAttrib3dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3f(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3f glVertexAttrib3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3fARB glVertexAttrib3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z); internal static VertexAttrib3fNV glVertexAttrib3fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fv(UInt32 index, Single* v); internal unsafe static VertexAttrib3fv glVertexAttrib3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib3fvARB glVertexAttrib3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib3fvNV glVertexAttrib3fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z); internal static VertexAttrib3hNV glVertexAttrib3hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3hvNV(UInt32 index, OpenTK.Half* v); internal unsafe static VertexAttrib3hvNV glVertexAttrib3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3s glVertexAttrib3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3sARB glVertexAttrib3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z); internal static VertexAttrib3sNV glVertexAttrib3sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib3sv glVertexAttrib3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib3svARB glVertexAttrib3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib3svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib3svNV glVertexAttrib3svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4bv(UInt32 index, SByte* v); internal unsafe static VertexAttrib4bv glVertexAttrib4bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4bvARB(UInt32 index, SByte* v); internal unsafe static VertexAttrib4bvARB glVertexAttrib4bvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4d glVertexAttrib4d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4dARB glVertexAttrib4dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w); internal static VertexAttrib4dNV glVertexAttrib4dNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dv(UInt32 index, Double* v); internal unsafe static VertexAttrib4dv glVertexAttrib4dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dvARB(UInt32 index, Double* v); internal unsafe static VertexAttrib4dvARB glVertexAttrib4dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4dvNV(UInt32 index, Double* v); internal unsafe static VertexAttrib4dvNV glVertexAttrib4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4f glVertexAttrib4f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4fARB glVertexAttrib4fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w); internal static VertexAttrib4fNV glVertexAttrib4fNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fv(UInt32 index, Single* v); internal unsafe static VertexAttrib4fv glVertexAttrib4fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fvARB(UInt32 index, Single* v); internal unsafe static VertexAttrib4fvARB glVertexAttrib4fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4fvNV(UInt32 index, Single* v); internal unsafe static VertexAttrib4fvNV glVertexAttrib4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w); internal static VertexAttrib4hNV glVertexAttrib4hNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4hvNV(UInt32 index, OpenTK.Half* v); internal unsafe static VertexAttrib4hvNV glVertexAttrib4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4iv(UInt32 index, Int32* v); internal unsafe static VertexAttrib4iv glVertexAttrib4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ivARB(UInt32 index, Int32* v); internal unsafe static VertexAttrib4ivARB glVertexAttrib4ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nbv(UInt32 index, SByte* v); internal unsafe static VertexAttrib4Nbv glVertexAttrib4Nbv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NbvARB(UInt32 index, SByte* v); internal unsafe static VertexAttrib4NbvARB glVertexAttrib4NbvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Niv(UInt32 index, Int32* v); internal unsafe static VertexAttrib4Niv glVertexAttrib4Niv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NivARB(UInt32 index, Int32* v); internal unsafe static VertexAttrib4NivARB glVertexAttrib4NivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nsv(UInt32 index, Int16* v); internal unsafe static VertexAttrib4Nsv glVertexAttrib4Nsv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NsvARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib4NsvARB glVertexAttrib4NsvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4Nub glVertexAttrib4Nub; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4NubARB glVertexAttrib4NubARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nubv(UInt32 index, Byte* v); internal unsafe static VertexAttrib4Nubv glVertexAttrib4Nubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NubvARB(UInt32 index, Byte* v); internal unsafe static VertexAttrib4NubvARB glVertexAttrib4NubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nuiv(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4Nuiv glVertexAttrib4Nuiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NuivARB(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4NuivARB glVertexAttrib4NuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4Nusv(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4Nusv glVertexAttrib4Nusv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4NusvARB(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4NusvARB glVertexAttrib4NusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4s glVertexAttrib4s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4sARB glVertexAttrib4sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexAttrib4sNV glVertexAttrib4sNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4sv(UInt32 index, Int16* v); internal unsafe static VertexAttrib4sv glVertexAttrib4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4svARB(UInt32 index, Int16* v); internal unsafe static VertexAttrib4svARB glVertexAttrib4svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4svNV(UInt32 index, Int16* v); internal unsafe static VertexAttrib4svNV glVertexAttrib4svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w); internal static VertexAttrib4ubNV glVertexAttrib4ubNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubv(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubv glVertexAttrib4ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubvARB(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubvARB glVertexAttrib4ubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4ubvNV(UInt32 index, Byte* v); internal unsafe static VertexAttrib4ubvNV glVertexAttrib4ubvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4uiv glVertexAttrib4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4uivARB(UInt32 index, UInt32* v); internal unsafe static VertexAttrib4uivARB glVertexAttrib4uivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4usv(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4usv glVertexAttrib4usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttrib4usvARB(UInt32 index, UInt16* v); internal unsafe static VertexAttrib4usvARB glVertexAttrib4usvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribArrayObjectATI(UInt32 index, Int32 size, OpenTK.Graphics.AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset); internal static VertexAttribArrayObjectATI glVertexAttribArrayObjectATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribDivisorARB(UInt32 index, UInt32 divisor); internal static VertexAttribDivisorARB glVertexAttribDivisorARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1i(UInt32 index, Int32 x); internal static VertexAttribI1i glVertexAttribI1i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1iEXT(UInt32 index, Int32 x); internal static VertexAttribI1iEXT glVertexAttribI1iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1iv(UInt32 index, Int32* v); internal unsafe static VertexAttribI1iv glVertexAttribI1iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI1ivEXT glVertexAttribI1ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1ui(UInt32 index, UInt32 x); internal static VertexAttribI1ui glVertexAttribI1ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI1uiEXT(UInt32 index, UInt32 x); internal static VertexAttribI1uiEXT glVertexAttribI1uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttribI1uiv glVertexAttribI1uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI1uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI1uivEXT glVertexAttribI1uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2i(UInt32 index, Int32 x, Int32 y); internal static VertexAttribI2i glVertexAttribI2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y); internal static VertexAttribI2iEXT glVertexAttribI2iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2iv(UInt32 index, Int32* v); internal unsafe static VertexAttribI2iv glVertexAttribI2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI2ivEXT glVertexAttribI2ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2ui(UInt32 index, UInt32 x, UInt32 y); internal static VertexAttribI2ui glVertexAttribI2ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y); internal static VertexAttribI2uiEXT glVertexAttribI2uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttribI2uiv glVertexAttribI2uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI2uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI2uivEXT glVertexAttribI2uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3i(UInt32 index, Int32 x, Int32 y, Int32 z); internal static VertexAttribI3i glVertexAttribI3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z); internal static VertexAttribI3iEXT glVertexAttribI3iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3iv(UInt32 index, Int32* v); internal unsafe static VertexAttribI3iv glVertexAttribI3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI3ivEXT glVertexAttribI3ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z); internal static VertexAttribI3ui glVertexAttribI3ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z); internal static VertexAttribI3uiEXT glVertexAttribI3uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttribI3uiv glVertexAttribI3uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI3uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI3uivEXT glVertexAttribI3uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4bv(UInt32 index, SByte* v); internal unsafe static VertexAttribI4bv glVertexAttribI4bv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4bvEXT(UInt32 index, SByte* v); internal unsafe static VertexAttribI4bvEXT glVertexAttribI4bvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static VertexAttribI4i glVertexAttribI4i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); internal static VertexAttribI4iEXT glVertexAttribI4iEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4iv(UInt32 index, Int32* v); internal unsafe static VertexAttribI4iv glVertexAttribI4iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4ivEXT(UInt32 index, Int32* v); internal unsafe static VertexAttribI4ivEXT glVertexAttribI4ivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4sv(UInt32 index, Int16* v); internal unsafe static VertexAttribI4sv glVertexAttribI4sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4svEXT(UInt32 index, Int16* v); internal unsafe static VertexAttribI4svEXT glVertexAttribI4svEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4ubv(UInt32 index, Byte* v); internal unsafe static VertexAttribI4ubv glVertexAttribI4ubv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4ubvEXT(UInt32 index, Byte* v); internal unsafe static VertexAttribI4ubvEXT glVertexAttribI4ubvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static VertexAttribI4ui glVertexAttribI4ui; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); internal static VertexAttribI4uiEXT glVertexAttribI4uiEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4uiv(UInt32 index, UInt32* v); internal unsafe static VertexAttribI4uiv glVertexAttribI4uiv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4uivEXT(UInt32 index, UInt32* v); internal unsafe static VertexAttribI4uivEXT glVertexAttribI4uivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4usv(UInt32 index, UInt16* v); internal unsafe static VertexAttribI4usv glVertexAttribI4usv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribI4usvEXT(UInt32 index, UInt16* v); internal unsafe static VertexAttribI4usvEXT glVertexAttribI4usvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribParameter type, Int32 stride, IntPtr pointer); internal static VertexAttribIPointer glVertexAttribIPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.NvVertexProgram4 type, Int32 stride, IntPtr pointer); internal static VertexAttribIPointerEXT glVertexAttribIPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer); internal static VertexAttribPointer glVertexAttribPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointerARB(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer); internal static VertexAttribPointerARB glVertexAttribPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexAttribPointerNV(UInt32 index, Int32 fsize, OpenTK.Graphics.VertexAttribParameterArb type, Int32 stride, IntPtr pointer); internal static VertexAttribPointerNV glVertexAttribPointerNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs1dvNV glVertexAttribs1dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs1fvNV glVertexAttribs1fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1hvNV(UInt32 index, Int32 n, OpenTK.Half* v); internal unsafe static VertexAttribs1hvNV glVertexAttribs1hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs1svNV glVertexAttribs1svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs2dvNV glVertexAttribs2dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs2fvNV glVertexAttribs2fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2hvNV(UInt32 index, Int32 n, OpenTK.Half* v); internal unsafe static VertexAttribs2hvNV glVertexAttribs2hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs2svNV glVertexAttribs2svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs3dvNV glVertexAttribs3dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs3fvNV glVertexAttribs3fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3hvNV(UInt32 index, Int32 n, OpenTK.Half* v); internal unsafe static VertexAttribs3hvNV glVertexAttribs3hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs3svNV glVertexAttribs3svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v); internal unsafe static VertexAttribs4dvNV glVertexAttribs4dvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v); internal unsafe static VertexAttribs4fvNV glVertexAttribs4fvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4hvNV(UInt32 index, Int32 n, OpenTK.Half* v); internal unsafe static VertexAttribs4hvNV glVertexAttribs4hvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v); internal unsafe static VertexAttribs4svNV glVertexAttribs4svNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v); internal unsafe static VertexAttribs4ubvNV glVertexAttribs4ubvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendARB(Int32 count); internal static VertexBlendARB glVertexBlendARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendEnvfATI(OpenTK.Graphics.AtiVertexStreams pname, Single param); internal static VertexBlendEnvfATI glVertexBlendEnvfATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexBlendEnviATI(OpenTK.Graphics.AtiVertexStreams pname, Int32 param); internal static VertexBlendEnviATI glVertexBlendEnviATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointer(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer); internal static VertexPointer glVertexPointer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointerEXT(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer); internal static VertexPointerEXT glVertexPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointerListIBM(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); internal static VertexPointerListIBM glVertexPointerListIBM; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); internal static VertexPointervINTEL glVertexPointervINTEL; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x); internal static VertexStream1dATI glVertexStream1dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); internal unsafe static VertexStream1dvATI glVertexStream1dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x); internal static VertexStream1fATI glVertexStream1fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); internal unsafe static VertexStream1fvATI glVertexStream1fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x); internal static VertexStream1iATI glVertexStream1iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); internal unsafe static VertexStream1ivATI glVertexStream1ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream1sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x); internal static VertexStream1sATI glVertexStream1sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream1svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); internal unsafe static VertexStream1svATI glVertexStream1svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y); internal static VertexStream2dATI glVertexStream2dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); internal unsafe static VertexStream2dvATI glVertexStream2dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y); internal static VertexStream2fATI glVertexStream2fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); internal unsafe static VertexStream2fvATI glVertexStream2fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y); internal static VertexStream2iATI glVertexStream2iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); internal unsafe static VertexStream2ivATI glVertexStream2ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream2sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y); internal static VertexStream2sATI glVertexStream2sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream2svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); internal unsafe static VertexStream2svATI glVertexStream2svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z); internal static VertexStream3dATI glVertexStream3dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); internal unsafe static VertexStream3dvATI glVertexStream3dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z); internal static VertexStream3fATI glVertexStream3fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); internal unsafe static VertexStream3fvATI glVertexStream3fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z); internal static VertexStream3iATI glVertexStream3iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); internal unsafe static VertexStream3ivATI glVertexStream3ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z); internal static VertexStream3sATI glVertexStream3sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); internal unsafe static VertexStream3svATI glVertexStream3svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z, Double w); internal static VertexStream4dATI glVertexStream4dATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); internal unsafe static VertexStream4dvATI glVertexStream4dvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z, Single w); internal static VertexStream4fATI glVertexStream4fATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); internal unsafe static VertexStream4fvATI glVertexStream4fvATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w); internal static VertexStream4iATI glVertexStream4iATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); internal unsafe static VertexStream4ivATI glVertexStream4ivATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexStream4sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w); internal static VertexStream4sATI glVertexStream4sATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexStream4svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); internal unsafe static VertexStream4svATI glVertexStream4svATI; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeightfEXT(Single weight); internal static VertexWeightfEXT glVertexWeightfEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexWeightfvEXT(Single* weight); internal unsafe static VertexWeightfvEXT glVertexWeightfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeighthNV(OpenTK.Half weight); internal static VertexWeighthNV glVertexWeighthNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void VertexWeighthvNV(OpenTK.Half* weight); internal unsafe static VertexWeighthvNV glVertexWeighthvNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void VertexWeightPointerEXT(Int32 size, OpenTK.Graphics.ExtVertexWeighting type, Int32 stride, IntPtr pointer); internal static VertexWeightPointerEXT glVertexWeightPointerEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); internal static Viewport glViewport; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); internal static WaitSync glWaitSync; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightbvARB(Int32 size, SByte* weights); internal unsafe static WeightbvARB glWeightbvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightdvARB(Int32 size, Double* weights); internal unsafe static WeightdvARB glWeightdvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightfvARB(Int32 size, Single* weights); internal unsafe static WeightfvARB glWeightfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightivARB(Int32 size, Int32* weights); internal unsafe static WeightivARB glWeightivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WeightPointerARB(Int32 size, OpenTK.Graphics.ArbVertexBlend type, Int32 stride, IntPtr pointer); internal static WeightPointerARB glWeightPointerARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightsvARB(Int32 size, Int16* weights); internal unsafe static WeightsvARB glWeightsvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightubvARB(Int32 size, Byte* weights); internal unsafe static WeightubvARB glWeightubvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightuivARB(Int32 size, UInt32* weights); internal unsafe static WeightuivARB glWeightuivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WeightusvARB(Int32 size, UInt16* weights); internal unsafe static WeightusvARB glWeightusvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2d(Double x, Double y); internal static WindowPos2d glWindowPos2d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2dARB(Double x, Double y); internal static WindowPos2dARB glWindowPos2dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2dMESA(Double x, Double y); internal static WindowPos2dMESA glWindowPos2dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dv(Double* v); internal unsafe static WindowPos2dv glWindowPos2dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dvARB(Double* v); internal unsafe static WindowPos2dvARB glWindowPos2dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2dvMESA(Double* v); internal unsafe static WindowPos2dvMESA glWindowPos2dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2f(Single x, Single y); internal static WindowPos2f glWindowPos2f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2fARB(Single x, Single y); internal static WindowPos2fARB glWindowPos2fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2fMESA(Single x, Single y); internal static WindowPos2fMESA glWindowPos2fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fv(Single* v); internal unsafe static WindowPos2fv glWindowPos2fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fvARB(Single* v); internal unsafe static WindowPos2fvARB glWindowPos2fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2fvMESA(Single* v); internal unsafe static WindowPos2fvMESA glWindowPos2fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2i(Int32 x, Int32 y); internal static WindowPos2i glWindowPos2i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2iARB(Int32 x, Int32 y); internal static WindowPos2iARB glWindowPos2iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2iMESA(Int32 x, Int32 y); internal static WindowPos2iMESA glWindowPos2iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2iv(Int32* v); internal unsafe static WindowPos2iv glWindowPos2iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2ivARB(Int32* v); internal unsafe static WindowPos2ivARB glWindowPos2ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2ivMESA(Int32* v); internal unsafe static WindowPos2ivMESA glWindowPos2ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2s(Int16 x, Int16 y); internal static WindowPos2s glWindowPos2s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2sARB(Int16 x, Int16 y); internal static WindowPos2sARB glWindowPos2sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos2sMESA(Int16 x, Int16 y); internal static WindowPos2sMESA glWindowPos2sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2sv(Int16* v); internal unsafe static WindowPos2sv glWindowPos2sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2svARB(Int16* v); internal unsafe static WindowPos2svARB glWindowPos2svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos2svMESA(Int16* v); internal unsafe static WindowPos2svMESA glWindowPos2svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3d(Double x, Double y, Double z); internal static WindowPos3d glWindowPos3d; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3dARB(Double x, Double y, Double z); internal static WindowPos3dARB glWindowPos3dARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3dMESA(Double x, Double y, Double z); internal static WindowPos3dMESA glWindowPos3dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dv(Double* v); internal unsafe static WindowPos3dv glWindowPos3dv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dvARB(Double* v); internal unsafe static WindowPos3dvARB glWindowPos3dvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3dvMESA(Double* v); internal unsafe static WindowPos3dvMESA glWindowPos3dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3f(Single x, Single y, Single z); internal static WindowPos3f glWindowPos3f; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3fARB(Single x, Single y, Single z); internal static WindowPos3fARB glWindowPos3fARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3fMESA(Single x, Single y, Single z); internal static WindowPos3fMESA glWindowPos3fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fv(Single* v); internal unsafe static WindowPos3fv glWindowPos3fv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fvARB(Single* v); internal unsafe static WindowPos3fvARB glWindowPos3fvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3fvMESA(Single* v); internal unsafe static WindowPos3fvMESA glWindowPos3fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3i(Int32 x, Int32 y, Int32 z); internal static WindowPos3i glWindowPos3i; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3iARB(Int32 x, Int32 y, Int32 z); internal static WindowPos3iARB glWindowPos3iARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3iMESA(Int32 x, Int32 y, Int32 z); internal static WindowPos3iMESA glWindowPos3iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3iv(Int32* v); internal unsafe static WindowPos3iv glWindowPos3iv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3ivARB(Int32* v); internal unsafe static WindowPos3ivARB glWindowPos3ivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3ivMESA(Int32* v); internal unsafe static WindowPos3ivMESA glWindowPos3ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3s(Int16 x, Int16 y, Int16 z); internal static WindowPos3s glWindowPos3s; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3sARB(Int16 x, Int16 y, Int16 z); internal static WindowPos3sARB glWindowPos3sARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos3sMESA(Int16 x, Int16 y, Int16 z); internal static WindowPos3sMESA glWindowPos3sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3sv(Int16* v); internal unsafe static WindowPos3sv glWindowPos3sv; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3svARB(Int16* v); internal unsafe static WindowPos3svARB glWindowPos3svARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos3svMESA(Int16* v); internal unsafe static WindowPos3svMESA glWindowPos3svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4dMESA(Double x, Double y, Double z, Double w); internal static WindowPos4dMESA glWindowPos4dMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4dvMESA(Double* v); internal unsafe static WindowPos4dvMESA glWindowPos4dvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4fMESA(Single x, Single y, Single z, Single w); internal static WindowPos4fMESA glWindowPos4fMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4fvMESA(Single* v); internal unsafe static WindowPos4fvMESA glWindowPos4fvMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w); internal static WindowPos4iMESA glWindowPos4iMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4ivMESA(Int32* v); internal unsafe static WindowPos4ivMESA glWindowPos4ivMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w); internal static WindowPos4sMESA glWindowPos4sMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void WindowPos4svMESA(Int16* v); internal unsafe static WindowPos4svMESA glWindowPos4svMESA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void WriteMaskEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW); internal static WriteMaskEXT glWriteMaskEXT; } } } opentk-1.0.20101006/Source/Compatibility/Graphics/GL/GLCore.cs0000664000175000017500000223032711453131426022334 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 partial class GL { [Obsolete] internal static partial class Imports { [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAccum", ExactSpelling = true)] internal extern static void Accum(OpenTK.Graphics.AccumOp op, Single value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveStencilFaceEXT", ExactSpelling = true)] internal extern static void ActiveStencilFaceEXT(OpenTK.Graphics.ExtStencilTwoSide face); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveTexture", ExactSpelling = true)] internal extern static void ActiveTexture(OpenTK.Graphics.TextureUnit texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveTextureARB", ExactSpelling = true)] internal extern static void ActiveTextureARB(OpenTK.Graphics.TextureUnit texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveVaryingNV", ExactSpelling = true)] internal extern static void ActiveVaryingNV(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp1ATI", ExactSpelling = true)] internal extern static void AlphaFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp2ATI", ExactSpelling = true)] internal extern static void AlphaFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp3ATI", ExactSpelling = true)] internal extern static void AlphaFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFunc", ExactSpelling = true)] internal extern static void AlphaFunc(OpenTK.Graphics.AlphaFunction func, Single @ref); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glApplyTextureEXT", ExactSpelling = true)] internal extern static void ApplyTextureEXT(OpenTK.Graphics.ExtLightTexture mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreProgramsResidentNV", ExactSpelling = true)] internal extern static unsafe bool AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool* residences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreTexturesResident", ExactSpelling = true)] internal extern static unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreTexturesResidentEXT", ExactSpelling = true)] internal extern static unsafe bool AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] bool* residences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayElement", ExactSpelling = true)] internal extern static void ArrayElement(Int32 i); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayElementEXT", ExactSpelling = true)] internal extern static void ArrayElementEXT(Int32 i); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayObjectATI", ExactSpelling = true)] internal extern static void ArrayObjectATI(OpenTK.Graphics.EnableCap array, Int32 size, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAsyncMarkerSGIX", ExactSpelling = true)] internal extern static void AsyncMarkerSGIX(UInt32 marker); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAttachObjectARB", ExactSpelling = true)] internal extern static void AttachObjectARB(UInt32 containerObj, UInt32 obj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAttachShader", ExactSpelling = true)] internal extern static void AttachShader(UInt32 program, UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBegin", ExactSpelling = true)] internal extern static void Begin(OpenTK.Graphics.BeginMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginConditionalRender", ExactSpelling = true)] internal extern static void BeginConditionalRender(UInt32 id, OpenTK.Graphics.ConditionalRenderType mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginConditionalRenderNV", ExactSpelling = true)] internal extern static void BeginConditionalRenderNV(UInt32 id, OpenTK.Graphics.NvConditionalRender mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginFragmentShaderATI", ExactSpelling = true)] internal extern static void BeginFragmentShaderATI(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginOcclusionQueryNV", ExactSpelling = true)] internal extern static void BeginOcclusionQueryNV(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginPerfMonitorAMD", ExactSpelling = true)] internal extern static void BeginPerfMonitorAMD(UInt32 monitor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginQuery", ExactSpelling = true)] internal extern static void BeginQuery(OpenTK.Graphics.QueryTarget target, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginQueryARB", ExactSpelling = true)] internal extern static void BeginQueryARB(OpenTK.Graphics.ArbOcclusionQuery target, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedback", ExactSpelling = true)] internal extern static void BeginTransformFeedback(OpenTK.Graphics.BeginFeedbackMode primitiveMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedbackEXT", ExactSpelling = true)] internal extern static void BeginTransformFeedbackEXT(OpenTK.Graphics.ExtTransformFeedback primitiveMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedbackNV", ExactSpelling = true)] internal extern static void BeginTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback primitiveMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginVertexShaderEXT", ExactSpelling = true)] internal extern static void BeginVertexShaderEXT(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindAttribLocation", ExactSpelling = true)] internal extern static void BindAttribLocation(UInt32 program, UInt32 index, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindAttribLocationARB", ExactSpelling = true)] internal extern static void BindAttribLocationARB(UInt32 programObj, UInt32 index, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBuffer", ExactSpelling = true)] internal extern static void BindBuffer(OpenTK.Graphics.BufferTarget target, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferARB", ExactSpelling = true)] internal extern static void BindBufferARB(OpenTK.Graphics.BufferTargetArb target, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBase", ExactSpelling = true)] internal extern static void BindBufferBase(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBaseEXT", ExactSpelling = true)] internal extern static void BindBufferBaseEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBaseNV", ExactSpelling = true)] internal extern static void BindBufferBaseNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferOffsetEXT", ExactSpelling = true)] internal extern static void BindBufferOffsetEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferOffsetNV", ExactSpelling = true)] internal extern static void BindBufferOffsetNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRange", ExactSpelling = true)] internal extern static void BindBufferRange(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRangeEXT", ExactSpelling = true)] internal extern static void BindBufferRangeEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRangeNV", ExactSpelling = true)] internal extern static void BindBufferRangeNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragDataLocation", ExactSpelling = true)] internal extern static void BindFragDataLocation(UInt32 program, UInt32 color, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragDataLocationEXT", ExactSpelling = true)] internal extern static void BindFragDataLocationEXT(UInt32 program, UInt32 color, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragmentShaderATI", ExactSpelling = true)] internal extern static void BindFragmentShaderATI(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFramebuffer", ExactSpelling = true)] internal extern static void BindFramebuffer(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFramebufferEXT", ExactSpelling = true)] internal extern static void BindFramebufferEXT(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindLightParameterEXT", ExactSpelling = true)] internal extern static Int32 BindLightParameterEXT(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindMaterialParameterEXT", ExactSpelling = true)] internal extern static Int32 BindMaterialParameterEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindMultiTextureEXT", ExactSpelling = true)] internal extern static void BindMultiTextureEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindParameterEXT", ExactSpelling = true)] internal extern static Int32 BindParameterEXT(OpenTK.Graphics.ExtVertexShader value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindProgramARB", ExactSpelling = true)] internal extern static void BindProgramARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindProgramNV", ExactSpelling = true)] internal extern static void BindProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindRenderbuffer", ExactSpelling = true)] internal extern static void BindRenderbuffer(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindRenderbufferEXT", ExactSpelling = true)] internal extern static void BindRenderbufferEXT(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTexGenParameterEXT", ExactSpelling = true)] internal extern static Int32 BindTexGenParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTexture", ExactSpelling = true)] internal extern static void BindTexture(OpenTK.Graphics.TextureTarget target, UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTextureEXT", ExactSpelling = true)] internal extern static void BindTextureEXT(OpenTK.Graphics.TextureTarget target, UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTextureUnitParameterEXT", ExactSpelling = true)] internal extern static Int32 BindTextureUnitParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.ExtVertexShader value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTransformFeedbackNV", ExactSpelling = true)] internal extern static void BindTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 target, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexArray", ExactSpelling = true)] internal extern static void BindVertexArray(UInt32 array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexArrayAPPLE", ExactSpelling = true)] internal extern static void BindVertexArrayAPPLE(UInt32 array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexShaderEXT", ExactSpelling = true)] internal extern static void BindVertexShaderEXT(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3bEXT", ExactSpelling = true)] internal extern static void Binormal3bEXT(SByte bx, SByte by, SByte bz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3bvEXT", ExactSpelling = true)] internal extern static unsafe void Binormal3bvEXT(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3dEXT", ExactSpelling = true)] internal extern static void Binormal3dEXT(Double bx, Double by, Double bz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3dvEXT", ExactSpelling = true)] internal extern static unsafe void Binormal3dvEXT(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3fEXT", ExactSpelling = true)] internal extern static void Binormal3fEXT(Single bx, Single by, Single bz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3fvEXT", ExactSpelling = true)] internal extern static unsafe void Binormal3fvEXT(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3iEXT", ExactSpelling = true)] internal extern static void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3ivEXT", ExactSpelling = true)] internal extern static unsafe void Binormal3ivEXT(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3sEXT", ExactSpelling = true)] internal extern static void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3svEXT", ExactSpelling = true)] internal extern static unsafe void Binormal3svEXT(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormalPointerEXT", ExactSpelling = true)] internal extern static void BinormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBitmap", ExactSpelling = true)] internal extern static unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendColor", ExactSpelling = true)] internal extern static void BlendColor(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendColorEXT", ExactSpelling = true)] internal extern static void BlendColorEXT(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquation", ExactSpelling = true)] internal extern static void BlendEquation(OpenTK.Graphics.BlendEquationMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationEXT", ExactSpelling = true)] internal extern static void BlendEquationEXT(OpenTK.Graphics.ExtBlendMinmax mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationi", ExactSpelling = true)] internal extern static void BlendEquationi(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationIndexedAMD", ExactSpelling = true)] internal extern static void BlendEquationIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparate", ExactSpelling = true)] internal extern static void BlendEquationSeparate(OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparateEXT", ExactSpelling = true)] internal extern static void BlendEquationSeparateEXT(OpenTK.Graphics.ExtBlendEquationSeparate modeRGB, OpenTK.Graphics.ExtBlendEquationSeparate modeAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparatei", ExactSpelling = true)] internal extern static void BlendEquationSeparatei(UInt32 buf, OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparateIndexedAMD", ExactSpelling = true)] internal extern static void BlendEquationSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend modeRGB, OpenTK.Graphics.AmdDrawBuffersBlend modeAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFunc", ExactSpelling = true)] internal extern static void BlendFunc(OpenTK.Graphics.BlendingFactorSrc sfactor, OpenTK.Graphics.BlendingFactorDest dfactor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFunci", ExactSpelling = true)] internal extern static void BlendFunci(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend src, OpenTK.Graphics.ArbDrawBuffersBlend dst); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncIndexedAMD", ExactSpelling = true)] internal extern static void BlendFuncIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend src, OpenTK.Graphics.AmdDrawBuffersBlend dst); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparate", ExactSpelling = true)] internal extern static void BlendFuncSeparate(OpenTK.Graphics.BlendingFactorSrc sfactorRGB, OpenTK.Graphics.BlendingFactorDest dfactorRGB, OpenTK.Graphics.BlendingFactorSrc sfactorAlpha, OpenTK.Graphics.BlendingFactorDest dfactorAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateEXT", ExactSpelling = true)] internal extern static void BlendFuncSeparateEXT(OpenTK.Graphics.ExtBlendFuncSeparate sfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate dfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate sfactorAlpha, OpenTK.Graphics.ExtBlendFuncSeparate dfactorAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparatei", ExactSpelling = true)] internal extern static void BlendFuncSeparatei(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend srcRGB, OpenTK.Graphics.ArbDrawBuffersBlend dstRGB, OpenTK.Graphics.ArbDrawBuffersBlend srcAlpha, OpenTK.Graphics.ArbDrawBuffersBlend dstAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateIndexedAMD", ExactSpelling = true)] internal extern static void BlendFuncSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend srcRGB, OpenTK.Graphics.AmdDrawBuffersBlend dstRGB, OpenTK.Graphics.AmdDrawBuffersBlend srcAlpha, OpenTK.Graphics.AmdDrawBuffersBlend dstAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateINGR", ExactSpelling = true)] internal extern static void BlendFuncSeparateINGR(OpenTK.Graphics.All sfactorRGB, OpenTK.Graphics.All dfactorRGB, OpenTK.Graphics.All sfactorAlpha, OpenTK.Graphics.All dfactorAlpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlitFramebuffer", ExactSpelling = true)] internal extern static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.BlitFramebufferFilter filter); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlitFramebufferEXT", ExactSpelling = true)] internal extern static void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.ExtFramebufferBlit filter); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferData", ExactSpelling = true)] internal extern static void BufferData(OpenTK.Graphics.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageHint usage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferDataARB", ExactSpelling = true)] internal extern static void BufferDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageArb usage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferParameteriAPPLE", ExactSpelling = true)] internal extern static void BufferParameteriAPPLE(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterApple pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferSubData", ExactSpelling = true)] internal extern static void BufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferSubDataARB", ExactSpelling = true)] internal extern static void BufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCallList", ExactSpelling = true)] internal extern static void CallList(UInt32 list); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCallLists", ExactSpelling = true)] internal extern static void CallLists(Int32 n, OpenTK.Graphics.ListNameType type, IntPtr lists); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckFramebufferStatus", ExactSpelling = true)] internal extern static OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatus(OpenTK.Graphics.FramebufferTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckFramebufferStatusEXT", ExactSpelling = true)] internal extern static OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatusEXT(OpenTK.Graphics.FramebufferTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckNamedFramebufferStatusEXT", ExactSpelling = true)] internal extern static OpenTK.Graphics.ExtDirectStateAccess CheckNamedFramebufferStatusEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClampColor", ExactSpelling = true)] internal extern static void ClampColor(OpenTK.Graphics.ClampColorTarget target, OpenTK.Graphics.ClampColorMode clamp); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClampColorARB", ExactSpelling = true)] internal extern static void ClampColorARB(OpenTK.Graphics.ArbColorBufferFloat target, OpenTK.Graphics.ArbColorBufferFloat clamp); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClear", ExactSpelling = true)] internal extern static void Clear(OpenTK.Graphics.ClearBufferMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearAccum", ExactSpelling = true)] internal extern static void ClearAccum(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferfi", ExactSpelling = true)] internal extern static void ClearBufferfi(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferfv", ExactSpelling = true)] internal extern static unsafe void ClearBufferfv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferiv", ExactSpelling = true)] internal extern static unsafe void ClearBufferiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferuiv", ExactSpelling = true)] internal extern static unsafe void ClearBufferuiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColor", ExactSpelling = true)] internal extern static void ClearColor(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColorIiEXT", ExactSpelling = true)] internal extern static void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColorIuiEXT", ExactSpelling = true)] internal extern static void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearDepth", ExactSpelling = true)] internal extern static void ClearDepth(Double depth); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearDepthdNV", ExactSpelling = true)] internal extern static void ClearDepthdNV(Double depth); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearIndex", ExactSpelling = true)] internal extern static void ClearIndex(Single c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearStencil", ExactSpelling = true)] internal extern static void ClearStencil(Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveTexture", ExactSpelling = true)] internal extern static void ClientActiveTexture(OpenTK.Graphics.TextureUnit texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveTextureARB", ExactSpelling = true)] internal extern static void ClientActiveTextureARB(OpenTK.Graphics.TextureUnit texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveVertexStreamATI", ExactSpelling = true)] internal extern static void ClientActiveVertexStreamATI(OpenTK.Graphics.AtiVertexStreams stream); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientAttribDefaultEXT", ExactSpelling = true)] internal extern static void ClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSync", ExactSpelling = true)] internal extern static OpenTK.Graphics.ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClipPlane", ExactSpelling = true)] internal extern static unsafe void ClipPlane(OpenTK.Graphics.ClipPlaneName plane, Double* equation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3b", ExactSpelling = true)] internal extern static void Color3b(SByte red, SByte green, SByte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3bv", ExactSpelling = true)] internal extern static unsafe void Color3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3d", ExactSpelling = true)] internal extern static void Color3d(Double red, Double green, Double blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3dv", ExactSpelling = true)] internal extern static unsafe void Color3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3f", ExactSpelling = true)] internal extern static void Color3f(Single red, Single green, Single blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fv", ExactSpelling = true)] internal extern static unsafe void Color3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fVertex3fSUN", ExactSpelling = true)] internal extern static void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void Color3fVertex3fvSUN(Single* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3hNV", ExactSpelling = true)] internal extern static void Color3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3hvNV", ExactSpelling = true)] internal extern static unsafe void Color3hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3i", ExactSpelling = true)] internal extern static void Color3i(Int32 red, Int32 green, Int32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3iv", ExactSpelling = true)] internal extern static unsafe void Color3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3s", ExactSpelling = true)] internal extern static void Color3s(Int16 red, Int16 green, Int16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3sv", ExactSpelling = true)] internal extern static unsafe void Color3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ub", ExactSpelling = true)] internal extern static void Color3ub(Byte red, Byte green, Byte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ubv", ExactSpelling = true)] internal extern static unsafe void Color3ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ui", ExactSpelling = true)] internal extern static void Color3ui(UInt32 red, UInt32 green, UInt32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3uiv", ExactSpelling = true)] internal extern static unsafe void Color3uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3us", ExactSpelling = true)] internal extern static void Color3us(UInt16 red, UInt16 green, UInt16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3usv", ExactSpelling = true)] internal extern static unsafe void Color3usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4b", ExactSpelling = true)] internal extern static void Color4b(SByte red, SByte green, SByte blue, SByte alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4bv", ExactSpelling = true)] internal extern static unsafe void Color4bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4d", ExactSpelling = true)] internal extern static void Color4d(Double red, Double green, Double blue, Double alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4dv", ExactSpelling = true)] internal extern static unsafe void Color4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4f", ExactSpelling = true)] internal extern static void Color4f(Single red, Single green, Single blue, Single alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fv", ExactSpelling = true)] internal extern static unsafe void Color4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4hNV", ExactSpelling = true)] internal extern static void Color4hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4hvNV", ExactSpelling = true)] internal extern static unsafe void Color4hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4i", ExactSpelling = true)] internal extern static void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4iv", ExactSpelling = true)] internal extern static unsafe void Color4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4s", ExactSpelling = true)] internal extern static void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4sv", ExactSpelling = true)] internal extern static unsafe void Color4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ub", ExactSpelling = true)] internal extern static void Color4ub(Byte red, Byte green, Byte blue, Byte alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubv", ExactSpelling = true)] internal extern static unsafe void Color4ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex2fSUN", ExactSpelling = true)] internal extern static void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex2fvSUN", ExactSpelling = true)] internal extern static unsafe void Color4ubVertex2fvSUN(Byte* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex3fSUN", ExactSpelling = true)] internal extern static void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void Color4ubVertex3fvSUN(Byte* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ui", ExactSpelling = true)] internal extern static void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4uiv", ExactSpelling = true)] internal extern static unsafe void Color4uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4us", ExactSpelling = true)] internal extern static void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4usv", ExactSpelling = true)] internal extern static unsafe void Color4usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp1ATI", ExactSpelling = true)] internal extern static void ColorFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp2ATI", ExactSpelling = true)] internal extern static void ColorFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp3ATI", ExactSpelling = true)] internal extern static void ColorFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMask", ExactSpelling = true)] internal extern static void ColorMask(bool red, bool green, bool blue, bool alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaski", ExactSpelling = true)] internal extern static void ColorMaski(UInt32 index, bool r, bool g, bool b, bool a); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaskIndexedEXT", ExactSpelling = true)] internal extern static void ColorMaskIndexedEXT(UInt32 index, bool r, bool g, bool b, bool a); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaterial", ExactSpelling = true)] internal extern static void ColorMaterial(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ColorMaterialParameter mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointer", ExactSpelling = true)] internal extern static void ColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointerEXT", ExactSpelling = true)] internal extern static void ColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointerListIBM", ExactSpelling = true)] internal extern static void ColorPointerListIBM(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointervINTEL", ExactSpelling = true)] internal extern static void ColorPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorSubTable", ExactSpelling = true)] internal extern static void ColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorSubTableEXT", ExactSpelling = true)] internal extern static void ColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTable", ExactSpelling = true)] internal extern static void ColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableEXT", ExactSpelling = true)] internal extern static void ColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalFormat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterfv", ExactSpelling = true)] internal extern static unsafe void ColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterfvSGI", ExactSpelling = true)] internal extern static unsafe void ColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameteriv", ExactSpelling = true)] internal extern static unsafe void ColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterivSGI", ExactSpelling = true)] internal extern static unsafe void ColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableSGI", ExactSpelling = true)] internal extern static void ColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerInputNV", ExactSpelling = true)] internal extern static void CombinerInputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerOutputNV", ExactSpelling = true)] internal extern static void CombinerOutputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners abOutput, OpenTK.Graphics.NvRegisterCombiners cdOutput, OpenTK.Graphics.NvRegisterCombiners sumOutput, OpenTK.Graphics.NvRegisterCombiners scale, OpenTK.Graphics.NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterfNV", ExactSpelling = true)] internal extern static void CombinerParameterfNV(OpenTK.Graphics.NvRegisterCombiners pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterfvNV", ExactSpelling = true)] internal extern static unsafe void CombinerParameterfvNV(OpenTK.Graphics.NvRegisterCombiners pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameteriNV", ExactSpelling = true)] internal extern static void CombinerParameteriNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterivNV", ExactSpelling = true)] internal extern static unsafe void CombinerParameterivNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerStageParameterfvNV", ExactSpelling = true)] internal extern static unsafe void CombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompileShader", ExactSpelling = true)] internal extern static void CompileShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompileShaderARB", ExactSpelling = true)] internal extern static void CompileShaderARB(UInt32 shaderObj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage1DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage2DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage3DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage1DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage2DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage3DEXT", ExactSpelling = true)] internal extern static void CompressedMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage1D", ExactSpelling = true)] internal extern static void CompressedTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage1DARB", ExactSpelling = true)] internal extern static void CompressedTexImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage2D", ExactSpelling = true)] internal extern static void CompressedTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage2DARB", ExactSpelling = true)] internal extern static void CompressedTexImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage3D", ExactSpelling = true)] internal extern static void CompressedTexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage3DARB", ExactSpelling = true)] internal extern static void CompressedTexImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage1D", ExactSpelling = true)] internal extern static void CompressedTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage1DARB", ExactSpelling = true)] internal extern static void CompressedTexSubImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage2D", ExactSpelling = true)] internal extern static void CompressedTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage2DARB", ExactSpelling = true)] internal extern static void CompressedTexSubImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage3D", ExactSpelling = true)] internal extern static void CompressedTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage3DARB", ExactSpelling = true)] internal extern static void CompressedTexSubImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage1DEXT", ExactSpelling = true)] internal extern static void CompressedTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage2DEXT", ExactSpelling = true)] internal extern static void CompressedTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage3DEXT", ExactSpelling = true)] internal extern static void CompressedTextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage1DEXT", ExactSpelling = true)] internal extern static void CompressedTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage2DEXT", ExactSpelling = true)] internal extern static void CompressedTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage3DEXT", ExactSpelling = true)] internal extern static void CompressedTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter1D", ExactSpelling = true)] internal extern static void ConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter1DEXT", ExactSpelling = true)] internal extern static void ConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter2D", ExactSpelling = true)] internal extern static void ConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter2DEXT", ExactSpelling = true)] internal extern static void ConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterf", ExactSpelling = true)] internal extern static void ConvolutionParameterf(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfEXT", ExactSpelling = true)] internal extern static void ConvolutionParameterfEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfv", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteri", ExactSpelling = true)] internal extern static void ConvolutionParameteri(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32 @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteriEXT", ExactSpelling = true)] internal extern static void ConvolutionParameteriEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32 @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteriv", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterivEXT", ExactSpelling = true)] internal extern static unsafe void ConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyBufferSubData", ExactSpelling = true)] internal extern static void CopyBufferSubData(OpenTK.Graphics.BufferTarget readTarget, OpenTK.Graphics.BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorSubTable", ExactSpelling = true)] internal extern static void CopyColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorSubTableEXT", ExactSpelling = true)] internal extern static void CopyColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorTable", ExactSpelling = true)] internal extern static void CopyColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorTableSGI", ExactSpelling = true)] internal extern static void CopyColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter1D", ExactSpelling = true)] internal extern static void CopyConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter1DEXT", ExactSpelling = true)] internal extern static void CopyConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter2D", ExactSpelling = true)] internal extern static void CopyConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter2DEXT", ExactSpelling = true)] internal extern static void CopyConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexImage1DEXT", ExactSpelling = true)] internal extern static void CopyMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexImage2DEXT", ExactSpelling = true)] internal extern static void CopyMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage1DEXT", ExactSpelling = true)] internal extern static void CopyMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage2DEXT", ExactSpelling = true)] internal extern static void CopyMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage3DEXT", ExactSpelling = true)] internal extern static void CopyMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyPixels", ExactSpelling = true)] internal extern static void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelCopyType type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage1D", ExactSpelling = true)] internal extern static void CopyTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage1DEXT", ExactSpelling = true)] internal extern static void CopyTexImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage2D", ExactSpelling = true)] internal extern static void CopyTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage2DEXT", ExactSpelling = true)] internal extern static void CopyTexImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage1D", ExactSpelling = true)] internal extern static void CopyTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage1DEXT", ExactSpelling = true)] internal extern static void CopyTexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage2D", ExactSpelling = true)] internal extern static void CopyTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage2DEXT", ExactSpelling = true)] internal extern static void CopyTexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage3D", ExactSpelling = true)] internal extern static void CopyTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage3DEXT", ExactSpelling = true)] internal extern static void CopyTexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureImage1DEXT", ExactSpelling = true)] internal extern static void CopyTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureImage2DEXT", ExactSpelling = true)] internal extern static void CopyTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage1DEXT", ExactSpelling = true)] internal extern static void CopyTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage2DEXT", ExactSpelling = true)] internal extern static void CopyTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage3DEXT", ExactSpelling = true)] internal extern static void CopyTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateProgram", ExactSpelling = true)] internal extern static Int32 CreateProgram(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateProgramObjectARB", ExactSpelling = true)] internal extern static Int32 CreateProgramObjectARB(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateShader", ExactSpelling = true)] internal extern static Int32 CreateShader(OpenTK.Graphics.ShaderType type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateShaderObjectARB", ExactSpelling = true)] internal extern static Int32 CreateShaderObjectARB(OpenTK.Graphics.ArbShaderObjects shaderType); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullFace", ExactSpelling = true)] internal extern static void CullFace(OpenTK.Graphics.CullFaceMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullParameterdvEXT", ExactSpelling = true)] internal extern static unsafe void CullParameterdvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void CullParameterfvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCurrentPaletteMatrixARB", ExactSpelling = true)] internal extern static void CurrentPaletteMatrixARB(Int32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformationMap3dSGIX", ExactSpelling = true)] internal extern static unsafe void DeformationMap3dSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformationMap3fSGIX", ExactSpelling = true)] internal extern static unsafe void DeformationMap3fSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformSGIX", ExactSpelling = true)] internal extern static void DeformSGIX(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteAsyncMarkersSGIX", ExactSpelling = true)] internal extern static void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteBuffers", ExactSpelling = true)] internal extern static unsafe void DeleteBuffers(Int32 n, UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteBuffersARB", ExactSpelling = true)] internal extern static unsafe void DeleteBuffersARB(Int32 n, UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFencesAPPLE", ExactSpelling = true)] internal extern static unsafe void DeleteFencesAPPLE(Int32 n, UInt32* fences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFencesNV", ExactSpelling = true)] internal extern static unsafe void DeleteFencesNV(Int32 n, UInt32* fences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFragmentShaderATI", ExactSpelling = true)] internal extern static void DeleteFragmentShaderATI(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFramebuffers", ExactSpelling = true)] internal extern static unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFramebuffersEXT", ExactSpelling = true)] internal extern static unsafe void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteLists", ExactSpelling = true)] internal extern static void DeleteLists(UInt32 list, Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteObjectARB", ExactSpelling = true)] internal extern static void DeleteObjectARB(UInt32 obj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteOcclusionQueriesNV", ExactSpelling = true)] internal extern static unsafe void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeletePerfMonitorsAMD", ExactSpelling = true)] internal extern static unsafe void DeletePerfMonitorsAMD(Int32 n, [Out] UInt32* monitors); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgram", ExactSpelling = true)] internal extern static void DeleteProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgramsARB", ExactSpelling = true)] internal extern static unsafe void DeleteProgramsARB(Int32 n, UInt32* programs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgramsNV", ExactSpelling = true)] internal extern static unsafe void DeleteProgramsNV(Int32 n, UInt32* programs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteQueries", ExactSpelling = true)] internal extern static unsafe void DeleteQueries(Int32 n, UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteQueriesARB", ExactSpelling = true)] internal extern static unsafe void DeleteQueriesARB(Int32 n, UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteRenderbuffers", ExactSpelling = true)] internal extern static unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteRenderbuffersEXT", ExactSpelling = true)] internal extern static unsafe void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteShader", ExactSpelling = true)] internal extern static void DeleteShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteSync", ExactSpelling = true)] internal extern static void DeleteSync(IntPtr sync); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTextures", ExactSpelling = true)] internal extern static unsafe void DeleteTextures(Int32 n, UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTexturesEXT", ExactSpelling = true)] internal extern static unsafe void DeleteTexturesEXT(Int32 n, UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTransformFeedbacksNV", ExactSpelling = true)] internal extern static unsafe void DeleteTransformFeedbacksNV(Int32 n, UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexArrays", ExactSpelling = true)] internal extern static unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexArraysAPPLE", ExactSpelling = true)] internal extern static unsafe void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexShaderEXT", ExactSpelling = true)] internal extern static void DeleteVertexShaderEXT(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthBoundsdNV", ExactSpelling = true)] internal extern static void DepthBoundsdNV(Double zmin, Double zmax); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthBoundsEXT", ExactSpelling = true)] internal extern static void DepthBoundsEXT(Double zmin, Double zmax); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthFunc", ExactSpelling = true)] internal extern static void DepthFunc(OpenTK.Graphics.DepthFunction func); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthMask", ExactSpelling = true)] internal extern static void DepthMask(bool flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthRange", ExactSpelling = true)] internal extern static void DepthRange(Double near, Double far); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthRangedNV", ExactSpelling = true)] internal extern static void DepthRangedNV(Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetachObjectARB", ExactSpelling = true)] internal extern static void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetachShader", ExactSpelling = true)] internal extern static void DetachShader(UInt32 program, UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetailTexFuncSGIS", ExactSpelling = true)] internal extern static unsafe void DetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisable", ExactSpelling = true)] internal extern static void Disable(OpenTK.Graphics.EnableCap cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableClientState", ExactSpelling = true)] internal extern static void DisableClientState(OpenTK.Graphics.EnableCap array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableClientStateIndexedEXT", ExactSpelling = true)] internal extern static void DisableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisablei", ExactSpelling = true)] internal extern static void Disablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableIndexedEXT", ExactSpelling = true)] internal extern static void DisableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVariantClientStateEXT", ExactSpelling = true)] internal extern static void DisableVariantClientStateEXT(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribAPPLE", ExactSpelling = true)] internal extern static void DisableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribArray", ExactSpelling = true)] internal extern static void DisableVertexAttribArray(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribArrayARB", ExactSpelling = true)] internal extern static void DisableVertexAttribArrayARB(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArrays", ExactSpelling = true)] internal extern static void DrawArrays(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysEXT", ExactSpelling = true)] internal extern static void DrawArraysEXT(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstanced", ExactSpelling = true)] internal extern static void DrawArraysInstanced(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstancedARB", ExactSpelling = true)] internal extern static void DrawArraysInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstancedEXT", ExactSpelling = true)] internal extern static void DrawArraysInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 start, Int32 count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffer", ExactSpelling = true)] internal extern static void DrawBuffer(OpenTK.Graphics.DrawBufferMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffers", ExactSpelling = true)] internal extern static unsafe void DrawBuffers(Int32 n, OpenTK.Graphics.DrawBuffersEnum* bufs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffersARB", ExactSpelling = true)] internal extern static unsafe void DrawBuffersARB(Int32 n, OpenTK.Graphics.ArbDrawBuffers* bufs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffersATI", ExactSpelling = true)] internal extern static unsafe void DrawBuffersATI(Int32 n, OpenTK.Graphics.AtiDrawBuffers* bufs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementArrayAPPLE", ExactSpelling = true)] internal extern static void DrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementArrayATI", ExactSpelling = true)] internal extern static void DrawElementArrayATI(OpenTK.Graphics.BeginMode mode, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElements", ExactSpelling = true)] internal extern static void DrawElements(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsBaseVertex", ExactSpelling = true)] internal extern static void DrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstanced", ExactSpelling = true)] internal extern static void DrawElementsInstanced(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedARB", ExactSpelling = true)] internal extern static void DrawElementsInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedBaseVertex", ExactSpelling = true)] internal extern static void DrawElementsInstancedBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedEXT", ExactSpelling = true)] internal extern static void DrawElementsInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawMeshArraysSUN", ExactSpelling = true)] internal extern static void DrawMeshArraysSUN(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawPixels", ExactSpelling = true)] internal extern static void DrawPixels(Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementArrayAPPLE", ExactSpelling = true)] internal extern static void DrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementArrayATI", ExactSpelling = true)] internal extern static void DrawRangeElementArrayATI(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElements", ExactSpelling = true)] internal extern static void DrawRangeElements(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementsBaseVertex", ExactSpelling = true)] internal extern static void DrawRangeElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementsEXT", ExactSpelling = true)] internal extern static void DrawRangeElementsEXT(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackNV", ExactSpelling = true)] internal extern static void DrawTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 mode, UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlag", ExactSpelling = true)] internal extern static void EdgeFlag(bool flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointer", ExactSpelling = true)] internal extern static void EdgeFlagPointer(Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointerEXT", ExactSpelling = true)] internal extern static unsafe void EdgeFlagPointerEXT(Int32 stride, Int32 count, bool* pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointerListIBM", ExactSpelling = true)] internal extern static unsafe void EdgeFlagPointerListIBM(Int32 stride, bool* pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagv", ExactSpelling = true)] internal extern static unsafe void EdgeFlagv(bool* flag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glElementPointerAPPLE", ExactSpelling = true)] internal extern static void ElementPointerAPPLE(OpenTK.Graphics.AppleElementArray type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glElementPointerATI", ExactSpelling = true)] internal extern static void ElementPointerATI(OpenTK.Graphics.AtiElementArray type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnable", ExactSpelling = true)] internal extern static void Enable(OpenTK.Graphics.EnableCap cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableClientState", ExactSpelling = true)] internal extern static void EnableClientState(OpenTK.Graphics.EnableCap array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableClientStateIndexedEXT", ExactSpelling = true)] internal extern static void EnableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnablei", ExactSpelling = true)] internal extern static void Enablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableIndexedEXT", ExactSpelling = true)] internal extern static void EnableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVariantClientStateEXT", ExactSpelling = true)] internal extern static void EnableVariantClientStateEXT(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribAPPLE", ExactSpelling = true)] internal extern static void EnableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribArray", ExactSpelling = true)] internal extern static void EnableVertexAttribArray(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribArrayARB", ExactSpelling = true)] internal extern static void EnableVertexAttribArrayARB(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnd", ExactSpelling = true)] internal extern static void End(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndConditionalRender", ExactSpelling = true)] internal extern static void EndConditionalRender(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndConditionalRenderNV", ExactSpelling = true)] internal extern static void EndConditionalRenderNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndFragmentShaderATI", ExactSpelling = true)] internal extern static void EndFragmentShaderATI(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndList", ExactSpelling = true)] internal extern static void EndList(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndOcclusionQueryNV", ExactSpelling = true)] internal extern static void EndOcclusionQueryNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndPerfMonitorAMD", ExactSpelling = true)] internal extern static void EndPerfMonitorAMD(UInt32 monitor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndQuery", ExactSpelling = true)] internal extern static void EndQuery(OpenTK.Graphics.QueryTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndQueryARB", ExactSpelling = true)] internal extern static void EndQueryARB(OpenTK.Graphics.ArbOcclusionQuery target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedback", ExactSpelling = true)] internal extern static void EndTransformFeedback(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedbackEXT", ExactSpelling = true)] internal extern static void EndTransformFeedbackEXT(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedbackNV", ExactSpelling = true)] internal extern static void EndTransformFeedbackNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndVertexShaderEXT", ExactSpelling = true)] internal extern static void EndVertexShaderEXT(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1d", ExactSpelling = true)] internal extern static void EvalCoord1d(Double u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1dv", ExactSpelling = true)] internal extern static unsafe void EvalCoord1dv(Double* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1f", ExactSpelling = true)] internal extern static void EvalCoord1f(Single u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1fv", ExactSpelling = true)] internal extern static unsafe void EvalCoord1fv(Single* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2d", ExactSpelling = true)] internal extern static void EvalCoord2d(Double u, Double v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2dv", ExactSpelling = true)] internal extern static unsafe void EvalCoord2dv(Double* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2f", ExactSpelling = true)] internal extern static void EvalCoord2f(Single u, Single v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2fv", ExactSpelling = true)] internal extern static unsafe void EvalCoord2fv(Single* u); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMapsNV", ExactSpelling = true)] internal extern static void EvalMapsNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMesh1", ExactSpelling = true)] internal extern static void EvalMesh1(OpenTK.Graphics.MeshMode1 mode, Int32 i1, Int32 i2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMesh2", ExactSpelling = true)] internal extern static void EvalMesh2(OpenTK.Graphics.MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalPoint1", ExactSpelling = true)] internal extern static void EvalPoint1(Int32 i); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalPoint2", ExactSpelling = true)] internal extern static void EvalPoint2(Int32 i, Int32 j); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glExecuteProgramNV", ExactSpelling = true)] internal extern static unsafe void ExecuteProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glExtractComponentEXT", ExactSpelling = true)] internal extern static void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFeedbackBuffer", ExactSpelling = true)] internal extern static unsafe void FeedbackBuffer(Int32 size, OpenTK.Graphics.FeedbackType type, [Out] Single* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSync", ExactSpelling = true)] internal extern static IntPtr FenceSync(OpenTK.Graphics.ArbSync condition, UInt32 flags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinalCombinerInputNV", ExactSpelling = true)] internal extern static void FinalCombinerInputNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinish", ExactSpelling = true)] internal extern static void Finish(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishAsyncSGIX", ExactSpelling = true)] internal extern static unsafe Int32 FinishAsyncSGIX([Out] UInt32* markerp); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishFenceAPPLE", ExactSpelling = true)] internal extern static void FinishFenceAPPLE(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishFenceNV", ExactSpelling = true)] internal extern static void FinishFenceNV(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishObjectAPPLE", ExactSpelling = true)] internal extern static void FinishObjectAPPLE(OpenTK.Graphics.AppleFence @object, Int32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishTextureSUNX", ExactSpelling = true)] internal extern static void FinishTextureSUNX(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlush", ExactSpelling = true)] internal extern static void Flush(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushMappedBufferRange", ExactSpelling = true)] internal extern static void FlushMappedBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushMappedBufferRangeAPPLE", ExactSpelling = true)] internal extern static void FlushMappedBufferRangeAPPLE(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushPixelDataRangeNV", ExactSpelling = true)] internal extern static void FlushPixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushRasterSGIX", ExactSpelling = true)] internal extern static void FlushRasterSGIX(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushVertexArrayRangeAPPLE", ExactSpelling = true)] internal extern static void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushVertexArrayRangeNV", ExactSpelling = true)] internal extern static void FlushVertexArrayRangeNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordd", ExactSpelling = true)] internal extern static void FogCoordd(Double coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddEXT", ExactSpelling = true)] internal extern static void FogCoorddEXT(Double coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddv", ExactSpelling = true)] internal extern static unsafe void FogCoorddv(Double* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddvEXT", ExactSpelling = true)] internal extern static unsafe void FogCoorddvEXT(Double* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordf", ExactSpelling = true)] internal extern static void FogCoordf(Single coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfEXT", ExactSpelling = true)] internal extern static void FogCoordfEXT(Single coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfv", ExactSpelling = true)] internal extern static unsafe void FogCoordfv(Single* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfvEXT", ExactSpelling = true)] internal extern static unsafe void FogCoordfvEXT(Single* coord); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordhNV", ExactSpelling = true)] internal extern static void FogCoordhNV(OpenTK.Half fog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordhvNV", ExactSpelling = true)] internal extern static unsafe void FogCoordhvNV(OpenTK.Half* fog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointer", ExactSpelling = true)] internal extern static void FogCoordPointer(OpenTK.Graphics.FogPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointerEXT", ExactSpelling = true)] internal extern static void FogCoordPointerEXT(OpenTK.Graphics.ExtFogCoord type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointerListIBM", ExactSpelling = true)] internal extern static void FogCoordPointerListIBM(OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogf", ExactSpelling = true)] internal extern static void Fogf(OpenTK.Graphics.FogParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogFuncSGIS", ExactSpelling = true)] internal extern static unsafe void FogFuncSGIS(Int32 n, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogfv", ExactSpelling = true)] internal extern static unsafe void Fogfv(OpenTK.Graphics.FogParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogi", ExactSpelling = true)] internal extern static void Fogi(OpenTK.Graphics.FogParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogiv", ExactSpelling = true)] internal extern static unsafe void Fogiv(OpenTK.Graphics.FogParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentColorMaterialSGIX", ExactSpelling = true)] internal extern static void FragmentColorMaterialSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightfSGIX", ExactSpelling = true)] internal extern static void FragmentLightfSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightfvSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightiSGIX", ExactSpelling = true)] internal extern static void FragmentLightiSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightivSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelfSGIX", ExactSpelling = true)] internal extern static void FragmentLightModelfSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelfvSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentLightModelfvSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModeliSGIX", ExactSpelling = true)] internal extern static void FragmentLightModeliSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelivSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentLightModelivSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialfSGIX", ExactSpelling = true)] internal extern static void FragmentMaterialfSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialfvSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialiSGIX", ExactSpelling = true)] internal extern static void FragmentMaterialiSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialivSGIX", ExactSpelling = true)] internal extern static unsafe void FragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferDrawBufferEXT", ExactSpelling = true)] internal extern static void FramebufferDrawBufferEXT(UInt32 framebuffer, OpenTK.Graphics.DrawBufferMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferDrawBuffersEXT", ExactSpelling = true)] internal extern static unsafe void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.DrawBufferMode* bufs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferReadBufferEXT", ExactSpelling = true)] internal extern static void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.ReadBufferMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferRenderbuffer", ExactSpelling = true)] internal extern static void FramebufferRenderbuffer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferRenderbufferEXT", ExactSpelling = true)] internal extern static void FramebufferRenderbufferEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture", ExactSpelling = true)] internal extern static void FramebufferTexture(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture1D", ExactSpelling = true)] internal extern static void FramebufferTexture1D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture1DEXT", ExactSpelling = true)] internal extern static void FramebufferTexture1DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture2D", ExactSpelling = true)] internal extern static void FramebufferTexture2D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture2DEXT", ExactSpelling = true)] internal extern static void FramebufferTexture2DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture3D", ExactSpelling = true)] internal extern static void FramebufferTexture3D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture3DEXT", ExactSpelling = true)] internal extern static void FramebufferTexture3DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureARB", ExactSpelling = true)] internal extern static void FramebufferTextureARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureEXT", ExactSpelling = true)] internal extern static void FramebufferTextureEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFace", ExactSpelling = true)] internal extern static void FramebufferTextureFace(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level, OpenTK.Graphics.Version32 face); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFaceARB", ExactSpelling = true)] internal extern static void FramebufferTextureFaceARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFaceEXT", ExactSpelling = true)] internal extern static void FramebufferTextureFaceEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayer", ExactSpelling = true)] internal extern static void FramebufferTextureLayer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayerARB", ExactSpelling = true)] internal extern static void FramebufferTextureLayerARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayerEXT", ExactSpelling = true)] internal extern static void FramebufferTextureLayerEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrameTerminatorGREMEDY", ExactSpelling = true)] internal extern static void FrameTerminatorGREMEDY(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrameZoomSGIX", ExactSpelling = true)] internal extern static void FrameZoomSGIX(Int32 factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFreeObjectBufferATI", ExactSpelling = true)] internal extern static void FreeObjectBufferATI(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrontFace", ExactSpelling = true)] internal extern static void FrontFace(OpenTK.Graphics.FrontFaceDirection mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrustum", ExactSpelling = true)] internal extern static void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenAsyncMarkersSGIX", ExactSpelling = true)] internal extern static Int32 GenAsyncMarkersSGIX(Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenBuffers", ExactSpelling = true)] internal extern static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenBuffersARB", ExactSpelling = true)] internal extern static unsafe void GenBuffersARB(Int32 n, [Out] UInt32* buffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMipmap", ExactSpelling = true)] internal extern static void GenerateMipmap(OpenTK.Graphics.GenerateMipmapTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMipmapEXT", ExactSpelling = true)] internal extern static void GenerateMipmapEXT(OpenTK.Graphics.GenerateMipmapTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMultiTexMipmapEXT", ExactSpelling = true)] internal extern static void GenerateMultiTexMipmapEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateTextureMipmapEXT", ExactSpelling = true)] internal extern static void GenerateTextureMipmapEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFencesAPPLE", ExactSpelling = true)] internal extern static unsafe void GenFencesAPPLE(Int32 n, [Out] UInt32* fences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFencesNV", ExactSpelling = true)] internal extern static unsafe void GenFencesNV(Int32 n, [Out] UInt32* fences); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFragmentShadersATI", ExactSpelling = true)] internal extern static Int32 GenFragmentShadersATI(UInt32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFramebuffers", ExactSpelling = true)] internal extern static unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFramebuffersEXT", ExactSpelling = true)] internal extern static unsafe void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenLists", ExactSpelling = true)] internal extern static Int32 GenLists(Int32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenOcclusionQueriesNV", ExactSpelling = true)] internal extern static unsafe void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenPerfMonitorsAMD", ExactSpelling = true)] internal extern static unsafe void GenPerfMonitorsAMD(Int32 n, [Out] UInt32* monitors); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenProgramsARB", ExactSpelling = true)] internal extern static unsafe void GenProgramsARB(Int32 n, [Out] UInt32* programs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenProgramsNV", ExactSpelling = true)] internal extern static unsafe void GenProgramsNV(Int32 n, [Out] UInt32* programs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenQueries", ExactSpelling = true)] internal extern static unsafe void GenQueries(Int32 n, [Out] UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenQueriesARB", ExactSpelling = true)] internal extern static unsafe void GenQueriesARB(Int32 n, [Out] UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenRenderbuffers", ExactSpelling = true)] internal extern static unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenRenderbuffersEXT", ExactSpelling = true)] internal extern static unsafe void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenSymbolsEXT", ExactSpelling = true)] internal extern static Int32 GenSymbolsEXT(OpenTK.Graphics.ExtVertexShader datatype, OpenTK.Graphics.ExtVertexShader storagetype, OpenTK.Graphics.ExtVertexShader range, UInt32 components); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTextures", ExactSpelling = true)] internal extern static unsafe void GenTextures(Int32 n, [Out] UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTexturesEXT", ExactSpelling = true)] internal extern static unsafe void GenTexturesEXT(Int32 n, [Out] UInt32* textures); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTransformFeedbacksNV", ExactSpelling = true)] internal extern static unsafe void GenTransformFeedbacksNV(Int32 n, [Out] UInt32* ids); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexArrays", ExactSpelling = true)] internal extern static unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexArraysAPPLE", ExactSpelling = true)] internal extern static unsafe void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexShadersEXT", ExactSpelling = true)] internal extern static Int32 GenVertexShadersEXT(UInt32 range); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveAttrib", ExactSpelling = true)] internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveAttribARB", ExactSpelling = true)] internal extern static unsafe void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbVertexShader* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniform", ExactSpelling = true)] internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveUniformType* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformARB", ExactSpelling = true)] internal extern static unsafe void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbShaderObjects* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformBlockiv", ExactSpelling = true)] internal extern static unsafe void GetActiveUniformBlockiv(UInt32 program, UInt32 uniformBlockIndex, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformBlockName", ExactSpelling = true)] internal extern static unsafe void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformName", ExactSpelling = true)] internal extern static unsafe void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformsiv", ExactSpelling = true)] internal extern static unsafe void GetActiveUniformsiv(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveVaryingNV", ExactSpelling = true)] internal extern static unsafe void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.NvTransformFeedback* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetArrayObjectfvATI", ExactSpelling = true)] internal extern static unsafe void GetArrayObjectfvATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetArrayObjectivATI", ExactSpelling = true)] internal extern static unsafe void GetArrayObjectivATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttachedObjectsARB", ExactSpelling = true)] internal extern static unsafe void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttachedShaders", ExactSpelling = true)] internal extern static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)] internal extern static Int32 GetAttribLocation(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocationARB", ExactSpelling = true)] internal extern static Int32 GetAttribLocationARB(UInt32 programObj, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleani_v", ExactSpelling = true)] internal extern static unsafe void GetBooleani_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] bool* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleanIndexedvEXT", ExactSpelling = true)] internal extern static unsafe void GetBooleanIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] bool* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleanv", ExactSpelling = true)] internal extern static unsafe void GetBooleanv(OpenTK.Graphics.GetPName pname, [Out] bool* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameteri64v", ExactSpelling = true)] internal extern static unsafe void GetBufferParameteri64v(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 pname, [Out] Int64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameteriv", ExactSpelling = true)] internal extern static unsafe void GetBufferParameteriv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameterivARB", ExactSpelling = true)] internal extern static unsafe void GetBufferParameterivARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferParameterNameArb pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferPointerv", ExactSpelling = true)] internal extern static void GetBufferPointerv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferPointer pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferPointervARB", ExactSpelling = true)] internal extern static void GetBufferPointervARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferPointerNameArb pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferSubData", ExactSpelling = true)] internal extern static void GetBufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferSubDataARB", ExactSpelling = true)] internal extern static void GetBufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetClipPlane", ExactSpelling = true)] internal extern static unsafe void GetClipPlane(OpenTK.Graphics.ClipPlaneName plane, [Out] Double* equation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTable", ExactSpelling = true)] internal extern static void GetColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableEXT", ExactSpelling = true)] internal extern static void GetColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfv", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterfvEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfvSGI", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameteriv", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterivEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterivSGI", ExactSpelling = true)] internal extern static unsafe void GetColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableSGI", ExactSpelling = true)] internal extern static void GetColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerInputParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerInputParameterivNV", ExactSpelling = true)] internal extern static unsafe void GetCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerOutputParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetCombinerOutputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerOutputParameterivNV", ExactSpelling = true)] internal extern static unsafe void GetCombinerOutputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerStageParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetCombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedMultiTexImageEXT", ExactSpelling = true)] internal extern static void GetCompressedMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTexImage", ExactSpelling = true)] internal extern static void GetCompressedTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTexImageARB", ExactSpelling = true)] internal extern static void GetCompressedTexImageARB(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTextureImageEXT", ExactSpelling = true)] internal extern static void GetCompressedTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionFilter", ExactSpelling = true)] internal extern static void GetConvolutionFilter(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionFilterEXT", ExactSpelling = true)] internal extern static void GetConvolutionFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterfv", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameteriv", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDetailTexFuncSGIS", ExactSpelling = true)] internal extern static unsafe void GetDetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDoubleIndexedvEXT", ExactSpelling = true)] internal extern static unsafe void GetDoubleIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDoublev", ExactSpelling = true)] internal extern static unsafe void GetDoublev(OpenTK.Graphics.GetPName pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetError", ExactSpelling = true)] internal extern static OpenTK.Graphics.ErrorCode GetError(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFenceivNV", ExactSpelling = true)] internal extern static unsafe void GetFenceivNV(UInt32 fence, OpenTK.Graphics.NvFence pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFinalCombinerInputParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetFinalCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFinalCombinerInputParameterivNV", ExactSpelling = true)] internal extern static unsafe void GetFinalCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFloatIndexedvEXT", ExactSpelling = true)] internal extern static unsafe void GetFloatIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFloatv", ExactSpelling = true)] internal extern static unsafe void GetFloatv(OpenTK.Graphics.GetPName pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFogFuncSGIS", ExactSpelling = true)] internal extern static unsafe void GetFogFuncSGIS([Out] Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragDataLocation", ExactSpelling = true)] internal extern static Int32 GetFragDataLocation(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragDataLocationEXT", ExactSpelling = true)] internal extern static Int32 GetFragDataLocationEXT(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentLightfvSGIX", ExactSpelling = true)] internal extern static unsafe void GetFragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentLightivSGIX", ExactSpelling = true)] internal extern static unsafe void GetFragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentMaterialfvSGIX", ExactSpelling = true)] internal extern static unsafe void GetFragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentMaterialivSGIX", ExactSpelling = true)] internal extern static unsafe void GetFragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferAttachmentParameteriv", ExactSpelling = true)] internal extern static unsafe void GetFramebufferAttachmentParameteriv(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferAttachmentParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHandleARB", ExactSpelling = true)] internal extern static Int32 GetHandleARB(OpenTK.Graphics.ArbShaderObjects pname); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogram", ExactSpelling = true)] internal extern static void GetHistogram(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramEXT", ExactSpelling = true)] internal extern static void GetHistogramEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterfv", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameteriv", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetHistogramParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetImageTransformParameterfvHP", ExactSpelling = true)] internal extern static unsafe void GetImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetImageTransformParameterivHP", ExactSpelling = true)] internal extern static unsafe void GetImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInfoLogARB", ExactSpelling = true)] internal extern static unsafe void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInstrumentsSGIX", ExactSpelling = true)] internal extern static Int32 GetInstrumentsSGIX(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInteger64i_v", ExactSpelling = true)] internal extern static unsafe void GetInteger64i_v(OpenTK.Graphics.Version32 target, UInt32 index, [Out] Int64* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInteger64v", ExactSpelling = true)] internal extern static unsafe void GetInteger64v(OpenTK.Graphics.ArbSync pname, [Out] Int64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegeri_v", ExactSpelling = true)] internal extern static unsafe void GetIntegeri_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] Int32* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegerIndexedvEXT", ExactSpelling = true)] internal extern static unsafe void GetIntegerIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegerv", ExactSpelling = true)] internal extern static unsafe void GetIntegerv(OpenTK.Graphics.GetPName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantBooleanvEXT", ExactSpelling = true)] internal extern static unsafe void GetInvariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantFloatvEXT", ExactSpelling = true)] internal extern static unsafe void GetInvariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantIntegervEXT", ExactSpelling = true)] internal extern static unsafe void GetInvariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLightfv", ExactSpelling = true)] internal extern static unsafe void GetLightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLightiv", ExactSpelling = true)] internal extern static unsafe void GetLightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetListParameterfvSGIX", ExactSpelling = true)] internal extern static unsafe void GetListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetListParameterivSGIX", ExactSpelling = true)] internal extern static unsafe void GetListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantBooleanvEXT", ExactSpelling = true)] internal extern static unsafe void GetLocalConstantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantFloatvEXT", ExactSpelling = true)] internal extern static unsafe void GetLocalConstantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantIntegervEXT", ExactSpelling = true)] internal extern static unsafe void GetLocalConstantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapAttribParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetMapAttribParameterfvNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapAttribParameterivNV", ExactSpelling = true)] internal extern static unsafe void GetMapAttribParameterivNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapControlPointsNV", ExactSpelling = true)] internal extern static void GetMapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapdv", ExactSpelling = true)] internal extern static unsafe void GetMapdv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapfv", ExactSpelling = true)] internal extern static unsafe void GetMapfv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapiv", ExactSpelling = true)] internal extern static unsafe void GetMapiv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetMapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapParameterivNV", ExactSpelling = true)] internal extern static unsafe void GetMapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMaterialfv", ExactSpelling = true)] internal extern static unsafe void GetMaterialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMaterialiv", ExactSpelling = true)] internal extern static unsafe void GetMaterialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmax", ExactSpelling = true)] internal extern static void GetMinmax(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxEXT", ExactSpelling = true)] internal extern static void GetMinmaxEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterfv", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameteriv", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetMinmaxParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultisamplefv", ExactSpelling = true)] internal extern static unsafe void GetMultisamplefv(OpenTK.Graphics.ArbTextureMultisample pname, UInt32 index, [Out] Single* val); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultisamplefvNV", ExactSpelling = true)] internal extern static unsafe void GetMultisamplefvNV(OpenTK.Graphics.NvExplicitMultisample pname, UInt32 index, [Out] Single* val); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexEnvfvEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexEnvivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGendvEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGenfvEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGenivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexImageEXT", ExactSpelling = true)] internal extern static void GetMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexLevelParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexLevelParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexLevelParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexLevelParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetMultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedBufferParameterivEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferPointervEXT", ExactSpelling = true)] internal extern static void GetNamedBufferPointervEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferSubDataEXT", ExactSpelling = true)] internal extern static void GetNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedFramebufferAttachmentParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedProgramivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterdvEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedProgramLocalParameterdvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedProgramLocalParameterfvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedProgramLocalParameterIivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedProgramLocalParameterIuivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramStringEXT", ExactSpelling = true)] internal extern static void GetNamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @string); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedRenderbufferParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetNamedRenderbufferParameterivEXT(UInt32 renderbuffer, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectBufferfvATI", ExactSpelling = true)] internal extern static unsafe void GetObjectBufferfvATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectBufferivATI", ExactSpelling = true)] internal extern static unsafe void GetObjectBufferivATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterfvARB", ExactSpelling = true)] internal extern static unsafe void GetObjectParameterfvARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterivAPPLE", ExactSpelling = true)] internal extern static unsafe void GetObjectParameterivAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterivARB", ExactSpelling = true)] internal extern static unsafe void GetObjectParameterivARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetOcclusionQueryivNV", ExactSpelling = true)] internal extern static unsafe void GetOcclusionQueryivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetOcclusionQueryuivNV", ExactSpelling = true)] internal extern static unsafe void GetOcclusionQueryuivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterDataAMD", ExactSpelling = true)] internal extern static unsafe void GetPerfMonitorCounterDataAMD(UInt32 monitor, OpenTK.Graphics.AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterInfoAMD", ExactSpelling = true)] internal extern static void GetPerfMonitorCounterInfoAMD(UInt32 group, UInt32 counter, OpenTK.Graphics.AmdPerformanceMonitor pname, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCountersAMD", ExactSpelling = true)] internal extern static unsafe void GetPerfMonitorCountersAMD(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterStringAMD", ExactSpelling = true)] internal extern static unsafe void GetPerfMonitorCounterStringAMD(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorGroupsAMD", ExactSpelling = true)] internal extern static unsafe void GetPerfMonitorGroupsAMD([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorGroupStringAMD", ExactSpelling = true)] internal extern static unsafe void GetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapfv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapfv(OpenTK.Graphics.PixelMap map, [Out] Single* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapuiv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapuiv(OpenTK.Graphics.PixelMap map, [Out] UInt32* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapusv", ExactSpelling = true)] internal extern static unsafe void GetPixelMapusv(OpenTK.Graphics.PixelMap map, [Out] UInt16* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelTexGenParameterfvSGIS", ExactSpelling = true)] internal extern static unsafe void GetPixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelTexGenParameterivSGIS", ExactSpelling = true)] internal extern static unsafe void GetPixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointerIndexedvEXT", ExactSpelling = true)] internal extern static void GetPointerIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointerv", ExactSpelling = true)] internal extern static void GetPointerv(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointervEXT", ExactSpelling = true)] internal extern static void GetPointervEXT(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPolygonStipple", ExactSpelling = true)] internal extern static unsafe void GetPolygonStipple([Out] Byte* mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterdvARB", ExactSpelling = true)] internal extern static unsafe void GetProgramEnvParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterfvARB", ExactSpelling = true)] internal extern static unsafe void GetProgramEnvParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterIivNV", ExactSpelling = true)] internal extern static unsafe void GetProgramEnvParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterIuivNV", ExactSpelling = true)] internal extern static unsafe void GetProgramEnvParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramInfoLog", ExactSpelling = true)] internal extern static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)] internal extern static unsafe void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramivARB", ExactSpelling = true)] internal extern static unsafe void GetProgramivARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramivNV", ExactSpelling = true)] internal extern static unsafe void GetProgramivNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterdvARB", ExactSpelling = true)] internal extern static unsafe void GetProgramLocalParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterfvARB", ExactSpelling = true)] internal extern static unsafe void GetProgramLocalParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterIivNV", ExactSpelling = true)] internal extern static unsafe void GetProgramLocalParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterIuivNV", ExactSpelling = true)] internal extern static unsafe void GetProgramLocalParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramNamedParameterdvNV", ExactSpelling = true)] internal extern static unsafe void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramNamedParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramParameterdvNV", ExactSpelling = true)] internal extern static unsafe void GetProgramParameterdvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramParameterfvNV", ExactSpelling = true)] internal extern static unsafe void GetProgramParameterfvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramStringARB", ExactSpelling = true)] internal extern static void GetProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] IntPtr @string); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramStringNV", ExactSpelling = true)] internal extern static unsafe void GetProgramStringNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Byte* program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryiv", ExactSpelling = true)] internal extern static unsafe void GetQueryiv(OpenTK.Graphics.QueryTarget target, OpenTK.Graphics.GetQueryParam pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryivARB", ExactSpelling = true)] internal extern static unsafe void GetQueryivARB(OpenTK.Graphics.ArbOcclusionQuery target, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjecti64vEXT", ExactSpelling = true)] internal extern static unsafe void GetQueryObjecti64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] Int64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectiv", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectivARB", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectui64vEXT", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectui64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] UInt64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectuiv", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectuiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectuivARB", ExactSpelling = true)] internal extern static unsafe void GetQueryObjectuivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetRenderbufferParameteriv", ExactSpelling = true)] internal extern static unsafe void GetRenderbufferParameteriv(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetRenderbufferParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetRenderbufferParameterivEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSeparableFilter", ExactSpelling = true)] internal extern static void GetSeparableFilter(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSeparableFilterEXT", ExactSpelling = true)] internal extern static void GetSeparableFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderInfoLog", ExactSpelling = true)] internal extern static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderiv", ExactSpelling = true)] internal extern static unsafe void GetShaderiv(UInt32 shader, OpenTK.Graphics.ShaderParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderSource", ExactSpelling = true)] internal extern static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderSourceARB", ExactSpelling = true)] internal extern static unsafe void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSharpenTexFuncSGIS", ExactSpelling = true)] internal extern static unsafe void GetSharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetString", ExactSpelling = true)] internal extern static IntPtr GetString(OpenTK.Graphics.StringName name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetStringi", ExactSpelling = true)] internal extern static IntPtr GetStringi(OpenTK.Graphics.StringName name, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSynciv", ExactSpelling = true)] internal extern static unsafe void GetSynciv(IntPtr sync, OpenTK.Graphics.ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexBumpParameterfvATI", ExactSpelling = true)] internal extern static unsafe void GetTexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Single* param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexBumpParameterivATI", ExactSpelling = true)] internal extern static unsafe void GetTexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Int32* param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexEnvfv", ExactSpelling = true)] internal extern static unsafe void GetTexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexEnviv", ExactSpelling = true)] internal extern static unsafe void GetTexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexFilterFuncSGIS", ExactSpelling = true)] internal extern static unsafe void GetTexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, [Out] Single* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGendv", ExactSpelling = true)] internal extern static unsafe void GetTexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGenfv", ExactSpelling = true)] internal extern static unsafe void GetTexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGeniv", ExactSpelling = true)] internal extern static unsafe void GetTexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexImage", ExactSpelling = true)] internal extern static void GetTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexLevelParameterfv", ExactSpelling = true)] internal extern static unsafe void GetTexLevelParameterfv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexLevelParameteriv", ExactSpelling = true)] internal extern static unsafe void GetTexLevelParameteriv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterfv", ExactSpelling = true)] internal extern static unsafe void GetTexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIiv", ExactSpelling = true)] internal extern static unsafe void GetTexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void GetTexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIuiv", ExactSpelling = true)] internal extern static unsafe void GetTexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void GetTexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameteriv", ExactSpelling = true)] internal extern static unsafe void GetTexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterPointervAPPLE", ExactSpelling = true)] internal extern static void GetTexParameterPointervAPPLE(OpenTK.Graphics.AppleTextureRange target, OpenTK.Graphics.AppleTextureRange pname, [Out] IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureImageEXT", ExactSpelling = true)] internal extern static void GetTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureLevelParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureLevelParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureLevelParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureLevelParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterivEXT", ExactSpelling = true)] internal extern static unsafe void GetTextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTrackMatrixivNV", ExactSpelling = true)] internal extern static unsafe void GetTrackMatrixivNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVarying", ExactSpelling = true)] internal extern static unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVaryingEXT", ExactSpelling = true)] internal extern static unsafe void GetTransformFeedbackVaryingEXT(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ExtTransformFeedback* type, [Out] System.Text.StringBuilder name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVaryingNV", ExactSpelling = true)] internal extern static unsafe void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformBlockIndex", ExactSpelling = true)] internal extern static Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformBufferSizeEXT", ExactSpelling = true)] internal extern static Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformfv", ExactSpelling = true)] internal extern static unsafe void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformfvARB", ExactSpelling = true)] internal extern static unsafe void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformIndices", ExactSpelling = true)] internal extern static unsafe void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformiv", ExactSpelling = true)] internal extern static unsafe void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformivARB", ExactSpelling = true)] internal extern static unsafe void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)] internal extern static Int32 GetUniformLocation(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocationARB", ExactSpelling = true)] internal extern static Int32 GetUniformLocationARB(UInt32 programObj, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformOffsetEXT", ExactSpelling = true)] internal extern static IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformuiv", ExactSpelling = true)] internal extern static unsafe void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformuivEXT", ExactSpelling = true)] internal extern static unsafe void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantArrayObjectfvATI", ExactSpelling = true)] internal extern static unsafe void GetVariantArrayObjectfvATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantArrayObjectivATI", ExactSpelling = true)] internal extern static unsafe void GetVariantArrayObjectivATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantBooleanvEXT", ExactSpelling = true)] internal extern static unsafe void GetVariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantFloatvEXT", ExactSpelling = true)] internal extern static unsafe void GetVariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantIntegervEXT", ExactSpelling = true)] internal extern static unsafe void GetVariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantPointervEXT", ExactSpelling = true)] internal extern static void GetVariantPointervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVaryingLocationNV", ExactSpelling = true)] internal extern static Int32 GetVaryingLocationNV(UInt32 program, String name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribArrayObjectfvATI", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribArrayObjectfvATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribArrayObjectivATI", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribArrayObjectivATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribdv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdvARB", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribdvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdvNV", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribdvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribfv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfvARB", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribfvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfvNV", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribfvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIiv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribIiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIivEXT", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribIivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIuiv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribIuiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIuivEXT", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribIuivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribiv", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribivARB", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribivARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribivNV", ExactSpelling = true)] internal extern static unsafe void GetVertexAttribivNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointerv", ExactSpelling = true)] internal extern static void GetVertexAttribPointerv(UInt32 index, OpenTK.Graphics.VertexAttribPointerType pname, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointervARB", ExactSpelling = true)] internal extern static void GetVertexAttribPointervARB(UInt32 index, OpenTK.Graphics.VertexAttribPointerParameterArb pname, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointervNV", ExactSpelling = true)] internal extern static void GetVertexAttribPointervNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoi64vNV", ExactSpelling = true)] internal extern static unsafe void GetVideoi64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoivNV", ExactSpelling = true)] internal extern static unsafe void GetVideoivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoui64vNV", ExactSpelling = true)] internal extern static unsafe void GetVideoui64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt64* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideouivNV", ExactSpelling = true)] internal extern static unsafe void GetVideouivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorbSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactorbSUN(SByte factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactordSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactordSUN(Double factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorfSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactorfSUN(Single factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactoriSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactoriSUN(Int32 factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorsSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactorsSUN(Int16 factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorubSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactorubSUN(Byte factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactoruiSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactoruiSUN(UInt32 factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorusSUN", ExactSpelling = true)] internal extern static void GlobalAlphaFactorusSUN(UInt16 factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHint", ExactSpelling = true)] internal extern static void Hint(OpenTK.Graphics.HintTarget target, OpenTK.Graphics.HintMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHintPGI", ExactSpelling = true)] internal extern static void HintPGI(OpenTK.Graphics.PgiMiscHints target, Int32 mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHistogram", ExactSpelling = true)] internal extern static void Histogram(OpenTK.Graphics.Version12Deprecated target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHistogramEXT", ExactSpelling = true)] internal extern static void HistogramEXT(OpenTK.Graphics.ExtHistogram target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIglooInterfaceSGIX", ExactSpelling = true)] internal extern static void IglooInterfaceSGIX(OpenTK.Graphics.All pname, IntPtr @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterfHP", ExactSpelling = true)] internal extern static void ImageTransformParameterfHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterfvHP", ExactSpelling = true)] internal extern static unsafe void ImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameteriHP", ExactSpelling = true)] internal extern static void ImageTransformParameteriHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterivHP", ExactSpelling = true)] internal extern static unsafe void ImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexd", ExactSpelling = true)] internal extern static void Indexd(Double c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexdv", ExactSpelling = true)] internal extern static unsafe void Indexdv(Double* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexf", ExactSpelling = true)] internal extern static void Indexf(Single c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexFuncEXT", ExactSpelling = true)] internal extern static void IndexFuncEXT(OpenTK.Graphics.ExtIndexFunc func, Single @ref); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexfv", ExactSpelling = true)] internal extern static unsafe void Indexfv(Single* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexi", ExactSpelling = true)] internal extern static void Indexi(Int32 c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexiv", ExactSpelling = true)] internal extern static unsafe void Indexiv(Int32* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexMask", ExactSpelling = true)] internal extern static void IndexMask(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexMaterialEXT", ExactSpelling = true)] internal extern static void IndexMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ExtIndexMaterial mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointer", ExactSpelling = true)] internal extern static void IndexPointer(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointerEXT", ExactSpelling = true)] internal extern static void IndexPointerEXT(OpenTK.Graphics.IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointerListIBM", ExactSpelling = true)] internal extern static void IndexPointerListIBM(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexs", ExactSpelling = true)] internal extern static void Indexs(Int16 c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexsv", ExactSpelling = true)] internal extern static unsafe void Indexsv(Int16* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexub", ExactSpelling = true)] internal extern static void Indexub(Byte c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexubv", ExactSpelling = true)] internal extern static unsafe void Indexubv(Byte* c); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInitNames", ExactSpelling = true)] internal extern static void InitNames(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInsertComponentEXT", ExactSpelling = true)] internal extern static void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInstrumentsBufferSGIX", ExactSpelling = true)] internal extern static unsafe void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInterleavedArrays", ExactSpelling = true)] internal extern static void InterleavedArrays(OpenTK.Graphics.InterleavedArrayFormat format, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsAsyncMarkerSGIX", ExactSpelling = true)] internal extern static bool IsAsyncMarkerSGIX(UInt32 marker); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsBuffer", ExactSpelling = true)] internal extern static bool IsBuffer(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsBufferARB", ExactSpelling = true)] internal extern static bool IsBufferARB(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabled", ExactSpelling = true)] internal extern static bool IsEnabled(OpenTK.Graphics.EnableCap cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabledi", ExactSpelling = true)] internal extern static bool IsEnabledi(OpenTK.Graphics.IndexedEnableCap target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabledIndexedEXT", ExactSpelling = true)] internal extern static bool IsEnabledIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFenceAPPLE", ExactSpelling = true)] internal extern static bool IsFenceAPPLE(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFenceNV", ExactSpelling = true)] internal extern static bool IsFenceNV(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFramebuffer", ExactSpelling = true)] internal extern static bool IsFramebuffer(UInt32 framebuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFramebufferEXT", ExactSpelling = true)] internal extern static bool IsFramebufferEXT(UInt32 framebuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsList", ExactSpelling = true)] internal extern static bool IsList(UInt32 list); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsObjectBufferATI", ExactSpelling = true)] internal extern static bool IsObjectBufferATI(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsOcclusionQueryNV", ExactSpelling = true)] internal extern static bool IsOcclusionQueryNV(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgram", ExactSpelling = true)] internal extern static bool IsProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgramARB", ExactSpelling = true)] internal extern static bool IsProgramARB(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgramNV", ExactSpelling = true)] internal extern static bool IsProgramNV(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsQuery", ExactSpelling = true)] internal extern static bool IsQuery(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsQueryARB", ExactSpelling = true)] internal extern static bool IsQueryARB(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsRenderbuffer", ExactSpelling = true)] internal extern static bool IsRenderbuffer(UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsRenderbufferEXT", ExactSpelling = true)] internal extern static bool IsRenderbufferEXT(UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsShader", ExactSpelling = true)] internal extern static bool IsShader(UInt32 shader); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsSync", ExactSpelling = true)] internal extern static bool IsSync(IntPtr sync); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTexture", ExactSpelling = true)] internal extern static bool IsTexture(UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTextureEXT", ExactSpelling = true)] internal extern static bool IsTextureEXT(UInt32 texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTransformFeedbackNV", ExactSpelling = true)] internal extern static bool IsTransformFeedbackNV(UInt32 id); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVariantEnabledEXT", ExactSpelling = true)] internal extern static bool IsVariantEnabledEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader cap); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexArray", ExactSpelling = true)] internal extern static bool IsVertexArray(UInt32 array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexArrayAPPLE", ExactSpelling = true)] internal extern static bool IsVertexArrayAPPLE(UInt32 array); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexAttribEnabledAPPLE", ExactSpelling = true)] internal extern static bool IsVertexAttribEnabledAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightEnviSGIX", ExactSpelling = true)] internal extern static void LightEnviSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightf", ExactSpelling = true)] internal extern static void Lightf(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightfv", ExactSpelling = true)] internal extern static unsafe void Lightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLighti", ExactSpelling = true)] internal extern static void Lighti(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightiv", ExactSpelling = true)] internal extern static unsafe void Lightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModelf", ExactSpelling = true)] internal extern static void LightModelf(OpenTK.Graphics.LightModelParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModelfv", ExactSpelling = true)] internal extern static unsafe void LightModelfv(OpenTK.Graphics.LightModelParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModeli", ExactSpelling = true)] internal extern static void LightModeli(OpenTK.Graphics.LightModelParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModeliv", ExactSpelling = true)] internal extern static unsafe void LightModeliv(OpenTK.Graphics.LightModelParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLineStipple", ExactSpelling = true)] internal extern static void LineStipple(Int32 factor, UInt16 pattern); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLineWidth", ExactSpelling = true)] internal extern static void LineWidth(Single width); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLinkProgram", ExactSpelling = true)] internal extern static void LinkProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLinkProgramARB", ExactSpelling = true)] internal extern static void LinkProgramARB(UInt32 programObj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListBase", ExactSpelling = true)] internal extern static void ListBase(UInt32 @base); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterfSGIX", ExactSpelling = true)] internal extern static void ListParameterfSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterfvSGIX", ExactSpelling = true)] internal extern static unsafe void ListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameteriSGIX", ExactSpelling = true)] internal extern static void ListParameteriSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterivSGIX", ExactSpelling = true)] internal extern static unsafe void ListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadIdentity", ExactSpelling = true)] internal extern static void LoadIdentity(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadIdentityDeformationMapSGIX", ExactSpelling = true)] internal extern static void LoadIdentityDeformationMapSGIX(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadMatrixd", ExactSpelling = true)] internal extern static unsafe void LoadMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadMatrixf", ExactSpelling = true)] internal extern static unsafe void LoadMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadName", ExactSpelling = true)] internal extern static void LoadName(UInt32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadProgramNV", ExactSpelling = true)] internal extern static unsafe void LoadProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixd", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixdARB", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixdARB(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixf", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixfARB", ExactSpelling = true)] internal extern static unsafe void LoadTransposeMatrixfARB(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLockArraysEXT", ExactSpelling = true)] internal extern static void LockArraysEXT(Int32 first, Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLogicOp", ExactSpelling = true)] internal extern static void LogicOp(OpenTK.Graphics.LogicOp opcode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap1d", ExactSpelling = true)] internal extern static unsafe void Map1d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap1f", ExactSpelling = true)] internal extern static unsafe void Map1f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap2d", ExactSpelling = true)] internal extern static unsafe void Map2d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap2f", ExactSpelling = true)] internal extern static unsafe void Map2f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBuffer", ExactSpelling = true)] internal extern static unsafe IntPtr MapBuffer(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferAccess access); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBufferARB", ExactSpelling = true)] internal extern static unsafe IntPtr MapBufferARB(OpenTK.Graphics.BufferTargetArb target, OpenTK.Graphics.ArbVertexBufferObject access); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBufferRange", ExactSpelling = true)] internal extern static unsafe IntPtr MapBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length, OpenTK.Graphics.BufferAccessMask access); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapControlPointsNV", ExactSpelling = true)] internal extern static void MapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid1d", ExactSpelling = true)] internal extern static void MapGrid1d(Int32 un, Double u1, Double u2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid1f", ExactSpelling = true)] internal extern static void MapGrid1f(Int32 un, Single u1, Single u2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid2d", ExactSpelling = true)] internal extern static void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid2f", ExactSpelling = true)] internal extern static void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapNamedBufferEXT", ExactSpelling = true)] internal extern static unsafe IntPtr MapNamedBufferEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess access); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapObjectBufferATI", ExactSpelling = true)] internal extern static unsafe IntPtr MapObjectBufferATI(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapParameterfvNV", ExactSpelling = true)] internal extern static unsafe void MapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapParameterivNV", ExactSpelling = true)] internal extern static unsafe void MapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib1dAPPLE", ExactSpelling = true)] internal extern static unsafe void MapVertexAttrib1dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib1fAPPLE", ExactSpelling = true)] internal extern static unsafe void MapVertexAttrib1fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib2dAPPLE", ExactSpelling = true)] internal extern static unsafe void MapVertexAttrib2dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib2fAPPLE", ExactSpelling = true)] internal extern static unsafe void MapVertexAttrib2fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialf", ExactSpelling = true)] internal extern static void Materialf(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialfv", ExactSpelling = true)] internal extern static unsafe void Materialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMateriali", ExactSpelling = true)] internal extern static void Materiali(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialiv", ExactSpelling = true)] internal extern static unsafe void Materialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixFrustumEXT", ExactSpelling = true)] internal extern static void MatrixFrustumEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexPointerARB", ExactSpelling = true)] internal extern static void MatrixIndexPointerARB(Int32 size, OpenTK.Graphics.ArbMatrixPalette type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexubvARB", ExactSpelling = true)] internal extern static unsafe void MatrixIndexubvARB(Int32 size, Byte* indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexuivARB", ExactSpelling = true)] internal extern static unsafe void MatrixIndexuivARB(Int32 size, UInt32* indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexusvARB", ExactSpelling = true)] internal extern static unsafe void MatrixIndexusvARB(Int32 size, UInt16* indices); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoaddEXT", ExactSpelling = true)] internal extern static unsafe void MatrixLoaddEXT(OpenTK.Graphics.MatrixMode mode, Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadfEXT", ExactSpelling = true)] internal extern static unsafe void MatrixLoadfEXT(OpenTK.Graphics.MatrixMode mode, Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadIdentityEXT", ExactSpelling = true)] internal extern static void MatrixLoadIdentityEXT(OpenTK.Graphics.MatrixMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadTransposedEXT", ExactSpelling = true)] internal extern static unsafe void MatrixLoadTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadTransposefEXT", ExactSpelling = true)] internal extern static unsafe void MatrixLoadTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMode", ExactSpelling = true)] internal extern static void MatrixMode(OpenTK.Graphics.MatrixMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultdEXT", ExactSpelling = true)] internal extern static unsafe void MatrixMultdEXT(OpenTK.Graphics.MatrixMode mode, Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultfEXT", ExactSpelling = true)] internal extern static unsafe void MatrixMultfEXT(OpenTK.Graphics.MatrixMode mode, Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultTransposedEXT", ExactSpelling = true)] internal extern static unsafe void MatrixMultTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultTransposefEXT", ExactSpelling = true)] internal extern static unsafe void MatrixMultTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixOrthoEXT", ExactSpelling = true)] internal extern static void MatrixOrthoEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixPopEXT", ExactSpelling = true)] internal extern static void MatrixPopEXT(OpenTK.Graphics.MatrixMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixPushEXT", ExactSpelling = true)] internal extern static void MatrixPushEXT(OpenTK.Graphics.MatrixMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixRotatedEXT", ExactSpelling = true)] internal extern static void MatrixRotatedEXT(OpenTK.Graphics.MatrixMode mode, Double angle, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixRotatefEXT", ExactSpelling = true)] internal extern static void MatrixRotatefEXT(OpenTK.Graphics.MatrixMode mode, Single angle, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixScaledEXT", ExactSpelling = true)] internal extern static void MatrixScaledEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixScalefEXT", ExactSpelling = true)] internal extern static void MatrixScalefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixTranslatedEXT", ExactSpelling = true)] internal extern static void MatrixTranslatedEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixTranslatefEXT", ExactSpelling = true)] internal extern static void MatrixTranslatefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinmax", ExactSpelling = true)] internal extern static void Minmax(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinmaxEXT", ExactSpelling = true)] internal extern static void MinmaxEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinSampleShading", ExactSpelling = true)] internal extern static void MinSampleShading(Single value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawArrays", ExactSpelling = true)] internal extern static unsafe void MultiDrawArrays(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawArraysEXT", ExactSpelling = true)] internal extern static unsafe void MultiDrawArraysEXT(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementArrayAPPLE", ExactSpelling = true)] internal extern static unsafe void MultiDrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32* first, Int32* count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElements", ExactSpelling = true)] internal extern static unsafe void MultiDrawElements(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementsBaseVertex", ExactSpelling = true)] internal extern static unsafe void MultiDrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementsEXT", ExactSpelling = true)] internal extern static unsafe void MultiDrawElementsEXT(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawRangeElementArrayAPPLE", ExactSpelling = true)] internal extern static unsafe void MultiDrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiModeDrawArraysIBM", ExactSpelling = true)] internal extern static unsafe void MultiModeDrawArraysIBM(OpenTK.Graphics.BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiModeDrawElementsIBM", ExactSpelling = true)] internal extern static unsafe void MultiModeDrawElementsIBM(OpenTK.Graphics.BeginMode* mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexBufferEXT", ExactSpelling = true)] internal extern static void MultiTexBufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1d", ExactSpelling = true)] internal extern static void MultiTexCoord1d(OpenTK.Graphics.TextureUnit target, Double s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dARB", ExactSpelling = true)] internal extern static void MultiTexCoord1dARB(OpenTK.Graphics.TextureUnit target, Double s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1dv(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1dvARB(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1f", ExactSpelling = true)] internal extern static void MultiTexCoord1f(OpenTK.Graphics.TextureUnit target, Single s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fARB", ExactSpelling = true)] internal extern static void MultiTexCoord1fARB(OpenTK.Graphics.TextureUnit target, Single s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1fv(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1fvARB(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1hNV", ExactSpelling = true)] internal extern static void MultiTexCoord1hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1hvNV", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1i", ExactSpelling = true)] internal extern static void MultiTexCoord1i(OpenTK.Graphics.TextureUnit target, Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1iARB", ExactSpelling = true)] internal extern static void MultiTexCoord1iARB(OpenTK.Graphics.TextureUnit target, Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1iv(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1ivARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1s", ExactSpelling = true)] internal extern static void MultiTexCoord1s(OpenTK.Graphics.TextureUnit target, Int16 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1sARB", ExactSpelling = true)] internal extern static void MultiTexCoord1sARB(OpenTK.Graphics.TextureUnit target, Int16 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1sv(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1svARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord1svARB(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2d", ExactSpelling = true)] internal extern static void MultiTexCoord2d(OpenTK.Graphics.TextureUnit target, Double s, Double t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dARB", ExactSpelling = true)] internal extern static void MultiTexCoord2dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2dv(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2dvARB(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2f", ExactSpelling = true)] internal extern static void MultiTexCoord2f(OpenTK.Graphics.TextureUnit target, Single s, Single t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fARB", ExactSpelling = true)] internal extern static void MultiTexCoord2fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2fv(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2fvARB(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2hNV", ExactSpelling = true)] internal extern static void MultiTexCoord2hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2hvNV", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2i", ExactSpelling = true)] internal extern static void MultiTexCoord2i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2iARB", ExactSpelling = true)] internal extern static void MultiTexCoord2iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2iv(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2ivARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2s", ExactSpelling = true)] internal extern static void MultiTexCoord2s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2sARB", ExactSpelling = true)] internal extern static void MultiTexCoord2sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2sv(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2svARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord2svARB(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3d", ExactSpelling = true)] internal extern static void MultiTexCoord3d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dARB", ExactSpelling = true)] internal extern static void MultiTexCoord3dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3dv(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3dvARB(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3f", ExactSpelling = true)] internal extern static void MultiTexCoord3f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fARB", ExactSpelling = true)] internal extern static void MultiTexCoord3fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3fv(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3fvARB(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3hNV", ExactSpelling = true)] internal extern static void MultiTexCoord3hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3hvNV", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3i", ExactSpelling = true)] internal extern static void MultiTexCoord3i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3iARB", ExactSpelling = true)] internal extern static void MultiTexCoord3iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3iv(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3ivARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3s", ExactSpelling = true)] internal extern static void MultiTexCoord3s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3sARB", ExactSpelling = true)] internal extern static void MultiTexCoord3sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3sv(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3svARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord3svARB(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4d", ExactSpelling = true)] internal extern static void MultiTexCoord4d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dARB", ExactSpelling = true)] internal extern static void MultiTexCoord4dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4dv(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4dvARB(OpenTK.Graphics.TextureUnit target, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4f", ExactSpelling = true)] internal extern static void MultiTexCoord4f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fARB", ExactSpelling = true)] internal extern static void MultiTexCoord4fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4fv(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fvARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4fvARB(OpenTK.Graphics.TextureUnit target, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4hNV", ExactSpelling = true)] internal extern static void MultiTexCoord4hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4hvNV", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4i", ExactSpelling = true)] internal extern static void MultiTexCoord4i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4iARB", ExactSpelling = true)] internal extern static void MultiTexCoord4iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4iv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4iv(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4ivARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4ivARB(OpenTK.Graphics.TextureUnit target, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4s", ExactSpelling = true)] internal extern static void MultiTexCoord4s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4sARB", ExactSpelling = true)] internal extern static void MultiTexCoord4sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4sv", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4sv(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4svARB", ExactSpelling = true)] internal extern static unsafe void MultiTexCoord4svARB(OpenTK.Graphics.TextureUnit target, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoordPointerEXT", ExactSpelling = true)] internal extern static void MultiTexCoordPointerEXT(OpenTK.Graphics.TextureUnit texunit, Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvfEXT", ExactSpelling = true)] internal extern static void MultiTexEnvfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvfvEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnviEXT", ExactSpelling = true)] internal extern static void MultiTexEnviEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvivEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGendEXT", ExactSpelling = true)] internal extern static void MultiTexGendEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGendvEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenfEXT", ExactSpelling = true)] internal extern static void MultiTexGenfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenfvEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGeniEXT", ExactSpelling = true)] internal extern static void MultiTexGeniEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenivEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage1DEXT", ExactSpelling = true)] internal extern static void MultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage2DEXT", ExactSpelling = true)] internal extern static void MultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage3DEXT", ExactSpelling = true)] internal extern static void MultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterfEXT", ExactSpelling = true)] internal extern static void MultiTexParameterfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameteriEXT", ExactSpelling = true)] internal extern static void MultiTexParameteriEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterivEXT", ExactSpelling = true)] internal extern static unsafe void MultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexRenderbufferEXT", ExactSpelling = true)] internal extern static void MultiTexRenderbufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage1DEXT", ExactSpelling = true)] internal extern static void MultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage2DEXT", ExactSpelling = true)] internal extern static void MultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage3DEXT", ExactSpelling = true)] internal extern static void MultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultMatrixd", ExactSpelling = true)] internal extern static unsafe void MultMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultMatrixf", ExactSpelling = true)] internal extern static unsafe void MultMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixd", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixd(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixdARB", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixdARB(Double* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixf", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixf(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixfARB", ExactSpelling = true)] internal extern static unsafe void MultTransposeMatrixfARB(Single* m); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedBufferDataEXT", ExactSpelling = true)] internal extern static void NamedBufferDataEXT(UInt32 buffer, IntPtr size, IntPtr data, OpenTK.Graphics.ExtDirectStateAccess usage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedBufferSubDataEXT", ExactSpelling = true)] internal extern static void NamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferRenderbufferEXT", ExactSpelling = true)] internal extern static void NamedFramebufferRenderbufferEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture1DEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTexture1DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture2DEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTexture2DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture3DEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTexture3DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTextureEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureFaceEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTextureFaceEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureLayerEXT", ExactSpelling = true)] internal extern static void NamedFramebufferTextureLayerEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4dEXT", ExactSpelling = true)] internal extern static void NamedProgramLocalParameter4dEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4dvEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParameter4dvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4fEXT", ExactSpelling = true)] internal extern static void NamedProgramLocalParameter4fEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4fvEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParameter4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4iEXT", ExactSpelling = true)] internal extern static void NamedProgramLocalParameterI4iEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4ivEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParameterI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4uiEXT", ExactSpelling = true)] internal extern static void NamedProgramLocalParameterI4uiEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4uivEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParameterI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameters4fvEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParameters4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParametersI4ivEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParametersI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParametersI4uivEXT", ExactSpelling = true)] internal extern static unsafe void NamedProgramLocalParametersI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramStringEXT", ExactSpelling = true)] internal extern static void NamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess format, Int32 len, IntPtr @string); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageEXT", ExactSpelling = true)] internal extern static void NamedRenderbufferStorageEXT(UInt32 renderbuffer, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT", ExactSpelling = true)] internal extern static void NamedRenderbufferStorageMultisampleCoverageEXT(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageMultisampleEXT", ExactSpelling = true)] internal extern static void NamedRenderbufferStorageMultisampleEXT(UInt32 renderbuffer, Int32 samples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNewList", ExactSpelling = true)] internal extern static void NewList(UInt32 list, OpenTK.Graphics.ListMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNewObjectBufferATI", ExactSpelling = true)] internal extern static Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject usage); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3b", ExactSpelling = true)] internal extern static void Normal3b(SByte nx, SByte ny, SByte nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3bv", ExactSpelling = true)] internal extern static unsafe void Normal3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3d", ExactSpelling = true)] internal extern static void Normal3d(Double nx, Double ny, Double nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3dv", ExactSpelling = true)] internal extern static unsafe void Normal3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3f", ExactSpelling = true)] internal extern static void Normal3f(Single nx, Single ny, Single nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fv", ExactSpelling = true)] internal extern static unsafe void Normal3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void Normal3fVertex3fvSUN(Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3hNV", ExactSpelling = true)] internal extern static void Normal3hNV(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3hvNV", ExactSpelling = true)] internal extern static unsafe void Normal3hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3i", ExactSpelling = true)] internal extern static void Normal3i(Int32 nx, Int32 ny, Int32 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3iv", ExactSpelling = true)] internal extern static unsafe void Normal3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3s", ExactSpelling = true)] internal extern static void Normal3s(Int16 nx, Int16 ny, Int16 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3sv", ExactSpelling = true)] internal extern static unsafe void Normal3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointer", ExactSpelling = true)] internal extern static void NormalPointer(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointerEXT", ExactSpelling = true)] internal extern static void NormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointerListIBM", ExactSpelling = true)] internal extern static void NormalPointerListIBM(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointervINTEL", ExactSpelling = true)] internal extern static void NormalPointervINTEL(OpenTK.Graphics.NormalPointerType type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3bATI", ExactSpelling = true)] internal extern static void NormalStream3bATI(OpenTK.Graphics.AtiVertexStreams stream, SByte nx, SByte ny, SByte nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3bvATI", ExactSpelling = true)] internal extern static unsafe void NormalStream3bvATI(OpenTK.Graphics.AtiVertexStreams stream, SByte* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3dATI", ExactSpelling = true)] internal extern static void NormalStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double nx, Double ny, Double nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3dvATI", ExactSpelling = true)] internal extern static unsafe void NormalStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3fATI", ExactSpelling = true)] internal extern static void NormalStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single nx, Single ny, Single nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3fvATI", ExactSpelling = true)] internal extern static unsafe void NormalStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3iATI", ExactSpelling = true)] internal extern static void NormalStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3ivATI", ExactSpelling = true)] internal extern static unsafe void NormalStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3sATI", ExactSpelling = true)] internal extern static void NormalStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3svATI", ExactSpelling = true)] internal extern static unsafe void NormalStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glObjectPurgeableAPPLE", ExactSpelling = true)] internal extern static IntPtr ObjectPurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glObjectUnpurgeableAPPLE", ExactSpelling = true)] internal extern static IntPtr ObjectUnpurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glOrtho", ExactSpelling = true)] internal extern static void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPassTexCoordATI", ExactSpelling = true)] internal extern static void PassTexCoordATI(UInt32 dst, UInt32 coord, OpenTK.Graphics.AtiFragmentShader swizzle); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPassThrough", ExactSpelling = true)] internal extern static void PassThrough(Single token); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPauseTransformFeedbackNV", ExactSpelling = true)] internal extern static void PauseTransformFeedbackNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelDataRangeNV", ExactSpelling = true)] internal extern static void PixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target, Int32 length, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapfv", ExactSpelling = true)] internal extern static unsafe void PixelMapfv(OpenTK.Graphics.PixelMap map, Int32 mapsize, Single* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapuiv", ExactSpelling = true)] internal extern static unsafe void PixelMapuiv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt32* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapusv", ExactSpelling = true)] internal extern static unsafe void PixelMapusv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt16* values); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStoref", ExactSpelling = true)] internal extern static void PixelStoref(OpenTK.Graphics.PixelStoreParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStorei", ExactSpelling = true)] internal extern static void PixelStorei(OpenTK.Graphics.PixelStoreParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterfSGIS", ExactSpelling = true)] internal extern static void PixelTexGenParameterfSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterfvSGIS", ExactSpelling = true)] internal extern static unsafe void PixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameteriSGIS", ExactSpelling = true)] internal extern static void PixelTexGenParameteriSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterivSGIS", ExactSpelling = true)] internal extern static unsafe void PixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenSGIX", ExactSpelling = true)] internal extern static void PixelTexGenSGIX(OpenTK.Graphics.SgixPixelTexture mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransferf", ExactSpelling = true)] internal extern static void PixelTransferf(OpenTK.Graphics.PixelTransferParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransferi", ExactSpelling = true)] internal extern static void PixelTransferi(OpenTK.Graphics.PixelTransferParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterfEXT", ExactSpelling = true)] internal extern static void PixelTransformParameterfEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void PixelTransformParameterfvEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameteriEXT", ExactSpelling = true)] internal extern static void PixelTransformParameteriEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterivEXT", ExactSpelling = true)] internal extern static unsafe void PixelTransformParameterivEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelZoom", ExactSpelling = true)] internal extern static void PixelZoom(Single xfactor, Single yfactor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPNTrianglesfATI", ExactSpelling = true)] internal extern static void PNTrianglesfATI(OpenTK.Graphics.AtiPnTriangles pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPNTrianglesiATI", ExactSpelling = true)] internal extern static void PNTrianglesiATI(OpenTK.Graphics.AtiPnTriangles pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterf", ExactSpelling = true)] internal extern static void PointParameterf(OpenTK.Graphics.PointParameterName pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfARB", ExactSpelling = true)] internal extern static void PointParameterfARB(OpenTK.Graphics.ArbPointParameters pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfEXT", ExactSpelling = true)] internal extern static void PointParameterfEXT(OpenTK.Graphics.ExtPointParameters pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfSGIS", ExactSpelling = true)] internal extern static void PointParameterfSGIS(OpenTK.Graphics.SgisPointParameters pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfv", ExactSpelling = true)] internal extern static unsafe void PointParameterfv(OpenTK.Graphics.PointParameterName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvARB", ExactSpelling = true)] internal extern static unsafe void PointParameterfvARB(OpenTK.Graphics.ArbPointParameters pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void PointParameterfvEXT(OpenTK.Graphics.ExtPointParameters pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvSGIS", ExactSpelling = true)] internal extern static unsafe void PointParameterfvSGIS(OpenTK.Graphics.SgisPointParameters pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteri", ExactSpelling = true)] internal extern static void PointParameteri(OpenTK.Graphics.PointParameterName pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteriNV", ExactSpelling = true)] internal extern static void PointParameteriNV(OpenTK.Graphics.NvPointSprite pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteriv", ExactSpelling = true)] internal extern static unsafe void PointParameteriv(OpenTK.Graphics.PointParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterivNV", ExactSpelling = true)] internal extern static unsafe void PointParameterivNV(OpenTK.Graphics.NvPointSprite pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointSize", ExactSpelling = true)] internal extern static void PointSize(Single size); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPollAsyncSGIX", ExactSpelling = true)] internal extern static unsafe Int32 PollAsyncSGIX([Out] UInt32* markerp); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPollInstrumentsSGIX", ExactSpelling = true)] internal extern static unsafe Int32 PollInstrumentsSGIX([Out] Int32* marker_p); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonMode", ExactSpelling = true)] internal extern static void PolygonMode(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.PolygonMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonOffset", ExactSpelling = true)] internal extern static void PolygonOffset(Single factor, Single units); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonOffsetEXT", ExactSpelling = true)] internal extern static void PolygonOffsetEXT(Single factor, Single bias); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonStipple", ExactSpelling = true)] internal extern static unsafe void PolygonStipple(Byte* mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopAttrib", ExactSpelling = true)] internal extern static void PopAttrib(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopClientAttrib", ExactSpelling = true)] internal extern static void PopClientAttrib(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopMatrix", ExactSpelling = true)] internal extern static void PopMatrix(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopName", ExactSpelling = true)] internal extern static void PopName(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPresentFrameDualFillNV", ExactSpelling = true)] internal extern static void PresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, OpenTK.Graphics.NvPresentVideo target2, UInt32 fill2, OpenTK.Graphics.NvPresentVideo target3, UInt32 fill3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPresentFrameKeyedNV", ExactSpelling = true)] internal extern static void PresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, UInt32 key0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, UInt32 key1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartIndex", ExactSpelling = true)] internal extern static void PrimitiveRestartIndex(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartIndexNV", ExactSpelling = true)] internal extern static void PrimitiveRestartIndexNV(UInt32 index); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartNV", ExactSpelling = true)] internal extern static void PrimitiveRestartNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrioritizeTextures", ExactSpelling = true)] internal extern static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrioritizeTexturesEXT", ExactSpelling = true)] internal extern static unsafe void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersfvNV", ExactSpelling = true)] internal extern static unsafe void ProgramBufferParametersfvNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersIivNV", ExactSpelling = true)] internal extern static unsafe void ProgramBufferParametersIivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersIuivNV", ExactSpelling = true)] internal extern static unsafe void ProgramBufferParametersIuivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4dARB", ExactSpelling = true)] internal extern static void ProgramEnvParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4dvARB", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4fARB", ExactSpelling = true)] internal extern static void ProgramEnvParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4fvARB", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4iNV", ExactSpelling = true)] internal extern static void ProgramEnvParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4ivNV", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4uiNV", ExactSpelling = true)] internal extern static void ProgramEnvParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4uivNV", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameters4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParametersI4ivNV", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParametersI4uivNV", ExactSpelling = true)] internal extern static unsafe void ProgramEnvParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4dARB", ExactSpelling = true)] internal extern static void ProgramLocalParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4dvARB", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4fARB", ExactSpelling = true)] internal extern static void ProgramLocalParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4fvARB", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4iNV", ExactSpelling = true)] internal extern static void ProgramLocalParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4ivNV", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4uiNV", ExactSpelling = true)] internal extern static void ProgramLocalParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4uivNV", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameters4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParametersI4ivNV", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParametersI4uivNV", ExactSpelling = true)] internal extern static unsafe void ProgramLocalParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4dNV", ExactSpelling = true)] internal extern static unsafe void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4dvNV", ExactSpelling = true)] internal extern static unsafe void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4fNV", ExactSpelling = true)] internal extern static unsafe void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4fvNV", ExactSpelling = true)] internal extern static unsafe void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4dNV", ExactSpelling = true)] internal extern static void ProgramParameter4dNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4dvNV", ExactSpelling = true)] internal extern static unsafe void ProgramParameter4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4fNV", ExactSpelling = true)] internal extern static void ProgramParameter4fNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4fvNV", ExactSpelling = true)] internal extern static unsafe void ProgramParameter4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteri", ExactSpelling = true)] internal extern static void ProgramParameteri(UInt32 program, OpenTK.Graphics.Version32 pname, Int32 value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteriARB", ExactSpelling = true)] internal extern static void ProgramParameteriARB(UInt32 program, OpenTK.Graphics.ArbGeometryShader4 pname, Int32 value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteriEXT", ExactSpelling = true)] internal extern static void ProgramParameteriEXT(UInt32 program, OpenTK.Graphics.ExtGeometryShader4 pname, Int32 value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameters4dvNV", ExactSpelling = true)] internal extern static unsafe void ProgramParameters4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameters4fvNV", ExactSpelling = true)] internal extern static unsafe void ProgramParameters4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramStringARB", ExactSpelling = true)] internal extern static void ProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.ArbVertexProgram format, Int32 len, IntPtr @string); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1fEXT", ExactSpelling = true)] internal extern static void ProgramUniform1fEXT(UInt32 program, Int32 location, Single v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1iEXT", ExactSpelling = true)] internal extern static void ProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1ivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1uiEXT", ExactSpelling = true)] internal extern static void ProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1uivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2fEXT", ExactSpelling = true)] internal extern static void ProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2iEXT", ExactSpelling = true)] internal extern static void ProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2ivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2uiEXT", ExactSpelling = true)] internal extern static void ProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2uivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3fEXT", ExactSpelling = true)] internal extern static void ProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3iEXT", ExactSpelling = true)] internal extern static void ProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3ivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3uiEXT", ExactSpelling = true)] internal extern static void ProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3uivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4fEXT", ExactSpelling = true)] internal extern static void ProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4iEXT", ExactSpelling = true)] internal extern static void ProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4ivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4uiEXT", ExactSpelling = true)] internal extern static void ProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4uivEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2x3fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2x4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3x2fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3x4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4x2fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4x3fvEXT", ExactSpelling = true)] internal extern static unsafe void ProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramVertexLimitNV", ExactSpelling = true)] internal extern static void ProgramVertexLimitNV(OpenTK.Graphics.NvGeometryProgram4 target, Int32 limit); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProvokingVertex", ExactSpelling = true)] internal extern static void ProvokingVertex(OpenTK.Graphics.ArbProvokingVertex mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProvokingVertexEXT", ExactSpelling = true)] internal extern static void ProvokingVertexEXT(OpenTK.Graphics.ExtProvokingVertex mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushAttrib", ExactSpelling = true)] internal extern static void PushAttrib(OpenTK.Graphics.AttribMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushClientAttrib", ExactSpelling = true)] internal extern static void PushClientAttrib(OpenTK.Graphics.ClientAttribMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushClientAttribDefaultEXT", ExactSpelling = true)] internal extern static void PushClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushMatrix", ExactSpelling = true)] internal extern static void PushMatrix(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushName", ExactSpelling = true)] internal extern static void PushName(UInt32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2d", ExactSpelling = true)] internal extern static void RasterPos2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2dv", ExactSpelling = true)] internal extern static unsafe void RasterPos2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2f", ExactSpelling = true)] internal extern static void RasterPos2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2fv", ExactSpelling = true)] internal extern static unsafe void RasterPos2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2i", ExactSpelling = true)] internal extern static void RasterPos2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2iv", ExactSpelling = true)] internal extern static unsafe void RasterPos2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2s", ExactSpelling = true)] internal extern static void RasterPos2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2sv", ExactSpelling = true)] internal extern static unsafe void RasterPos2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3d", ExactSpelling = true)] internal extern static void RasterPos3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3dv", ExactSpelling = true)] internal extern static unsafe void RasterPos3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3f", ExactSpelling = true)] internal extern static void RasterPos3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3fv", ExactSpelling = true)] internal extern static unsafe void RasterPos3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3i", ExactSpelling = true)] internal extern static void RasterPos3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3iv", ExactSpelling = true)] internal extern static unsafe void RasterPos3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3s", ExactSpelling = true)] internal extern static void RasterPos3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3sv", ExactSpelling = true)] internal extern static unsafe void RasterPos3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4d", ExactSpelling = true)] internal extern static void RasterPos4d(Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4dv", ExactSpelling = true)] internal extern static unsafe void RasterPos4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4f", ExactSpelling = true)] internal extern static void RasterPos4f(Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4fv", ExactSpelling = true)] internal extern static unsafe void RasterPos4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4i", ExactSpelling = true)] internal extern static void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4iv", ExactSpelling = true)] internal extern static unsafe void RasterPos4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4s", ExactSpelling = true)] internal extern static void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4sv", ExactSpelling = true)] internal extern static unsafe void RasterPos4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadBuffer", ExactSpelling = true)] internal extern static void ReadBuffer(OpenTK.Graphics.ReadBufferMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadInstrumentsSGIX", ExactSpelling = true)] internal extern static void ReadInstrumentsSGIX(Int32 marker); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadPixels", ExactSpelling = true)] internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectd", ExactSpelling = true)] internal extern static void Rectd(Double x1, Double y1, Double x2, Double y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectdv", ExactSpelling = true)] internal extern static unsafe void Rectdv(Double* v1, Double* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectf", ExactSpelling = true)] internal extern static void Rectf(Single x1, Single y1, Single x2, Single y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectfv", ExactSpelling = true)] internal extern static unsafe void Rectfv(Single* v1, Single* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRecti", ExactSpelling = true)] internal extern static void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectiv", ExactSpelling = true)] internal extern static unsafe void Rectiv(Int32* v1, Int32* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRects", ExactSpelling = true)] internal extern static void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectsv", ExactSpelling = true)] internal extern static unsafe void Rectsv(Int16* v1, Int16* v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReferencePlaneSGIX", ExactSpelling = true)] internal extern static unsafe void ReferencePlaneSGIX(Double* equation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorage", ExactSpelling = true)] internal extern static void RenderbufferStorage(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageEXT", ExactSpelling = true)] internal extern static void RenderbufferStorageEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisample", ExactSpelling = true)] internal extern static void RenderbufferStorageMultisample(OpenTK.Graphics.RenderbufferTarget target, Int32 samples, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisampleCoverageNV", ExactSpelling = true)] internal extern static void RenderbufferStorageMultisampleCoverageNV(OpenTK.Graphics.RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisampleEXT", ExactSpelling = true)] internal extern static void RenderbufferStorageMultisampleEXT(OpenTK.Graphics.ExtFramebufferMultisample target, Int32 samples, OpenTK.Graphics.ExtFramebufferMultisample internalformat, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderMode", ExactSpelling = true)] internal extern static Int32 RenderMode(OpenTK.Graphics.RenderingMode mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodePointerSUN", ExactSpelling = true)] internal extern static void ReplacementCodePointerSUN(OpenTK.Graphics.SunTriangleList type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeubSUN", ExactSpelling = true)] internal extern static void ReplacementCodeubSUN(Byte code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeubvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeubvSUN(Byte* code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiSUN(UInt32 code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiVertex3fSUN", ExactSpelling = true)] internal extern static void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuivSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeuivSUN(UInt32* code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeusSUN", ExactSpelling = true)] internal extern static void ReplacementCodeusSUN(UInt16 code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeusvSUN", ExactSpelling = true)] internal extern static unsafe void ReplacementCodeusvSUN(UInt16* code); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRequestResidentProgramsNV", ExactSpelling = true)] internal extern static unsafe void RequestResidentProgramsNV(Int32 n, UInt32* programs); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetHistogram", ExactSpelling = true)] internal extern static void ResetHistogram(OpenTK.Graphics.Version12Deprecated target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetHistogramEXT", ExactSpelling = true)] internal extern static void ResetHistogramEXT(OpenTK.Graphics.ExtHistogram target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetMinmax", ExactSpelling = true)] internal extern static void ResetMinmax(OpenTK.Graphics.Version12Deprecated target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetMinmaxEXT", ExactSpelling = true)] internal extern static void ResetMinmaxEXT(OpenTK.Graphics.ExtHistogram target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResizeBuffersMESA", CharSet = CharSet.Auto)] internal extern static void ResizeBuffersMESA(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResumeTransformFeedbackNV", ExactSpelling = true)] internal extern static void ResumeTransformFeedbackNV(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRotated", ExactSpelling = true)] internal extern static void Rotated(Double angle, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRotatef", ExactSpelling = true)] internal extern static void Rotatef(Single angle, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleCoverage", ExactSpelling = true)] internal extern static void SampleCoverage(Single value, bool invert); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleCoverageARB", ExactSpelling = true)] internal extern static void SampleCoverageARB(Single value, bool invert); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMapATI", ExactSpelling = true)] internal extern static void SampleMapATI(UInt32 dst, UInt32 interp, OpenTK.Graphics.AtiFragmentShader swizzle); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskEXT", ExactSpelling = true)] internal extern static void SampleMaskEXT(Single value, bool invert); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaski", ExactSpelling = true)] internal extern static void SampleMaski(UInt32 index, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskIndexedNV", ExactSpelling = true)] internal extern static void SampleMaskIndexedNV(UInt32 index, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskSGIS", ExactSpelling = true)] internal extern static void SampleMaskSGIS(Single value, bool invert); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSamplePatternEXT", ExactSpelling = true)] internal extern static void SamplePatternEXT(OpenTK.Graphics.ExtMultisample pattern); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSamplePatternSGIS", ExactSpelling = true)] internal extern static void SamplePatternSGIS(OpenTK.Graphics.SgisMultisample pattern); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScaled", ExactSpelling = true)] internal extern static void Scaled(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScalef", ExactSpelling = true)] internal extern static void Scalef(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScissor", ExactSpelling = true)] internal extern static void Scissor(Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3b", ExactSpelling = true)] internal extern static void SecondaryColor3b(SByte red, SByte green, SByte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bEXT", ExactSpelling = true)] internal extern static void SecondaryColor3bEXT(SByte red, SByte green, SByte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3bv(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bvEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3bvEXT(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3d", ExactSpelling = true)] internal extern static void SecondaryColor3d(Double red, Double green, Double blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dEXT", ExactSpelling = true)] internal extern static void SecondaryColor3dEXT(Double red, Double green, Double blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dvEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3dvEXT(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3f", ExactSpelling = true)] internal extern static void SecondaryColor3f(Single red, Single green, Single blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fEXT", ExactSpelling = true)] internal extern static void SecondaryColor3fEXT(Single red, Single green, Single blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fvEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3fvEXT(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3hNV", ExactSpelling = true)] internal extern static void SecondaryColor3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3hvNV", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3i", ExactSpelling = true)] internal extern static void SecondaryColor3i(Int32 red, Int32 green, Int32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3iEXT", ExactSpelling = true)] internal extern static void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3iv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ivEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3ivEXT(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3s", ExactSpelling = true)] internal extern static void SecondaryColor3s(Int16 red, Int16 green, Int16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3sEXT", ExactSpelling = true)] internal extern static void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3sv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3svEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3svEXT(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ub", ExactSpelling = true)] internal extern static void SecondaryColor3ub(Byte red, Byte green, Byte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubEXT", ExactSpelling = true)] internal extern static void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3ubv(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubvEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3ubvEXT(Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ui", ExactSpelling = true)] internal extern static void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uiEXT", ExactSpelling = true)] internal extern static void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uiv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3uiv(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uivEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3uivEXT(UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3us", ExactSpelling = true)] internal extern static void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usEXT", ExactSpelling = true)] internal extern static void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usv", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3usv(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usvEXT", ExactSpelling = true)] internal extern static unsafe void SecondaryColor3usvEXT(UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointer", ExactSpelling = true)] internal extern static void SecondaryColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointerEXT", ExactSpelling = true)] internal extern static void SecondaryColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointerListIBM", ExactSpelling = true)] internal extern static void SecondaryColorPointerListIBM(Int32 size, OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSelectBuffer", ExactSpelling = true)] internal extern static unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSelectPerfMonitorCountersAMD", ExactSpelling = true)] internal extern static unsafe void SelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSeparableFilter2D", ExactSpelling = true)] internal extern static void SeparableFilter2D(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSeparableFilter2DEXT", ExactSpelling = true)] internal extern static void SeparableFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFenceAPPLE", ExactSpelling = true)] internal extern static void SetFenceAPPLE(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFenceNV", ExactSpelling = true)] internal extern static void SetFenceNV(UInt32 fence, OpenTK.Graphics.NvFence condition); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFragmentShaderConstantATI", ExactSpelling = true)] internal extern static unsafe void SetFragmentShaderConstantATI(UInt32 dst, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetInvariantEXT", ExactSpelling = true)] internal extern static void SetInvariantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetLocalConstantEXT", ExactSpelling = true)] internal extern static void SetLocalConstantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShadeModel", ExactSpelling = true)] internal extern static void ShadeModel(OpenTK.Graphics.ShadingModel mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp1EXT", ExactSpelling = true)] internal extern static void ShaderOp1EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp2EXT", ExactSpelling = true)] internal extern static void ShaderOp2EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp3EXT", ExactSpelling = true)] internal extern static void ShaderOp3EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSource", ExactSpelling = true)] internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSourceARB", ExactSpelling = true)] internal extern static unsafe void ShaderSourceARB(UInt32 shaderObj, Int32 count, String[] @string, Int32* length); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSharpenTexFuncSGIS", ExactSpelling = true)] internal extern static unsafe void SharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterfSGIX", ExactSpelling = true)] internal extern static void SpriteParameterfSGIX(OpenTK.Graphics.SgixSprite pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterfvSGIX", ExactSpelling = true)] internal extern static unsafe void SpriteParameterfvSGIX(OpenTK.Graphics.SgixSprite pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameteriSGIX", ExactSpelling = true)] internal extern static void SpriteParameteriSGIX(OpenTK.Graphics.SgixSprite pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterivSGIX", ExactSpelling = true)] internal extern static unsafe void SpriteParameterivSGIX(OpenTK.Graphics.SgixSprite pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStartInstrumentsSGIX", ExactSpelling = true)] internal extern static void StartInstrumentsSGIX(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilClearTagEXT", ExactSpelling = true)] internal extern static void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFunc", ExactSpelling = true)] internal extern static void StencilFunc(OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFuncSeparate", ExactSpelling = true)] internal extern static void StencilFuncSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFuncSeparateATI", ExactSpelling = true)] internal extern static void StencilFuncSeparateATI(OpenTK.Graphics.StencilFunction frontfunc, OpenTK.Graphics.StencilFunction backfunc, Int32 @ref, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilMask", ExactSpelling = true)] internal extern static void StencilMask(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilMaskSeparate", ExactSpelling = true)] internal extern static void StencilMaskSeparate(OpenTK.Graphics.StencilFace face, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOp", ExactSpelling = true)] internal extern static void StencilOp(OpenTK.Graphics.StencilOp fail, OpenTK.Graphics.StencilOp zfail, OpenTK.Graphics.StencilOp zpass); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOpSeparate", ExactSpelling = true)] internal extern static void StencilOpSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOpSeparateATI", ExactSpelling = true)] internal extern static void StencilOpSeparateATI(OpenTK.Graphics.AtiSeparateStencil face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStopInstrumentsSGIX", ExactSpelling = true)] internal extern static void StopInstrumentsSGIX(Int32 marker); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStringMarkerGREMEDY", ExactSpelling = true)] internal extern static void StringMarkerGREMEDY(Int32 len, IntPtr @string); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSwizzleEXT", ExactSpelling = true)] internal extern static void SwizzleEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTagSampleBufferSGIX", ExactSpelling = true)] internal extern static void TagSampleBufferSGIX(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3bEXT", ExactSpelling = true)] internal extern static void Tangent3bEXT(SByte tx, SByte ty, SByte tz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3bvEXT", ExactSpelling = true)] internal extern static unsafe void Tangent3bvEXT(SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3dEXT", ExactSpelling = true)] internal extern static void Tangent3dEXT(Double tx, Double ty, Double tz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3dvEXT", ExactSpelling = true)] internal extern static unsafe void Tangent3dvEXT(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3fEXT", ExactSpelling = true)] internal extern static void Tangent3fEXT(Single tx, Single ty, Single tz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3fvEXT", ExactSpelling = true)] internal extern static unsafe void Tangent3fvEXT(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3iEXT", ExactSpelling = true)] internal extern static void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3ivEXT", ExactSpelling = true)] internal extern static unsafe void Tangent3ivEXT(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3sEXT", ExactSpelling = true)] internal extern static void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3svEXT", ExactSpelling = true)] internal extern static unsafe void Tangent3svEXT(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangentPointerEXT", ExactSpelling = true)] internal extern static void TangentPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTbufferMask3DFX", ExactSpelling = true)] internal extern static void TbufferMask3DFX(UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTessellationFactorAMD", ExactSpelling = true)] internal extern static void TessellationFactorAMD(Single factor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTessellationModeAMD", ExactSpelling = true)] internal extern static void TessellationModeAMD(OpenTK.Graphics.AmdVertexShaderTesselator mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestFenceAPPLE", ExactSpelling = true)] internal extern static bool TestFenceAPPLE(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestFenceNV", ExactSpelling = true)] internal extern static bool TestFenceNV(UInt32 fence); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestObjectAPPLE", ExactSpelling = true)] internal extern static bool TestObjectAPPLE(OpenTK.Graphics.AppleFence @object, UInt32 name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBuffer", ExactSpelling = true)] internal extern static void TexBuffer(OpenTK.Graphics.TextureBufferTarget target, OpenTK.Graphics.SizedInternalFormat internalformat, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBufferARB", ExactSpelling = true)] internal extern static void TexBufferARB(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ArbTextureBufferObject internalformat, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBufferEXT", ExactSpelling = true)] internal extern static void TexBufferEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtTextureBufferObject internalformat, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBumpParameterfvATI", ExactSpelling = true)] internal extern static unsafe void TexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Single* param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBumpParameterivATI", ExactSpelling = true)] internal extern static unsafe void TexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Int32* param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1d", ExactSpelling = true)] internal extern static void TexCoord1d(Double s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1dv", ExactSpelling = true)] internal extern static unsafe void TexCoord1dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1f", ExactSpelling = true)] internal extern static void TexCoord1f(Single s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1fv", ExactSpelling = true)] internal extern static unsafe void TexCoord1fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1hNV", ExactSpelling = true)] internal extern static void TexCoord1hNV(OpenTK.Half s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1hvNV", ExactSpelling = true)] internal extern static unsafe void TexCoord1hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1i", ExactSpelling = true)] internal extern static void TexCoord1i(Int32 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1iv", ExactSpelling = true)] internal extern static unsafe void TexCoord1iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1s", ExactSpelling = true)] internal extern static void TexCoord1s(Int16 s); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1sv", ExactSpelling = true)] internal extern static unsafe void TexCoord1sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2d", ExactSpelling = true)] internal extern static void TexCoord2d(Double s, Double t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2dv", ExactSpelling = true)] internal extern static unsafe void TexCoord2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2f", ExactSpelling = true)] internal extern static void TexCoord2f(Single s, Single t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor3fVertex3fSUN", ExactSpelling = true)] internal extern static void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4ubVertex3fSUN", ExactSpelling = true)] internal extern static void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fNormal3fVertex3fSUN", ExactSpelling = true)] internal extern static void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fv", ExactSpelling = true)] internal extern static unsafe void TexCoord2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fVertex3fSUN", ExactSpelling = true)] internal extern static void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fVertex3fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord2fVertex3fvSUN(Single* tc, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2hNV", ExactSpelling = true)] internal extern static void TexCoord2hNV(OpenTK.Half s, OpenTK.Half t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2hvNV", ExactSpelling = true)] internal extern static unsafe void TexCoord2hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2i", ExactSpelling = true)] internal extern static void TexCoord2i(Int32 s, Int32 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2iv", ExactSpelling = true)] internal extern static unsafe void TexCoord2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2s", ExactSpelling = true)] internal extern static void TexCoord2s(Int16 s, Int16 t); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2sv", ExactSpelling = true)] internal extern static unsafe void TexCoord2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3d", ExactSpelling = true)] internal extern static void TexCoord3d(Double s, Double t, Double r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3dv", ExactSpelling = true)] internal extern static unsafe void TexCoord3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3f", ExactSpelling = true)] internal extern static void TexCoord3f(Single s, Single t, Single r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3fv", ExactSpelling = true)] internal extern static unsafe void TexCoord3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3hNV", ExactSpelling = true)] internal extern static void TexCoord3hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3hvNV", ExactSpelling = true)] internal extern static unsafe void TexCoord3hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3i", ExactSpelling = true)] internal extern static void TexCoord3i(Int32 s, Int32 t, Int32 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3iv", ExactSpelling = true)] internal extern static unsafe void TexCoord3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3s", ExactSpelling = true)] internal extern static void TexCoord3s(Int16 s, Int16 t, Int16 r); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3sv", ExactSpelling = true)] internal extern static unsafe void TexCoord3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4d", ExactSpelling = true)] internal extern static void TexCoord4d(Double s, Double t, Double r, Double q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4dv", ExactSpelling = true)] internal extern static unsafe void TexCoord4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4f", ExactSpelling = true)] internal extern static void TexCoord4f(Single s, Single t, Single r, Single q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fSUN", ExactSpelling = true)] internal extern static void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fv", ExactSpelling = true)] internal extern static unsafe void TexCoord4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fVertex4fSUN", ExactSpelling = true)] internal extern static void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fVertex4fvSUN", ExactSpelling = true)] internal extern static unsafe void TexCoord4fVertex4fvSUN(Single* tc, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4hNV", ExactSpelling = true)] internal extern static void TexCoord4hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4hvNV", ExactSpelling = true)] internal extern static unsafe void TexCoord4hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4i", ExactSpelling = true)] internal extern static void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4iv", ExactSpelling = true)] internal extern static unsafe void TexCoord4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4s", ExactSpelling = true)] internal extern static void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4sv", ExactSpelling = true)] internal extern static unsafe void TexCoord4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointer", ExactSpelling = true)] internal extern static void TexCoordPointer(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointerEXT", ExactSpelling = true)] internal extern static void TexCoordPointerEXT(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointerListIBM", ExactSpelling = true)] internal extern static void TexCoordPointerListIBM(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointervINTEL", ExactSpelling = true)] internal extern static void TexCoordPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvf", ExactSpelling = true)] internal extern static void TexEnvf(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvfv", ExactSpelling = true)] internal extern static unsafe void TexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvi", ExactSpelling = true)] internal extern static void TexEnvi(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnviv", ExactSpelling = true)] internal extern static unsafe void TexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexFilterFuncSGIS", ExactSpelling = true)] internal extern static unsafe void TexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, Int32 n, Single* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGend", ExactSpelling = true)] internal extern static void TexGend(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGendv", ExactSpelling = true)] internal extern static unsafe void TexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGenf", ExactSpelling = true)] internal extern static void TexGenf(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGenfv", ExactSpelling = true)] internal extern static unsafe void TexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGeni", ExactSpelling = true)] internal extern static void TexGeni(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGeniv", ExactSpelling = true)] internal extern static unsafe void TexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage1D", ExactSpelling = true)] internal extern static void TexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage2D", ExactSpelling = true)] internal extern static void TexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage2DMultisample", ExactSpelling = true)] internal extern static void TexImage2DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3D", ExactSpelling = true)] internal extern static void TexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3DEXT", ExactSpelling = true)] internal extern static void TexImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3DMultisample", ExactSpelling = true)] internal extern static void TexImage3DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage4DSGIS", ExactSpelling = true)] internal extern static void TexImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterf", ExactSpelling = true)] internal extern static void TexParameterf(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterfv", ExactSpelling = true)] internal extern static unsafe void TexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameteri", ExactSpelling = true)] internal extern static void TexParameteri(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIiv", ExactSpelling = true)] internal extern static unsafe void TexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void TexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIuiv", ExactSpelling = true)] internal extern static unsafe void TexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void TexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameteriv", ExactSpelling = true)] internal extern static unsafe void TexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexRenderbufferNV", ExactSpelling = true)] internal extern static void TexRenderbufferNV(OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage1D", ExactSpelling = true)] internal extern static void TexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage1DEXT", ExactSpelling = true)] internal extern static void TexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage2D", ExactSpelling = true)] internal extern static void TexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage2DEXT", ExactSpelling = true)] internal extern static void TexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage3D", ExactSpelling = true)] internal extern static void TexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage3DEXT", ExactSpelling = true)] internal extern static void TexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage4DSGIS", ExactSpelling = true)] internal extern static void TexSubImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureBufferEXT", ExactSpelling = true)] internal extern static void TextureBufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureColorMaskSGIS", ExactSpelling = true)] internal extern static void TextureColorMaskSGIS(bool red, bool green, bool blue, bool alpha); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage1DEXT", ExactSpelling = true)] internal extern static void TextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage2DEXT", ExactSpelling = true)] internal extern static void TextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage3DEXT", ExactSpelling = true)] internal extern static void TextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureLightEXT", ExactSpelling = true)] internal extern static void TextureLightEXT(OpenTK.Graphics.ExtLightTexture pname); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureMaterialEXT", ExactSpelling = true)] internal extern static void TextureMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureNormalEXT", ExactSpelling = true)] internal extern static void TextureNormalEXT(OpenTK.Graphics.ExtTexturePerturbNormal mode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterfEXT", ExactSpelling = true)] internal extern static void TextureParameterfEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterfvEXT", ExactSpelling = true)] internal extern static unsafe void TextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameteriEXT", ExactSpelling = true)] internal extern static void TextureParameteriEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterIivEXT", ExactSpelling = true)] internal extern static unsafe void TextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterIuivEXT", ExactSpelling = true)] internal extern static unsafe void TextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterivEXT", ExactSpelling = true)] internal extern static unsafe void TextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureRangeAPPLE", ExactSpelling = true)] internal extern static void TextureRangeAPPLE(OpenTK.Graphics.AppleTextureRange target, Int32 length, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureRenderbufferEXT", ExactSpelling = true)] internal extern static void TextureRenderbufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage1DEXT", ExactSpelling = true)] internal extern static void TextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage2DEXT", ExactSpelling = true)] internal extern static void TextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage3DEXT", ExactSpelling = true)] internal extern static void TextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTrackMatrixNV", ExactSpelling = true)] internal extern static void TrackMatrixNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.NvVertexProgram matrix, OpenTK.Graphics.NvVertexProgram transform); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackAttribsNV", ExactSpelling = true)] internal extern static unsafe void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, OpenTK.Graphics.NvTransformFeedback bufferMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryings", ExactSpelling = true)] internal extern static void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.TransformFeedbackMode bufferMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryingsEXT", ExactSpelling = true)] internal extern static void TransformFeedbackVaryingsEXT(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.ExtTransformFeedback bufferMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryingsNV", ExactSpelling = true)] internal extern static void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.NvTransformFeedback bufferMode); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTranslated", ExactSpelling = true)] internal extern static void Translated(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTranslatef", ExactSpelling = true)] internal extern static void Translatef(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1f", ExactSpelling = true)] internal extern static void Uniform1f(Int32 location, Single v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fARB", ExactSpelling = true)] internal extern static void Uniform1fARB(Int32 location, Single v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fv", ExactSpelling = true)] internal extern static unsafe void Uniform1fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fvARB", ExactSpelling = true)] internal extern static unsafe void Uniform1fvARB(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1i", ExactSpelling = true)] internal extern static void Uniform1i(Int32 location, Int32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1iARB", ExactSpelling = true)] internal extern static void Uniform1iARB(Int32 location, Int32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1iv", ExactSpelling = true)] internal extern static unsafe void Uniform1iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1ivARB", ExactSpelling = true)] internal extern static unsafe void Uniform1ivARB(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1ui", ExactSpelling = true)] internal extern static void Uniform1ui(Int32 location, UInt32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uiEXT", ExactSpelling = true)] internal extern static void Uniform1uiEXT(Int32 location, UInt32 v0); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uiv", ExactSpelling = true)] internal extern static unsafe void Uniform1uiv(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uivEXT", ExactSpelling = true)] internal extern static unsafe void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2f", ExactSpelling = true)] internal extern static void Uniform2f(Int32 location, Single v0, Single v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fARB", ExactSpelling = true)] internal extern static void Uniform2fARB(Int32 location, Single v0, Single v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fv", ExactSpelling = true)] internal extern static unsafe void Uniform2fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fvARB", ExactSpelling = true)] internal extern static unsafe void Uniform2fvARB(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2i", ExactSpelling = true)] internal extern static void Uniform2i(Int32 location, Int32 v0, Int32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2iARB", ExactSpelling = true)] internal extern static void Uniform2iARB(Int32 location, Int32 v0, Int32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2iv", ExactSpelling = true)] internal extern static unsafe void Uniform2iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2ivARB", ExactSpelling = true)] internal extern static unsafe void Uniform2ivARB(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2ui", ExactSpelling = true)] internal extern static void Uniform2ui(Int32 location, UInt32 v0, UInt32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uiEXT", ExactSpelling = true)] internal extern static void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uiv", ExactSpelling = true)] internal extern static unsafe void Uniform2uiv(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uivEXT", ExactSpelling = true)] internal extern static unsafe void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3f", ExactSpelling = true)] internal extern static void Uniform3f(Int32 location, Single v0, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fARB", ExactSpelling = true)] internal extern static void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fv", ExactSpelling = true)] internal extern static unsafe void Uniform3fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fvARB", ExactSpelling = true)] internal extern static unsafe void Uniform3fvARB(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3i", ExactSpelling = true)] internal extern static void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3iARB", ExactSpelling = true)] internal extern static void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3iv", ExactSpelling = true)] internal extern static unsafe void Uniform3iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3ivARB", ExactSpelling = true)] internal extern static unsafe void Uniform3ivARB(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3ui", ExactSpelling = true)] internal extern static void Uniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uiEXT", ExactSpelling = true)] internal extern static void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uiv", ExactSpelling = true)] internal extern static unsafe void Uniform3uiv(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uivEXT", ExactSpelling = true)] internal extern static unsafe void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4f", ExactSpelling = true)] internal extern static void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fARB", ExactSpelling = true)] internal extern static void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fv", ExactSpelling = true)] internal extern static unsafe void Uniform4fv(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fvARB", ExactSpelling = true)] internal extern static unsafe void Uniform4fvARB(Int32 location, Int32 count, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4i", ExactSpelling = true)] internal extern static void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4iARB", ExactSpelling = true)] internal extern static void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4iv", ExactSpelling = true)] internal extern static unsafe void Uniform4iv(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4ivARB", ExactSpelling = true)] internal extern static unsafe void Uniform4ivARB(Int32 location, Int32 count, Int32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4ui", ExactSpelling = true)] internal extern static void Uniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uiEXT", ExactSpelling = true)] internal extern static void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uiv", ExactSpelling = true)] internal extern static unsafe void Uniform4uiv(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uivEXT", ExactSpelling = true)] internal extern static unsafe void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformBlockBinding", ExactSpelling = true)] internal extern static void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformBufferEXT", ExactSpelling = true)] internal extern static void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2fvARB", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2fvARB(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2x3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2x3fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2x4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix2x4fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3fvARB", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3fvARB(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3x2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3x2fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3x4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix3x4fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4fvARB", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4fvARB(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4x2fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4x2fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4x3fv", ExactSpelling = true)] internal extern static unsafe void UniformMatrix4x3fv(Int32 location, Int32 count, bool transpose, Single* value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnlockArraysEXT", ExactSpelling = true)] internal extern static void UnlockArraysEXT(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapBuffer", ExactSpelling = true)] internal extern static bool UnmapBuffer(OpenTK.Graphics.BufferTarget target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapBufferARB", ExactSpelling = true)] internal extern static bool UnmapBufferARB(OpenTK.Graphics.BufferTargetArb target); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapNamedBufferEXT", ExactSpelling = true)] internal extern static bool UnmapNamedBufferEXT(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapObjectBufferATI", ExactSpelling = true)] internal extern static void UnmapObjectBufferATI(UInt32 buffer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUpdateObjectBufferATI", ExactSpelling = true)] internal extern static void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject preserve); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUseProgram", ExactSpelling = true)] internal extern static void UseProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUseProgramObjectARB", ExactSpelling = true)] internal extern static void UseProgramObjectARB(UInt32 programObj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glValidateProgram", ExactSpelling = true)] internal extern static void ValidateProgram(UInt32 program); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glValidateProgramARB", ExactSpelling = true)] internal extern static void ValidateProgramARB(UInt32 programObj); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantArrayObjectATI", ExactSpelling = true)] internal extern static void VariantArrayObjectATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantbvEXT", ExactSpelling = true)] internal extern static unsafe void VariantbvEXT(UInt32 id, SByte* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantdvEXT", ExactSpelling = true)] internal extern static unsafe void VariantdvEXT(UInt32 id, Double* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantfvEXT", ExactSpelling = true)] internal extern static unsafe void VariantfvEXT(UInt32 id, Single* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantivEXT", ExactSpelling = true)] internal extern static unsafe void VariantivEXT(UInt32 id, Int32* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantPointerEXT", ExactSpelling = true)] internal extern static void VariantPointerEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, UInt32 stride, IntPtr addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantsvEXT", ExactSpelling = true)] internal extern static unsafe void VariantsvEXT(UInt32 id, Int16* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantubvEXT", ExactSpelling = true)] internal extern static unsafe void VariantubvEXT(UInt32 id, Byte* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantuivEXT", ExactSpelling = true)] internal extern static unsafe void VariantuivEXT(UInt32 id, UInt32* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantusvEXT", ExactSpelling = true)] internal extern static unsafe void VariantusvEXT(UInt32 id, UInt16* addr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2d", ExactSpelling = true)] internal extern static void Vertex2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2dv", ExactSpelling = true)] internal extern static unsafe void Vertex2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2f", ExactSpelling = true)] internal extern static void Vertex2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2fv", ExactSpelling = true)] internal extern static unsafe void Vertex2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2hNV", ExactSpelling = true)] internal extern static void Vertex2hNV(OpenTK.Half x, OpenTK.Half y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2hvNV", ExactSpelling = true)] internal extern static unsafe void Vertex2hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2i", ExactSpelling = true)] internal extern static void Vertex2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2iv", ExactSpelling = true)] internal extern static unsafe void Vertex2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2s", ExactSpelling = true)] internal extern static void Vertex2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2sv", ExactSpelling = true)] internal extern static unsafe void Vertex2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3d", ExactSpelling = true)] internal extern static void Vertex3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3dv", ExactSpelling = true)] internal extern static unsafe void Vertex3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3f", ExactSpelling = true)] internal extern static void Vertex3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3fv", ExactSpelling = true)] internal extern static unsafe void Vertex3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3hNV", ExactSpelling = true)] internal extern static void Vertex3hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3hvNV", ExactSpelling = true)] internal extern static unsafe void Vertex3hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3i", ExactSpelling = true)] internal extern static void Vertex3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3iv", ExactSpelling = true)] internal extern static unsafe void Vertex3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3s", ExactSpelling = true)] internal extern static void Vertex3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3sv", ExactSpelling = true)] internal extern static unsafe void Vertex3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4d", ExactSpelling = true)] internal extern static void Vertex4d(Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4dv", ExactSpelling = true)] internal extern static unsafe void Vertex4dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4f", ExactSpelling = true)] internal extern static void Vertex4f(Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4fv", ExactSpelling = true)] internal extern static unsafe void Vertex4fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4hNV", ExactSpelling = true)] internal extern static void Vertex4hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4hvNV", ExactSpelling = true)] internal extern static unsafe void Vertex4hvNV(OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4i", ExactSpelling = true)] internal extern static void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4iv", ExactSpelling = true)] internal extern static unsafe void Vertex4iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4s", ExactSpelling = true)] internal extern static void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4sv", ExactSpelling = true)] internal extern static unsafe void Vertex4sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayParameteriAPPLE", ExactSpelling = true)] internal extern static void VertexArrayParameteriAPPLE(OpenTK.Graphics.AppleVertexArrayRange pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayRangeAPPLE", ExactSpelling = true)] internal extern static void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayRangeNV", ExactSpelling = true)] internal extern static void VertexArrayRangeNV(Int32 length, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1d", ExactSpelling = true)] internal extern static void VertexAttrib1d(UInt32 index, Double x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dARB", ExactSpelling = true)] internal extern static void VertexAttrib1dARB(UInt32 index, Double x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dNV", ExactSpelling = true)] internal extern static void VertexAttrib1dNV(UInt32 index, Double x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1dvARB(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1dvNV(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1f", ExactSpelling = true)] internal extern static void VertexAttrib1f(UInt32 index, Single x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fARB", ExactSpelling = true)] internal extern static void VertexAttrib1fARB(UInt32 index, Single x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fNV", ExactSpelling = true)] internal extern static void VertexAttrib1fNV(UInt32 index, Single x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1fvARB(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1fvNV(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1hNV", ExactSpelling = true)] internal extern static void VertexAttrib1hNV(UInt32 index, OpenTK.Half x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1hvNV(UInt32 index, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1s", ExactSpelling = true)] internal extern static void VertexAttrib1s(UInt32 index, Int16 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sARB", ExactSpelling = true)] internal extern static void VertexAttrib1sARB(UInt32 index, Int16 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sNV", ExactSpelling = true)] internal extern static void VertexAttrib1sNV(UInt32 index, Int16 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1svARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1svARB(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib1svNV(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2d", ExactSpelling = true)] internal extern static void VertexAttrib2d(UInt32 index, Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dARB", ExactSpelling = true)] internal extern static void VertexAttrib2dARB(UInt32 index, Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dNV", ExactSpelling = true)] internal extern static void VertexAttrib2dNV(UInt32 index, Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2dvARB(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2dvNV(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2f", ExactSpelling = true)] internal extern static void VertexAttrib2f(UInt32 index, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fARB", ExactSpelling = true)] internal extern static void VertexAttrib2fARB(UInt32 index, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fNV", ExactSpelling = true)] internal extern static void VertexAttrib2fNV(UInt32 index, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2fvARB(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2fvNV(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2hNV", ExactSpelling = true)] internal extern static void VertexAttrib2hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2hvNV(UInt32 index, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2s", ExactSpelling = true)] internal extern static void VertexAttrib2s(UInt32 index, Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sARB", ExactSpelling = true)] internal extern static void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sNV", ExactSpelling = true)] internal extern static void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2svARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2svARB(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib2svNV(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3d", ExactSpelling = true)] internal extern static void VertexAttrib3d(UInt32 index, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dARB", ExactSpelling = true)] internal extern static void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dNV", ExactSpelling = true)] internal extern static void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3dvARB(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3dvNV(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3f", ExactSpelling = true)] internal extern static void VertexAttrib3f(UInt32 index, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fARB", ExactSpelling = true)] internal extern static void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fNV", ExactSpelling = true)] internal extern static void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3fvARB(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3fvNV(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3hNV", ExactSpelling = true)] internal extern static void VertexAttrib3hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3hvNV(UInt32 index, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3s", ExactSpelling = true)] internal extern static void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sARB", ExactSpelling = true)] internal extern static void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sNV", ExactSpelling = true)] internal extern static void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3svARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3svARB(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib3svNV(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4bv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4bv(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4bvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4bvARB(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4d", ExactSpelling = true)] internal extern static void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dARB", ExactSpelling = true)] internal extern static void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dNV", ExactSpelling = true)] internal extern static void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4dv(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4dvARB(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4dvNV(UInt32 index, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4f", ExactSpelling = true)] internal extern static void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fARB", ExactSpelling = true)] internal extern static void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fNV", ExactSpelling = true)] internal extern static void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4fv(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4fvARB(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4fvNV(UInt32 index, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4hNV", ExactSpelling = true)] internal extern static void VertexAttrib4hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4hvNV(UInt32 index, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4iv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ivARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4ivARB(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nbv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nbv(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NbvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NbvARB(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Niv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Niv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NivARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NivARB(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nsv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nsv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NsvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NsvARB(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nub", ExactSpelling = true)] internal extern static void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NubARB", ExactSpelling = true)] internal extern static void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nubv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nubv(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NubvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NubvARB(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nuiv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nuiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NuivARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NuivARB(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nusv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4Nusv(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NusvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4NusvARB(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4s", ExactSpelling = true)] internal extern static void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sARB", ExactSpelling = true)] internal extern static void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sNV", ExactSpelling = true)] internal extern static void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4svARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4svARB(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4svNV(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubNV", ExactSpelling = true)] internal extern static void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4ubv(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4ubvARB(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4ubvNV(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4uivARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4uivARB(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4usv", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4usv(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4usvARB", ExactSpelling = true)] internal extern static unsafe void VertexAttrib4usvARB(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribArrayObjectATI", ExactSpelling = true)] internal extern static void VertexAttribArrayObjectATI(UInt32 index, Int32 size, OpenTK.Graphics.AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribDivisorARB", ExactSpelling = true)] internal extern static void VertexAttribDivisorARB(UInt32 index, UInt32 divisor); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1i", ExactSpelling = true)] internal extern static void VertexAttribI1i(UInt32 index, Int32 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1iEXT", ExactSpelling = true)] internal extern static void VertexAttribI1iEXT(UInt32 index, Int32 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1iv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI1iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1ivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI1ivEXT(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1ui", ExactSpelling = true)] internal extern static void VertexAttribI1ui(UInt32 index, UInt32 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uiEXT", ExactSpelling = true)] internal extern static void VertexAttribI1uiEXT(UInt32 index, UInt32 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI1uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI1uivEXT(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2i", ExactSpelling = true)] internal extern static void VertexAttribI2i(UInt32 index, Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2iEXT", ExactSpelling = true)] internal extern static void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2iv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI2iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2ivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI2ivEXT(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2ui", ExactSpelling = true)] internal extern static void VertexAttribI2ui(UInt32 index, UInt32 x, UInt32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uiEXT", ExactSpelling = true)] internal extern static void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI2uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI2uivEXT(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3i", ExactSpelling = true)] internal extern static void VertexAttribI3i(UInt32 index, Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3iEXT", ExactSpelling = true)] internal extern static void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3iv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI3iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3ivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI3ivEXT(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3ui", ExactSpelling = true)] internal extern static void VertexAttribI3ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uiEXT", ExactSpelling = true)] internal extern static void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI3uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI3uivEXT(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4bv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4bv(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4bvEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4bvEXT(UInt32 index, SByte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4i", ExactSpelling = true)] internal extern static void VertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4iEXT", ExactSpelling = true)] internal extern static void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4iv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4iv(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4ivEXT(UInt32 index, Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4sv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4sv(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4svEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4svEXT(UInt32 index, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ubv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4ubv(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ubvEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4ubvEXT(UInt32 index, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ui", ExactSpelling = true)] internal extern static void VertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uiEXT", ExactSpelling = true)] internal extern static void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uiv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4uiv(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uivEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4uivEXT(UInt32 index, UInt32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4usv", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4usv(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4usvEXT", ExactSpelling = true)] internal extern static unsafe void VertexAttribI4usvEXT(UInt32 index, UInt16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointer", ExactSpelling = true)] internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribParameter type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointerEXT", ExactSpelling = true)] internal extern static void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.NvVertexProgram4 type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointer", ExactSpelling = true)] internal extern static void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointerARB", ExactSpelling = true)] internal extern static void VertexAttribPointerARB(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointerNV", ExactSpelling = true)] internal extern static void VertexAttribPointerNV(UInt32 index, Int32 fsize, OpenTK.Graphics.VertexAttribParameterArb type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs1hvNV(UInt32 index, Int32 n, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs2hvNV(UInt32 index, Int32 n, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs3hvNV(UInt32 index, Int32 n, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4dvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4fvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4hvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs4hvNV(UInt32 index, Int32 n, OpenTK.Half* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4svNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4ubvNV", ExactSpelling = true)] internal extern static unsafe void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendARB", ExactSpelling = true)] internal extern static void VertexBlendARB(Int32 count); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendEnvfATI", ExactSpelling = true)] internal extern static void VertexBlendEnvfATI(OpenTK.Graphics.AtiVertexStreams pname, Single param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendEnviATI", ExactSpelling = true)] internal extern static void VertexBlendEnviATI(OpenTK.Graphics.AtiVertexStreams pname, Int32 param); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointer", ExactSpelling = true)] internal extern static void VertexPointer(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointerEXT", ExactSpelling = true)] internal extern static void VertexPointerEXT(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointerListIBM", ExactSpelling = true)] internal extern static void VertexPointerListIBM(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointervINTEL", ExactSpelling = true)] internal extern static void VertexPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1dATI", ExactSpelling = true)] internal extern static void VertexStream1dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1dvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream1dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1fATI", ExactSpelling = true)] internal extern static void VertexStream1fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1fvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream1fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1iATI", ExactSpelling = true)] internal extern static void VertexStream1iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1ivATI", ExactSpelling = true)] internal extern static unsafe void VertexStream1ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1sATI", ExactSpelling = true)] internal extern static void VertexStream1sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1svATI", ExactSpelling = true)] internal extern static unsafe void VertexStream1svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2dATI", ExactSpelling = true)] internal extern static void VertexStream2dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2dvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream2dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2fATI", ExactSpelling = true)] internal extern static void VertexStream2fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2fvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream2fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2iATI", ExactSpelling = true)] internal extern static void VertexStream2iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2ivATI", ExactSpelling = true)] internal extern static unsafe void VertexStream2ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2sATI", ExactSpelling = true)] internal extern static void VertexStream2sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2svATI", ExactSpelling = true)] internal extern static unsafe void VertexStream2svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3dATI", ExactSpelling = true)] internal extern static void VertexStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3dvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3fATI", ExactSpelling = true)] internal extern static void VertexStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3fvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3iATI", ExactSpelling = true)] internal extern static void VertexStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3ivATI", ExactSpelling = true)] internal extern static unsafe void VertexStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3sATI", ExactSpelling = true)] internal extern static void VertexStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3svATI", ExactSpelling = true)] internal extern static unsafe void VertexStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4dATI", ExactSpelling = true)] internal extern static void VertexStream4dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4dvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream4dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4fATI", ExactSpelling = true)] internal extern static void VertexStream4fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4fvATI", ExactSpelling = true)] internal extern static unsafe void VertexStream4fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4iATI", ExactSpelling = true)] internal extern static void VertexStream4iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4ivATI", ExactSpelling = true)] internal extern static unsafe void VertexStream4ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4sATI", ExactSpelling = true)] internal extern static void VertexStream4sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4svATI", ExactSpelling = true)] internal extern static unsafe void VertexStream4svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightfEXT", ExactSpelling = true)] internal extern static void VertexWeightfEXT(Single weight); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightfvEXT", ExactSpelling = true)] internal extern static unsafe void VertexWeightfvEXT(Single* weight); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeighthNV", ExactSpelling = true)] internal extern static void VertexWeighthNV(OpenTK.Half weight); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeighthvNV", ExactSpelling = true)] internal extern static unsafe void VertexWeighthvNV(OpenTK.Half* weight); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightPointerEXT", ExactSpelling = true)] internal extern static void VertexWeightPointerEXT(Int32 size, OpenTK.Graphics.ExtVertexWeighting type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glViewport", ExactSpelling = true)] internal extern static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWaitSync", ExactSpelling = true)] internal extern static void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightbvARB", ExactSpelling = true)] internal extern static unsafe void WeightbvARB(Int32 size, SByte* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightdvARB", ExactSpelling = true)] internal extern static unsafe void WeightdvARB(Int32 size, Double* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightfvARB", ExactSpelling = true)] internal extern static unsafe void WeightfvARB(Int32 size, Single* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightivARB", ExactSpelling = true)] internal extern static unsafe void WeightivARB(Int32 size, Int32* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightPointerARB", ExactSpelling = true)] internal extern static void WeightPointerARB(Int32 size, OpenTK.Graphics.ArbVertexBlend type, Int32 stride, IntPtr pointer); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightsvARB", ExactSpelling = true)] internal extern static unsafe void WeightsvARB(Int32 size, Int16* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightubvARB", ExactSpelling = true)] internal extern static unsafe void WeightubvARB(Int32 size, Byte* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightuivARB", ExactSpelling = true)] internal extern static unsafe void WeightuivARB(Int32 size, UInt32* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightusvARB", ExactSpelling = true)] internal extern static unsafe void WeightusvARB(Int32 size, UInt16* weights); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2d", ExactSpelling = true)] internal extern static void WindowPos2d(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dARB", ExactSpelling = true)] internal extern static void WindowPos2dARB(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos2dMESA(Double x, Double y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dv", ExactSpelling = true)] internal extern static unsafe void WindowPos2dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dvARB", ExactSpelling = true)] internal extern static unsafe void WindowPos2dvARB(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos2dvMESA(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2f", ExactSpelling = true)] internal extern static void WindowPos2f(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fARB", ExactSpelling = true)] internal extern static void WindowPos2fARB(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos2fMESA(Single x, Single y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fv", ExactSpelling = true)] internal extern static unsafe void WindowPos2fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fvARB", ExactSpelling = true)] internal extern static unsafe void WindowPos2fvARB(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos2fvMESA(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2i", ExactSpelling = true)] internal extern static void WindowPos2i(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iARB", ExactSpelling = true)] internal extern static void WindowPos2iARB(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos2iMESA(Int32 x, Int32 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iv", ExactSpelling = true)] internal extern static unsafe void WindowPos2iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2ivARB", ExactSpelling = true)] internal extern static unsafe void WindowPos2ivARB(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2ivMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos2ivMESA(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2s", ExactSpelling = true)] internal extern static void WindowPos2s(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sARB", ExactSpelling = true)] internal extern static void WindowPos2sARB(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos2sMESA(Int16 x, Int16 y); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sv", ExactSpelling = true)] internal extern static unsafe void WindowPos2sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2svARB", ExactSpelling = true)] internal extern static unsafe void WindowPos2svARB(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2svMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos2svMESA(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3d", ExactSpelling = true)] internal extern static void WindowPos3d(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dARB", ExactSpelling = true)] internal extern static void WindowPos3dARB(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos3dMESA(Double x, Double y, Double z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dv", ExactSpelling = true)] internal extern static unsafe void WindowPos3dv(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dvARB", ExactSpelling = true)] internal extern static unsafe void WindowPos3dvARB(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos3dvMESA(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3f", ExactSpelling = true)] internal extern static void WindowPos3f(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fARB", ExactSpelling = true)] internal extern static void WindowPos3fARB(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos3fMESA(Single x, Single y, Single z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fv", ExactSpelling = true)] internal extern static unsafe void WindowPos3fv(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fvARB", ExactSpelling = true)] internal extern static unsafe void WindowPos3fvARB(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos3fvMESA(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3i", ExactSpelling = true)] internal extern static void WindowPos3i(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iARB", ExactSpelling = true)] internal extern static void WindowPos3iARB(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos3iMESA(Int32 x, Int32 y, Int32 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iv", ExactSpelling = true)] internal extern static unsafe void WindowPos3iv(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3ivARB", ExactSpelling = true)] internal extern static unsafe void WindowPos3ivARB(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3ivMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos3ivMESA(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3s", ExactSpelling = true)] internal extern static void WindowPos3s(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sARB", ExactSpelling = true)] internal extern static void WindowPos3sARB(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos3sMESA(Int16 x, Int16 y, Int16 z); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sv", ExactSpelling = true)] internal extern static unsafe void WindowPos3sv(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3svARB", ExactSpelling = true)] internal extern static unsafe void WindowPos3svARB(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3svMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos3svMESA(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4dMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos4dMESA(Double x, Double y, Double z, Double w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4dvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos4dvMESA(Double* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4fMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos4fMESA(Single x, Single y, Single z, Single w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4fvMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos4fvMESA(Single* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4iMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4ivMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos4ivMESA(Int32* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4sMESA", CharSet = CharSet.Auto)] internal extern static void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4svMESA", CharSet = CharSet.Auto)] internal extern static unsafe void WindowPos4svMESA(Int16* v); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWriteMaskEXT", ExactSpelling = true)] internal extern static void WriteMaskEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW); } } } opentk-1.0.20101006/Source/Compatibility/Graphics/TextExtents.cs0000664000175000017500000000765711453131426023224 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics { /// /// Holds the results of a text measurement. /// public class TextExtents : IDisposable { #region Fields protected RectangleF text_extents; protected List glyph_extents = new List(); public static readonly TextExtents Empty = new TextExtents(); #endregion #region Constructors internal TextExtents() { } #endregion #region Public Members /// /// Gets the bounding box of the measured text. /// public RectangleF BoundingBox { get { return text_extents; } internal set { text_extents = value; } } /// /// Gets the extents of each glyph in the measured text. /// /// The index of the glyph. /// The extents of the specified glyph. public RectangleF this[int i] { get { return glyph_extents[i]; } internal set { glyph_extents[i] = value; } } /// /// Gets the extents of each glyph in the measured text. /// public IEnumerable GlyphExtents { get { return (IEnumerable)glyph_extents; } } /// /// Gets the number of the measured glyphs. /// public int Count { get { return glyph_extents.Count; } } #endregion #region Internal Members internal void Add(RectangleF glyphExtent) { glyph_extents.Add(glyphExtent); } internal void AddRange(IEnumerable glyphExtents) { glyph_extents.AddRange(glyphExtents); } internal void Clear() { BoundingBox = RectangleF.Empty; glyph_extents.Clear(); } internal TextExtents Clone() { TextExtents extents = new TextExtents(); extents.glyph_extents.AddRange(GlyphExtents); extents.BoundingBox = BoundingBox; return extents; } #endregion #region IDisposable Members /// /// Frees the resources consumed by this TextExtents instance. /// public virtual void Dispose() { } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/TextPrinterOptions.cs0000664000175000017500000000077411453131426024562 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines available options for the TextPrinter. /// [Flags] public enum TextPrinterOptions { /// The TextPrinter will use default printing options. Default = 0x0000, /// The TextPrinter will not cache text blocks as they are measured or printed. NoCache = 0x0001, } } opentk-1.0.20101006/Source/Compatibility/Graphics/IGraphicsResource.cs0000664000175000017500000000340711453131426024273 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines a common interface to all OpenGL resources. /// interface IGraphicsResource : IDisposable { /// /// Gets the GraphicsContext that owns this resource. /// IGraphicsContext Context { get; } /// /// Gets the Id of this IGraphicsResource. /// int Id { get; } } } opentk-1.0.20101006/Source/Compatibility/Graphics/TextAlignment.cs0000664000175000017500000000115511453131426023473 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines available alignments for text. /// public enum TextAlignment { /// The text is aligned to the near side (left for left-to-right text and right for right-to-left text). Near = 0, /// The text is aligned to the center. Center, /// The text is aligned to the far side (right for left-to-right text and left for right-to-left text). Far } } opentk-1.0.20101006/Source/Compatibility/Graphics/Glu/0000775000175000017500000000000011453142152021104 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Graphics/Glu/Glu.cs0000664000175000017500000012141611453131424022167 0ustar laneylaneynamespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 static partial class Glu { public static void BeginCurve(IntPtr nurb) { Delegates.gluBeginCurve((IntPtr)nurb); } public static void BeginPolygon(IntPtr tess) { Delegates.gluBeginPolygon((IntPtr)tess); } public static void BeginSurface(IntPtr nurb) { Delegates.gluBeginSurface((IntPtr)nurb); } public static void BeginTrim(IntPtr nurb) { Delegates.gluBeginTrim((IntPtr)nurb); } public static Int32 Build1DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data) { unsafe { return Delegates.gluBuild1DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data); } } public static Int32 Build1DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild1DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static Int32 Build1DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data) { unsafe { return Delegates.gluBuild1DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)data); } } public static Int32 Build1DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild1DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static Int32 Build2DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data) { unsafe { return Delegates.gluBuild2DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data); } } public static Int32 Build2DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild2DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static Int32 Build2DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data) { unsafe { return Delegates.gluBuild2DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)data); } } public static Int32 Build2DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild2DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static Int32 Build3DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data) { unsafe { return Delegates.gluBuild3DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data); } } public static Int32 Build3DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild3DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static Int32 Build3DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data) { unsafe { return Delegates.gluBuild3DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)data); } } public static Int32 Build3DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluBuild3DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static bool CheckExtension(Byte[] extName, Byte[] extString) { unsafe { fixed (Byte* extName_ptr = extName) fixed (Byte* extString_ptr = extString) { return Delegates.gluCheckExtension((Byte*)extName_ptr, (Byte*)extString_ptr); } } } public static bool CheckExtension(ref Byte extName, ref Byte extString) { unsafe { fixed (Byte* extName_ptr = &extName) fixed (Byte* extString_ptr = &extString) { return Delegates.gluCheckExtension((Byte*)extName_ptr, (Byte*)extString_ptr); } } } [System.CLSCompliant(false)] public static unsafe bool CheckExtension(Byte* extName, Byte* extString) { return Delegates.gluCheckExtension((Byte*)extName, (Byte*)extString); } public static void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks) { Delegates.gluCylinder((IntPtr)quad, (double)@base, (double)top, (double)height, (Int32)slices, (Int32)stacks); } public static void DeleteNurbsRenderer(IntPtr nurb) { Delegates.gluDeleteNurbsRenderer((IntPtr)nurb); } public static void DeleteQuadric(IntPtr quad) { Delegates.gluDeleteQuadric((IntPtr)quad); } public static void DeleteTess(IntPtr tess) { Delegates.gluDeleteTess((IntPtr)tess); } public static void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops) { Delegates.gluDisk((IntPtr)quad, (double)inner, (double)outer, (Int32)slices, (Int32)loops); } public static void EndCurve(IntPtr nurb) { Delegates.gluEndCurve((IntPtr)nurb); } public static void EndPolygon(IntPtr tess) { Delegates.gluEndPolygon((IntPtr)tess); } public static void EndSurface(IntPtr nurb) { Delegates.gluEndSurface((IntPtr)nurb); } public static void EndTrim(IntPtr nurb) { Delegates.gluEndTrim((IntPtr)nurb); } public static string ErrorString(OpenTK.Graphics.GluErrorCode error) { unsafe { return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.gluErrorString((OpenTK.Graphics.GluErrorCode)error)); } } public static string GetString(OpenTK.Graphics.GluStringName name) { unsafe { return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.gluGetString((OpenTK.Graphics.GluStringName)name)); } } public static void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float[] data) { unsafe { fixed (float* data_ptr = data) { Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data_ptr); } } } public static void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] out float data) { unsafe { fixed (float* data_ptr = &data) { Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static unsafe void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data) { Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data); } public static void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double[] data) { unsafe { fixed (double* data_ptr = data) { Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data_ptr); } } } public static void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] out double data) { unsafe { fixed (double* data_ptr = &data) { Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data_ptr); data = *data_ptr; } } } [System.CLSCompliant(false)] public static unsafe void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data) { Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data); } public static void LoadSamplingMatrices(IntPtr nurb, float[] model, float[] perspective, Int32[] view) { unsafe { fixed (float* model_ptr = model) fixed (float* perspective_ptr = perspective) fixed (Int32* view_ptr = view) { Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model_ptr, (float*)perspective_ptr, (Int32*)view_ptr); } } } public static void LoadSamplingMatrices(IntPtr nurb, ref float model, ref float perspective, ref Int32 view) { unsafe { fixed (float* model_ptr = &model) fixed (float* perspective_ptr = &perspective) fixed (Int32* view_ptr = &view) { Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model_ptr, (float*)perspective_ptr, (Int32*)view_ptr); } } } [System.CLSCompliant(false)] public static unsafe void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view) { Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model, (float*)perspective, (Int32*)view); } public static void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) { Delegates.gluLookAt((double)eyeX, (double)eyeY, (double)eyeZ, (double)centerX, (double)centerY, (double)centerZ, (double)upX, (double)upY, (double)upZ); } public static IntPtr NewNurbsRenderer() { return Delegates.gluNewNurbsRenderer(); } public static IntPtr NewQuadric() { return Delegates.gluNewQuadric(); } public static IntPtr NewTess() { return Delegates.gluNewTess(); } public static void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type) { Delegates.gluNextContour((IntPtr)tess, (OpenTK.Graphics.TessContour)type); } public static void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc) { Delegates.gluNurbsCallback((IntPtr)nurb, (OpenTK.Graphics.NurbsCallback)which, (Delegate)CallBackFunc); } public static void NurbsCallbackData(IntPtr nurb, IntPtr userData) { unsafe { Delegates.gluNurbsCallbackData((IntPtr)nurb, (IntPtr)userData); } } public static void NurbsCallbackData(IntPtr nurb, [In, Out] object userData) { unsafe { System.Runtime.InteropServices.GCHandle userData_ptr = System.Runtime.InteropServices.GCHandle.Alloc(userData, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluNurbsCallbackData((IntPtr)nurb, (IntPtr)userData_ptr.AddrOfPinnedObject()); } finally { userData_ptr.Free(); } } } public static void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float[] knots, Int32 stride, [Out] float[] control, Int32 order, MapTarget type) { unsafe { fixed (float* knots_ptr = knots) fixed (float* control_ptr = control) { Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots_ptr, (Int32)stride, (float*)control_ptr, (Int32)order, (MapTarget)type); } } } public static void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] out float knots, Int32 stride, [Out] out float control, Int32 order, MapTarget type) { unsafe { fixed (float* knots_ptr = &knots) fixed (float* control_ptr = &control) { Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots_ptr, (Int32)stride, (float*)control_ptr, (Int32)order, (MapTarget)type); knots = *knots_ptr; control = *control_ptr; } } } [System.CLSCompliant(false)] public static unsafe void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type) { Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots, (Int32)stride, (float*)control, (Int32)order, (MapTarget)type); } public static void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value) { Delegates.gluNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float)value); } public static void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float[] sKnots, Int32 tKnotCount, float[] tKnots, Int32 sStride, Int32 tStride, float[] control, Int32 sOrder, Int32 tOrder, MapTarget type) { unsafe { fixed (float* sKnots_ptr = sKnots) fixed (float* tKnots_ptr = tKnots) fixed (float* control_ptr = control) { Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots_ptr, (Int32)tKnotCount, (float*)tKnots_ptr, (Int32)sStride, (Int32)tStride, (float*)control_ptr, (Int32)sOrder, (Int32)tOrder, (MapTarget)type); } } } public static void NurbsSurface(IntPtr nurb, Int32 sKnotCount, ref float sKnots, Int32 tKnotCount, ref float tKnots, Int32 sStride, Int32 tStride, ref float control, Int32 sOrder, Int32 tOrder, MapTarget type) { unsafe { fixed (float* sKnots_ptr = &sKnots) fixed (float* tKnots_ptr = &tKnots) fixed (float* control_ptr = &control) { Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots_ptr, (Int32)tKnotCount, (float*)tKnots_ptr, (Int32)sStride, (Int32)tStride, (float*)control_ptr, (Int32)sOrder, (Int32)tOrder, (MapTarget)type); } } } [System.CLSCompliant(false)] public static unsafe void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type) { Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots, (Int32)tKnotCount, (float*)tKnots, (Int32)sStride, (Int32)tStride, (float*)control, (Int32)sOrder, (Int32)tOrder, (MapTarget)type); } public static void Ortho2D(double left, double right, double bottom, double top) { Delegates.gluOrtho2D((double)left, (double)right, (double)bottom, (double)top); } public static void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep) { Delegates.gluPartialDisk((IntPtr)quad, (double)inner, (double)outer, (Int32)slices, (Int32)loops, (double)start, (double)sweep); } public static void Perspective(double fovy, double aspect, double zNear, double zFar) { Delegates.gluPerspective((double)fovy, (double)aspect, (double)zNear, (double)zFar); } public static void PickMatrix(double x, double y, double delX, double delY, [Out] Int32[] viewport) { unsafe { fixed (Int32* viewport_ptr = viewport) { Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport_ptr); } } } public static void PickMatrix(double x, double y, double delX, double delY, [Out] out Int32 viewport) { unsafe { fixed (Int32* viewport_ptr = &viewport) { Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport_ptr); viewport = *viewport_ptr; } } } [System.CLSCompliant(false)] public static unsafe void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport) { Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport); } public static Int32 Project(double objX, double objY, double objZ, double[] model, double[] proj, Int32[] view, double[] winX, double[] winY, double[] winZ) { unsafe { fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) fixed (double* winX_ptr = winX) fixed (double* winY_ptr = winY) fixed (double* winZ_ptr = winZ) { return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr); } } } public static Int32 Project(double objX, double objY, double objZ, ref double model, ref double proj, ref Int32 view, ref double winX, ref double winY, ref double winZ) { unsafe { fixed (double* model_ptr = &model) fixed (double* proj_ptr = &proj) fixed (Int32* view_ptr = &view) fixed (double* winX_ptr = &winX) fixed (double* winY_ptr = &winY) fixed (double* winZ_ptr = &winZ) { return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr); } } } [System.CLSCompliant(false)] public static unsafe Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ) { return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model, (double*)proj, (Int32*)view, (double*)winX, (double*)winY, (double*)winZ); } public static void PwlCurve(IntPtr nurb, Int32 count, float[] data, Int32 stride, OpenTK.Graphics.NurbsTrim type) { unsafe { fixed (float* data_ptr = data) { Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data_ptr, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type); } } } public static void PwlCurve(IntPtr nurb, Int32 count, ref float data, Int32 stride, OpenTK.Graphics.NurbsTrim type) { unsafe { fixed (float* data_ptr = &data) { Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data_ptr, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type); } } } [System.CLSCompliant(false)] public static unsafe void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type) { Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type); } public static void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc) { Delegates.gluQuadricCallback((IntPtr)quad, (OpenTK.Graphics.QuadricCallback)which, (Delegate)CallBackFunc); } public static void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw) { Delegates.gluQuadricDrawStyle((IntPtr)quad, (OpenTK.Graphics.QuadricDrawStyle)draw); } public static void QuadricNormal(IntPtr quad, OpenTK.Graphics.QuadricNormal normal) { Delegates.gluQuadricNormals((IntPtr)quad, (OpenTK.Graphics.QuadricNormal)normal); } public static void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation) { Delegates.gluQuadricOrientation((IntPtr)quad, (OpenTK.Graphics.QuadricOrientation)orientation); } public static void QuadricTexture(IntPtr quad, bool texture) { Delegates.gluQuadricTexture((IntPtr)quad, (bool)texture); } public static Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut) { unsafe { return Delegates.gluScaleImage((PixelFormat)format, (Int32)wIn, (Int32)hIn, (PixelType)typeIn, (IntPtr)dataIn, (Int32)wOut, (Int32)hOut, (PixelType)typeOut, (IntPtr)dataOut); } } public static Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, [In, Out] object dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [In, Out] object dataOut) { unsafe { System.Runtime.InteropServices.GCHandle dataIn_ptr = System.Runtime.InteropServices.GCHandle.Alloc(dataIn, System.Runtime.InteropServices.GCHandleType.Pinned); System.Runtime.InteropServices.GCHandle dataOut_ptr = System.Runtime.InteropServices.GCHandle.Alloc(dataOut, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.gluScaleImage((PixelFormat)format, (Int32)wIn, (Int32)hIn, (PixelType)typeIn, (IntPtr)dataIn_ptr.AddrOfPinnedObject(), (Int32)wOut, (Int32)hOut, (PixelType)typeOut, (IntPtr)dataOut_ptr.AddrOfPinnedObject()); } finally { dataIn_ptr.Free(); dataOut_ptr.Free(); } } } public static void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks) { Delegates.gluSphere((IntPtr)quad, (double)radius, (Int32)slices, (Int32)stacks); } public static void TessBeginContour(IntPtr tess) { Delegates.gluTessBeginContour((IntPtr)tess); } public static void TessBeginPolygon(IntPtr tess, IntPtr data) { unsafe { Delegates.gluTessBeginPolygon((IntPtr)tess, (IntPtr)data); } } public static void TessBeginPolygon(IntPtr tess, [In, Out] object data) { unsafe { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluTessBeginPolygon((IntPtr)tess, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } public static void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc) { Delegates.gluTessCallback((IntPtr)tess, (OpenTK.Graphics.TessCallback)which, (Delegate)CallBackFunc); } public static void TessEndContour(IntPtr tess) { Delegates.gluTessEndContour((IntPtr)tess); } public static void TessEndPolygon(IntPtr tess) { Delegates.gluTessEndPolygon((IntPtr)tess); } public static void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ) { Delegates.gluTessNormal((IntPtr)tess, (double)valueX, (double)valueY, (double)valueZ); } public static void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data) { Delegates.gluTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double)data); } public static void TessVertex(IntPtr tess, double[] location, IntPtr data) { unsafe { fixed (double* location_ptr = location) { Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data); } } } public static void TessVertex(IntPtr tess, double[] location, [In, Out] object data) { unsafe { fixed (double* location_ptr = location) { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } } public static void TessVertex(IntPtr tess, ref double location, IntPtr data) { unsafe { fixed (double* location_ptr = &location) { Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data); } } } public static void TessVertex(IntPtr tess, ref double location, [In, Out] object data) { unsafe { fixed (double* location_ptr = &location) { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } } } [System.CLSCompliant(false)] public static unsafe void TessVertex(IntPtr tess, double* location, IntPtr data) { Delegates.gluTessVertex((IntPtr)tess, (double*)location, (IntPtr)data); } [System.CLSCompliant(false)] public static unsafe void TessVertex(IntPtr tess, double* location, [In, Out] object data) { System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluTessVertex((IntPtr)tess, (double*)location, (IntPtr)data_ptr.AddrOfPinnedObject()); } finally { data_ptr.Free(); } } public static Int32 UnProject(double winX, double winY, double winZ, double[] model, double[] proj, Int32[] view, double[] objX, double[] objY, double[] objZ) { unsafe { fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) fixed (double* objX_ptr = objX) fixed (double* objY_ptr = objY) fixed (double* objZ_ptr = objZ) { return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr); } } } public static Int32 UnProject(double winX, double winY, double winZ, ref double model, ref double proj, ref Int32 view, ref double objX, ref double objY, ref double objZ) { unsafe { fixed (double* model_ptr = &model) fixed (double* proj_ptr = &proj) fixed (Int32* view_ptr = &view) fixed (double* objX_ptr = &objX) fixed (double* objY_ptr = &objY) fixed (double* objZ_ptr = &objZ) { return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr); } } } [System.CLSCompliant(false)] public static unsafe Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ) { return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model, (double*)proj, (Int32*)view, (double*)objX, (double*)objY, (double*)objZ); } public static Int32 UnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, Int32[] view, double near, double far, double[] objX, double[] objY, double[] objZ, double[] objW) { unsafe { fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) fixed (double* objX_ptr = objX) fixed (double* objY_ptr = objY) fixed (double* objZ_ptr = objZ) fixed (double* objW_ptr = objW) { return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr); } } } public static Int32 UnProject4(double winX, double winY, double winZ, double clipW, ref double model, ref double proj, ref Int32 view, double near, double far, ref double objX, ref double objY, ref double objZ, ref double objW) { unsafe { fixed (double* model_ptr = &model) fixed (double* proj_ptr = &proj) fixed (Int32* view_ptr = &view) fixed (double* objX_ptr = &objX) fixed (double* objY_ptr = &objY) fixed (double* objZ_ptr = &objZ) fixed (double* objW_ptr = &objW) { return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr); } } } [System.CLSCompliant(false)] public static unsafe Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW) { return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model, (double*)proj, (Int32*)view, (double)near, (double)far, (double*)objX, (double*)objY, (double*)objZ, (double*)objW); } public static partial class Ext { public static void NurbsCallbackData(IntPtr nurb, IntPtr userData) { unsafe { Delegates.gluNurbsCallbackDataEXT((IntPtr)nurb, (IntPtr)userData); } } public static void NurbsCallbackData(IntPtr nurb, [In, Out] object userData) { unsafe { System.Runtime.InteropServices.GCHandle userData_ptr = System.Runtime.InteropServices.GCHandle.Alloc(userData, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.gluNurbsCallbackDataEXT((IntPtr)nurb, (IntPtr)userData_ptr.AddrOfPinnedObject()); } finally { userData_ptr.Free(); } } } } public static partial class Sgi { public static Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, float[] parms, Int32 n, [Out] float[] weights) { unsafe { fixed (float* parms_ptr = parms) fixed (float* weights_ptr = weights) { return Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms_ptr, (Int32)n, (float*)weights_ptr); } } } public static Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, ref float parms, Int32 n, [Out] out float weights) { unsafe { fixed (float* parms_ptr = &parms) fixed (float* weights_ptr = &weights) { Int32 retval = Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms_ptr, (Int32)n, (float*)weights_ptr); weights = *weights_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, float* parms, Int32 n, [Out] float* weights) { return Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms, (Int32)n, (float*)weights); } } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Glu/GluDelegates.cs0000664000175000017500000003442311453131424024006 0ustar laneylaneynamespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 0649 #pragma warning disable 3019 #pragma warning disable 1591 partial class Glu { internal static partial class Delegates { [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginCurve(IntPtr nurb); internal static BeginCurve gluBeginCurve; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginPolygon(IntPtr tess); internal static BeginPolygon gluBeginPolygon; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginSurface(IntPtr nurb); internal static BeginSurface gluBeginSurface; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void BeginTrim(IntPtr nurb); internal static BeginTrim gluBeginTrim; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build1DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); internal static Build1DMipmapLevels gluBuild1DMipmapLevels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build1DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data); internal static Build1DMipmaps gluBuild1DMipmaps; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build2DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); internal static Build2DMipmapLevels gluBuild2DMipmapLevels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build2DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data); internal static Build2DMipmaps gluBuild2DMipmaps; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build3DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); internal static Build3DMipmapLevels gluBuild3DMipmapLevels; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 Build3DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data); internal static Build3DMipmaps gluBuild3DMipmaps; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate bool CheckExtension(Byte* extName, Byte* extString); internal unsafe static CheckExtension gluCheckExtension; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks); internal static Cylinder gluCylinder; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteNurbsRenderer(IntPtr nurb); internal static DeleteNurbsRenderer gluDeleteNurbsRenderer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteQuadric(IntPtr quad); internal static DeleteQuadric gluDeleteQuadric; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteTess(IntPtr tess); internal static DeleteTess gluDeleteTess; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops); internal static Disk gluDisk; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndCurve(IntPtr nurb); internal static EndCurve gluEndCurve; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndPolygon(IntPtr tess); internal static EndPolygon gluEndPolygon; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndSurface(IntPtr nurb); internal static EndSurface gluEndSurface; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void EndTrim(IntPtr nurb); internal static EndTrim gluEndTrim; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr ErrorString(OpenTK.Graphics.GluErrorCode error); internal static ErrorString gluErrorString; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetString(OpenTK.Graphics.GluStringName name); internal static GetString gluGetString; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data); internal unsafe static GetNurbsProperty gluGetNurbsProperty; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data); internal unsafe static GetTessProperty gluGetTessProperty; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view); internal unsafe static LoadSamplingMatrices gluLoadSamplingMatrices; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ); internal static LookAt gluLookAt; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr NewNurbsRenderer(); internal static NewNurbsRenderer gluNewNurbsRenderer; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr NewQuadric(); internal static NewQuadric gluNewQuadric; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr NewTess(); internal static NewTess gluNewTess; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type); internal static NextContour gluNextContour; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc); internal static NurbsCallback gluNurbsCallback; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NurbsCallbackData(IntPtr nurb, IntPtr userData); internal static NurbsCallbackData gluNurbsCallbackData; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NurbsCallbackDataEXT(IntPtr nurb, IntPtr userData); internal static NurbsCallbackDataEXT gluNurbsCallbackDataEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type); internal unsafe static NurbsCurve gluNurbsCurve; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value); internal static NurbsProperty gluNurbsProperty; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type); internal unsafe static NurbsSurface gluNurbsSurface; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Ortho2D(double left, double right, double bottom, double top); internal static Ortho2D gluOrtho2D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep); internal static PartialDisk gluPartialDisk; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Perspective(double fovy, double aspect, double zNear, double zFar); internal static Perspective gluPerspective; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport); internal unsafe static PickMatrix gluPickMatrix; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ); internal unsafe static Project gluProject; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type); internal unsafe static PwlCurve gluPwlCurve; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc); internal static QuadricCallback gluQuadricCallback; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw); internal static QuadricDrawStyle gluQuadricDrawStyle; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void QuadricNormals(IntPtr quad, OpenTK.Graphics.QuadricNormal normal); internal static QuadricNormals gluQuadricNormals; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation); internal static QuadricOrientation gluQuadricOrientation; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void QuadricTexture(IntPtr quad, bool texture); internal static QuadricTexture gluQuadricTexture; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut); internal static ScaleImage gluScaleImage; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks); internal static Sphere gluSphere; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessBeginContour(IntPtr tess); internal static TessBeginContour gluTessBeginContour; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessBeginPolygon(IntPtr tess, IntPtr data); internal static TessBeginPolygon gluTessBeginPolygon; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc); internal static TessCallback gluTessCallback; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessEndContour(IntPtr tess); internal static TessEndContour gluTessEndContour; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessEndPolygon(IntPtr tess); internal static TessEndPolygon gluTessEndPolygon; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ); internal static TessNormal gluTessNormal; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data); internal static TessProperty gluTessProperty; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate void TessVertex(IntPtr tess, double* location, IntPtr data); internal unsafe static TessVertex gluTessVertex; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 TexFilterFuncSGI(TextureTarget target, SgisTextureFilter4 filtertype, float* parms, Int32 n, [Out] float* weights); internal unsafe static TexFilterFuncSGI gluTexFilterFuncSGI; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ); internal unsafe static UnProject gluUnProject; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW); internal unsafe static UnProject4 gluUnProject4; } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Glu/GluEnums.cs0000664000175000017500000003121611453131424023175 0ustar laneylaneynamespace OpenTK.Graphics { #pragma warning disable 1591 public enum GluVersion { Version11 = ((int)1), Version13 = ((int)1), Version12 = ((int)1), } public enum GluStringName { Version = ((int)100800), Extensions = ((int)100801), } public enum GluErrorCode { OutOfMemory = ((int)100902), InvalidEnum = ((int)100900), InvalidValue = ((int)100901), InvalidOperation = ((int)100904), } public enum Filter4TypeSGIS { MitchellNetravaliSgi = ((int)100301), LagrangianSgi = ((int)100300), } public enum NurbsDisplay { OutlinePolygon = ((int)100240), OutlinePatch = ((int)100241), Fill = ((int)QuadricDrawStyle.Fill), } public enum NurbsCallback { NurbsColorData = ((int)100173), NurbsVertexData = ((int)100171), NurbsNormal = ((int)100166), NurbsError = ((int)100103), NurbsTextureCoordExt = ((int)100168), Error = ((int)100103), NurbsEndDataExt = ((int)100175), NurbsEnd = ((int)100169), NurbsTextureCoord = ((int)100168), NurbsEndExt = ((int)100169), NurbsNormalDataExt = ((int)100172), NurbsColor = ((int)100167), NurbsColorExt = ((int)100167), NurbsVertexExt = ((int)100165), NurbsBeginExt = ((int)100164), NurbsTextureCoordData = ((int)100174), NurbsBeginData = ((int)100170), NurbsColorDataExt = ((int)100173), NurbsBeginDataExt = ((int)100170), NurbsVertex = ((int)100165), NurbsTextureCoordDataExt = ((int)100174), NurbsNormalExt = ((int)100166), NurbsVertexDataExt = ((int)100171), NurbsBegin = ((int)100164), NurbsEndData = ((int)100175), NurbsNormalData = ((int)100172), } public enum NurbsError { NurbsError37 = ((int)100287), NurbsError16 = ((int)100266), NurbsError26 = ((int)100276), NurbsError36 = ((int)100286), NurbsError19 = ((int)100269), NurbsError29 = ((int)100279), NurbsError8 = ((int)100258), NurbsError12 = ((int)100262), NurbsError9 = ((int)100259), NurbsError1 = ((int)100251), NurbsError18 = ((int)100268), NurbsError28 = ((int)100278), NurbsError4 = ((int)100254), NurbsError5 = ((int)100255), NurbsError6 = ((int)100256), NurbsError7 = ((int)100257), NurbsError3 = ((int)100253), NurbsError22 = ((int)100272), NurbsError32 = ((int)100282), NurbsError2 = ((int)100252), NurbsError11 = ((int)100261), NurbsError21 = ((int)100271), NurbsError31 = ((int)100281), NurbsError10 = ((int)100260), NurbsError20 = ((int)100270), NurbsError30 = ((int)100280), NurbsError15 = ((int)100265), NurbsError25 = ((int)100275), NurbsError35 = ((int)100285), NurbsError14 = ((int)100264), NurbsError24 = ((int)100274), NurbsError34 = ((int)100284), NurbsError13 = ((int)100263), NurbsError23 = ((int)100273), NurbsError33 = ((int)100283), NurbsError17 = ((int)100267), NurbsError27 = ((int)100277), } public enum NurbsProperty { DisplayMode = ((int)100204), ParametricTolerance = ((int)100202), NurbsRenderer = ((int)100162), NurbsTessellator = ((int)100161), NurbsTessellatorExt = ((int)100161), NurbsModeExt = ((int)100160), UStep = ((int)100206), SamplingMethod = ((int)100205), AutoLoadMatrix = ((int)100200), VStep = ((int)100207), Culling = ((int)100201), NurbsRendererExt = ((int)100162), NurbsMode = ((int)100160), SamplingTolerance = ((int)100203), } public enum NurbsSampling { ObjectParametricError = ((int)100208), ObjectPathLength = ((int)100209), PathLength = ((int)100215), DomainDistance = ((int)100217), ObjectPathLengthExt = ((int)100209), ObjectParametricErrorExt = ((int)100208), ParametricError = ((int)100216), } public enum NurbsTrim { Map1Trim3 = ((int)100211), Map1Trim2 = ((int)100210), } public enum QuadricDrawStyle { Line = ((int)100011), Silhouette = ((int)100013), Point = ((int)100010), Fill = ((int)100012), } public enum QuadricCallback { Error = ((int)NurbsCallback.Error), } public enum QuadricNormal { None = ((int)100002), Flat = ((int)100001), Smooth = ((int)100000), } public enum QuadricOrientation { Outside = ((int)100020), Inside = ((int)100021), } public enum TessCallback { TessEdgeFlagData = ((int)100110), Begin = ((int)100100), TessError = ((int)100103), EdgeFlag = ((int)100104), End = ((int)100102), TessCombine = ((int)100105), Error = ((int)100103), TessEndData = ((int)100108), TessBeginData = ((int)100106), TessErrorData = ((int)100109), Vertex = ((int)100101), TessVertexData = ((int)100107), TessVertex = ((int)100101), TessEdgeFlag = ((int)100104), TessEnd = ((int)100102), TessBegin = ((int)100100), TessCombineData = ((int)100111), } public enum TessContour { Exterior = ((int)100123), Ccw = ((int)100121), Interior = ((int)100122), Unknown = ((int)100124), Cw = ((int)100120), } public enum TessParameter { TessWindingRule = ((int)100140), TessBoundaryOnly = ((int)100141), TessTolerance = ((int)100142), } public enum TessError { TessMissingBeginPolygon = ((int)100151), TessMissingEndPolygon = ((int)100153), TessError1 = ((int)100151), TessMissingBeginContour = ((int)100152), TessCoordTooLarge = ((int)100155), TessError7 = ((int)100157), TessError2 = ((int)100152), TessError4 = ((int)100154), TessNeedCombineCallback = ((int)100156), TessError3 = ((int)100153), TessError6 = ((int)100156), TessError5 = ((int)100155), TessError8 = ((int)100158), TessMissingEndContour = ((int)100154), } public enum TessWinding { TessWindingNonzero = ((int)100131), TessWindingOdd = ((int)100130), TessWindingPositive = ((int)100132), TessWindingAbsGeqTwo = ((int)100134), TessWindingNegative = ((int)100133), } public enum AllGlu { None = ((int)100002), TessWindingRule = ((int)100140), TessWindingPositive = ((int)100132), ObjectPathLength = ((int)100209), NurbsTextureCoordExt = ((int)100168), Vertex = ((int)100101), TessCombine = ((int)100105), AutoLoadMatrix = ((int)100200), TessBoundaryOnly = ((int)100141), NurbsEndExt = ((int)100169), NurbsError17 = ((int)100267), NurbsError27 = ((int)100277), NurbsError37 = ((int)100287), Interior = ((int)100122), TessWindingOdd = ((int)100130), InvalidValue = ((int)100901), ParametricError = ((int)100216), TessError8 = ((int)100158), NurbsError14 = ((int)100264), NurbsError24 = ((int)100274), NurbsError34 = ((int)100284), NurbsTextureCoordDataExt = ((int)100174), TessMissingBeginContour = ((int)100152), Silhouette = ((int)100013), TessError7 = ((int)100157), NurbsNormalDataExt = ((int)100172), NurbsError21 = ((int)100271), NurbsError31 = ((int)100281), PathLength = ((int)100215), OutlinePolygon = ((int)100240), TessVertex = ((int)100101), TessWindingAbsGeqTwo = ((int)100134), Extensions = ((int)100801), TessEdgeFlagData = ((int)100110), EdgeFlag = ((int)100104), TessError1 = ((int)100151), Line = ((int)100011), NurbsBeginExt = ((int)100164), Point = ((int)100010), Begin = ((int)100100), Inside = ((int)100021), Flat = ((int)100001), TessBegin = ((int)100100), NurbsNormal = ((int)100166), NurbsColorData = ((int)100173), NurbsBeginDataExt = ((int)100170), NurbsRenderer = ((int)100162), NurbsBeginData = ((int)100170), Outside = ((int)100020), DisplayMode = ((int)100204), NurbsError15 = ((int)100265), NurbsError25 = ((int)100275), NurbsError35 = ((int)100285), NurbsVertexExt = ((int)100165), TessError5 = ((int)100155), Unknown = ((int)100124), NurbsEndDataExt = ((int)100175), NurbsError12 = ((int)100262), NurbsError22 = ((int)100272), NurbsError32 = ((int)100282), ObjectParametricErrorExt = ((int)100208), NurbsRendererExt = ((int)100162), TessError3 = ((int)100153), Fill = ((int)100012), TessError = ((int)100103), ObjectPathLengthExt = ((int)100209), TessWindingNegative = ((int)100133), NurbsTessellator = ((int)100161), NurbsColor = ((int)100167), NurbsModeExt = ((int)100160), SamplingTolerance = ((int)100203), NurbsColorDataExt = ((int)100173), Exterior = ((int)100123), Ccw = ((int)100121), Cw = ((int)100120), NurbsNormalExt = ((int)100166), NurbsError18 = ((int)100268), NurbsError28 = ((int)100278), LagrangianSgi = ((int)100300), TessEnd = ((int)100102), NurbsTessellatorExt = ((int)100161), NurbsEnd = ((int)100169), TessWindingNonzero = ((int)100131), OutOfMemory = ((int)100902), TessBeginData = ((int)100106), Error = ((int)100103), ObjectParametricError = ((int)100208), NurbsBegin = ((int)100164), TessCombineData = ((int)100111), TessMissingEndPolygon = ((int)100153), NurbsTextureCoord = ((int)100168), Smooth = ((int)100000), TessMissingBeginPolygon = ((int)100151), NurbsEndData = ((int)100175), NurbsVertexData = ((int)100171), TessEndData = ((int)100108), NurbsError11 = ((int)100261), NurbsVertex = ((int)100165), NurbsError30 = ((int)100280), Version11 = ((int)1), TessError6 = ((int)100156), Version13 = ((int)1), Version12 = ((int)1), TessErrorData = ((int)100109), NurbsError36 = ((int)100286), End = ((int)100102), SamplingMethod = ((int)100205), TessNeedCombineCallback = ((int)100156), UStep = ((int)100206), DomainDistance = ((int)100217), TessEdgeFlag = ((int)100104), NurbsColorExt = ((int)100167), NurbsError19 = ((int)100269), NurbsError29 = ((int)100279), InvalidOperation = ((int)100904), TessCoordTooLarge = ((int)100155), TessVertexData = ((int)100107), NurbsMode = ((int)100160), ParametricTolerance = ((int)100202), NurbsError2 = ((int)100252), VStep = ((int)100207), TessMissingEndContour = ((int)100154), Map1Trim2 = ((int)100210), Map1Trim3 = ((int)100211), Culling = ((int)100201), NurbsError16 = ((int)100266), NurbsError26 = ((int)100276), NurbsVertexDataExt = ((int)100171), NurbsNormalData = ((int)100172), TessError2 = ((int)100152), NurbsError13 = ((int)100263), NurbsError23 = ((int)100273), NurbsError33 = ((int)100283), NurbsError8 = ((int)100258), NurbsError9 = ((int)100259), TessError4 = ((int)100154), NurbsError10 = ((int)100260), NurbsError20 = ((int)100270), OutlinePatch = ((int)100241), NurbsError = ((int)100103), NurbsTextureCoordData = ((int)100174), NurbsError1 = ((int)100251), InvalidEnum = ((int)100900), NurbsError3 = ((int)100253), NurbsError4 = ((int)100254), NurbsError5 = ((int)100255), NurbsError6 = ((int)100256), NurbsError7 = ((int)100257), MitchellNetravaliSgi = ((int)100301), Version = ((int)100800), TessTolerance = ((int)100142), } } opentk-1.0.20101006/Source/Compatibility/Graphics/Glu/GluCore.cs0000664000175000017500000004311311453131424022775 0ustar laneylaneynamespace OpenTK.Graphics { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 partial class Glu { [Obsolete] internal static partial class Imports { [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginCurve", ExactSpelling = true)] internal extern static void BeginCurve(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginPolygon", ExactSpelling = true)] internal extern static void BeginPolygon(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginSurface", ExactSpelling = true)] internal extern static void BeginSurface(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginTrim", ExactSpelling = true)] internal extern static void BeginTrim(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild1DMipmapLevels", ExactSpelling = true)] internal extern static Int32 Build1DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild1DMipmaps", ExactSpelling = true)] internal extern static Int32 Build1DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild2DMipmapLevels", ExactSpelling = true)] internal extern static Int32 Build2DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild2DMipmaps", ExactSpelling = true)] internal extern static Int32 Build2DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild3DMipmapLevels", ExactSpelling = true)] internal extern static Int32 Build3DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild3DMipmaps", ExactSpelling = true)] internal extern static Int32 Build3DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluCheckExtension", ExactSpelling = true)] internal extern static unsafe bool CheckExtension(Byte* extName, Byte* extString); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluCylinder", ExactSpelling = true)] internal extern static void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteNurbsRenderer", ExactSpelling = true)] internal extern static void DeleteNurbsRenderer(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteQuadric", ExactSpelling = true)] internal extern static void DeleteQuadric(IntPtr quad); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteTess", ExactSpelling = true)] internal extern static void DeleteTess(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDisk", ExactSpelling = true)] internal extern static void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndCurve", ExactSpelling = true)] internal extern static void EndCurve(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndPolygon", ExactSpelling = true)] internal extern static void EndPolygon(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndSurface", ExactSpelling = true)] internal extern static void EndSurface(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndTrim", ExactSpelling = true)] internal extern static void EndTrim(IntPtr nurb); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluErrorString", ExactSpelling = true)] internal extern static IntPtr ErrorString(OpenTK.Graphics.GluErrorCode error); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetString", ExactSpelling = true)] internal extern static IntPtr GetString(OpenTK.Graphics.GluStringName name); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetNurbsProperty", ExactSpelling = true)] internal extern static unsafe void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetTessProperty", ExactSpelling = true)] internal extern static unsafe void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluLoadSamplingMatrices", ExactSpelling = true)] internal extern static unsafe void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluLookAt", ExactSpelling = true)] internal extern static void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewNurbsRenderer", ExactSpelling = true)] internal extern static IntPtr NewNurbsRenderer(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewQuadric", ExactSpelling = true)] internal extern static IntPtr NewQuadric(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewTess", ExactSpelling = true)] internal extern static IntPtr NewTess(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNextContour", ExactSpelling = true)] internal extern static void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCallback", ExactSpelling = true)] internal extern static void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCallbackData", ExactSpelling = true)] internal extern static void NurbsCallbackData(IntPtr nurb, IntPtr userData); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCurve", ExactSpelling = true)] internal extern static unsafe void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsProperty", ExactSpelling = true)] internal extern static void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsSurface", ExactSpelling = true)] internal extern static unsafe void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluOrtho2D", ExactSpelling = true)] internal extern static void Ortho2D(double left, double right, double bottom, double top); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPartialDisk", ExactSpelling = true)] internal extern static void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPerspective", ExactSpelling = true)] internal extern static void Perspective(double fovy, double aspect, double zNear, double zFar); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPickMatrix", ExactSpelling = true)] internal extern static unsafe void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluProject", ExactSpelling = true)] internal extern static unsafe Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPwlCurve", ExactSpelling = true)] internal extern static unsafe void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricCallback", ExactSpelling = true)] internal extern static void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricDrawStyle", ExactSpelling = true)] internal extern static void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricNormals", ExactSpelling = true)] internal extern static void QuadricNormals(IntPtr quad, OpenTK.Graphics.QuadricNormal normal); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricOrientation", ExactSpelling = true)] internal extern static void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricTexture", ExactSpelling = true)] internal extern static void QuadricTexture(IntPtr quad, bool texture); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluScaleImage", ExactSpelling = true)] internal extern static Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluSphere", ExactSpelling = true)] internal extern static void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessBeginContour", ExactSpelling = true)] internal extern static void TessBeginContour(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessBeginPolygon", ExactSpelling = true)] internal extern static void TessBeginPolygon(IntPtr tess, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessCallback", ExactSpelling = true)] internal extern static void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessEndContour", ExactSpelling = true)] internal extern static void TessEndContour(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessEndPolygon", ExactSpelling = true)] internal extern static void TessEndPolygon(IntPtr tess); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessNormal", ExactSpelling = true)] internal extern static void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessProperty", ExactSpelling = true)] internal extern static void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessVertex", ExactSpelling = true)] internal extern static unsafe void TessVertex(IntPtr tess, double* location, IntPtr data); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluUnProject", ExactSpelling = true)] internal extern static unsafe Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluUnProject4", ExactSpelling = true)] internal extern static unsafe Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW); } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Glu/GluHelper.cs0000664000175000017500000004150511453131424023327 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * Contributions by Andy Gill. * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.Runtime.InteropServices; using System.Reflection.Emit; using OpenTK.Platform; namespace OpenTK.Graphics { /// /// Provides access to the OpenGL Utilities library. /// Methods i this library are considered deprecated and should be avoided. /// [Obsolete("Use OpenTK math functions instead.")] public static partial class Glu { private const string Library = "glu32.dll"; private static Dictionary AvailableExtensions = new Dictionary(); private static bool rebuildExtensionList = true; private static Type importsClass = typeof(Imports); static Glu() { // Glu doesn't have any extensions, so this is safe to call once and be done with it. LoadAll(); } #region private static Delegate LoadDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call a GLU function, core or extension. /// /// The name of the GLU function (eg. "gluBuild2DMipmaps") /// The signature of the GLU function. /// /// A System.Delegate that can be used to call this GLU function, or null if the specified /// function name did not correspond to an GLU function. /// private static Delegate LoadDelegate(string name, Type signature) { MethodInfo m = importsClass.GetMethod(name.Substring(3), BindingFlags.Static | BindingFlags.NonPublic); return GL.GetExtensionDelegate(name, signature) ?? (m != null ? Delegate.CreateDelegate(signature, m) : null); } #endregion #region public static void LoadAll() /// /// Loads all GLU functions (core and extensions). /// /// /// /// Call this function manually whenever you need to update GLU entry points. /// This need will never arise under normal usage patterns. /// /// public static void LoadAll() { int supported = 0; Type extensions_class = typeof(Glu).GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); if (extensions_class == null) throw new InvalidOperationException("The specified type does not have any loadable extensions."); FieldInfo[] delegates = extensions_class.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); if (delegates == null) throw new InvalidOperationException("The specified type does not have any loadable extensions."); foreach (FieldInfo f in delegates) { Delegate d = LoadDelegate(f.Name, f.FieldType); if (d != null) ++supported; f.SetValue(null, d); } rebuildExtensionList = true; } #endregion #region public static bool Load(string function) /// /// Tries to reload the given GLU function (core or extension). /// /// The name of the GLU function. /// True if the function was found and reloaded, false otherwise. /// /// /// While the automatic initialisation will load all GLU entry points, in some cases /// the initialization can take place before a render context has been established. /// In this case, use this function to load the entry points for the GLU functions /// you will need, or use LoadAll() to load all available entry points. /// /// /// This function returns true if the given GLU function is supported, false otherwise. /// /// /// To query for supported extensions use the IsExtensionSupported() function instead. /// /// public static bool Load(string function) { // Glu does not contain any extensions - this method does nothing. return true; } #endregion #region public static bool SupportsExtension(string name) /// /// Determines whether the specified GLU extension is available in /// the current GLU context. /// /// The string for the GLU extension. /// True if the specified extension is available, false otherwise. public static bool SupportsExtension(string name) { if (rebuildExtensionList) { BuildExtensionList(); } // Search the cache for the string. Note that the cache substitutes // strings "1.0" to "2.1" with "GL_VERSION_1_0" to "GL_VERSION_2_1" if (AvailableExtensions.ContainsKey(name)) { return AvailableExtensions[name]; } return false; } #endregion #region private static void BuildExtensionList() /// /// Builds a cache of the supported extensions to speed up searches. /// private static void BuildExtensionList() { // Assumes there is an opengl context current. AvailableExtensions.Clear(); string version_string = Glu.GetString(GluStringName.Version); if (String.IsNullOrEmpty(version_string)) { throw new ApplicationException("Failed to build extension list. Is there an opengl context current?"); } string version = version_string.Trim(' '); if (version.StartsWith("1.0")) { AvailableExtensions.Add("VERSION_1_0", true); } else if (version.StartsWith("1.1")) { AvailableExtensions.Add("VERSION_1_0", true); AvailableExtensions.Add("VERSION_1_1", true); } else if (version.StartsWith("1.2")) { AvailableExtensions.Add("VERSION_1_0", true); AvailableExtensions.Add("VERSION_1_1", true); AvailableExtensions.Add("VERSION_1_2", true); } else if (version.StartsWith("1.3")) { AvailableExtensions.Add("VERSION_1_0", true); AvailableExtensions.Add("VERSION_1_1", true); AvailableExtensions.Add("VERSION_1_2", true); AvailableExtensions.Add("VERSION_1_3", true); } string extension_string = Glu.GetString(GluStringName.Extensions); if (String.IsNullOrEmpty(extension_string)) { // no extensions are available return; } string[] extensions = extension_string.Split(' '); foreach (string ext in extensions) { AvailableExtensions.Add(ext, true); } rebuildExtensionList = false; } #endregion #region Overloads public static void LookAt(Vector3 eye, Vector3 center, Vector3 up) { Delegates.gluLookAt((double)eye.X, (double)eye.Y, (double)eye.Z, (double)center.X, (double)center.Y, (double)center.Z, (double)up.X, (double)up.Y, (double)up.Z); } // One token Project overload, I picked this one because it's CLS compliant, and it // makes reasonably clear which args are inputs and which are outputs. public static Int32 Project(Vector3 obj, double[] model, double[] proj, Int32[] view, out Vector3 win) { unsafe { double winX, winY, winZ; double* winX_ptr = &winX; double* winY_ptr = &winY; double* winZ_ptr = &winZ; fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) { Int32 retval = Delegates.gluProject((double)obj.X, (double)obj.Y, (double)obj.Z, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr); win = new Vector3((float)*winX_ptr, (float)*winY_ptr, (float)*winZ_ptr); return retval; } } } public static void TessNormal(IntPtr tess, Vector3 normal) { Delegates.gluTessNormal(tess, (double)normal.X, (double)normal.Y, (double)normal.Z); } public static Int32 UnProject(Vector3 win, double[] model, double[] proj, Int32[] view, out Vector3 obj) { unsafe { double objX, objY, objZ; double* objX_ptr = &objX; double* objY_ptr = &objY; double* objZ_ptr = &objZ; fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) { Int32 retval = Delegates.gluUnProject((double)win.X, (double)win.Y, (double)win.Z, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr); obj = new Vector3((float)*objX_ptr, (float)*objY_ptr, (float)*objZ_ptr); return retval; } } } public static Int32 UnProject4(Vector4 win, double[] model, double[] proj, Int32[] view, double near, double far, out Vector4 obj) { unsafe { double objX, objY, objZ, objW; double* objX_ptr = &objX; double* objY_ptr = &objY; double* objZ_ptr = &objZ; double* objW_ptr = &objW; fixed (double* model_ptr = model) fixed (double* proj_ptr = proj) fixed (Int32* view_ptr = view) { Int32 retval = Delegates.gluUnProject4((double)win.X, (double)win.Y, (double)win.Z, (double)win.W, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr); obj = new Vector4((float)*objX_ptr, (float)*objY_ptr, (float)*objZ_ptr, (float)*objW_ptr); return retval; } } } public static string ErrorString(ErrorCode error) { return ErrorString((GluErrorCode)error); } public static void TessWindingRuleProperty(IntPtr tess, TessWinding property) { Glu.TessProperty(tess, TessParameter.TessWindingRule, (double)property); } #endregion } #if false //public delegate object public delegate void FastVoidInvokeHandler(object target, object[] paramters); public delegate object FastInvokeHandler(object target, object[] paramters); public static class FastInvoker { /// /// Use this one instead of MethodInfo.Invoke, this way it is 50 times quicker. /// /// /// string Filter = "FirstName = 'Ton'" /// MethodInfo mi = typeof(Person).GetMethod("GetAll"); /// snoei.net.Reflection.FastInvoker.FastInvokeHandler fi = snoei.net.Reflection.FastInvoker.GetMethodInvoker( mi ); // return fi.Invoke( Person, new object[]{Filter} ); /// //Calls Person.GetAll(string Filter); /// /// /// /// public static Delegate GetMethodInvoker(MethodInfo methodInfo) { DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, methodInfo.ReturnType, new Type[] { typeof(object), typeof(object[]) }, methodInfo.DeclaringType.Module); ILGenerator il = dynamicMethod.GetILGenerator(); ParameterInfo[] ps = methodInfo.GetParameters(); Type[] paramTypes = new Type[ps.Length]; for (int i = 0; i < paramTypes.Length; i++) { if (ps[i].ParameterType.IsByRef) paramTypes[i] = ps[i].ParameterType.GetElementType(); else paramTypes[i] = ps[i].ParameterType; } LocalBuilder[] locals = new LocalBuilder[paramTypes.Length]; for (int i = 0; i < paramTypes.Length; i++) locals[i] = il.DeclareLocal(paramTypes[i], true); for (int i = 0; i < paramTypes.Length; i++) { il.Emit(OpCodes.Ldarg_1); EmitFastInt(il, i); il.Emit(OpCodes.Ldelem_Ref); EmitCastToReference(il, paramTypes[i]); il.Emit(OpCodes.Stloc, locals[i]); } if (!methodInfo.IsStatic) il.Emit(OpCodes.Ldarg_0); for (int i = 0; i < paramTypes.Length; i++) { if (ps[i].ParameterType.IsByRef) il.Emit(OpCodes.Ldloca_S, locals[i]); else il.Emit(OpCodes.Ldloc, locals[i]); } if (methodInfo.IsStatic) il.EmitCall(OpCodes.Call, methodInfo, null); else il.EmitCall(OpCodes.Callvirt, methodInfo, null); if (methodInfo.ReturnType == typeof(void)) il.Emit(OpCodes.Ldnull); else EmitBoxIfNeeded(il, methodInfo.ReturnType); for (int i = 0; i < paramTypes.Length; i++) { if (ps[i].ParameterType.IsByRef) { il.Emit(OpCodes.Ldarg_1); EmitFastInt(il, i); il.Emit(OpCodes.Ldloc, locals[i]); if (locals[i].LocalType.IsValueType) il.Emit(OpCodes.Box, locals[i].LocalType); il.Emit(OpCodes.Stelem_Ref); } } il.Emit(OpCodes.Ret); if (methodInfo.ReturnType == typeof(void)) return dynamicMethod.CreateDelegate(typeof(FastVoidInvokeHandler)); else return dynamicMethod.CreateDelegate(typeof(FastInvokeHandler)); } private static void EmitCastToReference(ILGenerator il, System.Type type) { if (type.IsValueType) il.Emit(OpCodes.Unbox_Any, type); else il.Emit(OpCodes.Castclass, type); } private static void EmitBoxIfNeeded(ILGenerator il, System.Type type) { if (type.IsValueType) il.Emit(OpCodes.Box, type); } private static void EmitFastInt(ILGenerator il, int value) { switch (value) { case -1: il.Emit(OpCodes.Ldc_I4_M1); return; case 0: il.Emit(OpCodes.Ldc_I4_0); return; case 1: il.Emit(OpCodes.Ldc_I4_1); return; case 2: il.Emit(OpCodes.Ldc_I4_2); return; case 3: il.Emit(OpCodes.Ldc_I4_3); return; case 4: il.Emit(OpCodes.Ldc_I4_4); return; case 5: il.Emit(OpCodes.Ldc_I4_5); return; case 6: il.Emit(OpCodes.Ldc_I4_6); return; case 7: il.Emit(OpCodes.Ldc_I4_7); return; case 8: il.Emit(OpCodes.Ldc_I4_8); return; } if (value > -129 && value < 128) il.Emit(OpCodes.Ldc_I4_S, (SByte)value); else il.Emit(OpCodes.Ldc_I4, value); } } #endif } opentk-1.0.20101006/Source/Compatibility/Graphics/TextDirection.cs0000664000175000017500000000101311453131426023466 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics { /// /// Defines available directions for text layout. /// public enum TextDirection { /// The text is layed out from left to right. LeftToRight, /// The text is layed out from right to left. RightToLeft, /// The text is layed out vertically. Vertical } } opentk-1.0.20101006/Source/Compatibility/Graphics/TextureRegion2D.cs0000664000175000017500000000443611453131426023707 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics { abstract class TextureRegion2D { Rectangle rectangle; public Rectangle Rectangle { get { return rectangle; } protected set { rectangle = value; } } } /// /// Holds part or the whole of a 2d OpenGL texture. /// class TextureRegion2D : TextureRegion2D where T : struct { #region Fields T[,] data; #endregion #region Constructors internal TextureRegion2D(Rectangle rect) { data = new T[rect.Width, rect.Height]; Rectangle = rect; } #endregion #region Public Members public T this[int x, int y] { get { return data[x, y]; } set { data[x, y] = value; } } #endregion #region Internal Members internal T[,] Data { get { return data; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/RgbaTexture2D.cs0000664000175000017500000000324611453131426023335 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics { [Obsolete] class RgbaTexture2D : Texture2D { public RgbaTexture2D(int width, int height) : base(width, height) { } protected override PixelInternalFormat InternalFormat { get { return PixelInternalFormat.Rgba; } } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/0000775000175000017500000000000011453142152021301 5ustar laneylaneyopentk-1.0.20101006/Source/Compatibility/Graphics/Text/IGlyphRasterizer.cs0000664000175000017500000000326711453131424025107 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK.Graphics.Text; namespace OpenTK.Graphics.Text { interface IGlyphRasterizer { Bitmap Rasterize(Glyph glyph); Bitmap Rasterize(Glyph glyph, TextQuality quality); TextExtents MeasureText(ref TextBlock block); TextExtents MeasureText(ref TextBlock block, TextQuality quality); void Clear(); } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GlyphPacker.cs0000664000175000017500000002426411453131424024051 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { class GlyphPacker { Node root; #region --- Constructors --- public GlyphPacker(int width, int height) { if (width <= 0) throw new ArgumentOutOfRangeException("width", width, "Must be greater than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", height, "Must be greater than zero."); root = new Node(); root.Rectangle = new Rectangle(0, 0, width, width); } #endregion #region --- Public Methods --- #region public bool TryAdd(Rectangle boundingBox) /// /// Adds boundingBox to the GlyphPacker. /// /// The bounding box of the item to pack. /// The System.Drawing.Rectangle that contains the position of the packed item. /// True, if the item was successfully packed; false if the item is too big for this packer.. /// Occurs if the item is larger than the available TexturePacker area /// Occurs if the item cannot fit in the remaining packer space. public bool TryAdd(Rectangle boundingBox, out Rectangle packedRectangle) { if (!root.Rectangle.Contains(boundingBox)) { packedRectangle = new Rectangle(); return false; } // Increase size so that the glyphs do not touch each other (to avoid rendering artifacts). boundingBox.Width += 2; boundingBox.Height += 2; Node node = root.Insert(boundingBox); // Tree is full and insertion failed: if (node == null) { packedRectangle = new Rectangle(); return false; } packedRectangle = new Rectangle(node.Rectangle.X, node.Rectangle.Y, node.Rectangle.Width - 2, node.Rectangle.Height - 2); return true; } #endregion #region public Rectangle TryAdd(RectangleF boundingBox) /// /// Adds boundingBox to the GlyphPacker. /// /// The bounding box of the item to pack. /// The System.Drawing.RectangleF that contains the position of the packed item. /// True, if the item was successfully packed; false if the item is too big for this packer.. /// Occurs if the item is larger than the available TexturePacker area /// Occurs if the item cannot fit in the remaining packer space. public bool TryAdd(RectangleF boundingBox, out RectangleF packedRectangle) { Rectangle bbox = new Rectangle( (int)boundingBox.X, (int)boundingBox.Y, (int)(boundingBox.Width + 0.5f), (int)(boundingBox.Height + 0.5f)); return TryAdd(bbox, out packedRectangle); } #endregion #region public Rectangle Add(Rectangle boundingBox) /// /// Adds boundingBox to the GlyphPacker. /// /// The bounding box of the item to pack. /// A System.Drawing.Rectangle containing the coordinates of the packed item. /// Occurs if the item is larger than the available TexturePacker area /// Occurs if the item cannot fit in the remaining packer space. public Rectangle Add(Rectangle boundingBox) { if (!TryAdd(boundingBox, out boundingBox)) throw new TexturePackerFullException(); return boundingBox; } #endregion #region public Rectangle Add(RectangleF boundingBox) /// /// Rounds boundingBox to the largest integer and adds the resulting Rectangle to the GlyphPacker. /// /// The bounding box of the item to pack. /// A System.Drawing.Rectangle containing the coordinates of the packed item. /// Occurs if the item is larger than the available TexturePacker area /// Occurs if the item already exists in the TexturePacker. public Rectangle Add(RectangleF boundingBox) { Rectangle bbox = new Rectangle( (int)boundingBox.X, (int)boundingBox.Y, (int)(boundingBox.Width + 0.5f), (int)(boundingBox.Height + 0.5f)); return Add(bbox); } #endregion #region public void Clear() /// /// Discards all packed items. /// public void Clear() { root.Clear(); } #endregion #endregion #region Node class Node { public Node() { } Node left, right; Rectangle rect; bool occupied; public Rectangle Rectangle { get { return rect; } set { rect = value; } } public Node Left { get { return left; } set { left = value; } } public Node Right { get { return right; } set { right = value; } } #region --- Constructor --- public bool Leaf { get { return left == null && right == null; } } #endregion #region Node Insert(Rectangle bbox) public Node Insert( Rectangle bbox) { if (!this.Leaf) { // Recurse towards left child, and if that fails, towards the right. Node new_node = left.Insert(bbox); return new_node ?? right.Insert(bbox); } else { // We have recursed to a leaf. // If it is not empty go back. if (occupied) return null; // If this leaf is too small go back. if (rect.Width < bbox.Width || rect.Height < bbox.Height) return null; // If this leaf is the right size, insert here. if (rect.Width == bbox.Width && rect.Height == bbox.Height) { occupied = true; return this; } // This leaf is too large, split it up. We'll decide which way to split // by checking the width and height difference between this rectangle and // out item's bounding box. If the width difference is larger, we'll split // horizontaly, else verticaly. left = new Node(); right = new Node(); int dw = this.rect.Width - bbox.Width + 1; int dh = this.rect.Height - bbox.Height + 1; if (dw > dh) { left.rect = new Rectangle(rect.Left, rect.Top, bbox.Width, rect.Height); right.rect = new Rectangle(rect.Left + bbox.Width, rect.Top, rect.Width - bbox.Width, rect.Height); } else { left.rect = new Rectangle(rect.Left, rect.Top, rect.Width, bbox.Height); right.rect = new Rectangle(rect.Left, rect.Top + bbox.Height, rect.Width, rect.Height - bbox.Height); } return left.Insert(bbox); } } #endregion #region public void Clear() public void Clear() { if (left != null) left.Clear(); if (right != null) right.Clear(); left = right = null; } #endregion } #endregion } class TexturePackerFullException : Exception { public TexturePackerFullException() : base("There is not enough space to add this item. Consider calling the Clear() method.") { } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GdiPlusGlyphRasterizer.cs0000664000175000017500000004727411453131424026274 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Drawing.Text; using OpenTK.Platform; namespace OpenTK.Graphics.Text { sealed class GdiPlusGlyphRasterizer : IGlyphRasterizer { #region Fields // Note: as an optimization, we store the TextBlock hashcode instead of the TextBlock itself. Dictionary block_cache = new Dictionary(); System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(new Bitmap(1, 1)); IntPtr[] regions = new IntPtr[GdiPlus.MaxMeasurableCharacterRanges]; CharacterRange[] characterRanges = new CharacterRange[GdiPlus.MaxMeasurableCharacterRanges]; Bitmap glyph_surface; System.Drawing.Graphics glyph_renderer; readonly List measured_glyphs = new List(256); readonly ObjectPool text_extents_pool = new ObjectPool(); // Check the constructor, too, for additional flags. // Used for measuring text. Can set the leftToRight, rightToLeft, vertical and measure trailing spaces flags. readonly StringFormat measure_string_format = new StringFormat(StringFormat.GenericDefault); readonly StringFormat measure_string_format_tight = new StringFormat(StringFormat.GenericTypographic); // Used for loading glyphs. Only use leftToRight! readonly StringFormat load_glyph_string_format = new StringFormat(StringFormat.GenericDefault); readonly StringFormat load_glyph_string_format_tight = new StringFormat(StringFormat.GenericTypographic); static readonly char[] newline_characters = new char[] { '\n', '\r' }; static readonly SizeF MaximumGraphicsClipSize; #endregion #region Constructors static GdiPlusGlyphRasterizer() { using (Bitmap bmp = new Bitmap(1, 1)) using (System.Drawing.Graphics gfx = System.Drawing.Graphics.FromImage(bmp)) { MaximumGraphicsClipSize = gfx.ClipBounds.Size; } } public GdiPlusGlyphRasterizer() { measure_string_format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces | StringFormatFlags.NoClip; measure_string_format_tight.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces; } #endregion #region IGlyphRasterizer Members #region Rasterize public Bitmap Rasterize(Glyph glyph) { return Rasterize(glyph, TextQuality.Default); } public Bitmap Rasterize(Glyph glyph, TextQuality quality) { EnsureSurfaceSize(ref glyph_surface, ref glyph_renderer, glyph.Font); SetTextRenderingOptions(glyph_renderer, glyph.Font, quality); RectangleF r2 = new RectangleF(); glyph_renderer.Clear(Color.Transparent); glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty, //new Point(glyph_surface.Width, 0), glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : load_glyph_string_format_tight); r2 = FindEdges(glyph_surface, true); //if ((default_string_format.FormatFlags & StringFormatFlags.DirectionRightToLeft) != 0) //{ // glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty, //new Point(glyph_surface.Width, 0), // load_glyph_string_format);//glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : default_string_format); // r2 = FindEdges(glyph_surface, true); //} //else //{ // glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty, // load_glyph_string_format_tight); //glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : default_string_format); // r2 = FindEdges(glyph_surface, false); //} return glyph_surface.Clone(r2, System.Drawing.Imaging.PixelFormat.Format32bppArgb); } #endregion #region MeasureText public TextExtents MeasureText(ref TextBlock block) { return MeasureText(ref block, TextQuality.Default); } public TextExtents MeasureText(ref TextBlock block, TextQuality quality) { // First, check if we have cached this text block. Do not use block_cache.TryGetValue, to avoid thrashing // the user's TextBlockExtents struct. int hashcode = block.GetHashCode(); if (block_cache.ContainsKey(hashcode)) return block_cache[hashcode]; // If this block is not cached, we have to measure it and (potentially) place it in the cache. TextExtents extents = MeasureTextExtents(ref block, quality); if ((block.Options & TextPrinterOptions.NoCache) == 0) block_cache.Add(hashcode, extents); return extents; } #endregion #region Clear public void Clear() { block_cache.Clear(); } #endregion #endregion #region Private Members #region EnsureSurfaceSize void EnsureSurfaceSize(ref Bitmap bmp, ref System.Drawing.Graphics gfx, Font font) { if (bmp == null || bmp.Width < 2 * font.Size || bmp.Height < 2 * font.Size) { if (bmp != null) bmp.Dispose(); if (gfx != null) gfx.Dispose(); bmp = new Bitmap((int)(2 * font.Size), (int)(2 * font.Size)); gfx = System.Drawing.Graphics.FromImage(bmp); } } #endregion #region SetRenderingOptions // Modify rendering settings (antialiasing, grid fitting) to improve appearance. void SetTextRenderingOptions(System.Drawing.Graphics gfx, Font font, TextQuality quality) { switch (quality) { case TextQuality.Default: gfx.TextRenderingHint = TextRenderingHint.SystemDefault; break; case TextQuality.High: gfx.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; break; case TextQuality.Medium: if (font.Size <= 18.0f) gfx.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; else gfx.TextRenderingHint = TextRenderingHint.AntiAlias; break; case TextQuality.Low: if (font.Size <= 18.0f) gfx.TextRenderingHint = TextRenderingHint.SingleBitPerPixelGridFit; else gfx.TextRenderingHint = TextRenderingHint.SingleBitPerPixel; break; } } #endregion #region MeasureTextExtents TextExtents MeasureTextExtents(ref TextBlock block, TextQuality quality) { // Todo: Parse layout options: StringFormat format = block.Font.Italic ? measure_string_format : measure_string_format_tight; //StringFormat format = measure_string_format_tight; if (block.Direction == TextDirection.Vertical) format.FormatFlags |= StringFormatFlags.DirectionVertical; else format.FormatFlags &= ~StringFormatFlags.DirectionVertical; if (block.Direction == TextDirection.RightToLeft) format.FormatFlags |= StringFormatFlags.DirectionRightToLeft; else format.FormatFlags &= ~StringFormatFlags.DirectionRightToLeft; if (block.Alignment == TextAlignment.Near) format.Alignment = StringAlignment.Near; else if (block.Alignment == TextAlignment.Center) format.Alignment = StringAlignment.Center; else format.Alignment = StringAlignment.Far; TextExtents extents = text_extents_pool.Acquire(); RectangleF rect = block.Bounds; // Work around Mono/GDI+ bug, which causes incorrect // text wraping when block.Bounds == SizeF.Empty. if (block.Bounds.Size == SizeF.Empty) rect.Size = MaximumGraphicsClipSize; SetTextRenderingOptions(graphics, block.Font, quality); IntPtr native_graphics = GdiPlus.GetNativeGraphics(graphics); IntPtr native_font = GdiPlus.GetNativeFont(block.Font); IntPtr native_string_format = GdiPlus.GetNativeStringFormat(format); float max_width = 0, max_height = 0; // It seems that the mere presence of \n and \r characters // is enough for Mono to botch the layout (even if these // characters are not processed.) We'll need to find a // different way to perform layout on Mono, probably // through Pango. // Todo: This workaround allocates memory. //if (Configuration.RunningOnMono) { string[] lines = block.Text.Replace("\r", String.Empty).Split('\n'); foreach (string s in lines) { float width, height; extents.AddRange(MeasureGlyphExtents( ref block, s, native_graphics, native_font, native_string_format, ref rect, out width, out height)); if ((block.Direction & TextDirection.Vertical) == 0) rect.Y += block.Font.Height; else rect.X += block.Font.Height; if (width > max_width) max_width = width; if (height > max_height) max_height = height; } } if (extents.Count > 0) extents.BoundingBox = new RectangleF(extents[0].X, extents[0].Y, max_width, max_height); else extents.BoundingBox = RectangleF.Empty; return extents; } #endregion #region MeasureGlyphExtents // Gets the bounds of each character in a line of text. // Each line is processed in blocks of 32 characters (GdiPlus.MaxMeasurableCharacterRanges). IEnumerable MeasureGlyphExtents( ref TextBlock block, string text, IntPtr native_graphics, IntPtr native_font, IntPtr native_string_format, ref RectangleF layoutRect, out float max_width, out float max_height) { measured_glyphs.Clear(); max_width = layoutRect.Left; max_height = layoutRect.Top; float last_line_width = 0, last_line_height = 0; int current = 0; while (current < text.Length) { int num_characters = (text.Length - current) > GdiPlus.MaxMeasurableCharacterRanges ? GdiPlus.MaxMeasurableCharacterRanges : text.Length - current; int status = 0; // Prepare the character ranges and region structs for the measurement. for (int i = 0; i < num_characters; i++) { if (text[current + i] == '\n' || text[current + i] == '\r') throw new NotSupportedException(); characterRanges[i] = new CharacterRange(current + i, 1); IntPtr region; status = GdiPlus.CreateRegion(out region); regions[i] = region; Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); } status = GdiPlus.SetStringFormatMeasurableCharacterRanges(native_string_format, num_characters, characterRanges); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); status = GdiPlus.MeasureCharacterRanges(native_graphics, text, text.Length, native_font, ref layoutRect, native_string_format, num_characters, regions); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); // Read back the results of the measurement. for (int i = 0; i < num_characters; i++) { RectangleF rect = new RectangleF(); GdiPlus.GetRegionBounds(regions[i], native_graphics, ref rect); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); GdiPlus.DeleteRegion(regions[i]); Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status)); if (rect.Bottom > max_height) max_height = rect.Bottom; if (rect.Right > max_width) max_width = rect.Right; if (rect.X > last_line_width) last_line_width = rect.X; if (rect.Y > last_line_height) last_line_height = rect.Y; measured_glyphs.Add(rect); } current += num_characters; } // Make sure the current height is updated, if the the current line has wrapped due to word-wraping. // Otherwise, the next line will overlap with the current one. if (measured_glyphs.Count > 1) { if ((block.Direction & TextDirection.Vertical) == 0) { if (layoutRect.Y < last_line_height) layoutRect.Y = last_line_height; } else { if (layoutRect.X < last_line_width) layoutRect.X = last_line_width; } } // Mono's GDI+ implementation suffers from an issue where the specified layoutRect is not taken into // account. We will try to improve the situation by moving text to the correct location on this // error condition. This will not help word wrapping, but it is better than nothing. // Todo: Mono 2.8 is supposed to ship with a Pango-based GDI+ text renderer, which should not // suffer from this bug. Verify that this is the case and remove the hack. if (Configuration.RunningOnMono && (layoutRect.X != 0 || layoutRect.Y != 0) && measured_glyphs.Count > 0) { for (int i = 0; i < measured_glyphs.Count; i++) { RectangleF rect = measured_glyphs[i]; rect.X += layoutRect.X; rect.Y += layoutRect.Y; measured_glyphs[i] = rect; } } return measured_glyphs; } #endregion #region FindEdges #pragma warning disable 0649 struct Pixel { public byte B, G, R, A; } #pragma warning restore 0649 // Note: The bool parameter is not used at this point. // We might need it if we ever load true rightToLeft glyphs. Rectangle FindEdges(Bitmap bmp, bool rightToLeft) { BitmapData data = bmp.LockBits( new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); //Rectangle rect = rightToLeft ? // Rectangle.FromLTRB(FindLeftEdge(bmp, data.Scan0), 0, bmp.Width - 1, FindBottomEdge(bmp, data.Scan0)) : // Rectangle.FromLTRB(0, 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0)); Rectangle rect = Rectangle.FromLTRB(0, 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0)); //Rectangle.FromLTRB(FindLeftEdge(bmp, data.Scan0), 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0)); bmp.UnlockBits(data); return rect; } #endregion #region Find[Left|Right|Top|Bottom]Edge // Iterates through the bmp, and returns the first row or line that contains a non-transparent pixels. int FindLeftEdge(Bitmap bmp, IntPtr ptr) { for (int x = 0; x < bmp.Width; x++) for (int y = 0; y < bmp.Height; y++) unsafe { if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0) return x; } return bmp.Width - 1; } int FindRightEdge(Bitmap bmp, IntPtr ptr) { for (int x = bmp.Width - 1; x >= 0; x--) for (int y = 0; y < bmp.Height; y++) unsafe { if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0) return x + 1; } return 0; } int FindTopEdge(Bitmap bmp, IntPtr ptr) { for (int y = 0; y < bmp.Height; y++) for (int x = 0; x < bmp.Width; x++) unsafe { if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0) return y; } return bmp.Height - 1; } int FindBottomEdge(Bitmap bmp, IntPtr ptr) { for (int y = bmp.Height - 1; y >= 0; y--) for (int x = 0; x < bmp.Width; x++) unsafe { if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0) return y + 1; } return 0; } #endregion #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GL12TextOutputProvider.cs0000664000175000017500000000220311453131424026073 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics.Text { [Obsolete] sealed class GL12TextOutputProvider : GL1TextOutputProvider { #region Fields TextQuality quality; GlyphCache cache; #endregion #region Constuctors public GL12TextOutputProvider(TextQuality quality) { this.quality = quality; cache = new GlyphCache(); } #endregion protected override void SetBlendFunction() { GL.BlendFunc(BlendingFactorSrc.ConstantColorExt, BlendingFactorDest.OneMinusSrcColor); } protected override void SetColor(Color color) { GL.Color3(Color.White); GL.BlendColor(color); } protected override TextQuality TextQuality { get { return quality; } } protected override GlyphCache Cache { get { return cache; } } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/CachedGlyphInfo.cs0000664000175000017500000000464011453131424024623 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { [Obsolete] struct CachedGlyphInfo { public readonly Texture2D Texture; public readonly RectangleF RectangleNormalized; public Rectangle Rectangle { get { return new Rectangle( (int)(RectangleNormalized.X * Texture.Width), (int)(RectangleNormalized.Y * Texture.Height), (int)(RectangleNormalized.Width * Texture.Width), (int)(RectangleNormalized.Height * Texture.Height)); } } // Rect denotes the absolute position of the glyph in the texture [0, Texture.Width], [0, Texture.Height]. public CachedGlyphInfo(Texture2D texture, Rectangle rect) { Texture = texture; RectangleNormalized = new RectangleF( rect.X / (float)texture.Width, rect.Y / (float)texture.Height, rect.Width / (float)texture.Width, rect.Height / (float)texture.Height); } } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/ITextOutputProvider.cs0000664000175000017500000000310111453131424025614 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { interface ITextOutputProvider : IDisposable { void Print(ref TextBlock block, Color color, IGlyphRasterizer rasterizer); void Clear(); void Begin(); void End(); } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GlyphEnumerator.cs0000664000175000017500000000563111453131424024762 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { class GlyphEnumerator : IEnumerator { #region Fields string text; Font font; IEnumerator implementation; #endregion #region Constructors public GlyphEnumerator(string text, Font font) { if (text == null) throw new ArgumentNullException("text"); if (font == null) throw new ArgumentNullException("font"); this.text = text; this.font = font; implementation = text.GetEnumerator(); } #endregion #region IEnumerator Members public Glyph Current { get { return new Glyph(implementation.Current, font); } } #endregion #region IDisposable Members public void Dispose() { implementation.Dispose(); } #endregion #region IEnumerator Members object System.Collections.IEnumerator.Current { get { return new Glyph(implementation.Current, font); } } public bool MoveNext() { bool status; do { status = implementation.MoveNext(); } while (status && (implementation.Current == '\n' || implementation.Current == '\r')); return status; } public void Reset() { implementation.Reset(); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/TextBlock.cs0000664000175000017500000000712011453131424023527 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { // Uniquely identifies a block of text. This structure can be used to identify text blocks for caching. struct TextBlock : IEquatable, IEnumerable { #region Fields public readonly string Text; public readonly Font Font; public readonly RectangleF Bounds; public readonly TextPrinterOptions Options; public readonly TextAlignment Alignment; public readonly TextDirection Direction; public readonly int UsageCount; #endregion #region Constructors public TextBlock(string text, Font font, RectangleF bounds, TextPrinterOptions options, TextAlignment alignment, TextDirection direction) { Text = text; Font = font; Bounds = bounds; Options = options; Alignment = alignment; Direction = direction; UsageCount = 0; } #endregion #region Public Members public override bool Equals(object obj) { if (!(obj is TextBlock)) return false; return Equals((TextBlock)obj); } public override int GetHashCode() { return Text.GetHashCode() ^ Font.GetHashCode() ^ Bounds.GetHashCode() ^ Options.GetHashCode(); } public Glyph this[int i] { get { return new Glyph(Text[i], Font); } } #endregion #region IEquatable Members public bool Equals(TextBlock other) { return Text == other.Text && Font == other.Font && Bounds == other.Bounds && Options == other.Options; } #endregion #region IEnumerable Members public IEnumerator GetEnumerator() { return new GlyphEnumerator(Text, Font); } #endregion #region IEnumerable Members System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new GlyphEnumerator(Text, Font); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/TextBlockComparer.cs0000664000175000017500000000330211453131424025216 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics.Text { class TextBlockComparer : IComparer { #region Constructors public TextBlockComparer() { } #endregion #region IComparer Members public int Compare(TextBlock x, TextBlock y) { return x.UsageCount.CompareTo(y.UsageCount); } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/IGlyphCache.cs0000664000175000017500000000305111453131424023747 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK.Graphics.Text { [Obsolete] interface IGlyphCache : IDisposable { void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality); bool Contains(Glyph glyph); CachedGlyphInfo this[Glyph glyph] { get; } void Clear(); } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GlyphSheet.cs0000664000175000017500000000477211453131424023716 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { [Obsolete] class GlyphSheet : IDisposable where T : Texture2D { #region Fields readonly T texture; readonly GlyphPacker packer; bool disposed; #endregion #region Constructors public GlyphSheet(int width, int height) { texture = (T)typeof(T).GetConstructor(new Type[] { typeof(int), typeof(int) }).Invoke(new object[] { width, height }); //texture.MagnificationFilter = TextureMagFilter.Nearest; //texture.MinificationFilter = TextureMinFilter.Nearest; packer = new GlyphPacker(width, height); } #endregion #region Public Members public T Texture { get { return texture; } } public GlyphPacker Packer { get { return packer; } } #endregion #region IDisposable Members public void Dispose() { if (!disposed) { texture.Dispose(); disposed = true; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GL11TextOutputProvider.cs0000664000175000017500000000314111453131424026074 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics.Text { [Obsolete] sealed class GL11TextOutputProvider : GL1TextOutputProvider { #region Fields TextQuality quality; GlyphCache cache; #endregion #region Constuctors public GL11TextOutputProvider(TextQuality quality) { if (quality == TextQuality.High || quality == TextQuality.Default) this.quality = TextQuality.Medium; else this.quality = quality; } #endregion #region Protected Members protected override void SetBlendFunction() { GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); // For grayscale } protected override void SetColor(Color color) { GL.Color3(color); } protected override TextQuality TextQuality { get { return quality; } } protected override GlyphCache Cache { get { if (cache == null) { if (GL.GetString(StringName.Renderer).Contains("ProSavage/Twister")) cache = new GlyphCache(); else cache = new GlyphCache(); } return cache; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GlyphCache.cs0000664000175000017500000001110111453131424023631 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Drawing; namespace OpenTK.Graphics.Text { [Obsolete] abstract class GlyphCache : IGlyphCache { #region IGlyphCache Members public abstract void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality); public abstract bool Contains(Glyph glyph); public abstract CachedGlyphInfo this[Glyph glyph] { get; } public abstract void Clear(); public abstract void Dispose(); #endregion } [Obsolete] sealed class GlyphCache : GlyphCache where T : Texture2D { #region Fields List> sheets = new List>(); Dictionary cached_glyphs = new Dictionary(); bool disposed; const int SheetWidth = 512, SheetHeight = 512; #endregion #region Constructors public GlyphCache() { sheets.Add(new GlyphSheet(SheetWidth, SheetHeight)); } #endregion #region IGlyphCache Members public override void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality) { if (rasterizer == null) throw new ArgumentNullException("rasterizer"); bool inserted = false; using (Bitmap bmp = rasterizer.Rasterize(glyph, quality)) { Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); foreach (GlyphSheet sheet in sheets) { inserted = InsertGlyph(glyph, bmp, rect, sheet); if (inserted) break; } if (!inserted) { GlyphSheet sheet = new GlyphSheet(SheetWidth, SheetHeight); sheets.Add(sheet); InsertGlyph(glyph, bmp, rect, sheet); } } } public override bool Contains(Glyph glyph) { return cached_glyphs.ContainsKey(glyph); } public override CachedGlyphInfo this[Glyph glyph] { get { return cached_glyphs[glyph]; } } public override void Clear() { for (int i = 0; i < sheets.Count; i++) sheets[i].Dispose(); sheets.Clear(); } #endregion #region Private Members // Asks the packer for an empty space and writes the glyph there. bool InsertGlyph(Glyph glyph, Bitmap bmp, Rectangle source, GlyphSheet sheet) { Rectangle target = new Rectangle(); if (!sheet.Packer.TryAdd(source, out target)) return false; sheet.Texture.WriteRegion(source, target, 0, bmp); cached_glyphs.Add(glyph, new CachedGlyphInfo(sheet.Texture, target)); return true; } #endregion #region IDisposable Members public override void Dispose() { if (!disposed) { Clear(); disposed = true; } } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/Glyph.cs0000664000175000017500000001100711453131424022712 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; namespace OpenTK.Graphics.Text { struct Glyph : IEquatable { char character; Font font; #region Constructors /// /// Constructs a new Glyph that represents the given character and Font. /// /// The character to represent. /// The Font of the character. public Glyph(char c, Font font) { if (font == null) throw new ArgumentNullException("font"); character = c; this.font = font; } #endregion #region Public Methods #region public char Character /// /// Gets the character represented by this Glyph. /// public char Character { get { return character; } private set { character = value; } } #endregion #region public Font Font /// /// Gets the Font of this Glyph. /// public Font Font { get { return font; } private set { if (value == null) throw new ArgumentNullException("Font", "Glyph font cannot be null"); font = value; } } #endregion #region public bool IsWhiteSpace public bool IsWhiteSpace { get { return Char.IsWhiteSpace(Character); } } #endregion #region public override bool Equals(object obj) /// /// Checks whether the given object is equal (memberwise) to the current Glyph. /// /// The obj to check. /// True, if the object is identical to the current Glyph. public override bool Equals(object obj) { if (obj is Glyph) return this.Equals((Glyph)obj); return base.Equals(obj); } #endregion #region public override string ToString() /// /// Describes this Glyph object. /// /// Returns a System.String describing this Glyph. public override string ToString() { return String.Format("'{0}', {1} {2}, {3} {4}", Character, Font.Name, font.Style, font.Size, font.Unit); } #endregion #region public override int GetHashCode() /// /// Calculates the hashcode for this Glyph. /// /// A System.Int32 containing a hashcode that uniquely identifies this Glyph. public override int GetHashCode() { return character.GetHashCode() ^ font.GetHashCode(); } #endregion #endregion #region IEquatable Members public bool Equals(Glyph other) { return Character == other.Character && Font == other.Font; } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/PoolableTextExtents.cs0000664000175000017500000000146611453131424025614 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Graphics.Text { class PoolableTextExtents : TextExtents, IPoolable { ObjectPool owner; #region Constructors public PoolableTextExtents() { } #endregion #region IPoolable Members ObjectPool IPoolable.Owner { get { return owner; } set { owner = value; } } #endregion #region IPoolable Members void IPoolable.OnAcquire() { Clear(); } void IPoolable.OnRelease() { } #endregion } } opentk-1.0.20101006/Source/Compatibility/Graphics/Text/GL1TextOutputProvider.cs0000664000175000017500000003106711453131424026023 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Drawing; using OpenTK.Graphics.OpenGL; namespace OpenTK.Graphics.Text { [Obsolete] abstract class GL1TextOutputProvider : ITextOutputProvider { #region Fields // Triangle lists, sorted by texture. Dictionary> active_lists = new Dictionary>(); Queue> inactive_lists = new Queue>(); #pragma warning disable 0649 struct Viewport { public int X, Y, Width, Height; } #pragma warning restore 0649 // Used to save the current state in Begin() and restore it in End() Stack projection_stack = new Stack(); Stack modelview_stack = new Stack(); Stack texture_stack = new Stack(); Stack viewport_stack = new Stack(); // Used as temporary storage when saving / restoring the current state. Viewport viewport = new Viewport(); Matrix4 matrix = new Matrix4(); // TextBlock - display list cache. // Todo: we need a cache eviction strategy. const int block_cache_capacity = 32; readonly Dictionary block_cache = new Dictionary(block_cache_capacity); bool disposed; #endregion #region Constructors public GL1TextOutputProvider() { inactive_lists.Enqueue(new List()); } #endregion #region ITextOutputProvider Members #region Print public void Print(ref TextBlock block, Color color, IGlyphRasterizer rasterizer) { GL.PushAttrib(AttribMask.CurrentBit | AttribMask.TextureBit | AttribMask.EnableBit | AttribMask.ColorBufferBit | AttribMask.DepthBufferBit); GL.Enable(EnableCap.Texture2D); GL.Enable(EnableCap.Blend); SetBlendFunction(); GL.Disable(EnableCap.DepthTest); GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (int)All.Modulate); GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvColor, new Color4(0, 0, 0, 0)); GL.Disable(EnableCap.TextureGenQ); GL.Disable(EnableCap.TextureGenR); GL.Disable(EnableCap.TextureGenS); GL.Disable(EnableCap.TextureGenT); RectangleF position; SetColor(color); int block_hash = block.GetHashCode(); if (block_cache.ContainsKey(block_hash)) { GL.CallList(block_cache[block_hash]); } else { using (TextExtents extents = rasterizer.MeasureText(ref block)) { // Build layout int current = 0; foreach (Glyph glyph in block) { // Do not render whitespace characters or characters outside the clip rectangle. if (glyph.IsWhiteSpace || extents[current].Width == 0 || extents[current].Height == 0) { current++; continue; } else if (!Cache.Contains(glyph)) Cache.Add(glyph, rasterizer, TextQuality); CachedGlyphInfo info = Cache[glyph]; position = extents[current++]; // Use the real glyph width instead of the measured one (we want to achieve pixel perfect output). position.Size = info.Rectangle.Size; if (!active_lists.ContainsKey(info.Texture)) { if (inactive_lists.Count > 0) { List list = inactive_lists.Dequeue(); list.Clear(); active_lists.Add(info.Texture, list); } else { active_lists.Add(info.Texture, new List()); } } { // Interleaved array: Vertex, TexCoord, Vertex, ... List current_list = active_lists[info.Texture]; current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Top)); current_list.Add(new Vector2(position.Left, position.Top)); current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Bottom)); current_list.Add(new Vector2(position.Left, position.Bottom)); current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Bottom)); current_list.Add(new Vector2(position.Right, position.Bottom)); current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Bottom)); current_list.Add(new Vector2(position.Right, position.Bottom)); current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Top)); current_list.Add(new Vector2(position.Right, position.Top)); current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Top)); current_list.Add(new Vector2(position.Left, position.Top)); } } } // Render int display_list = 0; if ((block.Options & TextPrinterOptions.NoCache) == 0) { display_list = GL.GenLists(1); // Mesa Indirect gerates an InvalidOperation error right after // GL.EndList() when using ListMode.CompileAndExecute. // Using ListMode.Compile as a workaround. GL.NewList(display_list, ListMode.Compile); } foreach (Texture2D key in active_lists.Keys) { List list = active_lists[key]; key.Bind(); GL.Begin(BeginMode.Triangles); for (int i = 0; i < list.Count; i += 2) { GL.TexCoord2(list[i]); GL.Vertex2(list[i + 1]); } GL.End(); } if ((block.Options & TextPrinterOptions.NoCache) == 0) { GL.EndList(); block_cache.Add(block_hash, display_list); GL.CallList(display_list); } // Clean layout foreach (List list in active_lists.Values) { //list.Clear(); inactive_lists.Enqueue(list); } active_lists.Clear(); } GL.PopAttrib(); } #endregion #region Clear public void Clear() { Cache.Clear(); foreach (int display_list in block_cache.Keys) GL.DeleteLists(display_list, 1); block_cache.Clear(); } #endregion #region Begin public void Begin() { if (disposed) throw new ObjectDisposedException(this.GetType().ToString()); GraphicsContext.Assert(); // Save the state of everything we are going to modify: // the current matrix mode, viewport state and the projection, modelview and texture matrices. // All these will be restored in the TextPrinter.End() method. int current_matrix; GL.GetInteger(GetPName.MatrixMode, out current_matrix); GL.GetInteger(GetPName.Viewport, out viewport.X); viewport_stack.Push(viewport); GL.GetFloat(GetPName.ProjectionMatrix, out matrix.Row0.X); projection_stack.Push(matrix); GL.GetFloat(GetPName.ModelviewMatrix, out matrix.Row0.X); modelview_stack.Push(matrix); GL.GetFloat(GetPName.TextureMatrix, out matrix.Row0.X); texture_stack.Push(matrix); // Prepare to draw text. We want pixel perfect precision, so we setup a 2D mode, // with size equal to the window (in pixels). // While we could also render text in 3D mode, it would be very hard to get // pixel-perfect precision. GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(viewport.X, viewport.Width, viewport.Height, viewport.Y, -1.0, 1.0); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); GL.MatrixMode(MatrixMode.Texture); GL.LoadIdentity(); GL.MatrixMode((MatrixMode)current_matrix); } #endregion #region End public void End() { if (disposed) throw new ObjectDisposedException(this.GetType().ToString()); GraphicsContext.Assert(); int current_matrix; GL.GetInteger(GetPName.MatrixMode, out current_matrix); viewport = viewport_stack.Pop(); GL.Viewport(viewport.X, viewport.Y, viewport.Width, viewport.Height); GL.MatrixMode(MatrixMode.Texture); matrix = texture_stack.Pop(); GL.LoadMatrix(ref matrix); GL.MatrixMode(MatrixMode.Modelview); matrix = modelview_stack.Pop(); GL.LoadMatrix(ref matrix); GL.MatrixMode(MatrixMode.Projection); matrix = projection_stack.Pop(); GL.LoadMatrix(ref matrix); GL.MatrixMode((MatrixMode)current_matrix); } #endregion #endregion #region Protected Members protected abstract void SetBlendFunction(); protected abstract void SetColor(Color color); protected abstract TextQuality TextQuality { get; } protected abstract GlyphCache Cache { get; } #endregion #region Static Members public static GL1TextOutputProvider Create(TextQuality quality) { if (!GL.SupportsExtension("Version12") || !GL.SupportsFunction("BlendColor") || quality == TextQuality.Low || quality == TextQuality.Medium) return new GL11TextOutputProvider(quality); else return new GL12TextOutputProvider(quality); } #endregion #region IDisposable Members public void Dispose() { if (!disposed) { Cache.Dispose(); disposed = true; } } #endregion } } opentk-1.0.20101006/Source/Build.UpdateVersion/0000775000175000017500000000000011453142152017632 5ustar laneylaneyopentk-1.0.20101006/Source/Build.UpdateVersion/Program.cs0000664000175000017500000000746311453137546021615 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2010 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.IO; namespace Build.UpdateVersion { class Program { const string Major = "1"; const string Minor = "0"; public static void Main() { DateTime now = DateTime.UtcNow; GenerateVersionInfo(now, "../../Version.txt"); GenerateAssemblyInfo(now, "../GlobalAssemblyInfo.cs"); } static void GenerateVersionInfo(DateTime now, string file) { string version = null; if (System.IO.File.Exists(file)) { string[] lines = System.IO.File.ReadAllLines(file); if (lines.Length > 0 && !String.IsNullOrEmpty(lines[0])) { version = lines[0]; } } // If the file does not exist, create it. if (version == null) { version = now.ToString("u").Split(' ')[0]; System.IO.File.WriteAllLines(file, new string[] { version }); } } static void GenerateAssemblyInfo(DateTime now, string file) { // Build number is defined as the number of days since 1/1/2010. // Revision number is defined as the fraction of the current day, expressed in seconds. double timespan = now.Subtract(new DateTime(2010, 1, 1)).TotalDays; string build = ((int)timespan).ToString(); string revision = ((int)((timespan - (int)timespan) * UInt16.MaxValue)).ToString(); File.WriteAllLines(file, new string[] { "// This file is auto-generated through Source/Build.Tasks/GenerateAssemblyInfo.cs.", "// Do not edit by hand!", "", "using System;", "using System.Reflection;", "using System.Resources;", "using System.Runtime.CompilerServices;", "using System.Runtime.InteropServices;", "", "[assembly: AssemblyCompany(\"The Open Toolkit Library\")]", "[assembly: AssemblyProduct(\"The Open Toolkit Library\")]", "[assembly: AssemblyCopyright(\"Copyright © 2006 - 2010 the Open Toolkit Library\")]", "[assembly: AssemblyTrademark(\"OpenTK\")]", String.Format("[assembly: AssemblyVersion(\"{0}.{1}.0.0\")]", Major, Minor), String.Format("[assembly: AssemblyFileVersion(\"{0}.{1}.{2}.{3}\")]", Major, Minor, build, revision), }); } } } opentk-1.0.20101006/Source/Build.UpdateVersion/Build.UpdateVersion.csproj0000664000175000017500000000364211453131424024707 0ustar laneylaney ..\..\Binaries\OpenTK\Release TRACE true ..\..\Binaries\OpenTK\Debug TRACE;DEBUG false ..\..\Binaries\OpenTK\Release true TRACE ..\..\Binaries\OpenTK\Release true TRACE {75DC22B1-113F-4A66-96B9-2FF8208C10E8} Build.UpdateVersion Build.UpdateVersion Exe v2.0 opentk-1.0.20101006/Source/QuickStart/0000775000175000017500000000000011453142154016100 5ustar laneylaneyopentk-1.0.20101006/Source/QuickStart/Game.cs0000664000175000017500000000661411453131430017302 0ustar laneylaney// Released to the public domain. Use, modify and relicense at will. using System; using OpenTK; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; using OpenTK.Audio; using OpenTK.Audio.OpenAL; using OpenTK.Input; namespace StarterKit { class Game : GameWindow { /// Creates a 800x600 window with the specified title. public Game() : base(800, 600, GraphicsMode.Default, "OpenTK Quick Start Sample") { VSync = VSyncMode.On; } /// Load resources here. /// Not used. protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(0.1f, 0.2f, 0.5f, 0.0f); GL.Enable(EnableCap.DepthTest); } /// /// Called when your window is resized. Set your viewport here. It is also /// a good place to set up your projection matrix (which probably changes /// along when the aspect ratio of your window). /// /// Not used. protected override void OnResize(EventArgs e) { base.OnResize(e); GL.Viewport(ClientRectangle.X, ClientRectangle.Y, ClientRectangle.Width, ClientRectangle.Height); Matrix4 projection = Matrix4.CreatePerspectiveFieldOfView((float)Math.PI / 4, Width / (float)Height, 1.0f, 64.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadMatrix(ref projection); } /// /// Called when it is time to setup the next frame. Add you game logic here. /// /// Contains timing information for framerate independent logic. protected override void OnUpdateFrame(FrameEventArgs e) { base.OnUpdateFrame(e); if (Keyboard[Key.Escape]) Exit(); } /// /// Called when it is time to render the next frame. Add your rendering code here. /// /// Contains timing information. protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); Matrix4 modelview = Matrix4.LookAt(Vector3.Zero, Vector3.UnitZ, Vector3.UnitY); GL.MatrixMode(MatrixMode.Modelview); GL.LoadMatrix(ref modelview); GL.Begin(BeginMode.Triangles); GL.Color3(1.0f, 1.0f, 0.0f); GL.Vertex3(-1.0f, -1.0f, 4.0f); GL.Color3(1.0f, 0.0f, 0.0f); GL.Vertex3(1.0f, -1.0f, 4.0f); GL.Color3(0.2f, 0.9f, 1.0f); GL.Vertex3(0.0f, 1.0f, 4.0f); GL.End(); SwapBuffers(); } /// /// The main entry point for the application. /// [STAThread] static void Main() { // The 'using' idiom guarantees proper resource cleanup. // We request 30 UpdateFrame events per second, and unlimited // RenderFrame events (as fast as the computer can handle). using (Game game = new Game()) { game.Run(30.0); } } } }opentk-1.0.20101006/Source/GlobalAssemblyInfo.cs0000664000175000017500000000111311453137572020055 0ustar laneylaney// This file is auto-generated through Source/Build.Tasks/GenerateAssemblyInfo.cs. // Do not edit by hand! using System; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: AssemblyCompany("The Open Toolkit Library")] [assembly: AssemblyProduct("The Open Toolkit Library")] [assembly: AssemblyCopyright("Copyright © 2006 - 2010 the Open Toolkit Library")] [assembly: AssemblyTrademark("OpenTK")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.278.44921")] opentk-1.0.20101006/Source/OpenTK/0000775000175000017500000000000011453142154015146 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Minimal.cs0000664000175000017500000000473511453131424017072 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK { // Override a number of System.* classes when compiling for // minimal targets (e.g. MonoTouch). // Note: the "overriden" classes must not be fully qualified for this to work! #if IPHONE // System.Diagnostics.Debug static class Debug { public static void Write(string message) { } public static void Write(object obj) { } public static void WriteLine(string message) { } public static void WriteLine(object obj) { } public static void Print(string message) { } public static void Print(string format, params object[] args) { } public static void Indent() { } public static void Unindent() { } public static void Flush() { } } // System.Diagnostics.Trace static class Trace { public static void Write(string message) { } public static void Write(object obj) { } public static void WriteLine(string message) { } public static void WriteLine(object obj) { } public static void Indent() { } public static void Unindent() { } public static void Flush() { } } // System.Diagnostics.Stopwatch sealed class Stopwatch { DateTime start, stop; bool running; public void Reset() { start = stop = DateTime.MinValue; running = false; } public void Start() { start = DateTime.Now; running = true; } public void Stop() { stop = DateTime.Now; running = false; } public TimeSpan Elapsed { get { if (running) return TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks); else return TimeSpan.FromTicks(stop.Ticks - start.Ticks); } } } // System.Xml.XmlIgnoreAttribute class XmlIgnoreAttribute : Attribute { } // System.ComponentModel.EditorBrowrableAttribute class EditorBrowsableAttribute : Attribute { public EditorBrowsableAttribute(EditorBrowsableState state) { } } // System.ComponentModel.EditorBrowsableState enum EditorBrowsableState { Always = 0, Never = 1, Advanced = 2, } #endif } opentk-1.0.20101006/Source/OpenTK/Exceptions.cs0000664000175000017500000000405211453131424017615 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK { /// /// This exception is thrown when a GraphicsContext property cannot be changed after creation. /// public class ContextExistsException : ApplicationException { string msg; /// /// Constructs a new ContextExistsException instance. /// /// A System.String explaining the cause of this exception. public ContextExistsException(string message) { msg = message; } /// /// Gets a System.String explaining the cause of this exception. /// public override string Message { get { return msg; } } } }opentk-1.0.20101006/Source/OpenTK/DisplayResolution.cs0000664000175000017500000002063611453131424021173 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Drawing; namespace OpenTK { /// Contains information regarding a monitor's display resolution. public class DisplayResolution { Rectangle bounds; int bits_per_pixel; float refresh_rate; #region --- Constructors --- internal DisplayResolution() { } #region public DisplayResolution(int width, int height, int bitsPerPixel, float refreshRate) // Creates a new DisplayResolution object for the primary DisplayDevice. internal DisplayResolution(int x, int y, int width, int height, int bitsPerPixel, float refreshRate) { // Refresh rate may be zero, since this information may not be available on some platforms. if (width <= 0) throw new ArgumentOutOfRangeException("width", "Must be greater than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", "Must be greater than zero."); if (bitsPerPixel <= 0) throw new ArgumentOutOfRangeException("bitsPerPixel", "Must be greater than zero."); if (refreshRate < 0) throw new ArgumentOutOfRangeException("refreshRate", "Must be greater than, or equal to zero."); this.bounds = new Rectangle(x, y, width, height); this.bits_per_pixel = bitsPerPixel; this.refresh_rate = refreshRate; } #endregion #region public DisplayResolution(int width, int height, int bitsPerPixel, float refreshRate, DisplayDevice device) #if false /// /// Creates a new DisplayResolution object for the specified DisplayDevice. /// /// The requested width in pixels. /// The requested height in pixels. /// The requested bits per pixel in bits. /// The requested refresh rate in hertz. /// OpenTK will select the closest match between all available resolutions on the specified DisplayDevice. /// public DisplayResolution(int width, int height, int bitsPerPixel, float refreshRate, DisplayDevice device) { // Refresh rate may be zero, since this information may not be available on some platforms. if (width <= 0) throw new ArgumentOutOfRangeException("width", "Must be greater than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", "Must be greater than zero."); if (bitsPerPixel <= 0) throw new ArgumentOutOfRangeException("bitsPerPixel", "Must be greater than zero."); if (refreshRate < 0) throw new ArgumentOutOfRangeException("refreshRate", "Must be greater than, or equal to zero."); if (device == null) throw new ArgumentNullException("DisplayDevice", "Must be a valid DisplayDevice"); DisplayResolution res = device.SelectResolution(width, height, bitsPerPixel, refreshRate); this.width = res.width; this.height = res.height; this.bits_per_pixel = res.bits_per_pixel; this.refresh_rate = res.refresh_rate; } #endif #endregion #endregion #region --- Public Methods --- #region Bounds /// /// Gets a System.Drawing.Rectangle that contains the bounds of this display device. /// [Obsolete("This property will return invalid results if a monitor changes resolution. Use DisplayDevice.Bounds instead.")] [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] public Rectangle Bounds { get { return bounds; } } #endregion #region public int Width /// Gets a System.Int32 that contains the width of this display in pixels. public int Width { get { return bounds.Width; } internal set { bounds.Width = value; } } #endregion #region public int Height /// Gets a System.Int32 that contains the height of this display in pixels. public int Height { get { return bounds.Height; } internal set { bounds.Height = value; } } #endregion #region public int BitsPerPixel /// Gets a System.Int32 that contains number of bits per pixel of this display. Typical values include 8, 16, 24 and 32. public int BitsPerPixel { get { return bits_per_pixel; } internal set { bits_per_pixel = value; } } #endregion #region public float RefreshRate /// /// Gets a System.Single representing the vertical refresh rate of this display. /// public float RefreshRate { get { return refresh_rate; } internal set { refresh_rate = value; } } #endregion #endregion #region --- Overrides --- #region public override string ToString() /// /// Returns a System.String representing this DisplayResolution. /// /// A System.String representing this DisplayResolution. public override string ToString() { return String.Format("{0}x{1}@{2}Hz", Bounds, bits_per_pixel, refresh_rate); } #endregion #region public override bool Equals(object obj) /// Determines whether the specified resolutions are equal. /// The System.Object to check against. /// True if the System.Object is an equal DisplayResolution; false otherwise. public override bool Equals(object obj) { if (obj == null) return false; if (this.GetType() == obj.GetType()) { DisplayResolution res = (DisplayResolution)obj; return Width == res.Width && Height == res.Height && BitsPerPixel == res.BitsPerPixel && RefreshRate == res.RefreshRate; } return false; } #endregion #region public override int GetHashCode() /// Returns a unique hash representing this resolution. /// A System.Int32 that may serve as a hash code for this resolution. public override int GetHashCode() { return Bounds.GetHashCode() ^ bits_per_pixel ^ refresh_rate.GetHashCode(); } #endregion #endregion #region --- Operator Overloads --- /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator== (DisplayResolution left, DisplayResolution right) { if (((object)left) == null && ((object)right) == null) return true; else if ((((object)left) == null && ((object)right) != null) || (((object)left) != null && ((object)right) == null)) return false; return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equal right; false otherwise. public static bool operator !=(DisplayResolution left, DisplayResolution right) { return !(left == right); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/0000775000175000017500000000000011453142154016245 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Input/IInputDevice.cs0000664000175000017500000000243011453131422021117 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines a common interface for all input devices. /// public interface IInputDevice { /// /// Gets a System.String with a unique description of this IInputDevice instance. /// string Description { get; } /// /// Gets an OpenTK.Input.InputDeviceType value, representing the device type of this IInputDevice instance. /// InputDeviceType DeviceType { get; } } /// /// The type of the input device. /// public enum InputDeviceType { /// /// Device is a keyboard. /// Keyboard, /// /// Device is a mouse. /// Mouse, /// /// Device is a Human Interface Device. Joysticks, joypads, pens /// and some specific usb keyboards/mice fall into this category. /// Hid } } opentk-1.0.20101006/Source/OpenTK/Input/GamePadState.cs0000664000175000017500000000257711453131422021102 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK.Input { /// /// Encapsulates the state of a GamePad device. /// public struct GamePadState { } } opentk-1.0.20101006/Source/OpenTK/Input/KeyboardState.cs0000664000175000017500000000675111453131422021342 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Encapsulates the state of a Keyboard device. /// public struct KeyboardState : IEquatable { #region Fields const int NumKeys = ((int)Key.LastKey + 16) / 32; // Todo: The following line triggers bogus CS0214 in gmcs 2.0.1, sigh... // Need to add a workaround using either ExplicitLayout or another trick. //unsafe fixed int Keys[NumKeys]; #endregion #region Constructors #endregion #region Public Members /// /// Gets a indicating whether this key is down. /// /// The to check. public bool IsKeyDown(Key key) { return ReadBit((int)key) != 0; } /// /// Gets a indicating whether this key is up. /// /// The to check. public bool IsKeyUp(Key key) { return ReadBit((int)key) == 0; } #endregion #region Internal Members internal int ReadBit(int offset) { return 0; //unsafe { return (Keys[(offset / 32)] & (1 << (offset % 32))); } } internal enum BitValue { Zero = 0, One = 1 } internal void WriteBit(int offset, BitValue bit) { // Todo: this is completely broken. //unsafe { Keys[offset / 32] = Keys[offset / 32] ^ (~(int)bit << (offset % 32)); } } #endregion #region IEquatable Members /// /// Compares two KeyboardState instances. /// /// The instance to compare two. /// True, if both instances are equal; false otherwise. public bool Equals(KeyboardState other) { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/IInputDriver.cs0000664000175000017500000000105411453131422021154 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines the interface for an input driver. /// public interface IInputDriver : IKeyboardDriver, IMouseDriver, IJoystickDriver, IDisposable { /// /// Updates the state of the driver. /// void Poll(); } } opentk-1.0.20101006/Source/OpenTK/Input/JoystickDevice.cs0000664000175000017500000003627511453131422021524 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; namespace OpenTK.Input { /// /// Represents a joystick device and provides methods to query its status. /// public abstract class JoystickDevice : IInputDevice { #region Fields int id; string description; JoystickAxisCollection axis_collection; JoystickButtonCollection button_collection; JoystickMoveEventArgs move_args = new JoystickMoveEventArgs(0, 0, 0); JoystickButtonEventArgs button_args = new JoystickButtonEventArgs(0, false); #endregion #region Constructors internal JoystickDevice(int id, int axes, int buttons) { if (axes < 0) throw new ArgumentOutOfRangeException("axes"); if (buttons < 0) throw new ArgumentOutOfRangeException("buttons"); Id = id; axis_collection = new JoystickAxisCollection(axes); button_collection = new JoystickButtonCollection(buttons); } #endregion #region Public Members /// /// Gets a JoystickAxisCollection containing the state of each axis on this instance. Values are normalized in the [-1, 1] range. /// public JoystickAxisCollection Axis { get { return axis_collection; } } /// /// Gets JoystickButtonCollection containing the state of each button on this instance. True indicates that the button is pressed. /// public JoystickButtonCollection Button { get { return button_collection; } } #endregion #region IInputDevice Members /// /// Gets a System.String containing a unique description for this instance. /// public string Description { get { return description; } internal set { description = value; } } /// /// Gets a value indicating the InputDeviceType of this InputDevice. /// public InputDeviceType DeviceType { get { return InputDeviceType.Hid; } } #endregion #region Events /// /// Occurs when an axis of this JoystickDevice instance is moved. /// public EventHandler Move = delegate(object sender, JoystickMoveEventArgs e) { }; /// /// Occurs when a button of this JoystickDevice instance is pressed. /// public EventHandler ButtonDown = delegate(object sender, JoystickButtonEventArgs e) { }; /// /// Occurs when a button of this JoystickDevice is released. /// public EventHandler ButtonUp = delegate(object sender, JoystickButtonEventArgs e) { }; #endregion #region Internal Members internal int Id { get { return id; } set { id = value; } } internal void SetAxis(JoystickAxis axis, float @value) { move_args.Axis = axis; move_args.Delta = move_args.Value - @value; axis_collection[axis] = move_args.Value = @value; Move(this, move_args); } internal void SetButton(JoystickButton button, bool @value) { if (button_collection[button] != @value) { button_args.Button = button; button_collection[button] = button_args.Pressed = @value; if (@value) ButtonDown(this, button_args); else ButtonUp(this, button_args); } } #endregion } #region JoystickDevice : JoystickDevice // Provides platform-specific information about the relevant JoystickDevice. internal sealed class JoystickDevice : JoystickDevice { internal JoystickDevice(int id, int axes, int buttons) : base(id, axes, buttons) { } internal TDetail Details; } #endregion #region Event Arguments /// /// The base class for JoystickDevice event arguments. /// public class JoystickEventArgs : EventArgs { } /// /// Provides data for the and events. /// This class is cached for performance reasons - avoid storing references outside the scope of the event. /// public class JoystickButtonEventArgs : EventArgs { #region Fields JoystickButton button; bool pressed; #endregion #region Constructors /// /// Initializes a new instance of the class. /// /// The index of the joystick button for the event. /// The current state of the button. internal JoystickButtonEventArgs(JoystickButton button, bool pressed) { this.button = button; this.pressed = pressed; } #endregion #region Public Members /// /// The index of the joystick button for the event. /// public JoystickButton Button { get { return this.button; } internal set { this.button = value; } } /// /// Gets a System.Boolean representing the state of the button for the event. /// public bool Pressed { get { return pressed; } internal set { this.pressed = value; } } #endregion } /// /// Provides data for the event. /// This class is cached for performance reasons - avoid storing references outside the scope of the event. /// public class JoystickMoveEventArgs : JoystickEventArgs { #region Fields JoystickAxis axis; float value; float delta; #endregion #region Constructors /// /// Initializes a new instance of the class. /// /// The index of the joystick axis that was moved. /// The absolute value of the joystick axis. /// The relative change in value of the joystick axis. public JoystickMoveEventArgs(JoystickAxis axis, float value, float delta) { this.axis = axis; this.value = value; this.delta = delta; } #endregion #region Public Members /// /// Gets a System.Int32 representing the index of the axis that was moved. /// public JoystickAxis Axis { get { return axis; } internal set { this.axis = value; } } /// /// Gets a System.Single representing the absolute position of the axis. /// public float Value { get { return value; } internal set { this.value = value; } } /// /// Gets a System.Single representing the relative change in the position of the axis. /// public float Delta { get { return delta; } internal set { this.delta = value; } } #endregion } #endregion #region JoystickButton /// /// Defines available JoystickDevice buttons. /// public enum JoystickButton { /// The first button of the JoystickDevice. Button0 = 0, /// The second button of the JoystickDevice. Button1, /// The third button of the JoystickDevice. Button2, /// The fourth button of the JoystickDevice. Button3, /// The fifth button of the JoystickDevice. Button4, /// The sixth button of the JoystickDevice. Button5, /// The seventh button of the JoystickDevice. Button6, /// The eighth button of the JoystickDevice. Button7, /// The ninth button of the JoystickDevice. Button8, /// The tenth button of the JoystickDevice. Button9, /// The eleventh button of the JoystickDevice. Button10, /// The twelfth button of the JoystickDevice. Button11, /// The thirteenth button of the JoystickDevice. Button12, /// The fourteenth button of the JoystickDevice. Button13, /// The fifteenth button of the JoystickDevice. Button14, /// The sixteenth button of the JoystickDevice. Button15, } #endregion #region JoystickButtonCollection /// /// Defines a collection of JoystickButtons. /// public sealed class JoystickButtonCollection { #region Fields bool[] button_state; #endregion #region Constructors internal JoystickButtonCollection(int numButtons) { if (numButtons < 0) throw new ArgumentOutOfRangeException("numButtons"); button_state = new bool[numButtons]; } #endregion #region Public Members /// /// Gets a System.Boolean indicating whether the JoystickButton with the specified index is pressed. /// /// The index of the JoystickButton to check. /// True if the JoystickButton is pressed; false otherwise. public bool this[int index] { get { return button_state[index]; } internal set { button_state[index] = value; } } /// /// Gets a System.Boolean indicating whether the specified JoystickButton is pressed. /// /// The JoystickButton to check. /// True if the JoystickButton is pressed; false otherwise. public bool this[JoystickButton button] { get { return button_state[(int)button]; } internal set { button_state[(int)button] = value; } } /// /// Gets a System.Int32 indicating the available amount of JoystickButtons. /// public int Count { get { return button_state.Length; } } #endregion } #endregion #region JoystickAxis /// /// Defines available JoystickDevice axes. /// public enum JoystickAxis { /// The first axis of the JoystickDevice. Axis0 = 0, /// The second axis of the JoystickDevice. Axis1, /// The third axis of the JoystickDevice. Axis2, /// The fourth axis of the JoystickDevice. Axis3, /// The fifth axis of the JoystickDevice. Axis4, /// The sixth axis of the JoystickDevice. Axis5, /// The seventh axis of the JoystickDevice. Axis6, /// The eighth axis of the JoystickDevice. Axis7, /// The ninth axis of the JoystickDevice. Axis8, /// The tenth axis of the JoystickDevice. Axis9, } #endregion #region JoystickAxisCollection /// /// Defines a collection of JoystickAxes. /// public sealed class JoystickAxisCollection { #region Fields float[] axis_state; #endregion #region Constructors internal JoystickAxisCollection(int numAxes) { if (numAxes < 0) throw new ArgumentOutOfRangeException("numAxes"); axis_state = new float[numAxes]; } #endregion #region Public Members /// /// Gets a System.Single indicating the absolute position of the JoystickAxis with the specified index. /// /// The index of the JoystickAxis to check. /// A System.Single in the range [-1, 1]. public float this[int index] { get { return axis_state[index]; } internal set { axis_state[index] = value; } } /// /// Gets a System.Single indicating the absolute position of the JoystickAxis. /// /// The JoystickAxis to check. /// A System.Single in the range [-1, 1]. public float this[JoystickAxis axis] { get { return axis_state[(int)axis]; } internal set { axis_state[(int)axis] = value; } } /// /// Gets a System.Int32 indicating the available amount of JoystickAxes. /// public int Count { get { return axis_state.Length; } } #endregion } #endregion } opentk-1.0.20101006/Source/OpenTK/Input/IMouseDriver.cs0000664000175000017500000000101711453131422021144 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines the interface for MouseDevice drivers. /// public interface IMouseDriver { /// /// Gets the list of available MouseDevices. /// IList Mouse { get; } } } opentk-1.0.20101006/Source/OpenTK/Input/Keyboard.cs0000664000175000017500000000524211453131422020333 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Provides access to keyboard devices. Note: this API is not implemented yet. /// public static class Keyboard { #region Fields //static IKeyboardDriver driver; #endregion #region Constructors static Keyboard() { throw new NotImplementedException(); //driver = Platform.Factory.Default.CreateKeyboardDriver(); } #endregion #region Public Members /// /// Retrieves the KeyboardState for the default keyboard device. /// /// A structure containing the state of the keyboard device. public static KeyboardState GetState() { return new KeyboardState(); } /// /// Retrieves the KeyboardState for the specified keyboard device. /// /// The index of the keyboard device. /// A structure containing the state of the keyboard device. public static KeyboardState GetState(int index) { return new KeyboardState(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/KeyboardDevice.cs0000664000175000017500000001426411453131422021457 0ustar laneylaney#region --- License --- /* Copyright (c) 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion #region --- Using directives --- using System; using OpenTK.Input; using System.Diagnostics; #endregion namespace OpenTK.Input { /// /// Represents a keyboard device and provides methods to query its status. /// public sealed class KeyboardDevice : IInputDevice { //private IKeyboard keyboard; private bool[] keys = new bool[Enum.GetValues(typeof(Key)).Length]; private string description; private int numKeys, numFKeys, numLeds; private IntPtr devID; private bool repeat; private KeyboardKeyEventArgs args = new KeyboardKeyEventArgs(); #region --- Constructors --- internal KeyboardDevice() { } #endregion #region --- IKeyboard members --- /// /// Gets a value indicating the status of the specified Key. /// /// The Key to check. /// True if the Key is pressed, false otherwise. public bool this[Key key] { get { return keys[(int)key]; } internal set { if (keys[(int)key] != value || KeyRepeat) { keys[(int)key] = value; if (value && KeyDown != null) { args.Key = key; KeyDown(this, args); } else if (!value && KeyUp != null) { args.Key = key; KeyUp(this, args); } } } } /// /// Gets an integer representing the number of keys on this KeyboardDevice. /// public int NumberOfKeys { get { return numKeys; } internal set { numKeys = value; } } /// /// Gets an integer representing the number of function keys (F-keys) on this KeyboardDevice. /// public int NumberOfFunctionKeys { get { return numFKeys; } internal set { numFKeys = value; } } /// /// Gets a value indicating the number of led indicators on this KeyboardDevice. /// public int NumberOfLeds { get { return numLeds; } internal set { numLeds = value; } } /// /// Gets an IntPtr representing a device dependent ID. /// public IntPtr DeviceID { get { return devID; } internal set { devID = value; } } #region public bool KeyRepeat /// /// Gets or sets a System.Boolean indicating key repeat status. /// /// /// If KeyRepeat is true, multiple KeyDown events will be generated while a key is being held. /// Otherwise only one KeyDown event will be reported. /// /// The rate of the generated KeyDown events is controlled by the Operating System. Usually, /// one KeyDown event will be reported, followed by a small (250-1000ms) pause and several /// more KeyDown events (6-30 events per second). /// /// /// Set to true to handle text input (where keyboard repeat is desirable), but set to false /// for game input. /// /// public bool KeyRepeat { get { return repeat; } set { repeat = value; } } #endregion #region KeyDown /// /// Occurs when a key is pressed. /// public event EventHandler KeyDown; #endregion #region KeyUp /// /// Occurs when a key is released. /// public event EventHandler KeyUp; #endregion #endregion #region --- IInputDevice Members --- /// /// Gets a which describes this instance. /// public string Description { get { return description; } internal set { description = value; } } /// /// Gets the for this instance. /// public InputDeviceType DeviceType { get { return InputDeviceType.Keyboard; } } #endregion #region --- Public Methods --- /// Returns the hash code for this KeyboardDevice. /// A 32-bit signed integer hash code. public override int GetHashCode() { //return base.GetHashCode(); return (int)(numKeys ^ numFKeys ^ numLeds ^ devID.GetHashCode() ^ description.GetHashCode()); } /// /// Returns a System.String representing this KeyboardDevice. /// /// A System.String representing this KeyboardDevice. public override string ToString() { //return base.ToString(); return String.Format("ID: {0} ({1}). Keys: {2}, Function keys: {3}, Leds: {4}", DeviceID, Description, NumberOfKeys, NumberOfFunctionKeys, NumberOfLeds); } #endregion #region --- Internal Methods --- #region internal void ClearKeys() internal void ClearKeys() { for (int i = 0; i < keys.Length; i++) if (this[(Key)i]) // Make sure KeyUp events are *not* raised for keys that are up, even if key repeat is on. this[(Key)i] = false; } #endregion #endregion } }opentk-1.0.20101006/Source/OpenTK/Input/MouseButton.cs0000664000175000017500000000551711453131422021064 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Enumerates all possible mouse buttons. /// public enum MouseButton { /// /// The left mouse button. /// Left = 0, /// /// The middle mouse button. /// Middle, /// /// The right mouse button. /// Right, /// /// The first extra mouse button. /// Button1, /// /// The second extra mouse button. /// Button2, /// /// The third extra mouse button. /// Button3, /// /// The fourth extra mouse button. /// Button4, /// /// The fifth extra mouse button. /// Button5, /// /// The sixth extra mouse button. /// Button6, /// /// The seventh extra mouse button. /// Button7, /// /// The eigth extra mouse button. /// Button8, /// /// The ninth extra mouse button. /// Button9, /// /// Indicates the last available mouse button. /// LastButton } } opentk-1.0.20101006/Source/OpenTK/Input/IJoystickDriver.cs0000664000175000017500000000317711453131422021664 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines the interface for JoystickDevice drivers. /// public interface IJoystickDriver { /// /// Gets the list of available JoystickDevices. /// IList Joysticks { get; } } } opentk-1.0.20101006/Source/OpenTK/Input/MouseDevice.cs0000664000175000017500000004772311453131422021015 0ustar laneylaney#define COMPAT_REV1519 // Keeps compatibility with revision 1519 #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.ComponentModel; namespace OpenTK.Input { /// /// Represents a mouse device and provides methods to query its status. /// public sealed class MouseDevice : IInputDevice { #region --- Fields --- string description; IntPtr id; int numButtons, numWheels; readonly bool[] button_state = new bool[Enum.GetValues(typeof(MouseButton)).Length]; float wheel, last_wheel; Point pos = new Point(), last_pos = new Point(); MouseMoveEventArgs move_args = new MouseMoveEventArgs(); MouseButtonEventArgs button_args = new MouseButtonEventArgs(); MouseWheelEventArgs wheel_args = new MouseWheelEventArgs(); #if COMPAT_REV1519 int wheel_last_accessed = 0; Point pos_last_accessed = new Point(); #endif #endregion #region --- IInputDevice Members --- #region public string Description /// /// Gets a string describing this MouseDevice. /// public string Description { get { return description; } internal set { description = value; } } #endregion #region public InputDeviceType DeviceType /// /// Gets a value indicating the InputDeviceType of this InputDevice. /// public InputDeviceType DeviceType { get { return InputDeviceType.Mouse; } } #endregion #endregion #region --- Public Members --- #region public int NumberOfButtons /// /// Gets an integer representing the number of buttons on this MouseDevice. /// public int NumberOfButtons { get { return numButtons; } internal set { numButtons = value; } } #endregion #region public int NumberOfWheels /// /// Gets an integer representing the number of wheels on this MouseDevice. /// public int NumberOfWheels { get { return numWheels; } internal set { numWheels = value; } } #endregion #region public IntPtr DeviceID /// /// Gets an IntPtr representing a device dependent ID. /// public IntPtr DeviceID { get { return id; } internal set { id = value; } } #endregion #region public int Wheel /// /// Gets the absolute wheel position in integer units. /// To support high-precision mice, it is recommended to use instead. /// public int Wheel { get { return (int)Math.Round(wheel, MidpointRounding.AwayFromZero); } internal set { WheelPrecise = value; } } /// /// Gets the absolute wheel position in floating-point units. /// public float WheelPrecise { get { return wheel; } internal set { wheel = value; wheel_args.X = pos.X; wheel_args.Y = pos.Y; wheel_args.ValuePrecise = wheel; wheel_args.DeltaPrecise = wheel - last_wheel; WheelChanged(this, wheel_args); last_wheel = wheel; } } #endregion #region public int X /// /// Gets an integer representing the absolute x position of the pointer, in window pixel coordinates. /// public int X { get { return pos.X; } } #endregion #region public int Y /// /// Gets an integer representing the absolute y position of the pointer, in window pixel coordinates. /// public int Y { get { return pos.Y; } } #endregion #region public bool this[MouseButton b] /// /// Gets a System.Boolean indicating the state of the specified MouseButton. /// /// The MouseButton to check. /// True if the MouseButton is pressed, false otherwise. public bool this[MouseButton button] { get { return button_state[(int)button]; } internal set { bool previous_state = button_state[(int)button]; button_state[(int)button] = value; button_args.X = pos.X; button_args.Y = pos.Y; button_args.Button = button; button_args.IsPressed = value; if (value && !previous_state) ButtonDown(this, button_args); else if (!value && previous_state) ButtonUp(this, button_args); } } #endregion #endregion #region --- Internal Members --- #region internal Point Position /// /// Sets a System.Drawing.Point representing the absolute position of the pointer, in window pixel coordinates. /// internal Point Position { set { pos = value; move_args.X = pos.X; move_args.Y = pos.Y; move_args.XDelta = pos.X - last_pos.X; move_args.YDelta = pos.Y - last_pos.Y; Move(this, move_args); last_pos = pos; } } #endregion #endregion #region --- Events --- /// /// Occurs when the mouse's position is moved. /// public event EventHandler Move = delegate { }; /// /// Occurs when a button is pressed. /// public event EventHandler ButtonDown = delegate { }; /// /// Occurs when a button is released. /// public event EventHandler ButtonUp = delegate { }; /// /// Occurs when one of the mouse wheels is moved. /// public event EventHandler WheelChanged = delegate { }; #region --- Overrides --- /// /// Calculates the hash code for this instance. /// /// public override int GetHashCode() { return (int)(numButtons ^ numWheels ^ id.GetHashCode() ^ description.GetHashCode()); } /// /// Returns a that describes this instance. /// /// A that describes this instance. public override string ToString() { return String.Format("ID: {0} ({1}). Buttons: {2}, Wheels: {3}", DeviceID, Description, NumberOfButtons, NumberOfWheels); } #endregion #endregion #region COMPAT_REV1519 #if COMPAT_REV1519 #region public int WheelDelta /// /// Gets an integer representing the relative wheel movement. /// [Obsolete("WheelDelta is only defined for a single WheelChanged event. Use the OpenTK.Input.MouseWheelEventArgs::Delta property with the OpenTK.Input.MouseDevice::WheelChanged event.", false)] public int WheelDelta { get { int result = (int)Math.Round(wheel - wheel_last_accessed, MidpointRounding.AwayFromZero); wheel_last_accessed = (int)wheel; return result; } } #endregion #region public int XDelta /// /// Gets an integer representing the relative x movement of the pointer, in pixel coordinates. /// [Obsolete("XDelta is only defined for a single Move event. Use the OpenTK.Input.MouseMoveEventArgs::Delta property with the OpenTK.Input.MouseDevice::Move event.", false)] public int XDelta { get { int result = pos.X - pos_last_accessed.X; pos_last_accessed.X = pos.X; return result; } } #endregion #region public int YDelta /// /// Gets an integer representing the relative y movement of the pointer, in pixel coordinates. /// [Obsolete("YDelta is only defined for a single Move event. Use the OpenTK.Input.MouseMoveEventArgs::Delta property with the OpenTK.Input.MouseDevice::Move event.", false)] public int YDelta { get { int result = pos.Y - pos_last_accessed.Y; pos_last_accessed.Y = pos.Y; return result; } } #endregion #endif #endregion } #region Event Arguments /// /// Defines the event data for events. /// /// /// /// Do not cache instances of this type outside their event handler. /// If necessary, you can clone an instance using the /// constructor. /// /// public class MouseEventArgs : EventArgs { #region Fields int x, y; #endregion #region Constructors /// /// Constructs a new instance. /// public MouseEventArgs() { } /// /// Constructs a new instance. /// /// The X position. /// The Y position. public MouseEventArgs(int x, int y) { this.x = x; this.y = y; } /// /// Constructs a new instance. /// /// The instance to clone. public MouseEventArgs(MouseEventArgs args) : this(args.x, args.y) { } #endregion #region Public Members /// /// Gets the X position of the mouse for the event. /// public int X { get { return x; } internal set { x = value; } } /// /// Gets the Y position of the mouse for the event. /// public int Y { get { return y; } internal set { y = value; } } /// /// Gets a System.Drawing.Points representing the location of the mouse for the event. /// public Point Position { get { return new Point(x, y); } } #endregion } /// /// Defines the event data for events. /// /// /// /// Do not cache instances of this type outside their event handler. /// If necessary, you can clone an instance using the /// constructor. /// /// public class MouseMoveEventArgs : MouseEventArgs { #region Fields int x_delta, y_delta; #endregion #region Constructors /// /// Constructs a new instance. /// public MouseMoveEventArgs() { } /// /// Constructs a new instance. /// /// The X position. /// The Y position. /// The change in X position produced by this event. /// The change in Y position produced by this event. public MouseMoveEventArgs(int x, int y, int xDelta, int yDelta) : base(x, y) { XDelta = xDelta; YDelta = yDelta; } /// /// Constructs a new instance. /// /// The instance to clone. public MouseMoveEventArgs(MouseMoveEventArgs args) : this(args.X, args.Y, args.XDelta, args.YDelta) { } #endregion #region Public Members /// /// Gets the change in X position produced by this event. /// public int XDelta { get { return x_delta; } internal set { x_delta = value; } } /// /// Gets the change in Y position produced by this event. /// public int YDelta { get { return y_delta; } internal set { y_delta = value; } } #endregion } /// /// Defines the event data for and events. /// /// /// /// Do not cache instances of this type outside their event handler. /// If necessary, you can clone an instance using the /// constructor. /// /// public class MouseButtonEventArgs : MouseEventArgs { #region Fields MouseButton button; bool pressed; #endregion #region Constructors /// /// Constructs a new instance. /// public MouseButtonEventArgs() { } /// /// Constructs a new instance. /// /// The X position. /// The Y position. /// The mouse button for the event. /// The current state of the button. public MouseButtonEventArgs(int x, int y, MouseButton button, bool pressed) : base(x, y) { this.button = button; this.pressed = pressed; } /// /// Constructs a new instance. /// /// The instance to clone. public MouseButtonEventArgs(MouseButtonEventArgs args) : this(args.X, args.Y, args.Button, args.IsPressed) { } #endregion #region Public Members /// /// The mouse button for the event. /// public MouseButton Button { get { return button; } internal set { button = value; } } /// /// Gets a System.Boolean representing the state of the mouse button for the event. /// public bool IsPressed { get { return pressed; } internal set { pressed = value; } } #endregion } /// /// Defines the event data for events. /// /// /// /// Do not cache instances of this type outside their event handler. /// If necessary, you can clone an instance using the /// constructor. /// /// public class MouseWheelEventArgs : MouseEventArgs { #region Fields float value; float delta; #endregion #region Constructors /// /// Constructs a new instance. /// public MouseWheelEventArgs() { } /// /// Constructs a new instance. /// /// The X position. /// The Y position. /// The value of the wheel. /// The change in value of the wheel for this event. public MouseWheelEventArgs(int x, int y, int value, int delta) : base(x, y) { this.value = value; this.delta = delta; } /// /// Constructs a new instance. /// /// The instance to clone. public MouseWheelEventArgs(MouseWheelEventArgs args) : this(args.X, args.Y, args.Value, args.Delta) { } #endregion #region Public Members /// /// Gets the value of the wheel in integer units. /// To support high-precision mice, it is recommended to use instead. /// public int Value { get { return (int)Math.Round(value, MidpointRounding.AwayFromZero); } } /// /// Gets the change in value of the wheel for this event in integer units. /// To support high-precision mice, it is recommended to use instead. /// public int Delta { get { return (int)Math.Round(delta, MidpointRounding.AwayFromZero); } } /// /// Gets the precise value of the wheel in floating-point units. /// public float ValuePrecise { get { return value; } internal set { this.value = value; } } /// /// Gets the precise change in value of the wheel for this event in floating-point units. /// public float DeltaPrecise { get { return delta; } internal set { delta = value; } } #endregion } #endregion } opentk-1.0.20101006/Source/OpenTK/Input/Key.cs0000664000175000017500000002675211453131422017334 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion namespace OpenTK.Input { /// /// The available keyboard keys. /// public enum Key : int { /// A key outside the known keys. Unknown = 0, // Modifiers /// The left shift key. ShiftLeft, /// The left shift key (equivalent to ShiftLeft). LShift = ShiftLeft, /// The right shift key. ShiftRight, /// The right shift key (equivalent to ShiftRight). RShift = ShiftRight, /// The left control key. ControlLeft, /// The left control key (equivalent to ControlLeft). LControl = ControlLeft, /// The right control key. ControlRight, /// The right control key (equivalent to ControlRight). RControl = ControlRight, /// The left alt key. AltLeft, /// The left alt key (equivalent to AltLeft. LAlt = AltLeft, /// The right alt key. AltRight, /// The right alt key (equivalent to AltRight). RAlt = AltRight, /// The left win key. WinLeft, /// The left win key (equivalent to WinLeft). LWin = WinLeft, /// The right win key. WinRight, /// The right win key (equivalent to WinRight). RWin = WinRight, /// The menu key. Menu, // Function keys (hopefully enough for most keyboards - mine has 26) // on X11 reports up to 35 function keys. /// The F1 key. F1, /// The F2 key. F2, /// The F3 key. F3, /// The F4 key. F4, /// The F5 key. F5, /// The F6 key. F6, /// The F7 key. F7, /// The F8 key. F8, /// The F9 key. F9, /// The F10 key. F10, /// The F11 key. F11, /// The F12 key. F12, /// The F13 key. F13, /// The F14 key. F14, /// The F15 key. F15, /// The F16 key. F16, /// The F17 key. F17, /// The F18 key. F18, /// The F19 key. F19, /// The F20 key. F20, /// The F21 key. F21, /// The F22 key. F22, /// The F23 key. F23, /// The F24 key. F24, /// The F25 key. F25, /// The F26 key. F26, /// The F27 key. F27, /// The F28 key. F28, /// The F29 key. F29, /// The F30 key. F30, /// The F31 key. F31, /// The F32 key. F32, /// The F33 key. F33, /// The F34 key. F34, /// The F35 key. F35, // Direction arrows /// The up arrow key. Up, /// The down arrow key. Down, /// The left arrow key. Left, /// The right arrow key. Right, /// The enter key. Enter, /// The escape key. Escape, /// The space key. Space, /// The tab key. Tab, /// The backspace key. BackSpace, /// The backspace key (equivalent to BackSpace). Back = BackSpace, /// The insert key. Insert, /// The delete key. Delete, /// The page up key. PageUp, /// The page down key. PageDown, /// The home key. Home, /// The end key. End, /// The caps lock key. CapsLock, /// The scroll lock key. ScrollLock, /// The print screen key. PrintScreen, /// The pause key. Pause, /// The num lock key. NumLock, // Special keys /// The clear key (Keypad5 with NumLock disabled, on typical keyboards). Clear, /// The sleep key. Sleep, /*LogOff, Help, Undo, Redo, New, Open, Close, Reply, Forward, Send, Spell, Save, Calculator, // Folders and applications Documents, Pictures, Music, MediaPlayer, Mail, Browser, Messenger, // Multimedia keys Mute, PlayPause, Stop, VolumeUp, VolumeDown, TrackPrevious, TrackNext,*/ // Keypad keys /// The keypad 0 key. Keypad0, /// The keypad 1 key. Keypad1, /// The keypad 2 key. Keypad2, /// The keypad 3 key. Keypad3, /// The keypad 4 key. Keypad4, /// The keypad 5 key. Keypad5, /// The keypad 6 key. Keypad6, /// The keypad 7 key. Keypad7, /// The keypad 8 key. Keypad8, /// The keypad 9 key. Keypad9, /// The keypad divide key. KeypadDivide, /// The keypad multiply key. KeypadMultiply, /// The keypad subtract key. KeypadSubtract, /// The keypad minus key (equivalent to KeypadSubtract). KeypadMinus = KeypadSubtract, /// The keypad add key. KeypadAdd, /// The keypad plus key (equivalent to KeypadAdd). KeypadPlus = KeypadAdd, /// The keypad decimal key. KeypadDecimal, /// The keypad enter key. KeypadEnter, // Letters /// The A key. A, /// The B key. B, /// The C key. C, /// The D key. D, /// The E key. E, /// The F key. F, /// The G key. G, /// The H key. H, /// The I key. I, /// The J key. J, /// The K key. K, /// The L key. L, /// The M key. M, /// The N key. N, /// The O key. O, /// The P key. P, /// The Q key. Q, /// The R key. R, /// The S key. S, /// The T key. T, /// The U key. U, /// The V key. V, /// The W key. W, /// The X key. X, /// The Y key. Y, /// The Z key. Z, // Numbers /// The number 0 key. Number0, /// The number 1 key. Number1, /// The number 2 key. Number2, /// The number 3 key. Number3, /// The number 4 key. Number4, /// The number 5 key. Number5, /// The number 6 key. Number6, /// The number 7 key. Number7, /// The number 8 key. Number8, /// The number 9 key. Number9, // Symbols /// The tilde key. Tilde, /// The minus key. Minus, //Equal, /// The plus key. Plus, /// The left bracket key. BracketLeft, /// The left bracket key (equivalent to BracketLeft). LBracket = BracketLeft, /// The right bracket key. BracketRight, /// The right bracket key (equivalent to BracketRight). RBracket = BracketRight, /// The semicolon key. Semicolon, /// The quote key. Quote, /// The comma key. Comma, /// The period key. Period, /// The slash key. Slash, /// The backslash key. BackSlash, /// Indicates the last available keyboard key. LastKey } }opentk-1.0.20101006/Source/OpenTK/Input/InputDriver.cs0000664000175000017500000000653211453131422021051 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Input; using OpenTK.Platform; namespace OpenTK { internal class InputDriver : IInputDriver { private IInputDriver inputDriver; #region --- Constructors --- public InputDriver(GameWindow parent) { if (parent == null) throw new ArgumentException("A valid window (IWindowInfo) must be specified to construct an InputDriver"); switch (Environment.OSVersion.Platform) { case PlatformID.Win32Windows: case PlatformID.Win32NT: case PlatformID.Win32S: case PlatformID.WinCE: if (Environment.OSVersion.Version.Major > 5 || (Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1)) { inputDriver = new OpenTK.Platform.Windows.WinRawInput((OpenTK.Platform.Windows.WinWindowInfo)parent.WindowInfo); } else { // Legacy or unknown windows version: inputDriver = new OpenTK.Platform.Windows.WMInput((OpenTK.Platform.Windows.WinWindowInfo)parent.WindowInfo); } break; case PlatformID.Unix: // TODO: Input is currently handled asychronously by the driver in X11GLNative. //inputDriver = new OpenTK.Platform.X11.X11Input(parent.WindowInfo); break; default: throw new PlatformNotSupportedException( "Input handling is not supported on the current platform. Please report the problem to http://opentk.sourceforge.net"); } } #endregion #region --- IInputDriver Members --- public void Poll() { inputDriver.Poll(); } #endregion #region --- IKeyboardDriver Members --- public IList Keyboard { get { return inputDriver.Keyboard; } } #endregion #region --- IMouseDriver Members --- public IList Mouse { get { return inputDriver.Mouse; } } #endregion #region --- IJoystickDriver Members --- public IList Joysticks { get { return inputDriver.Joysticks; } } #endregion #region --- IDisposable Members --- private bool disposed; public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) { inputDriver.Dispose(); } disposed = true; } } ~InputDriver() { this.Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/Mouse.cs0000664000175000017500000000424611453131422017666 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Provides access to mouse devices. Note: this API is not implemented yet. /// public static class Mouse { #region Fields //static IMouseDriver driver; #endregion #region Constructors static Mouse() { } #endregion #region Public Members /// /// Retrieves the MouseState for the specified mouse device. /// /// The index of the mouse device. /// A structure containing the state of the mouse device. public static MouseState GetState(int index) { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/KeyboardKeyEventArgs.cs0000664000175000017500000000520511453131422022622 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines the event data for events. /// /// /// /// Do not cache instances of this type outside their event handler. /// If necessary, you can clone a KeyboardEventArgs instance using the /// constructor. /// /// public class KeyboardKeyEventArgs : EventArgs { #region Fields Key key; #endregion #region Constructors /// /// Constructs a new KeyboardEventArgs instance. /// public KeyboardKeyEventArgs() { } /// /// Constructs a new KeyboardEventArgs instance. /// /// An existing KeyboardEventArgs instance to clone. public KeyboardKeyEventArgs(KeyboardKeyEventArgs args) { Key = args.Key; } #endregion #region Public Members /// /// Gets the that generated this event. /// public Key Key { get { return key; } internal set { key = value; } } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/IKeyboardDriver.cs0000664000175000017500000000103611453131422021615 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Defines the interface for KeyboardDevice drivers. /// public interface IKeyboardDriver { /// /// Gets the list of available KeyboardDevices. /// IList Keyboard { get; } } } opentk-1.0.20101006/Source/OpenTK/Input/MouseState.cs0000664000175000017500000000406611453131422020667 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Input { /// /// Encapsulates the state of a mouse device. /// public struct MouseState : IEquatable { #region Constructors internal MouseState(MouseButton[] buttons) { } #endregion #region IEquatable Members /// /// Compares two MouseState instances for equality. /// /// The instance to compare to. /// True, if both instances are equal; false otherwise. public bool Equals(MouseState other) { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Input/GamePad.cs0000664000175000017500000000312611453131422020070 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; namespace OpenTK.Input { /// /// Provides access to GamePad devices. Note: this API is not implemented yet. /// public class GamePad { #region Constructors static GamePad() { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/INativeWindow.cs0000664000175000017500000002211411453131424020222 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Drawing; using OpenTK.Platform; using System.ComponentModel; namespace OpenTK { /// /// Defines the interface for a native window. /// public interface INativeWindow : IDisposable { /// /// Gets or sets the of the window. /// Icon Icon { get; set; } /// /// Gets or sets the title of the window. /// string Title { get; set; } /// /// Gets a System.Boolean that indicates whether this window has input focus. /// bool Focused { get; } /// /// Gets or sets a System.Boolean that indicates whether the window is visible. /// bool Visible { get; set; } /// /// Gets a System.Boolean that indicates whether the window has been created and has not been destroyed. /// bool Exists { get; } /// /// Gets the for this window. /// IWindowInfo WindowInfo { get; } /// /// Gets or sets the for this window. /// WindowState WindowState { get; set; } /// /// Gets or sets the for this window. /// WindowBorder WindowBorder { get; set; } /// /// Gets or sets a structure the contains the external bounds of this window, in screen coordinates. /// External bounds include the title bar, borders and drawing area of the window. /// Rectangle Bounds { get; set; } /// /// Gets or sets a structure that contains the location of this window on the desktop. /// Point Location { get; set; } /// /// Gets or sets a structure that contains the external size of this window. /// Size Size { get; set; } /// /// Gets or sets the horizontal location of this window on the desktop. /// int X { get; set; } /// /// Gets or sets the vertical location of this window on the desktop. /// int Y { get; set; } /// /// Gets or sets the external width of this window. /// int Width { get; set; } /// /// Gets or sets the external height of this window. /// int Height { get; set; } /// /// Gets or sets a structure that contains the internal bounds of this window, in client coordinates. /// The internal bounds include the drawing area of the window, but exclude the titlebar and window borders. /// Rectangle ClientRectangle { get; set; } /// /// Gets or sets a structure that contains the internal size this window. /// Size ClientSize { get; set; } /// /// This property is deprecated and should not be used. /// [Obsolete] OpenTK.Input.IInputDriver InputDriver { get; } /// /// Closes this window. /// void Close(); /// /// Processes pending window events. /// void ProcessEvents(); /// /// Transforms the specified point from screen to client coordinates. /// /// /// A to transform. /// /// /// The point transformed to client coordinates. /// Point PointToClient(Point point); /// /// Transforms the specified point from client to screen coordinates. /// /// /// A to transform. /// /// /// The point transformed to screen coordinates. /// Point PointToScreen(Point point); /// /// Occurs whenever the window is moved. /// event EventHandler Move; /// /// Occurs whenever the window is resized. /// event EventHandler Resize; /// /// Occurs when the window is about to close. /// event EventHandler Closing; /// /// Occurs after the window has closed. /// event EventHandler Closed; /// /// Occurs when the window is disposed. /// event EventHandler Disposed; /// /// Occurs when the property of the window changes. /// event EventHandler IconChanged; /// /// Occurs when the property of the window changes. /// event EventHandler TitleChanged; /// /// Occurs when the property of the window changes. /// event EventHandler VisibleChanged; /// /// Occurs when the property of the window changes. /// event EventHandler FocusedChanged; /// /// Occurs when the property of the window changes. /// event EventHandler WindowBorderChanged; /// /// Occurs when the property of the window changes. /// event EventHandler WindowStateChanged; /// /// Occurs whenever a character is typed. /// event EventHandler KeyPress; /// /// Occurs whenever the mouse cursor leaves the window . /// event EventHandler MouseLeave; /// /// Occurs whenever the mouse cursor enters the window . /// event EventHandler MouseEnter; //event EventHandler MouseMove; //event EventHandler MouseWheel; //event EventHandler MouseDown; //event EventHandler MouseUp; //event EventHandler MouseClick; //event EventHandler MouseDoubleClick; //event EventHandler KeyDown; //event EventHandler KeyUp; //event EventHandler DragDrop; //event EventHandler DragEnter; //event EventHandler DragOver; //event EventHandler DragLeave; } } opentk-1.0.20101006/Source/OpenTK/WindowBorder.cs0000664000175000017500000000141511453131424020101 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Enumerates available window borders. /// public enum WindowBorder { /// /// The window has a resizable border. A window with a resizable border can be resized by the user or programmatically. /// Resizable = 0, /// /// The window has a fixed border. A window with a fixed border can only be resized programmatically. /// Fixed, /// /// The window does not have a border. A window with a hidden border can only be resized programmatically. /// Hidden } } opentk-1.0.20101006/Source/OpenTK/Toolkit.cs0000664000175000017500000000501211453131424017116 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Provides static methods to manage an OpenTK application. /// public sealed class Toolkit { #region Constructors Toolkit() { } #endregion #region Public Members /// /// Initializes OpenTK. This method is necessary only if you are using OpenTK /// alongside a different windowing toolkit (e.g. GTK#) and should be the very /// first method called by your application (i.e. calling this method should be /// the very first statement executed by the "Main" method). /// /// /// Some windowing toolkits do not configure the underlying platform /// correctly or configure it in a way that is incompatible with OpenTK. /// Calling this method first ensures that OpenTK is given the chance to /// initialize itself and configure the platform correctly. /// public static void Init() { // The actual initialization takes place in the platform-specific factory // constructors. new Platform.Factory(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/KeyPressEventArgs.cs0000664000175000017500000000426511453131424021066 0ustar laneylaney// #region License // // // // The Open Toolkit Library License // // // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // // // Permission is hereby granted, free of charge, to any person obtaining a copy // // of this software and associated documentation files (the "Software"), to deal // // in the Software without restriction, including without limitation the rights to // // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // // the Software, and to permit persons to whom the Software is furnished to do // // so, subject to the following conditions: // // // // The above copyright notice and this permission notice shall be included in all // // copies or substantial portions of the Software. // // // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // // OTHER DEALINGS IN THE SOFTWARE. // // // #endregion using System; namespace OpenTK { /// /// Defines the event arguments for KeyPress events. Instances of this class are cached: /// KeyPressEventArgs should only be used inside the relevant event, unless manually cloned. /// public class KeyPressEventArgs : EventArgs { char key_char; /// /// Constructs a new instance. /// /// The ASCII character that was typed. public KeyPressEventArgs(char keyChar) { KeyChar = keyChar; } /// /// Gets a that defines the ASCII character that was typed. /// public char KeyChar { get { return key_char; } internal set { key_char = value; } } } } opentk-1.0.20101006/Source/OpenTK/WindowState.cs0000664000175000017500000000205111453131424017741 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Enumerates available window states. /// public enum WindowState { /// /// The window is in its normal state. /// Normal = 0, /// /// The window is minimized to the taskbar (also known as 'iconified'). /// Minimized, /// /// The window covers the whole working area, which includes the desktop but not the taskbar and/or panels. /// Maximized, /// /// The window covers the whole screen, including all taskbars and/or panels. /// Fullscreen } } opentk-1.0.20101006/Source/OpenTK/AutoGeneratedAttribute.cs0000664000175000017500000000414211453131424022107 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Indicates that this function is generated automatically by a tool. /// public sealed class AutoGeneratedAttribute : Attribute { /// /// Specifies the category of this OpenGL function. /// public string Category; /// /// Specifies the version of this OpenGL function. /// public string Version; /// /// Specifies the entry point of the OpenGL function. /// public string EntryPoint; /// /// Constructs a new AutoGeneratedAttribute instance. /// public AutoGeneratedAttribute() { } } } opentk-1.0.20101006/Source/OpenTK/Math/0000775000175000017500000000000011453142154016037 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Math/Vector4h.cs0000664000175000017500000003723611453131422020073 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Xml.Serialization; namespace OpenTK { /// /// 4-component Vector of the Half type. Occupies 8 Byte total. /// [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector4h : ISerializable, IEquatable { #region Public Fields /// The X component of the Half4. public Half X; /// The Y component of the Half4. public Half Y; /// The Z component of the Half4. public Half Z; /// The W component of the Half4. public Half W; #endregion Public Fields #region Constructors /// /// The new Half4 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector4h(Half x, Half y, Half z, Half w) { this.X = x; this.Y = y; this.Z = z; this.W = w; } /// /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector4h(Single x, Single y, Single z, Single w) { X = new Half(x); Y = new Half(y); Z = new Half(z); W = new Half(w); } /// /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(Single x, Single y, Single z, Single w, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); Z = new Half(z, throwOnError); W = new Half(w, throwOnError); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 [CLSCompliant(false)] public Vector4h(Vector4 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector4h(Vector4 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector4 public Vector4h(ref Vector4 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point. /// /// OpenTK.Vector4 /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(ref Vector4 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d public Vector4h(Vector4d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d /// Enable checks that will throw if the conversion result is not meaningful. public Vector4h(Vector4d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector4d [CLSCompliant(false)] public Vector4h(ref Vector4d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); W = new Half(v.W); } /// /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point. /// /// OpenTK.Vector4d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector4h(ref Vector4d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); W = new Half(v.W, throwOnError); } #endregion Constructors #region Swizzle /// /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. /// [XmlIgnore] public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3h with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3h Xyz { get { return new Vector3h(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Half -> Single /// /// Returns this Half4 instance's contents as Vector4. /// /// OpenTK.Vector4 public Vector4 ToVector4() { return new Vector4(X, Y, Z, W); } /// /// Returns this Half4 instance's contents as Vector4d. /// public Vector4d ToVector4d() { return new Vector4d(X, Y, Z, W); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector4 to OpenTK.Half4. /// The Vector4 to convert. /// The resulting Half vector. public static explicit operator Vector4h(Vector4 v4f) { return new Vector4h(v4f); } /// Converts OpenTK.Vector4d to OpenTK.Half4. /// The Vector4d to convert. /// The resulting Half vector. public static explicit operator Vector4h(Vector4d v4d) { return new Vector4h(v4d); } /// Converts OpenTK.Half4 to OpenTK.Vector4. /// The Half4 to convert. /// The resulting Vector4. public static explicit operator Vector4(Vector4h h4) { Vector4 result = new Vector4(); result.X = h4.X.ToSingle(); result.Y = h4.Y.ToSingle(); result.Z = h4.Z.ToSingle(); result.W = h4.W.ToSingle(); return result; } /// Converts OpenTK.Half4 to OpenTK.Vector4d. /// The Half4 to convert. /// The resulting Vector4d. public static explicit operator Vector4d(Vector4h h4) { Vector4d result = new Vector4d(); result.X = h4.X.ToSingle(); result.Y = h4.Y.ToSingle(); result.Z = h4.Z.ToSingle(); result.W = h4.W.ToSingle(); return result; } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half4 struct is 8. public static readonly int SizeInBytes = 8; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector4h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); this.Z = (Half)info.GetValue("Z", typeof(Half)); this.W = (Half)info.GetValue("W", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); info.AddValue("Z", this.Z); info.AddValue("W", this.W); } #endregion ISerializable #region Binary dump /// Updates the X,Y,Z and W components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); Z.FromBinaryStream(bin); W.FromBinaryStream(bin); } /// Writes the X,Y,Z and W components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); Z.ToBinaryStream(bin); W.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half4 vector. /// OpenTK.Half4 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector4h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z) && this.W.Equals(other.W)); } #endregion #region ToString() /// Returns a string that contains this Half4's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X.ToString(), Y.ToString(), Z.ToString(), W.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half4 as an array of bytes. /// The Half4 to convert. /// The input as byte array. public static byte[] GetBytes(Vector4h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; temp = Half.GetBytes(h.Z); result[4] = temp[0]; result[5] = temp[1]; temp = Half.GetBytes(h.W); result[6] = temp[0]; result[7] = temp[1]; return result; } /// Converts an array of bytes into Half4. /// A Half4 in it's byte[] representation. /// The starting position within value. /// A new Half4 instance. public static Vector4h FromBytes(byte[] value, int startIndex) { Vector4h h4 = new Vector4h(); h4.X = Half.FromBytes(value, startIndex); h4.Y = Half.FromBytes(value, startIndex + 2); h4.Z = Half.FromBytes(value, startIndex + 4); h4.W = Half.FromBytes(value, startIndex + 6); return h4; } #endregion BitConverter } } opentk-1.0.20101006/Source/OpenTK/Math/Half.cs0000664000175000017500000005642011453131422017243 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* The conversion functions are derived from OpenEXR's implementation and are governed by the following license: Copyright (c) 2002, Industrial Light & Magic, a division of Lucas Digital Ltd. LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Industrial Light & Magic nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #endregion --- License --- using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; namespace OpenTK { /// /// The name Half is derived from half-precision floating-point number. /// It occupies only 16 bits, which are split into 1 Sign bit, 5 Exponent bits and 10 Mantissa bits. /// /// /// Quote from ARB_half_float_pixel specification: /// Any representable 16-bit floating-point value is legal as input to a GL command that accepts 16-bit floating-point data. The /// result of providing a value that is not a floating-point number (such as infinity or NaN) to such a command is unspecified, /// but must not lead to GL interruption or termination. Providing a denormalized number or negative zero to GL must yield /// predictable results. /// [Serializable, StructLayout(LayoutKind.Sequential)] public struct Half : ISerializable, IComparable, IFormattable, IEquatable { #region Internal Field UInt16 bits; #endregion Internal Field #region Properties /// Returns true if the Half is zero. public bool IsZero { get { return (bits == 0) || (bits == 0x8000); } } /// Returns true if the Half represents Not A Number (NaN) public bool IsNaN { get { return (((bits & 0x7C00) == 0x7C00) && (bits & 0x03FF) != 0x0000); } } /// Returns true if the Half represents positive infinity. public bool IsPositiveInfinity { get { return (bits == 31744); } } /// Returns true if the Half represents negative infinity. public bool IsNegativeInfinity { get { return (bits == 64512); } } #endregion Properties #region Constructors /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. public Half(Single f) : this() { unsafe { bits = SingleToHalf(*(int*)&f); } } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Half(Single f, bool throwOnError) : this(f) { if (throwOnError) { // handle cases that cause overflow rather than silently ignoring it if (f > Half.MaxValue) throw new ArithmeticException("Half: Positive maximum value exceeded."); if (f < -Half.MaxValue) throw new ArithmeticException("Half: Negative minimum value exceeded."); // handle cases that make no sense if (Single.IsNaN(f)) throw new ArithmeticException("Half: Input is not a number (NaN)."); if (Single.IsPositiveInfinity(f)) throw new ArithmeticException("Half: Input is positive infinity."); if (Single.IsNegativeInfinity(f)) throw new ArithmeticException("Half: Input is negative infinity."); } } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 64-bit double-precision floating-point number. public Half(Double d) : this((Single)d) { } /// /// The new Half instance will convert the parameter into 16-bit half-precision floating-point. /// /// 64-bit double-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Half(Double d, bool throwOnError) : this((Single)d, throwOnError) { } #endregion Constructors #region Single -> Half /// Ported from OpenEXR's IlmBase 1.0.1 private UInt16 SingleToHalf(Int32 si32) { // Our floating point number, F, is represented by the bit pattern in integer i. // Disassemble that bit pattern into the sign, S, the exponent, E, and the significand, M. // Shift S into the position where it will go in in the resulting half number. // Adjust E, accounting for the different exponent bias of float and half (127 versus 15). Int32 sign = (si32 >> 16) & 0x00008000; Int32 exponent = ((si32 >> 23) & 0x000000ff) - (127 - 15); Int32 mantissa = si32 & 0x007fffff; // Now reassemble S, E and M into a half: if (exponent <= 0) { if (exponent < -10) { // E is less than -10. The absolute value of F is less than Half.MinValue // (F may be a small normalized float, a denormalized float or a zero). // // We convert F to a half zero with the same sign as F. return (UInt16)sign; } // E is between -10 and 0. F is a normalized float whose magnitude is less than Half.MinNormalizedValue. // // We convert F to a denormalized half. // Add an explicit leading 1 to the significand. mantissa = mantissa | 0x00800000; // Round to M to the nearest (10+E)-bit value (with E between -10 and 0); in case of a tie, round to the nearest even value. // // Rounding may cause the significand to overflow and make our number normalized. Because of the way a half's bits // are laid out, we don't have to treat this case separately; the code below will handle it correctly. Int32 t = 14 - exponent; Int32 a = (1 << (t - 1)) - 1; Int32 b = (mantissa >> t) & 1; mantissa = (mantissa + a + b) >> t; // Assemble the half from S, E (==zero) and M. return (UInt16)(sign | mantissa); } else if (exponent == 0xff - (127 - 15)) { if (mantissa == 0) { // F is an infinity; convert F to a half infinity with the same sign as F. return (UInt16)(sign | 0x7c00); } else { // F is a NAN; we produce a half NAN that preserves the sign bit and the 10 leftmost bits of the // significand of F, with one exception: If the 10 leftmost bits are all zero, the NAN would turn // into an infinity, so we have to set at least one bit in the significand. mantissa >>= 13; return (UInt16)(sign | 0x7c00 | mantissa | ((mantissa == 0) ? 1 : 0)); } } else { // E is greater than zero. F is a normalized float. We try to convert F to a normalized half. // Round to M to the nearest 10-bit value. In case of a tie, round to the nearest even value. mantissa = mantissa + 0x00000fff + ((mantissa >> 13) & 1); if ((mantissa & 0x00800000) == 1) { mantissa = 0; // overflow in significand, exponent += 1; // adjust exponent } // exponent overflow if (exponent > 30) throw new ArithmeticException("Half: Hardware floating-point overflow."); // Assemble the half from S, E and M. return (UInt16)(sign | (exponent << 10) | (mantissa >> 13)); } } #endregion Single -> Half #region Half -> Single /// Converts the 16-bit half to 32-bit floating-point. /// A single-precision floating-point number. public Single ToSingle() { int i = HalfToFloat(bits); unsafe { return *(float*)&i; } } /// Ported from OpenEXR's IlmBase 1.0.1 private Int32 HalfToFloat(UInt16 ui16) { Int32 sign = (ui16 >> 15) & 0x00000001; Int32 exponent = (ui16 >> 10) & 0x0000001f; Int32 mantissa = ui16 & 0x000003ff; if (exponent == 0) { if (mantissa == 0) { // Plus or minus zero return sign << 31; } else { // Denormalized number -- renormalize it while ((mantissa & 0x00000400) == 0) { mantissa <<= 1; exponent -= 1; } exponent += 1; mantissa &= ~0x00000400; } } else if (exponent == 31) { if (mantissa == 0) { // Positive or negative infinity return (sign << 31) | 0x7f800000; } else { // Nan -- preserve sign and significand bits return (sign << 31) | 0x7f800000 | (mantissa << 13); } } // Normalized number exponent = exponent + (127 - 15); mantissa = mantissa << 13; // Assemble S, E and M. return (sign << 31) | (exponent << 23) | mantissa; } #endregion Half -> Single #region Conversions /// /// Converts a System.Single to a OpenTK.Half. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static explicit operator Half(float f) { return new Half(f); } /// /// Converts a System.Double to a OpenTK.Half. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static explicit operator Half(double d) { return new Half(d); } /// /// Converts a OpenTK.Half to a System.Single. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static implicit operator float(Half h) { return h.ToSingle(); } /// /// Converts a OpenTK.Half to a System.Double. /// /// The value to convert. /// A /// /// The result of the conversion. /// A /// public static implicit operator double(Half h) { return (double)h.ToSingle(); } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half struct. public static readonly Int32 SizeInBytes = 2; /// Smallest positive half public static readonly Single MinValue = 5.96046448e-08f; /// Smallest positive normalized half public static readonly Single MinNormalizedValue = 6.10351562e-05f; /// Largest positive half public static readonly Single MaxValue = 65504.0f; /// Smallest positive e for which half (1.0 + e) != half (1.0) public static readonly Single Epsilon = 0.00097656f; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Half(SerializationInfo info, StreamingContext context) { this.bits = (ushort)info.GetValue("bits", typeof(ushort)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("bits", this.bits); } #endregion ISerializable #region Binary dump /// Updates the Half by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { this.bits = bin.ReadUInt16(); } /// Writes the Half into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { bin.Write(this.bits); } #endregion Binary dump #region IEquatable Members const int maxUlps = 1; /// /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half value. /// /// OpenTK.Half object to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Half other) { short aInt, bInt; unchecked { aInt = (short)other.bits; } unchecked { bInt = (short)this.bits; } // Make aInt lexicographically ordered as a twos-complement int if (aInt < 0) aInt = (short)(0x8000 - aInt); // Make bInt lexicographically ordered as a twos-complement int if (bInt < 0) bInt = (short)(0x8000 - bInt); short intDiff = System.Math.Abs((short)(aInt - bInt)); if (intDiff <= maxUlps) return true; return false; } #endregion #region IComparable Members /// /// Compares this instance to a specified half-precision floating-point number /// and returns an integer that indicates whether the value of this instance /// is less than, equal to, or greater than the value of the specified half-precision /// floating-point number. /// /// A half-precision floating-point number to compare. /// /// A signed number indicating the relative values of this instance and value. If the number is: /// Less than zero, then this instance is less than other, or this instance is not a number /// (OpenTK.Half.NaN) and other is a number. /// Zero: this instance is equal to value, or both this instance and other /// are not a number (OpenTK.Half.NaN), OpenTK.Half.PositiveInfinity, or /// OpenTK.Half.NegativeInfinity. /// Greater than zero: this instance is greater than othrs, or this instance is a number /// and other is not a number (OpenTK.Half.NaN). /// public int CompareTo(Half other) { return ((float)this).CompareTo((float)other); } #endregion IComparable Members #region IFormattable Members /// Converts this Half into a human-legible string representation. /// The string representation of this instance. public override string ToString() { return this.ToSingle().ToString(); } /// Converts this Half into a human-legible string representation. /// Formatting for the output string. /// Culture-specific formatting information. /// The string representation of this instance. public string ToString(string format, IFormatProvider formatProvider) { return this.ToSingle().ToString(format, formatProvider); } #endregion IFormattable Members #region String -> Half /// Converts the string representation of a number to a half-precision floating-point equivalent. /// String representation of the number to convert. /// A new Half instance. public static Half Parse(string s) { return (Half)Single.Parse(s); } /// Converts the string representation of a number to a half-precision floating-point equivalent. /// String representation of the number to convert. /// Specifies the format of s. /// Culture-specific formatting information. /// A new Half instance. public static Half Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider) { return (Half)Single.Parse(s, style, provider); } /// Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. /// String representation of the number to convert. /// The Half instance to write to. /// Success. public static bool TryParse(string s, out Half result) { float f; bool b = Single.TryParse(s, out f); result = (Half)f; return b; } /// Converts the string representation of a number to a half-precision floating-point equivalent. Returns success. /// String representation of the number to convert. /// Specifies the format of s. /// Culture-specific formatting information. /// The Half instance to write to. /// Success. public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out Half result) { float f; bool b = Single.TryParse(s, style, provider, out f); result = (Half)f; return b; } #endregion String -> Half #region BitConverter /// Returns the Half as an array of bytes. /// The Half to convert. /// The input as byte array. public static byte[] GetBytes(Half h) { return BitConverter.GetBytes(h.bits); } /// Converts an array of bytes into Half. /// A Half in it's byte[] representation. /// The starting position within value. /// A new Half instance. public static Half FromBytes(byte[] value, int startIndex) { Half h; h.bits = BitConverter.ToUInt16(value, startIndex); return h; } #endregion BitConverter } }opentk-1.0.20101006/Source/OpenTK/Math/Vector3d.cs0000664000175000017500000014264111453131422020063 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK { /// /// Represents a 3D vector using three double-precision floating-point numbers. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector3d : IEquatable { #region Fields /// /// The X component of the Vector3. /// public double X; /// /// The Y component of the Vector3. /// public double Y; /// /// The Z component of the Vector3. /// public double Z; #endregion #region Constructors /// /// Constructs a new Vector3. /// /// The x component of the Vector3. /// The y component of the Vector3. /// The z component of the Vector3. public Vector3d(double x, double y, double z) { X = x; Y = y; Z = z; } /// /// Constructs a new instance from the given Vector2d. /// /// The Vector2d to copy components from. public Vector3d(Vector2d v) { X = v.X; Y = v.Y; Z = 0.0f; } /// /// Constructs a new instance from the given Vector3d. /// /// The Vector3d to copy components from. public Vector3d(Vector3d v) { X = v.X; Y = v.Y; Z = v.Z; } /// /// Constructs a new instance from the given Vector4d. /// /// The Vector4d to copy components from. public Vector3d(Vector4d v) { X = v.X; Y = v.Y; Z = v.Z; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector3d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector3d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector3d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector3d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(double f) { this.X *= f; this.Y *= f; this.Z *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; this.Z *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// /// public double Length { get { return System.Math.Sqrt(X * X + Y * Y + Z * Z); } } #endregion #region public double LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public double LengthFast { get { return 1.0 / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public double LengthSquared { get { return X * X + Y * Y + Z * Z; } } #endregion #region public void Normalize() /// /// Scales the Vector3d to unit length. /// public void Normalize() { double scale = 1.0 / this.Length; X *= scale; Y *= scale; Z *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector3d to approximately unit length. /// public void NormalizeFast() { double scale = MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); X *= scale; Y *= scale; Z *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector3d by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. [Obsolete("Use static Multiply() method instead.")] public void Scale(double sx, double sy, double sz) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector3d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector3d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector3d that points towards the X-axis. /// public static readonly Vector3d UnitX = new Vector3d(1, 0, 0); /// /// Defines a unit-length Vector3d that points towards the Y-axis. /// public static readonly Vector3d UnitY = new Vector3d(0, 1, 0); /// /// /// Defines a unit-length Vector3d that points towards the Z-axis. /// public static readonly Vector3d UnitZ = new Vector3d(0, 0, 1); /// /// Defines a zero-length Vector3. /// public static readonly Vector3d Zero = new Vector3d(0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector3d One = new Vector3d(1, 1, 1); /// /// Defines the size of the Vector3d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3d()); #endregion #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static Vector3d Sub(Vector3d a, Vector3d b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static void Sub(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static Vector3d Mult(Vector3d a, double f) { a.X *= f; a.Y *= f; a.Z *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static void Mult(ref Vector3d a, double f, out Vector3d result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static Vector3d Div(Vector3d a, double f) { double mult = 1.0 / f; a.X *= mult; a.Y *= mult; a.Z *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static void Div(ref Vector3d a, double f, out Vector3d result) { double mult = 1.0 / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector3d Add(Vector3d a, Vector3d b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector3d a, ref Vector3d b, out Vector3d result) { result = new Vector3d(a.X + b.X, a.Y + b.Y, a.Z + b.Z); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector3d Subtract(Vector3d a, Vector3d b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector3d a, ref Vector3d b, out Vector3d result) { result = new Vector3d(a.X - b.X, a.Y - b.Y, a.Z - b.Z); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3d Multiply(Vector3d vector, double scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector3d vector, double scale, out Vector3d result) { result = new Vector3d(vector.X * scale, vector.Y * scale, vector.Z * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3d Multiply(Vector3d vector, Vector3d scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector3d vector, ref Vector3d scale, out Vector3d result) { result = new Vector3d(vector.X * scale.X, vector.Y * scale.Y, vector.Z * scale.Z); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3d Divide(Vector3d vector, double scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector3d vector, double scale, out Vector3d result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3d Divide(Vector3d vector, Vector3d scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector3d vector, ref Vector3d scale, out Vector3d result) { result = new Vector3d(vector.X / scale.X, vector.Y / scale.Y, vector.Z / scale.Z); } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector3d ComponentMin(Vector3d a, Vector3d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector3d ComponentMax(Vector3d a, Vector3d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector3d a, ref Vector3d b, out Vector3d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; } #endregion #region Min /// /// Returns the Vector3d with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3d Min(Vector3d left, Vector3d right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3d with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3d Max(Vector3d left, Vector3d right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector3d Clamp(Vector3d vec, Vector3d min, Vector3d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector3d vec, ref Vector3d min, ref Vector3d max, out Vector3d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector3d Normalize(Vector3d vec) { double scale = 1.0 / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector3d vec, out Vector3d result) { double scale = 1.0 / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector3d NormalizeFast(Vector3d vec) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector3d vec, out Vector3d result) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector3d left, Vector3d right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector3d left, ref Vector3d right, out double result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z; } #endregion #region Cross /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs public static Vector3d Cross(Vector3d left, Vector3d right) { Vector3d result; Cross(ref left, ref right, out result); return result; } /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs /// The cross product of the two inputs public static void Cross(ref Vector3d left, ref Vector3d right, out Vector3d result) { result = new Vector3d(left.Y * right.Z - left.Z * right.Y, left.Z * right.X - left.X * right.Z, left.X * right.Y - left.Y * right.X); } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector3d Lerp(Vector3d a, Vector3d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector3d a, ref Vector3d b, double blend, out Vector3d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector3d BaryCentric(Vector3d a, Vector3d b, Vector3d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector3d a, ref Vector3d b, ref Vector3d c, double u, double v, out Vector3d result) { result = a; // copy Vector3d temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3d TransformVector(Vector3d vec, Matrix4d mat) { return new Vector3d( Vector3d.Dot(vec, new Vector3d(mat.Column0)), Vector3d.Dot(vec, new Vector3d(mat.Column1)), Vector3d.Dot(vec, new Vector3d(mat.Column2))); } /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformVector(ref Vector3d vec, ref Matrix4d mat, out Vector3d result) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z; } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static Vector3d TransformNormal(Vector3d norm, Matrix4d mat) { mat.Invert(); return TransformNormalInverse(norm, mat); } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static void TransformNormal(ref Vector3d norm, ref Matrix4d mat, out Vector3d result) { Matrix4d Inverse = Matrix4d.Invert(mat); Vector3d.TransformNormalInverse(ref norm, ref Inverse, out result); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static Vector3d TransformNormalInverse(Vector3d norm, Matrix4d invMat) { return new Vector3d( Vector3d.Dot(norm, new Vector3d(invMat.Row0)), Vector3d.Dot(norm, new Vector3d(invMat.Row1)), Vector3d.Dot(norm, new Vector3d(invMat.Row2))); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static void TransformNormalInverse(ref Vector3d norm, ref Matrix4d invMat, out Vector3d result) { result.X = norm.X * invMat.Row0.X + norm.Y * invMat.Row0.Y + norm.Z * invMat.Row0.Z; result.Y = norm.X * invMat.Row1.X + norm.Y * invMat.Row1.Y + norm.Z * invMat.Row1.Z; result.Z = norm.X * invMat.Row2.X + norm.Y * invMat.Row2.Y + norm.Z * invMat.Row2.Z; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static Vector3d TransformPosition(Vector3d pos, Matrix4d mat) { return new Vector3d( Vector3d.Dot(pos, new Vector3d(mat.Column0)) + mat.Row3.X, Vector3d.Dot(pos, new Vector3d(mat.Column1)) + mat.Row3.Y, Vector3d.Dot(pos, new Vector3d(mat.Column2)) + mat.Row3.Z); } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static void TransformPosition(ref Vector3d pos, ref Matrix4d mat, out Vector3d result) { result.X = pos.X * mat.Row0.X + pos.Y * mat.Row1.X + pos.Z * mat.Row2.X + mat.Row3.X; result.Y = pos.X * mat.Row0.Y + pos.Y * mat.Row1.Y + pos.Z * mat.Row2.Y + mat.Row3.Y; result.Z = pos.X * mat.Row0.Z + pos.Y * mat.Row1.Z + pos.Z * mat.Row2.Z + mat.Row3.Z; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3d Transform(Vector3d vec, Matrix4d mat) { Vector3d result; Transform(ref vec, ref mat, out result); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector3d vec, ref Matrix4d mat, out Vector3d result) { Vector4d v4 = new Vector4d(vec.X, vec.Y, vec.Z, 1.0); Vector4d.Transform(ref v4, ref mat, out v4); result = v4.Xyz; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector3d Transform(Vector3d vec, Quaterniond quat) { Vector3d result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector3d vec, ref Quaterniond quat, out Vector3d result) { // Since vec.W == 0, we can optimize quat * vec * quat^-1 as follows: // vec + 2.0 * cross(quat.xyz, cross(quat.xyz, vec) + quat.w * vec) Vector3d xyz = quat.Xyz, temp, temp2; Vector3d.Cross(ref xyz, ref vec, out temp); Vector3d.Multiply(ref vec, quat.W, out temp2); Vector3d.Add(ref temp, ref temp2, out temp); Vector3d.Cross(ref xyz, ref temp, out temp); Vector3d.Multiply(ref temp, 2, out temp); Vector3d.Add(ref vec, ref temp, out result); } /// /// Transform a Vector3d by the given Matrix, and project the resulting Vector4 back to a Vector3 /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3d TransformPerspective(Vector3d vec, Matrix4d mat) { Vector3d result; TransformPerspective(ref vec, ref mat, out result); return result; } /// Transform a Vector3d by the given Matrix, and project the resulting Vector4d back to a Vector3d /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformPerspective(ref Vector3d vec, ref Matrix4d mat, out Vector3d result) { Vector4d v = new Vector4d(vec); Vector4d.Transform(ref v, ref mat, out v); result.X = v.X / v.W; result.Y = v.Y / v.W; result.Z = v.Z / v.W; } #endregion #region CalculateAngle /// /// Calculates the angle (in radians) between two vectors. /// /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static double CalculateAngle(Vector3d first, Vector3d second) { return System.Math.Acos((Vector3d.Dot(first, second)) / (first.Length * second.Length)); } /// Calculates the angle (in radians) between two vectors. /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static void CalculateAngle(ref Vector3d first, ref Vector3d second, out double result) { double temp; Vector3d.Dot(ref first, ref second, out temp); result = System.Math.Acos(temp / (first.Length * second.Length)); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. /// [XmlIgnore] public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector3d operator +(Vector3d left, Vector3d right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector3d operator -(Vector3d left, Vector3d right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the calculation. public static Vector3d operator -(Vector3d vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector3d operator *(Vector3d vec, double scale) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Multiplies an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the calculation. public static Vector3d operator *(double scale, Vector3d vec) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector3d operator /(Vector3d vec, double scale) { double mult = 1 / scale; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; return vec; } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Vector3d left, Vector3d right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equa lright; false otherwise. public static bool operator !=(Vector3d left, Vector3d right) { return !left.Equals(right); } /// Converts OpenTK.Vector3 to OpenTK.Vector3d. /// The Vector3 to convert. /// The resulting Vector3d. public static explicit operator Vector3d(Vector3 v3) { return new Vector3d(v3.X, v3.Y, v3.Z); } /// Converts OpenTK.Vector3d to OpenTK.Vector3. /// The Vector3d to convert. /// The resulting Vector3. public static explicit operator Vector3(Vector3d v3d) { return new Vector3((float)v3d.X, (float)v3d.Y, (float)v3d.Z); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector3. /// /// public override string ToString() { return String.Format("({0}, {1}, {2})", X, Y, Z); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector3)) return false; return this.Equals((Vector3)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector3d other) { return X == other.X && Y == other.Y && Z == other.Z; } #endregion } }opentk-1.0.20101006/Source/OpenTK/Math/Quaterniond.cs0000664000175000017500000013607711453131422020671 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.ComponentModel; using System.Xml.Serialization; namespace OpenTK { /// /// Represents a double-precision Quaternion. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Quaterniond : IEquatable { #region Fields Vector3d xyz; double w; #endregion #region Constructors /// /// Construct a new Quaterniond from vector and w components /// /// The vector part /// The w part public Quaterniond(Vector3d v, double w) { this.xyz = v; this.w = w; } /// /// Construct a new Quaterniond /// /// The x component /// The y component /// The z component /// The w component public Quaterniond(double x, double y, double z, double w) : this(new Vector3d(x, y, z), w) { } #endregion #region Public Members #region Properties /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// [Obsolete("Use Xyz property instead.")] [CLSCompliant(false)] [EditorBrowsable(EditorBrowsableState.Never)] [XmlIgnore] public Vector3d XYZ { get { return Xyz; } set { Xyz = value; } } /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// public Vector3d Xyz { get { return xyz; } set { xyz = value; } } /// /// Gets or sets the X component of this instance. /// [XmlIgnore] public double X { get { return xyz.X; } set { xyz.X = value; } } /// /// Gets or sets the Y component of this instance. /// [XmlIgnore] public double Y { get { return xyz.Y; } set { xyz.Y = value; } } /// /// Gets or sets the Z component of this instance. /// [XmlIgnore] public double Z { get { return xyz.Z; } set { xyz.Z = value; } } /// /// Gets or sets the W component of this instance. /// public double W { get { return w; } set { w = value; } } #endregion #region Instance #region ToAxisAngle /// /// Convert the current quaternion to axis angle representation /// /// The resultant axis /// The resultant angle public void ToAxisAngle(out Vector3d axis, out double angle) { Vector4d result = ToAxisAngle(); axis = result.Xyz; angle = result.W; } /// /// Convert this instance to an axis-angle representation. /// /// A Vector4 that is the axis-angle representation of this quaternion. public Vector4d ToAxisAngle() { Quaterniond q = this; if (q.W > 1.0f) q.Normalize(); Vector4d result = new Vector4d(); result.W = 2.0f * (float)System.Math.Acos(q.W); // angle float den = (float)System.Math.Sqrt(1.0 - q.W * q.W); if (den > 0.0001f) { result.Xyz = q.Xyz / den; } else { // This occurs when the angle is zero. // Not a problem: just set an arbitrary normalized axis. result.Xyz = Vector3d.UnitX; } return result; } #endregion #region public double Length /// /// Gets the length (magnitude) of the Quaterniond. /// /// public double Length { get { return (double)System.Math.Sqrt(W * W + Xyz.LengthSquared); } } #endregion #region public double LengthSquared /// /// Gets the square of the Quaterniond length (magnitude). /// public double LengthSquared { get { return W * W + Xyz.LengthSquared; } } #endregion #region public void Normalize() /// /// Scales the Quaterniond to unit length. /// public void Normalize() { double scale = 1.0f / this.Length; Xyz *= scale; W *= scale; } #endregion #region public void Conjugate() /// /// Convert this Quaterniond to its conjugate /// public void Conjugate() { Xyz = -Xyz; } #endregion #endregion #region Static #region Fields /// /// Defines the identity quaternion. /// public readonly static Quaterniond Identity = new Quaterniond(0, 0, 0, 1); #endregion #region Add /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static Quaterniond Add(Quaterniond left, Quaterniond right) { return new Quaterniond( left.Xyz + right.Xyz, left.W + right.W); } /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( left.Xyz + right.Xyz, left.W + right.W); } #endregion #region Sub /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Quaterniond Sub(Quaterniond left, Quaterniond right) { return new Quaterniond( left.Xyz - right.Xyz, left.W - right.W); } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static void Sub(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( left.Xyz - right.Xyz, left.W - right.W); } #endregion #region Mult /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. [Obsolete("Use Multiply instead.")] public static Quaterniond Mult(Quaterniond left, Quaterniond right) { return new Quaterniond( right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. [Obsolete("Use Multiply instead.")] public static void Mult(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. public static Quaterniond Multiply(Quaterniond left, Quaterniond right) { Quaterniond result; Multiply(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. public static void Multiply(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result = new Quaterniond( right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static void Multiply(ref Quaterniond quaternion, double scale, out Quaterniond result) { result = new Quaterniond(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaterniond Multiply(Quaterniond quaternion, double scale) { return new Quaterniond(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } #endregion #region Conjugate /// /// Get the conjugate of the given Quaterniond /// /// The Quaterniond /// The conjugate of the given Quaterniond public static Quaterniond Conjugate(Quaterniond q) { return new Quaterniond(-q.Xyz, q.W); } /// /// Get the conjugate of the given Quaterniond /// /// The Quaterniond /// The conjugate of the given Quaterniond public static void Conjugate(ref Quaterniond q, out Quaterniond result) { result = new Quaterniond(-q.Xyz, q.W); } #endregion #region Invert /// /// Get the inverse of the given Quaterniond /// /// The Quaterniond to invert /// The inverse of the given Quaterniond public static Quaterniond Invert(Quaterniond q) { Quaterniond result; Invert(ref q, out result); return result; } /// /// Get the inverse of the given Quaterniond /// /// The Quaterniond to invert /// The inverse of the given Quaterniond public static void Invert(ref Quaterniond q, out Quaterniond result) { double lengthSq = q.LengthSquared; if (lengthSq != 0.0) { double i = 1.0f / lengthSq; result = new Quaterniond(q.Xyz * -i, q.W * i); } else { result = q; } } #endregion #region Normalize /// /// Scale the given Quaterniond to unit length /// /// The Quaterniond to normalize /// The normalized Quaterniond public static Quaterniond Normalize(Quaterniond q) { Quaterniond result; Normalize(ref q, out result); return result; } /// /// Scale the given Quaterniond to unit length /// /// The Quaterniond to normalize /// The normalized Quaterniond public static void Normalize(ref Quaterniond q, out Quaterniond result) { double scale = 1.0f / q.Length; result = new Quaterniond(q.Xyz * scale, q.W * scale); } #endregion #region FromAxisAngle /// /// Build a Quaterniond from the given axis and angle /// /// The axis to rotate about /// The rotation angle in radians /// public static Quaterniond FromAxisAngle(Vector3d axis, double angle) { if (axis.LengthSquared == 0.0f) return Identity; Quaterniond result = Identity; angle *= 0.5f; axis.Normalize(); result.Xyz = axis * (double)System.Math.Sin(angle); result.W = (double)System.Math.Cos(angle); return Normalize(result); } #endregion #region Slerp /// /// Do Spherical linear interpolation between two quaternions /// /// The first Quaterniond /// The second Quaterniond /// The blend factor /// A smooth blend between the given quaternions public static Quaterniond Slerp(Quaterniond q1, Quaterniond q2, double blend) { // if either input is zero, return the other. if (q1.LengthSquared == 0.0f) { if (q2.LengthSquared == 0.0f) { return Identity; } return q2; } else if (q2.LengthSquared == 0.0f) { return q1; } double cosHalfAngle = q1.W * q2.W + Vector3d.Dot(q1.Xyz, q2.Xyz); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. return q1; } else if (cosHalfAngle < 0.0f) { q2.Xyz = -q2.Xyz; q2.W = -q2.W; cosHalfAngle = -cosHalfAngle; } double blendA; double blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles double halfAngle = (double)System.Math.Acos(cosHalfAngle); double sinHalfAngle = (double)System.Math.Sin(halfAngle); double oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } Quaterniond result = new Quaterniond(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W); if (result.LengthSquared > 0.0f) return Normalize(result); else return Identity; } #endregion #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaterniond operator +(Quaterniond left, Quaterniond right) { left.Xyz += right.Xyz; left.W += right.W; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaterniond operator -(Quaterniond left, Quaterniond right) { left.Xyz -= right.Xyz; left.W -= right.W; return left; } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaterniond operator *(Quaterniond left, Quaterniond right) { Multiply(ref left, ref right, out left); return left; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaterniond operator *(Quaterniond quaternion, double scale) { Multiply(ref quaternion, scale, out quaternion); return quaternion; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaterniond operator *(double scale, Quaterniond quaternion) { return new Quaterniond(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Quaterniond left, Quaterniond right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equal right; false otherwise. public static bool operator !=(Quaterniond left, Quaterniond right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Quaterniond. /// /// public override string ToString() { return String.Format("V: {0}, W: {1}", Xyz, W); } #endregion #region public override bool Equals (object o) /// /// Compares this object instance to another object for equality. /// /// The other object to be used in the comparison. /// True if both objects are Quaternions of equal value. Otherwise it returns false. public override bool Equals(object other) { if (other is Quaterniond == false) return false; return this == (Quaterniond)other; } #endregion #region public override int GetHashCode () /// /// Provides the hash code for this object. /// /// A hash code formed from the bitwise XOR of this objects members. public override int GetHashCode() { return Xyz.GetHashCode() ^ W.GetHashCode(); } #endregion #endregion #endregion #if false #region Fields /// The W component of the Quaterniond. public double W; /// The X component of the Quaterniond. public double X; /// The Y component of the Quaterniond. public double Y; /// The Z component of the Quaterniond. public double Z; #endregion #region Constructors /// Constructs left Quaterniond that is left copy of the given Quaterniond. /// The Quaterniond to copy. public Quaterniond(ref Quaterniond Quaterniond) : this(Quaterniond.W, Quaterniond.X, Quaterniond.Y, Quaterniond.Z) { } /// Constructs left Quaterniond from the given components. /// The W component for the Quaterniond. /// A Vector representing the X, Y, and Z componets for the quaterion. public Quaterniond(double w, ref Vector3d vector3d) : this(w, vector3d.X, vector3d.Y, vector3d.Z) { } /// Constructs left Quaterniond from the given axis and angle. /// The axis for the Quaterniond. /// The angle for the quaternione. public Quaterniond(ref Vector3d axis, double angle) { double halfAngle = Functions.DTOR * angle / 2; this.W = System.Math.Cos(halfAngle); double sin = System.Math.Sin(halfAngle); Vector3d axisNormalized; Vector3d.Normalize(ref axis, out axisNormalized); this.X = axisNormalized.X * sin; this.Y = axisNormalized.Y * sin; this.Z = axisNormalized.Z * sin; } /// Constructs left Quaterniond from the given components. /// The W component for the Quaterniond. /// The X component for the Quaterniond. /// The Y component for the Quaterniond. /// The Z component for the Quaterniond. public Quaterniond(double w, double x, double y, double z) { this.W = w; this.X = x; this.Y = y; this.Z = z; } /// Constructs left Quaterniond from the given array of double-precision floating-point numbers. /// The array of doubles for the components of the Quaterniond. public Quaterniond(double[] doubleArray) { if (doubleArray == null || doubleArray.GetLength(0) < 4) throw new MissingFieldException(); this.W = doubleArray[0]; this.X = doubleArray[1]; this.Y = doubleArray[2]; this.Z = doubleArray[3]; } /// Constructs left Quaterniond from the given matrix. Only contains rotation information. /// The matrix for the components of the Quaterniond. public Quaterniond(ref Matrix4d matrix) { double scale = System.Math.Pow(matrix.Determinant, 1.0d/3.0d); W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2; X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2; Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2; Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2; if( matrix[2,1] - matrix[1,2] < 0 ) X = -X; if( matrix[0,2] - matrix[2,0] < 0 ) Y = -Y; if( matrix[1,0] - matrix[0,1] < 0 ) Z = -Z; } public Quaterniond(ref Matrix3d matrix) { double scale = System.Math.Pow(matrix.Determinant, 1.0d / 3.0d); W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2; X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2; Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2; Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2; if (matrix[2, 1] - matrix[1, 2] < 0) X = -X; if (matrix[0, 2] - matrix[2, 0] < 0) Y = -Y; if (matrix[1, 0] - matrix[0, 1] < 0) Z = -Z; } #endregion #region Arithmetic Operators public void Add(ref Quaterniond Quaterniond) { W = W + Quaterniond.W; X = X + Quaterniond.X; Y = Y + Quaterniond.Y; Z = Z + Quaterniond.Z; } public void Add(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W + Quaterniond.W; result.X = X + Quaterniond.X; result.Y = Y + Quaterniond.Y; result.Z = Z + Quaterniond.Z; } public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W + right.W; result.X = left.X + right.X; result.Y = left.Y + right.Y; result.Z = left.Z + right.Z; } public void Subtract(ref Quaterniond Quaterniond) { W = W - Quaterniond.W; X = X - Quaterniond.X; Y = Y - Quaterniond.Y; Z = Z - Quaterniond.Z; } public void Subtract(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W - Quaterniond.W; result.X = X - Quaterniond.X; result.Y = Y - Quaterniond.Y; result.Z = Z - Quaterniond.Z; } public static void Subtract(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W - right.W; result.X = left.X - right.X; result.Y = left.Y - right.Y; result.Z = left.Z - right.Z; } public void Multiply(ref Quaterniond Quaterniond) { double w = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z; double x = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y; double y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z; Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X; W = w; X = x; Y = y; } public void Multiply(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z; result.X = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y; result.Y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z; result.Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X; } public static void Multiply(ref Quaterniond left, ref Quaterniond right, out Quaterniond result) { result.W = left.W * right.W - left.X * right.X - left.Y * right.Y - left.Z * right.Z; result.X = left.W * right.X + left.X * right.W + left.Y * right.Z - left.Z * right.Y; result.Y = left.W * right.Y + left.Y * right.W + left.Z * right.X - left.X * right.Z; result.Z = left.W * right.Z + left.Z * right.W + left.X * right.Y - left.Y * right.X; } public void Multiply(double scalar) { W = W * scalar; X = X * scalar; Y = Y * scalar; Z = Z * scalar; } public void Multiply(double scalar, out Quaterniond result) { result.W = W * scalar; result.X = X * scalar; result.Y = Y * scalar; result.Z = Z * scalar; } public static void Multiply(ref Quaterniond Quaterniond, double scalar, out Quaterniond result) { result.W = Quaterniond.W * scalar; result.X = Quaterniond.X * scalar; result.Y = Quaterniond.Y * scalar; result.Z = Quaterniond.Z * scalar; } public void Divide(double scalar) { if (scalar == 0) throw new DivideByZeroException(); W = W / scalar; X = X / scalar; Y = Y / scalar; Z = Z / scalar; } public void Divide(double scalar, out Quaterniond result) { if (scalar == 0) throw new DivideByZeroException(); result.W = W / scalar; result.X = X / scalar; result.Y = Y / scalar; result.Z = Z / scalar; } public static void Divide(ref Quaterniond Quaterniond, double scalar, out Quaterniond result) { if (scalar == 0) throw new DivideByZeroException(); result.W = Quaterniond.W / scalar; result.X = Quaterniond.X / scalar; result.Y = Quaterniond.Y / scalar; result.Z = Quaterniond.Z / scalar; } #endregion #region Functions public double Modulus { get { return System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); } } public double ModulusSquared { get { return W * W + X * X + Y * Y + Z * Z; } } public static double DotProduct(Quaterniond left, Quaterniond right) { return left.W * right.W + left.X * right.X + left.Y * right.Y + left.Z * right.Z; } public void Normalize() { double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); if (modulus == 0) throw new DivideByZeroException(); W = W / modulus; X = X / modulus; Y = Y / modulus; Z = Z / modulus; } public void Normalize( out Quaterniond result ) { double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z); if (modulus == 0) throw new DivideByZeroException(); result.W = W / modulus; result.X = X / modulus; result.Y = Y / modulus; result.Z = Z / modulus; } public static void Normalize(ref Quaterniond Quaterniond, out Quaterniond result) { double modulus = System.Math.Sqrt(Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z); if (modulus == 0) throw new DivideByZeroException(); result.W = Quaterniond.W / modulus; result.X = Quaterniond.X / modulus; result.Y = Quaterniond.Y / modulus; result.Z = Quaterniond.Z / modulus; } public void Conjugate() { X = -X; Y = -Y; Z = -Z; } public void Conjugate( out Quaterniond result ) { result.W = W; result.X = -X; result.Y = -Y; result.Z = -Z; } public static void Conjugate(ref Quaterniond Quaterniond, out Quaterniond result) { result.W = Quaterniond.W; result.X = -Quaterniond.X; result.Y = -Quaterniond.Y; result.Z = -Quaterniond.Z; } public void Inverse() { double modulusSquared = W * W + X * X + Y * Y + Z * Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; W = W * inverseModulusSquared; X = X * -inverseModulusSquared; Y = Y * -inverseModulusSquared; Z = Z * -inverseModulusSquared; } public void Inverse( out Quaterniond result ) { double modulusSquared = W * W + X * X + Y * Y + Z * Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; result.W = W * inverseModulusSquared; result.X = X * -inverseModulusSquared; result.Y = Y * -inverseModulusSquared; result.Z = Z * -inverseModulusSquared; } public static void Inverse(ref Quaterniond Quaterniond, out Quaterniond result) { double modulusSquared = Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z; if (modulusSquared <= 0) throw new InvalidOperationException(); double inverseModulusSquared = 1.0 / modulusSquared; result.W = Quaterniond.W * inverseModulusSquared; result.X = Quaterniond.X * -inverseModulusSquared; result.Y = Quaterniond.Y * -inverseModulusSquared; result.Z = Quaterniond.Z * -inverseModulusSquared; } public void Log() { if (System.Math.Abs(W) < 1.0) { double angle = System.Math.Acos(W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; X = X * coefficient; Y = Y * coefficient; Z = Z * coefficient; } } else { X = 0; Y = 0; Z = 0; } W = 0; } public void Log( out Quaterniond result ) { if (System.Math.Abs(W) < 1.0) { double angle = System.Math.Acos(W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; result.X = X * coefficient; result.Y = Y * coefficient; result.Z = Z * coefficient; } else { result.X = X; result.Y = Y; result.Z = Z; } } else { result.X = 0; result.Y = 0; result.Z = 0; } result.W = 0; } public static void Log(ref Quaterniond Quaterniond, out Quaterniond result) { if (System.Math.Abs(Quaterniond.W) < 1.0) { double angle = System.Math.Acos(Quaterniond.W); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) >= 0) { double coefficient = angle / sin; result.X = Quaterniond.X * coefficient; result.Y = Quaterniond.Y * coefficient; result.Z = Quaterniond.Z * coefficient; } else { result.X = Quaterniond.X; result.Y = Quaterniond.Y; result.Z = Quaterniond.Z; } } else { result.X = 0; result.Y = 0; result.Z = 0; } result.W = 0; } public void Exp() { double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; W = 0; X = X * coefficient; Y = Y * coefficient; Z = Z * coefficient; } else { W = 0; } } public void Exp(out Quaterniond result) { double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; result.W = 0; result.X = X * coefficient; result.Y = Y * coefficient; result.Z = Z * coefficient; } else { result.W = 0; result.X = X; result.Y = Y; result.Z = Z; } } public static void Exp(ref Quaterniond Quaterniond, out Quaterniond result) { double angle = System.Math.Sqrt(Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z); double sin = System.Math.Sin(angle); if (System.Math.Abs(sin) > 0) { double coefficient = angle / sin; result.W = 0; result.X = Quaterniond.X * coefficient; result.Y = Quaterniond.Y * coefficient; result.Z = Quaterniond.Z * coefficient; } else { result.W = 0; result.X = Quaterniond.X; result.Y = Quaterniond.Y; result.Z = Quaterniond.Z; } } /// Returns left matrix for this Quaterniond. public void Matrix4d(out Matrix4d result) { // TODO Expand result = new Matrix4d(ref this); } public void GetAxisAndAngle(out Vector3d axis, out double angle) { Quaterniond Quaterniond; Normalize(out Quaterniond); double cos = Quaterniond.W; angle = System.Math.Acos(cos) * 2 * Functions.RTOD; double sin = System.Math.Sqrt( 1.0d - cos * cos ); if ( System.Math.Abs( sin ) < 0.0001 ) sin = 1; axis = new Vector3d(X / sin, Y / sin, Z / sin); } public static void Slerp(ref Quaterniond start, ref Quaterniond end, double blend, out Quaterniond result) { if (start.W == 0 && start.X == 0 && start.Y == 0 && start.Z == 0) { if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0) { result.W = 1; result.X = 0; result.Y = 0; result.Z = 0; } else { result = end; } } else if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0) { result = start; } Vector3d startVector = new Vector3d(start.X, start.Y, start.Z); Vector3d endVector = new Vector3d(end.X, end.Y, end.Z); double cosHalfAngle = start.W * end.W + Vector3d.Dot(startVector, endVector); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. result = start; } else if (cosHalfAngle < 0.0f) { end.W = -end.W; end.X = -end.X; end.Y = -end.Y; end.Z = -end.Z; cosHalfAngle = -cosHalfAngle; } double blendA; double blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles double halfAngle = (double)System.Math.Acos(cosHalfAngle); double sinHalfAngle = (double)System.Math.Sin(halfAngle); double oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } result.W = blendA * start.W + blendB * end.W; result.X = blendA * start.X + blendB * end.X; result.Y = blendA * start.Y + blendB * end.Y; result.Z = blendA * start.Z + blendB * end.Z; if (result.W != 0 || result.X != 0 || result.Y != 0 || result.Z != 0) { result.Normalize(); } else { result.W = 1; result.X = 0; result.Y = 0; result.Z = 0; } } #endregion #region HashCode /// Returns the hash code for this instance. /// A 32-bit signed integer that is the hash code for this instance. public override int GetHashCode() { base.GetHashCode(); return W.GetHashCode() ^ X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region String and Parse /// Returns the fully qualified type name of this instance. /// A System.String containing left fully qualified type name. public override string ToString() { return string.Format("({0}, {1}, {2}, {3})", W, X, Y, Z); } /// Parses left string, converting it to left Quaterniond. /// The string to parse. /// The Quaterniond represented by the string. public static void Parse(string str, out Quaterniond result) { Match match = new Regex(@"\((?.*),(?.*),(?.*),(?.*)\)", RegexOptions.None).Match(str); if (!match.Success) throw new Exception("Parse failed!"); result.W = double.Parse(match.Result("${w}")); result.X = double.Parse(match.Result("${x}")); result.Y = double.Parse(match.Result("${y}")); result.Z = double.Parse(match.Result("${z}")); } #endregion #region Constants /// A quaterion with all zero components. public static readonly Quaterniond Zero = new Quaterniond(0, 0, 0, 0); /// A quaterion representing an identity. public static readonly Quaterniond Identity = new Quaterniond(1, 0, 0, 0); /// A quaterion representing the W axis. public static readonly Quaterniond WAxis = new Quaterniond(1, 0, 0, 0); /// A quaterion representing the X axis. public static readonly Quaterniond XAxis = new Quaterniond(0, 1, 0, 0); /// A quaterion representing the Y axis. public static readonly Quaterniond YAxis = new Quaterniond(0, 0, 1, 0); /// A quaterion representing the Z axis. public static readonly Quaterniond ZAxis = new Quaterniond(0, 0, 0, 1); #endregion #endif #region IEquatable Members /// /// Compares this Quaterniond instance to another Quaterniond for equality. /// /// The other Quaterniond to be used in the comparison. /// True if both instances are equal; false otherwise. public bool Equals(Quaterniond other) { return Xyz == other.Xyz && W == other.W; } #endregion } }opentk-1.0.20101006/Source/OpenTK/Math/BezierCurve.cs0000664000175000017500000002265211453131422020616 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Represents a bezier curve with as many points as you want. /// [Serializable] public struct BezierCurve { #region Fields private List points; /// /// The parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.0f to the orignal curve at any point. public float Parallel; #endregion #region Properties /// /// Gets the points of this curve. /// /// The first point and the last points represent the anchor points. public IList Points { get { return points; } } #endregion #region Constructors /// /// Constructs a new . /// /// The points. public BezierCurve(IEnumerable points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.points = new List(points); this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The points. public BezierCurve(params Vector2[] points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.points = new List(points); this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The points. public BezierCurve(float parallel, params Vector2[] points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.Parallel = parallel; this.points = new List(points); } /// /// Constructs a new . /// /// The parallel value. /// The points. public BezierCurve(float parallel, IEnumerable points) { if (points == null) throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures."); this.Parallel = parallel; this.points = new List(points); } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { return BezierCurve.CalculatePoint(points, t, Parallel); } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of curve. /// The precision gets better as the /// value gets smaller. public float CalculateLength(float precision) { return BezierCurve.CalculateLength(points, precision, Parallel); } #region Static methods /// /// Calculates the length of the specified bezier curve. /// /// The points. /// The precision value. /// The precision gets better as the /// value gets smaller. public static float CalculateLength(IList points, float precision) { return BezierCurve.CalculateLength(points, precision, 0.0f); } /// /// Calculates the length of the specified bezier curve. /// /// The points. /// The precision value. /// The parallel value. /// Length of curve. /// The precision gets better as the /// value gets smaller. /// The parameter defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f represents a curve that has always a distance /// of 5.0f to the orignal curve. public static float CalculateLength(IList points, float precision, float parallel) { float length = 0.0f; Vector2 old = BezierCurve.CalculatePoint(points, 0.0f, parallel); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(points, i, parallel); length += (n - old).Length; old = n; } return length; } /// /// Calculates the point on the given bezier curve with the specified t parameter. /// /// The points. /// The t parameter, a value between 0.0f and 1.0f. /// Resulting point. public static Vector2 CalculatePoint(IList points, float t) { return BezierCurve.CalculatePoint(points, t, 0.0f); } /// /// Calculates the point on the given bezier curve with the specified t parameter. /// /// The points. /// The t parameter, a value between 0.0f and 1.0f. /// The parallel value. /// Resulting point. /// The parameter defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f represents a curve that has always a distance /// of 5.0f to the orignal curve. public static Vector2 CalculatePoint(IList points, float t, float parallel) { Vector2 r = new Vector2(); double c = 1.0d - (double)t; float temp; int i = 0; foreach (Vector2 pt in points) { temp = (float)MathHelper.BinomialCoefficient(points.Count - 1, i) * (float)(System.Math.Pow(t, i) * System.Math.Pow(c, (points.Count - 1) - i)); r.X += temp * pt.X; r.Y += temp * pt.Y; i++; } if (parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t != 0.0f) perpendicular = r - BezierCurve.CalculatePointOfDerivative(points, t); else perpendicular = points[1] - points[0]; return r + Vector2.Normalize(perpendicular).PerpendicularRight * parallel; } /// /// Calculates the point with the specified t of the derivative of the given bezier function. /// /// The points. /// The t parameter, value between 0.0f and 1.0f. /// Resulting point. private static Vector2 CalculatePointOfDerivative(IList points, float t) { Vector2 r = new Vector2(); double c = 1.0d - (double)t; float temp; int i = 0; foreach (Vector2 pt in points) { temp = (float)MathHelper.BinomialCoefficient(points.Count - 2, i) * (float)(System.Math.Pow(t, i) * System.Math.Pow(c, (points.Count - 2) - i)); r.X += temp * pt.X; r.Y += temp * pt.Y; i++; } return r; } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Vector2d.cs0000664000175000017500000010250611453131422020056 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK { /// Represents a 2D vector using two double-precision floating-point numbers. [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector2d : IEquatable { #region Fields /// The X coordinate of this instance. public double X; /// The Y coordinate of this instance. public double Y; /// /// Defines a unit-length Vector2d that points towards the X-axis. /// public static Vector2d UnitX = new Vector2d(1, 0); /// /// Defines a unit-length Vector2d that points towards the Y-axis. /// public static Vector2d UnitY = new Vector2d(0, 1); /// /// Defines a zero-length Vector2d. /// public static Vector2d Zero = new Vector2d(0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector2d One = new Vector2d(1, 1); /// /// Defines the size of the Vector2d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2d()); #endregion #region Constructors /// Constructs left vector with the given coordinates. /// The X coordinate. /// The Y coordinate. public Vector2d(double x, double y) { this.X = x; this.Y = y; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector2d right) { this.X += right.X; this.Y += right.Y; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector2d right) { this.X += right.X; this.Y += right.Y; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector2d right) { this.X -= right.X; this.Y -= right.Y; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector2d right) { this.X -= right.X; this.Y -= right.Y; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(double f) { this.X *= f; this.Y *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// public double Length { get { return System.Math.Sqrt(X * X + Y * Y); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// public double LengthSquared { get { return X * X + Y * Y; } } #endregion #region public Vector2d PerpendicularRight /// /// Gets the perpendicular vector on the right side of this vector. /// public Vector2d PerpendicularRight { get { return new Vector2d(Y, -X); } } #endregion #region public Vector2d PerpendicularLeft /// /// Gets the perpendicular vector on the left side of this vector. /// public Vector2d PerpendicularLeft { get { return new Vector2d(-Y, X); } } #endregion #region public void Normalize() /// /// Scales the Vector2 to unit length. /// public void Normalize() { double scale = 1.0 / Length; X *= scale; Y *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector2 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. [Obsolete("Use static Multiply() method instead.")] public void Scale(double sx, double sy) { X *= sx; Y *= sy; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector2d scale) { this.X *= scale.X; this.Y *= scale.Y; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector2d scale) { this.X *= scale.X; this.Y *= scale.Y; } #endregion public void Scale() #endregion #region Static #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static Vector2d Sub(Vector2d a, Vector2d b) { a.X -= b.X; a.Y -= b.Y; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static void Sub(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static Vector2d Mult(Vector2d a, double d) { a.X *= d; a.Y *= d; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static void Mult(ref Vector2d a, double d, out Vector2d result) { result.X = a.X * d; result.Y = a.Y * d; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static Vector2d Div(Vector2d a, double d) { double mult = 1.0 / d; a.X *= mult; a.Y *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static void Div(ref Vector2d a, double d, out Vector2d result) { double mult = 1.0 / d; result.X = a.X * mult; result.Y = a.Y * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector2d Add(Vector2d a, Vector2d b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector2d a, ref Vector2d b, out Vector2d result) { result = new Vector2d(a.X + b.X, a.Y + b.Y); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector2d Subtract(Vector2d a, Vector2d b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector2d a, ref Vector2d b, out Vector2d result) { result = new Vector2d(a.X - b.X, a.Y - b.Y); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2d Multiply(Vector2d vector, double scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector2d vector, double scale, out Vector2d result) { result = new Vector2d(vector.X * scale, vector.Y * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2d Multiply(Vector2d vector, Vector2d scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector2d vector, ref Vector2d scale, out Vector2d result) { result = new Vector2d(vector.X * scale.X, vector.Y * scale.Y); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2d Divide(Vector2d vector, double scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector2d vector, double scale, out Vector2d result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2d Divide(Vector2d vector, Vector2d scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector2d vector, ref Vector2d scale, out Vector2d result) { result = new Vector2d(vector.X / scale.X, vector.Y / scale.Y); } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector2d Min(Vector2d a, Vector2d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector2d Max(Vector2d a, Vector2d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector2d a, ref Vector2d b, out Vector2d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector2d Clamp(Vector2d vec, Vector2d min, Vector2d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector2d vec, ref Vector2d min, ref Vector2d max, out Vector2d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector2d Normalize(Vector2d vec) { double scale = 1.0 / vec.Length; vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector2d vec, out Vector2d result) { double scale = 1.0 / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector2d NormalizeFast(Vector2d vec) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector2d vec, out Vector2d result) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector2d left, Vector2d right) { return left.X * right.X + left.Y * right.Y; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector2d left, ref Vector2d right, out double result) { result = left.X * right.X + left.Y * right.Y; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector2d Lerp(Vector2d a, Vector2d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector2d a, ref Vector2d b, double blend, out Vector2d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector2d BaryCentric(Vector2d a, Vector2d b, Vector2d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector2d a, ref Vector2d b, ref Vector2d c, double u, double v, out Vector2d result) { result = a; // copy Vector2d temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector2d Transform(Vector2d vec, Quaterniond quat) { Vector2d result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector2d vec, ref Quaterniond quat, out Vector2d result) { Quaterniond v = new Quaterniond(vec.X, vec.Y, 0, 0), i, t; Quaterniond.Invert(ref quat, out i); Quaterniond.Multiply(ref quat, ref v, out t); Quaterniond.Multiply(ref t, ref i, out v); result = new Vector2d(v.X, v.Y); } #endregion #endregion #region Operators /// /// Adds two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Vector2d operator +(Vector2d left, Vector2d right) { left.X += right.X; left.Y += right.Y; return left; } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Vector2d operator -(Vector2d left, Vector2d right) { left.X -= right.X; left.Y -= right.Y; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the operation. public static Vector2d operator -(Vector2d vec) { vec.X = -vec.X; vec.Y = -vec.Y; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the operation. public static Vector2d operator *(Vector2d vec, double f) { vec.X *= f; vec.Y *= f; return vec; } /// /// Multiply an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the operation. public static Vector2d operator *(double f, Vector2d vec) { vec.X *= f; vec.Y *= f; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the operation. public static Vector2d operator /(Vector2d vec, double f) { double mult = 1.0 / f; vec.X *= mult; vec.Y *= mult; return vec; } /// /// Compares two instances for equality. /// /// The left instance. /// The right instance. /// True, if both instances are equal; false otherwise. public static bool operator ==(Vector2d left, Vector2d right) { return left.Equals(right); } /// /// Compares two instances for ienquality. /// /// The left instance. /// The right instance. /// True, if the instances are not equal; false otherwise. public static bool operator !=(Vector2d left, Vector2d right) { return !left.Equals(right); } /// Converts OpenTK.Vector2 to OpenTK.Vector2d. /// The Vector2 to convert. /// The resulting Vector2d. public static explicit operator Vector2d(Vector2 v2) { return new Vector2d(v2.X, v2.Y); } /// Converts OpenTK.Vector2d to OpenTK.Vector2. /// The Vector2d to convert. /// The resulting Vector2. public static explicit operator Vector2(Vector2d v2d) { return new Vector2((float)v2d.X, (float)v2d.Y); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current instance. /// /// public override string ToString() { return String.Format("({0}, {1})", X, Y); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector2d)) return false; return this.Equals((Vector2d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector2d other) { return X == other.X && Y == other.Y; } #endregion } }opentk-1.0.20101006/Source/OpenTK/Math/Vector4d.cs0000664000175000017500000012345211453131422020063 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK { /// Represents a 4D vector using four double-precision floating-point numbers. [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector4d : IEquatable { #region Fields /// /// The X component of the Vector4d. /// public double X; /// /// The Y component of the Vector4d. /// public double Y; /// /// The Z component of the Vector4d. /// public double Z; /// /// The W component of the Vector4d. /// public double W; /// /// Defines a unit-length Vector4d that points towards the X-axis. /// public static Vector4d UnitX = new Vector4d(1, 0, 0, 0); /// /// Defines a unit-length Vector4d that points towards the Y-axis. /// public static Vector4d UnitY = new Vector4d(0, 1, 0, 0); /// /// Defines a unit-length Vector4d that points towards the Z-axis. /// public static Vector4d UnitZ = new Vector4d(0, 0, 1, 0); /// /// Defines a unit-length Vector4d that points towards the W-axis. /// public static Vector4d UnitW = new Vector4d(0, 0, 0, 1); /// /// Defines a zero-length Vector4d. /// public static Vector4d Zero = new Vector4d(0, 0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector4d One = new Vector4d(1, 1, 1, 1); /// /// Defines the size of the Vector4d struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4d()); #endregion #region Constructors /// /// Constructs a new Vector4d. /// /// The x component of the Vector4d. /// The y component of the Vector4d. /// The z component of the Vector4d. /// The w component of the Vector4d. public Vector4d(double x, double y, double z, double w) { X = x; Y = y; Z = z; W = w; } /// /// Constructs a new Vector4d from the given Vector2d. /// /// The Vector2d to copy components from. public Vector4d(Vector2d v) { X = v.X; Y = v.Y; Z = 0.0f; W = 0.0f; } /// /// Constructs a new Vector4d from the given Vector3d. /// /// The Vector3d to copy components from. public Vector4d(Vector3d v) { X = v.X; Y = v.Y; Z = v.Z; W = 0.0f; } /// /// Constructs a new Vector4d from the specified Vector3d and w component. /// /// The Vector3d to copy components from. /// The w component of the new Vector4. public Vector4d(Vector3d v, double w) { X = v.X; Y = v.Y; Z = v.Z; W = w; } /// /// Constructs a new Vector4d from the given Vector4d. /// /// The Vector4d to copy components from. public Vector4d(Vector4d v) { X = v.X; Y = v.Y; Z = v.Z; W = v.W; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector4d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector4d right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector4d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector4d right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(double f) { this.X *= f; this.Y *= f; this.Z *= f; this.W *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(double f) { double mult = 1.0 / f; this.X *= mult; this.Y *= mult; this.Z *= mult; this.W *= mult; } #endregion public void Div() #region public double Length /// /// Gets the length (magnitude) of the vector. /// /// /// public double Length { get { return System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public double LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public double LengthFast { get { return 1.0 / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public double LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// public double LengthSquared { get { return X * X + Y * Y + Z * Z + W * W; } } #endregion #region public void Normalize() /// /// Scales the Vector4d to unit length. /// public void Normalize() { double scale = 1.0 / this.Length; X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector4d to approximately unit length. /// public void NormalizeFast() { double scale = MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector4d by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. /// The scale of the Z component. [Obsolete("Use static Multiply() method instead.")] public void Scale(double sx, double sy, double sz, double sw) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; this.W = W * sw; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector4d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector4d scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } #endregion public void Scale() #endregion #region Static #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static Vector4d Sub(Vector4d a, Vector4d b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; a.W -= b.W; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static void Sub(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; result.W = a.W - b.W; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static Vector4d Mult(Vector4d a, double f) { a.X *= f; a.Y *= f; a.Z *= f; a.W *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static void Mult(ref Vector4d a, double f, out Vector4d result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; result.W = a.W * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static Vector4d Div(Vector4d a, double f) { double mult = 1.0 / f; a.X *= mult; a.Y *= mult; a.Z *= mult; a.W *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static void Div(ref Vector4d a, double f, out Vector4d result) { double mult = 1.0 / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; result.W = a.W * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector4d Add(Vector4d a, Vector4d b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector4d a, ref Vector4d b, out Vector4d result) { result = new Vector4d(a.X + b.X, a.Y + b.Y, a.Z + b.Z, a.W + b.W); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector4d Subtract(Vector4d a, Vector4d b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector4d a, ref Vector4d b, out Vector4d result) { result = new Vector4d(a.X - b.X, a.Y - b.Y, a.Z - b.Z, a.W - b.W); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4d Multiply(Vector4d vector, double scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector4d vector, double scale, out Vector4d result) { result = new Vector4d(vector.X * scale, vector.Y * scale, vector.Z * scale, vector.W * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4d Multiply(Vector4d vector, Vector4d scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector4d vector, ref Vector4d scale, out Vector4d result) { result = new Vector4d(vector.X * scale.X, vector.Y * scale.Y, vector.Z * scale.Z, vector.W * scale.W); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4d Divide(Vector4d vector, double scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector4d vector, double scale, out Vector4d result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4d Divide(Vector4d vector, Vector4d scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector4d vector, ref Vector4d scale, out Vector4d result) { result = new Vector4d(vector.X / scale.X, vector.Y / scale.Y, vector.Z / scale.Z, vector.W / scale.W); } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector4d Min(Vector4d a, Vector4d b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; a.W = a.W < b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; result.W = a.W < b.W ? a.W : b.W; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector4d Max(Vector4d a, Vector4d b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; a.W = a.W > b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector4d a, ref Vector4d b, out Vector4d result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; result.W = a.W > b.W ? a.W : b.W; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector4d Clamp(Vector4d vec, Vector4d min, Vector4d max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector4d vec, ref Vector4d min, ref Vector4d max, out Vector4d result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector4d Normalize(Vector4d vec) { double scale = 1.0 / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector4d vec, out Vector4d result) { double scale = 1.0 / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector4d NormalizeFast(Vector4d vec) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector4d vec, out Vector4d result) { double scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region Dot /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static double Dot(Vector4d left, Vector4d right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector4d left, ref Vector4d right, out double result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector4d Lerp(Vector4d a, Vector4d b, double blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; a.W = blend * (b.W - a.W) + a.W; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector4d a, ref Vector4d b, double blend, out Vector4d result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; result.W = blend * (b.W - a.W) + a.W; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector4d BaryCentric(Vector4d a, Vector4d b, Vector4d c, double u, double v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector4d a, ref Vector4d b, ref Vector4d c, double u, double v, out Vector4d result) { result = a; // copy Vector4d temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4d Transform(Vector4d vec, Matrix4d mat) { Vector4d result; Transform(ref vec, ref mat, out result); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector4d vec, ref Matrix4d mat, out Vector4d result) { result = new Vector4d( vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X + vec.W * mat.Row3.X, vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y + vec.W * mat.Row3.Y, vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z + vec.W * mat.Row3.Z, vec.X * mat.Row0.W + vec.Y * mat.Row1.W + vec.Z * mat.Row2.W + vec.W * mat.Row3.W); } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector4d Transform(Vector4d vec, Quaterniond quat) { Vector4d result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector4d vec, ref Quaterniond quat, out Vector4d result) { Quaterniond v = new Quaterniond(vec.X, vec.Y, vec.Z, vec.W), i, t; Quaterniond.Invert(ref quat, out i); Quaterniond.Multiply(ref quat, ref v, out t); Quaterniond.Multiply(ref t, ref i, out v); result = new Vector4d(v.X, v.Y, v.Z, v.W); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance. /// [XmlIgnore] public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3d Xyz { get { return new Vector3d(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector4d operator +(Vector4d left, Vector4d right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; left.W += right.W; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector4d operator -(Vector4d left, Vector4d right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; left.W -= right.W; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the calculation. public static Vector4d operator -(Vector4d vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; vec.W = -vec.W; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector4d operator *(Vector4d vec, double scale) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Multiplies an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the calculation. public static Vector4d operator *(double scale, Vector4d vec) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector4d operator /(Vector4d vec, double scale) { double mult = 1 / scale; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; vec.W *= mult; return vec; } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Vector4d left, Vector4d right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equa lright; false otherwise. public static bool operator !=(Vector4d left, Vector4d right) { return !left.Equals(right); } /// /// Returns a pointer to the first element of the specified instance. /// /// The instance. /// A pointer to the first element of v. [CLSCompliant(false)] unsafe public static explicit operator double*(Vector4d v) { return &v.X; } /// /// Returns a pointer to the first element of the specified instance. /// /// The instance. /// A pointer to the first element of v. public static explicit operator IntPtr(Vector4d v) { unsafe { return (IntPtr)(&v.X); } } /// Converts OpenTK.Vector4 to OpenTK.Vector4d. /// The Vector4 to convert. /// The resulting Vector4d. public static explicit operator Vector4d(Vector4 v4) { return new Vector4d(v4.X, v4.Y, v4.Z, v4.W); } /// Converts OpenTK.Vector4d to OpenTK.Vector4. /// The Vector4d to convert. /// The resulting Vector4. public static explicit operator Vector4(Vector4d v4d) { return new Vector4((float)v4d.X, (float)v4d.Y, (float)v4d.Z, (float)v4d.W); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector4d. /// /// public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector4d)) return false; return this.Equals((Vector4d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector4d other) { return X == other.X && Y == other.Y && Z == other.Z && W == other.W; } #endregion } }opentk-1.0.20101006/Source/OpenTK/Math/Vector2.cs0000664000175000017500000010753111453131422017715 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK { /// Represents a 2D vector using two single-precision floating-point numbers. /// /// The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector2 : IEquatable { #region Fields /// /// The X component of the Vector2. /// public float X; /// /// The Y component of the Vector2. /// public float Y; #endregion #region Constructors /// /// Constructs a new Vector2. /// /// The x coordinate of the net Vector2. /// The y coordinate of the net Vector2. public Vector2(float x, float y) { X = x; Y = y; } /// /// Constructs a new Vector2 from the given Vector2. /// /// The Vector2 to copy components from. [Obsolete] public Vector2(Vector2 v) { X = v.X; Y = v.Y; } /// /// Constructs a new Vector2 from the given Vector3. /// /// The Vector3 to copy components from. Z is discarded. [Obsolete] public Vector2(Vector3 v) { X = v.X; Y = v.Y; } /// /// Constructs a new Vector2 from the given Vector4. /// /// The Vector4 to copy components from. Z and W are discarded. [Obsolete] public Vector2(Vector4 v) { X = v.X; Y = v.Y; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector2 right) { this.X += right.X; this.Y += right.Y; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector2 right) { this.X += right.X; this.Y += right.Y; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector2 right) { this.X -= right.X; this.Y -= right.Y; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector2 right) { this.X -= right.X; this.Y -= right.Y; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(float f) { this.X *= f; this.Y *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(float f) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y; } } #endregion #region public Vector2 PerpendicularRight /// /// Gets the perpendicular vector on the right side of this vector. /// public Vector2 PerpendicularRight { get { return new Vector2(Y, -X); } } #endregion #region public Vector2 PerpendicularLeft /// /// Gets the perpendicular vector on the left side of this vector. /// public Vector2 PerpendicularLeft { get { return new Vector2(-Y, X); } } #endregion #region public void Normalize() /// /// Scales the Vector2 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector2 to approximately unit length. /// public void NormalizeFast() { float scale = MathHelper.InverseSqrtFast(X * X + Y * Y); X *= scale; Y *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector2 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. [Obsolete("Use static Multiply() method instead.")] public void Scale(float sx, float sy) { this.X = X * sx; this.Y = Y * sy; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector2 scale) { this.X *= scale.X; this.Y *= scale.Y; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector2 scale) { this.X *= scale.X; this.Y *= scale.Y; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector2 that points towards the X-axis. /// public static readonly Vector2 UnitX = new Vector2(1, 0); /// /// Defines a unit-length Vector2 that points towards the Y-axis. /// public static readonly Vector2 UnitY = new Vector2(0, 1); /// /// Defines a zero-length Vector2. /// public static readonly Vector2 Zero = new Vector2(0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector2 One = new Vector2(1, 1); /// /// Defines the size of the Vector2 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2()); #endregion #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static Vector2 Sub(Vector2 a, Vector2 b) { a.X -= b.X; a.Y -= b.Y; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static void Sub(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static Vector2 Mult(Vector2 a, float f) { a.X *= f; a.Y *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static void Mult(ref Vector2 a, float f, out Vector2 result) { result.X = a.X * f; result.Y = a.Y * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static Vector2 Div(Vector2 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static void Div(ref Vector2 a, float f, out Vector2 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector2 Add(Vector2 a, Vector2 b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector2 a, ref Vector2 b, out Vector2 result) { result = new Vector2(a.X + b.X, a.Y + b.Y); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector2 Subtract(Vector2 a, Vector2 b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector2 a, ref Vector2 b, out Vector2 result) { result = new Vector2(a.X - b.X, a.Y - b.Y); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2 Multiply(Vector2 vector, float scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector2 vector, float scale, out Vector2 result) { result = new Vector2(vector.X * scale, vector.Y * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2 Multiply(Vector2 vector, Vector2 scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector2 vector, ref Vector2 scale, out Vector2 result) { result = new Vector2(vector.X * scale.X, vector.Y * scale.Y); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2 Divide(Vector2 vector, float scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector2 vector, float scale, out Vector2 result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector2 Divide(Vector2 vector, Vector2 scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector2 vector, ref Vector2 scale, out Vector2 result) { result = new Vector2(vector.X / scale.X, vector.Y / scale.Y); } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector2 ComponentMin(Vector2 a, Vector2 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector2 ComponentMax(Vector2 a, Vector2 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector2 a, ref Vector2 b, out Vector2 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; } #endregion #region Min /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector2 Min(Vector2 left, Vector2 right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector2 Max(Vector2 left, Vector2 right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector2 vec, ref Vector2 min, ref Vector2 max, out Vector2 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector2 Normalize(Vector2 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector2 vec, out Vector2 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector2 NormalizeFast(Vector2 vec) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); vec.X *= scale; vec.Y *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector2 vec, out Vector2 result) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y); result.X = vec.X * scale; result.Y = vec.Y * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector2 left, Vector2 right) { return left.X * right.X + left.Y * right.Y; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector2 left, ref Vector2 right, out float result) { result = left.X * right.X + left.Y * right.Y; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector2 Lerp(Vector2 a, Vector2 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector2 a, ref Vector2 b, float blend, out Vector2 result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector2 a, ref Vector2 b, ref Vector2 c, float u, float v, out Vector2 result) { result = a; // copy Vector2 temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector2 Transform(Vector2 vec, Quaternion quat) { Vector2 result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector2 vec, ref Quaternion quat, out Vector2 result) { Quaternion v = new Quaternion(vec.X, vec.Y, 0, 0), i, t; Quaternion.Invert(ref quat, out i); Quaternion.Multiply(ref quat, ref v, out t); Quaternion.Multiply(ref t, ref i, out v); result = new Vector2(v.X, v.Y); } #endregion #endregion #region Operators /// /// Adds the specified instances. /// /// Left operand. /// Right operand. /// Result of addition. public static Vector2 operator +(Vector2 left, Vector2 right) { left.X += right.X; left.Y += right.Y; return left; } /// /// Subtracts the specified instances. /// /// Left operand. /// Right operand. /// Result of subtraction. public static Vector2 operator -(Vector2 left, Vector2 right) { left.X -= right.X; left.Y -= right.Y; return left; } /// /// Negates the specified instance. /// /// Operand. /// Result of negation. public static Vector2 operator -(Vector2 vec) { vec.X = -vec.X; vec.Y = -vec.Y; return vec; } /// /// Multiplies the specified instance by a scalar. /// /// Left operand. /// Right operand. /// Result of multiplication. public static Vector2 operator *(Vector2 vec, float scale) { vec.X *= scale; vec.Y *= scale; return vec; } /// /// Multiplies the specified instance by a scalar. /// /// Left operand. /// Right operand. /// Result of multiplication. public static Vector2 operator *(float scale, Vector2 vec) { vec.X *= scale; vec.Y *= scale; return vec; } /// /// Divides the specified instance by a scalar. /// /// Left operand /// Right operand /// Result of the division. public static Vector2 operator /(Vector2 vec, float scale) { float mult = 1.0f / scale; vec.X *= mult; vec.Y *= mult; return vec; } /// /// Compares the specified instances for equality. /// /// Left operand. /// Right operand. /// True if both instances are equal; false otherwise. public static bool operator ==(Vector2 left, Vector2 right) { return left.Equals(right); } /// /// Compares the specified instances for inequality. /// /// Left operand. /// Right operand. /// True if both instances are not equal; false otherwise. public static bool operator !=(Vector2 left, Vector2 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector2. /// /// public override string ToString() { return String.Format("({0}, {1})", X, Y); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector2)) return false; return this.Equals((Vector2)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector2 other) { return X == other.X && Y == other.Y; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Matrix3d.cs0000664000175000017500000010234211453131422020057 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK { // Todo: Remove this warning when the code goes public. #pragma warning disable 3019 #if false [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix3d : IEquatable { #region Fields & Access /// Row 0, Column 0 public double R0C0; /// Row 0, Column 1 public double R0C1; /// Row 0, Column 2 public double R0C2; /// Row 1, Column 0 public double R1C0; /// Row 1, Column 1 public double R1C1; /// Row 1, Column 2 public double R1C2; /// Row 2, Column 0 public double R2C0; /// Row 2, Column 1 public double R2C1; /// Row 2, Column 2 public double R2C2; /// Gets the component at the given row and column in the matrix. /// The row of the matrix. /// The column of the matrix. /// The component at the given row and column in the matrix. public double this[int row, int column] { get { switch( row ) { case 0: switch (column) { case 0: return R0C0; case 1: return R0C1; case 2: return R0C2; } break; case 1: switch (column) { case 0: return R1C0; case 1: return R1C1; case 2: return R1C2; } break; case 2: switch (column) { case 0: return R2C0; case 1: return R2C1; case 2: return R2C2; } break; } throw new IndexOutOfRangeException(); } set { switch( row ) { case 0: switch (column) { case 0: R0C0 = value; return; case 1: R0C1 = value; return; case 2: R0C2 = value; return; } break; case 1: switch (column) { case 0: R1C0 = value; return; case 1: R1C1 = value; return; case 2: R1C2 = value; return; } break; case 2: switch (column) { case 0: R2C0 = value; return; case 1: R2C1 = value; return; case 2: R2C2 = value; return; } break; } throw new IndexOutOfRangeException(); } } /// Gets the component at the index into the matrix. /// The index into the components of the matrix. /// The component at the given index into the matrix. public double this[int index] { get { switch (index) { case 0: return R0C0; case 1: return R0C1; case 2: return R0C2; case 3: return R1C0; case 4: return R1C1; case 5: return R1C2; case 6: return R2C0; case 7: return R2C1; case 8: return R2C2; default: throw new IndexOutOfRangeException(); } } set { switch (index) { case 0: R0C0 = value; return; case 1: R0C1 = value; return; case 2: R0C2 = value; return; case 3: R1C0 = value; return; case 4: R1C1 = value; return; case 5: R1C2 = value; return; case 6: R2C0 = value; return; case 7: R2C1 = value; return; case 8: R2C2 = value; return; default: throw new IndexOutOfRangeException(); } } } /// Converts the matrix into an IntPtr. /// The matrix to convert. /// An IntPtr for the matrix. public static explicit operator IntPtr(Matrix3d matrix) { unsafe { return (IntPtr)(&matrix.R0C0); } } /// Converts the matrix into left double*. /// The matrix to convert. /// A double* for the matrix. [CLSCompliant(false)] unsafe public static explicit operator double*(Matrix3d matrix) { return &matrix.R0C0; } /// Converts the matrix into an array of doubles. /// The matrix to convert. /// An array of doubles for the matrix. public static explicit operator double[](Matrix3d matrix) { return new double[9] { matrix.R0C0, matrix.R0C1, matrix.R0C2, matrix.R1C0, matrix.R1C1, matrix.R1C2, matrix.R2C0, matrix.R2C1, matrix.R2C2 }; } #endregion #region Constructors /// Constructs left matrix with the same components as the given matrix. /// The matrix whose components to copy. public Matrix3d(ref Matrix3d matrix) { this.R0C0 = matrix.R0C0; this.R0C1 = matrix.R0C1; this.R0C2 = matrix.R0C2; this.R1C0 = matrix.R1C0; this.R1C1 = matrix.R1C1; this.R1C2 = matrix.R1C2; this.R2C0 = matrix.R2C0; this.R2C1 = matrix.R2C1; this.R2C2 = matrix.R2C2; } /// Constructs left matrix with the given values. /// The value for row 0 column 0. /// The value for row 0 column 1. /// The value for row 0 column 2. /// The value for row 1 column 0. /// The value for row 1 column 1. /// The value for row 1 column 2. /// The value for row 2 column 0. /// The value for row 2 column 1. /// The value for row 2 column 2. public Matrix3d ( double r0c0, double r0c1, double r0c2, double r1c0, double r1c1, double r1c2, double r2c0, double r2c1, double r2c2 ) { this.R0C0 = r0c0; this.R0C1 = r0c1; this.R0C2 = r0c2; this.R1C0 = r1c0; this.R1C1 = r1c1; this.R1C2 = r1c2; this.R2C0 = r2c0; this.R2C1 = r2c1; this.R2C2 = r2c2; } /// Constructs left matrix from the given array of double-precision floating-point numbers. /// The array of doubles for the components of the matrix. public Matrix3d(double[] doubleArray) { if (doubleArray == null || doubleArray.GetLength(0) < 9) throw new MissingFieldException(); this.R0C0 = doubleArray[0]; this.R0C1 = doubleArray[1]; this.R0C2 = doubleArray[2]; this.R1C0 = doubleArray[3]; this.R1C1 = doubleArray[4]; this.R1C2 = doubleArray[5]; this.R2C0 = doubleArray[6]; this.R2C1 = doubleArray[7]; this.R2C2 = doubleArray[8]; } /// Constructs left matrix from the given quaternion. /// The quaternion to use to construct the martix. public Matrix3d(Quaterniond quaternion) { quaternion.Normalize(); double xx = quaternion.X * quaternion.X; double yy = quaternion.Y * quaternion.Y; double zz = quaternion.Z * quaternion.Z; double xy = quaternion.X * quaternion.Y; double xz = quaternion.X * quaternion.Z; double yz = quaternion.Y * quaternion.Z; double wx = quaternion.W * quaternion.X; double wy = quaternion.W * quaternion.Y; double wz = quaternion.W * quaternion.Z; R0C0 = 1 - 2 * (yy + zz); R0C1 = 2 * (xy - wz); R0C2 = 2 * (xz + wy); R1C0 = 2 * (xy + wz); R1C1 = 1 - 2 * (xx + zz); R1C2 = 2 * (yz - wx); R2C0 = 2 * (xz - wy); R2C1 = 2 * (yz + wx); R2C2 = 1 - 2 * (xx + yy); } #endregion #region Equality /// Indicates whether the current matrix is equal to another matrix. /// The OpenTK.Matrix3d structure to compare with. /// true if the current matrix is equal to the matrix parameter; otherwise, false. [CLSCompliant(false)] public bool Equals(Matrix3d matrix) { return R0C0 == matrix.R0C0 && R0C1 == matrix.R0C1 && R0C2 == matrix.R0C2 && R1C0 == matrix.R1C0 && R1C1 == matrix.R1C1 && R1C2 == matrix.R1C2 && R2C0 == matrix.R2C0 && R2C1 == matrix.R2C1 && R2C2 == matrix.R2C2; } /// Indicates whether the current matrix is equal to another matrix. /// The OpenTK.Matrix3d structure to compare to. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(ref Matrix3d matrix) { return R0C0 == matrix.R0C0 && R0C1 == matrix.R0C1 && R0C2 == matrix.R0C2 && R1C0 == matrix.R1C0 && R1C1 == matrix.R1C1 && R1C2 == matrix.R1C2 && R2C0 == matrix.R2C0 && R2C1 == matrix.R2C1 && R2C2 == matrix.R2C2; } /// Indicates whether the current matrix is equal to another matrix. /// The left-hand operand. /// The right-hand operand. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public static bool Equals(ref Matrix3d left, ref Matrix3d right) { return left.R0C0 == right.R0C0 && left.R0C1 == right.R0C1 && left.R0C2 == right.R0C2 && left.R1C0 == right.R1C0 && left.R1C1 == right.R1C1 && left.R1C2 == right.R1C2 && left.R2C0 == right.R2C0 && left.R2C1 == right.R2C1 && left.R2C2 == right.R2C2; } /// Indicates whether the current matrix is approximately equal to another matrix. /// The OpenTK.Matrix3d structure to compare with. /// The limit below which the matrices are considered equal. /// true if the current matrix is approximately equal to the matrix parameter; otherwise, false. public bool EqualsApprox(ref Matrix3d matrix, double tolerance) { return System.Math.Abs(R0C0 - matrix.R0C0) <= tolerance && System.Math.Abs(R0C1 - matrix.R0C1) <= tolerance && System.Math.Abs(R0C2 - matrix.R0C2) <= tolerance && System.Math.Abs(R1C0 - matrix.R1C0) <= tolerance && System.Math.Abs(R1C1 - matrix.R1C1) <= tolerance && System.Math.Abs(R1C2 - matrix.R1C2) <= tolerance && System.Math.Abs(R2C0 - matrix.R2C0) <= tolerance && System.Math.Abs(R2C1 - matrix.R2C1) <= tolerance && System.Math.Abs(R2C2 - matrix.R2C2) <= tolerance; } /// Indicates whether the current matrix is approximately equal to another matrix. /// The left-hand operand. /// The right-hand operand. /// The limit below which the matrices are considered equal. /// true if the current matrix is approximately equal to the matrix parameter; otherwise, false. public static bool EqualsApprox(ref Matrix3d left, ref Matrix3d right, double tolerance) { return System.Math.Abs(left.R0C0 - right.R0C0) <= tolerance && System.Math.Abs(left.R0C1 - right.R0C1) <= tolerance && System.Math.Abs(left.R0C2 - right.R0C2) <= tolerance && System.Math.Abs(left.R1C0 - right.R1C0) <= tolerance && System.Math.Abs(left.R1C1 - right.R1C1) <= tolerance && System.Math.Abs(left.R1C2 - right.R1C2) <= tolerance && System.Math.Abs(left.R2C0 - right.R2C0) <= tolerance && System.Math.Abs(left.R2C1 - right.R2C1) <= tolerance && System.Math.Abs(left.R2C2 - right.R2C2) <= tolerance; } #endregion #region Arithmetic Operators /// Add left matrix to this matrix. /// The matrix to add. public void Add(ref Matrix3d matrix) { R0C0 = R0C0 + matrix.R0C0; R0C1 = R0C1 + matrix.R0C1; R0C2 = R0C2 + matrix.R0C2; R1C0 = R1C0 + matrix.R1C0; R1C1 = R1C1 + matrix.R1C1; R1C2 = R1C2 + matrix.R1C2; R2C0 = R2C0 + matrix.R2C0; R2C1 = R2C1 + matrix.R2C1; R2C2 = R2C2 + matrix.R2C2; } /// Add left matrix to this matrix. /// The matrix to add. /// The resulting matrix of the addition. public void Add(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = R0C0 + matrix.R0C0; result.R0C1 = R0C1 + matrix.R0C1; result.R0C2 = R0C2 + matrix.R0C2; result.R1C0 = R1C0 + matrix.R1C0; result.R1C1 = R1C1 + matrix.R1C1; result.R1C2 = R1C2 + matrix.R1C2; result.R2C0 = R2C0 + matrix.R2C0; result.R2C1 = R2C1 + matrix.R2C1; result.R2C2 = R2C2 + matrix.R2C2; } /// Add left matrix to left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the addition. public static void Add(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = left.R0C0 + right.R0C0; result.R0C1 = left.R0C1 + right.R0C1; result.R0C2 = left.R0C2 + right.R0C2; result.R1C0 = left.R1C0 + right.R1C0; result.R1C1 = left.R1C1 + right.R1C1; result.R1C2 = left.R1C2 + right.R1C2; result.R2C0 = left.R2C0 + right.R2C0; result.R2C1 = left.R2C1 + right.R2C1; result.R2C2 = left.R2C2 + right.R2C2; } /// Subtract left matrix from this matrix. /// The matrix to subtract. public void Subtract(ref Matrix3d matrix) { R0C0 = R0C0 + matrix.R0C0; R0C1 = R0C1 + matrix.R0C1; R0C2 = R0C2 + matrix.R0C2; R1C0 = R1C0 + matrix.R1C0; R1C1 = R1C1 + matrix.R1C1; R1C2 = R1C2 + matrix.R1C2; R2C0 = R2C0 + matrix.R2C0; R2C1 = R2C1 + matrix.R2C1; R2C2 = R2C2 + matrix.R2C2; } /// Subtract left matrix from this matrix. /// The matrix to subtract. /// The resulting matrix of the subtraction. public void Subtract(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = R0C0 + matrix.R0C0; result.R0C1 = R0C1 + matrix.R0C1; result.R0C2 = R0C2 + matrix.R0C2; result.R1C0 = R1C0 + matrix.R1C0; result.R1C1 = R1C1 + matrix.R1C1; result.R1C2 = R1C2 + matrix.R1C2; result.R2C0 = R2C0 + matrix.R2C0; result.R2C1 = R2C1 + matrix.R2C1; result.R2C2 = R2C2 + matrix.R2C2; } /// Subtract left matrix from left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the subtraction. public static void Subtract(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = left.R0C0 + right.R0C0; result.R0C1 = left.R0C1 + right.R0C1; result.R0C2 = left.R0C2 + right.R0C2; result.R1C0 = left.R1C0 + right.R1C0; result.R1C1 = left.R1C1 + right.R1C1; result.R1C2 = left.R1C2 + right.R1C2; result.R2C0 = left.R2C0 + right.R2C0; result.R2C1 = left.R2C1 + right.R2C1; result.R2C2 = left.R2C2 + right.R2C2; } /// Multiply left martix times this matrix. /// The matrix to multiply. public void Multiply(ref Matrix3d matrix) { double r0c0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0; double r0c1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1; double r0c2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2; double r1c0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0; double r1c1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1; double r1c2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2; R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0; R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1; R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2; R0C0 = r0c0; R0C1 = r0c1; R0C2 = r0c2; R1C0 = r1c0; R1C1 = r1c1; R1C2 = r1c2; } /// Multiply matrix times this matrix. /// The matrix to multiply. /// The resulting matrix of the multiplication. public void Multiply(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0; result.R0C1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1; result.R0C2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2; result.R1C0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0; result.R1C1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1; result.R1C2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2; result.R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0; result.R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1; result.R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2; } /// Multiply left matrix times left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the multiplication. public static void Multiply(ref Matrix3d left, ref Matrix3d right, out Matrix3d result) { result.R0C0 = right.R0C0 * left.R0C0 + right.R0C1 * left.R1C0 + right.R0C2 * left.R2C0; result.R0C1 = right.R0C0 * left.R0C1 + right.R0C1 * left.R1C1 + right.R0C2 * left.R2C1; result.R0C2 = right.R0C0 * left.R0C2 + right.R0C1 * left.R1C2 + right.R0C2 * left.R2C2; result.R1C0 = right.R1C0 * left.R0C0 + right.R1C1 * left.R1C0 + right.R1C2 * left.R2C0; result.R1C1 = right.R1C0 * left.R0C1 + right.R1C1 * left.R1C1 + right.R1C2 * left.R2C1; result.R1C2 = right.R1C0 * left.R0C2 + right.R1C1 * left.R1C2 + right.R1C2 * left.R2C2; result.R2C0 = right.R2C0 * left.R0C0 + right.R2C1 * left.R1C0 + right.R2C2 * left.R2C0; result.R2C1 = right.R2C0 * left.R0C1 + right.R2C1 * left.R1C1 + right.R2C2 * left.R2C1; result.R2C2 = right.R2C0 * left.R0C2 + right.R2C1 * left.R1C2 + right.R2C2 * left.R2C2; } /// Multiply matrix times this matrix. /// The matrix to multiply. public void Multiply(double scalar) { R0C0 = scalar * R0C0; R0C1 = scalar * R0C1; R0C2 = scalar * R0C2; R1C0 = scalar * R1C0; R1C1 = scalar * R1C1; R1C2 = scalar * R1C2; R2C0 = scalar * R2C0; R2C1 = scalar * R2C1; R2C2 = scalar * R2C2; } /// Multiply matrix times this matrix. /// The matrix to multiply. /// The resulting matrix of the multiplication. public void Multiply(double scalar, out Matrix3d result) { result.R0C0 = scalar * R0C0; result.R0C1 = scalar * R0C1; result.R0C2 = scalar * R0C2; result.R1C0 = scalar * R1C0; result.R1C1 = scalar * R1C1; result.R1C2 = scalar * R1C2; result.R2C0 = scalar * R2C0; result.R2C1 = scalar * R2C1; result.R2C2 = scalar * R2C2; } /// Multiply left matrix times left matrix. /// The matrix on the matrix side of the equation. /// The matrix on the right side of the equation /// The resulting matrix of the multiplication. public static void Multiply(ref Matrix3d matrix, double scalar, out Matrix3d result) { result.R0C0 = scalar * matrix.R0C0; result.R0C1 = scalar * matrix.R0C1; result.R0C2 = scalar * matrix.R0C2; result.R1C0 = scalar * matrix.R1C0; result.R1C1 = scalar * matrix.R1C1; result.R1C2 = scalar * matrix.R1C2; result.R2C0 = scalar * matrix.R2C0; result.R2C1 = scalar * matrix.R2C1; result.R2C2 = scalar * matrix.R2C2; } #endregion #region Functions public double Determinant { get { return R0C0 * R1C1 * R2C2 - R0C0 * R1C2 * R2C1 - R0C1 * R1C0 * R2C2 + R0C2 * R1C0 * R2C1 + R0C1 * R1C2 * R2C0 - R0C2 * R1C1 * R2C0; } } public void Transpose() { Functions.Swap(ref R0C1, ref R1C0); Functions.Swap(ref R0C2, ref R2C0); Functions.Swap(ref R1C2, ref R2C1); } public void Transpose(out Matrix3d result) { result.R0C0 = R0C0; result.R0C1 = R1C0; result.R0C2 = R2C0; result.R1C0 = R0C1; result.R1C1 = R1C1; result.R1C2 = R2C1; result.R2C0 = R0C2; result.R2C1 = R1C2; result.R2C2 = R2C2; } public static void Transpose(ref Matrix3d matrix, out Matrix3d result) { result.R0C0 = matrix.R0C0; result.R0C1 = matrix.R1C0; result.R0C2 = matrix.R2C0; result.R1C0 = matrix.R0C1; result.R1C1 = matrix.R1C1; result.R1C2 = matrix.R2C1; result.R2C0 = matrix.R0C2; result.R2C1 = matrix.R1C2; result.R2C2 = matrix.R2C2; } #endregion #region Transformation Functions public void Transform(ref Vector3d vector) { double x = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z; double y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z; vector.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z; vector.X = x; vector.Y = y; } public static void Transform(ref Matrix3d matrix, ref Vector3d vector) { double x = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z; double y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z; vector.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z; vector.X = x; vector.Y = y; } public void Transform(ref Vector3d vector, out Vector3d result) { result.X = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z; result.Y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z; result.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z; } public static void Transform(ref Matrix3d matrix, ref Vector3d vector, out Vector3d result) { result.X = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z; result.Y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z; result.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z; } public void Rotate(double angle) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); double r0c0 = cos * R0C0 + sin * R1C0; double r0c1 = cos * R0C1 + sin * R1C1; double r0c2 = cos * R0C2 + sin * R1C2; R1C0 = cos * R1C0 - sin * R0C0; R1C1 = cos * R1C1 - sin * R0C1; R1C2 = cos * R1C2 - sin * R0C2; R0C0 = r0c0; R0C1 = r0c1; R0C2 = r0c2; } public void Rotate(double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos * R0C0 + sin * R1C0; result.R0C1 = cos * R0C1 + sin * R1C1; result.R0C2 = cos * R0C2 + sin * R1C2; result.R1C0 = cos * R1C0 - sin * R0C0; result.R1C1 = cos * R1C1 - sin * R0C1; result.R1C2 = cos * R1C2 - sin * R0C2; result.R2C0 = R2C0; result.R2C1 = R2C1; result.R2C2 = R2C2; } public static void Rotate(ref Matrix3d matrix, double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos * matrix.R0C0 + sin * matrix.R1C0; result.R0C1 = cos * matrix.R0C1 + sin * matrix.R1C1; result.R0C2 = cos * matrix.R0C2 + sin * matrix.R1C2; result.R1C0 = cos * matrix.R1C0 - sin * matrix.R0C0; result.R1C1 = cos * matrix.R1C1 - sin * matrix.R0C1; result.R1C2 = cos * matrix.R1C2 - sin * matrix.R0C2; result.R2C0 = matrix.R2C0; result.R2C1 = matrix.R2C1; result.R2C2 = matrix.R2C2; } public static void RotateMatrix(double angle, out Matrix3d result) { double angleRadians = Functions.DTOR * angle; double sin = (double)System.Math.Sin(angleRadians); double cos = (double)System.Math.Cos(angleRadians); result.R0C0 = cos; result.R0C1 = sin; result.R0C2 = 0; result.R1C0 = -sin; result.R1C1 = cos; result.R1C2 = 0; result.R2C0 = 0; result.R2C1 = 0; result.R2C2 = 1; } public Quaterniond ToQuaternion() { //return new Quaterniond(ref this); } #endregion #region Constants /// The identity matrix. public static readonly Matrix3d Identity = new Matrix3d ( 1, 0, 0, 0, 1, 0, 0, 0, 1 ); /// A matrix of all zeros. public static readonly Matrix3d Zero = new Matrix3d ( 0, 0, 0, 0, 0, 0, 0, 0, 0 ); #endregion #region HashCode /// Returns the hash code for this instance. /// A 32-bit signed integer that is the hash code for this instance. public override int GetHashCode() { return R0C0.GetHashCode() ^ R0C1.GetHashCode() ^ R0C2.GetHashCode() ^ R1C0.GetHashCode() ^ R1C1.GetHashCode() ^ R1C2.GetHashCode() ^ R2C0.GetHashCode() ^ R2C1.GetHashCode() ^ R2C2.GetHashCode(); } #endregion #region String /// Returns the fully qualified type name of this instance. /// A System.String containing left fully qualified type name. public override string ToString() { return String.Format( "|{00}, {01}, {02}|\n" + "|{03}, {04}, {05}|\n" + "|{06}, {07}, {18}|\n" + R0C0, R0C1, R0C2, R1C0, R1C1, R1C2, R2C0, R2C1, R2C2); } #endregion } #endif #pragma warning restore 3019 } opentk-1.0.20101006/Source/OpenTK/Math/Quaternion.cs0000664000175000017500000005626511453131422020525 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.ComponentModel; using System.Xml.Serialization; namespace OpenTK { /// /// Represents a Quaternion. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Quaternion : IEquatable { #region Fields Vector3 xyz; float w; #endregion #region Constructors /// /// Construct a new Quaternion from vector and w components /// /// The vector part /// The w part public Quaternion(Vector3 v, float w) { this.xyz = v; this.w = w; } /// /// Construct a new Quaternion /// /// The x component /// The y component /// The z component /// The w component public Quaternion(float x, float y, float z, float w) : this(new Vector3(x, y, z), w) { } #endregion #region Public Members #region Properties /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// [Obsolete("Use Xyz property instead.")] [CLSCompliant(false)] [EditorBrowsable(EditorBrowsableState.Never)] [XmlIgnore] public Vector3 XYZ { get { return Xyz; } set { Xyz = value; } } /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// public Vector3 Xyz { get { return xyz; } set { xyz = value; } } /// /// Gets or sets the X component of this instance. /// [XmlIgnore] public float X { get { return xyz.X; } set { xyz.X = value; } } /// /// Gets or sets the Y component of this instance. /// [XmlIgnore] public float Y { get { return xyz.Y; } set { xyz.Y = value; } } /// /// Gets or sets the Z component of this instance. /// [XmlIgnore] public float Z { get { return xyz.Z; } set { xyz.Z = value; } } /// /// Gets or sets the W component of this instance. /// public float W { get { return w; } set { w = value; } } #endregion #region Instance #region ToAxisAngle /// /// Convert the current quaternion to axis angle representation /// /// The resultant axis /// The resultant angle public void ToAxisAngle(out Vector3 axis, out float angle) { Vector4 result = ToAxisAngle(); axis = result.Xyz; angle = result.W; } /// /// Convert this instance to an axis-angle representation. /// /// A Vector4 that is the axis-angle representation of this quaternion. public Vector4 ToAxisAngle() { Quaternion q = this; if (q.W > 1.0f) q.Normalize(); Vector4 result = new Vector4(); result.W = 2.0f * (float)System.Math.Acos(q.W); // angle float den = (float)System.Math.Sqrt(1.0 - q.W * q.W); if (den > 0.0001f) { result.Xyz = q.Xyz / den; } else { // This occurs when the angle is zero. // Not a problem: just set an arbitrary normalized axis. result.Xyz = Vector3.UnitX; } return result; } #endregion #region public float Length /// /// Gets the length (magnitude) of the quaternion. /// /// public float Length { get { return (float)System.Math.Sqrt(W * W + Xyz.LengthSquared); } } #endregion #region public float LengthSquared /// /// Gets the square of the quaternion length (magnitude). /// public float LengthSquared { get { return W * W + Xyz.LengthSquared; } } #endregion #region public void Normalize() /// /// Scales the Quaternion to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; Xyz *= scale; W *= scale; } #endregion #region public void Conjugate() /// /// Convert this quaternion to its conjugate /// public void Conjugate() { Xyz = -Xyz; } #endregion #endregion #region Static #region Fields /// /// Defines the identity quaternion. /// public static Quaternion Identity = new Quaternion(0, 0, 0, 1); #endregion #region Add /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static Quaternion Add(Quaternion left, Quaternion right) { return new Quaternion( left.Xyz + right.Xyz, left.W + right.W); } /// /// Add two quaternions /// /// The first operand /// The second operand /// The result of the addition public static void Add(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( left.Xyz + right.Xyz, left.W + right.W); } #endregion #region Sub /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static Quaternion Sub(Quaternion left, Quaternion right) { return new Quaternion( left.Xyz - right.Xyz, left.W - right.W); } /// /// Subtracts two instances. /// /// The left instance. /// The right instance. /// The result of the operation. public static void Sub(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( left.Xyz - right.Xyz, left.W - right.W); } #endregion #region Mult /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. [Obsolete("Use Multiply instead.")] public static Quaternion Mult(Quaternion left, Quaternion right) { return new Quaternion( right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. [Obsolete("Use Multiply instead.")] public static void Mult(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. public static Quaternion Multiply(Quaternion left, Quaternion right) { Quaternion result; Multiply(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// A new instance containing the result of the calculation. public static void Multiply(ref Quaternion left, ref Quaternion right, out Quaternion result) { result = new Quaternion( right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz), left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz)); } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static void Multiply(ref Quaternion quaternion, float scale, out Quaternion result) { result = new Quaternion(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaternion Multiply(Quaternion quaternion, float scale) { return new Quaternion(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } #endregion #region Conjugate /// /// Get the conjugate of the given quaternion /// /// The quaternion /// The conjugate of the given quaternion public static Quaternion Conjugate(Quaternion q) { return new Quaternion(-q.Xyz, q.W); } /// /// Get the conjugate of the given quaternion /// /// The quaternion /// The conjugate of the given quaternion public static void Conjugate(ref Quaternion q, out Quaternion result) { result = new Quaternion(-q.Xyz, q.W); } #endregion #region Invert /// /// Get the inverse of the given quaternion /// /// The quaternion to invert /// The inverse of the given quaternion public static Quaternion Invert(Quaternion q) { Quaternion result; Invert(ref q, out result); return result; } /// /// Get the inverse of the given quaternion /// /// The quaternion to invert /// The inverse of the given quaternion public static void Invert(ref Quaternion q, out Quaternion result) { float lengthSq = q.LengthSquared; if (lengthSq != 0.0) { float i = 1.0f / lengthSq; result = new Quaternion(q.Xyz * -i, q.W * i); } else { result = q; } } #endregion #region Normalize /// /// Scale the given quaternion to unit length /// /// The quaternion to normalize /// The normalized quaternion public static Quaternion Normalize(Quaternion q) { Quaternion result; Normalize(ref q, out result); return result; } /// /// Scale the given quaternion to unit length /// /// The quaternion to normalize /// The normalized quaternion public static void Normalize(ref Quaternion q, out Quaternion result) { float scale = 1.0f / q.Length; result = new Quaternion(q.Xyz * scale, q.W * scale); } #endregion #region FromAxisAngle /// /// Build a quaternion from the given axis and angle /// /// The axis to rotate about /// The rotation angle in radians /// public static Quaternion FromAxisAngle(Vector3 axis, float angle) { if (axis.LengthSquared == 0.0f) return Identity; Quaternion result = Identity; angle *= 0.5f; axis.Normalize(); result.Xyz = axis * (float)System.Math.Sin(angle); result.W = (float)System.Math.Cos(angle); return Normalize(result); } #endregion #region Slerp /// /// Do Spherical linear interpolation between two quaternions /// /// The first quaternion /// The second quaternion /// The blend factor /// A smooth blend between the given quaternions public static Quaternion Slerp(Quaternion q1, Quaternion q2, float blend) { // if either input is zero, return the other. if (q1.LengthSquared == 0.0f) { if (q2.LengthSquared == 0.0f) { return Identity; } return q2; } else if (q2.LengthSquared == 0.0f) { return q1; } float cosHalfAngle = q1.W * q2.W + Vector3.Dot(q1.Xyz, q2.Xyz); if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f) { // angle = 0.0f, so just return one input. return q1; } else if (cosHalfAngle < 0.0f) { q2.Xyz = -q2.Xyz; q2.W = -q2.W; cosHalfAngle = -cosHalfAngle; } float blendA; float blendB; if (cosHalfAngle < 0.99f) { // do proper slerp for big angles float halfAngle = (float)System.Math.Acos(cosHalfAngle); float sinHalfAngle = (float)System.Math.Sin(halfAngle); float oneOverSinHalfAngle = 1.0f / sinHalfAngle; blendA = (float)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle; blendB = (float)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle; } else { // do lerp if angle is really small. blendA = 1.0f - blend; blendB = blend; } Quaternion result = new Quaternion(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W); if (result.LengthSquared > 0.0f) return Normalize(result); else return Identity; } #endregion #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaternion operator +(Quaternion left, Quaternion right) { left.Xyz += right.Xyz; left.W += right.W; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaternion operator -(Quaternion left, Quaternion right) { left.Xyz -= right.Xyz; left.W -= right.W; return left; } /// /// Multiplies two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Quaternion operator *(Quaternion left, Quaternion right) { Multiply(ref left, ref right, out left); return left; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaternion operator *(Quaternion quaternion, float scale) { Multiply(ref quaternion, scale, out quaternion); return quaternion; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// A new instance containing the result of the calculation. public static Quaternion operator *(float scale, Quaternion quaternion) { return new Quaternion(quaternion.X * scale, quaternion.Y * scale, quaternion.Z * scale, quaternion.W * scale); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Quaternion left, Quaternion right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equal right; false otherwise. public static bool operator !=(Quaternion left, Quaternion right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Quaternion. /// /// public override string ToString() { return String.Format("V: {0}, W: {1}", Xyz, W); } #endregion #region public override bool Equals (object o) /// /// Compares this object instance to another object for equality. /// /// The other object to be used in the comparison. /// True if both objects are Quaternions of equal value. Otherwise it returns false. public override bool Equals(object other) { if (other is Quaternion == false) return false; return this == (Quaternion)other; } #endregion #region public override int GetHashCode () /// /// Provides the hash code for this object. /// /// A hash code formed from the bitwise XOR of this objects members. public override int GetHashCode() { return Xyz.GetHashCode() ^ W.GetHashCode(); } #endregion #endregion #endregion #region IEquatable Members /// /// Compares this Quaternion instance to another Quaternion for equality. /// /// The other Quaternion to be used in the comparison. /// True if both instances are equal; false otherwise. public bool Equals(Quaternion other) { return Xyz == other.Xyz && W == other.W; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Matrix4.cs0000664000175000017500000014476011453131422017726 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK { /// /// Represents a 4x4 Matrix /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix4 : IEquatable { #region Fields /// /// Top row of the matrix /// public Vector4 Row0; /// /// 2nd row of the matrix /// public Vector4 Row1; /// /// 3rd row of the matrix /// public Vector4 Row2; /// /// Bottom row of the matrix /// public Vector4 Row3; /// /// The identity matrix /// public static Matrix4 Identity = new Matrix4(Vector4.UnitX, Vector4.UnitY, Vector4.UnitZ, Vector4.UnitW); #endregion #region Constructors /// /// Constructs a new instance. /// /// Top row of the matrix /// Second row of the matrix /// Third row of the matrix /// Bottom row of the matrix public Matrix4(Vector4 row0, Vector4 row1, Vector4 row2, Vector4 row3) { Row0 = row0; Row1 = row1; Row2 = row2; Row3 = row3; } /// /// Constructs a new instance. /// /// First item of the first row of the matrix. /// Second item of the first row of the matrix. /// Third item of the first row of the matrix. /// Fourth item of the first row of the matrix. /// First item of the second row of the matrix. /// Second item of the second row of the matrix. /// Third item of the second row of the matrix. /// Fourth item of the second row of the matrix. /// First item of the third row of the matrix. /// Second item of the third row of the matrix. /// Third item of the third row of the matrix. /// First item of the third row of the matrix. /// Fourth item of the fourth row of the matrix. /// Second item of the fourth row of the matrix. /// Third item of the fourth row of the matrix. /// Fourth item of the fourth row of the matrix. public Matrix4( float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) { Row0 = new Vector4(m00, m01, m02, m03); Row1 = new Vector4(m10, m11, m12, m13); Row2 = new Vector4(m20, m21, m22, m23); Row3 = new Vector4(m30, m31, m32, m33); } #endregion #region Public Members #region Properties /// /// The determinant of this matrix /// public float Determinant { get { return Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X; } } /// /// The first column of this matrix /// public Vector4 Column0 { get { return new Vector4(Row0.X, Row1.X, Row2.X, Row3.X); } } /// /// The second column of this matrix /// public Vector4 Column1 { get { return new Vector4(Row0.Y, Row1.Y, Row2.Y, Row3.Y); } } /// /// The third column of this matrix /// public Vector4 Column2 { get { return new Vector4(Row0.Z, Row1.Z, Row2.Z, Row3.Z); } } /// /// The fourth column of this matrix /// public Vector4 Column3 { get { return new Vector4(Row0.W, Row1.W, Row2.W, Row3.W); } } /// /// Gets or sets the value at row 1, column 1 of this instance. /// public float M11 { get { return Row0.X; } set { Row0.X = value; } } /// /// Gets or sets the value at row 1, column 2 of this instance. /// public float M12 { get { return Row0.Y; } set { Row0.Y = value; } } /// /// Gets or sets the value at row 1, column 3 of this instance. /// public float M13 { get { return Row0.Z; } set { Row0.Z = value; } } /// /// Gets or sets the value at row 1, column 4 of this instance. /// public float M14 { get { return Row0.W; } set { Row0.W = value; } } /// /// Gets or sets the value at row 2, column 1 of this instance. /// public float M21 { get { return Row1.X; } set { Row1.X = value; } } /// /// Gets or sets the value at row 2, column 2 of this instance. /// public float M22 { get { return Row1.Y; } set { Row1.Y = value; } } /// /// Gets or sets the value at row 2, column 3 of this instance. /// public float M23 { get { return Row1.Z; } set { Row1.Z = value; } } /// /// Gets or sets the value at row 2, column 4 of this instance. /// public float M24 { get { return Row1.W; } set { Row1.W = value; } } /// /// Gets or sets the value at row 3, column 1 of this instance. /// public float M31 { get { return Row2.X; } set { Row2.X = value; } } /// /// Gets or sets the value at row 3, column 2 of this instance. /// public float M32 { get { return Row2.Y; } set { Row2.Y = value; } } /// /// Gets or sets the value at row 3, column 3 of this instance. /// public float M33 { get { return Row2.Z; } set { Row2.Z = value; } } /// /// Gets or sets the value at row 3, column 4 of this instance. /// public float M34 { get { return Row2.W; } set { Row2.W = value; } } /// /// Gets or sets the value at row 4, column 1 of this instance. /// public float M41 { get { return Row3.X; } set { Row3.X = value; } } /// /// Gets or sets the value at row 4, column 2 of this instance. /// public float M42 { get { return Row3.Y; } set { Row3.Y = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public float M43 { get { return Row3.Z; } set { Row3.Z = value; } } /// /// Gets or sets the value at row 4, column 4 of this instance. /// public float M44 { get { return Row3.W; } set { Row3.W = value; } } #endregion #region Instance #region public void Invert() /// /// Converts this instance into its inverse. /// public void Invert() { this = Matrix4.Invert(this); } #endregion #region public void Transpose() /// /// Converts this instance into its transpose. /// public void Transpose() { this = Matrix4.Transpose(this); } #endregion #endregion #region Static #region CreateFromAxisAngle /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static void CreateFromAxisAngle(Vector3 axis, float angle, out Matrix4 result) { float cos = (float)System.Math.Cos(-angle); float sin = (float)System.Math.Sin(-angle); float t = 1.0f - cos; axis.Normalize(); result = new Matrix4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f, t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f, t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f, 0, 0, 0, 1); } /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static Matrix4 CreateFromAxisAngle(Vector3 axis, float angle) { Matrix4 result; CreateFromAxisAngle(axis, angle, out result); return result; } #endregion #region CreateRotation[XYZ] /// /// Builds a rotation matrix for a rotation around the x-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationX(float angle, out Matrix4 result) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); result.Row0 = Vector4.UnitX; result.Row1 = new Vector4(0.0f, cos, sin, 0.0f); result.Row2 = new Vector4(0.0f, -sin, cos, 0.0f); result.Row3 = Vector4.UnitW; } /// /// Builds a rotation matrix for a rotation around the x-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4 CreateRotationX(float angle) { Matrix4 result; CreateRotationX(angle, out result); return result; } /// /// Builds a rotation matrix for a rotation around the y-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationY(float angle, out Matrix4 result) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); result.Row0 = new Vector4(cos, 0.0f, -sin, 0.0f); result.Row1 = Vector4.UnitY; result.Row2 = new Vector4(sin, 0.0f, cos, 0.0f); result.Row3 = Vector4.UnitW; } /// /// Builds a rotation matrix for a rotation around the y-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4 CreateRotationY(float angle) { Matrix4 result; CreateRotationY(angle, out result); return result; } /// /// Builds a rotation matrix for a rotation around the z-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationZ(float angle, out Matrix4 result) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); result.Row0 = new Vector4(cos, sin, 0.0f, 0.0f); result.Row1 = new Vector4(-sin, cos, 0.0f, 0.0f); result.Row2 = Vector4.UnitZ; result.Row3 = Vector4.UnitW; } /// /// Builds a rotation matrix for a rotation around the z-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4 CreateRotationZ(float angle) { Matrix4 result; CreateRotationZ(angle, out result); return result; } #endregion #region CreateTranslation /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4 instance. public static void CreateTranslation(float x, float y, float z, out Matrix4 result) { result = Identity; result.Row3 = new Vector4(x, y, z, 1); } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4 instance. public static void CreateTranslation(ref Vector3 vector, out Matrix4 result) { result = Identity; result.Row3 = new Vector4(vector.X, vector.Y, vector.Z, 1); } /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4 instance. public static Matrix4 CreateTranslation(float x, float y, float z) { Matrix4 result; CreateTranslation(x, y, z, out result); return result; } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4 instance. public static Matrix4 CreateTranslation(Vector3 vector) { Matrix4 result; CreateTranslation(vector.X, vector.Y, vector.Z, out result); return result; } #endregion #region CreateOrthographic /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static void CreateOrthographic(float width, float height, float zNear, float zFar, out Matrix4 result) { CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); } /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static Matrix4 CreateOrthographic(float width, float height, float zNear, float zFar) { Matrix4 result; CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); return result; } #endregion #region CreateOrthographicOffCenter /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static void CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) { result = new Matrix4(); float invRL = 1 / (right - left); float invTB = 1 / (top - bottom); float invFN = 1 / (zFar - zNear); result.M11 = 2 * invRL; result.M22 = 2 * invTB; result.M33 = -2 * invFN; result.M41 = -(right + left) * invRL; result.M42 = -(top + bottom) * invTB; result.M43 = -(zFar + zNear) * invFN; result.M44 = 1; } /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4 instance. public static Matrix4 CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar) { Matrix4 result; CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveFieldOfView /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar, out Matrix4 result) { if (fovy <= 0 || fovy > Math.PI) throw new ArgumentOutOfRangeException("fovy"); if (aspect <= 0) throw new ArgumentOutOfRangeException("aspect"); if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); float yMax = zNear * (float)System.Math.Tan(0.5f * fovy); float yMin = -yMax; float xMin = yMin * aspect; float xMax = yMax * aspect; CreatePerspectiveOffCenter(xMin, xMax, yMin, yMax, zNear, zFar, out result); } /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4 CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar) { Matrix4 result; CreatePerspectiveFieldOfView(fovy, aspect, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveOffCenter /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result) { if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); float x = (2.0f * zNear) / (right - left); float y = (2.0f * zNear) / (top - bottom); float a = (right + left) / (right - left); float b = (top + bottom) / (top - bottom); float c = -(zFar + zNear) / (zFar - zNear); float d = -(2.0f * zFar * zNear) / (zFar - zNear); result = new Matrix4(x, 0, 0, 0, 0, y, 0, 0, a, b, c, -1, 0, 0, d, 0); } /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4 CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar) { Matrix4 result; CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region Obsolete Functions #region Translation Functions /// /// Builds a translation matrix. /// /// The translation vector. /// A new Matrix4 instance. [Obsolete("Use CreateTranslation instead.")] public static Matrix4 Translation(Vector3 trans) { return Translation(trans.X, trans.Y, trans.Z); } /// /// Build a translation matrix with the given translation /// /// X translation /// Y translation /// Z translation /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4 Translation(float x, float y, float z) { Matrix4 result = Identity; result.Row3 = new Vector4(x, y, z, 1.0f); return result; } #endregion #endregion #region Scale Functions /// /// Build a scaling matrix /// /// Single scale factor for x,y and z axes /// A scaling matrix public static Matrix4 Scale(float scale) { return Scale(scale, scale, scale); } /// /// Build a scaling matrix /// /// Scale factors for x,y and z axes /// A scaling matrix public static Matrix4 Scale(Vector3 scale) { return Scale(scale.X, scale.Y, scale.Z); } /// /// Build a scaling matrix /// /// Scale factor for x-axis /// Scale factor for y-axis /// Scale factor for z-axis /// A scaling matrix public static Matrix4 Scale(float x, float y, float z) { Matrix4 result; result.Row0 = Vector4.UnitX * x; result.Row1 = Vector4.UnitY * y; result.Row2 = Vector4.UnitZ * z; result.Row3 = Vector4.UnitW; return result; } #endregion #region Rotation Functions /// /// Build a rotation matrix that rotates about the x-axis /// /// angle in radians to rotate counter-clockwise around the x-axis /// A rotation matrix [Obsolete("Use CreateRotationX instead.")] public static Matrix4 RotateX(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = Vector4.UnitX; result.Row1 = new Vector4(0.0f, cos, sin, 0.0f); result.Row2 = new Vector4(0.0f, -sin, cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix that rotates about the y-axis /// /// angle in radians to rotate counter-clockwise around the y-axis /// A rotation matrix [Obsolete("Use CreateRotationY instead.")] public static Matrix4 RotateY(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = new Vector4(cos, 0.0f, -sin, 0.0f); result.Row1 = Vector4.UnitY; result.Row2 = new Vector4(sin, 0.0f, cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix that rotates about the z-axis /// /// angle in radians to rotate counter-clockwise around the z-axis /// A rotation matrix [Obsolete("Use CreateRotationZ instead.")] public static Matrix4 RotateZ(float angle) { float cos = (float)System.Math.Cos(angle); float sin = (float)System.Math.Sin(angle); Matrix4 result; result.Row0 = new Vector4(cos, sin, 0.0f, 0.0f); result.Row1 = new Vector4(-sin, cos, 0.0f, 0.0f); result.Row2 = Vector4.UnitZ; result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix to rotate about the given axis /// /// the axis to rotate about /// angle in radians to rotate counter-clockwise (looking in the direction of the given axis) /// A rotation matrix [Obsolete("Use CreateFromAxisAngle instead.")] public static Matrix4 Rotate(Vector3 axis, float angle) { float cos = (float)System.Math.Cos(-angle); float sin = (float)System.Math.Sin(-angle); float t = 1.0f - cos; axis.Normalize(); Matrix4 result; result.Row0 = new Vector4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f); result.Row1 = new Vector4(t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f); result.Row2 = new Vector4(t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f); result.Row3 = Vector4.UnitW; return result; } /// /// Build a rotation matrix from a quaternion /// /// the quaternion /// A rotation matrix public static Matrix4 Rotate(Quaternion q) { Vector3 axis; float angle; q.ToAxisAngle(out axis, out angle); return CreateFromAxisAngle(axis, angle); } #endregion #region Camera Helper Functions /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4 LookAt(Vector3 eye, Vector3 target, Vector3 up) { Vector3 z = Vector3.Normalize(eye - target); Vector3 x = Vector3.Normalize(Vector3.Cross(up, z)); Vector3 y = Vector3.Normalize(Vector3.Cross(z, x)); Matrix4 rot = new Matrix4(new Vector4(x.X, y.X, z.X, 0.0f), new Vector4(x.Y, y.Y, z.Y, 0.0f), new Vector4(x.Z, y.Z, z.Z, 0.0f), Vector4.UnitW); Matrix4 trans = Matrix4.CreateTranslation(-eye); return trans * rot; } /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Eye (camera) position in world space /// Eye (camera) position in world space /// Target position in world space /// Target position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4 LookAt(float eyeX, float eyeY, float eyeZ, float targetX, float targetY, float targetZ, float upX, float upY, float upZ) { return LookAt(new Vector3(eyeX, eyeY, eyeZ), new Vector3(targetX, targetY, targetZ), new Vector3(upX, upY, upZ)); } /// /// Build a projection matrix /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space [Obsolete("Use CreatePerspectiveOffCenter instead.")] public static Matrix4 Frustum(float left, float right, float bottom, float top, float near, float far) { float invRL = 1.0f / (right - left); float invTB = 1.0f / (top - bottom); float invFN = 1.0f / (far - near); return new Matrix4(new Vector4(2.0f * near * invRL, 0.0f, 0.0f, 0.0f), new Vector4(0.0f, 2.0f * near * invTB, 0.0f, 0.0f), new Vector4((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0f), new Vector4(0.0f, 0.0f, -2.0f * far * near * invFN, 0.0f)); } /// /// Build a projection matrix /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space [Obsolete("Use CreatePerspectiveFieldOfView instead.")] public static Matrix4 Perspective(float fovy, float aspect, float near, float far) { float yMax = near * (float)System.Math.Tan(0.5f * fovy); float yMin = -yMax; float xMin = yMin * aspect; float xMax = yMax * aspect; return Frustum(xMin, xMax, yMin, yMax, near, far); } #endregion #region Multiply Functions /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static Matrix4 Mult(Matrix4 left, Matrix4 right) { Matrix4 result; Mult(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static void Mult(ref Matrix4 left, ref Matrix4 right, out Matrix4 result) { result = new Matrix4( left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41, left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42, left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43, left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44, left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41, left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42, left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43, left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44, left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41, left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42, left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43, left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44, left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41, left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42, left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43, left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44); } #endregion #region Invert Functions /// /// Calculate the inverse of the given matrix /// /// The matrix to invert /// The inverse of the given matrix if it has one, or the input if it is singular /// Thrown if the Matrix4 is singular. public static Matrix4 Invert(Matrix4 mat) { int[] colIdx = { 0, 0, 0, 0 }; int[] rowIdx = { 0, 0, 0, 0 }; int[] pivotIdx = { -1, -1, -1, -1 }; // convert the matrix to an array for easy looping float[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} }; int icol = 0; int irow = 0; for (int i = 0; i < 4; i++) { // Find the largest pivot value float maxPivot = 0.0f; for (int j = 0; j < 4; j++) { if (pivotIdx[j] != 0) { for (int k = 0; k < 4; ++k) { if (pivotIdx[k] == -1) { float absVal = System.Math.Abs(inverse[j, k]); if (absVal > maxPivot) { maxPivot = absVal; irow = j; icol = k; } } else if (pivotIdx[k] > 0) { return mat; } } } } ++(pivotIdx[icol]); // Swap rows over so pivot is on diagonal if (irow != icol) { for (int k = 0; k < 4; ++k) { float f = inverse[irow, k]; inverse[irow, k] = inverse[icol, k]; inverse[icol, k] = f; } } rowIdx[i] = irow; colIdx[i] = icol; float pivot = inverse[icol, icol]; // check for singular matrix if (pivot == 0.0f) { throw new InvalidOperationException("Matrix is singular and cannot be inverted."); //return mat; } // Scale row so it has a unit diagonal float oneOverPivot = 1.0f / pivot; inverse[icol, icol] = 1.0f; for (int k = 0; k < 4; ++k) inverse[icol, k] *= oneOverPivot; // Do elimination of non-diagonal elements for (int j = 0; j < 4; ++j) { // check this isn't on the diagonal if (icol != j) { float f = inverse[j, icol]; inverse[j, icol] = 0.0f; for (int k = 0; k < 4; ++k) inverse[j, k] -= inverse[icol, k] * f; } } } for (int j = 3; j >= 0; --j) { int ir = rowIdx[j]; int ic = colIdx[j]; for (int k = 0; k < 4; ++k) { float f = inverse[k, ir]; inverse[k, ir] = inverse[k, ic]; inverse[k, ic] = f; } } mat.Row0 = new Vector4(inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]); mat.Row1 = new Vector4(inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]); mat.Row2 = new Vector4(inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]); mat.Row3 = new Vector4(inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]); return mat; } #endregion #region Transpose /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The transpose of the given matrix public static Matrix4 Transpose(Matrix4 mat) { return new Matrix4(mat.Column0, mat.Column1, mat.Column2, mat.Column3); } /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The result of the calculation public static void Transpose(ref Matrix4 mat, out Matrix4 result) { result.Row0 = mat.Column0; result.Row1 = mat.Column1; result.Row2 = mat.Column2; result.Row3 = mat.Column3; } #endregion #endregion #region Operators /// /// Matrix multiplication /// /// left-hand operand /// right-hand operand /// A new Matrix44 which holds the result of the multiplication public static Matrix4 operator *(Matrix4 left, Matrix4 right) { return Matrix4.Mult(left, right); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Matrix4 left, Matrix4 right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equal right; false otherwise. public static bool operator !=(Matrix4 left, Matrix4 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Matrix44. /// /// public override string ToString() { return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare tresult. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Matrix4)) return false; return this.Equals((Matrix4)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current matrix is equal to another matrix. /// An matrix to compare with this matrix. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(Matrix4 other) { return Row0 == other.Row0 && Row1 == other.Row1 && Row2 == other.Row2 && Row3 == other.Row3; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Vector4.cs0000664000175000017500000012131511453131422017713 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK { /// Represents a 4D vector using four single-precision floating-point numbers. /// /// The Vector4 structure is suitable for interoperation with unmanaged code requiring four consecutive floats. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector4 : IEquatable { #region Fields /// /// The X component of the Vector4. /// public float X; /// /// The Y component of the Vector4. /// public float Y; /// /// The Z component of the Vector4. /// public float Z; /// /// The W component of the Vector4. /// public float W; /// /// Defines a unit-length Vector4 that points towards the X-axis. /// public static Vector4 UnitX = new Vector4(1, 0, 0, 0); /// /// Defines a unit-length Vector4 that points towards the Y-axis. /// public static Vector4 UnitY = new Vector4(0, 1, 0, 0); /// /// Defines a unit-length Vector4 that points towards the Z-axis. /// public static Vector4 UnitZ = new Vector4(0, 0, 1, 0); /// /// Defines a unit-length Vector4 that points towards the W-axis. /// public static Vector4 UnitW = new Vector4(0, 0, 0, 1); /// /// Defines a zero-length Vector4. /// public static Vector4 Zero = new Vector4(0, 0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector4 One = new Vector4(1, 1, 1, 1); /// /// Defines the size of the Vector4 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4()); #endregion #region Constructors /// /// Constructs a new Vector4. /// /// The x component of the Vector4. /// The y component of the Vector4. /// The z component of the Vector4. /// The w component of the Vector4. public Vector4(float x, float y, float z, float w) { X = x; Y = y; Z = z; W = w; } /// /// Constructs a new Vector4 from the given Vector2. /// /// The Vector2 to copy components from. public Vector4(Vector2 v) { X = v.X; Y = v.Y; Z = 0.0f; W = 0.0f; } /// /// Constructs a new Vector4 from the given Vector3. /// /// The Vector3 to copy components from. public Vector4(Vector3 v) { X = v.X; Y = v.Y; Z = v.Z; W = 0.0f; } /// /// Constructs a new Vector4 from the specified Vector3 and w component. /// /// The Vector3 to copy components from. /// The w component of the new Vector4. public Vector4(Vector3 v, float w) { X = v.X; Y = v.Y; Z = v.Z; W = w; } /// /// Constructs a new Vector4 from the given Vector4. /// /// The Vector4 to copy components from. public Vector4(Vector4 v) { X = v.X; Y = v.Y; Z = v.Z; W = v.W; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector4 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector4 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; this.W += right.W; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector4 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector4 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; this.W -= right.W; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(float f) { this.X *= f; this.Y *= f; this.Z *= f; this.W *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(float f) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; this.Z *= mult; this.W *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y + Z * Z + W * W; } } #endregion #region public void Normalize() /// /// Scales the Vector4 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector4 to approximately unit length. /// public void NormalizeFast() { float scale = MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W); X *= scale; Y *= scale; Z *= scale; W *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector4 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. /// The scale of the Z component. [Obsolete("Use static Multiply() method instead.")] public void Scale(float sx, float sy, float sz, float sw) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; this.W = W * sw; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector4 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector4 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; this.W *= scale.W; } #endregion public void Scale() #endregion #region Static #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector4 Sub(Vector4 a, Vector4 b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; a.W -= b.W; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Sub(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; result.W = a.W - b.W; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static Vector4 Mult(Vector4 a, float f) { a.X *= f; a.Y *= f; a.Z *= f; a.W *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication public static void Mult(ref Vector4 a, float f, out Vector4 result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; result.W = a.W * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static Vector4 Div(Vector4 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; a.W *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division public static void Div(ref Vector4 a, float f, out Vector4 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; result.W = a.W * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector4 Add(Vector4 a, Vector4 b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector4 a, ref Vector4 b, out Vector4 result) { result = new Vector4(a.X + b.X, a.Y + b.Y, a.Z + b.Z, a.W + b.W); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector4 Subtract(Vector4 a, Vector4 b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector4 a, ref Vector4 b, out Vector4 result) { result = new Vector4(a.X - b.X, a.Y - b.Y, a.Z - b.Z, a.W - b.W); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4 Multiply(Vector4 vector, float scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector4 vector, float scale, out Vector4 result) { result = new Vector4(vector.X * scale, vector.Y * scale, vector.Z * scale, vector.W * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4 Multiply(Vector4 vector, Vector4 scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector4 vector, ref Vector4 scale, out Vector4 result) { result = new Vector4(vector.X * scale.X, vector.Y * scale.Y, vector.Z * scale.Z, vector.W * scale.W); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4 Divide(Vector4 vector, float scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector4 vector, float scale, out Vector4 result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector4 Divide(Vector4 vector, Vector4 scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector4 vector, ref Vector4 scale, out Vector4 result) { result = new Vector4(vector.X / scale.X, vector.Y / scale.Y, vector.Z / scale.Z, vector.W / scale.W); } #endregion #region Min /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector4 Min(Vector4 a, Vector4 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; a.W = a.W < b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void Min(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; result.W = a.W < b.W ? a.W : b.W; } #endregion #region Max /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector4 Max(Vector4 a, Vector4 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; a.W = a.W > b.W ? a.W : b.W; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void Max(ref Vector4 a, ref Vector4 b, out Vector4 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; result.W = a.W > b.W ? a.W : b.W; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector4 vec, ref Vector4 min, ref Vector4 max, out Vector4 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector4 Normalize(Vector4 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector4 vec, out Vector4 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector4 NormalizeFast(Vector4 vec) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector4 vec, out Vector4 result) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; result.W = vec.W * scale; } #endregion #region Dot /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector4 left, Vector4 right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } /// /// Calculate the dot product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector4 left, ref Vector4 right, out float result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W; } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector4 Lerp(Vector4 a, Vector4 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; a.W = blend * (b.W - a.W) + a.W; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector4 a, ref Vector4 b, float blend, out Vector4 result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; result.W = blend * (b.W - a.W) + a.W; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector4 a, ref Vector4 b, ref Vector4 c, float u, float v, out Vector4 result) { result = a; // copy Vector4 temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector4 Transform(Vector4 vec, Matrix4 mat) { Vector4 result; Transform(ref vec, ref mat, out result); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector4 vec, ref Matrix4 mat, out Vector4 result) { result = new Vector4( vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X + vec.W * mat.Row3.X, vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y + vec.W * mat.Row3.Y, vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z + vec.W * mat.Row3.Z, vec.X * mat.Row0.W + vec.Y * mat.Row1.W + vec.Z * mat.Row2.W + vec.W * mat.Row3.W); } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector4 Transform(Vector4 vec, Quaternion quat) { Vector4 result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector4 vec, ref Quaternion quat, out Vector4 result) { Quaternion v = new Quaternion(vec.X, vec.Y, vec.Z, vec.W), i, t; Quaternion.Invert(ref quat, out i); Quaternion.Multiply(ref quat, ref v, out t); Quaternion.Multiply(ref t, ref i, out v); result = new Vector4(v.X, v.Y, v.Z, v.W); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. /// [XmlIgnore] public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } } /// /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance. /// [XmlIgnore] public Vector3 Xyz { get { return new Vector3(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } } #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector4 operator +(Vector4 left, Vector4 right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; left.W += right.W; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector4 operator -(Vector4 left, Vector4 right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; left.W -= right.W; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the calculation. public static Vector4 operator -(Vector4 vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; vec.W = -vec.W; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector4 operator *(Vector4 vec, float scale) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Multiplies an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the calculation. public static Vector4 operator *(float scale, Vector4 vec) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; vec.W *= scale; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector4 operator /(Vector4 vec, float scale) { float mult = 1.0f / scale; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; vec.W *= mult; return vec; } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Vector4 left, Vector4 right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equa lright; false otherwise. public static bool operator !=(Vector4 left, Vector4 right) { return !left.Equals(right); } /// /// Returns a pointer to the first element of the specified instance. /// /// The instance. /// A pointer to the first element of v. [CLSCompliant(false)] unsafe public static explicit operator float*(Vector4 v) { return &v.X; } /// /// Returns a pointer to the first element of the specified instance. /// /// The instance. /// A pointer to the first element of v. public static explicit operator IntPtr(Vector4 v) { unsafe { return (IntPtr)(&v.X); } } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector4. /// /// public override string ToString() { return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector4)) return false; return this.Equals((Vector4)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector4 other) { return X == other.X && Y == other.Y && Z == other.Z && W == other.W; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Box2.cs0000664000175000017500000000663011453131422017201 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace OpenTK { /// /// Defines a 2d box (rectangle). /// [StructLayout(LayoutKind.Sequential)] public struct Box2 { /// /// The left boundary of the structure. /// public float Left; /// /// The right boundary of the structure. /// public float Right; /// /// The top boundary of the structure. /// public float Top; /// /// The bottom boundary of the structure. /// public float Bottom; /// /// Constructs a new Box2 with the specified dimensions. /// /// AnOpenTK.Vector2 describing the top-left corner of the Box2. /// An OpenTK.Vector2 describing the bottom-right corner of the Box2. public Box2(Vector2 topLeft, Vector2 bottomRight) { Left = topLeft.X; Top = topLeft.Y; Right = topLeft.X; Bottom = topLeft.Y; } /// /// Constructs a new Box2 with the specified dimensions. /// /// The position of the left boundary. /// The position of the top boundary. /// The position of the right boundary. /// The position of the bottom boundary. public Box2(float left, float top, float right, float bottom) { Left = left; Top = top; Right = right; Bottom = bottom; } /// /// Creates a new Box2 with the specified dimensions. /// /// The position of the top boundary. /// The position of the left boundary. /// The position of the right boundary. /// The position of the bottom boundary. /// A new OpenTK.Box2 with the specfied dimensions. public static Box2 FromTLRB(float top, float left, float right, float bottom) { return new Box2(left, top, right, bottom); } /// /// Gets a float describing the width of the Box2 structure. /// public float Width { get { return (float)System.Math.Abs(Right - Left); } } /// /// Gets a float describing the height of the Box2 structure. /// public float Height { get { return (float)System.Math.Abs(Bottom - Top); } } /// /// Returns a describing the current instance. /// /// public override string ToString() { return String.Format("({0},{1})-({2},{3})", Left, Top, Right, Bottom); } } } opentk-1.0.20101006/Source/OpenTK/Math/BezierCurveQuadric.cs0000664000175000017500000001177411453131422022132 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Represents a quadric bezier curve with two anchor and one control point. /// [Serializable] public struct BezierCurveQuadric { #region Fields /// /// Start anchor point. /// public Vector2 StartAnchor; /// /// End anchor point. /// public Vector2 EndAnchor; /// /// Control point, controls the direction of both endings of the curve. /// public Vector2 ControlPoint; /// /// The parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.f to the orignal curve at any point. public float Parallel; #endregion #region Constructors /// /// Constructs a new . /// /// The start anchor. /// The end anchor. /// The control point. public BezierCurveQuadric(Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint) { this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.ControlPoint = controlPoint; this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The start anchor. /// The end anchor. /// The control point. public BezierCurveQuadric(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint) { this.Parallel = parallel; this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.ControlPoint = controlPoint; } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (c * c * StartAnchor.X) + (2 * t * c * ControlPoint.X) + (t * t * EndAnchor.X); r.Y = (c * c * StartAnchor.Y) + (2 * t * c * ControlPoint.Y) + (t * t * EndAnchor.Y); if (Parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t == 0.0f) perpendicular = ControlPoint - StartAnchor; else perpendicular = r - CalculatePointOfDerivative(t); return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel; } /// /// Calculates the point with the specified t of the derivative of this function. /// /// The t, value between 0.0f and 1.0f. /// Resulting point. private Vector2 CalculatePointOfDerivative(float t) { Vector2 r = new Vector2(); r.X = (1.0f - t) * StartAnchor.X + t * ControlPoint.X; r.Y = (1.0f - t) * StartAnchor.Y + t * ControlPoint.Y; return r; } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of curve. /// The precision gets better when the /// value gets smaller. public float CalculateLength(float precision) { float length = 0.0f; Vector2 old = CalculatePoint(0.0f); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(i); length += (n - old).Length; old = n; } return length; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Functions.cs0000664000175000017500000003274511453131422020345 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Andy Gill, James Talton and Georg Wächter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Contains mathematical functions for the OpenTK.Math toolkit. /// [Obsolete("Use OpenTK.MathHelper instead.")] public static class Functions { #region NextPowerOfTwo /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static long NextPowerOfTwo(long n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (long)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static int NextPowerOfTwo(int n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (int)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static float NextPowerOfTwo(float n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (float)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static double NextPowerOfTwo(double n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion #region Factorial /// Calculates the factorial of a given natural number. /// /// The number. /// n! public static long Factorial(int n) { long result = 1; for (; n > 1; n--) result *= n; return result; } #endregion #region BinomialCoefficient /// /// Calculates the binomial coefficient above . /// /// The n. /// The k. /// n! / (k! * (n - k)!) public static long BinomialCoefficient(int n, int k) { return Factorial(n) / (Factorial(k) * Factorial(n - k)); } #endregion #region InverseSqrtFast /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static float InverseSqrtFast(float x) { unsafe { float xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } } /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static double InverseSqrtFast(double x) { return InverseSqrtFast((float)x); // TODO: The following code is wrong. Fix it, to improve precision. #if false unsafe { double xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } #endif } #endregion #region DegreesToRadians /// /// Convert degrees to radians /// /// An angle in degrees /// The angle expressed in radians public static float DegreesToRadians(float degrees) { const float degToRad = (float)System.Math.PI / 180.0f; return degrees * degToRad; } /// /// Convert radians to degrees /// /// An angle in radians /// The angle expressed in degrees public static float RadiansToDegrees(float radians) { const float radToDeg = 180.0f / (float)System.Math.PI; return radians * radToDeg; } #endregion #region Mathematical constants /// /// Obsolete. Do not use. /// public static readonly float PIF = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382f; /// /// Obsolete. Do not use. /// public static readonly float RTODF = 180.0f / PIF; /// /// Obsolete. Do not use. /// public static readonly float DTORF = PIF / 180.0f; /// /// Obsolete. Do not use. /// public static readonly double PI = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382d; /// /// Obsolete. Do not use. /// public static readonly double RTOD = 180.0d / PIF; /// /// Obsolete. Do not use. /// public static readonly double DTOR = PIF / 180.0d; #endregion #region Swap /// /// Swaps two float values. /// /// The first value. /// The second value. public static void Swap(ref double a, ref double b) { double temp = a; a = b; b = temp; } /// /// Swaps two float values. /// /// The first value. /// The second value. public static void Swap(ref float a, ref float b) { float temp = a; a = b; b = temp; } #endregion } #if false public static partial class Math { #region --- Vectors --- #region --- Addition --- /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector2 Add(Vector2 left, Vector2 right) { return new Vector2(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector2 left, Vector3 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector2 left, Vector4 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector3 left, Vector2 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector3 Add(Vector3 left, Vector3 right) { return new Vector3(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector3 left, Vector4 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector2 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector2 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector3 to the current Vector3. /// /// The right operand of the addition. /// A new Vector3 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector3 right) { return new Vector4(left).Add(right); } /// /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected. /// /// The right operand of the addition. /// A new Vector4 containing the result of the addition. public static Vector4 Add(Vector4 left, Vector4 right) { return new Vector4(left).Add(right); } #endregion #region --- Subtraction --- #endregion #region --- Cross --- /// /// Computes the cross product between the current and the given Vector3. The current Vector3 is set to the result of the computation. /// /// The right operand of the cross product /// The current public static Vector3 Cross(Vector3 left, Vector3 right) { return new Vector3(left).Cross(right); } #endregion #endregion } #endif } opentk-1.0.20101006/Source/OpenTK/Math/Point.cs0000664000175000017500000002006511453131422017456 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { #if NO_SYSDRAWING /// /// Defines a point on a two-dimensional plane. /// public struct Point : IEquatable { #region Fields int x, y; #endregion #region Constructors /// /// Constructs a new Point instance. /// /// The X coordinate of this instance. /// The Y coordinate of this instance. public Point(int x, int y) : this() { X = x; Y = y; } #endregion #region Public Members /// /// Gets a that indicates whether this instance is empty or zero. /// public bool IsEmpty { get { return X == 0 && Y == 0; } } /// /// Gets or sets the X coordinate of this instance. /// public int X { get { return x; } set { x = value; } } /// /// Gets or sets the Y coordinate of this instance. /// public int Y { get { return y; } set { y = value; } } /// /// Returns the Point (0, 0). /// public static readonly Point Zero = new Point(); /// /// Returns the Point (0, 0). /// public static readonly Point Empty = new Point(); /// /// Translates the specified Point by the specified Size. /// /// /// The instance to translate. /// /// /// The instance to translate point with. /// /// /// A new instance translated by size. /// public static Point operator +(Point point, Size size) { return new Point(point.X + size.Width, point.Y + size.Height); } /// /// Translates the specified Point by the negative of the specified Size. /// /// /// The instance to translate. /// /// /// The instance to translate point with. /// /// /// A new instance translated by size. /// public static Point operator -(Point point, Size size) { return new Point(point.X - size.Width, point.Y - size.Height); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left is equal to right; false otherwise. public static bool operator ==(Point left, Point right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left is not equal to right; false otherwise. public static bool operator !=(Point left, Point right) { return !left.Equals(right); } /// /// Converts an OpenTK.Point instance to a System.Drawing.Point. /// /// /// The instance to convert. /// /// /// A instance equivalent to point. /// public static implicit operator System.Drawing.Point(Point point) { return new System.Drawing.Point(point.X, point.Y); } /// /// Converts a System.Drawing.Point instance to an OpenTK.Point. /// /// /// The instance to convert. /// /// /// A instance equivalent to point. /// public static implicit operator Point(System.Drawing.Point point) { return new Point(point.X, point.Y); } /// /// Converts an OpenTK.Point instance to a System.Drawing.PointF. /// /// /// The instance to convert. /// /// /// A instance equivalent to point. /// public static implicit operator System.Drawing.PointF(Point point) { return new System.Drawing.PointF(point.X, point.Y); } /// /// Indicates whether this instance is equal to the specified object. /// /// The object instance to compare to. /// True, if both instances are equal; false otherwise. public override bool Equals(object obj) { if (obj is Point) return Equals((Point)obj); return false; } /// /// Returns the hash code for this instance. /// /// A that represents the hash code for this instance./> public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode(); } /// /// Returns a that describes this instance. /// /// A that describes this instance. public override string ToString() { return String.Format("{{{0}, {1}}}", X, Y); } #endregion #region IEquatable Members /// /// Indicates whether this instance is equal to the specified Point. /// /// The instance to compare to. /// True, if both instances are equal; false otherwise. public bool Equals(Point other) { return X == other.X && Y == other.Y; } #endregion } #endif } opentk-1.0.20101006/Source/OpenTK/Math/BezierCurveCubic.cs0000664000175000017500000001353011453131422021557 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Georg W�chter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Represents a cubic bezier curve with two anchor and two control points. /// [Serializable] public struct BezierCurveCubic { #region Fields /// /// Start anchor point. /// public Vector2 StartAnchor; /// /// End anchor point. /// public Vector2 EndAnchor; /// /// First control point, controls the direction of the curve start. /// public Vector2 FirstControlPoint; /// /// Second control point, controls the direction of the curve end. /// public Vector2 SecondControlPoint; /// /// Gets or sets the parallel value. /// /// This value defines whether the curve should be calculated as a /// parallel curve to the original bezier curve. A value of 0.0f represents /// the original curve, 5.0f i.e. stands for a curve that has always a distance /// of 5.f to the orignal curve at any point. public float Parallel; #endregion #region Constructors /// /// Constructs a new . /// /// The start anchor point. /// The end anchor point. /// The first control point. /// The second control point. public BezierCurveCubic(Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint) { this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.FirstControlPoint = firstControlPoint; this.SecondControlPoint = secondControlPoint; this.Parallel = 0.0f; } /// /// Constructs a new . /// /// The parallel value. /// The start anchor point. /// The end anchor point. /// The first control point. /// The second control point. public BezierCurveCubic(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint) { this.Parallel = parallel; this.StartAnchor = startAnchor; this.EndAnchor = endAnchor; this.FirstControlPoint = firstControlPoint; this.SecondControlPoint = secondControlPoint; } #endregion #region Functions /// /// Calculates the point with the specified t. /// /// The t value, between 0.0f and 1.0f. /// Resulting point. public Vector2 CalculatePoint(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (StartAnchor.X * c * c * c) + (FirstControlPoint.X * 3 * t * c * c) + (SecondControlPoint.X * 3 * t * t * c) + EndAnchor.X * t * t * t; r.Y = (StartAnchor.Y * c * c * c) + (FirstControlPoint.Y * 3 * t * c * c) + (SecondControlPoint.Y * 3 * t * t * c) + EndAnchor.Y * t * t * t; if (Parallel == 0.0f) return r; Vector2 perpendicular = new Vector2(); if (t == 0.0f) perpendicular = FirstControlPoint - StartAnchor; else perpendicular = r - CalculatePointOfDerivative(t); return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel; } /// /// Calculates the point with the specified t of the derivative of this function. /// /// The t, value between 0.0f and 1.0f. /// Resulting point. private Vector2 CalculatePointOfDerivative(float t) { Vector2 r = new Vector2(); float c = 1.0f - t; r.X = (c * c * StartAnchor.X) + (2 * t * c * FirstControlPoint.X) + (t * t * SecondControlPoint.X); r.Y = (c * c * StartAnchor.Y) + (2 * t * c * FirstControlPoint.Y) + (t * t * SecondControlPoint.Y); return r; } /// /// Calculates the length of this bezier curve. /// /// The precision. /// Length of the curve. /// The precision gets better when the /// value gets smaller. public float CalculateLength(float precision) { float length = 0.0f; Vector2 old = CalculatePoint(0.0f); for (float i = precision; i < (1.0f + precision); i += precision) { Vector2 n = CalculatePoint(i); length += (n - old).Length; old = n; } return length; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Rectangle.cs0000664000175000017500000002663111453131422020276 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { #if NO_SYSDRAWING /// /// Represents a rectangular region on a two-dimensional plane. /// public struct Rectangle : IEquatable { #region Fields Point location; Size size; #endregion #region Constructors /// /// Constructs a new Rectangle instance. /// /// The top-left corner of the Rectangle. /// The width and height of the Rectangle. public Rectangle(Point location, Size size) : this() { Location = location; Size = size; } /// /// Constructs a new Rectangle instance. /// /// The x coordinate of the Rectangle. /// The y coordinate of the Rectangle. /// The width coordinate of the Rectangle. /// The height coordinate of the Rectangle. public Rectangle(int x, int y, int width, int height) : this(new Point(x, y), new Size(width, height)) { } #endregion #region Public Members /// /// Gets or sets the x coordinate of the Rectangle. /// public int X { get { return Location.X; } set { Location = new Point (value, Y); } } /// /// Gets or sets the y coordinate of the Rectangle. /// public int Y { get { return Location.Y; } set { Location = new Point (X, value); } } /// /// Gets or sets the width of the Rectangle. /// public int Width { get { return Size.Width; } set { Size = new Size (value, Height); } } /// /// Gets or sets the height of the Rectangle. /// public int Height { get { return Size.Height; } set { Size = new Size(Width, value); } } /// /// Gets or sets a representing the x and y coordinates /// of the Rectangle. /// public Point Location { get { return location; } set { location = value; } } /// /// Gets or sets a representing the width and height /// of the Rectangle. /// public Size Size { get { return size; } set { size = value; } } /// /// Gets the y coordinate of the top edge of this Rectangle. /// public int Top { get { return Y; } } /// /// Gets the x coordinate of the right edge of this Rectangle. /// public int Right { get { return X + Width; } } /// /// Gets the y coordinate of the bottom edge of this Rectangle. /// public int Bottom { get { return Y + Height; } } /// /// Gets the x coordinate of the left edge of this Rectangle. /// public int Left { get { return X; } } /// /// Gets a that indicates whether this /// Rectangle is equal to the empty Rectangle. /// public bool IsEmpty { get { return Location.IsEmpty && Size.IsEmpty; } } /// /// Defines the empty Rectangle. /// public static readonly Rectangle Zero = new Rectangle(); /// /// Defines the empty Rectangle. /// public static readonly Rectangle Empty = new Rectangle(); /// /// Constructs a new instance with the specified edges. /// /// The left edge of the Rectangle. /// The top edge of the Rectangle. /// The right edge of the Rectangle. /// The bottom edge of the Rectangle. /// A new Rectangle instance with the specified edges. public static Rectangle FromLTRB(int left, int top, int right, int bottom) { return new Rectangle(new Point(left, top), new Size(right - left, bottom - top)); } /// /// Tests whether this instance contains the specified Point. /// /// The to test. /// True if this instance contains point; false otherwise. /// The left and top edges are inclusive. The right and bottom edges /// are exclusive. public bool Contains(Point point) { return point.X >= Left && point.X < Right && point.Y >= Top && point.Y < Bottom; } /// /// Tests whether this instance contains the specified Rectangle. /// /// The to test. /// True if this instance contains rect; false otherwise. /// The left and top edges are inclusive. The right and bottom edges /// are exclusive. public bool Contains(Rectangle rect) { return Contains(rect.Location) && Contains(rect.Location + rect.Size); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left is equal to right; false otherwise. public static bool operator ==(Rectangle left, Rectangle right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left is not equal to right; false otherwise. public static bool operator !=(Rectangle left, Rectangle right) { return !left.Equals(right); } /// /// Converts an OpenTK.Rectangle instance to a System.Drawing.Rectangle. /// /// /// The instance to convert. /// /// /// A instance equivalent to rect. /// public static implicit operator System.Drawing.Rectangle(Rectangle rect) { return new System.Drawing.Rectangle(rect.Location, rect.Size); } /// /// Converts a System.Drawing.Rectangle instance to an OpenTK.Rectangle. /// /// /// The instance to convert. /// /// /// A instance equivalent to point. /// public static implicit operator Rectangle(System.Drawing.Rectangle rect) { return new Rectangle(rect.Location, rect.Size); } /// /// Converts an OpenTK.Rectangle instance to a System.Drawing.RectangleF. /// /// /// The instance to convert. /// /// /// A instance equivalent to rect. /// public static implicit operator System.Drawing.RectangleF(Rectangle rect) { return new System.Drawing.RectangleF(rect.Location, rect.Size); } /// /// Indicates whether this instance is equal to the specified object. /// /// The object instance to compare to. /// True, if both instances are equal; false otherwise. public override bool Equals(object obj) { if (obj is Rectangle) return Equals((Rectangle)obj); return false; } /// /// Returns the hash code for this instance. /// /// A that represents the hash code for this instance./> public override int GetHashCode() { return Location.GetHashCode() & Size.GetHashCode(); } /// /// Returns a that describes this instance. /// /// A that describes this instance. public override string ToString() { return String.Format("{{{0}-{1}}}", Location, Location + Size); } #endregion #region IEquatable Members /// /// Indicates whether this instance is equal to the specified Rectangle. /// /// The instance to compare to. /// True, if both instances are equal; false otherwise. public bool Equals(Rectangle other) { return Location.Equals(other.Location) && Size.Equals(other.Size); } #endregion } #endif } opentk-1.0.20101006/Source/OpenTK/Math/Vector3.cs0000664000175000017500000014121211453131422017710 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; using System.Xml.Serialization; namespace OpenTK { /// /// Represents a 3D vector using three single-precision floating-point numbers. /// /// /// The Vector3 structure is suitable for interoperation with unmanaged code requiring three consecutive floats. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Vector3 : IEquatable { #region Fields /// /// The X component of the Vector3. /// public float X; /// /// The Y component of the Vector3. /// public float Y; /// /// The Z component of the Vector3. /// public float Z; #endregion #region Constructors /// /// Constructs a new Vector3. /// /// The x component of the Vector3. /// The y component of the Vector3. /// The z component of the Vector3. public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; } /// /// Constructs a new Vector3 from the given Vector2. /// /// The Vector2 to copy components from. public Vector3(Vector2 v) { X = v.X; Y = v.Y; Z = 0.0f; } /// /// Constructs a new Vector3 from the given Vector3. /// /// The Vector3 to copy components from. public Vector3(Vector3 v) { X = v.X; Y = v.Y; Z = v.Z; } /// /// Constructs a new Vector3 from the given Vector4. /// /// The Vector4 to copy components from. public Vector3(Vector4 v) { X = v.X; Y = v.Y; Z = v.Z; } #endregion #region Public Members #region Instance #region public void Add() /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Add() method instead.")] public void Add(Vector3 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } /// Add the Vector passed as parameter to this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Add() method instead.")] public void Add(ref Vector3 right) { this.X += right.X; this.Y += right.Y; this.Z += right.Z; } #endregion public void Add() #region public void Sub() /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [Obsolete("Use static Subtract() method instead.")] public void Sub(Vector3 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } /// Subtract the Vector passed as parameter from this instance. /// Right operand. This parameter is only read from. [CLSCompliant(false)] [Obsolete("Use static Subtract() method instead.")] public void Sub(ref Vector3 right) { this.X -= right.X; this.Y -= right.Y; this.Z -= right.Z; } #endregion public void Sub() #region public void Mult() /// Multiply this instance by a scalar. /// Scalar operand. [Obsolete("Use static Multiply() method instead.")] public void Mult(float f) { this.X *= f; this.Y *= f; this.Z *= f; } #endregion public void Mult() #region public void Div() /// Divide this instance by a scalar. /// Scalar operand. [Obsolete("Use static Divide() method instead.")] public void Div(float f) { float mult = 1.0f / f; this.X *= mult; this.Y *= mult; this.Z *= mult; } #endregion public void Div() #region public float Length /// /// Gets the length (magnitude) of the vector. /// /// /// public float Length { get { return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z); } } #endregion #region public float LengthFast /// /// Gets an approximation of the vector length (magnitude). /// /// /// This property uses an approximation of the square root function to calculate vector magnitude, with /// an upper error bound of 0.001. /// /// /// public float LengthFast { get { return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); } } #endregion #region public float LengthSquared /// /// Gets the square of the vector length (magnitude). /// /// /// This property avoids the costly square root operation required by the Length property. This makes it more suitable /// for comparisons. /// /// /// public float LengthSquared { get { return X * X + Y * Y + Z * Z; } } #endregion #region public void Normalize() /// /// Scales the Vector3 to unit length. /// public void Normalize() { float scale = 1.0f / this.Length; X *= scale; Y *= scale; Z *= scale; } #endregion #region public void NormalizeFast() /// /// Scales the Vector3 to approximately unit length. /// public void NormalizeFast() { float scale = MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z); X *= scale; Y *= scale; Z *= scale; } #endregion #region public void Scale() /// /// Scales the current Vector3 by the given amounts. /// /// The scale of the X component. /// The scale of the Y component. /// The scale of the Z component. [Obsolete("Use static Multiply() method instead.")] public void Scale(float sx, float sy, float sz) { this.X = X * sx; this.Y = Y * sy; this.Z = Z * sz; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [Obsolete("Use static Multiply() method instead.")] public void Scale(Vector3 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } /// Scales this instance by the given parameter. /// The scaling of the individual components. [CLSCompliant(false)] [Obsolete("Use static Multiply() method instead.")] public void Scale(ref Vector3 scale) { this.X *= scale.X; this.Y *= scale.Y; this.Z *= scale.Z; } #endregion public void Scale() #endregion #region Static #region Fields /// /// Defines a unit-length Vector3 that points towards the X-axis. /// public static readonly Vector3 UnitX = new Vector3(1, 0, 0); /// /// Defines a unit-length Vector3 that points towards the Y-axis. /// public static readonly Vector3 UnitY = new Vector3(0, 1, 0); /// /// /// Defines a unit-length Vector3 that points towards the Z-axis. /// public static readonly Vector3 UnitZ = new Vector3(0, 0, 1); /// /// Defines a zero-length Vector3. /// public static readonly Vector3 Zero = new Vector3(0, 0, 0); /// /// Defines an instance with all components set to 1. /// public static readonly Vector3 One = new Vector3(1, 1, 1); /// /// Defines the size of the Vector3 struct in bytes. /// public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3()); #endregion #region Obsolete #region Sub /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static Vector3 Sub(Vector3 a, Vector3 b) { a.X -= b.X; a.Y -= b.Y; a.Z -= b.Z; return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction [Obsolete("Use static Subtract() method instead.")] public static void Sub(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X - b.X; result.Y = a.Y - b.Y; result.Z = a.Z - b.Z; } #endregion #region Mult /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static Vector3 Mult(Vector3 a, float f) { a.X *= f; a.Y *= f; a.Z *= f; return a; } /// /// Multiply a vector and a scalar /// /// Vector operand /// Scalar operand /// Result of the multiplication [Obsolete("Use static Multiply() method instead.")] public static void Mult(ref Vector3 a, float f, out Vector3 result) { result.X = a.X * f; result.Y = a.Y * f; result.Z = a.Z * f; } #endregion #region Div /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static Vector3 Div(Vector3 a, float f) { float mult = 1.0f / f; a.X *= mult; a.Y *= mult; a.Z *= mult; return a; } /// /// Divide a vector by a scalar /// /// Vector operand /// Scalar operand /// Result of the division [Obsolete("Use static Divide() method instead.")] public static void Div(ref Vector3 a, float f, out Vector3 result) { float mult = 1.0f / f; result.X = a.X * mult; result.Y = a.Y * mult; result.Z = a.Z * mult; } #endregion #endregion #region Add /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static Vector3 Add(Vector3 a, Vector3 b) { Add(ref a, ref b, out a); return a; } /// /// Adds two vectors. /// /// Left operand. /// Right operand. /// Result of operation. public static void Add(ref Vector3 a, ref Vector3 b, out Vector3 result) { result = new Vector3(a.X + b.X, a.Y + b.Y, a.Z + b.Z); } #endregion #region Subtract /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static Vector3 Subtract(Vector3 a, Vector3 b) { Subtract(ref a, ref b, out a); return a; } /// /// Subtract one Vector from another /// /// First operand /// Second operand /// Result of subtraction public static void Subtract(ref Vector3 a, ref Vector3 b, out Vector3 result) { result = new Vector3(a.X - b.X, a.Y - b.Y, a.Z - b.Z); } #endregion #region Multiply /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3 Multiply(Vector3 vector, float scale) { Multiply(ref vector, scale, out vector); return vector; } /// /// Multiplies a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector3 vector, float scale, out Vector3 result) { result = new Vector3(vector.X * scale, vector.Y * scale, vector.Z * scale); } /// /// Multiplies a vector by the components a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3 Multiply(Vector3 vector, Vector3 scale) { Multiply(ref vector, ref scale, out vector); return vector; } /// /// Multiplies a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Multiply(ref Vector3 vector, ref Vector3 scale, out Vector3 result) { result = new Vector3(vector.X * scale.X, vector.Y * scale.Y, vector.Z * scale.Z); } #endregion #region Divide /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3 Divide(Vector3 vector, float scale) { Divide(ref vector, scale, out vector); return vector; } /// /// Divides a vector by a scalar. /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector3 vector, float scale, out Vector3 result) { Multiply(ref vector, 1 / scale, out result); } /// /// Divides a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static Vector3 Divide(Vector3 vector, Vector3 scale) { Divide(ref vector, ref scale, out vector); return vector; } /// /// Divide a vector by the components of a vector (scale). /// /// Left operand. /// Right operand. /// Result of the operation. public static void Divide(ref Vector3 vector, ref Vector3 scale, out Vector3 result) { result = new Vector3(vector.X / scale.X, vector.Y / scale.Y, vector.Z / scale.Z); } #endregion #region ComponentMin /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static Vector3 ComponentMin(Vector3 a, Vector3 b) { a.X = a.X < b.X ? a.X : b.X; a.Y = a.Y < b.Y ? a.Y : b.Y; a.Z = a.Z < b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise minimum of two vectors /// /// First operand /// Second operand /// The component-wise minimum public static void ComponentMin(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X < b.X ? a.X : b.X; result.Y = a.Y < b.Y ? a.Y : b.Y; result.Z = a.Z < b.Z ? a.Z : b.Z; } #endregion #region ComponentMax /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static Vector3 ComponentMax(Vector3 a, Vector3 b) { a.X = a.X > b.X ? a.X : b.X; a.Y = a.Y > b.Y ? a.Y : b.Y; a.Z = a.Z > b.Z ? a.Z : b.Z; return a; } /// /// Calculate the component-wise maximum of two vectors /// /// First operand /// Second operand /// The component-wise maximum public static void ComponentMax(ref Vector3 a, ref Vector3 b, out Vector3 result) { result.X = a.X > b.X ? a.X : b.X; result.Y = a.Y > b.Y ? a.Y : b.Y; result.Z = a.Z > b.Z ? a.Z : b.Z; } #endregion #region Min /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3 Min(Vector3 left, Vector3 right) { return left.LengthSquared < right.LengthSquared ? left : right; } #endregion #region Max /// /// Returns the Vector3 with the minimum magnitude /// /// Left operand /// Right operand /// The minimum Vector3 public static Vector3 Max(Vector3 left, Vector3 right) { return left.LengthSquared >= right.LengthSquared ? left : right; } #endregion #region Clamp /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max) { vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; return vec; } /// /// Clamp a vector to the given minimum and maximum vectors /// /// Input vector /// Minimum vector /// Maximum vector /// The clamped vector public static void Clamp(ref Vector3 vec, ref Vector3 min, ref Vector3 max, out Vector3 result) { result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X; result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y; result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z; } #endregion #region Normalize /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static Vector3 Normalize(Vector3 vec) { float scale = 1.0f / vec.Length; vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to unit length /// /// The input vector /// The normalized vector public static void Normalize(ref Vector3 vec, out Vector3 result) { float scale = 1.0f / vec.Length; result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region NormalizeFast /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static Vector3 NormalizeFast(Vector3 vec) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Scale a vector to approximately unit length /// /// The input vector /// The normalized vector public static void NormalizeFast(ref Vector3 vec, out Vector3 result) { float scale = MathHelper.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z); result.X = vec.X * scale; result.Y = vec.Y * scale; result.Z = vec.Z * scale; } #endregion #region Dot /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static float Dot(Vector3 left, Vector3 right) { return left.X * right.X + left.Y * right.Y + left.Z * right.Z; } /// /// Calculate the dot (scalar) product of two vectors /// /// First operand /// Second operand /// The dot product of the two inputs public static void Dot(ref Vector3 left, ref Vector3 right, out float result) { result = left.X * right.X + left.Y * right.Y + left.Z * right.Z; } #endregion #region Cross /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs public static Vector3 Cross(Vector3 left, Vector3 right) { Vector3 result; Cross(ref left, ref right, out result); return result; } /// /// Caclulate the cross (vector) product of two vectors /// /// First operand /// Second operand /// The cross product of the two inputs /// The cross product of the two inputs public static void Cross(ref Vector3 left, ref Vector3 right, out Vector3 result) { result = new Vector3(left.Y * right.Z - left.Z * right.Y, left.Z * right.X - left.X * right.Z, left.X * right.Y - left.Y * right.X); } #endregion #region Lerp /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static Vector3 Lerp(Vector3 a, Vector3 b, float blend) { a.X = blend * (b.X - a.X) + a.X; a.Y = blend * (b.Y - a.Y) + a.Y; a.Z = blend * (b.Z - a.Z) + a.Z; return a; } /// /// Returns a new Vector that is the linear blend of the 2 given Vectors /// /// First input vector /// Second input vector /// The blend factor. a when blend=0, b when blend=1. /// a when blend=0, b when blend=1, and a linear combination otherwise public static void Lerp(ref Vector3 a, ref Vector3 b, float blend, out Vector3 result) { result.X = blend * (b.X - a.X) + a.X; result.Y = blend * (b.Y - a.Y) + a.Y; result.Z = blend * (b.Z - a.Z) + a.Z; } #endregion #region Barycentric /// /// Interpolate 3 Vectors using Barycentric coordinates /// /// First input Vector /// Second input Vector /// Third input Vector /// First Barycentric Coordinate /// Second Barycentric Coordinate /// a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, float u, float v) { return a + u * (b - a) + v * (c - a); } /// Interpolate 3 Vectors using Barycentric coordinates /// First input Vector. /// Second input Vector. /// Third input Vector. /// First Barycentric Coordinate. /// Second Barycentric Coordinate. /// Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise public static void BaryCentric(ref Vector3 a, ref Vector3 b, ref Vector3 c, float u, float v, out Vector3 result) { result = a; // copy Vector3 temp = b; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, u, out temp); Add(ref result, ref temp, out result); temp = c; // copy Subtract(ref temp, ref a, out temp); Multiply(ref temp, v, out temp); Add(ref result, ref temp, out result); } #endregion #region Transform /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3 TransformVector(Vector3 vec, Matrix4 mat) { Vector3 v; v.X = Vector3.Dot(vec, new Vector3(mat.Column0)); v.Y = Vector3.Dot(vec, new Vector3(mat.Column1)); v.Z = Vector3.Dot(vec, new Vector3(mat.Column2)); return v; } /// Transform a direction vector by the given Matrix /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored. /// /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformVector(ref Vector3 vec, ref Matrix4 mat, out Vector3 result) { result.X = vec.X * mat.Row0.X + vec.Y * mat.Row1.X + vec.Z * mat.Row2.X; result.Y = vec.X * mat.Row0.Y + vec.Y * mat.Row1.Y + vec.Z * mat.Row2.Y; result.Z = vec.X * mat.Row0.Z + vec.Y * mat.Row1.Z + vec.Z * mat.Row2.Z; } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static Vector3 TransformNormal(Vector3 norm, Matrix4 mat) { mat.Invert(); return TransformNormalInverse(norm, mat); } /// Transform a Normal by the given Matrix /// /// This calculates the inverse of the given matrix, use TransformNormalInverse if you /// already have the inverse to avoid this extra calculation /// /// The normal to transform /// The desired transformation /// The transformed normal public static void TransformNormal(ref Vector3 norm, ref Matrix4 mat, out Vector3 result) { Matrix4 Inverse = Matrix4.Invert(mat); Vector3.TransformNormalInverse(ref norm, ref Inverse, out result); } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4 invMat) { Vector3 n; n.X = Vector3.Dot(norm, new Vector3(invMat.Row0)); n.Y = Vector3.Dot(norm, new Vector3(invMat.Row1)); n.Z = Vector3.Dot(norm, new Vector3(invMat.Row2)); return n; } /// Transform a Normal by the (transpose of the) given Matrix /// /// This version doesn't calculate the inverse matrix. /// Use this version if you already have the inverse of the desired transform to hand /// /// The normal to transform /// The inverse of the desired transformation /// The transformed normal public static void TransformNormalInverse(ref Vector3 norm, ref Matrix4 invMat, out Vector3 result) { result.X = norm.X * invMat.Row0.X + norm.Y * invMat.Row0.Y + norm.Z * invMat.Row0.Z; result.Y = norm.X * invMat.Row1.X + norm.Y * invMat.Row1.Y + norm.Z * invMat.Row1.Z; result.Z = norm.X * invMat.Row2.X + norm.Y * invMat.Row2.Y + norm.Z * invMat.Row2.Z; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static Vector3 TransformPosition(Vector3 pos, Matrix4 mat) { Vector3 p; p.X = Vector3.Dot(pos, new Vector3(mat.Column0)) + mat.Row3.X; p.Y = Vector3.Dot(pos, new Vector3(mat.Column1)) + mat.Row3.Y; p.Z = Vector3.Dot(pos, new Vector3(mat.Column2)) + mat.Row3.Z; return p; } /// Transform a Position by the given Matrix /// The position to transform /// The desired transformation /// The transformed position public static void TransformPosition(ref Vector3 pos, ref Matrix4 mat, out Vector3 result) { result.X = pos.X * mat.Row0.X + pos.Y * mat.Row1.X + pos.Z * mat.Row2.X + mat.Row3.X; result.Y = pos.X * mat.Row0.Y + pos.Y * mat.Row1.Y + pos.Z * mat.Row2.Y + mat.Row3.Y; result.Z = pos.X * mat.Row0.Z + pos.Y * mat.Row1.Z + pos.Z * mat.Row2.Z + mat.Row3.Z; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3 Transform(Vector3 vec, Matrix4 mat) { Vector3 result; Transform(ref vec, ref mat, out result); return result; } /// Transform a Vector by the given Matrix /// The vector to transform /// The desired transformation /// The transformed vector public static void Transform(ref Vector3 vec, ref Matrix4 mat, out Vector3 result) { Vector4 v4 = new Vector4(vec.X, vec.Y, vec.Z, 1.0f); Vector4.Transform(ref v4, ref mat, out v4); result = v4.Xyz; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static Vector3 Transform(Vector3 vec, Quaternion quat) { Vector3 result; Transform(ref vec, ref quat, out result); return result; } /// /// Transforms a vector by a quaternion rotation. /// /// The vector to transform. /// The quaternion to rotate the vector by. /// The result of the operation. public static void Transform(ref Vector3 vec, ref Quaternion quat, out Vector3 result) { // Since vec.W == 0, we can optimize quat * vec * quat^-1 as follows: // vec + 2.0 * cross(quat.xyz, cross(quat.xyz, vec) + quat.w * vec) Vector3 xyz = quat.Xyz, temp, temp2; Vector3.Cross(ref xyz, ref vec, out temp); Vector3.Multiply(ref vec, quat.W, out temp2); Vector3.Add(ref temp, ref temp2, out temp); Vector3.Cross(ref xyz, ref temp, out temp); Vector3.Multiply(ref temp, 2, out temp); Vector3.Add(ref vec, ref temp, out result); } /// Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 /// The vector to transform /// The desired transformation /// The transformed vector public static Vector3 TransformPerspective(Vector3 vec, Matrix4 mat) { Vector3 result; TransformPerspective(ref vec, ref mat, out result); return result; } /// Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3 /// The vector to transform /// The desired transformation /// The transformed vector public static void TransformPerspective(ref Vector3 vec, ref Matrix4 mat, out Vector3 result) { Vector4 v = new Vector4(vec); Vector4.Transform(ref v, ref mat, out v); result.X = v.X / v.W; result.Y = v.Y / v.W; result.Z = v.Z / v.W; } #endregion #region CalculateAngle /// /// Calculates the angle (in radians) between two vectors. /// /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static float CalculateAngle(Vector3 first, Vector3 second) { return (float)System.Math.Acos((Vector3.Dot(first, second)) / (first.Length * second.Length)); } /// Calculates the angle (in radians) between two vectors. /// The first vector. /// The second vector. /// Angle (in radians) between the vectors. /// Note that the returned angle is never bigger than the constant Pi. public static void CalculateAngle(ref Vector3 first, ref Vector3 second, out float result) { float temp; Vector3.Dot(ref first, ref second, out temp); result = (float)System.Math.Acos(temp / (first.Length * second.Length)); } #endregion #endregion #region Swizzle /// /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance. /// [XmlIgnore] public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Operators /// /// Adds two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector3 operator +(Vector3 left, Vector3 right) { left.X += right.X; left.Y += right.Y; left.Z += right.Z; return left; } /// /// Subtracts two instances. /// /// The first instance. /// The second instance. /// The result of the calculation. public static Vector3 operator -(Vector3 left, Vector3 right) { left.X -= right.X; left.Y -= right.Y; left.Z -= right.Z; return left; } /// /// Negates an instance. /// /// The instance. /// The result of the calculation. public static Vector3 operator -(Vector3 vec) { vec.X = -vec.X; vec.Y = -vec.Y; vec.Z = -vec.Z; return vec; } /// /// Multiplies an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector3 operator *(Vector3 vec, float scale) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Multiplies an instance by a scalar. /// /// The scalar. /// The instance. /// The result of the calculation. public static Vector3 operator *(float scale, Vector3 vec) { vec.X *= scale; vec.Y *= scale; vec.Z *= scale; return vec; } /// /// Divides an instance by a scalar. /// /// The instance. /// The scalar. /// The result of the calculation. public static Vector3 operator /(Vector3 vec, float scale) { float mult = 1.0f / scale; vec.X *= mult; vec.Y *= mult; vec.Z *= mult; return vec; } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Vector3 left, Vector3 right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equa lright; false otherwise. public static bool operator !=(Vector3 left, Vector3 right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Vector3. /// /// public override string ToString() { return String.Format("({0}, {1}, {2})", X, Y, Z); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Vector3)) return false; return this.Equals((Vector3)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current vector is equal to another vector. /// A vector to compare with this vector. /// true if the current vector is equal to the vector parameter; otherwise, false. public bool Equals(Vector3 other) { return X == other.X && Y == other.Y && Z == other.Z; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Vector2h.cs0000664000175000017500000003041011453131422020054 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; namespace OpenTK { /// 2-component Vector of the Half type. Occupies 4 Byte total. [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector2h : ISerializable, IEquatable { #region Fields /// The X component of the Half2. public Half X; /// The Y component of the Half2. public Half Y; #endregion #region Constructors /// /// The new Half2 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector2h(Half x, Half y) { X = x; Y = y; } /// /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector2h(Single x, Single y) { X = new Half(x); Y = new Half(y); } /// /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(Single x, Single y, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 [CLSCompliant(false)] public Vector2h(Vector2 v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector2h(Vector2 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector2 public Vector2h(ref Vector2 v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point. /// /// OpenTK.Vector2 /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(ref Vector2 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d public Vector2h(Vector2d v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d /// Enable checks that will throw if the conversion result is not meaningful. public Vector2h(Vector2d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector2d [CLSCompliant(false)] public Vector2h(ref Vector2d v) { X = new Half(v.X); Y = new Half(v.Y); } /// /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point. /// /// OpenTK.Vector2d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector2h(ref Vector2d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); } #endregion Constructors #region Half -> Single /// /// Returns this Half2 instance's contents as Vector2. /// /// OpenTK.Vector2 public Vector2 ToVector2() { return new Vector2(X, Y); } /// /// Returns this Half2 instance's contents as Vector2d. /// public Vector2d ToVector2d() { return new Vector2d(X, Y); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector2 to OpenTK.Half2. /// The Vector2 to convert. /// The resulting Half vector. public static explicit operator Vector2h(Vector2 v) { return new Vector2h(v); } /// Converts OpenTK.Vector2d to OpenTK.Half2. /// The Vector2d to convert. /// The resulting Half vector. public static explicit operator Vector2h(Vector2d v) { return new Vector2h(v); } /// Converts OpenTK.Half2 to OpenTK.Vector2. /// The Half2 to convert. /// The resulting Vector2. public static explicit operator Vector2(Vector2h h) { return new Vector2(h.X, h.Y); } /// Converts OpenTK.Half2 to OpenTK.Vector2d. /// The Half2 to convert. /// The resulting Vector2d. public static explicit operator Vector2d(Vector2h h) { return new Vector2d(h.X, h.Y); } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half2 struct is 4. public static readonly int SizeInBytes = 4; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector2h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); } #endregion ISerializable #region Binary dump /// Updates the X and Y components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); } /// Writes the X and Y components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half2 vector. /// OpenTK.Half2 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector2h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y)); } #endregion #region ToString() /// Returns a string that contains this Half2's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1})", X.ToString(), Y.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half2 as an array of bytes. /// The Half2 to convert. /// The input as byte array. public static byte[] GetBytes(Vector2h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; return result; } /// Converts an array of bytes into Half2. /// A Half2 in it's byte[] representation. /// The starting position within value. /// A new Half2 instance. public static Vector2h FromBytes(byte[] value, int startIndex) { Vector2h h2 = new Vector2h(); h2.X = Half.FromBytes(value, startIndex); h2.Y = Half.FromBytes(value, startIndex + 2); return h2; } #endregion BitConverter } }opentk-1.0.20101006/Source/OpenTK/Math/MathHelper.cs0000664000175000017500000002340611453131422020420 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. * * Contributions by Andy Gill, James Talton and Georg Wächter. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Contains common mathematical functions and constants. /// public static class MathHelper { #region Fields /// /// Defines the value of Pi as a . /// public const float Pi = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382f; /// /// Defines the value of Pi divided by two as a . /// public const float PiOver2 = Pi / 2; /// /// Defines the value of Pi divided by three as a . /// public const float PiOver3 = Pi / 3; /// /// Definesthe value of Pi divided by four as a . /// public const float PiOver4 = Pi / 4; /// /// Defines the value of Pi divided by six as a . /// public const float PiOver6 = Pi / 6; /// /// Defines the value of Pi multiplied by two as a . /// public const float TwoPi = 2 * Pi; /// /// Defines the value of Pi multiplied by 3 and divided by two as a . /// public const float ThreePiOver2 = 3 * Pi / 2; /// /// Defines the value of E as a . /// public const float E = 2.71828182845904523536f; /// /// Defines the base-10 logarithm of E. /// public const float Log10E = 0.434294482f; /// /// Defines the base-2 logarithm of E. /// public const float Log2E = 1.442695041f; #endregion #region Public Members #region NextPowerOfTwo /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static long NextPowerOfTwo(long n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (long)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static int NextPowerOfTwo(int n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (int)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static float NextPowerOfTwo(float n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return (float)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } /// /// Returns the next power of two that is larger than the specified number. /// /// The specified number. /// The next power of two. public static double NextPowerOfTwo(double n) { if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive."); return System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2))); } #endregion #region Factorial /// Calculates the factorial of a given natural number. /// /// The number. /// n! public static long Factorial(int n) { long result = 1; for (; n > 1; n--) result *= n; return result; } #endregion #region BinomialCoefficient /// /// Calculates the binomial coefficient above . /// /// The n. /// The k. /// n! / (k! * (n - k)!) public static long BinomialCoefficient(int n, int k) { return Factorial(n) / (Factorial(k) * Factorial(n - k)); } #endregion #region InverseSqrtFast /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static float InverseSqrtFast(float x) { unsafe { float xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } } /// /// Returns an approximation of the inverse square root of left number. /// /// A number. /// An approximation of the inverse square root of the specified number, with an upper error bound of 0.001 /// /// This is an improved implementation of the the method known as Carmack's inverse square root /// which is found in the Quake III source code. This implementation comes from /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see /// http://www.beyond3d.com/content/articles/8/ /// public static double InverseSqrtFast(double x) { return InverseSqrtFast((float)x); // TODO: The following code is wrong. Fix it, to improve precision. #if false unsafe { double xhalf = 0.5f * x; int i = *(int*)&x; // Read bits as integer. i = 0x5f375a86 - (i >> 1); // Make an initial guess for Newton-Raphson approximation x = *(float*)&i; // Convert bits back to float x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step. return x; } #endif } #endregion #region DegreesToRadians /// /// Convert degrees to radians /// /// An angle in degrees /// The angle expressed in radians public static float DegreesToRadians(float degrees) { const float degToRad = (float)System.Math.PI / 180.0f; return degrees * degToRad; } /// /// Convert radians to degrees /// /// An angle in radians /// The angle expressed in degrees public static float RadiansToDegrees(float radians) { const float radToDeg = 180.0f / (float)System.Math.PI; return radians * radToDeg; } #endregion #region Swap /// /// Swaps two double values. /// /// The first value. /// The second value. public static void Swap(ref double a, ref double b) { double temp = a; a = b; b = temp; } /// /// Swaps two float values. /// /// The first value. /// The second value. public static void Swap(ref float a, ref float b) { float temp = a; a = b; b = temp; } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Math/Size.cs0000664000175000017500000001641311453131422017301 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { #if NO_SYSDRAWING /// /// Stores the width and height of a rectangle. /// public struct Size : IEquatable { #region Fields int width, height; #endregion #region Constructors /// /// Constructs a new Size instance. /// /// The width of this instance. /// The height of this instance. public Size(int width, int height) : this() { Width = width; Height = height; } #endregion #region Public Members /// /// Gets or sets the width of this instance. /// public int Width { get { return width; } set { if (width < 0) throw new ArgumentOutOfRangeException(); width = value; } } /// /// Gets or sets the height of this instance. /// public int Height { get { return height; } set { if (height < 0) throw new ArgumentOutOfRangeException(); height = value; } } /// /// Gets a that indicates whether this instance is empty or zero. /// public bool IsEmpty { get { return Width == 0 && Height == 0; } } /// /// Returns a Size instance equal to (0, 0). /// public static readonly Size Empty = new Size(); /// /// Returns a Size instance equal to (0, 0). /// public static readonly Size Zero = new Size(); /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left is equal to right; false otherwise. public static bool operator ==(Size left, Size right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left is not equal to right; false otherwise. public static bool operator !=(Size left, Size right) { return !left.Equals(right); } /// /// Converts an OpenTK.Size instance to a System.Drawing.Size. /// /// /// The instance to convert. /// /// /// A instance equivalent to size. /// public static implicit operator System.Drawing.Size(Size size) { return new System.Drawing.Size(size.Width, size.Height); } /// /// Converts a System.Drawing.Size instance to an OpenTK.Size. /// /// /// The instance to convert. /// /// /// A instance equivalent to size. /// public static implicit operator Size(System.Drawing.Size size) { return new Size(size.Width, size.Height); } /// /// Converts an OpenTK.Point instance to a System.Drawing.SizeF. /// /// /// The instance to convert. /// /// /// A instance equivalent to size. /// public static implicit operator System.Drawing.SizeF(Size size) { return new System.Drawing.SizeF(size.Width, size.Height); } /// /// Indicates whether this instance is equal to the specified object. /// /// The object instance to compare to. /// True, if both instances are equal; false otherwise. public override bool Equals(object obj) { if (obj is Size) return Equals((Size)obj); return false; } /// /// Returns the hash code for this instance. /// /// A that represents the hash code for this instance./> public override int GetHashCode() { return Width.GetHashCode() ^ Height.GetHashCode(); } /// /// Returns a that describes this instance. /// /// A that describes this instance. public override string ToString() { return String.Format("{{{0}, {1}}}", Width, Height); } #endregion #region IEquatable Members /// /// Indicates whether this instance is equal to the specified Size. /// /// The instance to compare to. /// True, if both instances are equal; false otherwise. public bool Equals(Size other) { return Width == other.Width && Height == other.Height; } #endregion } #endif } opentk-1.0.20101006/Source/OpenTK/Math/Matrix4d.cs0000664000175000017500000014426411453131422020071 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.Runtime.InteropServices; namespace OpenTK { /// /// Represents a 4x4 Matrix with double-precision components. /// [Serializable] [StructLayout(LayoutKind.Sequential)] public struct Matrix4d : IEquatable { #region Fields /// /// Top row of the matrix /// public Vector4d Row0; /// /// 2nd row of the matrix /// public Vector4d Row1; /// /// 3rd row of the matrix /// public Vector4d Row2; /// /// Bottom row of the matrix /// public Vector4d Row3; /// /// The identity matrix /// public static Matrix4d Identity = new Matrix4d(Vector4d .UnitX, Vector4d .UnitY, Vector4d .UnitZ, Vector4d .UnitW); #endregion #region Constructors /// /// Constructs a new instance. /// /// Top row of the matrix /// Second row of the matrix /// Third row of the matrix /// Bottom row of the matrix public Matrix4d(Vector4d row0, Vector4d row1, Vector4d row2, Vector4d row3) { Row0 = row0; Row1 = row1; Row2 = row2; Row3 = row3; } /// /// Constructs a new instance. /// /// First item of the first row. /// Second item of the first row. /// Third item of the first row. /// Fourth item of the first row. /// First item of the second row. /// Second item of the second row. /// Third item of the second row. /// Fourth item of the second row. /// First item of the third row. /// Second item of the third row. /// Third item of the third row. /// First item of the third row. /// Fourth item of the fourth row. /// Second item of the fourth row. /// Third item of the fourth row. /// Fourth item of the fourth row. public Matrix4d( double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33) { Row0 = new Vector4d(m00, m01, m02, m03); Row1 = new Vector4d(m10, m11, m12, m13); Row2 = new Vector4d(m20, m21, m22, m23); Row3 = new Vector4d(m30, m31, m32, m33); } #endregion #region Public Members #region Properties /// /// The determinant of this matrix /// public double Determinant { get { return Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X; } } /// /// The first column of this matrix /// public Vector4d Column0 { get { return new Vector4d (Row0.X, Row1.X, Row2.X, Row3.X); } } /// /// The second column of this matrix /// public Vector4d Column1 { get { return new Vector4d (Row0.Y, Row1.Y, Row2.Y, Row3.Y); } } /// /// The third column of this matrix /// public Vector4d Column2 { get { return new Vector4d (Row0.Z, Row1.Z, Row2.Z, Row3.Z); } } /// /// The fourth column of this matrix /// public Vector4d Column3 { get { return new Vector4d (Row0.W, Row1.W, Row2.W, Row3.W); } } /// /// Gets or sets the value at row 1, column 1 of this instance. /// public double M11 { get { return Row0.X; } set { Row0.X = value; } } /// /// Gets or sets the value at row 1, column 2 of this instance. /// public double M12 { get { return Row0.Y; } set { Row0.Y = value; } } /// /// Gets or sets the value at row 1, column 3 of this instance. /// public double M13 { get { return Row0.Z; } set { Row0.Z = value; } } /// /// Gets or sets the value at row 1, column 4 of this instance. /// public double M14 { get { return Row0.W; } set { Row0.W = value; } } /// /// Gets or sets the value at row 2, column 1 of this instance. /// public double M21 { get { return Row1.X; } set { Row1.X = value; } } /// /// Gets or sets the value at row 2, column 2 of this instance. /// public double M22 { get { return Row1.Y; } set { Row1.Y = value; } } /// /// Gets or sets the value at row 2, column 3 of this instance. /// public double M23 { get { return Row1.Z; } set { Row1.Z = value; } } /// /// Gets or sets the value at row 2, column 4 of this instance. /// public double M24 { get { return Row1.W; } set { Row1.W = value; } } /// /// Gets or sets the value at row 3, column 1 of this instance. /// public double M31 { get { return Row2.X; } set { Row2.X = value; } } /// /// Gets or sets the value at row 3, column 2 of this instance. /// public double M32 { get { return Row2.Y; } set { Row2.Y = value; } } /// /// Gets or sets the value at row 3, column 3 of this instance. /// public double M33 { get { return Row2.Z; } set { Row2.Z = value; } } /// /// Gets or sets the value at row 3, column 4 of this instance. /// public double M34 { get { return Row2.W; } set { Row2.W = value; } } /// /// Gets or sets the value at row 4, column 1 of this instance. /// public double M41 { get { return Row3.X; } set { Row3.X = value; } } /// /// Gets or sets the value at row 4, column 2 of this instance. /// public double M42 { get { return Row3.Y; } set { Row3.Y = value; } } /// /// Gets or sets the value at row 4, column 3 of this instance. /// public double M43 { get { return Row3.Z; } set { Row3.Z = value; } } /// /// Gets or sets the value at row 4, column 4 of this instance. /// public double M44 { get { return Row3.W; } set { Row3.W = value; } } #endregion #region Instance #region public void Invert() /// /// Converts this instance into its inverse. /// public void Invert() { this = Matrix4d.Invert(this); } #endregion #region public void Transpose() /// /// Converts this instance into its transpose. /// public void Transpose() { this = Matrix4d.Transpose(this); } #endregion #endregion #region Static #region CreateFromAxisAngle /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static void CreateFromAxisAngle(Vector3d axis, double angle, out Matrix4d result) { double cos = System.Math.Cos(-angle); double sin = System.Math.Sin(-angle); double t = 1.0 - cos; axis.Normalize(); result = new Matrix4d(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0, t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0, t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0, 0, 0, 0, 1); } /// /// Build a rotation matrix from the specified axis/angle rotation. /// /// The axis to rotate about. /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis). /// A matrix instance. public static Matrix4d CreateFromAxisAngle(Vector3d axis, double angle) { Matrix4d result; CreateFromAxisAngle(axis, angle, out result); return result; } #endregion #region CreateRotation[XYZ] /// /// Builds a rotation matrix for a rotation around the x-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationX(double angle, out Matrix4d result) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); result.Row0 = Vector4d.UnitX; result.Row1 = new Vector4d(0, cos, sin, 0); result.Row2 = new Vector4d(0, -sin, cos, 0); result.Row3 = Vector4d.UnitW; } /// /// Builds a rotation matrix for a rotation around the x-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4d CreateRotationX(double angle) { Matrix4d result; CreateRotationX(angle, out result); return result; } /// /// Builds a rotation matrix for a rotation around the y-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationY(double angle, out Matrix4d result) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); result.Row0 = new Vector4d(cos, 0, -sin, 0); result.Row1 = Vector4d.UnitY; result.Row2 = new Vector4d(sin, 0, cos, 0); result.Row3 = Vector4d.UnitW; } /// /// Builds a rotation matrix for a rotation around the y-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4d CreateRotationY(double angle) { Matrix4d result; CreateRotationY(angle, out result); return result; } /// /// Builds a rotation matrix for a rotation around the z-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static void CreateRotationZ(double angle, out Matrix4d result) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); result.Row0 = new Vector4d(cos, sin, 0, 0); result.Row1 = new Vector4d(-sin, cos, 0, 0); result.Row2 = Vector4d.UnitZ; result.Row3 = Vector4d.UnitW; } /// /// Builds a rotation matrix for a rotation around the z-axis. /// /// The counter-clockwise angle in radians. /// The resulting Matrix4 instance. public static Matrix4d CreateRotationZ(double angle) { Matrix4d result; CreateRotationZ(angle, out result); return result; } #endregion #region CreateTranslation /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4d instance. public static void CreateTranslation(double x, double y, double z, out Matrix4d result) { result = Identity; result.Row3 = new Vector4d(x, y, z, 1); } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4d instance. public static void CreateTranslation(ref Vector3d vector, out Matrix4d result) { result = Identity; result.Row3 = new Vector4d(vector.X, vector.Y, vector.Z, 1); } /// /// Creates a translation matrix. /// /// X translation. /// Y translation. /// Z translation. /// The resulting Matrix4d instance. public static Matrix4d CreateTranslation(double x, double y, double z) { Matrix4d result; CreateTranslation(x, y, z, out result); return result; } /// /// Creates a translation matrix. /// /// The translation vector. /// The resulting Matrix4d instance. public static Matrix4d CreateTranslation(Vector3d vector) { Matrix4d result; CreateTranslation(vector.X, vector.Y, vector.Z, out result); return result; } #endregion #region CreateOrthographic /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static void CreateOrthographic(double width, double height, double zNear, double zFar, out Matrix4d result) { CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); } /// /// Creates an orthographic projection matrix. /// /// The width of the projection volume. /// The height of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static Matrix4d CreateOrthographic(double width, double height, double zNear, double zFar) { Matrix4d result; CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result); return result; } #endregion #region CreateOrthographicOffCenter /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static void CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, out Matrix4d result) { result = new Matrix4d(); double invRL = 1 / (right - left); double invTB = 1 / (top - bottom); double invFN = 1 / (zFar - zNear); result.M11 = 2 * invRL; result.M22 = 2 * invTB; result.M33 = -2 * invFN; result.M41 = -(right + left) * invRL; result.M42 = -(top + bottom) * invTB; result.M43 = -(zFar + zNear) * invFN; result.M44 = 1; } /// /// Creates an orthographic projection matrix. /// /// The left edge of the projection volume. /// The right edge of the projection volume. /// The bottom edge of the projection volume. /// The top edge of the projection volume. /// The near edge of the projection volume. /// The far edge of the projection volume. /// The resulting Matrix4d instance. public static Matrix4d CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar) { Matrix4d result; CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveFieldOfView /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveFieldOfView(double fovy, double aspect, double zNear, double zFar, out Matrix4d result) { if (fovy <= 0 || fovy > Math.PI) throw new ArgumentOutOfRangeException("fovy"); if (aspect <= 0) throw new ArgumentOutOfRangeException("aspect"); if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); double yMax = zNear * System.Math.Tan(0.5 * fovy); double yMin = -yMax; double xMin = yMin * aspect; double xMax = yMax * aspect; CreatePerspectiveOffCenter(xMin, xMax, yMin, yMax, zNear, zFar, out result); } /// /// Creates a perspective projection matrix. /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// fovy is zero, less than zero or larger than Math.PI /// aspect is negative or zero /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4d CreatePerspectiveFieldOfView(double fovy, double aspect, double zNear, double zFar) { Matrix4d result; CreatePerspectiveFieldOfView(fovy, aspect, zNear, zFar, out result); return result; } #endregion #region CreatePerspectiveOffCenter /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static void CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, out Matrix4d result) { if (zNear <= 0) throw new ArgumentOutOfRangeException("zNear"); if (zFar <= 0) throw new ArgumentOutOfRangeException("zFar"); if (zNear >= zFar) throw new ArgumentOutOfRangeException("zNear"); double x = (2.0 * zNear) / (right - left); double y = (2.0 * zNear) / (top - bottom); double a = (right + left) / (right - left); double b = (top + bottom) / (top - bottom); double c = -(zFar + zNear) / (zFar - zNear); double d = -(2.0 * zFar * zNear) / (zFar - zNear); result = new Matrix4d(x, 0, 0, 0, 0, y, 0, 0, a, b, c, -1, 0, 0, d, 0); } /// /// Creates an perspective projection matrix. /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space /// /// Thrown under the following conditions: /// /// zNear is negative or zero /// zFar is negative or zero /// zNear is larger than zFar /// /// public static Matrix4d CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double zNear, double zFar) { Matrix4d result; CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar, out result); return result; } #endregion #region Obsolete Functions #region Translation Functions /// /// Build a translation matrix with the given translation /// /// The vector to translate along /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4d Translation(Vector3d trans) { return Translation(trans.X, trans.Y, trans.Z); } /// /// Build a translation matrix with the given translation /// /// X translation /// Y translation /// Z translation /// A Translation matrix [Obsolete("Use CreateTranslation instead.")] public static Matrix4d Translation(double x, double y, double z) { Matrix4d result = Identity; result.Row3 = new Vector4d(x, y, z, 1.0); return result; } #endregion #endregion #region Scale Functions /// /// Build a scaling matrix /// /// Single scale factor for x,y and z axes /// A scaling matrix public static Matrix4d Scale(double scale) { return Scale(scale, scale, scale); } /// /// Build a scaling matrix /// /// Scale factors for x,y and z axes /// A scaling matrix public static Matrix4d Scale(Vector3d scale) { return Scale(scale.X, scale.Y, scale.Z); } /// /// Build a scaling matrix /// /// Scale factor for x-axis /// Scale factor for y-axis /// Scale factor for z-axis /// A scaling matrix public static Matrix4d Scale(double x, double y, double z) { Matrix4d result; result.Row0 = Vector4d .UnitX * x; result.Row1 = Vector4d .UnitY * y; result.Row2 = Vector4d .UnitZ * z; result.Row3 = Vector4d .UnitW; return result; } #endregion #region Rotation Functions /// /// Build a rotation matrix that rotates about the x-axis /// /// angle in radians to rotate counter-clockwise around the x-axis /// A rotation matrix public static Matrix4d RotateX(double angle) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); Matrix4d result; result.Row0 = Vector4d .UnitX; result.Row1 = new Vector4d (0.0, cos, sin, 0.0); result.Row2 = new Vector4d (0.0, -sin, cos, 0.0); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix that rotates about the y-axis /// /// angle in radians to rotate counter-clockwise around the y-axis /// A rotation matrix public static Matrix4d RotateY(double angle) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); Matrix4d result; result.Row0 = new Vector4d (cos, 0.0, -sin, 0.0); result.Row1 = Vector4d .UnitY; result.Row2 = new Vector4d (sin, 0.0, cos, 0.0); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix that rotates about the z-axis /// /// angle in radians to rotate counter-clockwise around the z-axis /// A rotation matrix public static Matrix4d RotateZ(double angle) { double cos = System.Math.Cos(angle); double sin = System.Math.Sin(angle); Matrix4d result; result.Row0 = new Vector4d (cos, sin, 0.0, 0.0); result.Row1 = new Vector4d (-sin, cos, 0.0, 0.0); result.Row2 = Vector4d .UnitZ; result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix to rotate about the given axis /// /// the axis to rotate about /// angle in radians to rotate counter-clockwise (looking in the direction of the given axis) /// A rotation matrix public static Matrix4d Rotate(Vector3d axis, double angle) { double cos = System.Math.Cos(-angle); double sin = System.Math.Sin(-angle); double t = 1.0 - cos; axis.Normalize(); Matrix4d result; result.Row0 = new Vector4d (t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0); result.Row1 = new Vector4d (t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0); result.Row2 = new Vector4d (t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0); result.Row3 = Vector4d .UnitW; return result; } /// /// Build a rotation matrix from a quaternion /// /// the quaternion /// A rotation matrix public static Matrix4d Rotate(Quaterniond q) { Vector3d axis; double angle; q.ToAxisAngle(out axis, out angle); return Rotate(axis, angle); } #endregion #region Camera Helper Functions /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix that transforms world space to camera space public static Matrix4d LookAt(Vector3d eye, Vector3d target, Vector3d up) { Vector3d z = Vector3d.Normalize(eye - target); Vector3d x = Vector3d.Normalize(Vector3d.Cross(up, z)); Vector3d y = Vector3d.Normalize(Vector3d.Cross(z, x)); Matrix4d rot = new Matrix4d(new Vector4d (x.X, y.X, z.X, 0.0), new Vector4d (x.Y, y.Y, z.Y, 0.0), new Vector4d (x.Z, y.Z, z.Z, 0.0), Vector4d .UnitW); Matrix4d trans = Matrix4d.CreateTranslation(-eye); return trans * rot; } /// /// Build a world space to camera space matrix /// /// Eye (camera) position in world space /// Eye (camera) position in world space /// Eye (camera) position in world space /// Target position in world space /// Target position in world space /// Target position in world space /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// Up vector in world space (should not be parallel to the camera direction, that is target - eye) /// A Matrix4 that transforms world space to camera space public static Matrix4d LookAt(double eyeX, double eyeY, double eyeZ, double targetX, double targetY, double targetZ, double upX, double upY, double upZ) { return LookAt(new Vector3d(eyeX, eyeY, eyeZ), new Vector3d(targetX, targetY, targetZ), new Vector3d(upX, upY, upZ)); } /// /// Build a projection matrix /// /// Left edge of the view frustum /// Right edge of the view frustum /// Bottom edge of the view frustum /// Top edge of the view frustum /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space public static Matrix4d Frustum(double left, double right, double bottom, double top, double near, double far) { double invRL = 1.0 / (right - left); double invTB = 1.0 / (top - bottom); double invFN = 1.0 / (far - near); return new Matrix4d(new Vector4d (2.0 * near * invRL, 0.0, 0.0, 0.0), new Vector4d (0.0, 2.0 * near * invTB, 0.0, 0.0), new Vector4d ((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0), new Vector4d (0.0, 0.0, -2.0 * far * near * invFN, 0.0)); } /// /// Build a projection matrix /// /// Angle of the field of view in the y direction (in radians) /// Aspect ratio of the view (width / height) /// Distance to the near clip plane /// Distance to the far clip plane /// A projection matrix that transforms camera space to raster space public static Matrix4d Perspective(double fovy, double aspect, double near, double far) { double yMax = near * System.Math.Tan(0.5f * fovy); double yMin = -yMax; double xMin = yMin * aspect; double xMax = yMax * aspect; return Frustum(xMin, xMax, yMin, yMax, near, far); } #endregion #region Multiply Functions /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static Matrix4d Mult(Matrix4d left, Matrix4d right) { Matrix4d result; Mult(ref left, ref right, out result); return result; } /// /// Multiplies two instances. /// /// The left operand of the multiplication. /// The right operand of the multiplication. /// A new instance that is the result of the multiplication public static void Mult(ref Matrix4d left, ref Matrix4d right, out Matrix4d result) { result = new Matrix4d(); result.M11 = left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41; result.M12 = left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42; result.M13 = left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43; result.M14 = left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44; result.M21 = left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41; result.M22 = left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42; result.M23 = left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43; result.M24 = left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44; result.M31 = left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41; result.M32 = left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42; result.M33 = left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43; result.M34 = left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44; result.M41 = left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41; result.M42 = left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42; result.M43 = left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43; result.M44 = left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44; } #endregion #region Invert Functions /// /// Calculate the inverse of the given matrix /// /// The matrix to invert /// The inverse of the given matrix if it has one, or the input if it is singular /// Thrown if the Matrix4d is singular. public static Matrix4d Invert(Matrix4d mat) { int[] colIdx = { 0, 0, 0, 0 }; int[] rowIdx = { 0, 0, 0, 0 }; int[] pivotIdx = { -1, -1, -1, -1 }; // convert the matrix to an array for easy looping double[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} }; int icol = 0; int irow = 0; for (int i = 0; i < 4; i++) { // Find the largest pivot value double maxPivot = 0.0; for (int j = 0; j < 4; j++) { if (pivotIdx[j] != 0) { for (int k = 0; k < 4; ++k) { if (pivotIdx[k] == -1) { double absVal = System.Math.Abs(inverse[j, k]); if (absVal > maxPivot) { maxPivot = absVal; irow = j; icol = k; } } else if (pivotIdx[k] > 0) { return mat; } } } } ++(pivotIdx[icol]); // Swap rows over so pivot is on diagonal if (irow != icol) { for (int k = 0; k < 4; ++k) { double f = inverse[irow, k]; inverse[irow, k] = inverse[icol, k]; inverse[icol, k] = f; } } rowIdx[i] = irow; colIdx[i] = icol; double pivot = inverse[icol, icol]; // check for singular matrix if (pivot == 0.0) { throw new InvalidOperationException("Matrix is singular and cannot be inverted."); //return mat; } // Scale row so it has a unit diagonal double oneOverPivot = 1.0 / pivot; inverse[icol, icol] = 1.0; for (int k = 0; k < 4; ++k) inverse[icol, k] *= oneOverPivot; // Do elimination of non-diagonal elements for (int j = 0; j < 4; ++j) { // check this isn't on the diagonal if (icol != j) { double f = inverse[j, icol]; inverse[j, icol] = 0.0; for (int k = 0; k < 4; ++k) inverse[j, k] -= inverse[icol, k] * f; } } } for (int j = 3; j >= 0; --j) { int ir = rowIdx[j]; int ic = colIdx[j]; for (int k = 0; k < 4; ++k) { double f = inverse[k, ir]; inverse[k, ir] = inverse[k, ic]; inverse[k, ic] = f; } } mat.Row0 = new Vector4d (inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]); mat.Row1 = new Vector4d (inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]); mat.Row2 = new Vector4d (inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]); mat.Row3 = new Vector4d (inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]); return mat; } #endregion #region Transpose /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The transpose of the given matrix public static Matrix4d Transpose(Matrix4d mat) { return new Matrix4d(mat.Column0, mat.Column1, mat.Column2, mat.Column3); } /// /// Calculate the transpose of the given matrix /// /// The matrix to transpose /// The result of the calculation public static void Transpose(ref Matrix4d mat, out Matrix4d result) { result.Row0 = mat.Column0; result.Row1 = mat.Column1; result.Row2 = mat.Column2; result.Row3 = mat.Column3; } #endregion #endregion #region Operators /// /// Matrix multiplication /// /// left-hand operand /// right-hand operand /// A new Matrix44 which holds the result of the multiplication public static Matrix4d operator *(Matrix4d left, Matrix4d right) { return Matrix4d.Mult(left, right); } /// /// Compares two instances for equality. /// /// The first instance. /// The second instance. /// True, if left equals right; false otherwise. public static bool operator ==(Matrix4d left, Matrix4d right) { return left.Equals(right); } /// /// Compares two instances for inequality. /// /// The first instance. /// The second instance. /// True, if left does not equal right; false otherwise. public static bool operator !=(Matrix4d left, Matrix4d right) { return !left.Equals(right); } #endregion #region Overrides #region public override string ToString() /// /// Returns a System.String that represents the current Matrix44. /// /// public override string ToString() { return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3); } #endregion #region public override int GetHashCode() /// /// Returns the hashcode for this instance. /// /// A System.Int32 containing the unique hashcode for this instance. public override int GetHashCode() { return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode(); } #endregion #region public override bool Equals(object obj) /// /// Indicates whether this instance and a specified object are equal. /// /// The object to compare to. /// True if the instances are equal; false otherwise. public override bool Equals(object obj) { if (!(obj is Matrix4d)) return false; return this.Equals((Matrix4d)obj); } #endregion #endregion #endregion #region IEquatable Members /// Indicates whether the current matrix is equal to another matrix. /// An matrix to compare with this matrix. /// true if the current matrix is equal to the matrix parameter; otherwise, false. public bool Equals(Matrix4d other) { return Row0 == other.Row0 && Row1 == other.Row1 && Row2 == other.Row2 && Row3 == other.Row3; } #endregion } }opentk-1.0.20101006/Source/OpenTK/Math/Vector3h.cs0000664000175000017500000003420411453131422020062 0ustar laneylaney#region --- License --- /* Copyright (c) 2006 - 2008 The Open Toolkit library. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Xml.Serialization; namespace OpenTK { /// /// 3-component Vector of the Half type. Occupies 6 Byte total. /// [Serializable, StructLayout(LayoutKind.Sequential)] public struct Vector3h : ISerializable, IEquatable { #region Public Fields /// The X component of the Half3. public Half X; /// The Y component of the Half3. public Half Y; /// The Z component of the Half3. public Half Z; #endregion Public Fields #region Constructors /// /// The new Half3 instance will avoid conversion and copy directly from the Half parameters. /// /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. /// An Half instance of a 16-bit half-precision floating-point number. public Vector3h(Half x, Half y, Half z) { this.X = x; this.Y = y; this.Z = z; } /// /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. public Vector3h(Single x, Single y, Single z) { X = new Half(x); Y = new Half(y); Z = new Half(z); } /// /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point. /// /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// 32-bit single-precision floating-point number. /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(Single x, Single y, Single z, bool throwOnError) { X = new Half(x, throwOnError); Y = new Half(y, throwOnError); Z = new Half(z, throwOnError); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 [CLSCompliant(false)] public Vector3h(Vector3 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector3h(Vector3 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// This is the fastest constructor. /// /// OpenTK.Vector3 public Vector3h(ref Vector3 v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point. /// /// OpenTK.Vector3 /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(ref Vector3 v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d public Vector3h(Vector3d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d /// Enable checks that will throw if the conversion result is not meaningful. public Vector3h(Vector3d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// This is the faster constructor. /// /// OpenTK.Vector3d [CLSCompliant(false)] public Vector3h(ref Vector3d v) { X = new Half(v.X); Y = new Half(v.Y); Z = new Half(v.Z); } /// /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point. /// /// OpenTK.Vector3d /// Enable checks that will throw if the conversion result is not meaningful. [CLSCompliant(false)] public Vector3h(ref Vector3d v, bool throwOnError) { X = new Half(v.X, throwOnError); Y = new Half(v.Y, throwOnError); Z = new Half(v.Z, throwOnError); } #endregion Constructors #region Swizzle /// /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance. /// [XmlIgnore] public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } } #endregion #region Half -> Single /// /// Returns this Half3 instance's contents as Vector3. /// /// OpenTK.Vector3 public Vector3 ToVector3() { return new Vector3(X, Y, Z); } /// /// Returns this Half3 instance's contents as Vector3d. /// public Vector3d ToVector3d() { return new Vector3d(X, Y, Z); } #endregion Half -> Single #region Conversions /// Converts OpenTK.Vector3 to OpenTK.Half3. /// The Vector3 to convert. /// The resulting Half vector. public static explicit operator Vector3h(Vector3 v3f) { return new Vector3h(v3f); } /// Converts OpenTK.Vector3d to OpenTK.Half3. /// The Vector3d to convert. /// The resulting Half vector. public static explicit operator Vector3h(Vector3d v3d) { return new Vector3h(v3d); } /// Converts OpenTK.Half3 to OpenTK.Vector3. /// The Half3 to convert. /// The resulting Vector3. public static explicit operator Vector3(Vector3h h3) { Vector3 result = new Vector3(); result.X = h3.X.ToSingle(); result.Y = h3.Y.ToSingle(); result.Z = h3.Z.ToSingle(); return result; } /// Converts OpenTK.Half3 to OpenTK.Vector3d. /// The Half3 to convert. /// The resulting Vector3d. public static explicit operator Vector3d(Vector3h h3) { Vector3d result = new Vector3d(); result.X = h3.X.ToSingle(); result.Y = h3.Y.ToSingle(); result.Z = h3.Z.ToSingle(); return result; } #endregion Conversions #region Constants /// The size in bytes for an instance of the Half3 struct is 6. public static readonly int SizeInBytes = 6; #endregion Constants #region ISerializable /// Constructor used by ISerializable to deserialize the object. /// /// public Vector3h(SerializationInfo info, StreamingContext context) { this.X = (Half)info.GetValue("X", typeof(Half)); this.Y = (Half)info.GetValue("Y", typeof(Half)); this.Z = (Half)info.GetValue("Z", typeof(Half)); } /// Used by ISerialize to serialize the object. /// /// public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("X", this.X); info.AddValue("Y", this.Y); info.AddValue("Z", this.Z); } #endregion ISerializable #region Binary dump /// Updates the X,Y and Z components of this instance by reading from a Stream. /// A BinaryReader instance associated with an open Stream. public void FromBinaryStream(BinaryReader bin) { X.FromBinaryStream(bin); Y.FromBinaryStream(bin); Z.FromBinaryStream(bin); } /// Writes the X,Y and Z components of this instance into a Stream. /// A BinaryWriter instance associated with an open Stream. public void ToBinaryStream(BinaryWriter bin) { X.ToBinaryStream(bin); Y.ToBinaryStream(bin); Z.ToBinaryStream(bin); } #endregion Binary dump #region IEquatable Members /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half3 vector. /// OpenTK.Half3 to compare to this instance.. /// True, if other is equal to this instance; false otherwise. public bool Equals(Vector3h other) { return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z)); } #endregion #region ToString() /// Returns a string that contains this Half3's numbers in human-legible form. public override string ToString() { return String.Format("({0}, {1}, {2})", X.ToString(), Y.ToString(), Z.ToString()); } #endregion ToString() #region BitConverter /// Returns the Half3 as an array of bytes. /// The Half3 to convert. /// The input as byte array. public static byte[] GetBytes(Vector3h h) { byte[] result = new byte[SizeInBytes]; byte[] temp = Half.GetBytes(h.X); result[0] = temp[0]; result[1] = temp[1]; temp = Half.GetBytes(h.Y); result[2] = temp[0]; result[3] = temp[1]; temp = Half.GetBytes(h.Z); result[4] = temp[0]; result[5] = temp[1]; return result; } /// Converts an array of bytes into Half3. /// A Half3 in it's byte[] representation. /// The starting position within value. /// A new Half3 instance. public static Vector3h FromBytes(byte[] value, int startIndex) { Vector3h h3 = new Vector3h(); h3.X = Half.FromBytes(value, startIndex); h3.Y = Half.FromBytes(value, startIndex + 2); h3.Z = Half.FromBytes(value, startIndex + 4); return h3; } #endregion BitConverter } } opentk-1.0.20101006/Source/OpenTK/GameWindow.cs0000664000175000017500000011336611453131424017546 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Threading; using OpenTK.Graphics; using OpenTK.Input; using OpenTK.Platform; namespace OpenTK { /// /// The GameWindow class contains cross-platform methods to create and render on an OpenGL /// window, handle input and load resources. /// /// /// GameWindow contains several events you can hook or override to add your custom logic: /// /// /// OnLoad: Occurs after creating the OpenGL context, but before entering the main loop. /// Override to load resources. /// /// /// OnUnload: Occurs after exiting the main loop, but before deleting the OpenGL context. /// Override to unload resources. /// /// /// OnResize: Occurs whenever GameWindow is resized. You should update the OpenGL Viewport /// and Projection Matrix here. /// /// /// OnUpdateFrame: Occurs at the specified logic update rate. Override to add your game /// logic. /// /// /// OnRenderFrame: Occurs at the specified frame render rate. Override to add your /// rendering code. /// /// /// Call the Run() method to start the application's main loop. Run(double, double) takes two /// parameters that /// specify the logic update rate, and the render update rate. /// public class GameWindow : NativeWindow, IGameWindow, IDisposable { #region --- Fields --- object exit_lock = new object(); IGraphicsContext glContext; bool isExiting = false; double update_period, render_period; double target_update_period, target_render_period; // TODO: Implement these: double update_time, render_time; VSyncMode vsync; Stopwatch update_watch = new Stopwatch(), render_watch = new Stopwatch(); double next_render = 0.0, next_update = 0.0; FrameEventArgs update_args = new FrameEventArgs(); FrameEventArgs render_args = new FrameEventArgs(); #endregion #region --- Contructors --- #region public GameWindow() /// Constructs a new GameWindow with sensible default attributes. public GameWindow() : this(640, 480, GraphicsMode.Default, "OpenTK Game Window", 0, DisplayDevice.Default) { } #endregion #region public GameWindow(int width, int height) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. public GameWindow(int width, int height) : this(width, height, GraphicsMode.Default, "OpenTK Game Window", 0, DisplayDevice.Default) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. public GameWindow(int width, int height, GraphicsMode mode) : this(width, height, mode, "OpenTK Game Window", 0, DisplayDevice.Default) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode, string title) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. /// The title of the GameWindow. public GameWindow(int width, int height, GraphicsMode mode, string title) : this(width, height, mode, title, 0, DisplayDevice.Default) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. /// The title of the GameWindow. /// GameWindow options regarding window appearance and behavior. public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options) : this(width, height, mode, title, options, DisplayDevice.Default) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. /// The title of the GameWindow. /// GameWindow options regarding window appearance and behavior. /// The OpenTK.Graphics.DisplayDevice to construct the GameWindow in. public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device) : this(width, height, mode, title, options, device, 1, 0, GraphicsContextFlags.Default) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device, int major, int minor, GraphicsContextFlags flags) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. /// The title of the GameWindow. /// GameWindow options regarding window appearance and behavior. /// The OpenTK.Graphics.DisplayDevice to construct the GameWindow in. /// The major version for the OpenGL GraphicsContext. /// The minor version for the OpenGL GraphicsContext. /// The GraphicsContextFlags version for the OpenGL GraphicsContext. public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device, int major, int minor, GraphicsContextFlags flags) : this(width, height, mode, title, options, device, major, minor, flags, null) { } #endregion #region public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device, int major, int minor, GraphicsContextFlags flags, IGraphicsContext sharedContext) /// Constructs a new GameWindow with the specified attributes. /// The width of the GameWindow in pixels. /// The height of the GameWindow in pixels. /// The OpenTK.Graphics.GraphicsMode of the GameWindow. /// The title of the GameWindow. /// GameWindow options regarding window appearance and behavior. /// The OpenTK.Graphics.DisplayDevice to construct the GameWindow in. /// The major version for the OpenGL GraphicsContext. /// The minor version for the OpenGL GraphicsContext. /// The GraphicsContextFlags version for the OpenGL GraphicsContext. /// An IGraphicsContext to share resources with. public GameWindow(int width, int height, GraphicsMode mode, string title, GameWindowFlags options, DisplayDevice device, int major, int minor, GraphicsContextFlags flags, IGraphicsContext sharedContext) : base(width, height, title, options, mode == null ? GraphicsMode.Default : mode, device == null ? DisplayDevice.Default : device) { try { glContext = new GraphicsContext(mode == null ? GraphicsMode.Default : mode, WindowInfo, major, minor, flags); glContext.MakeCurrent(WindowInfo); (glContext as IGraphicsContextInternal).LoadAll(); VSync = VSyncMode.On; //glWindow.WindowInfoChanged += delegate(object sender, EventArgs e) { OnWindowInfoChangedInternal(e); }; } catch (Exception e) { Debug.Print(e.ToString()); base.Dispose(); throw; } } #endregion #endregion #region --- Public Members --- #region Methods #region Dispose /// /// Disposes of the GameWindow, releasing all resources consumed by it. /// public override void Dispose() { try { Dispose(true); } finally { try { if (glContext != null) { glContext.Dispose(); glContext = null; } } finally { base.Dispose(); } } GC.SuppressFinalize(this); } #endregion #region Exit /// /// Closes the GameWindow. Equivalent to method. /// /// /// Override if you are not using . /// If you override this method, place a call to base.Exit(), to ensure proper OpenTK shutdown. /// public virtual void Exit() { Close(); } #endregion #region MakeCurrent /// /// Makes the GraphicsContext current on the calling thread. /// public void MakeCurrent() { EnsureUndisposed(); Context.MakeCurrent(WindowInfo); } #endregion #region OnClose /// /// Called when the NativeWindow is about to close. /// /// /// The for this event. /// Set e.Cancel to true in order to stop the GameWindow from closing. protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { base.OnClosing(e); if (!e.Cancel) { isExiting = true; OnUnloadInternal(EventArgs.Empty); } } #endregion #region OnLoad /// /// Called after an OpenGL context has been established, but before entering the main loop. /// /// Not used. protected virtual void OnLoad(EventArgs e) { if (Load != null) Load(this, e); } #endregion #region OnUnload /// /// Called after GameWindow.Exit was called, but before destroying the OpenGL context. /// /// Not used. protected virtual void OnUnload(EventArgs e) { if (Unload != null) Unload(this, e); } #endregion #region public void Run() /// /// Enters the game loop of the GameWindow using the maximum update rate. /// /// public void Run() { Run(0.0, 0.0); } #endregion #region public void Run(double updateFrequency) /// /// Enters the game loop of the GameWindow using the specified update rate. /// maximum possible render frequency. /// public void Run(double updateRate) { Run(updateRate, 0.0); } #endregion #region public void Run(double updates_per_second, double frames_per_second) /// /// Enters the game loop of the GameWindow updating and rendering at the specified frequency. /// /// /// When overriding the default game loop you should call ProcessEvents() /// to ensure that your GameWindow responds to operating system events. /// /// Once ProcessEvents() returns, it is time to call update and render the next frame. /// /// /// The frequency of UpdateFrame events. /// The frequency of RenderFrame events. public void Run(double updates_per_second, double frames_per_second) { EnsureUndisposed(); try { if (updates_per_second < 0.0 || updates_per_second > 200.0) throw new ArgumentOutOfRangeException("updates_per_second", updates_per_second, "Parameter should be inside the range [0.0, 200.0]"); if (frames_per_second < 0.0 || frames_per_second > 200.0) throw new ArgumentOutOfRangeException("frames_per_second", frames_per_second, "Parameter should be inside the range [0.0, 200.0]"); TargetUpdateFrequency = updates_per_second; TargetRenderFrequency = frames_per_second; Visible = true; // Make sure the GameWindow is visible. OnLoadInternal(EventArgs.Empty); OnResize(EventArgs.Empty); // On some platforms, ProcessEvents() does not return while the user is resizing or moving // the window. We can avoid this issue by raising UpdateFrame and RenderFrame events // whenever we encounter a size or move event. // Note: hack disabled. Threaded rendering isprovides a better solution to this issue. //Move += DispatchUpdateAndRenderFrame; //Resize += DispatchUpdateAndRenderFrame; Debug.Print("Entering main loop."); update_watch.Start(); render_watch.Start(); while (true) { ProcessEvents(); if (Exists && !IsExiting) DispatchUpdateAndRenderFrame(this, EventArgs.Empty); else return; } } finally { Move -= DispatchUpdateAndRenderFrame; Resize -= DispatchUpdateAndRenderFrame; if (Exists) { // TODO: Should similar behaviour be retained, possibly on native window level? //while (this.Exists) // ProcessEvents(false); } } } void DispatchUpdateAndRenderFrame(object sender, EventArgs e) { RaiseUpdateFrame(update_watch, ref next_update, update_args); RaiseRenderFrame(render_watch, ref next_render, render_args); } void RaiseUpdateFrame(Stopwatch update_watch, ref double next_update, FrameEventArgs update_args) { int num_updates = 0; double total_update_time = 0; // Cap the maximum time drift to 1 second (e.g. when the process is suspended). double time = update_watch.Elapsed.TotalSeconds; if (time <= 0) return; if (time > 1.0) time = 1.0; // Raise UpdateFrame events until we catch up with our target update rate. while (next_update - time <= 0 && time > 0) { next_update -= time; update_args.Time = time; OnUpdateFrameInternal(update_args); time = update_time = update_watch.Elapsed.TotalSeconds - time; // Stopwatches are not accurate over long time periods. // We accumulate the total elapsed time into the time variable // while reseting the Stopwatch frequently. update_watch.Reset(); update_watch.Start(); // Don't schedule a new update more than 1 second in the future. // Sometimes the hardware cannot keep up with updates // (e.g. when the update rate is too high, or the UpdateFrame processing // is too costly). This cap ensures we can catch up in a reasonable time // once the load becomes lighter. next_update += TargetUpdatePeriod; next_update = Math.Max(next_update, -1.0); total_update_time += update_time; // Allow up to 10 consecutive UpdateFrame events to prevent the // application from "hanging" when the hardware cannot keep up // with the requested update rate. if (++num_updates >= 10 || TargetUpdateFrequency == 0.0) break; } // Calculate statistics if (num_updates > 0) { update_period = total_update_time / (double)num_updates; } } void RaiseRenderFrame(Stopwatch render_watch, ref double next_render, FrameEventArgs render_args) { // Cap the maximum time drift to 1 second (e.g. when the process is suspended). double time = render_watch.Elapsed.TotalSeconds; if (time > 1.0) time = 1.0; if (time <= 0) return; double time_left = next_render - time; if (time_left <= 0.0) { // Schedule next render event. The 1 second cap ensures // the process does not appear to hang. next_render = time_left + TargetRenderPeriod; if (next_render < -1.0) next_render = -1.0; render_watch.Reset(); render_watch.Start(); if (time > 0) { // Todo: revisit this code. Maybe check average framerate instead? // Note: VSyncMode.Adaptive enables vsync by default. The code below // is supposed to disable vsync if framerate becomes too low (half of target // framerate in the current approach) and reenable once the framerate // rises again. // Note 2: calling Context.VSync = true repeatedly seems to cause jitter on // some configurations. If possible, we should avoid repeated calls. // Note 3: we may not read/write the VSync property without a current context. // This may come to pass if the user has moved rendering to his own thread. if (Context.IsCurrent && VSync == VSyncMode.Adaptive && TargetRenderPeriod != 0) { // Check if we have enough time for a vsync if (RenderTime > 2.0 * TargetRenderPeriod) Context.VSync = false; else Context.VSync = true; } render_period = render_args.Time = time; OnRenderFrameInternal(render_args); render_time = render_watch.Elapsed.TotalSeconds; } } } #endregion #region SwapBuffers /// /// Swaps the front and back buffer, presenting the rendered scene to the user. /// public void SwapBuffers() { EnsureUndisposed(); this.Context.SwapBuffers(); } #endregion #endregion #region Properties #region Context /// /// Returns the opengl IGraphicsContext associated with the current GameWindow. /// public IGraphicsContext Context { get { EnsureUndisposed(); return glContext; } } #endregion #region IsExiting /// /// Gets a value indicating whether the shutdown sequence has been initiated /// for this window, by calling GameWindow.Exit() or hitting the 'close' button. /// If this property is true, it is no longer safe to use any OpenTK.Input or /// OpenTK.Graphics.OpenGL functions or properties. /// public bool IsExiting { get { EnsureUndisposed(); return isExiting; } } #endregion #region Joysticks /// /// Gets a readonly IList containing all available OpenTK.Input.JoystickDevices. /// public IList Joysticks { get { return InputDriver.Joysticks; } } #endregion #region Keyboard /// /// Gets the primary Keyboard device, or null if no Keyboard exists. /// public KeyboardDevice Keyboard { get { return InputDriver.Keyboard.Count > 0 ? InputDriver.Keyboard[0] : null; } } #endregion #region Mouse /// /// Gets the primary Mouse device, or null if no Mouse exists. /// public MouseDevice Mouse { get { return InputDriver.Mouse.Count > 0 ? InputDriver.Mouse[0] : null; } } #endregion #region --- GameWindow Timing --- // TODO: Disabled because it is not reliable enough. Use vsync as a workaround. //#region public bool AllowSleep //public bool AllowSleep //{ // get { return allow_sleep; } // set { allow_sleep = value; } //} //#endregion #region RenderFrequency /// /// Gets a double representing the actual frequency of RenderFrame events, in hertz (i.e. fps or frames per second). /// public double RenderFrequency { get { EnsureUndisposed(); if (render_period == 0.0) return 1.0; return 1.0 / render_period; } } #endregion #region RenderPeriod /// /// Gets a double representing the period of RenderFrame events, in seconds. /// public double RenderPeriod { get { EnsureUndisposed(); return render_period; } } #endregion #region RenderTime /// /// Gets a double representing the time spent in the RenderFrame function, in seconds. /// public double RenderTime { get { EnsureUndisposed(); return render_time; } protected set { EnsureUndisposed(); render_time = value; } } #endregion #region TargetRenderFrequency /// /// Gets or sets a double representing the target render frequency, in hertz. /// /// /// A value of 0.0 indicates that RenderFrame events are generated at the maximum possible frequency (i.e. only limited by the hardware's capabilities). /// Values lower than 1.0Hz are clamped to 1.0Hz. Values higher than 200.0Hz are clamped to 200.0Hz. /// public double TargetRenderFrequency { get { EnsureUndisposed(); if (TargetRenderPeriod == 0.0) return 0.0; return 1.0 / TargetRenderPeriod; } set { EnsureUndisposed(); if (value < 1.0) { TargetRenderPeriod = 0.0; } else if (value <= 200.0) { TargetRenderPeriod = 1.0 / value; } else Debug.Print("Target render frequency clamped to 200.0Hz."); // TODO: Where is it actually performed? } } #endregion #region TargetRenderPeriod /// /// Gets or sets a double representing the target render period, in seconds. /// /// /// A value of 0.0 indicates that RenderFrame events are generated at the maximum possible frequency (i.e. only limited by the hardware's capabilities). /// Values lower than 0.005 seconds (200Hz) are clamped to 0.0. Values higher than 1.0 seconds (1Hz) are clamped to 1.0. /// public double TargetRenderPeriod { get { EnsureUndisposed(); return target_render_period; } set { EnsureUndisposed(); if (value <= 0.005) { target_render_period = 0.0; } else if (value <= 1.0) { target_render_period = value; } else Debug.Print("Target render period clamped to 1.0 seconds."); } } #endregion #region TargetUpdateFrequency /// /// Gets or sets a double representing the target update frequency, in hertz. /// /// /// A value of 0.0 indicates that UpdateFrame events are generated at the maximum possible frequency (i.e. only limited by the hardware's capabilities). /// Values lower than 1.0Hz are clamped to 1.0Hz. Values higher than 200.0Hz are clamped to 200.0Hz. /// public double TargetUpdateFrequency { get { EnsureUndisposed(); if (TargetUpdatePeriod == 0.0) return 0.0; return 1.0 / TargetUpdatePeriod; } set { EnsureUndisposed(); if (value < 1.0) { TargetUpdatePeriod = 0.0; } else if (value <= 200.0) { TargetUpdatePeriod = 1.0 / value; } else Debug.Print("Target update frequency clamped to 200.0Hz."); // TODO: Where is it actually performed? } } #endregion #region TargetUpdatePeriod /// /// Gets or sets a double representing the target update period, in seconds. /// /// /// A value of 0.0 indicates that UpdateFrame events are generated at the maximum possible frequency (i.e. only limited by the hardware's capabilities). /// Values lower than 0.005 seconds (200Hz) are clamped to 0.0. Values higher than 1.0 seconds (1Hz) are clamped to 1.0. /// public double TargetUpdatePeriod { get { EnsureUndisposed(); return target_update_period; } set { EnsureUndisposed(); if (value <= 0.005) { target_update_period = 0.0; } else if (value <= 1.0) { target_update_period = value; } else Debug.Print("Target update period clamped to 1.0 seconds."); // TODO: Where is it actually performed? } } #endregion #region UpdateFrequency /// /// Gets a double representing the frequency of UpdateFrame events, in hertz. /// public double UpdateFrequency { get { EnsureUndisposed(); if (update_period == 0.0) return 1.0; return 1.0 / update_period; } } #endregion #region UpdatePeriod /// /// Gets a double representing the period of UpdateFrame events, in seconds. /// public double UpdatePeriod { get { EnsureUndisposed(); return update_period; } } #endregion #region UpdateTime /// /// Gets a double representing the time spent in the UpdateFrame function, in seconds. /// public double UpdateTime { get { EnsureUndisposed(); return update_time; } } #endregion #endregion #region VSync /// /// Gets or sets the VSyncMode. /// public VSyncMode VSync { get { EnsureUndisposed(); GraphicsContext.Assert(); return vsync; } set { EnsureUndisposed(); GraphicsContext.Assert(); Context.VSync = (vsync = value) != VSyncMode.Off; } } #endregion #region WindowState /// /// Gets or states the state of the NativeWindow. /// public override WindowState WindowState { get { return base.WindowState; } set { base.WindowState = value; Debug.Print("Updating Context after setting WindowState to {0}", value); if (Context != null) Context.Update(WindowInfo); } } #endregion #endregion #region Events /// /// Occurs before the window is displayed for the first time. /// public event EventHandler Load; /// /// Occurs when it is time to render a frame. /// public event EventHandler RenderFrame; /// /// Occurs before the window is destroyed. /// public event EventHandler Unload; /// /// Occurs when it is time to update a frame. /// public event EventHandler UpdateFrame; #endregion #endregion #region --- Protected Members --- #region Dispose /// /// Override to add custom cleanup logic. /// /// True, if this method was called by the application; false if this was called by the finalizer thread. protected virtual void Dispose(bool manual) { } #endregion #region OnRenderFrame /// /// Called when the frame is rendered. /// /// Contains information necessary for frame rendering. /// /// Subscribe to the event instead of overriding this method. /// protected virtual void OnRenderFrame(FrameEventArgs e) { if (RenderFrame != null) RenderFrame(this, e); } #endregion #region OnUpdateFrame /// /// Called when the frame is updated. /// /// Contains information necessary for frame updating. /// /// Subscribe to the event instead of overriding this method. /// protected virtual void OnUpdateFrame(FrameEventArgs e) { if (UpdateFrame != null) UpdateFrame(this, e); } #endregion #region OnWindowInfoChanged /// /// Called when the WindowInfo for this GameWindow has changed. /// /// Not used. protected virtual void OnWindowInfoChanged(EventArgs e) { } #endregion #region OnResize protected override void OnResize(EventArgs e) { base.OnResize(e); glContext.Update(base.WindowInfo); } #endregion #endregion #region --- Private Members --- #region OnLoadInternal private void OnLoadInternal(EventArgs e) { OnLoad(e); } #endregion #region OnRenderFrameInternal private void OnRenderFrameInternal(FrameEventArgs e) { if (Exists && !isExiting) OnRenderFrame(e); } #endregion #region OnUnloadInternal private void OnUnloadInternal(EventArgs e) { OnUnload(e); } #endregion #region OnUpdateFrameInternal private void OnUpdateFrameInternal(FrameEventArgs e) { if (Exists && !isExiting) OnUpdateFrame(e); } #endregion #region OnWindowInfoChangedInternal private void OnWindowInfoChangedInternal(EventArgs e) { glContext.MakeCurrent(WindowInfo); OnWindowInfoChanged(e); } #endregion #endregion } #region public enum VSyncMode /// /// Enumerates available VSync modes. /// public enum VSyncMode { /// /// Vsync disabled. /// Off = 0, /// /// VSync enabled. /// On, /// /// VSync enabled, unless framerate falls below one half of target framerate. /// If no target framerate is specified, this behaves exactly like . /// Adaptive, } #endregion }opentk-1.0.20101006/Source/OpenTK/Properties/0000775000175000017500000000000011453142154017302 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Properties/AssemblyInfo.cs0000664000175000017500000000141511453131422022221 0ustar laneylaneyusing System; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("OpenTK")] [assembly: AssemblyDescription("Open source game development toolkit for .Net/Mono.")] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("7652241e-158d-4eb1-85f4-ed40ee356791")] [assembly: CLSCompliant(true)] [assembly: System.Security.AllowPartiallyTrustedCallers] #if NET40 [assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)] #endif opentk-1.0.20101006/Source/OpenTK/Properties/Resources.resx0000664000175000017500000001327111453131422022157 0ustar laneylaney text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 opentk-1.0.20101006/Source/OpenTK/Properties/Resources.Designer.cs0000664000175000017500000000542711453131422023346 0ustar laneylaney//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:2.0.50727.4918 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace OpenTK.Properties { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTK.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } } } opentk-1.0.20101006/Source/OpenTK/DisplayDevice.cs0000664000175000017500000004177211453131424020233 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Threading; using System.Drawing; namespace OpenTK { /// /// Defines a display device on the underlying system, and provides /// methods to query and change its display parameters. /// public class DisplayDevice { // TODO: Add support for refresh rate queries and switches. // TODO: Check whether bits_per_pixel works correctly under Mono/X11. // TODO: Add properties that describe the 'usable' size of the Display, i.e. the maximized size without the taskbar etc. // TODO: Does not detect changes to primary device. // TODO: Mono does not support System.Windows.Forms.Screen.BitsPerPixel -- find workaround! #region --- Fields --- DisplayResolution current_resolution = new DisplayResolution(), original_resolution; List available_resolutions = new List(); IList available_resolutions_readonly; bool primary; Rectangle bounds; static readonly List available_displays = new List(); static readonly IList available_displays_readonly; static readonly object display_lock = new object(); static DisplayDevice primary_display; static Platform.IDisplayDeviceDriver implementation; #endregion #region --- Constructors --- static DisplayDevice() { implementation = Platform.Factory.Default.CreateDisplayDeviceDriver(); available_displays_readonly = available_displays.AsReadOnly(); } internal DisplayDevice() { lock (display_lock) { available_displays.Add(this); } available_resolutions_readonly = available_resolutions.AsReadOnly(); } internal DisplayDevice(DisplayResolution currentResolution, bool primary, IEnumerable availableResolutions, Rectangle bounds) : this() { #warning "Consolidate current resolution with bounds? Can they fall out of sync right now?" this.current_resolution = currentResolution; IsPrimary = primary; this.available_resolutions.AddRange(availableResolutions); this.bounds = bounds == Rectangle.Empty ? currentResolution.Bounds : bounds; Debug.Print("DisplayDevice {0} ({1}) supports {2} resolutions.", available_displays.Count, primary ? "primary" : "secondary", available_resolutions.Count); } #endregion #region --- Public Methods --- #region public Rectangle Bounds /// /// Gets the bounds of this instance in pixel coordinates.. /// public Rectangle Bounds { get { return bounds; } internal set { bounds = value; current_resolution.Height = bounds.Height; current_resolution.Width = bounds.Width; } } #endregion #region public int Width /// Gets a System.Int32 that contains the width of this display in pixels. public int Width { get { return current_resolution.Width; } } #endregion #region public int Height /// Gets a System.Int32 that contains the height of this display in pixels. public int Height { get { return current_resolution.Height; } } #endregion #region public int BitsPerPixel /// Gets a System.Int32 that contains number of bits per pixel of this display. Typical values include 8, 16, 24 and 32. public int BitsPerPixel { get { return current_resolution.BitsPerPixel; } internal set { current_resolution.BitsPerPixel = value; } } #endregion #region public float RefreshRate /// /// Gets a System.Single representing the vertical refresh rate of this display. /// public float RefreshRate { get { return current_resolution.RefreshRate; } internal set { current_resolution.RefreshRate = value; } } #endregion #region public bool IsPrimary /// Gets a System.Boolean that indicates whether this Display is the primary Display in systems with multiple Displays. public bool IsPrimary { get { return primary; } internal set { if (value && primary_display != null && primary_display != this) primary_display.IsPrimary = false; lock (display_lock) { primary = value; if (value) primary_display = this; } } } #endregion #region public DisplayResolution SelectResolution(int width, int height, int bitsPerPixel, float refreshRate) /// /// Selects an available resolution that matches the specified parameters. /// /// The width of the requested resolution in pixels. /// The height of the requested resolution in pixels. /// The bits per pixel of the requested resolution. /// The refresh rate of the requested resolution in hertz. /// The requested DisplayResolution or null if the parameters cannot be met. /// /// If a matching resolution is not found, this function will retry ignoring the specified refresh rate, /// bits per pixel and resolution, in this order. If a matching resolution still doesn't exist, this function will /// return the current resolution. /// A parameter set to 0 or negative numbers will not be used in the search (e.g. if refreshRate is 0, /// any refresh rate will be considered valid). /// This function allocates memory. /// public DisplayResolution SelectResolution(int width, int height, int bitsPerPixel, float refreshRate) { DisplayResolution resolution = FindResolution(width, height, bitsPerPixel, refreshRate); if (resolution == null) resolution = FindResolution(width, height, bitsPerPixel, 0); if (resolution == null) resolution = FindResolution(width, height, 0, 0); if (resolution == null) return current_resolution; return resolution; } #endregion #region public IList AvailableResolutions /// /// Gets the list of objects available on this device. /// public IList AvailableResolutions { get { return available_resolutions_readonly; } internal set { available_resolutions = (List)value; available_resolutions_readonly = available_resolutions.AsReadOnly(); } } #endregion #region public void ChangeResolution(DisplayResolution resolution) /// Changes the resolution of the DisplayDevice. /// The resolution to set. /// Thrown if the requested resolution could not be set. /// If the specified resolution is null, this function will restore the original DisplayResolution. public void ChangeResolution(DisplayResolution resolution) { if (resolution == null) this.RestoreResolution(); if (resolution == current_resolution) return; //effect.FadeOut(); if (implementation.TryChangeResolution(this, resolution)) { if (original_resolution == null) original_resolution = current_resolution; current_resolution = resolution; } else throw new Graphics.GraphicsModeException(String.Format("Device {0}: Failed to change resolution to {1}.", this, resolution)); //effect.FadeIn(); } #endregion #region public void ChangeResolution(int width, int height, int bitsPerPixel, float refreshRate) /// Changes the resolution of the DisplayDevice. /// The new width of the DisplayDevice. /// The new height of the DisplayDevice. /// The new bits per pixel of the DisplayDevice. /// The new refresh rate of the DisplayDevice. /// Thrown if the requested resolution could not be set. public void ChangeResolution(int width, int height, int bitsPerPixel, float refreshRate) { this.ChangeResolution(this.SelectResolution(width, height, bitsPerPixel, refreshRate)); } #endregion #region public void RestoreResolution() /// Restores the original resolution of the DisplayDevice. /// Thrown if the original resolution could not be restored. public void RestoreResolution() { if (original_resolution != null) { //effect.FadeOut(); if (implementation.TryRestoreResolution(this)) { current_resolution = original_resolution; original_resolution = null; } else throw new Graphics.GraphicsModeException(String.Format("Device {0}: Failed to restore resolution.", this)); //effect.FadeIn(); } } #endregion #region public static IList AvailableDisplays /// /// Gets the list of available objects. /// public static IList AvailableDisplays { get { return available_displays_readonly; } } #endregion #region public static DisplayDevice Default /// Gets the default (primary) display of this system. public static DisplayDevice Default { get { return primary_display; } } #endregion #endregion #region --- Private Methods --- #region DisplayResolution FindResolution(int width, int height, int bitsPerPixel, float refreshRate) DisplayResolution FindResolution(int width, int height, int bitsPerPixel, float refreshRate) { return available_resolutions.Find(delegate(DisplayResolution test) { return ((width > 0 && width == test.Width) || width == 0) && ((height > 0 && height == test.Height) || height == 0) && ((bitsPerPixel > 0 && bitsPerPixel == test.BitsPerPixel) || bitsPerPixel == 0) && ((refreshRate > 0 && System.Math.Abs(refreshRate - test.RefreshRate) < 1.0) || refreshRate == 0); }); } #endregion #endregion #region --- Overrides --- #region public override string ToString() /// /// Returns a System.String representing this DisplayDevice. /// /// A System.String representing this DisplayDevice. public override string ToString() { return String.Format("{0}: {1} ({2} modes available)", IsPrimary ? "Primary" : "Secondary", Bounds.ToString(), available_resolutions.Count); } #endregion #region public override bool Equals(object obj) ///// Determines whether the specified DisplayDevices are equal. ///// The System.Object to check against. ///// True if the System.Object is an equal DisplayDevice; false otherwise. //public override bool Equals(object obj) //{ // if (obj is DisplayDevice) // { // DisplayDevice dev = (DisplayDevice)obj; // return // IsPrimary == dev.IsPrimary && // current_resolution == dev.current_resolution && // available_resolutions.Count == dev.available_resolutions.Count; // } // return false; //} #endregion #region public override int GetHashCode() ///// Returns a unique hash representing this DisplayDevice. ///// A System.Int32 that may serve as a hash code for this DisplayDevice. ////public override int GetHashCode() //{ // return current_resolution.GetHashCode() ^ IsPrimary.GetHashCode() ^ available_resolutions.Count; //} #endregion #endregion } #region --- FadeEffect --- #if false class FadeEffect : IDisposable { List
forms = new List(); double opacity_step = 0.04; int sleep_step; internal FadeEffect() { foreach (Screen s in Screen.AllScreens) { Form form = new Form(); form.ShowInTaskbar = false; form.StartPosition = FormStartPosition.Manual; form.WindowState = FormWindowState.Maximized; form.FormBorderStyle = FormBorderStyle.None; form.TopMost = true; form.BackColor = System.Drawing.Color.Black; forms.Add(form); } sleep_step = 10 / forms.Count; MoveToStartPositions(); } void MoveToStartPositions() { int count = 0; foreach (Screen s in Screen.AllScreens) { // forms[count++].Location = new System.Drawing.Point(s.Bounds.X, s.Bounds.Y); //forms[count].Size = new System.Drawing.Size(4096, 4096); count++; } } bool FadedOut { get { bool ready = true; foreach (Form form in forms) ready = ready && form.Opacity >= 1.0; return ready; } } bool FadedIn { get { bool ready = true; foreach (Form form in forms) ready = ready && form.Opacity <= 0.0; return ready; } } internal void FadeOut() { MoveToStartPositions(); foreach (Form form in forms) { form.Opacity = 0.0; form.Visible = true; } while (!FadedOut) { foreach (Form form in forms) { form.Opacity += opacity_step; form.Refresh(); } Thread.Sleep(sleep_step); } } internal void FadeIn() { MoveToStartPositions(); foreach (Form form in forms) form.Opacity = 1.0; while (!FadedIn) { foreach (Form form in forms) { form.Opacity -= opacity_step; form.Refresh(); } Thread.Sleep(sleep_step); } foreach (Form form in forms) form.Visible = false; } #region IDisposable Members public void Dispose() { foreach (Form form in forms) form.Dispose(); } #endregion } #endif #endregion } opentk-1.0.20101006/Source/OpenTK/IGameWindow.cs0000664000175000017500000000543011453131424017647 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform { /// /// Defines the interface for a GameWindow. /// public interface IGameWindow : INativeWindow { /// /// Enters the game loop of the GameWindow using the maximum update rate. /// /// void Run(); /// /// Enters the game loop of the GameWindow using the specified update rate. /// void Run(double updateRate); /// /// Makes the GraphicsContext current on the calling thread. /// void MakeCurrent(); /// /// Swaps the front and back buffers of the current GraphicsContext, presenting the rendered scene to the user. /// void SwapBuffers(); /// /// Occurs before the window is displayed for the first time. /// event EventHandler Load; /// /// Occurs before the window is destroyed. /// event EventHandler Unload; /// /// Occurs when it is time to update a frame. /// event EventHandler UpdateFrame; /// /// Occurs when it is time to render a frame. /// event EventHandler RenderFrame; } } opentk-1.0.20101006/Source/OpenTK/OpenTK.dll.config0000664000175000017500000000153311453131424020247 0ustar laneylaney opentk-1.0.20101006/Source/OpenTK/Configuration.cs0000664000175000017500000001744011453131424020310 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Reflection; namespace OpenTK { /// Provides information about the underlying OS and runtime. public static class Configuration { static bool runningOnWindows, runningOnUnix, runningOnX11, runningOnMacOS, runningOnLinux, runningOnMono; #region --- Constructors --- // Detects the underlying OS and runtime. static Configuration() { if (System.Environment.OSVersion.Platform == PlatformID.Win32NT || System.Environment.OSVersion.Platform == PlatformID.Win32S || System.Environment.OSVersion.Platform == PlatformID.Win32Windows || System.Environment.OSVersion.Platform == PlatformID.WinCE) runningOnWindows = true; else if (System.Environment.OSVersion.Platform == PlatformID.Unix || System.Environment.OSVersion.Platform == (PlatformID)4) { // Distinguish between Linux, Mac OS X and other Unix operating systems. string kernel_name = DetectUnixKernel(); switch (kernel_name) { case null: case "": throw new PlatformNotSupportedException( "Unknown platform. Please file a bug report at http://www.opentk.com/node/add/project-issue/opentk"); case "Linux": runningOnLinux = runningOnUnix = true; break; case "Darwin": runningOnMacOS = runningOnUnix = true; break; default: runningOnUnix = true; break; } } else throw new PlatformNotSupportedException("Unknown platform. Please report this error at http://www.opentk.com."); // Detect whether X is present. // Hack: it seems that this check will cause X to initialize itself on Mac OS X Leopard and newer. // We don't want that (we'll be using the native interfaces anyway), so we'll avoid this check // when we detect Mac OS X. if (!RunningOnMacOS) { try { runningOnX11 = OpenTK.Platform.X11.API.DefaultDisplay != IntPtr.Zero; } catch { } } // Detect the Mono runtime (code taken from http://mono.wikia.com/wiki/Detecting_if_program_is_running_in_Mono). Type t = Type.GetType("Mono.Runtime"); if (t != null) runningOnMono = true; Debug.Print("Detected configuration: {0} / {1}", RunningOnWindows ? "Windows" : RunningOnLinux ? "Linux" : RunningOnMacOS ? "MacOS" : runningOnUnix ? "Unix" : RunningOnX11 ? "X11" : "Unknown Platform", RunningOnMono ? "Mono" : ".Net"); } #endregion #region --- Public Methods --- #region public static bool RunningOnWindows /// Gets a System.Boolean indicating whether OpenTK is running on a Windows platform. public static bool RunningOnWindows { get { return runningOnWindows; } } #endregion #region public static bool RunningOnX11 /// Gets a System.Boolean indicating whether OpenTK is running on an X11 platform. public static bool RunningOnX11 { get { return runningOnX11; } } /// /// Gets a indicating whether OpenTK is running on a Unix platform. /// public static bool RunningOnUnix { get { return runningOnUnix; } } #endregion #region public static bool RunningOnLinux /// Gets a System.Boolean indicating whether OpenTK is running on an X11 platform. public static bool RunningOnLinux { get { return runningOnLinux; } } #endregion #region public static bool RunningOnMacOS /// Gets a System.Boolean indicating whether OpenTK is running on a MacOS platform. public static bool RunningOnMacOS { get { return runningOnMacOS; } } #endregion #region public static bool RunningOnMono /// /// Gets a System.Boolean indicating whether OpenTK is running on the Mono runtime. /// public static bool RunningOnMono { get { return runningOnMono; } } #endregion #region --- Private Methods --- #region private static string DetectUnixKernel() [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] struct utsname { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string sysname; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string nodename; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string release; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string version; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string machine; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)] public string extraJustInCase; } /// /// Detects the unix kernel by p/invoking uname (libc). /// /// private static string DetectUnixKernel() { Debug.Print("Size: {0}", Marshal.SizeOf(typeof(utsname)).ToString()); Debug.Flush(); utsname uts = new utsname(); uname(out uts); Debug.WriteLine("System:"); Debug.Indent(); Debug.WriteLine(uts.sysname); Debug.WriteLine(uts.nodename); Debug.WriteLine(uts.release); Debug.WriteLine(uts.version); Debug.WriteLine(uts.machine); Debug.Unindent(); return uts.sysname.ToString(); } [DllImport("libc")] private static extern void uname(out utsname uname_struct); #endregion #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/ContextHandle.cs0000664000175000017500000001364011453131424020237 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK { /// /// Represents a handle to an OpenGL or OpenAL context. /// public struct ContextHandle : IComparable, IEquatable { #region Fields IntPtr handle; /// /// Gets a System.IntPtr that represents the handle of this ContextHandle. /// public IntPtr Handle { get { return handle; } } /// A read-only field that represents a handle that has been initialized to zero. public static readonly ContextHandle Zero = new ContextHandle(IntPtr.Zero); #endregion #region Constructors /// /// Constructs a new instance with the specified handle. /// /// A System.IntPtr containing the value for this instance. public ContextHandle(IntPtr h) { handle = h; } #endregion #region Public Members #region ToString /// /// Converts this instance to its equivalent string representation. /// /// A System.String that contains the string representation of this instance. public override string ToString() { return Handle.ToString(); } #endregion #region Equals /// /// Compares this instance to the specified object. /// /// The System.Object to compare to. /// True if obj is a ContextHandle that is equal to this instance; false otherwise. public override bool Equals(object obj) { if (obj is ContextHandle) return this.Equals((ContextHandle)obj); return false; } #endregion #region GetHashCode /// /// Returns the hash code for this instance. /// /// A System.Int32 with the hash code of this instance. public override int GetHashCode() { return Handle.GetHashCode(); } #endregion #region public static explicit operator IntPtr(ContextHandle c) /// /// Converts the specified ContextHandle to the equivalent IntPtr. /// /// The ContextHandle to convert. /// A System.IntPtr equivalent to the specified ContextHandle. public static explicit operator IntPtr(ContextHandle c) { return c != ContextHandle.Zero ? c.handle : IntPtr.Zero; } #endregion #region public static explicit operator ContextHandle(IntPtr p) /// /// Converts the specified IntPtr to the equivalent ContextHandle. /// /// The System.IntPtr to convert. /// A ContextHandle equivalent to the specified IntPtr. public static explicit operator ContextHandle(IntPtr p) { return new ContextHandle(p); } #endregion #region public static bool operator ==(ContextHandle left, ContextHandle right) /// /// Compares two ContextHandles for equality. /// /// The ContextHandle to compare. /// The ContextHandle to compare to. /// True if left is equal to right; false otherwise. public static bool operator ==(ContextHandle left, ContextHandle right) { return left.Equals(right); } #endregion #region public static bool operator !=(ContextHandle left, ContextHandle right) /// /// Compares two ContextHandles for inequality. /// /// The ContextHandle to compare. /// The ContextHandle to compare to. /// True if left is not equal to right; false otherwise. public static bool operator !=(ContextHandle left, ContextHandle right) { return !left.Equals(right); } #endregion #endregion #region IComparable Members /// /// Compares the numerical value of this instance to the specified ContextHandle and /// returns a value indicating their relative order. /// /// The ContextHandle to compare to. /// Less than 0, if this instance is less than other; 0 if both are equal; Greater than 0 if other is greater than this instance. public int CompareTo(ContextHandle other) { unsafe { return (int)((int*)other.handle.ToPointer() - (int*)this.handle.ToPointer()); } } #endregion #region IEquatable Members /// /// Compares this instance to the specified ContextHandle for equality. /// /// The ContextHandle to compare to. /// True if this instance is equal to other; false otherwise. public bool Equals(ContextHandle other) { return Handle == other.Handle; } #endregion } } opentk-1.0.20101006/Source/OpenTK/BindingsBase.cs0000664000175000017500000002021411453131424020022 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.Runtime.InteropServices; using System.Diagnostics; namespace OpenTK { /// /// Provides a common foundation for all flat API bindings and implements the extension loading interface. /// public abstract class BindingsBase { #region Fields /// /// A reflection handle to the nested type that contains the function delegates. /// readonly protected Type DelegatesClass; /// /// A refection handle to the nested type that contains core functions (i.e. not extensions). /// readonly protected Type CoreClass; /// /// A mapping of core function names to MethodInfo handles. /// readonly protected SortedList CoreFunctionMap = new SortedList(); bool rebuildExtensionList = true; #endregion #region Constructors /// /// Constructs a new BindingsBase instance. /// public BindingsBase() { DelegatesClass = this.GetType().GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic); CoreClass = this.GetType().GetNestedType("Core", BindingFlags.Static | BindingFlags.NonPublic); if (CoreClass != null) { MethodInfo[] methods = CoreClass.GetMethods(BindingFlags.Static | BindingFlags.NonPublic); CoreFunctionMap = new SortedList(methods.Length); // Avoid resizing foreach (MethodInfo m in methods) { CoreFunctionMap.Add(m.Name, m); } } } #endregion #region Protected Members /// /// Gets or sets a that indicates whether the list of supported extensions may have changed. /// protected bool RebuildExtensionList { get { return rebuildExtensionList; } set { rebuildExtensionList = value; } } /// /// Retrieves an unmanaged function pointer to the specified function. /// /// /// A that defines the name of the function. /// /// /// A that contains the address of funcname or IntPtr.Zero, /// if the function is not supported by the drivers. /// /// /// Note: some drivers are known to return non-zero values for unsupported functions. /// Typical values include 1 and 2 - inheritors are advised to check for and ignore these /// values. /// protected abstract IntPtr GetAddress(string funcname); /// /// Gets an object that can be used to synchronize access to the bindings implementation. /// /// This object should be unique across bindings but consistent between bindings /// of the same type. For example, ES10.GL, OpenGL.GL and CL10.CL should all return /// unique objects, but all instances of ES10.GL should return the same object. protected abstract object SyncRoot { get; } #endregion #region Internal Members #region LoadEntryPoints internal void LoadEntryPoints() { // Using reflection is more than 3 times faster than directly loading delegates on the first // run, probably due to code generation overhead. Subsequent runs are faster with direct loading // than with reflection, but the first time is more significant. int supported = 0; FieldInfo[] delegates = DelegatesClass.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); if (delegates == null) throw new InvalidOperationException("The specified type does not have any loadable extensions."); Debug.Write("Loading extensions for " + this.GetType().FullName + "... "); Stopwatch time = new Stopwatch(); time.Reset(); time.Start(); foreach (FieldInfo f in delegates) { Delegate d = LoadDelegate(f.Name, f.FieldType); if (d != null) ++supported; lock (SyncRoot) { f.SetValue(null, d); } } rebuildExtensionList = true; time.Stop(); Debug.Print("{0} extensions loaded in {1} ms.", supported, time.Elapsed.TotalMilliseconds); time.Reset(); } #endregion #region LoadEntryPoint internal bool LoadEntryPoint(string function) { FieldInfo f = DelegatesClass.GetField(function, BindingFlags.Static | BindingFlags.NonPublic); if (f == null) return false; Delegate old = f.GetValue(null) as Delegate; Delegate @new = LoadDelegate(f.Name, f.FieldType); lock (SyncRoot) { if (old.Target != @new.Target) { f.SetValue(null, @new); } } return @new != null; } #endregion #endregion #region Private Members #region LoadDelegate // Tries to load the specified core or extension function. Delegate LoadDelegate(string name, Type signature) { MethodInfo m; return GetExtensionDelegate(name, signature) ?? (CoreFunctionMap.TryGetValue((name.Substring(2)), out m) ? Delegate.CreateDelegate(signature, m) : null); } #endregion #region GetExtensionDelegate // Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. internal Delegate GetExtensionDelegate(string name, Type signature) { IntPtr address = GetAddress(name); if (address == IntPtr.Zero || address == new IntPtr(1) || // Workaround for buggy nvidia drivers which return address == new IntPtr(2)) // 1 or 2 instead of IntPtr.Zero for some extensions. { return null; } else { return Marshal.GetDelegateForFunctionPointer(address, signature); } } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/OpenTK.csproj0000664000175000017500000006315211453131424017535 0ustar laneylaney Local 8.0.50727 2.0 {A37A7E14-0000-0000-0000-000000000000} Debug AnyCPU OpenTK JScript Grid IE50 false v2.0 Library OpenTK 2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false false true true 285212672 DEBUG;TRACE; OpenTK.xml true 4096 false ..\..\Binaries\OpenTK\Debug\ False False 4 AllRules.ruleset full true 285212672 TRACE; OpenTK.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none ..\..\Binaries\OpenTK\Release\ true 285212672 TRACE; OpenTK.xml 4096 true ..\..\Binaries\OpenTK\Release\ False False 4 AllRules.ruleset none true ..\..\OpenTK.snk System False System.Data False System.Drawing False System.Windows.Forms False System.Xml False Properties\GlobalAssemblyInfo.cs Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code ResXFileCodeGenerator Resources.Designer.cs Designer True Resources.resx True OpenTK.snk Always opentk-1.0.20101006/Source/OpenTK/Platform/0000775000175000017500000000000011453142154016732 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/Egl/0000775000175000017500000000000011453142154017441 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglWindowInfo.cs0000664000175000017500000000770711453131422022512 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using OpenTK.Graphics; namespace OpenTK.Platform.Egl { // Holds information about an EGL window. class EglWindowInfo : IWindowInfo { #region Fields IntPtr handle; IntPtr display; IntPtr surface; bool disposed; #endregion #region Constructiors public EglWindowInfo(IntPtr handle, IntPtr display) { Handle = handle; Display = display; } public EglWindowInfo(IntPtr handle, IntPtr display, IntPtr surface) { Handle = handle; Display = display; Surface = surface; } #endregion #region Public Members public IntPtr Handle { get { return handle; } private set { handle = value; } } public IntPtr Display { get { return display; } private set { display = value; } } public IntPtr Surface { get { return surface; } private set { surface = value; } } public void CreateWindowSurface(IntPtr config) { Surface = Egl.CreateWindowSurface(Display, config, Handle, null); int error = Egl.GetError(); if (error != Egl.SUCCESS) throw new GraphicsContextException(String.Format("[Error] Failed to create EGL window surface, error {0}.", error)); } //public void CreatePixmapSurface(EGLConfig config) //{ // Surface = Egl.CreatePixmapSurface(Display, config, Handle, null); //} //public void CreatePbufferSurface(EGLConfig config) //{ // Surface = Egl.CreatePbufferSurface(Display, config, null); //} public void DestroySurface() { if (Surface != IntPtr.Zero) if (!Egl.DestroySurface(Display, Surface)) Debug.Print("[Warning] Failed to destroy {0}:{1}.", Surface.GetType().Name, Surface); } #endregion #region IDisposable Members public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool manual) { if (!disposed) { if (manual) { DestroySurface(); disposed = true; } else { Debug.Print("[Warning] Failed to destroy {0}:{1}.", this.GetType().Name, Handle); } } } ~EglWindowInfo() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglGraphicsMode.cs0000664000175000017500000001007011453131422022757 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; namespace OpenTK.Platform.Egl { class EglGraphicsMode : IGraphicsMode { #region IGraphicsMode Members public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo) { IntPtr[] configs = new IntPtr[1]; int[] attribList = new int[] { //Egl.SURFACE_TYPE, Egl.WINDOW_BIT, Egl.RED_SIZE, color.Red, Egl.GREEN_SIZE, color.Green, Egl.BLUE_SIZE, color.Blue, Egl.ALPHA_SIZE, color.Alpha, Egl.DEPTH_SIZE, depth > 0 ? depth : 0, Egl.STENCIL_SIZE, stencil > 0 ? stencil : 0, //Egl.SAMPLE_BUFFERS, samples > 0 ? 1 : 0, Egl.SAMPLES, samples > 0 ? samples : 0, Egl.NONE, }; // Todo: what if we don't wish to use the default display? IntPtr display = Egl.GetDisplay(IntPtr.Zero); int major, minor; if (!Egl.Initialize(display, out major, out minor)) throw new GraphicsModeException(String.Format("Failed to initialize display connection, error {0}", Egl.GetError())); int num_configs; if (!Egl.GetConfigs(display, null, 0, out num_configs)) { throw new GraphicsModeException(String.Format("Failed to retrieve GraphicsMode configurations, error {0}", Egl.GetError())); } if (!Egl.ChooseConfig(display, attribList, configs, configs.Length, out num_configs)) { throw new GraphicsModeException(String.Format("Failed to retrieve GraphicsMode, error {0}", Egl.GetError())); } // See what we really got IntPtr active_config = configs[0]; int r, g, b, a; Egl.GetConfigAttrib(display, active_config, Egl.RED_SIZE, out r); Egl.GetConfigAttrib(display, active_config, Egl.GREEN_SIZE, out g); Egl.GetConfigAttrib(display, active_config, Egl.BLUE_SIZE, out b); Egl.GetConfigAttrib(display, active_config, Egl.ALPHA_SIZE, out a); int d, s; Egl.GetConfigAttrib(display, active_config, Egl.DEPTH_SIZE, out d); Egl.GetConfigAttrib(display, active_config, Egl.STENCIL_SIZE, out s); int sample_buffers; Egl.GetConfigAttrib(display, active_config, Egl.SAMPLES, out sample_buffers); Egl.GetConfigAttrib(display, active_config, Egl.SAMPLES, out samples); return new GraphicsMode(active_config, new ColorFormat(r, g, b, a), d, s, sample_buffers > 0 ? samples : 0, 0, 2, false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Egl/Egl.cs0000664000175000017500000003634711453131422020510 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Runtime.InteropServices; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; namespace OpenTK.Platform.Egl { using EGLNativeDisplayType = IntPtr; using EGLNativePixmapType = IntPtr; using EGLConfig = IntPtr; using EGLContext = IntPtr; using EGLDisplay = IntPtr; using EGLSurface = IntPtr; using EGLClientBuffer = IntPtr; static partial class Egl { public const int VERSION_1_0 = 1; public const int VERSION_1_1 = 1; public const int VERSION_1_2 = 1; public const int VERSION_1_3 = 1; public const int VERSION_1_4 = 1; public const int FALSE = 0; public const int TRUE = 1; public const int DONT_CARE = -1; public const int SUCCESS = 12288; public const int NOT_INITIALIZED = 12289; public const int BAD_ACCESS = 12290; public const int BAD_ALLOC = 12291; public const int BAD_ATTRIBUTE = 12292; public const int BAD_CONFIG = 12293; public const int BAD_CONTEXT = 12294; public const int BAD_CURRENT_SURFACE = 12295; public const int BAD_DISPLAY = 12296; public const int BAD_MATCH = 12297; public const int BAD_NATIVE_PIXMAP = 12298; public const int BAD_NATIVE_WINDOW = 12299; public const int BAD_PARAMETER = 12300; public const int BAD_SURFACE = 12301; public const int CONTEXT_LOST = 12302; public const int BUFFER_SIZE = 12320; public const int ALPHA_SIZE = 12321; public const int BLUE_SIZE = 12322; public const int GREEN_SIZE = 12323; public const int RED_SIZE = 12324; public const int DEPTH_SIZE = 12325; public const int STENCIL_SIZE = 12326; public const int CONFIG_CAVEAT = 12327; public const int CONFIG_ID = 12328; public const int LEVEL = 12329; public const int MAX_PBUFFER_HEIGHT = 12330; public const int MAX_PBUFFER_PIXELS = 12331; public const int MAX_PBUFFER_WIDTH = 12332; public const int NATIVE_RENDERABLE = 12333; public const int NATIVE_VISUAL_ID = 12334; public const int NATIVE_VISUAL_TYPE = 12335; public const int PRESERVED_RESOURCES = 12336; public const int SAMPLES = 12337; public const int SAMPLE_BUFFERS = 12338; public const int SURFACE_TYPE = 12339; public const int TRANSPARENT_TYPE = 12340; public const int TRANSPARENT_BLUE_VALUE = 12341; public const int TRANSPARENT_GREEN_VALUE = 12342; public const int TRANSPARENT_RED_VALUE = 12343; public const int NONE = 12344; public const int BIND_TO_TEXTURE_RGB = 12345; public const int BIND_TO_TEXTURE_RGBA = 12346; public const int MIN_SWAP_INTERVAL = 12347; public const int MAX_SWAP_INTERVAL = 12348; public const int LUMINANCE_SIZE = 12349; public const int ALPHA_MASK_SIZE = 12350; public const int COLOR_BUFFER_TYPE = 12351; public const int RENDERABLE_TYPE = 12352; public const int MATCH_NATIVE_PIXMAP = 12353; public const int CONFORMANT = 12354; public const int SLOW_CONFIG = 12368; public const int NON_CONFORMANT_CONFIG = 12369; public const int TRANSPARENT_RGB = 12370; public const int RGB_BUFFER = 12430; public const int LUMINANCE_BUFFER = 12431; public const int NO_TEXTURE = 12380; public const int TEXTURE_RGB = 12381; public const int TEXTURE_RGBA = 12382; public const int TEXTURE_2D = 12383; public const int PBUFFER_BIT = 1; public const int PIXMAP_BIT = 2; public const int WINDOW_BIT = 4; public const int VG_COLORSPACE_LINEAR_BIT = 32; public const int VG_ALPHA_FORMAT_PRE_BIT = 64; public const int MULTISAMPLE_RESOLVE_BOX_BIT = 512; public const int SWAP_BEHAVIOR_PRESERVED_BIT = 1024; public const int OPENGL_ES_BIT = 1; public const int OPENVG_BIT = 2; public const int OPENGL_ES2_BIT = 4; public const int OPENGL_BIT = 8; public const int VENDOR = 12371; public const int VERSION = 12372; public const int EXTENSIONS = 12373; public const int CLIENT_APIS = 12429; public const int HEIGHT = 12374; public const int WIDTH = 12375; public const int LARGEST_PBUFFER = 12376; public const int TEXTURE_FORMAT = 12416; public const int TEXTURE_TARGET = 12417; public const int MIPMAP_TEXTURE = 12418; public const int MIPMAP_LEVEL = 12419; public const int RENDER_BUFFER = 12422; public const int VG_COLORSPACE = 12423; public const int VG_ALPHA_FORMAT = 12424; public const int HORIZONTAL_RESOLUTION = 12432; public const int VERTICAL_RESOLUTION = 12433; public const int PIXEL_ASPECT_RATIO = 12434; public const int SWAP_BEHAVIOR = 12435; public const int MULTISAMPLE_RESOLVE = 12441; public const int BACK_BUFFER = 12420; public const int SINGLE_BUFFER = 12421; public const int VG_COLORSPACE_sRGB = 12425; public const int VG_COLORSPACE_LINEAR = 12426; public const int VG_ALPHA_FORMAT_NONPRE = 12427; public const int VG_ALPHA_FORMAT_PRE = 12428; public const int DISPLAY_SCALING = 10000; public const int UNKNOWN = -1; public const int BUFFER_PRESERVED = 12436; public const int BUFFER_DESTROYED = 12437; public const int OPENVG_IMAGE = 12438; public const int CONTEXT_CLIENT_TYPE = 12439; public const int CONTEXT_CLIENT_VERSION = 12440; public const int MULTISAMPLE_RESOLVE_DEFAULT = 12442; public const int MULTISAMPLE_RESOLVE_BOX = 12443; public const int OPENGL_ES_API = 12448; public const int OPENVG_API = 12449; public const int OPENGL_API = 12450; public const int DRAW = 12377; public const int READ = 12378; public const int CORE_NATIVE_ENGINE = 12379; public const int COLORSPACE = VG_COLORSPACE; public const int ALPHA_FORMAT = VG_ALPHA_FORMAT; public const int COLORSPACE_sRGB = VG_COLORSPACE_sRGB; public const int COLORSPACE_LINEAR = VG_COLORSPACE_LINEAR; public const int ALPHA_FORMAT_NONPRE = VG_ALPHA_FORMAT_NONPRE; public const int ALPHA_FORMAT_PRE = VG_ALPHA_FORMAT_PRE; [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetError")] public static extern int GetError(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetDisplay")] public static extern EGLDisplay GetDisplay(EGLNativeDisplayType display_id); [DllImportAttribute("libEGL.dll", EntryPoint = "eglInitialize")] //[return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool Initialize(EGLDisplay dpy, out int major, out int minor); [DllImportAttribute("libEGL.dll", EntryPoint = "eglTerminate")] //[return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool Terminate(EGLDisplay dpy); [DllImportAttribute("libEGL.dll", EntryPoint = "eglQueryString")] public static extern IntPtr QueryString(EGLDisplay dpy, int name); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetConfigs")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool GetConfigs(EGLDisplay dpy, EGLConfig[] configs, int config_size, out int num_config); [DllImportAttribute("libEGL.dll", EntryPoint = "eglChooseConfig")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool ChooseConfig(EGLDisplay dpy, int[] attrib_list, [In, Out] EGLConfig[] configs, int config_size, out int num_config); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetConfigAttrib")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool GetConfigAttrib(EGLDisplay dpy, EGLConfig config, int attribute, out int value); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCreateWindowSurface")] public static extern EGLSurface CreateWindowSurface(EGLDisplay dpy, EGLConfig config, IntPtr win, int[] attrib_list); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCreatePbufferSurface")] public static extern EGLSurface CreatePbufferSurface(EGLDisplay dpy, EGLConfig config, int[] attrib_list); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCreatePixmapSurface")] public static extern EGLSurface CreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, int[] attrib_list); [DllImportAttribute("libEGL.dll", EntryPoint = "eglDestroySurface")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool DestroySurface(EGLDisplay dpy, EGLSurface surface); [DllImportAttribute("libEGL.dll", EntryPoint = "eglQuerySurface")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool QuerySurface(EGLDisplay dpy, EGLSurface surface, int attribute, out int value); [DllImportAttribute("libEGL.dll", EntryPoint = "eglBindAPI")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool BindAPI(int api); [DllImportAttribute("libEGL.dll", EntryPoint = "eglQueryAPI")] public static extern int QueryAPI(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglWaitClient")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool WaitClient(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglReleaseThread")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool ReleaseThread(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCreatePbufferFromClientBuffer")] public static extern EGLSurface CreatePbufferFromClientBuffer(EGLDisplay dpy, int buftype, EGLClientBuffer buffer, EGLConfig config, int[] attrib_list); [DllImportAttribute("libEGL.dll", EntryPoint = "eglSurfaceAttrib")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool SurfaceAttrib(EGLDisplay dpy, EGLSurface surface, int attribute, int value); [DllImportAttribute("libEGL.dll", EntryPoint = "eglBindTexImage")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool BindTexImage(EGLDisplay dpy, EGLSurface surface, int buffer); [DllImportAttribute("libEGL.dll", EntryPoint = "eglReleaseTexImage")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool ReleaseTexImage(EGLDisplay dpy, EGLSurface surface, int buffer); [DllImportAttribute("libEGL.dll", EntryPoint = "eglSwapInterval")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool SwapInterval(EGLDisplay dpy, int interval); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCreateContext")] static extern IntPtr eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, int[] attrib_list); public static EGLContext CreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, int[] attrib_list) { IntPtr ptr = eglCreateContext(dpy, config, share_context, attrib_list); if (ptr == IntPtr.Zero) throw new GraphicsContextException(String.Format("Failed to create EGL context, error: {0}.", Egl.GetError())); return ptr; } [DllImportAttribute("libEGL.dll", EntryPoint = "eglDestroyContext")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool DestroyContext(EGLDisplay dpy, EGLContext ctx); [DllImportAttribute("libEGL.dll", EntryPoint = "eglMakeCurrent")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetCurrentContext")] public static extern EGLContext GetCurrentContext(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetCurrentSurface")] public static extern EGLSurface GetCurrentSurface(int readdraw); [DllImportAttribute("libEGL.dll", EntryPoint = "eglGetCurrentDisplay")] public static extern EGLDisplay GetCurrentDisplay(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglQueryContext")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool QueryContext(EGLDisplay dpy, EGLContext ctx, int attribute, out int value); [DllImportAttribute("libEGL.dll", EntryPoint = "eglWaitGL")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool WaitGL(); [DllImportAttribute("libEGL.dll", EntryPoint = "eglWaitNative")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool WaitNative(int engine); [DllImportAttribute("libEGL.dll", EntryPoint = "eglSwapBuffers")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool SwapBuffers(EGLDisplay dpy, EGLSurface surface); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCopyBuffers")] [return: MarshalAsAttribute(UnmanagedType.I1)] public static extern bool CopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); [DllImportAttribute("libEGL.dll", EntryPoint = "eglCopyBuffers")] public static extern IntPtr GetProcAddress(string funcname); // Returns true if Egl drivers exist on the system. public static bool IsSupported { get { try { GetCurrentContext(); } catch (Exception) { return false; } return true; } } } #pragma warning restore 0169 }opentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglMacPlatformFactory.cs0000664000175000017500000000373311453131422024157 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; using OpenTK.Platform.MacOS; namespace OpenTK.Platform.Egl { class EglMacPlatformFactory : MacOSFactory { public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { throw new NotImplementedException(); } public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { throw new NotImplementedException(); } } } opentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglContext.cs0000664000175000017500000001436211453131422022046 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using OpenTK.Graphics; using System.Diagnostics; using OpenTK.Platform.Windows; namespace OpenTK.Platform.Egl { class EglContext : EmbeddedGraphicsContext { #region Fields EglWindowInfo WindowInfo; IntPtr HandleAsEGLContext { get { return Handle.Handle; } set { Handle = new ContextHandle(value); } } bool vsync = true; // Default vsync value is defined as 1 (true) in EGL. #endregion #region Constructors public EglContext(GraphicsMode mode, EglWindowInfo window, IGraphicsContext sharedContext, int major, int minor, GraphicsContextFlags flags) { if (mode == null) throw new ArgumentNullException("mode"); if (window == null) throw new ArgumentNullException("window"); EglContext shared = (EglContext)sharedContext; int dummy_major, dummy_minor; if (!Egl.Initialize(window.Display, out dummy_major, out dummy_minor)) throw new GraphicsContextException(String.Format("Failed to initialize EGL, error {0}.", Egl.GetError())); WindowInfo = window; Mode = new EglGraphicsMode().SelectGraphicsMode(mode.ColorFormat, mode.Depth, mode.Stencil, mode.Samples, mode.AccumulatorFormat, mode.Buffers, mode.Stereo); if (!Mode.Index.HasValue) throw new GraphicsModeException("Invalid or unsupported GraphicsMode."); IntPtr config = Mode.Index.Value; if (window.Surface == IntPtr.Zero) window.CreateWindowSurface(config); int[] attrib_list = new int[] { Egl.CONTEXT_CLIENT_VERSION, major, Egl.NONE }; HandleAsEGLContext = Egl.CreateContext(window.Display, config, shared != null ? shared.HandleAsEGLContext : IntPtr.Zero, attrib_list); MakeCurrent(window); } public EglContext(ContextHandle handle, EglWindowInfo window, IGraphicsContext sharedContext, int major, int minor, GraphicsContextFlags flags) { if (handle == ContextHandle.Zero) throw new ArgumentException("handle"); if (window == null) throw new ArgumentNullException("window"); Handle = handle; } #endregion #region IGraphicsContext Members public override void SwapBuffers() { Egl.SwapBuffers(WindowInfo.Display, WindowInfo.Surface); } public override void MakeCurrent(IWindowInfo window) { // Ignore 'window', unless it actually is an EGL window. In other words, // trying to make the EglContext current on a non-EGL window will do, // nothing (the EglContext will remain current on the previous EGL window // or the window it was constructed on (which may not be EGL)). if (window is EglWindowInfo) WindowInfo = (EglWindowInfo)window; Egl.MakeCurrent(WindowInfo.Display, WindowInfo.Surface, WindowInfo.Surface, HandleAsEGLContext); } public override bool IsCurrent { get { return Egl.GetCurrentContext() == HandleAsEGLContext; } } public override bool VSync { get { // Egl.GetSwapInterval does not exist, so store and return the current interval. // The default interval is defined as 1 (true). return vsync; } set { if (Egl.SwapInterval(WindowInfo.Display, value ? 1 : 0)) vsync = value; else Debug.Print("[Warning] Egl.SwapInterval({0}, {1}) failed.", WindowInfo.Display, value); } } #endregion #region IGraphicsContextInternal Members public override IntPtr GetAddress(string function) { return Egl.GetProcAddress(function); } #endregion #region IDisposable Members public override void Dispose() { Dispose(true); GC.SuppressFinalize(this); } // Todo: cross-reference the specs. What should happen if the context is destroyed from a different // thread? void Dispose(bool manual) { if (!IsDisposed) { if (manual) { Egl.MakeCurrent(WindowInfo.Display, WindowInfo.Surface, WindowInfo.Surface, IntPtr.Zero); Egl.DestroyContext(WindowInfo.Display, HandleAsEGLContext); } else { Debug.Print("[Warning] {0}:{1} was not disposed.", this.GetType().Name, HandleAsEGLContext); } IsDisposed = true; } } ~EglContext() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglX11PlatformFactory.cs0000664000175000017500000000530711453131422024027 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; using OpenTK.Platform.X11; namespace OpenTK.Platform.Egl { class EglX11PlatformFactory : X11Factory { public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { X11WindowInfo x11_win = (X11WindowInfo)window; EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(x11_win.WindowHandle, Egl.GetDisplay(x11_win.Display)); return new EglContext(mode, egl_win, shareContext, major, minor, flags); } public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { X11WindowInfo x11_win = (X11WindowInfo)window; EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(x11_win.WindowHandle, Egl.GetDisplay(x11_win.Display)); return new EglContext(handle, egl_win, shareContext, major, minor, flags); } public override GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return (GraphicsContext.GetCurrentContextDelegate)delegate { return new ContextHandle(Egl.GetCurrentContext()); }; } } } opentk-1.0.20101006/Source/OpenTK/Platform/Egl/EglWinPlatformFactory.cs0000664000175000017500000000647511453131422024222 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; using OpenTK.Platform.Windows; namespace OpenTK.Platform.Egl { // EGL factory for the Windows platform. class EglWinPlatformFactory : WinFactory { #region Public Members public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { WinWindowInfo win_win = (WinWindowInfo)window; IntPtr egl_display = GetDisplay(win_win.DeviceContext); EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(win_win.WindowHandle, egl_display); return new EglContext(mode, egl_win, shareContext, major, minor, flags); } public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { WinWindowInfo win_win = (WinWindowInfo)window; IntPtr egl_display = GetDisplay(win_win.DeviceContext); EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(win_win.WindowHandle, egl_display); return new EglContext(handle, egl_win, shareContext, major, minor, flags); } public override GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return (GraphicsContext.GetCurrentContextDelegate)delegate { return new ContextHandle(Egl.GetCurrentContext()); }; } public override IGraphicsMode CreateGraphicsMode() { return new EglGraphicsMode(); } #endregion #region Private Members IntPtr GetDisplay(IntPtr dc) { IntPtr display = Egl.GetDisplay(dc); if (display == IntPtr.Zero) display = Egl.GetDisplay(IntPtr.Zero); return display; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/EmbeddedGraphicsContext.cs0000664000175000017500000000331611453131422023777 0ustar laneylaney #region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using OpenTK.Graphics; namespace OpenTK.Platform { // Provides the foundation for all desktop IGraphicsContext implementations. abstract class EmbeddedGraphicsContext : GraphicsContextBase { public override void LoadAll() { new OpenTK.Graphics.ES10.GL().LoadEntryPoints(); new OpenTK.Graphics.ES11.GL().LoadEntryPoints(); new OpenTK.Graphics.ES20.GL().LoadEntryPoints(); } } }opentk-1.0.20101006/Source/OpenTK/Platform/PlatformException.cs0000664000175000017500000000105111453131422022715 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; namespace OpenTK { /// Defines a plaftorm specific exception. public class PlatformException : Exception { /// Constructs a new PlatformException. public PlatformException(string s) : base(s) { } } }opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/0000775000175000017500000000000011453142154017674 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonGLNative.cs0000664000175000017500000010125511453131422023021 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Text; namespace OpenTK.Platform.MacOS { using Carbon; using Graphics; class CarbonGLNative : INativeWindow { #region Fields CarbonWindowInfo window; CarbonInput mInputDriver; static MacOSKeyMap Keymap = new MacOSKeyMap(); IntPtr uppHandler; string title = "OpenTK Window"; Rectangle bounds, clientRectangle; Rectangle windowedBounds; bool mIsDisposed = false; bool mExists = true; DisplayDevice mDisplayDevice; WindowAttributes mWindowAttrib; WindowClass mWindowClass; WindowPositionMethod mPositionMethod = WindowPositionMethod.CenterOnMainScreen; int mTitlebarHeight; private WindowBorder windowBorder = WindowBorder.Resizable; private WindowState windowState = WindowState.Normal; static Dictionary mWindows = new Dictionary(); KeyPressEventArgs mKeyPressArgs = new KeyPressEventArgs((char)0); bool mMouseIn = false; bool mIsActive = false; Icon mIcon; #endregion #region AGL Device Hack static internal Dictionary WindowRefMap { get { return mWindows; } } internal DisplayDevice TargetDisplayDevice { get { return mDisplayDevice; } } #endregion #region Constructors static CarbonGLNative() { Application.Initialize(); } CarbonGLNative() : this(WindowClass.Document, WindowAttributes.StandardDocument | WindowAttributes.StandardHandler | WindowAttributes.InWindowMenu | WindowAttributes.LiveResize) { } CarbonGLNative(WindowClass @class, WindowAttributes attrib) { mWindowClass = @class; mWindowAttrib = attrib; } public CarbonGLNative(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { CreateNativeWindow(WindowClass.Document, WindowAttributes.StandardDocument | WindowAttributes.StandardHandler | WindowAttributes.InWindowMenu | WindowAttributes.LiveResize, new Rect((short)x, (short)y, (short)width, (short)height)); mDisplayDevice = device; } #endregion #region IDisposable public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (mIsDisposed) return; Debug.Print("Disposing of CarbonGLNative window."); API.DisposeWindow(window.WindowRef); mIsDisposed = true; mExists = false; if (disposing) { mWindows.Remove(window.WindowRef); window.Dispose(); window = null; } DisposeUPP(); } ~CarbonGLNative() { Dispose(false); } #endregion #region Private Members void DisposeUPP() { if (uppHandler != IntPtr.Zero) { //API.RemoveEventHandler(uppHandler); //API.DisposeEventHandlerUPP(uppHandler); } uppHandler = IntPtr.Zero; } void CreateNativeWindow(WindowClass @class, WindowAttributes attrib, Rect r) { Debug.Print("Creating window..."); Debug.Indent(); IntPtr windowRef = API.CreateNewWindow(@class, attrib, r); API.SetWindowTitle(windowRef, title); window = new CarbonWindowInfo(windowRef, true, false); SetLocation(r.X, r.Y); SetSize(r.Width, r.Height); Debug.Unindent(); Debug.Print("Created window."); mWindows.Add(windowRef, new WeakReference(this)); LoadSize(); Rect titleSize = API.GetWindowBounds(window.WindowRef, WindowRegionCode.TitleBarRegion); mTitlebarHeight = titleSize.Height; Debug.Print("Titlebar size: {0}", titleSize); ConnectEvents(); System.Diagnostics.Debug.Print("Attached window events."); } void ConnectEvents() { mInputDriver = new CarbonInput(); EventTypeSpec[] eventTypes = new EventTypeSpec[] { new EventTypeSpec(EventClass.Window, WindowEventKind.WindowClose), new EventTypeSpec(EventClass.Window, WindowEventKind.WindowClosed), new EventTypeSpec(EventClass.Window, WindowEventKind.WindowBoundsChanged), new EventTypeSpec(EventClass.Window, WindowEventKind.WindowActivate), new EventTypeSpec(EventClass.Window, WindowEventKind.WindowDeactivate), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseDown), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseUp), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseMoved), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseDragged), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseEntered), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseExited), //new EventTypeSpec(EventClass.Mouse, MouseEventKind.WheelMoved), //new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyDown), //new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyRepeat), //new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyUp), //new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyModifiersChanged), }; MacOSEventHandler handler = EventHandler; uppHandler = API.NewEventHandlerUPP(handler); API.InstallWindowEventHandler(window.WindowRef, uppHandler, eventTypes, window.WindowRef, IntPtr.Zero); Application.WindowEventHandler = this; } void Activate() { API.SelectWindow(window.WindowRef); } void Show() { IntPtr parent = IntPtr.Zero; API.ShowWindow(window.WindowRef); API.RepositionWindow(window.WindowRef, parent, WindowPositionMethod); API.SelectWindow(window.WindowRef); } void Hide() { API.HideWindow(window.WindowRef); } internal void SetFullscreen(AglContext context) { windowedBounds = bounds; int width, height; context.SetFullScreen(window, out width, out height); Debug.Print("Prev Size: {0}, {1}", Width, Height); clientRectangle.Size = new Size(width, height); Debug.Print("New Size: {0}, {1}", Width, Height); // TODO: if we go full screen we need to make this use the device specified. bounds = mDisplayDevice.Bounds; windowState = WindowState.Fullscreen; } internal void UnsetFullscreen(AglContext context) { context.UnsetFullScreen(window); Debug.Print("Telling Carbon to reset window state to " + windowState.ToString()); SetCarbonWindowState(); SetSize((short)windowedBounds.Width, (short)windowedBounds.Height); } bool IsDisposed { get { return mIsDisposed; } } WindowPositionMethod WindowPositionMethod { get { return mPositionMethod; } set { mPositionMethod = value; } } internal OSStatus DispatchEvent(IntPtr inCaller, IntPtr inEvent, EventInfo evt, IntPtr userData) { switch (evt.EventClass) { case EventClass.Window: return ProcessWindowEvent(inCaller, inEvent, evt, userData); case EventClass.Mouse: return ProcessMouseEvent(inCaller, inEvent, evt, userData); case EventClass.Keyboard: return ProcessKeyboardEvent(inCaller, inEvent, evt, userData); default: return OSStatus.EventNotHandled; } } protected static OSStatus EventHandler(IntPtr inCaller, IntPtr inEvent, IntPtr userData) { // bail out if the window passed in is not actually our window. // I think this happens if using winforms with a GameWindow sometimes. if (mWindows.ContainsKey(userData) == false) return OSStatus.EventNotHandled; WeakReference reference = mWindows[userData]; // bail out if the CarbonGLNative window has been garbage collected. if (reference.IsAlive == false) { mWindows.Remove(userData); return OSStatus.EventNotHandled; } CarbonGLNative window = (CarbonGLNative)reference.Target; EventInfo evt = new EventInfo(inEvent); //Debug.Print("Processing {0} event for {1}.", evt, window.window); if (window == null) { Debug.WriteLine("Window for event not found."); return OSStatus.EventNotHandled; } switch (evt.EventClass) { case EventClass.Window: return window.ProcessWindowEvent(inCaller, inEvent, evt, userData); case EventClass.Mouse: return window.ProcessMouseEvent(inCaller, inEvent, evt, userData); case EventClass.Keyboard: return window.ProcessKeyboardEvent(inCaller, inEvent, evt, userData); default: return OSStatus.EventNotHandled; } } private OSStatus ProcessKeyboardEvent(IntPtr inCaller, IntPtr inEvent, EventInfo evt, IntPtr userData) { System.Diagnostics.Debug.Assert(evt.EventClass == EventClass.Keyboard); MacOSKeyCode code = (MacOSKeyCode)0; char charCode = '\0'; //Debug.Print("Processing keyboard event {0}", evt.KeyboardEventKind); switch (evt.KeyboardEventKind) { case KeyboardEventKind.RawKeyDown: case KeyboardEventKind.RawKeyRepeat: case KeyboardEventKind.RawKeyUp: GetCharCodes(inEvent, out code, out charCode); mKeyPressArgs.KeyChar = charCode; break; } switch (evt.KeyboardEventKind) { case KeyboardEventKind.RawKeyRepeat: InputDriver.Keyboard[0].KeyRepeat = true; goto case KeyboardEventKind.RawKeyDown; case KeyboardEventKind.RawKeyDown: OnKeyPress(mKeyPressArgs); InputDriver.Keyboard[0][Keymap[code]] = true; return OSStatus.NoError; case KeyboardEventKind.RawKeyUp: InputDriver.Keyboard[0][Keymap[code]] = false; return OSStatus.NoError; case KeyboardEventKind.RawKeyModifiersChanged: ProcessModifierKey(inEvent); return OSStatus.NoError; default: return OSStatus.EventNotHandled; } } private OSStatus ProcessWindowEvent(IntPtr inCaller, IntPtr inEvent, EventInfo evt, IntPtr userData) { System.Diagnostics.Debug.Assert(evt.EventClass == EventClass.Window); switch (evt.WindowEventKind) { case WindowEventKind.WindowClose: CancelEventArgs cancel = new CancelEventArgs(); OnClosing(cancel); if (cancel.Cancel) return OSStatus.NoError; else return OSStatus.EventNotHandled; case WindowEventKind.WindowClosed: mExists = false; OnClosed(); return OSStatus.NoError; case WindowEventKind.WindowBoundsChanged: int thisWidth = Width; int thisHeight = Height; LoadSize(); if (thisWidth != Width || thisHeight != Height) OnResize(); return OSStatus.EventNotHandled; case WindowEventKind.WindowActivate: OnActivate(); return OSStatus.EventNotHandled; case WindowEventKind.WindowDeactivate: OnDeactivate(); return OSStatus.EventNotHandled; default: Debug.Print("{0}", evt); return OSStatus.EventNotHandled; } } protected OSStatus ProcessMouseEvent(IntPtr inCaller, IntPtr inEvent, EventInfo evt, IntPtr userData) { System.Diagnostics.Debug.Assert(evt.EventClass == EventClass.Mouse); MouseButton button = MouseButton.Primary; HIPoint pt = new HIPoint(); HIPoint screenLoc = new HIPoint(); OSStatus err = API.GetEventMouseLocation(inEvent, out screenLoc); if (this.windowState == WindowState.Fullscreen) { pt = screenLoc; } else { err = API.GetEventWindowMouseLocation(inEvent, out pt); } if (err != OSStatus.NoError) { // this error comes up from the application event handler. if (err != OSStatus.EventParameterNotFound) { throw new MacOSException(err); } } Point mousePosInClient = new Point((int)pt.X, (int)pt.Y); if (this.windowState != WindowState.Fullscreen) { mousePosInClient.Y -= mTitlebarHeight; } // check for enter/leave events IntPtr thisEventWindow; API.GetEventWindowRef(inEvent, out thisEventWindow); CheckEnterLeaveEvents(thisEventWindow, mousePosInClient); switch (evt.MouseEventKind) { case MouseEventKind.MouseDown: button = API.GetEventMouseButton(inEvent); switch (button) { case MouseButton.Primary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Left] = true; break; case MouseButton.Secondary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Right] = true; break; case MouseButton.Tertiary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Middle] = true; break; } return OSStatus.NoError; case MouseEventKind.MouseUp: button = API.GetEventMouseButton(inEvent); switch (button) { case MouseButton.Primary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Left] = false; break; case MouseButton.Secondary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Right] = false; break; case MouseButton.Tertiary: InputDriver.Mouse[0][OpenTK.Input.MouseButton.Middle] = false; break; } button = API.GetEventMouseButton(inEvent); return OSStatus.NoError; case MouseEventKind.WheelMoved: int delta = API.GetEventMouseWheelDelta(inEvent) / 3; InputDriver.Mouse[0].Wheel += delta; return OSStatus.NoError; case MouseEventKind.MouseMoved: case MouseEventKind.MouseDragged: //Debug.Print("Mouse Location: {0}, {1}", pt.X, pt.Y); if (this.windowState == WindowState.Fullscreen) { if (mousePosInClient.X != InputDriver.Mouse[0].X || mousePosInClient.Y != InputDriver.Mouse[0].Y) { InputDriver.Mouse[0].Position = mousePosInClient; } } else { // ignore clicks in the title bar if (pt.Y < 0) return OSStatus.EventNotHandled; if (mousePosInClient.X != InputDriver.Mouse[0].X || mousePosInClient.Y != InputDriver.Mouse[0].Y) { InputDriver.Mouse[0].Position = mousePosInClient; } } return OSStatus.EventNotHandled; default: Debug.Print("{0}", evt); return OSStatus.EventNotHandled; } } private void CheckEnterLeaveEvents(IntPtr eventWindowRef, Point pt) { if (window == null) return; bool thisIn = eventWindowRef == window.WindowRef; if (pt.Y < 0) thisIn = false; if (thisIn != mMouseIn) { mMouseIn = thisIn; if (mMouseIn) OnMouseEnter(); else OnMouseLeave(); } } private static void GetCharCodes(IntPtr inEvent, out MacOSKeyCode code, out char charCode) { code = API.GetEventKeyboardKeyCode(inEvent); charCode = API.GetEventKeyboardChar(inEvent); } private void ProcessModifierKey(IntPtr inEvent) { MacOSKeyModifiers modifiers = API.GetEventKeyModifiers(inEvent); bool caps = (modifiers & MacOSKeyModifiers.CapsLock) != 0 ? true : false; bool control = (modifiers & MacOSKeyModifiers.Control) != 0 ? true : false; bool command = (modifiers & MacOSKeyModifiers.Command) != 0 ? true : false; bool option = (modifiers & MacOSKeyModifiers.Option) != 0 ? true : false; bool shift = (modifiers & MacOSKeyModifiers.Shift) != 0 ? true : false; Debug.Print("Modifiers Changed: {0}", modifiers); Input.KeyboardDevice keyboard = InputDriver.Keyboard[0]; if (keyboard[OpenTK.Input.Key.AltLeft] ^ option) keyboard[OpenTK.Input.Key.AltLeft] = option; if (keyboard[OpenTK.Input.Key.ShiftLeft] ^ shift) keyboard[OpenTK.Input.Key.ShiftLeft] = shift; if (keyboard[OpenTK.Input.Key.WinLeft] ^ command) keyboard[OpenTK.Input.Key.WinLeft] = command; if (keyboard[OpenTK.Input.Key.ControlLeft] ^ control) keyboard[OpenTK.Input.Key.ControlLeft] = control; if (keyboard[OpenTK.Input.Key.CapsLock] ^ caps) keyboard[OpenTK.Input.Key.CapsLock] = caps; } Rect GetRegion() { Rect retval = API.GetWindowBounds(window.WindowRef, WindowRegionCode.ContentRegion); return retval; } void SetLocation(short x, short y) { if (windowState == WindowState.Fullscreen) return; API.MoveWindow(window.WindowRef, x, y, false); } void SetSize(short width, short height) { if (WindowState == WindowState.Fullscreen) return; // The bounds of the window should be the size specified, but // API.SizeWindow sets the content region size. So // we reduce the size to get the correct bounds. width -= (short)(bounds.Width - clientRectangle.Width); height -= (short)(bounds.Height - clientRectangle.Height); API.SizeWindow(window.WindowRef, width, height, true); } void SetClientSize(short width, short height) { if (WindowState == WindowState.Fullscreen) return; API.SizeWindow(window.WindowRef, width, height, true); } protected void OnResize() { LoadSize(); if (Resize != null) { Resize(this, EventArgs.Empty); } } private void LoadSize() { if (WindowState == WindowState.Fullscreen) return; Rect r = API.GetWindowBounds(window.WindowRef, WindowRegionCode.StructureRegion); bounds = new Rectangle(r.X, r.Y, r.Width, r.Height); r = API.GetWindowBounds(window.WindowRef, WindowRegionCode.GlobalPortRegion); clientRectangle = new Rectangle(0, 0, r.Width, r.Height); } #endregion #region INativeWindow Members public void ProcessEvents() { Application.ProcessEvents(); } public Point PointToClient(Point point) { IntPtr handle = window.WindowRef; Rect r = Carbon.API.GetWindowBounds(window.WindowRef, WindowRegionCode.ContentRegion); Debug.Print("Rect: {0}", r); return new Point(point.X - r.X, point.Y - r.Y); } public Point PointToScreen(Point point) { IntPtr handle = window.WindowRef; Rect r = Carbon.API.GetWindowBounds(window.WindowRef, WindowRegionCode.ContentRegion); Debug.Print("Rect: {0}", r); return new Point(point.X + r.X, point.Y + r.Y); } public bool Exists { get { return mExists; } } public IWindowInfo WindowInfo { get { return window; } } public bool IsIdle { get { return true; } } public OpenTK.Input.IInputDriver InputDriver { get { return mInputDriver; } } public Icon Icon { get { return mIcon; } set { SetIcon(value); } } private void SetIcon(Icon icon) { // The code for this function was adapted from Mono's // XplatUICarbon implementation, written by Geoff Norton // http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUICarbon.cs?view=markup&pathrev=136932 if (icon == null) { API.RestoreApplicationDockTileImage(); } else { Bitmap bitmap; int size; IntPtr[] data; int index; bitmap = new Bitmap(128, 128); using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap)) { g.DrawImage(icon.ToBitmap(), 0, 0, 128, 128); } index = 0; size = bitmap.Width * bitmap.Height; data = new IntPtr[size]; for (int y = 0; y < bitmap.Height; y++) { for (int x = 0; x < bitmap.Width; x++) { int pixel = bitmap.GetPixel(x, y).ToArgb(); if (BitConverter.IsLittleEndian) { byte a = (byte)((pixel >> 24) & 0xFF); byte r = (byte)((pixel >> 16) & 0xFF); byte g = (byte)((pixel >> 8) & 0xFF); byte b = (byte)(pixel & 0xFF); data[index++] = (IntPtr)(a + (r << 8) + (g << 16) + (b << 24)); } else { data[index++] = (IntPtr)pixel; } } } IntPtr provider = API.CGDataProviderCreateWithData(IntPtr.Zero, data, size * 4, IntPtr.Zero); IntPtr image = API.CGImageCreate(128, 128, 8, 32, 4 * 128, API.CGColorSpaceCreateDeviceRGB(), 4, provider, IntPtr.Zero, 0, 0); API.SetApplicationDockTileImage(image); } } public string Title { get { return title; } set { API.SetWindowTitle(window.WindowRef, value); title = value; } } public bool Visible { get { return API.IsWindowVisible(window.WindowRef); } set { if (value && Visible == false) Show(); else Hide(); } } public bool Focused { get { return this.mIsActive; } } public Rectangle Bounds { get { return bounds; } set { Location = value.Location; Size = value.Size; } } public Point Location { get { return Bounds.Location; } set { SetLocation((short)value.X, (short)value.Y); } } public Size Size { get { return bounds.Size; } set { SetSize((short)value.Width, (short)value.Height); } } public int Width { get { return ClientRectangle.Width; } set { SetClientSize((short)value, (short)Height); } } public int Height { get { return ClientRectangle.Height; } set { SetClientSize((short)Width, (short)value); } } public int X { get { return ClientRectangle.X; } set { Location = new Point(value, Y); } } public int Y { get { return ClientRectangle.Y; } set { Location = new Point(X, value); } } public Rectangle ClientRectangle { get { return clientRectangle; } set { // just set the size, and ignore the location value. // this is the behavior of the Windows WinGLNative. ClientSize = value.Size; } } public Size ClientSize { get { return clientRectangle.Size; } set { API.SizeWindow(window.WindowRef, (short)value.Width, (short)value.Height, true); OnResize(); } } public void Close() { CancelEventArgs e = new CancelEventArgs(); OnClosing(e); if (e.Cancel) return; OnClosed(); Dispose(); } public WindowState WindowState { get { if (windowState == WindowState.Fullscreen) return WindowState.Fullscreen; if (Carbon.API.IsWindowCollapsed(window.WindowRef)) return WindowState.Minimized; if (Carbon.API.IsWindowInStandardState(window.WindowRef)) { return WindowState.Maximized; } return WindowState.Normal; } set { if (value == WindowState) return; Debug.Print("Switching window state from {0} to {1}", WindowState, value); WindowState oldState = WindowState; windowState = value; if (oldState == WindowState.Fullscreen) { window.GoWindowedHack = true; // when returning from full screen, wait until the context is updated // to actually do the work. return; } if (oldState == WindowState.Minimized) { API.CollapseWindow(window.WindowRef, false); } SetCarbonWindowState(); } } private void SetCarbonWindowState() { CarbonPoint idealSize; switch (windowState) { case WindowState.Fullscreen: window.GoFullScreenHack = true; break; case WindowState.Maximized: // hack because mac os has no concept of maximized. Instead windows are "zoomed" // meaning they are maximized up to their reported ideal size. So we report a // large ideal size. idealSize = new CarbonPoint(9000, 9000); API.ZoomWindowIdeal(window.WindowRef, WindowPartCode.inZoomOut, ref idealSize); break; case WindowState.Normal: if (WindowState == WindowState.Maximized) { idealSize = new CarbonPoint(); API.ZoomWindowIdeal(window.WindowRef, WindowPartCode.inZoomIn, ref idealSize); } break; case WindowState.Minimized: API.CollapseWindow(window.WindowRef, true); break; } OnWindowStateChanged(); OnResize(); } public WindowBorder WindowBorder { get { return windowBorder; } set { if (windowBorder == value) return; windowBorder = value; if (windowBorder == WindowBorder.Resizable) { API.ChangeWindowAttributes(window.WindowRef, WindowAttributes.Resizable | WindowAttributes.FullZoom, WindowAttributes.NoAttributes); } else if (windowBorder == WindowBorder.Fixed) { API.ChangeWindowAttributes(window.WindowRef, WindowAttributes.NoAttributes, WindowAttributes.Resizable | WindowAttributes.FullZoom); } if (WindowBorderChanged != null) WindowBorderChanged(this, EventArgs.Empty); } } #region --- Event wrappers --- private void OnKeyPress(KeyPressEventArgs keyPressArgs) { if (KeyPress != null) KeyPress(this, keyPressArgs); } private void OnWindowStateChanged() { if (WindowStateChanged != null) WindowStateChanged(this, EventArgs.Empty); } protected virtual void OnClosing(CancelEventArgs e) { if (Closing != null) Closing(this, e); } protected virtual void OnClosed() { if (Closed != null) Closed(this, EventArgs.Empty); } private void OnMouseLeave() { if (MouseLeave != null) MouseLeave(this, EventArgs.Empty); } private void OnMouseEnter() { if (MouseEnter != null) MouseEnter(this, EventArgs.Empty); } private void OnActivate() { mIsActive = true; if (FocusedChanged != null) FocusedChanged(this, EventArgs.Empty); } private void OnDeactivate() { mIsActive = false; if (FocusedChanged != null) FocusedChanged(this, EventArgs.Empty); } #endregion public event EventHandler Idle; public event EventHandler Load; public event EventHandler Unload; public event EventHandler Move; public event EventHandler Resize; public event EventHandler Closing; public event EventHandler Closed; public event EventHandler Disposed; public event EventHandler IconChanged; public event EventHandler TitleChanged; public event EventHandler ClientSizeChanged; public event EventHandler VisibleChanged; public event EventHandler WindowInfoChanged; public event EventHandler FocusedChanged; public event EventHandler WindowBorderChanged; public event EventHandler WindowStateChanged; public event EventHandler KeyPress; public event EventHandler MouseEnter; public event EventHandler MouseLeave; #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/MacOSGraphicsMode.cs0000664000175000017500000000127511453131422023454 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.MacOS { using Graphics; class MacOSGraphicsMode : IGraphicsMode { #region IGraphicsMode Members public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo) { GraphicsMode gfx = new GraphicsMode((IntPtr)1, color, depth, stencil, samples, accum, buffers, stereo); System.Diagnostics.Debug.Print("Created dummy graphics mode."); return gfx; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonWindowInfo.cs0000664000175000017500000000771411453131422023440 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; namespace OpenTK.Platform.MacOS { /// \internal /// /// Describes a Carbon window. /// sealed class CarbonWindowInfo : IWindowInfo { IntPtr windowRef; bool ownHandle = false; bool disposed = false; bool isControl = false; bool goFullScreenHack = false; bool goWindowedHack = false; #region Constructors /// /// Constructs a new instance with the specified parameters. /// /// A valid Carbon window reference. /// /// public CarbonWindowInfo(IntPtr windowRef, bool ownHandle, bool isControl) { this.windowRef = windowRef; this.ownHandle = ownHandle; this.isControl = isControl; } #endregion #region Public Members /// /// Gets the window reference for this instance. /// internal IntPtr WindowRef { get { return this.windowRef; } } internal bool GoFullScreenHack { get { return goFullScreenHack; } set { goFullScreenHack = value; } } internal bool GoWindowedHack { get { return goWindowedHack; } set { goWindowedHack = value; } } /// /// Gets a value indicating whether this instance refers to a System.Windows.Forms.Control. /// public bool IsControl { get { return isControl; } } /// Returns a System.String that represents the current window. /// A System.String that represents the current window. public override string ToString() { return String.Format("MacOS.CarbonWindowInfo: Handle {0}", this.WindowRef); } #endregion #region IDisposable Members public void Dispose() { Dispose(true); } void Dispose(bool disposing) { if (disposed) return; if (disposing) { } if (ownHandle) { Debug.Print("Disposing window {0}.", windowRef); Carbon.API.DisposeWindow(this.windowRef); windowRef = IntPtr.Zero; } disposed = true; } ~CarbonWindowInfo() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/Application.cs0000664000175000017500000001173311453131422022467 0ustar laneylaney// // // xCSCarbon // // Created by Erik Ylvisaker on 3/17/08. // Copyright 2008 __MyCompanyName__. All rights reserved. // // using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; namespace OpenTK.Platform.MacOS.Carbon { static class Application { static bool mInitialized = false; static IntPtr uppHandler; static CarbonGLNative eventHandler; static int osMajor, osMinor, osBugfix; static Application() { Initialize(); } internal static void Initialize() { if (mInitialized) return; API.AcquireRootMenu(); ConnectEvents(); API.Gestalt(GestaltSelector.SystemVersionMajor, out osMajor); API.Gestalt(GestaltSelector.SystemVersionMinor, out osMinor); API.Gestalt(GestaltSelector.SystemVersionBugFix, out osBugfix); Debug.Print("Running on Mac OS X {0}.{1}.{2}.", osMajor, osMinor, osBugfix); TransformProcessToForeground(); } private static void TransformProcessToForeground() { Carbon.ProcessSerialNumber psn = new ProcessSerialNumber(); Debug.Print("Setting process to be foreground application."); API.GetCurrentProcess(ref psn); API.TransformProcessType(ref psn, ProcessApplicationTransformState.kProcessTransformToForegroundApplication); API.SetFrontProcess(ref psn); } internal static CarbonGLNative WindowEventHandler { get { return eventHandler; } set { eventHandler = value; } } static void ConnectEvents() { EventTypeSpec[] eventTypes = new EventTypeSpec[] { new EventTypeSpec(EventClass.Application, AppEventKind.AppActivated), new EventTypeSpec(EventClass.Application, AppEventKind.AppDeactivated), new EventTypeSpec(EventClass.Application, AppEventKind.AppQuit), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseDown), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseUp), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseMoved), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseDragged), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseEntered), new EventTypeSpec(EventClass.Mouse, MouseEventKind.MouseExited), new EventTypeSpec(EventClass.Mouse, MouseEventKind.WheelMoved), new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyDown), new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyRepeat), new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyUp), new EventTypeSpec(EventClass.Keyboard, KeyboardEventKind.RawKeyModifiersChanged), new EventTypeSpec(EventClass.AppleEvent, AppleEventKind.AppleEvent), }; MacOSEventHandler handler = EventHandler; uppHandler = API.NewEventHandlerUPP(handler); API.InstallApplicationEventHandler( uppHandler, eventTypes, IntPtr.Zero, IntPtr.Zero); mInitialized = true; } static OSStatus EventHandler(IntPtr inCaller, IntPtr inEvent, IntPtr userData) { EventInfo evt = new EventInfo(inEvent); switch (evt.EventClass) { case EventClass.Application: switch (evt.AppEventKind) { default: return OSStatus.EventNotHandled; } case EventClass.AppleEvent: // only event here is the apple event. Debug.Print("Processing apple event."); API.ProcessAppleEvent(inEvent); break; case EventClass.Keyboard: case EventClass.Mouse: if (WindowEventHandler != null) { return WindowEventHandler.DispatchEvent(inCaller, inEvent, evt, userData); } break; } return OSStatus.EventNotHandled; } public static void Run(CarbonGLNative window) { window.Closed += MainWindowClosed; window.Visible = true; API.RunApplicationEventLoop(); window.Closed -= MainWindowClosed; } static void MainWindowClosed(object sender, EventArgs e) { Debug.Print("Quitting application event loop."); API.QuitApplicationEventLoop(); } internal static void ProcessEvents() { API.ProcessEvents(); } } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/MacOSKeyMap.cs0000664000175000017500000001246611453131422022301 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.MacOS { using Carbon; using Input; class MacOSKeyMap : Dictionary { public MacOSKeyMap() { // comments indicate members of the Key enum that are missing Add(MacOSKeyCode.A, Key.A); // AltLeft // AltRight Add(MacOSKeyCode.B, Key.B); Add(MacOSKeyCode.Backslash, Key.BackSlash); Add(MacOSKeyCode.Backspace, Key.BackSpace); Add(MacOSKeyCode.BracketLeft, Key.BracketLeft); Add(MacOSKeyCode.BracketRight, Key.BracketRight); Add(MacOSKeyCode.C, Key.C); // Capslock // Clear Add(MacOSKeyCode.Comma, Key.Comma); // ControlLeft // ControlRight Add(MacOSKeyCode.D, Key.D); Add(MacOSKeyCode.Del, Key.Delete); Add(MacOSKeyCode.Down, Key.Down); Add(MacOSKeyCode.E, Key.E); Add(MacOSKeyCode.End, Key.End); Add(MacOSKeyCode.Enter, Key.Enter); Add(MacOSKeyCode.Return, Key.Enter); Add(MacOSKeyCode.Esc, Key.Escape); Add(MacOSKeyCode.F, Key.F); Add(MacOSKeyCode.F1, Key.F1); Add(MacOSKeyCode.F2, Key.F2); Add(MacOSKeyCode.F3, Key.F3); Add(MacOSKeyCode.F4, Key.F4); Add(MacOSKeyCode.F5, Key.F5); Add(MacOSKeyCode.F6, Key.F6); Add(MacOSKeyCode.F7, Key.F7); Add(MacOSKeyCode.F8, Key.F8); Add(MacOSKeyCode.F9, Key.F9); Add(MacOSKeyCode.F10, Key.F10); Add(MacOSKeyCode.F11, Key.F11); Add(MacOSKeyCode.F12, Key.F12); Add(MacOSKeyCode.F13, Key.F13); Add(MacOSKeyCode.F14, Key.F14); Add(MacOSKeyCode.F15, Key.F15); // F16-F35 Add(MacOSKeyCode.G, Key.G); Add(MacOSKeyCode.H, Key.H); Add(MacOSKeyCode.Home, Key.Home); Add(MacOSKeyCode.I, Key.I); Add(MacOSKeyCode.Insert, Key.Insert); Add(MacOSKeyCode.J, Key.J); Add(MacOSKeyCode.K, Key.K); Add(MacOSKeyCode.KeyPad_0, Key.Keypad0); Add(MacOSKeyCode.KeyPad_1, Key.Keypad1); Add(MacOSKeyCode.KeyPad_2, Key.Keypad2); Add(MacOSKeyCode.KeyPad_3, Key.Keypad3); Add(MacOSKeyCode.KeyPad_4, Key.Keypad4); Add(MacOSKeyCode.KeyPad_5, Key.Keypad5); Add(MacOSKeyCode.KeyPad_6, Key.Keypad6); Add(MacOSKeyCode.KeyPad_7, Key.Keypad7); Add(MacOSKeyCode.KeyPad_8, Key.Keypad8); Add(MacOSKeyCode.KeyPad_9, Key.Keypad9); Add(MacOSKeyCode.KeyPad_Add, Key.KeypadAdd); Add(MacOSKeyCode.KeyPad_Decimal, Key.KeypadDecimal); Add(MacOSKeyCode.KeyPad_Divide, Key.KeypadDivide); Add(MacOSKeyCode.KeyPad_Enter, Key.KeypadEnter); Add(MacOSKeyCode.KeyPad_Multiply, Key.KeypadMultiply); Add(MacOSKeyCode.KeyPad_Subtract, Key.KeypadSubtract); //Add(MacOSKeyCode.KeyPad_Equal); Add(MacOSKeyCode.L, Key.L); Add(MacOSKeyCode.Left, Key.Left); Add(MacOSKeyCode.M, Key.M); //Key.MaxKeys Add(MacOSKeyCode.Menu, Key.Menu); Add(MacOSKeyCode.Minus, Key.Minus); Add(MacOSKeyCode.N, Key.N); Add(MacOSKeyCode.Key_0, Key.Number0); Add(MacOSKeyCode.Key_1, Key.Number1); Add(MacOSKeyCode.Key_2, Key.Number2); Add(MacOSKeyCode.Key_3, Key.Number3); Add(MacOSKeyCode.Key_4, Key.Number4); Add(MacOSKeyCode.Key_5, Key.Number4); Add(MacOSKeyCode.Key_6, Key.Number5); Add(MacOSKeyCode.Key_7, Key.Number6); Add(MacOSKeyCode.Key_8, Key.Number7); Add(MacOSKeyCode.Key_9, Key.Number9); // Numlock Add(MacOSKeyCode.O, Key.O); Add(MacOSKeyCode.P, Key.P); Add(MacOSKeyCode.Pagedown, Key.PageDown); Add(MacOSKeyCode.Pageup, Key.PageUp); // Pause Add(MacOSKeyCode.Period, Key.Period); Add(MacOSKeyCode.Equals, Key.Plus); // PrintScreen Add(MacOSKeyCode.Q, Key.Q); Add(MacOSKeyCode.Quote, Key.Quote); Add(MacOSKeyCode.R, Key.R); Add(MacOSKeyCode.Right, Key.Right); Add(MacOSKeyCode.S, Key.S); // ScrollLock Add(MacOSKeyCode.Semicolon, Key.Semicolon); //Key.ShiftLeft //Key.ShiftRight Add(MacOSKeyCode.Slash, Key.Slash); // Key.Sleep Add(MacOSKeyCode.Space, Key.Space); Add(MacOSKeyCode.T, Key.T); Add(MacOSKeyCode.Tab, Key.Tab); Add(MacOSKeyCode.Tilde, Key.Tilde); Add(MacOSKeyCode.U, Key.U); Add(MacOSKeyCode.Up, Key.Up); Add(MacOSKeyCode.V, Key.V); Add(MacOSKeyCode.W, Key.W); // WinKeyLeft // WinKeyRight Add(MacOSKeyCode.X, Key.X); Add(MacOSKeyCode.Y, Key.Y); Add(MacOSKeyCode.Z, Key.Z); } } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/EventInfo.cs0000664000175000017500000000522511453131422022120 0ustar laneylaney// // // xCSCarbon // // Created by Erik Ylvisaker on 3/17/08. // Copyright 2008 __MyCompanyName__. All rights reserved. // // using System; using System.Collections.Generic; using System.IO; using System.Text; namespace OpenTK.Platform.MacOS.Carbon { internal struct EventInfo { internal EventInfo(IntPtr eventRef) { this._eventClass = API.GetEventClass(eventRef); this._eventKind = API.GetEventKind(eventRef); } uint _eventKind; EventClass _eventClass; public EventClass EventClass { get { return _eventClass; }} public WindowEventKind WindowEventKind { get { if (EventClass == EventClass.Window) return (WindowEventKind) _eventKind; else throw new InvalidCastException("Event is not a Window event."); } } public KeyboardEventKind KeyboardEventKind { get { if (EventClass == EventClass.Keyboard) return (KeyboardEventKind) _eventKind; else throw new InvalidCastException("Event is not a Keyboard event."); } } public MouseEventKind MouseEventKind { get { if (EventClass == EventClass.Mouse) return (MouseEventKind) _eventKind; else throw new InvalidCastException("Event is not an Mouse event."); } } public AppEventKind AppEventKind { get { if (EventClass == EventClass.Application) return (AppEventKind) _eventKind; else throw new InvalidCastException("Event is not an Application event."); } } public override string ToString() { switch(EventClass) { case EventClass.Application: return "Event: App " + AppEventKind.ToString(); case EventClass.Keyboard: return "Event: Keyboard " + KeyboardEventKind.ToString(); case EventClass.Mouse: return "Event: Mouse " + MouseEventKind.ToString(); case EventClass.Window: return "Event: Window " + WindowEventKind.ToString(); } return "Event: Unknown Class " + EventClass.ToString() + " kind: " + _eventKind.ToString(); } } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/MacOSFactory.cs0000664000175000017500000000602411453131422022513 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.MacOS { using Graphics; class MacOSFactory : IPlatformFactory { #region IPlatformFactory Members public virtual INativeWindow CreateNativeWindow(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { return new CarbonGLNative(x, y, width, height, title, mode, options, device); } public virtual IDisplayDeviceDriver CreateDisplayDeviceDriver() { return new QuartzDisplayDeviceDriver(); } public virtual IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new AglContext(mode, window, shareContext); } public virtual IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new AglContext(handle, window, shareContext); } public virtual GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return (GraphicsContext.GetCurrentContextDelegate)delegate { return new ContextHandle(Agl.aglGetCurrentContext()); }; } public virtual IGraphicsMode CreateGraphicsMode() { return new MacOSGraphicsMode(); } public virtual OpenTK.Input.IKeyboardDriver CreateKeyboardDriver() { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/QuartzDisplayDeviceDriver.cs0000664000175000017500000001605411453131422025335 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Diagnostics; namespace OpenTK.Platform.MacOS { using System.Drawing; using Carbon; class QuartzDisplayDeviceDriver : IDisplayDeviceDriver { static object display_lock = new object(); static Dictionary displayMap = new Dictionary(); static IntPtr mainDisplay; internal static IntPtr MainDisplay { get { return mainDisplay; } } static QuartzDisplayDeviceDriver() { lock (display_lock) { // To minimize the need to add static methods to OpenTK.Graphics.DisplayDevice // we only allow settings to be set through its constructor. // Thus, we save all necessary parameters in temporary variables // and construct the device when every needed detail is available. // The main DisplayDevice constructor adds the newly constructed device // to the list of available devices. const int maxDisplayCount = 20; IntPtr[] displays = new IntPtr[maxDisplayCount]; int displayCount; unsafe { fixed(IntPtr* displayPtr = displays) { CG.GetActiveDisplayList(maxDisplayCount, displayPtr, out displayCount); } } Debug.Print("CoreGraphics reported {0} display(s).", displayCount); Debug.Indent(); for (int i = 0; i < displayCount; i++) { IntPtr currentDisplay = displays[i]; // according to docs, first element in the array is always the // main display. bool primary = (i == 0); if (primary) mainDisplay = currentDisplay; // gets current settings int currentWidth = CG.DisplayPixelsWide(currentDisplay); int currentHeight = CG.DisplayPixelsHigh(currentDisplay); Debug.Print("Display {0} is at {1}x{2}", i, currentWidth, currentHeight); IntPtr displayModesPtr = CG.DisplayAvailableModes(currentDisplay); CFArray displayModes = new CFArray(displayModesPtr); Debug.Print("Supports {0} display modes.", displayModes.Count); DisplayResolution opentk_dev_current_res = null; List opentk_dev_available_res = new List(); IntPtr currentModePtr = CG.DisplayCurrentMode(currentDisplay); CFDictionary currentMode = new CFDictionary(currentModePtr); for (int j = 0; j < displayModes.Count; j++) { CFDictionary dict = new CFDictionary(displayModes[j]); int width = (int) dict.GetNumberValue("Width"); int height = (int) dict.GetNumberValue("Height"); int bpp = (int) dict.GetNumberValue("BitsPerPixel"); double freq = dict.GetNumberValue("RefreshRate"); bool current = currentMode.Ref == dict.Ref; //if (current) Debug.Write(" * "); //else Debug.Write(" "); //Debug.Print("Mode {0} is {1}x{2}x{3} @ {4}.", j, width, height, bpp, freq); DisplayResolution thisRes = new DisplayResolution(0, 0, width, height, bpp, (float)freq); opentk_dev_available_res.Add(thisRes); if (current) opentk_dev_current_res = thisRes; } HIRect bounds = CG.DisplayBounds(currentDisplay); Rectangle newRect = new Rectangle( (int)bounds.Origin.X, (int)bounds.Origin.Y, (int)bounds.Size.Width, (int)bounds.Size.Height); Debug.Print("Display {0} bounds: {1}", i, newRect); DisplayDevice opentk_dev = new DisplayDevice(opentk_dev_current_res, primary, opentk_dev_available_res, newRect); displayMap.Add(opentk_dev, currentDisplay); } Debug.Unindent(); } } internal static IntPtr HandleTo(DisplayDevice displayDevice) { if (displayMap.ContainsKey(displayDevice)) return displayMap[displayDevice]; else return IntPtr.Zero; } #region IDisplayDeviceDriver Members Dictionary storedModes = new Dictionary(); List displaysCaptured = new List(); public bool TryChangeResolution(DisplayDevice device, DisplayResolution resolution) { IntPtr display = displayMap[device]; IntPtr currentModePtr = CG.DisplayCurrentMode(display); if (storedModes.ContainsKey(display) == false) { storedModes.Add(display, currentModePtr); } IntPtr displayModesPtr = CG.DisplayAvailableModes(display); CFArray displayModes = new CFArray(displayModesPtr); for (int j = 0; j < displayModes.Count; j++) { CFDictionary dict = new CFDictionary(displayModes[j]); int width = (int)dict.GetNumberValue("Width"); int height = (int)dict.GetNumberValue("Height"); int bpp = (int)dict.GetNumberValue("BitsPerPixel"); double freq = dict.GetNumberValue("RefreshRate"); if (width == resolution.Width && height == resolution.Height && bpp == resolution.BitsPerPixel && System.Math.Abs(freq - resolution.RefreshRate) < 1e-6) { if (displaysCaptured.Contains(display) == false) { CG.DisplayCapture(display); } Debug.Print("Changing resolution to {0}x{1}x{2}@{3}.", width, height, bpp, freq); CG.DisplaySwitchToMode(display, displayModes[j]); return true; } } return false; } public bool TryRestoreResolution(DisplayDevice device) { IntPtr display = displayMap[device]; if (storedModes.ContainsKey(display)) { Debug.Print("Restoring resolution."); CG.DisplaySwitchToMode(display, storedModes[display]); CG.DisplayRelease(display); displaysCaptured.Remove(display); return true; } return false; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/0000775000175000017500000000000011453142154022556 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/SpeechChannel.cs0000664000175000017500000000173711453131422025611 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using System.Text; namespace OpenTK.Platform.MacOS.Carbon { internal class SpeechChannel { private IntPtr _id; protected const string appServicesPath = "/System/Library/Frameworks/ApplicationServices.framework/Versions/Current/ApplicationServices"; [DllImport(appServicesPath)] private static extern short NewSpeechChannel(IntPtr voice, ref IntPtr result); [DllImport(appServicesPath)] private static extern short SpeakText(IntPtr channel, String text, long length); public SpeechChannel() { short rc = NewSpeechChannel((IntPtr)null, ref _id); Debug.WriteLine(rc); } public bool Speak(String text) { short rc = SpeakText(_id, text, (long)text.Length); return (rc == 0); } } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/Agl.cs0000664000175000017500000005662511453131422023622 0ustar laneylaney// // // Agl.cs // // Created by Erik Ylvisaker on 3/17/08. // Copyright 2008. All rights reserved. // // using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace OpenTK.Platform.MacOS { #pragma warning disable 0169 /* ** Macintosh device type. */ using AGLDevice = IntPtr; /* ** Macintosh drawable type. */ using AGLDrawable = IntPtr; /* ** AGL opaque data. */ using AGLRendererInfo = IntPtr; using AGLPixelFormat = IntPtr; using AGLContext = IntPtr; using AGLPbuffer = IntPtr; using GLenum = UInt32; unsafe static partial class Agl { const string agl = "/System/Library/Frameworks/AGL.framework/Versions/Current/AGL"; /* ** AGL API version. */ const int AGL_VERSION_2_0 = 1; /************************************************************************/ /* ** Attribute names for aglChoosePixelFormat and aglDescribePixelFormat. */ internal enum PixelFormatAttribute { AGL_NONE = 0, AGL_ALL_RENDERERS = 1, /* choose from all available renderers */ AGL_BUFFER_SIZE = 2, /* depth of the index buffer */ AGL_LEVEL = 3, /* level in plane stacking */ AGL_RGBA = 4, /* choose an RGBA format */ AGL_DOUBLEBUFFER = 5, /* double buffering supported */ AGL_STEREO = 6, /* stereo buffering supported */ AGL_AUX_BUFFERS = 7, /* number of aux buffers */ AGL_RED_SIZE = 8, /* number of red component bits */ AGL_GREEN_SIZE = 9, /* number of green component bits */ AGL_BLUE_SIZE = 10, /* number of blue component bits */ AGL_ALPHA_SIZE = 11, /* number of alpha component bits */ AGL_DEPTH_SIZE = 12, /* number of depth bits */ AGL_STENCIL_SIZE = 13, /* number of stencil bits */ AGL_ACCUM_RED_SIZE = 14, /* number of red accum bits */ AGL_ACCUM_GREEN_SIZE = 15, /* number of green accum bits */ AGL_ACCUM_BLUE_SIZE = 16, /* number of blue accum bits */ AGL_ACCUM_ALPHA_SIZE = 17, /* number of alpha accum bits */ AGL_PIXEL_SIZE = 50, AGL_MINIMUM_POLICY = 51, AGL_MAXIMUM_POLICY = 52, AGL_OFFSCREEN = 53, AGL_FULLSCREEN = 54, AGL_SAMPLE_BUFFERS_ARB = 55, AGL_SAMPLES_ARB = 56, AGL_AUX_DEPTH_STENCIL = 57, AGL_COLOR_FLOAT = 58, AGL_MULTISAMPLE = 59, AGL_SUPERSAMPLE = 60, AGL_SAMPLE_ALPHA = 61, } /* ** Extended attributes */ internal enum ExtendedAttribute { AGL_PIXEL_SIZE = 50, /* frame buffer bits per pixel */ AGL_MINIMUM_POLICY = 51, /* never choose smaller buffers than requested */ AGL_MAXIMUM_POLICY = 52, /* choose largest buffers of type requested */ AGL_OFFSCREEN = 53, /* choose an off-screen capable renderer */ AGL_FULLSCREEN = 54, /* choose a full-screen capable renderer */ AGL_SAMPLE_BUFFERS_ARB = 55, /* number of multi sample buffers */ AGL_SAMPLES_ARB = 56, /* number of samples per multi sample buffer */ AGL_AUX_DEPTH_STENCIL = 57, /* independent depth and/or stencil buffers for the aux buffer */ AGL_COLOR_FLOAT = 58, /* color buffers store floating point pixels */ AGL_MULTISAMPLE = 59, /* choose multisample */ AGL_SUPERSAMPLE = 60, /* choose supersample */ AGL_SAMPLE_ALPHA = 61, /* request alpha filtering */ } /* ** Renderer management */ internal enum RendererManagement { AGL_RENDERER_ID = 70, /* request renderer by ID */ AGL_SINGLE_RENDERER = 71, /* choose a single renderer for all screens */ AGL_NO_RECOVERY = 72, /* disable all failure recovery systems */ AGL_ACCELERATED = 73, /* choose a hardware accelerated renderer */ AGL_CLOSEST_POLICY = 74, /* choose the closest color buffer to request */ AGL_ROBUST = 75, /* renderer does not need failure recovery */ AGL_BACKING_STORE = 76, /* back buffer contents are valid after swap */ AGL_MP_SAFE = 78, /* renderer is multi-processor safe */ AGL_WINDOW = 80, /* can be used to render to a window */ AGL_MULTISCREEN = 81, /* single window can span multiple screens */ AGL_VIRTUAL_SCREEN = 82, /* virtual screen number */ AGL_COMPLIANT = 83, /* renderer is opengl compliant */ AGL_PBUFFER = 90, /* can be used to render to a pbuffer */ AGL_REMOTE_PBUFFER = 91, /* can be used to render offline to a pbuffer */ } /* ** Property names for aglDescribeRenderer */ internal enum RendererProperties { /* const int AGL_OFFSCREEN = 53 */ /* const int AGL_FULLSCREEN = 54 */ /* const int AGL_RENDERER_ID = 70 */ /* const int AGL_ACCELERATED = 73 */ /* const int AGL_ROBUST = 75 */ /* const int AGL_BACKING_STORE = 76 */ /* const int AGL_MP_SAFE = 78 */ /* const int AGL_WINDOW = 80 */ /* const int AGL_MULTISCREEN = 81 */ /* const int AGL_COMPLIANT = 83 */ /* const int AGL_PBUFFER = 90 */ AGL_BUFFER_MODES = 100, AGL_MIN_LEVEL = 101, AGL_MAX_LEVEL = 102, AGL_COLOR_MODES = 103, AGL_ACCUM_MODES = 104, AGL_DEPTH_MODES = 105, AGL_STENCIL_MODES = 106, AGL_MAX_AUX_BUFFERS = 107, AGL_VIDEO_MEMORY = 120, AGL_TEXTURE_MEMORY = 121, AGL_RENDERER_COUNT = 128, } /* ** Integer parameter names */ internal enum ParameterNames { AGL_SWAP_RECT = 200, /* Enable or set the swap rectangle */ AGL_BUFFER_RECT = 202, /* Enable or set the buffer rectangle */ AGL_SWAP_LIMIT = 203, /* Enable or disable the swap async limit */ AGL_COLORMAP_TRACKING = 210, /* Enable or disable colormap tracking */ AGL_COLORMAP_ENTRY = 212, /* Set a colormap entry to {index, r, g, b} */ AGL_RASTERIZATION = 220, /* Enable or disable all rasterization */ AGL_SWAP_INTERVAL = 222, /* 0 -> Don't sync, n -> Sync every n retrace */ AGL_STATE_VALIDATION = 230, /* Validate state for multi-screen functionality */ AGL_BUFFER_NAME = 231, /* Set the buffer name. Allows for multi ctx to share a buffer */ AGL_ORDER_CONTEXT_TO_FRONT = 232, /* Order the current context in front of all the other contexts. */ AGL_CONTEXT_SURFACE_ID = 233, /* aglGetInteger only - returns the ID of the drawable surface for the context */ AGL_CONTEXT_DISPLAY_ID = 234, /* aglGetInteger only - returns the display ID(s) of all displays touched by the context, up to a maximum of 32 displays */ AGL_SURFACE_ORDER = 235, /* Position of OpenGL surface relative to window: 1 -> Above window, -1 -> Below Window */ AGL_SURFACE_OPACITY = 236, /* Opacity of OpenGL surface: 1 -> Surface is opaque (default), 0 -> non-opaque */ AGL_CLIP_REGION = 254, /* Enable or set the drawable clipping region */ AGL_FS_CAPTURE_SINGLE = 255, /* Enable the capture of only a single display for aglFullScreen, normally disabled */ AGL_SURFACE_BACKING_SIZE = 304, /* 2 params. Width/height of surface backing size */ AGL_ENABLE_SURFACE_BACKING_SIZE = 305, /* Enable or disable surface backing size override */ AGL_SURFACE_VOLATILE = 306, /* Flag surface to candidate for deletion */ } /* ** Option names for aglConfigure. */ internal enum OptionName { AGL_FORMAT_CACHE_SIZE = 501, /* Set the size of the pixel format cache */ AGL_CLEAR_FORMAT_CACHE = 502, /* Reset the pixel format cache */ AGL_RETAIN_RENDERERS = 503, /* Whether to retain loaded renderers in memory */ } /* buffer_modes */ internal enum BufferModes { AGL_MONOSCOPIC_BIT = 0x00000001, AGL_STEREOSCOPIC_BIT = 0x00000002, AGL_SINGLEBUFFER_BIT = 0x00000004, AGL_DOUBLEBUFFER_BIT = 0x00000008, } internal enum BitDepths { /* bit depths */ AGL_0_BIT = 0x00000001, AGL_1_BIT = 0x00000002, AGL_2_BIT = 0x00000004, AGL_3_BIT = 0x00000008, AGL_4_BIT = 0x00000010, AGL_5_BIT = 0x00000020, AGL_6_BIT = 0x00000040, AGL_8_BIT = 0x00000080, AGL_10_BIT = 0x00000100, AGL_12_BIT = 0x00000200, AGL_16_BIT = 0x00000400, AGL_24_BIT = 0x00000800, AGL_32_BIT = 0x00001000, AGL_48_BIT = 0x00002000, AGL_64_BIT = 0x00004000, AGL_96_BIT = 0x00008000, AGL_128_BIT = 0x00010000, } /* color modes */ internal enum ColorModes { AGL_RGB8_BIT = 0x00000001, /* 8 rgb bit/pixel, RGB=7:0, inverse colormap */ AGL_RGB8_A8_BIT = 0x00000002, /* 8-8 argb bit/pixel, A=7:0, RGB=7:0, inverse colormap */ AGL_BGR233_BIT = 0x00000004, /* 8 rgb bit/pixel, B=7:6, G=5:3, R=2:0 */ AGL_BGR233_A8_BIT = 0x00000008, /* 8-8 argb bit/pixel, A=7:0, B=7:6, G=5:3, R=2:0 */ AGL_RGB332_BIT = 0x00000010, /* 8 rgb bit/pixel, R=7:5, G=4:2, B=1:0 */ AGL_RGB332_A8_BIT = 0x00000020, /* 8-8 argb bit/pixel, A=7:0, R=7:5, G=4:2, B=1:0 */ AGL_RGB444_BIT = 0x00000040, /* 16 rgb bit/pixel, R=11:8, G=7:4, B=3:0 */ AGL_ARGB4444_BIT = 0x00000080, /* 16 argb bit/pixel, A=15:12, R=11:8, G=7:4, B=3:0 */ AGL_RGB444_A8_BIT = 0x00000100, /* 8-16 argb bit/pixel, A=7:0, R=11:8, G=7:4, B=3:0 */ AGL_RGB555_BIT = 0x00000200, /* 16 rgb bit/pixel, R=14:10, G=9:5, B=4:0 */ AGL_ARGB1555_BIT = 0x00000400, /* 16 argb bit/pixel, A=15, R=14:10, G=9:5, B=4:0 */ AGL_RGB555_A8_BIT = 0x00000800, /* 8-16 argb bit/pixel, A=7:0, R=14:10, G=9:5, B=4:0 */ AGL_RGB565_BIT = 0x00001000, /* 16 rgb bit/pixel, R=15:11, G=10:5, B=4:0 */ AGL_RGB565_A8_BIT = 0x00002000, /* 8-16 argb bit/pixel, A=7:0, R=15:11, G=10:5, B=4:0 */ AGL_RGB888_BIT = 0x00004000, /* 32 rgb bit/pixel, R=23:16, G=15:8, B=7:0 */ AGL_ARGB8888_BIT = 0x00008000, /* 32 argb bit/pixel, A=31:24, R=23:16, G=15:8, B=7:0 */ AGL_RGB888_A8_BIT = 0x00010000, /* 8-32 argb bit/pixel, A=7:0, R=23:16, G=15:8, B=7:0 */ AGL_RGB101010_BIT = 0x00020000, /* 32 rgb bit/pixel, R=29:20, G=19:10, B=9:0 */ AGL_ARGB2101010_BIT = 0x00040000, /* 32 argb bit/pixel, A=31:30 R=29:20, G=19:10, B=9:0 */ AGL_RGB101010_A8_BIT = 0x00080000, /* 8-32 argb bit/pixel, A=7:0 R=29:20, G=19:10, B=9:0 */ AGL_RGB121212_BIT = 0x00100000, /* 48 rgb bit/pixel, R=35:24, G=23:12, B=11:0 */ AGL_ARGB12121212_BIT = 0x00200000, /* 48 argb bit/pixel, A=47:36, R=35:24, G=23:12, B=11:0 */ AGL_RGB161616_BIT = 0x00400000, /* 64 rgb bit/pixel, R=47:32, G=31:16, B=15:0 */ AGL_ARGB16161616_BIT = 0x00800000, /* 64 argb bit/pixel, A=63:48, R=47:32, G=31:16, B=15:0 */ AGL_INDEX8_BIT = 0x20000000, /* 8 bit color look up table (deprecated) */ AGL_INDEX16_BIT = 0x40000000, /* 16 bit color look up table (deprecated) */ AGL_RGBFLOAT64_BIT = 0x01000000, /* 64 rgb bit/pixel, half float */ AGL_RGBAFLOAT64_BIT = 0x02000000, /* 64 argb bit/pixel, half float */ AGL_RGBFLOAT128_BIT = 0x04000000, /* 128 rgb bit/pixel, ieee float */ AGL_RGBAFLOAT128_BIT = 0x08000000, /* 128 argb bit/pixel, ieee float */ AGL_RGBFLOAT256_BIT = 0x10000000, /* 256 rgb bit/pixel, ieee double */ AGL_RGBAFLOAT256_BIT = 0x20000000, /* 256 argb bit/pixel, ieee double */ } /* ** Error return values from aglGetError. */ internal enum AglError { NoError = 0, /* no error */ BadAttribute = 10000, /* invalid pixel format attribute */ BadProperty = 10001, /* invalid renderer property */ BadPixelFormat = 10002, /* invalid pixel format */ BadRendererInfo = 10003, /* invalid renderer info */ BadContext = 10004, /* invalid context */ BadDrawable = 10005, /* invalid drawable */ BadGraphicsDevice = 10006, /* invalid graphics device */ BadState = 10007, /* invalid context state */ BadValue = 10008, /* invalid numerical value */ BadMatch = 10009, /* invalid share context */ BadEnum = 10010, /* invalid enumerant */ BadOffscreen = 10011, /* invalid offscreen drawable */ BadFullscreen = 10012, /* invalid offscreen drawable */ BadWindow = 10013, /* invalid window */ BadPointer = 10014, /* invalid pointer */ BadModule = 10015, /* invalid code module */ BadAlloc = 10016, /* memory allocation failure */ BadConnection = 10017, /* invalid CoreGraphics connection */ } /************************************************************************/ /* ** Pixel format functions */ [DllImport(agl)] internal static extern AGLPixelFormat aglChoosePixelFormat(ref AGLDevice gdevs, int ndev, int []attribs); /// /// Use this overload only with IntPtr.Zero for the first argument. /// /// /// /// /// /// /// /// /// [DllImport(agl)] internal static extern AGLPixelFormat aglChoosePixelFormat(IntPtr gdevs, int ndev, int []attribs); [DllImport(agl)] internal static extern void aglDestroyPixelFormat(AGLPixelFormat pix); [DllImport(agl)] internal static extern AGLPixelFormat aglNextPixelFormat(AGLPixelFormat pix); [DllImport(agl)] static extern byte aglDescribePixelFormat(AGLPixelFormat pix, int attrib, out int value); [Obsolete("Use aglDisplaysOfPixelFormat instead.")] [DllImport(agl)] static extern AGLDevice *aglDevicesOfPixelFormat(AGLPixelFormat pix, int *ndevs); /* ** Renderer information functions */ [DllImport(agl)] static extern AGLRendererInfo aglQueryRendererInfo(AGLDevice[] gdevs, int ndev); [DllImport(agl)] static extern void aglDestroyRendererInfo(AGLRendererInfo rend); [DllImport(agl)] static extern AGLRendererInfo aglNextRendererInfo(AGLRendererInfo rend); [DllImport(agl)] static extern byte aglDescribeRenderer(AGLRendererInfo rend, int prop, out int value); /* ** Context functions */ [DllImport(agl)] internal static extern AGLContext aglCreateContext(AGLPixelFormat pix, AGLContext share); [DllImport(agl,EntryPoint="aglDestroyContext")] static extern byte _aglDestroyContext(AGLContext ctx); internal static bool aglDestroyContext(AGLContext context) { return (_aglDestroyContext(context) != 0) ? true : false; } [DllImport(agl)] static extern byte aglCopyContext(AGLContext src, AGLContext dst, uint mask); [DllImport(agl)] internal static extern byte aglUpdateContext(AGLContext ctx); /* ** Current state functions */ #region --- aglSetCurrentContext --- [DllImport(agl,EntryPoint="aglSetCurrentContext")] static extern byte _aglSetCurrentContext(AGLContext ctx); internal static bool aglSetCurrentContext(IntPtr context) { byte retval = _aglSetCurrentContext(context); if (retval != 0) return true; else return false; } #endregion [DllImport(agl)] internal static extern AGLContext aglGetCurrentContext(); /* ** Drawable Functions */ [DllImport(agl,EntryPoint="aglSetDrawable")] static extern byte _aglSetDrawable(AGLContext ctx, AGLDrawable draw); internal static void aglSetDrawable(AGLContext ctx, AGLDrawable draw) { byte retval = _aglSetDrawable(ctx, draw); if (retval == 0) { AglError err = GetError(); throw new MacOSException(err, ErrorString(err)); } } [DllImport(agl)] static extern byte aglSetOffScreen(AGLContext ctx, int width, int height, int rowbytes, IntPtr baseaddr); [DllImport(agl)] static extern AGLDrawable aglGetDrawable(AGLContext ctx); [DllImport(agl, EntryPoint = "aglSetFullScreen")] static extern byte _aglSetFullScreen(AGLContext ctx, int width, int height, int freq, int device); internal static void aglSetFullScreen(AGLContext ctx, int width, int height, int freq, int device) { byte retval = _aglSetFullScreen(ctx, width, height, freq, device); if (retval == 0) { AglError err = GetError(); Debug.Print("AGL Error: {0}", err); Debug.Indent(); Debug.Print(ErrorString(err)); Debug.Unindent(); throw new MacOSException(err, ErrorString(err)); } } /* ** Virtual screen functions */ [DllImport(agl)] static extern byte aglSetVirtualScreen(AGLContext ctx, int screen); [DllImport(agl)] static extern int aglGetVirtualScreen(AGLContext ctx); /* ** Obtain version numbers */ [DllImport(agl)] static extern void aglGetVersion(int *major, int *minor); /* ** Global library options */ [DllImport(agl)] static extern byte aglConfigure(GLenum pname, uint param); /* ** Swap functions */ [DllImport(agl)] internal static extern void aglSwapBuffers(AGLContext ctx); /* ** Per context options */ [DllImport(agl)] internal static extern byte aglEnable(AGLContext ctx, ParameterNames pname); [DllImport(agl)] internal static extern byte aglDisable(AGLContext ctx, ParameterNames pname); [DllImport(agl)] static extern byte aglIsEnabled(AGLContext ctx, GLenum pname); [DllImport(agl)] internal static extern byte aglSetInteger(AGLContext ctx, ParameterNames pname, ref int @params); [DllImport(agl)] internal static extern byte aglSetInteger(AGLContext ctx, ParameterNames pname, int []@params); [DllImport(agl)] static extern byte aglGetInteger(AGLContext ctx, GLenum pname, int* @params); /* ** Font function */ // TODO: face parameter should be of type StyleParameter in QuickDraw. [DllImport(agl)] static extern byte aglUseFont(AGLContext ctx, int fontID, int face, int size, int first, int count, int @base); /* ** Error functions */ [DllImport(agl,EntryPoint="aglGetError")] internal static extern AglError GetError(); [DllImport(agl,EntryPoint="aglErrorString")] static extern IntPtr _aglErrorString(AglError code); internal static string ErrorString(AglError code) { return Marshal.PtrToStringAnsi(_aglErrorString(code)); } /* ** Soft reset function */ [DllImport(agl)] static extern void aglResetLibrary(); /* ** Surface texture function */ [DllImport(agl)] static extern void aglSurfaceTexture (AGLContext context, GLenum target, GLenum internalformat, AGLContext surfacecontext) ; /* ** PBuffer functions */ [DllImport(agl)] static extern byte aglCreatePBuffer (int width, int height, GLenum target, GLenum internalFormat, long max_level, AGLPbuffer *pbuffer); [DllImport(agl)] static extern byte aglDestroyPBuffer (AGLPbuffer pbuffer); [DllImport(agl)] static extern byte aglDescribePBuffer (AGLPbuffer pbuffer, int *width, int *height, GLenum *target, GLenum *internalFormat, int *max_level); [DllImport(agl)] static extern byte aglTexImagePBuffer (AGLContext ctx, AGLPbuffer pbuffer, int source); /* ** Pbuffer Drawable Functions */ [DllImport(agl)] static extern byte aglSetPBuffer (AGLContext ctx, AGLPbuffer pbuffer, int face, int level, int screen) ; [DllImport(agl)] static extern byte aglGetPBuffer (AGLContext ctx, AGLPbuffer *pbuffer, int *face, int *level, int *screen) ; /* ** CGL functions */ [DllImport(agl)] static extern byte aglGetCGLContext(AGLContext ctx, void **cgl_ctx) ; [DllImport(agl)] static extern byte aglGetCGLPixelFormat(AGLPixelFormat pix, void **cgl_pix); #pragma warning restore 0169 } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/QuartzDisplayServicesAPI.cs0000664000175000017500000000374111453131422027760 0ustar laneylaneyusing System; using System.Runtime.InteropServices; using System.Diagnostics; namespace OpenTK.Platform.MacOS.Carbon { // Quartz Display services used here are available in MacOS X 10.3 and later. enum CGDisplayErr { } internal static class CG { const string appServices = "/System/Library/Frameworks/ApplicationServices.framework/Versions/Current/ApplicationServices"; // CGPoint -> HIPoint // CGSize -> HISize // CGRect -> HIRect [DllImport(appServices,EntryPoint="CGGetActiveDisplayList")] internal unsafe static extern CGDisplayErr GetActiveDisplayList(int maxDisplays, IntPtr* activeDspys, out int dspyCnt); [DllImport(appServices,EntryPoint="CGMainDisplayID")] internal static extern IntPtr MainDisplayID(); [DllImport(appServices, EntryPoint = "CGDisplayBounds")] internal unsafe static extern HIRect DisplayBounds(IntPtr display); [DllImport(appServices,EntryPoint="CGDisplayPixelsWide")] internal static extern int DisplayPixelsWide(IntPtr display); [DllImport(appServices,EntryPoint="CGDisplayPixelsHigh")] internal static extern int DisplayPixelsHigh(IntPtr display); [DllImport(appServices,EntryPoint="CGDisplayCurrentMode")] internal static extern IntPtr DisplayCurrentMode(IntPtr display); [DllImport(appServices,EntryPoint="CGDisplayCapture")] internal static extern CGDisplayErr DisplayCapture(IntPtr display); [DllImport(appServices,EntryPoint="CGDisplayRelease")] internal static extern CGDisplayErr DisplayRelease(IntPtr display); [DllImport(appServices, EntryPoint = "CGDisplayAvailableModes")] internal static extern IntPtr DisplayAvailableModes(IntPtr display); [DllImport(appServices, EntryPoint = "CGDisplaySwitchToMode")] internal static extern IntPtr DisplaySwitchToMode(IntPtr display, IntPtr displayMode); } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/MacOSKeys.cs0000664000175000017500000000466711453131422024714 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.MacOS.Carbon { enum MacOSKeyCode { A = 0, B = 11, C = 8, D = 2, E = 14, F = 3, G = 5, H = 4, I = 34, J = 38, K = 40, L = 37, M = 46, N = 45, O = 31, P = 35, Q = 12, R = 15, S = 1, T = 17, U = 32, V = 9, W = 13, X = 7, Y = 16, Z = 6, Key_1 = 18, Key_2 = 19, Key_3 = 20, Key_4 = 21, Key_5 = 23, Key_6 = 22, Key_7 = 26, Key_8 = 28, Key_9 = 25, Key_0 = 29, Space = 49, Tilde = 50, Minus = 27, Equals = 24, BracketLeft = 33, BracketRight = 30, Backslash = 42, Semicolon = 41, Quote = 39, Comma = 43, Period = 47, Slash = 44, Enter = 36, Tab = 48, Backspace = 51, Return = 52, Esc = 53, KeyPad_Decimal = 65, KeyPad_Multiply = 67, KeyPad_Add = 69, KeyPad_Divide = 75, KeyPad_Enter = 76, KeyPad_Subtract = 78, KeyPad_Equal = 81, KeyPad_0 = 82, KeyPad_1 = 83, KeyPad_2 = 84, KeyPad_3 = 85, KeyPad_4 = 86, KeyPad_5 = 87, KeyPad_6 = 88, KeyPad_7 = 89, KeyPad_8 = 91, KeyPad_9 = 92, F1 = 122, F2 = 120, F3 = 99, F4 = 118, F5 = 96, F6 = 97, F7 = 98, F8 = 100, F9 = 101, F10 = 109, F11 = 103, F12 = 111, F13 = 105, F14 = 107, F15 = 113, Menu = 110, Insert = 114, Home = 115, Pageup = 116, Del = 117, End = 119, Pagedown = 121, Up = 126, Down = 125, Left = 123, Right = 124, } [Flags] enum MacOSKeyModifiers { None = 0, Shift = 0x0200, CapsLock = 0x0400, Control = 0x1000, // Command = 0x0100, // Open-Apple - Windows key Option = 0x0800, // Option key is same position as the alt key on non-mac keyboards. } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/CarbonAPI.cs0000664000175000017500000010651611453131422024650 0ustar laneylaney// // // Carbon.cs // // Created by Erik Ylvisaker on 3/17/08. // Copyright 2008. All rights reserved. // // using System; using System.Runtime.InteropServices; using System.Diagnostics; using System.Drawing; using EventTime = System.Double; namespace OpenTK.Platform.MacOS.Carbon { #region --- Types defined in MacTypes.h --- [StructLayout(LayoutKind.Sequential)] internal struct CarbonPoint { internal short V; internal short H; public CarbonPoint(int x, int y) { V = (short)x; H = (short)y; } } [StructLayout(LayoutKind.Sequential)] internal struct Rect { short top; short left; short bottom; short right; internal Rect(short _left, short _top, short _width, short _height) { top = _top; left = _left; bottom = (short)(_top + _height); right = (short)(_left + _width); } internal short X { get { return left; } set { short width = Width; left = value; right = (short)(left + width); } } internal short Y { get { return top; } set { short height = Height; top = value; bottom = (short)(top + height); } } internal short Width { get { return (short)(right - left); } set { right = (short)(left + value); } } internal short Height { get { return (short)(bottom - top); } set { bottom = (short)(top + value); } } public override string ToString() { return string.Format( "Rect: [{0}, {1}, {2}, {3}]", X, Y, Width, Height); } public Rectangle ToRectangle() { return new Rectangle(X, Y, Width, Height); } } #endregion #region --- Types defined in HIGeometry.h --- [StructLayout(LayoutKind.Sequential)] internal struct HIPoint { public float X; public float Y; } [StructLayout(LayoutKind.Sequential)] internal struct HISize { public float Width; public float Height; } [StructLayout(LayoutKind.Sequential)] internal struct HIRect { public HIPoint Origin; public HISize Size; public override string ToString() { return string.Format( "Rect: [{0}, {1}, {2}, {3}]", Origin.X, Origin.Y, Size.Width, Size.Height); } } #endregion #region --- Types defined in CarbonEvents.h --- enum EventAttributes : uint { kEventAttributeNone = 0, kEventAttributeUserEvent = (1 << 0), kEventAttributeMonitored = 1 << 3, } [StructLayout(LayoutKind.Sequential)] internal struct EventTypeSpec { internal EventTypeSpec(EventClass evtClass, AppEventKind evtKind) { this.EventClass = evtClass; this.EventKind = (uint)evtKind; } internal EventTypeSpec(EventClass evtClass, AppleEventKind appleKind) { this.EventClass = evtClass; this.EventKind = (uint)appleKind; } internal EventTypeSpec(EventClass evtClass, MouseEventKind evtKind) { this.EventClass = evtClass; this.EventKind = (uint)evtKind; } internal EventTypeSpec(EventClass evtClass, KeyboardEventKind evtKind) { this.EventClass = evtClass; this.EventKind = (uint)evtKind; } internal EventTypeSpec(EventClass evtClass, WindowEventKind evtKind) { this.EventClass = evtClass; this.EventKind = (uint)evtKind; } internal EventClass EventClass; internal uint EventKind; } internal enum EventClass : int { /* kEventClassMouse = FOUR_CHAR_CODE('mous'), kEventClassKeyboard = FOUR_CHAR_CODE('keyb'), kEventClassTextInput = FOUR_CHAR_CODE('text'), kEventClassApplication = FOUR_CHAR_CODE('appl'), kEventClassAppleEvent = FOUR_CHAR_CODE('eppc'), kEventClassMenu = FOUR_CHAR_CODE('menu'), kEventClassWindow = FOUR_CHAR_CODE('wind'), kEventClassControl = FOUR_CHAR_CODE('cntl'), kEventClassCommand = FOUR_CHAR_CODE('cmds') */ Mouse = 0x6d6f7573, Keyboard = 0x6b657962, Application = 0x6170706c, AppleEvent = 0x65707063, Menu = 0x6d656e75, Window = 0x77696e64, } internal enum WindowEventKind : int { // window events WindowUpdate = 1, WindowDrawContent = 2, WindowDrawStructure = 3, WindowEraseContent = 4, WindowActivate = 5, WindowDeactivate = 6, WindowSizeChanged = 23, WindowBoundsChanging = 26, WindowBoundsChanged = 27, WindowClickDragRgn = 32, WindowClickResizeRgn = 33, WindowClickCollapseRgn = 34, WindowClickCloseRgn = 35, WindowClickZoomRgn = 36, WindowClickContentRgn = 37, WindowClickProxyIconRgn = 38, WindowClose = 72, WindowClosed = 73, } internal enum MouseEventKind : int { MouseDown = 1, MouseUp = 2, MouseMoved = 5, MouseDragged = 6, MouseEntered = 8, MouseExited = 9, WheelMoved = 10, } internal enum MouseButton : short { Primary = 1, Secondary = 2, Tertiary = 3, } internal enum KeyboardEventKind : int { // raw keyboard events RawKeyDown = 1, RawKeyRepeat = 2, RawKeyUp = 3, RawKeyModifiersChanged = 4, } internal enum AppEventKind : int { // application events AppActivated = 1, AppDeactivated = 2, AppQuit = 3, AppLaunchNotification = 4, } enum AppleEventKind : int { AppleEvent = 1, } internal enum EventParamName : int { WindowRef = 0x77696e64, // typeWindowRef, // Mouse Events MouseLocation = 0x6d6c6f63, // typeHIPoint WindowMouseLocation = 0x776d6f75, // typeHIPoint MouseButton = 0x6d62746e, // typeMouseButton ClickCount = 0x63636e74, // typeUInt32 MouseWheelAxis = 0x6d776178, // typeMouseWheelAxis MouseWheelDelta = 0x6d77646c, // typeSInt32 MouseDelta = 0x6d647461, // typeHIPoint // Keyboard events KeyCode = 0x6b636f64, // typeUInt32 KeyMacCharCode = 0x6b636872, // typechar KeyModifiers = 0x6b6d6f64, // typeUInt32 } internal enum EventParamType : int { typeWindowRef = 0x77696e64, typeMouseButton = 0x6d62746e, typeMouseWheelAxis = 0x6d776178, typeHIPoint = 0x68697074, typeHISize = 0x6869737a, typeHIRect = 0x68697263, typeChar = 0x54455854, typeUInt32 = 0x6d61676e, typeSInt32 = 0x6c6f6e67, typeSInt16 = 0x73686f72, typeSInt64 = 0x636f6d70, typeIEEE32BitFloatingPoint = 0x73696e67, typeIEEE64BitFloatingPoint = 0x646f7562, } internal enum EventMouseButton : int { Primary = 0, Secondary = 1, Tertiary = 2, } internal enum WindowRegionCode : int { TitleBarRegion = 0, TitleTextRegion = 1, CloseBoxRegion = 2, ZoomBoxRegion = 3, DragRegion = 5, GrowRegion = 6, CollapseBoxRegion = 7, TitleProxyIconRegion = 8, StructureRegion = 32, ContentRegion = 33, UpdateRegion = 34, OpaqueRegion = 35, GlobalPortRegion = 40, ToolbarButtonRegion = 41 }; #endregion #region --- MacWindows.h --- internal enum WindowClass : uint { Alert = 1, /* "I need your attention now."*/ MovableAlert = 2, /* "I need your attention now, but I'm kind enough to let you switch out of this app to do other things."*/ Modal = 3, /* system modal, not draggable*/ MovableModal = 4, /* application modal, draggable*/ Floating = 5, /* floats above all other application windows*/ Document = 6, /* document windows*/ Desktop = 7, /* desktop window (usually only one of these exists) - OS X only in CarbonLib 1.0*/ Utility = 8, /* Available in CarbonLib 1.1 and later, and in Mac OS X*/ Help = 10, /* Available in CarbonLib 1.1 and later, and in Mac OS X*/ Sheet = 11, /* Available in CarbonLib 1.3 and later, and in Mac OS X*/ Toolbar = 12, /* Available in CarbonLib 1.1 and later, and in Mac OS X*/ Plain = 13, /* Available in CarbonLib 1.2.5 and later, and Mac OS X*/ Overlay = 14, /* Available in Mac OS X*/ SheetAlert = 15, /* Available in CarbonLib 1.3 and later, and in Mac OS X 10.1 and later*/ AltPlain = 16, /* Available in CarbonLib 1.3 and later, and in Mac OS X 10.1 and later*/ Drawer = 20, /* Available in Mac OS X 10.2 or later*/ All = 0xFFFFFFFFu /* for use with GetFrontWindowOfClass, FindWindowOfClass, GetNextWindowOfClass*/ } [Flags] internal enum WindowAttributes : uint { NoAttributes = 0u, /* no attributes*/ CloseBox = (1u << 0), /* window has a close box*/ HorizontalZoom = (1u << 1), /* window has horizontal zoom box*/ VerticalZoom = (1u << 2), /* window has vertical zoom box*/ FullZoom = (VerticalZoom | HorizontalZoom), CollapseBox = (1u << 3), /* window has a collapse box*/ Resizable = (1u << 4), /* window is resizable*/ SideTitlebar = (1u << 5), /* window wants a titlebar on the side (floating window class only)*/ NoUpdates = (1u << 16), /* this window receives no update events*/ NoActivates = (1u << 17), /* this window receives no activate events*/ NoBuffering = (1u << 20), /* this window is not buffered (Mac OS X only)*/ StandardHandler = (1u << 25), InWindowMenu = (1u << 27), LiveResize = (1u << 28), StandardDocument = (CloseBox | FullZoom | CollapseBox | Resizable), StandardFloating = (CloseBox | CollapseBox) } internal enum WindowPositionMethod : uint { CenterOnMainScreen = 1, CenterOnParentWindow = 2, CenterOnParentWindowScreen = 3, CascadeOnMainScreen = 4, CascadeOnParentWindow = 5, CascadeOnParentWindowScreen = 6, CascadeStartAtParentWindowScreen = 10, AlertPositionOnMainScreen = 7, AlertPositionOnParentWindow = 8, AlertPositionOnParentWindowScreen = 9 } internal delegate OSStatus MacOSEventHandler(IntPtr inCaller, IntPtr inEvent, IntPtr userData); internal enum WindowPartCode : short { inDesk = 0, inNoWindow = 0, inMenuBar = 1, inSysWindow = 2, inContent = 3, inDrag = 4, inGrow = 5, inGoAway = 6, inZoomIn = 7, inZoomOut = 8, inCollapseBox = 11, inProxyIcon = 12, inToolbarButton = 13, inStructure = 15, } #endregion #region --- Enums from gestalt.h --- internal enum GestaltSelector { SystemVersion = 0x73797376, // FOUR_CHAR_CODE("sysv"), /* system version*/ SystemVersionMajor = 0x73797331, // FOUR_CHAR_CODE("sys1"), /* The major system version number; in 10.4.17 this would be the decimal value 10 */ SystemVersionMinor = 0x73797332, // FOUR_CHAR_CODE("sys2"), /* The minor system version number; in 10.4.17 this would be the decimal value 4 */ SystemVersionBugFix = 0x73797333, // FOUR_CHAR_CODE("sys3") /* The bug fix system version number; in 10.4.17 this would be the decimal value 17 */ }; #endregion #region --- Process Manager --- enum ProcessApplicationTransformState : int { kProcessTransformToForegroundApplication = 1, } struct ProcessSerialNumber { public ulong high; public ulong low; } #endregion enum HICoordinateSpace { _72DPIGlobal = 1, ScreenPixel = 2, Window = 3, View = 4 }; #region --- Carbon API Methods --- internal partial class API { const string carbon = "/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon"; [DllImport(carbon)] internal static extern EventClass GetEventClass(IntPtr inEvent); [DllImport(carbon)] internal static extern uint GetEventKind(IntPtr inEvent); #region --- Window Construction --- [DllImport(carbon,EntryPoint="CreateNewWindow")] private static extern OSStatus _CreateNewWindow(WindowClass @class, WindowAttributes attributes, ref Rect r, out IntPtr window); internal static IntPtr CreateNewWindow(WindowClass @class, WindowAttributes attributes, Rect r) { IntPtr retval; OSStatus stat = _CreateNewWindow(@class, attributes, ref r, out retval); Debug.Print("Created Window: {0}", retval); if (stat != OSStatus.NoError) { throw new MacOSException(stat); } return retval; } [DllImport(carbon)] internal static extern void DisposeWindow(IntPtr window); #endregion #region --- Showing / Hiding Windows --- [DllImport(carbon)] internal static extern void ShowWindow(IntPtr window); [DllImport(carbon)] internal static extern void HideWindow(IntPtr window); [DllImport(carbon)] internal static extern bool IsWindowVisible(IntPtr window); [DllImport(carbon)] internal static extern void SelectWindow(IntPtr window); #endregion #region --- Window Boundaries --- [DllImport(carbon)] internal static extern OSStatus RepositionWindow(IntPtr window, IntPtr parentWindow, WindowPositionMethod method); [DllImport(carbon)] internal static extern void SizeWindow(IntPtr window, short w, short h, bool fUpdate); [DllImport(carbon)] internal static extern void MoveWindow(IntPtr window, short x, short y, bool fUpdate); [DllImport(carbon)] static extern OSStatus GetWindowBounds(IntPtr window, WindowRegionCode regionCode, out Rect globalBounds); internal static Rect GetWindowBounds(IntPtr window, WindowRegionCode regionCode) { Rect retval; OSStatus result = GetWindowBounds(window, regionCode, out retval); if (result != OSStatus.NoError) throw new MacOSException(result); return retval; } //[DllImport(carbon)] //internal static extern void MoveWindow(IntPtr window, short hGlobal, short vGlobal, bool front); #endregion #region --- Processing Events --- [DllImport(carbon)] static extern IntPtr GetEventDispatcherTarget(); [DllImport(carbon,EntryPoint="ReceiveNextEvent")] static extern OSStatus ReceiveNextEvent(uint inNumTypes, IntPtr inList, double inTimeout, bool inPullEvent, out IntPtr outEvent); [DllImport(carbon)] static extern void SendEventToEventTarget(IntPtr theEvent, IntPtr theTarget); [DllImport(carbon)] static extern void ReleaseEvent(IntPtr theEvent); internal static void SendEvent(IntPtr theEvent) { IntPtr theTarget = GetEventDispatcherTarget(); SendEventToEventTarget(theEvent, theTarget); } // Processes events in the queue and then returns. internal static void ProcessEvents() { IntPtr theEvent; IntPtr theTarget = GetEventDispatcherTarget(); for (;;) { OSStatus status = ReceiveNextEvent(0, IntPtr.Zero, 0.0, true, out theEvent); if (status == OSStatus.EventLoopTimedOut) break; if (status != OSStatus.NoError) { Debug.Print("Message Loop status: {0}", status); break; } if (theEvent == IntPtr.Zero) break; try { SendEventToEventTarget(theEvent, theTarget); } catch (System.ExecutionEngineException e) { Console.Error.WriteLine("ExecutionEngineException caught."); Console.Error.WriteLine("theEvent: " + new EventInfo(theEvent).ToString()); Console.Error.WriteLine(e.Message); Console.Error.WriteLine(e.StackTrace); } ReleaseEvent(theEvent); } } #region --- Processing apple event --- [StructLayout(LayoutKind.Sequential)] struct EventRecord { public ushort what; public uint message; public uint when; public CarbonPoint where; public uint modifiers; } [DllImport(carbon)] static extern bool ConvertEventRefToEventRecord(IntPtr inEvent, out EventRecord outEvent); [DllImport(carbon)] static extern OSStatus AEProcessAppleEvent(ref EventRecord theEventRecord); static internal void ProcessAppleEvent(IntPtr inEvent) { EventRecord record; ConvertEventRefToEventRecord(inEvent, out record); AEProcessAppleEvent(ref record); } #endregion #endregion #region --- Getting Event Parameters --- [DllImport(carbon,EntryPoint="CreateEvent")] static extern OSStatus _CreateEvent( IntPtr inAllocator, EventClass inClassID, UInt32 kind, EventTime when, EventAttributes flags,out IntPtr outEvent); internal static IntPtr CreateWindowEvent(WindowEventKind kind) { IntPtr retval; OSStatus stat = _CreateEvent(IntPtr.Zero, EventClass.Window, (uint)kind, 0, EventAttributes.kEventAttributeNone, out retval); if (stat != OSStatus.NoError) { throw new MacOSException(stat); } return retval; } [DllImport(carbon)] static extern OSStatus GetEventParameter( IntPtr inEvent, EventParamName inName, EventParamType inDesiredType, IntPtr outActualType, uint inBufferSize, IntPtr outActualSize, IntPtr outData); static internal MacOSKeyCode GetEventKeyboardKeyCode(IntPtr inEvent) { int code; unsafe { int* codeAddr = &code; OSStatus result = API.GetEventParameter(inEvent, EventParamName.KeyCode, EventParamType.typeUInt32, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(UInt32)), IntPtr.Zero, (IntPtr) codeAddr); if (result != OSStatus.NoError) { throw new MacOSException(result); } } return (MacOSKeyCode)code; } internal static char GetEventKeyboardChar(IntPtr inEvent) { char code; unsafe { char* codeAddr = &code; OSStatus result = API.GetEventParameter(inEvent, EventParamName.KeyMacCharCode, EventParamType.typeChar, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(char)), IntPtr.Zero, (IntPtr)codeAddr); if (result != OSStatus.NoError) { throw new MacOSException(result); } } return code; } static internal MouseButton GetEventMouseButton(IntPtr inEvent) { int button; unsafe { int* btn = &button; OSStatus result = API.GetEventParameter(inEvent, EventParamName.MouseButton, EventParamType.typeMouseButton, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(short)), IntPtr.Zero, (IntPtr)btn); if (result != OSStatus.NoError) throw new MacOSException(result); } return (MouseButton)button; } static internal int GetEventMouseWheelDelta(IntPtr inEvent) { int delta; unsafe { int* d = δ OSStatus result = API.GetEventParameter(inEvent, EventParamName.MouseWheelDelta, EventParamType.typeSInt32, IntPtr.Zero, (uint)sizeof(int), IntPtr.Zero, (IntPtr)d); if (result != OSStatus.NoError) throw new MacOSException(result); } return delta; } static internal OSStatus GetEventWindowMouseLocation(IntPtr inEvent, out HIPoint pt) { HIPoint point; unsafe { HIPoint* parm = &point; OSStatus result = API.GetEventParameter(inEvent, EventParamName.WindowMouseLocation, EventParamType.typeHIPoint, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(HIPoint)), IntPtr.Zero, (IntPtr)parm); pt = point; return result; } } static internal OSStatus GetEventWindowRef(IntPtr inEvent, out IntPtr windowRef) { IntPtr retval; unsafe { IntPtr* parm = &retval; OSStatus result = API.GetEventParameter(inEvent, EventParamName.WindowRef, EventParamType.typeWindowRef, IntPtr.Zero, (uint)sizeof(IntPtr), IntPtr.Zero, (IntPtr)parm); windowRef = retval; return result; } } static internal OSStatus GetEventMouseLocation(IntPtr inEvent, out HIPoint pt) { HIPoint point; unsafe { HIPoint* parm = &point; OSStatus result = API.GetEventParameter(inEvent, EventParamName.MouseLocation, EventParamType.typeHIPoint, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(HIPoint)), IntPtr.Zero, (IntPtr)parm); pt = point; return result; } } static internal MacOSKeyModifiers GetEventKeyModifiers(IntPtr inEvent) { uint code; unsafe { uint* codeAddr = &code; OSStatus result = API.GetEventParameter(inEvent, EventParamName.KeyModifiers, EventParamType.typeUInt32, IntPtr.Zero, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(uint)), IntPtr.Zero, (IntPtr)codeAddr); if (result != OSStatus.NoError) { throw new MacOSException(result); } } return (MacOSKeyModifiers)code; } #endregion #region --- Event Handlers --- [DllImport(carbon,EntryPoint="InstallEventHandler")] static extern OSStatus _InstallEventHandler( IntPtr eventTargetRef, IntPtr handlerProc, int numtypes, EventTypeSpec[] typeList, IntPtr userData, IntPtr handlerRef); internal static void InstallWindowEventHandler(IntPtr windowRef, IntPtr uppHandlerProc, EventTypeSpec[] eventTypes, IntPtr userData, IntPtr handlerRef) { IntPtr windowTarget = GetWindowEventTarget(windowRef); //Debug.Print("Window: {0}", windowRef); //Debug.Print("Window Target: {0}", windowTarget); //Debug.Print("Handler: {0}", uppHandlerProc); //Debug.Print("Num Events: {0}", eventTypes.Length); //Debug.Print("User Data: {0}", userData); //Debug.Print("Handler Ref: {0}", handlerRef); OSStatus error = _InstallEventHandler(windowTarget, uppHandlerProc, eventTypes.Length, eventTypes, userData, handlerRef); //Debug.Print("Status: {0}", error); if (error != OSStatus.NoError) { throw new MacOSException(error); } } internal static void InstallApplicationEventHandler(IntPtr uppHandlerProc, EventTypeSpec[] eventTypes, IntPtr userData, IntPtr handlerRef) { OSStatus error = _InstallEventHandler(GetApplicationEventTarget(), uppHandlerProc, eventTypes.Length, eventTypes, userData, handlerRef); if (error != OSStatus.NoError) { throw new MacOSException(error); } } [DllImport(carbon)] internal static extern OSStatus RemoveEventHandler(IntPtr inHandlerRef); #endregion #region --- GetWindowEventTarget --- [DllImport(carbon)] internal static extern IntPtr GetWindowEventTarget(IntPtr window); [DllImport(carbon)] internal static extern IntPtr GetApplicationEventTarget(); #endregion #region --- UPP Event Handlers --- [DllImport(carbon)] internal static extern IntPtr NewEventHandlerUPP(MacOSEventHandler handler); [DllImport(carbon)] internal static extern void DisposeEventHandlerUPP(IntPtr userUPP); #endregion #region --- Process Manager --- [DllImport(carbon)] internal static extern int TransformProcessType(ref Carbon.ProcessSerialNumber psn, ProcessApplicationTransformState type); [DllImport(carbon)] internal static extern int GetCurrentProcess(ref Carbon.ProcessSerialNumber psn); [DllImport(carbon)] internal static extern int SetFrontProcess(ref Carbon.ProcessSerialNumber psn); #endregion #region --- Setting Dock Tile --- [DllImport(carbon)] internal extern static IntPtr CGColorSpaceCreateDeviceRGB(); [DllImport(carbon)] internal extern static IntPtr CGDataProviderCreateWithData(IntPtr info, IntPtr[] data, int size, IntPtr releasefunc); [DllImport(carbon)] internal extern static IntPtr CGImageCreate(int width, int height, int bitsPerComponent, int bitsPerPixel, int bytesPerRow, IntPtr colorspace, uint bitmapInfo, IntPtr provider, IntPtr decode, int shouldInterpolate, int intent); [DllImport(carbon)] internal extern static void SetApplicationDockTileImage(IntPtr imageRef); [DllImport(carbon)] internal extern static void RestoreApplicationDockTileImage(); #endregion [DllImport(carbon)] static extern IntPtr GetControlBounds(IntPtr control, out Rect bounds); internal static Rect GetControlBounds(IntPtr control) { Rect retval; GetControlBounds(control, out retval); return retval; } [DllImport(carbon)] internal static extern OSStatus ActivateWindow (IntPtr inWindow, bool inActivate); [DllImport(carbon)] internal static extern void RunApplicationEventLoop(); [DllImport(carbon)] internal static extern void QuitApplicationEventLoop(); [DllImport(carbon)] internal static extern IntPtr GetControlOwner(IntPtr control); [DllImport(carbon)] internal static extern IntPtr HIViewGetWindow(IntPtr inView); [DllImport(carbon)] static extern OSStatus HIViewGetFrame(IntPtr inView, out HIRect outRect); internal static HIRect HIViewGetFrame(IntPtr inView) { HIRect retval; OSStatus result = HIViewGetFrame(inView, out retval); if (result != OSStatus.NoError) throw new MacOSException(result); return retval; } #region --- SetWindowTitle --- [DllImport(carbon)] static extern void SetWindowTitleWithCFString(IntPtr windowRef, IntPtr title); internal static void SetWindowTitle(IntPtr windowRef, string title) { IntPtr str = __CFStringMakeConstantString(title); Debug.Print("Setting window title: {0}, CFstring : {1}, Text : {2}", windowRef, str, title); SetWindowTitleWithCFString(windowRef, str); // Apparently releasing this reference to the CFConstantString here // causes the program to crash on the fourth window created. But I am // afraid that not releasing the string would result in a memory leak, but that would // only be a serious issue if the window title is changed a lot. //CFRelease(str); } #endregion [DllImport(carbon,EntryPoint="ChangeWindowAttributes")] static extern OSStatus _ChangeWindowAttributes(IntPtr windowRef, WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes); internal static void ChangeWindowAttributes(IntPtr windowRef, WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes) { OSStatus error = _ChangeWindowAttributes(windowRef, setTheseAttributes, clearTheseAttributes); if (error != OSStatus.NoError) { throw new MacOSException(error); } } [DllImport(carbon)] static extern IntPtr __CFStringMakeConstantString(string cStr); [DllImport(carbon)] static extern void CFRelease(IntPtr cfStr); [DllImport(carbon)] internal static extern OSStatus CallNextEventHandler(IntPtr nextHandler, IntPtr theEvent); [DllImport(carbon)] internal static extern IntPtr GetWindowPort(IntPtr windowRef); #region --- Menus --- [DllImport(carbon)] internal static extern IntPtr AcquireRootMenu(); #endregion [DllImport(carbon)] internal static extern bool IsWindowCollapsed(IntPtr windowRef); [DllImport(carbon, EntryPoint = "CollapseWindow")] static extern OSStatus _CollapseWindow(IntPtr windowRef, bool collapse); internal static void CollapseWindow(IntPtr windowRef, bool collapse) { OSStatus error = _CollapseWindow(windowRef, collapse); if (error != OSStatus.NoError) { throw new MacOSException(error); } } [DllImport(carbon, EntryPoint="IsWindowInStandardState")] static extern bool _IsWindowInStandardState(IntPtr windowRef, IntPtr inIdealSize, IntPtr outIdealStandardState); internal static bool IsWindowInStandardState(IntPtr windowRef) { return _IsWindowInStandardState(windowRef, IntPtr.Zero, IntPtr.Zero); } [DllImport(carbon, EntryPoint = "ZoomWindowIdeal")] unsafe static extern OSStatus _ZoomWindowIdeal(IntPtr windowRef, short inPartCode, IntPtr toIdealSize); internal static void ZoomWindowIdeal(IntPtr windowRef, WindowPartCode inPartCode, ref CarbonPoint toIdealSize) { CarbonPoint pt = toIdealSize; OSStatus error ; IntPtr handle = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(CarbonPoint))); Marshal.StructureToPtr(toIdealSize, handle, false); error = _ZoomWindowIdeal(windowRef, (short)inPartCode, handle); toIdealSize = (CarbonPoint)Marshal.PtrToStructure(handle,typeof(CarbonPoint)); Marshal.FreeHGlobal(handle); if (error != OSStatus.NoError) { throw new MacOSException(error); } } [DllImport(carbon)] internal unsafe static extern OSStatus DMGetGDeviceByDisplayID( IntPtr displayID, out IntPtr displayDevice, Boolean failToMain); #region Nonworking HIPointConvert routines // These seem to crash when called, and I haven't figured out why. // Currently a workaround is used to convert from screen to client coordinates. //[DllImport(carbon, EntryPoint="HIPointConvert")] //extern static OSStatus _HIPointConvert(ref HIPoint ioPoint, // HICoordinateSpace inSourceSpace, IntPtr inSourceObject, // HICoordinateSpace inDestinationSpace, IntPtr inDestinationObject); //internal static HIPoint HIPointConvert(HIPoint inPoint, // HICoordinateSpace inSourceSpace, IntPtr inSourceObject, // HICoordinateSpace inDestinationSpace, IntPtr inDestinationObject) //{ // OSStatus error = _HIPointConvert(ref inPoint, inSourceSpace, inSourceObject, inDestinationSpace, inDestinationObject); // if (error != OSStatus.NoError) // { // throw new MacOSException(error); // } // return inPoint; //} //[DllImport(carbon, EntryPoint = "HIViewConvertPoint")] //extern static OSStatus _HIViewConvertPoint(ref HIPoint inPoint, IntPtr inSourceView, IntPtr inDestView); //internal static HIPoint HIViewConvertPoint( HIPoint point, IntPtr sourceHandle, IntPtr destHandle) //{ // //Carbon.Rect window_bounds = new Carbon.Rect(); // //Carbon.API.GetWindowBounds(handle, WindowRegionCode.StructureRegion /*32*/, out window_bounds); // //point.X -= window_bounds.X; // //point.Y -= window_bounds.Y; // OSStatus error = _HIViewConvertPoint(ref point, sourceHandle, destHandle); // if (error != OSStatus.NoError) // { // throw new MacOSException(error); // } // return point; //} #endregion const string gestaltlib = "/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon"; [DllImport(gestaltlib)] internal static extern OSStatus Gestalt(GestaltSelector selector, out int response); } #endregion } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonBindings/CoreFoundation.cs0000664000175000017500000000723211453131422026024 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; namespace OpenTK.Platform.MacOS.Carbon { struct CFArray { IntPtr arrayRef; public IntPtr Ref { get { return arrayRef; } set { arrayRef = value; } } public CFArray(IntPtr reference) { arrayRef = reference; } public int Count { get { return CF.CFArrayGetCount(arrayRef); } } public IntPtr this[int index] { get { if (index >= Count || index < 0) throw new IndexOutOfRangeException(); return CF.CFArrayGetValueAtIndex(arrayRef, index); } } } struct CFDictionary { public CFDictionary(IntPtr reference) { dictionaryRef = reference; } IntPtr dictionaryRef; public IntPtr Ref { get { return dictionaryRef; } set { dictionaryRef = value; } } public int Count { get { return CF.CFDictionaryGetCount(dictionaryRef); } } public double GetNumberValue(string key) { unsafe { double retval; IntPtr cfnum = CF.CFDictionaryGetValue(dictionaryRef, CF.CFSTR(key)); CF.CFNumberGetValue(cfnum, CF.CFNumberType.kCFNumberDoubleType, &retval); return retval; } } } class CF { const string appServices = "/System/Library/Frameworks/ApplicationServices.framework/Versions/Current/ApplicationServices"; [DllImport(appServices)] internal static extern int CFArrayGetCount(IntPtr theArray); [DllImport(appServices)] internal static extern IntPtr CFArrayGetValueAtIndex(IntPtr theArray, int idx); [DllImport(appServices)] internal static extern int CFDictionaryGetCount(IntPtr theDictionary); [DllImport(appServices)] internal static extern IntPtr CFDictionaryGetValue(IntPtr theDictionary, IntPtr theKey); // this mirrors the definition in CFString.h. // I don't know why, but __CFStringMakeConstantString is marked as "private and should not be used directly" // even though the CFSTR macro just calls it. [DllImport(appServices)] static extern IntPtr __CFStringMakeConstantString(string cStr); internal static IntPtr CFSTR(string cStr) { return __CFStringMakeConstantString(cStr); } [DllImport(appServices)] internal unsafe static extern bool CFNumberGetValue (IntPtr number, CFNumberType theType, int* valuePtr); [DllImport(appServices)] internal unsafe static extern bool CFNumberGetValue(IntPtr number, CFNumberType theType, double* valuePtr); internal enum CFNumberType { kCFNumberSInt8Type = 1, kCFNumberSInt16Type = 2, kCFNumberSInt32Type = 3, kCFNumberSInt64Type = 4, kCFNumberFloat32Type = 5, kCFNumberFloat64Type = 6, kCFNumberCharType = 7, kCFNumberShortType = 8, kCFNumberIntType = 9, kCFNumberLongType = 10, kCFNumberLongLongType = 11, kCFNumberFloatType = 12, kCFNumberDoubleType = 13, kCFNumberCFIndexType = 14, kCFNumberNSIntegerType = 15, kCFNumberCGFloatType = 16, kCFNumberMaxType = 16 }; } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/CarbonInput.cs0000664000175000017500000000266411453131422022453 0ustar laneylaneyusing System; using System.Collections.Generic; using System.Diagnostics; using System.Text; namespace OpenTK.Platform.MacOS { using Input; class CarbonInput : IInputDriver { List dummy_keyboard_list = new List(1); List dummy_mice_list = new List(1); List dummy_joystick_list = new List(1); internal CarbonInput() { dummy_mice_list.Add(new MouseDevice()); dummy_keyboard_list.Add(new KeyboardDevice()); dummy_joystick_list.Add(new JoystickDevice(0, 0, 0)); } #region IInputDriver Members public void Poll() { } #endregion #region IKeyboardDriver Members public IList Keyboard { get { return dummy_keyboard_list; } } #endregion #region IMouseDriver Members public IList Mouse { get { return dummy_mice_list; } } #endregion #region IJoystickDriver Members public IList Joysticks { get { return dummy_joystick_list; } } #endregion #region IDisposable Members public void Dispose() { } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/MacOSException.cs0000664000175000017500000001012311453131422023035 0ustar laneylaney using System; namespace OpenTK.Platform.MacOS { internal class MacOSException : Exception { OSStatus errorCode; public MacOSException() {} public MacOSException(OSStatus errorCode) : base("Error Code " + ((int)errorCode).ToString() + ": " + errorCode.ToString()) { this.errorCode = errorCode; } public MacOSException(OSStatus errorCode, string message) : base(message) { this.errorCode = errorCode; } internal MacOSException(Agl.AglError errorCode, string message) : base(message) { this.errorCode = (OSStatus)errorCode; } public OSStatus ErrorCode { get { return errorCode; } } } internal enum OSStatus { NoError = 0, ParameterError = -50, /*error in user parameter list*/ NoHardwareError = -200, /*Sound Manager Error Returns*/ NotEnoughHardwareError = -201, /*Sound Manager Error Returns*/ UserCanceledError = -128, QueueError = -1, /*queue element not found during deletion*/ VTypErr = -2, /*invalid queue element*/ CorErr = -3, /*core routine number out of range*/ UnimpErr = -4, /*unimplemented core routine*/ SlpTypeErr = -5, /*invalid queue element*/ SeNoDB = -8, /*no debugger installed to handle debugger command*/ ControlErr = -17, /*I/O System Errors*/ StatusErr = -18, /*I/O System Errors*/ ReadErr = -19, /*I/O System Errors*/ WritErr = -20, /*I/O System Errors*/ BadUnitErr = -21, /*I/O System Errors*/ UnitEmptyErr = -22, /*I/O System Errors*/ OpenErr = -23, /*I/O System Errors*/ ClosErr = -24, /*I/O System Errors*/ DRemovErr = -25, /*tried to remove an open driver*/ DInstErr = -26, /*DrvrInstall couldn't find driver in resources*/ // Window Manager result codes. InvalidWindowPtr = -5600, UnsupportedWindowAttributesForClass = -5601, WindowDoesNotHaveProxy = -5602, WindowPropertyNotFound = -5604, UnrecognizedWindowClass = -5605, CorruptWindowDescription = -5606, UserWantsToDragWindow = -5607, WindowsAlreadyInitialized = -5608, FloatingWindowsNotInitialized = -5609, WindowNotFound = -5610, WindowDoesNotFitOnscreen = -5611, WindowAttributeImmutable = -5612, WindowAttributesConflict = -5613, WindowManagerInternalError = -5614, WindowWrongState = -5615, WindowGroupInvalid = -5616, WindowAppModalStateAlreadyExists = -5617, WindowNoAppModalState = -5618, WindowDoesntSupportFocus = -30583, WindowRegionCodeInvalid = -30593, // Event Manager result codes EventAlreadyPosted = -9860, EventTargetBusy = -9861, EventDeferAccessibilityEvent = -9865, EventInternalError = -9868, EventParameterNotFound = -9870, EventNotHandled = -9874, EventLoopTimedOut = -9875, EventLoopQuit = -9876, EventNotInQueue = -9877, HotKeyExists = -9878, EventPassToNextTarget = -9880 } } opentk-1.0.20101006/Source/OpenTK/Platform/MacOS/AglContext.cs0000664000175000017500000004174211453131422022277 0ustar laneylaney// // // AglContext.cs // // Created by Erik Ylvisaker on 3/17/08. // Copyright 2008. All rights reserved. // // using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using Control = System.Windows.Forms.Control; namespace OpenTK.Platform.MacOS { using Carbon; using Graphics; using AGLRendererInfo = IntPtr; using AGLPixelFormat = IntPtr; using AGLContext = IntPtr; using AGLPbuffer = IntPtr; class AglContext : DesktopGraphicsContext { bool mVSync = false; // Todo: keep track of which display adapter was specified when the context was created. // IntPtr displayID; GraphicsMode graphics_mode; CarbonWindowInfo carbonWindow; IntPtr shareContextRef; DisplayDevice device; bool mIsFullscreen = false; public AglContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext) { Debug.Print("Context Type: {0}", shareContext); Debug.Print("Window info: {0}", window); this.graphics_mode = mode; this.carbonWindow = (CarbonWindowInfo)window; if (shareContext is AglContext) shareContextRef = ((AglContext)shareContext).Handle.Handle; if (shareContext is GraphicsContext) { ContextHandle shareHandle = shareContext != null ? (shareContext as IGraphicsContextInternal).Context : (ContextHandle)IntPtr.Zero; shareContextRef = shareHandle.Handle; } if (shareContextRef == IntPtr.Zero) { Debug.Print("No context sharing will take place."); } CreateContext(mode, carbonWindow, shareContextRef, true); } public AglContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext) { if (handle == ContextHandle.Zero) throw new ArgumentException("handle"); if (window == null) throw new ArgumentNullException("window"); Handle = handle; carbonWindow = (CarbonWindowInfo)window; } private void AddPixelAttrib(List aglAttributes, Agl.PixelFormatAttribute pixelFormatAttribute) { Debug.Print(pixelFormatAttribute.ToString()); aglAttributes.Add((int)pixelFormatAttribute); } private void AddPixelAttrib(List aglAttributes, Agl.PixelFormatAttribute pixelFormatAttribute, int value) { Debug.Print("{0} : {1}", pixelFormatAttribute, value); aglAttributes.Add((int)pixelFormatAttribute); aglAttributes.Add(value); } void CreateContext(GraphicsMode mode, CarbonWindowInfo carbonWindow, IntPtr shareContextRef, bool fullscreen) { List aglAttributes = new List(); Debug.Print("AGL pixel format attributes:"); Debug.Indent(); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_RGBA); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_DOUBLEBUFFER); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_RED_SIZE, mode.ColorFormat.Red); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_GREEN_SIZE, mode.ColorFormat.Green); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_BLUE_SIZE, mode.ColorFormat.Blue); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_ALPHA_SIZE, mode.ColorFormat.Alpha); if (mode.Depth > 0) AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_DEPTH_SIZE, mode.Depth); if (mode.Stencil > 0) AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_STENCIL_SIZE, mode.Stencil); if (mode.AccumulatorFormat.BitsPerPixel > 0) { AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_ACCUM_RED_SIZE, mode.AccumulatorFormat.Red); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_ACCUM_GREEN_SIZE, mode.AccumulatorFormat.Green); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_ACCUM_BLUE_SIZE, mode.AccumulatorFormat.Blue); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_ACCUM_ALPHA_SIZE, mode.AccumulatorFormat.Alpha); } if (mode.Samples > 1) { AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_SAMPLE_BUFFERS_ARB, 1); AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_SAMPLES_ARB, mode.Samples); } if (fullscreen) { AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_FULLSCREEN); } AddPixelAttrib(aglAttributes, Agl.PixelFormatAttribute.AGL_NONE); Debug.Unindent(); Debug.Write("Attribute array: "); for (int i = 0; i < aglAttributes.Count; i++) Debug.Write(aglAttributes[i].ToString() + " "); Debug.WriteLine(""); AGLPixelFormat myAGLPixelFormat; // Choose a pixel format with the attributes we specified. if (fullscreen) { IntPtr gdevice; IntPtr cgdevice = GetQuartzDevice(carbonWindow); if (cgdevice == IntPtr.Zero) cgdevice = QuartzDisplayDeviceDriver.MainDisplay; OSStatus status = Carbon.API.DMGetGDeviceByDisplayID( cgdevice, out gdevice, false); if (status != OSStatus.NoError) throw new MacOSException(status, "DMGetGDeviceByDisplayID failed."); myAGLPixelFormat = Agl.aglChoosePixelFormat( ref gdevice, 1, aglAttributes.ToArray()); Agl.AglError err = Agl.GetError(); if (err == Agl.AglError.BadPixelFormat) { Debug.Print("Failed to create full screen pixel format."); Debug.Print("Trying again to create a non-fullscreen pixel format."); CreateContext(mode, carbonWindow, shareContextRef, false); return; } } else { myAGLPixelFormat = Agl.aglChoosePixelFormat( IntPtr.Zero, 0, aglAttributes.ToArray()); MyAGLReportError("aglChoosePixelFormat"); } Debug.Print("Creating AGL context. Sharing with {0}", shareContextRef); // create the context and share it with the share reference. Handle = new ContextHandle( Agl.aglCreateContext(myAGLPixelFormat, shareContextRef)); MyAGLReportError("aglCreateContext"); // Free the pixel format from memory. Agl.aglDestroyPixelFormat(myAGLPixelFormat); MyAGLReportError("aglDestroyPixelFormat"); Debug.Print("IsControl: {0}", carbonWindow.IsControl); SetDrawable(carbonWindow); SetBufferRect(carbonWindow); Update(carbonWindow); MakeCurrent(carbonWindow); Debug.Print("context: {0}", Handle.Handle); } private IntPtr GetQuartzDevice(CarbonWindowInfo carbonWindow) { IntPtr windowRef = carbonWindow.WindowRef; if (CarbonGLNative.WindowRefMap.ContainsKey(windowRef) == false) return IntPtr.Zero; WeakReference nativeRef = CarbonGLNative.WindowRefMap[windowRef]; if (nativeRef.IsAlive == false) return IntPtr.Zero; CarbonGLNative window = nativeRef.Target as CarbonGLNative; if (window == null) return IntPtr.Zero; return QuartzDisplayDeviceDriver.HandleTo(window.TargetDisplayDevice); } void SetBufferRect(CarbonWindowInfo carbonWindow) { if (carbonWindow.IsControl == false) return; System.Windows.Forms.Control ctrl = Control.FromHandle(carbonWindow.WindowRef); if (ctrl.TopLevelControl == null) return; Rect rect = API.GetControlBounds(carbonWindow.WindowRef); System.Windows.Forms.Form frm = (System.Windows.Forms.Form) ctrl.TopLevelControl; System.Drawing.Point loc = frm.PointToClient(ctrl.PointToScreen(System.Drawing.Point.Empty)); rect.X = (short)loc.X; rect.Y = (short)loc.Y; Debug.Print("Setting buffer_rect for control."); Debug.Print("MacOS Coordinate Rect: {0}", rect); rect.Y = (short)(ctrl.TopLevelControl.ClientSize.Height - rect.Y - rect.Height); Debug.Print(" AGL Coordinate Rect: {0}", rect); int[] glrect = new int[4]; glrect[0] = rect.X; glrect[1] = rect.Y; glrect[2] = rect.Width; glrect[3] = rect.Height; Agl.aglSetInteger(Handle.Handle, Agl.ParameterNames.AGL_BUFFER_RECT, glrect); MyAGLReportError("aglSetInteger"); Agl.aglEnable(Handle.Handle, Agl.ParameterNames.AGL_BUFFER_RECT); MyAGLReportError("aglEnable"); } void SetDrawable(CarbonWindowInfo carbonWindow) { IntPtr windowPort = GetWindowPortForWindowInfo(carbonWindow); //Debug.Print("Setting drawable for context {0} to window port: {1}", Handle.Handle, windowPort); Agl.aglSetDrawable(Handle.Handle, windowPort); MyAGLReportError("aglSetDrawable"); } private static IntPtr GetWindowPortForWindowInfo(CarbonWindowInfo carbonWindow) { IntPtr windowPort; if (carbonWindow.IsControl) { IntPtr controlOwner = API.GetControlOwner(carbonWindow.WindowRef); windowPort = API.GetWindowPort(controlOwner); } else windowPort = API.GetWindowPort(carbonWindow.WindowRef); return windowPort; } public override void Update(IWindowInfo window) { CarbonWindowInfo carbonWindow = (CarbonWindowInfo)window; if (carbonWindow.GoFullScreenHack) { carbonWindow.GoFullScreenHack = false; CarbonGLNative wind = GetCarbonWindow(carbonWindow); if (wind != null) wind.SetFullscreen(this); else Debug.Print("Could not find window!"); return; } else if (carbonWindow.GoWindowedHack) { carbonWindow.GoWindowedHack = false; CarbonGLNative wind = GetCarbonWindow(carbonWindow); if (wind != null) wind.UnsetFullscreen(this); else Debug.Print("Could not find window!"); } if (mIsFullscreen) return; SetDrawable(carbonWindow); SetBufferRect(carbonWindow); Agl.aglUpdateContext(Handle.Handle); } private CarbonGLNative GetCarbonWindow(CarbonWindowInfo carbonWindow) { WeakReference r = CarbonGLNative.WindowRefMap[carbonWindow.WindowRef]; if (r.IsAlive) { return (CarbonGLNative) r.Target; } else return null; } void MyAGLReportError(string function) { Agl.AglError err = Agl.GetError(); if (err != Agl.AglError.NoError) throw new MacOSException((OSStatus)err, string.Format( "AGL Error from function {0}: {1} {2}", function, err, Agl.ErrorString(err))); } bool firstFullScreen = false; internal void SetFullScreen(CarbonWindowInfo info, out int width, out int height) { CarbonGLNative wind = GetCarbonWindow(info); Debug.Print("Switching to full screen {0}x{1} on context {2}", wind.TargetDisplayDevice.Width, wind.TargetDisplayDevice.Height, Handle.Handle); CG.DisplayCapture(GetQuartzDevice(info)); Agl.aglSetFullScreen(Handle.Handle, wind.TargetDisplayDevice.Width, wind.TargetDisplayDevice.Height, 0, 0); MakeCurrent(info); width = wind.TargetDisplayDevice.Width; height = wind.TargetDisplayDevice.Height; // This is a weird hack to workaround a bug where the first time a context // is made fullscreen, we just end up with a blank screen. So we undo it as fullscreen // and redo it as fullscreen. if (firstFullScreen == false) { firstFullScreen = true; UnsetFullScreen(info); SetFullScreen(info, out width, out height); } mIsFullscreen = true; } internal void UnsetFullScreen(CarbonWindowInfo windowInfo) { Debug.Print("Unsetting AGL fullscreen."); Agl.aglSetDrawable(Handle.Handle, IntPtr.Zero); Agl.aglUpdateContext(Handle.Handle); CG.DisplayRelease(GetQuartzDevice(windowInfo)); Debug.Print("Resetting drawable."); SetDrawable(windowInfo); mIsFullscreen = false; } #region IGraphicsContext Members bool firstSwap = false; public override void SwapBuffers() { // this is part of the hack to avoid dropping the first frame when // using multiple GLControls. if (firstSwap == false && carbonWindow.IsControl) { Debug.WriteLine("--> Resetting drawable. <--"); firstSwap = true; SetDrawable(carbonWindow); Update(carbonWindow); } Agl.aglSwapBuffers(Handle.Handle); MyAGLReportError("aglSwapBuffers"); } public override void MakeCurrent(IWindowInfo window) { if (Agl.aglSetCurrentContext(Handle.Handle) == false) MyAGLReportError("aglSetCurrentContext"); } public override bool IsCurrent { get { return (Handle.Handle == Agl.aglGetCurrentContext()); } } public override bool VSync { get { return mVSync; } set { int intVal = value ? 1 : 0; Agl.aglSetInteger(Handle.Handle, Agl.ParameterNames.AGL_SWAP_INTERVAL, ref intVal); mVSync = value; } } #endregion #region IDisposable Members ~AglContext() { Dispose(false); } public override void Dispose() { Dispose(true); } void Dispose(bool disposing) { if (IsDisposed || Handle.Handle == IntPtr.Zero) return; Debug.Print("Disposing of AGL context."); Agl.aglSetCurrentContext(IntPtr.Zero); //Debug.Print("Setting drawable to null for context {0}.", Handle.Handle); //Agl.aglSetDrawable(Handle.Handle, IntPtr.Zero); // I do not know MacOS allows us to destroy a context from a separate thread, // like the finalizer thread. It's untested, but worst case is probably // an exception on application exit, which would be logged to the console. Debug.Print("Destroying context"); if (Agl.aglDestroyContext(Handle.Handle) == true) { Debug.Print("Context destruction completed successfully."); Handle = ContextHandle.Zero; return; } // failed to destroy context. Debug.WriteLine("Failed to destroy context."); Debug.WriteLine(Agl.ErrorString(Agl.GetError())); // don't throw an exception from the finalizer thread. if (disposing) { throw new MacOSException((OSStatus)Agl.GetError(), Agl.ErrorString(Agl.GetError())); } IsDisposed = true; } #endregion #region IGraphicsContextInternal Members private const string Library = "libdl.dylib"; [DllImport(Library, EntryPoint = "NSIsSymbolNameDefined")] private static extern bool NSIsSymbolNameDefined(string s); [DllImport(Library, EntryPoint = "NSLookupAndBindSymbol")] private static extern IntPtr NSLookupAndBindSymbol(string s); [DllImport(Library, EntryPoint = "NSAddressOfSymbol")] private static extern IntPtr NSAddressOfSymbol(IntPtr symbol); public override IntPtr GetAddress(string function) { string fname = "_" + function; if (!NSIsSymbolNameDefined(fname)) return IntPtr.Zero; IntPtr symbol = NSLookupAndBindSymbol(fname); if (symbol != IntPtr.Zero) symbol = NSAddressOfSymbol(symbol); return symbol; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/0000775000175000017500000000000011453142154020364 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinGLContext.cs0000664000175000017500000003412211453131422023236 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * Contributions from Erik Ylvisaker * See license.txt for license info */ #endregion #region --- Using Directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL; #endregion namespace OpenTK.Platform.Windows { /// \internal /// /// Provides methods to create and control an opengl context on the Windows platform. /// This class supports OpenTK, and is not intended for use by OpenTK programs. /// internal sealed class WinGLContext : DesktopGraphicsContext { static object SyncRoot = new object(); static IntPtr opengl32Handle; static bool wgl_loaded; const string opengl32Name = "OPENGL32.DLL"; bool vsync_supported; #region --- Contructors --- static WinGLContext() { lock (SyncRoot) { // Dynamically load the OpenGL32.dll in order to use the extension loading capabilities of Wgl. if (opengl32Handle == IntPtr.Zero) { opengl32Handle = Functions.LoadLibrary(opengl32Name); if (opengl32Handle == IntPtr.Zero) throw new ApplicationException(String.Format("LoadLibrary(\"{0}\") call failed with code {1}", opengl32Name, Marshal.GetLastWin32Error())); Debug.WriteLine(String.Format("Loaded opengl32.dll: {0}", opengl32Handle)); } } } public WinGLContext(GraphicsMode format, WinWindowInfo window, IGraphicsContext sharedContext, int major, int minor, GraphicsContextFlags flags) { // There are many ways this code can break when accessed by multiple threads. The biggest offender is // the sharedContext stuff, which will only become valid *after* this constructor returns. // The easiest solution is to serialize all context construction - hence the big lock, below. lock (SyncRoot) { if (window == null) throw new ArgumentNullException("window", "Must point to a valid window."); if (window.WindowHandle == IntPtr.Zero) throw new ArgumentException("window", "Must be a valid window."); Mode = format; Debug.Print("OpenGL will be bound to handle: {0}", window.WindowHandle); Debug.Write("Setting pixel format... "); this.SetGraphicsModePFD(format, (WinWindowInfo)window); if (!wgl_loaded) { // We need to create a temp context in order to load wgl extensions (e.g. for multisampling or GL3). // We cannot rely on OpenTK.Platform.Wgl until we create the context and call Wgl.LoadAll(). Debug.Print("Creating temporary context for wgl extensions."); ContextHandle temp_context = new ContextHandle(Wgl.Imports.CreateContext(window.DeviceContext)); Wgl.Imports.MakeCurrent(window.DeviceContext, temp_context.Handle); Wgl.LoadAll(); Wgl.MakeCurrent(IntPtr.Zero, IntPtr.Zero); Wgl.DeleteContext(temp_context.Handle); wgl_loaded = true; } if (Wgl.Delegates.wglCreateContextAttribsARB != null) { try { Debug.Write("Using WGL_ARB_create_context... "); List attributes = new List(); attributes.Add((int)ArbCreateContext.MajorVersion); attributes.Add(major); attributes.Add((int)ArbCreateContext.MinorVersion); attributes.Add(minor); if (flags != 0) { attributes.Add((int)ArbCreateContext.Flags); #warning "This is not entirely correct: Embedded is not a valid flag! We need to add a GetARBContextFlags(GraphicsContextFlags) method." attributes.Add((int)flags); } // According to the docs, " specifies a list of attributes for the context. // The list consists of a sequence of pairs terminated by the // value 0. [...]" // Is this a single 0, or a <0, 0> pair? (Defensive coding: add two zeroes just in case). attributes.Add(0); attributes.Add(0); Handle = new ContextHandle( Wgl.Arb.CreateContextAttribs( window.DeviceContext, sharedContext != null ? (sharedContext as IGraphicsContextInternal).Context.Handle : IntPtr.Zero, attributes.ToArray())); if (Handle == ContextHandle.Zero) Debug.Print("failed. (Error: {0})", Marshal.GetLastWin32Error()); else Debug.Print("success!"); } catch (EntryPointNotFoundException e) { Debug.Print(e.ToString()); } catch (NullReferenceException e) { Debug.Print(e.ToString()); } } if (Handle == ContextHandle.Zero) { // Failed to create GL3-level context, fall back to GL2. Debug.Write("Falling back to GL2... "); Handle = new ContextHandle(Wgl.Imports.CreateContext(window.DeviceContext)); if (Handle == ContextHandle.Zero) Handle = new ContextHandle(Wgl.Imports.CreateContext(window.DeviceContext)); if (Handle == ContextHandle.Zero) throw new GraphicsContextException( String.Format("Context creation failed. Wgl.CreateContext() error: {0}.", Marshal.GetLastWin32Error())); } Debug.WriteLine(String.Format("success! (id: {0})", Handle)); if (sharedContext != null) { Marshal.GetLastWin32Error(); Debug.Write("Sharing state with context {0}: ", sharedContext.ToString()); bool result = Wgl.Imports.ShareLists((sharedContext as IGraphicsContextInternal).Context.Handle, Handle.Handle); Debug.WriteLine(result ? "success!" : "failed with win32 error " + Marshal.GetLastWin32Error()); } } } public WinGLContext(ContextHandle handle, WinWindowInfo window, IGraphicsContext sharedContext, int major, int minor, GraphicsContextFlags flags) { if (handle == ContextHandle.Zero) throw new ArgumentException("handle"); if (window == null) throw new ArgumentNullException("window"); Handle = handle; } #endregion #region --- IGraphicsContext Members --- #region SwapBuffers public override void SwapBuffers() { if (!Functions.SwapBuffers(Wgl.GetCurrentDC())) throw new GraphicsContextException(String.Format( "Failed to swap buffers for context {0} current. Error: {1}", this, Marshal.GetLastWin32Error())); } #endregion #region MakeCurrent public override void MakeCurrent(IWindowInfo window) { bool success; if (window != null) { if (((WinWindowInfo)window).WindowHandle == IntPtr.Zero) throw new ArgumentException("window", "Must point to a valid window."); success = Wgl.Imports.MakeCurrent(((WinWindowInfo)window).DeviceContext, Handle.Handle); } else success = Wgl.Imports.MakeCurrent(IntPtr.Zero, IntPtr.Zero); if (!success) throw new GraphicsContextException(String.Format( "Failed to make context {0} current. Error: {1}", this, Marshal.GetLastWin32Error())); } #endregion #region IsCurrent public override bool IsCurrent { get { return Wgl.GetCurrentContext() == Handle.Handle; } } #endregion #region public bool VSync /// /// Gets or sets a System.Boolean indicating whether SwapBuffer calls are synced to the screen refresh rate. /// public override bool VSync { get { return vsync_supported && Wgl.Ext.GetSwapInterval() != 0; } set { if (vsync_supported) Wgl.Ext.SwapInterval(value ? 1 : 0); } } #endregion #region void LoadAll() public override void LoadAll() { Wgl.LoadAll(); vsync_supported = Wgl.Arb.SupportsExtension(this, "WGL_EXT_swap_control") && Wgl.Load("wglGetSwapIntervalEXT") && Wgl.Load("wglSwapIntervalEXT"); base.LoadAll(); } #endregion #endregion #region --- IGLContextInternal Members --- #region IWindowInfo IGLContextInternal.Info /* IWindowInfo IGraphicsContextInternal.Info { get { return (IWindowInfo)windowInfo; } } */ #endregion #region GetAddress public override IntPtr GetAddress(string function_string) { return Wgl.Imports.GetProcAddress(function_string); } #endregion #endregion #region --- Private Methods --- #region void SetGraphicsModePFD(GraphicsMode format, WinWindowInfo window) void SetGraphicsModePFD(GraphicsMode mode, WinWindowInfo window) { if (!mode.Index.HasValue) throw new GraphicsModeException("Invalid or unsupported GraphicsMode."); if (window == null) throw new ArgumentNullException("window", "Must point to a valid window."); PixelFormatDescriptor pfd = new PixelFormatDescriptor(); Functions.DescribePixelFormat(window.DeviceContext, (int)mode.Index.Value, API.PixelFormatDescriptorSize, ref pfd); Debug.WriteLine(mode.Index.ToString()); if (!Functions.SetPixelFormat(window.DeviceContext, (int)mode.Index.Value, ref pfd)) throw new GraphicsContextException(String.Format( "Requested GraphicsMode not available. SetPixelFormat error: {0}", Marshal.GetLastWin32Error())); } #endregion #region void SetGraphicsModeARB(GraphicsMode format, IWindowInfo window) void SetGraphicsModeARB(GraphicsMode format, IWindowInfo window) { throw new NotImplementedException(); } #endregion #endregion #region --- Internal Methods --- #region internal IntPtr DeviceContext internal IntPtr DeviceContext { get { return Wgl.GetCurrentDC(); } } #endregion #endregion #region --- Overrides --- /// Returns a System.String describing this OpenGL context. /// A System.String describing this OpenGL context. public override string ToString() { return (this as IGraphicsContextInternal).Context.ToString(); } #endregion #region --- IDisposable Members --- public override void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool calledManually) { if (!IsDisposed) { if (calledManually) { DestroyContext(); } else { Debug.Print("[Warning] OpenGL context {0} leaked. Did you forget to call IGraphicsContext.Dispose()?", Handle.Handle); } IsDisposed = true; } } ~WinGLContext() { Dispose(false); } #region private void DestroyContext() private void DestroyContext() { if (Handle != ContextHandle.Zero) { try { // This will fail if the user calls Dispose() on thread X when the context is current on thread Y. if (!Wgl.Imports.DeleteContext(Handle.Handle)) Debug.Print("Failed to destroy OpenGL context {0}. Error: {1}", Handle.ToString(), Marshal.GetLastWin32Error()); } catch (AccessViolationException e) { Debug.WriteLine("An access violation occured while destroying the OpenGL context. Please report at http://www.opentk.com."); Debug.Indent(); Debug.Print("Marshal.GetLastWin32Error(): {0}", Marshal.GetLastWin32Error().ToString()); Debug.WriteLine(e.ToString()); Debug.Unindent(); } Handle = ContextHandle.Zero; } } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinMMJoystick.cs0000664000175000017500000003721711453131422023430 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using OpenTK.Input; using System.Security; using Microsoft.Win32; using System.Diagnostics; namespace OpenTK.Platform.Windows { sealed class WinMMJoystick : IJoystickDriver { #region Fields List sticks = new List(); IList sticks_readonly; // Todo: Read the joystick name from the registry. //static readonly string RegistryJoyConfig = @"Joystick%dConfiguration"; //static readonly string RegistryJoyName = @"Joystick%dOEMName"; //static readonly string RegstryJoyCurrent = @"CurrentJoystickSettings"; bool disposed; #endregion #region Constructors public WinMMJoystick() { sticks_readonly = sticks.AsReadOnly(); // WinMM supports up to 16 joysticks. int number = 0; while (number < UnsafeNativeMethods.joyGetNumDevs()) { JoystickDevice stick = OpenJoystick(number++); if (stick != null) { sticks.Add(stick); } } } #endregion #region Private Members JoystickDevice OpenJoystick(int number) { JoystickDevice stick = null; JoyCaps caps; JoystickError result = UnsafeNativeMethods.joyGetDevCaps(number, out caps, JoyCaps.SizeInBytes); if (result != JoystickError.NoError) return null; int num_axes = caps.NumAxes; if ((caps.Capabilities & JoystCapsFlags.HasPov) != 0) num_axes += 2; stick = new JoystickDevice(number, num_axes, caps.NumButtons); stick.Details = new WinMMJoyDetails(num_axes); // Make sure to reverse the vertical axes, so that +1 points up and -1 points down. int axis = 0; if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.XMin; stick.Details.Max[axis] = caps.XMax; axis++; } if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.YMax; stick.Details.Max[axis] = caps.YMin; axis++; } if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.ZMax; stick.Details.Max[axis] = caps.ZMin; axis++; } if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.RMin; stick.Details.Max[axis] = caps.RMax; axis++; } if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.UMin; stick.Details.Max[axis] = caps.UMax; axis++; } if (axis < caps.NumAxes) { stick.Details.Min[axis] = caps.VMax; stick.Details.Max[axis] = caps.VMin; axis++; } if ((caps.Capabilities & JoystCapsFlags.HasPov) != 0) { stick.Details.PovType = PovType.Exists; if ((caps.Capabilities & JoystCapsFlags.HasPov4Dir) != 0) stick.Details.PovType |= PovType.Discrete; if ((caps.Capabilities & JoystCapsFlags.HasPovContinuous) != 0) stick.Details.PovType |= PovType.Continuous; } #warning "Implement joystick name detection for WinMM." stick.Description = String.Format("Joystick/Joystick #{0} ({1} axes, {2} buttons)", number, stick.Axis.Count, stick.Button.Count); // Todo: Try to get the device name from the registry. Oh joy! //string key_path = String.Format("{0}\\{1}\\{2}", RegistryJoyConfig, caps.RegKey, RegstryJoyCurrent); //RegistryKey key = Registry.LocalMachine.OpenSubKey(key_path, false); //if (key == null) // key = Registry.CurrentUser.OpenSubKey(key_path, false); //if (key == null) // stick.Description = String.Format("USB Joystick {0} ({1} axes, {2} buttons)", number, stick.Axis.Count, stick.Button.Count); //else //{ // key.Close(); //} if (stick != null) Debug.Print("Found joystick on device number {0}", number); return stick; } #endregion #region IJoystickDriver public int DeviceCount { get { return sticks.Count; } } public IList Joysticks { get { return sticks_readonly; } } public void Poll() { foreach (JoystickDevice js in sticks) { JoyInfoEx info = new JoyInfoEx(); info.Size = JoyInfoEx.SizeInBytes; info.Flags = JoystickFlags.All; UnsafeNativeMethods.joyGetPosEx(js.Id, ref info); int num_axes = js.Axis.Count; if ((js.Details.PovType & PovType.Exists) != 0) num_axes -= 2; // Because the last two axis are used for POV input. int axis = 0; if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.XPos, axis)); axis++; } if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.YPos, axis)); axis++; } if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.ZPos, axis)); axis++; } if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.RPos, axis)); axis++; } if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.UPos, axis)); axis++; } if (axis < num_axes) { js.SetAxis((JoystickAxis)axis, js.Details.CalculateOffset((float)info.VPos, axis)); axis++; } if ((js.Details.PovType & PovType.Exists) != 0) { float x = 0, y = 0; // A discrete POV returns specific values for left, right, etc. // A continuous POV returns an integer indicating an angle in degrees * 100, e.g. 18000 == 180.00 degrees. // The vast majority of joysticks have discrete POVs, so we'll treat all of them as discrete for simplicity. if ((JoystickPovPosition)info.Pov != JoystickPovPosition.Centered) { if (info.Pov > (int)JoystickPovPosition.Left || info.Pov < (int)JoystickPovPosition.Right) { y = 1; } if ((info.Pov > (int)JoystickPovPosition.Forward) && (info.Pov < (int)JoystickPovPosition.Backward)) { x = 1; } if ((info.Pov > (int)JoystickPovPosition.Right) && (info.Pov < (int)JoystickPovPosition.Left)) { y = -1; } if (info.Pov > (int)JoystickPovPosition.Backward) { x = -1; } } //if ((js.Details.PovType & PovType.Discrete) != 0) //{ // if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Centered) // { x = 0; y = 0; } // else if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Forward) // { x = 0; y = -1; } // else if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Left) // { x = -1; y = 0; } // else if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Backward) // { x = 0; y = 1; } // else if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Right) // { x = 1; y = 0; } //} //else if ((js.Details.PovType & PovType.Continuous) != 0) //{ // if ((JoystickPovPosition)info.Pov == JoystickPovPosition.Centered) // { // // This approach moves the hat on a circle, not a square as it should. // float angle = (float)(System.Math.PI * info.Pov / 18000.0 + System.Math.PI / 2); // x = (float)System.Math.Cos(angle); // y = (float)System.Math.Sin(angle); // if (x < 0.001) // x = 0; // if (y < 0.001) // y = 0; // } //} //else // throw new NotImplementedException("Please post an issue report at http://www.opentk.com/issues"); js.SetAxis((JoystickAxis)axis++, x); js.SetAxis((JoystickAxis)axis++, y); } int button = 0; while (button < js.Button.Count) { js.SetButton((JoystickButton)button, (info.Buttons & (1 << button)) != 0); button++; } } } #endregion #region IDisposable public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool manual) { if (!disposed) { if (manual) { } disposed = true; } } ~WinMMJoystick() { Dispose(false); } #endregion #region UnsafeNativeMethods [Flags] enum JoystickFlags { X = 0x1, Y = 0x2, Z = 0x4, R = 0x8, U = 0x10, V = 0x20, Pov = 0x40, Buttons = 0x80, All = X | Y | Z | R | U | V | Pov | Buttons } enum JoystickError : uint { NoError = 0, InvalidParameters = 165, NoCanDo = 166, Unplugged = 167 //MM_NoDriver = 6, //MM_InvalidParameter = 11 } [Flags] enum JoystCapsFlags { HasZ = 0x1, HasR = 0x2, HasU = 0x4, HasV = 0x8, HasPov = 0x16, HasPov4Dir = 0x32, HasPovContinuous = 0x64 } enum JoystickPovPosition : ushort { Centered = 0xFFFF, Forward = 0, Right = 9000, Backward = 18000, Left = 27000 } struct JoyCaps { public ushort Mid; public ushort ProductId; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string ProductName; public int XMin; public int XMax; public int YMin; public int YMax; public int ZMin; public int ZMax; public int NumButtons; public int PeriodMin; public int PeriodMax; public int RMin; public int RMax; public int UMin; public int UMax; public int VMin; public int VMax; public JoystCapsFlags Capabilities; public int MaxAxes; public int NumAxes; public int MaxButtons; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string RegKey; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string OemVxD; public static readonly int SizeInBytes; static JoyCaps() { SizeInBytes = Marshal.SizeOf(default(JoyCaps)); } } struct JoyInfoEx { public int Size; [MarshalAs(UnmanagedType.I4)] public JoystickFlags Flags; public int XPos; public int YPos; public int ZPos; public int RPos; public int UPos; public int VPos; public uint Buttons; public uint ButtonNumber; public int Pov; uint Reserved1; uint Reserved2; public static readonly int SizeInBytes; static JoyInfoEx() { SizeInBytes = Marshal.SizeOf(default(JoyInfoEx)); } } static class UnsafeNativeMethods { [DllImport("Winmm.dll"), SuppressUnmanagedCodeSecurity] public static extern JoystickError joyGetDevCaps(int uJoyID, out JoyCaps pjc, int cbjc); [DllImport("Winmm.dll"), SuppressUnmanagedCodeSecurity] public static extern uint joyGetPosEx(int uJoyID, ref JoyInfoEx pji); [DllImport("Winmm.dll"), SuppressUnmanagedCodeSecurity] public static extern int joyGetNumDevs(); } #endregion #region enum PovType [Flags] enum PovType { None = 0x0, Exists = 0x1, Discrete = 0x2, Continuous = 0x4 } #endregion #region struct WinMMJoyDetails struct WinMMJoyDetails { public readonly float[] Min, Max; // Minimum and maximum offset of each axis. public PovType PovType; public WinMMJoyDetails(int num_axes) { Min = new float[num_axes]; Max = new float[num_axes]; PovType = PovType.None; } public float CalculateOffset(float pos, int axis) { float offset = (2 * (pos - Min[axis])) / (Max[axis] - Min[axis]) - 1; if (offset > 1) return 1; else if (offset < -1) return -1; else if (offset < 0.001f && offset > -0.001f) return 0; else return offset; } } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinRawMouse.cs0000664000175000017500000002334711453131422023140 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Input; using System.Diagnostics; using System.Runtime.InteropServices; using Microsoft.Win32; using System.Drawing; namespace OpenTK.Platform.Windows { /// \internal /// /// Contains methods to register for and process mouse WM_INPUT messages. /// internal class WinRawMouse : IMouseDriver, IDisposable { private List mice = new List(); private IntPtr window; #region --- Constructors --- internal WinRawMouse() : this(IntPtr.Zero) { } internal WinRawMouse(IntPtr windowHandle) { Debug.WriteLine("Initializing mouse driver (WinRawMouse)."); Debug.Indent(); this.window = windowHandle; RegisterDevices(); Debug.Unindent(); } #endregion #region --- IMouseDriver Members --- public IList Mouse { get { return mice; } } #region public int RegisterDevices() public int RegisterDevices() { int count = WinRawInput.DeviceCount; RawInputDeviceList[] ridl = new RawInputDeviceList[count]; for (int i = 0; i < count; i++) ridl[i] = new RawInputDeviceList(); Functions.GetRawInputDeviceList(ridl, ref count, API.RawInputDeviceListSize); // Discover mouse devices: for (int i = 0; i < count; i++) { uint size = 0; Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICENAME, IntPtr.Zero, ref size); IntPtr name_ptr = Marshal.AllocHGlobal((IntPtr)size); Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICENAME, name_ptr, ref size); string name = Marshal.PtrToStringAnsi(name_ptr); Marshal.FreeHGlobal(name_ptr); if (name.ToLower().Contains("root")) { // This is a terminal services device, skip it. continue; } else if (ridl[i].Type == RawInputDeviceType.MOUSE || ridl[i].Type == RawInputDeviceType.HID) { // This is a mouse or a USB mouse device. In the latter case, discover if it really is a // mouse device by qeurying the registry. // remove the \??\ name = name.Substring(4); string[] split = name.Split('#'); string id_01 = split[0]; // ACPI (Class code) string id_02 = split[1]; // PNP0303 (SubClass code) string id_03 = split[2]; // 3&13c0b0c5&0 (Protocol code) // The final part is the class GUID and is not needed here string findme = string.Format( @"System\CurrentControlSet\Enum\{0}\{1}\{2}", id_01, id_02, id_03); RegistryKey regkey = Registry.LocalMachine.OpenSubKey(findme); string deviceDesc = (string)regkey.GetValue("DeviceDesc"); deviceDesc = deviceDesc.Substring(deviceDesc.LastIndexOf(';') + 1); string deviceClass = (string)regkey.GetValue("Class"); if (!String.IsNullOrEmpty(deviceClass) && deviceClass.ToLower().Equals("mouse")) { OpenTK.Input.MouseDevice mouse = new OpenTK.Input.MouseDevice(); mouse.Description = deviceDesc; // Register the keyboard: RawInputDeviceInfo info = new RawInputDeviceInfo(); int devInfoSize = API.RawInputDeviceInfoSize; Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICEINFO, info, ref devInfoSize); mouse.NumberOfButtons = info.Device.Mouse.NumberOfButtons; mouse.NumberOfWheels = info.Device.Mouse.HasHorizontalWheel ? 1 : 0; mouse.DeviceID = ridl[i].Device;//(IntPtr)info.Device.Mouse.Id; this.RegisterRawDevice(mouse); mice.Add(mouse); } } } return count; } #endregion #endregion #region internal void RegisterRawDevice(OpenTK.Input.Mouse mouse) internal void RegisterRawDevice(OpenTK.Input.MouseDevice mouse) { RawInputDevice[] rid = new RawInputDevice[1]; // Mouse is 1/2 (page/id). See http://www.microsoft.com/whdc/device/input/HID_HWID.mspx rid[0] = new RawInputDevice(); rid[0].UsagePage = 1; rid[0].Usage = 2; rid[0].Flags = RawInputDeviceFlags.INPUTSINK; rid[0].Target = window; if (!Functions.RegisterRawInputDevices(rid, 1, API.RawInputDeviceSize)) { throw new ApplicationException( String.Format( "Raw input registration failed with error: {0}. Device: {1}", Marshal.GetLastWin32Error(), rid[0].ToString()) ); } else { Debug.Print("Registered mouse {0}", mouse.ToString()); Point p = new Point(); if (Functions.GetCursorPos(ref p)) mouse.Position = p; } } #endregion #region internal bool ProcessEvent(API.RawInput rin) /// /// Processes raw input events. /// /// /// internal bool ProcessEvent(RawInput rin) { //MouseDevice mouse = mice.Find(delegate(MouseDevice m) //{ // return m.DeviceID == rin.Header.Device; //}); MouseDevice mouse; if (mice.Count > 0) mouse = mice[0]; else return false; switch (rin.Header.Type) { case RawInputDeviceType.MOUSE: if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.LEFT_BUTTON_DOWN) != 0) mouse[MouseButton.Left] = true; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.LEFT_BUTTON_UP) != 0) mouse[MouseButton.Left] = false; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.RIGHT_BUTTON_DOWN) != 0) mouse[MouseButton.Right] = true; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.RIGHT_BUTTON_UP) != 0) mouse[MouseButton.Right] = false; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.MIDDLE_BUTTON_DOWN) != 0) mouse[MouseButton.Middle] = true; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.MIDDLE_BUTTON_UP) != 0) mouse[MouseButton.Middle] = false; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.BUTTON_4_DOWN) != 0) mouse[MouseButton.Button1] = true; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.BUTTON_4_UP) != 0) mouse[MouseButton.Button1] = false; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.BUTTON_5_DOWN) != 0) mouse[MouseButton.Button2] = true; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.BUTTON_5_UP) != 0) mouse[MouseButton.Button2] = false; if ((rin.Data.Mouse.ButtonFlags & RawInputMouseState.WHEEL) != 0) mouse.Wheel += (short)rin.Data.Mouse.ButtonData / 120; if ((rin.Data.Mouse.Flags & RawMouseFlags.MOUSE_MOVE_ABSOLUTE) != 0) { mouse.Position = new Point(rin.Data.Mouse.LastX, rin.Data.Mouse.LastY); } else { // Seems like MOUSE_MOVE_RELATIVE is the default, unless otherwise noted. mouse.Position = new Point(mouse.X + rin.Data.Mouse.LastX, mouse.Y + rin.Data.Mouse.LastY); } if ((rin.Data.Mouse.Flags & RawMouseFlags.MOUSE_VIRTUAL_DESKTOP) != 0) Debug.WriteLine(String.Format("Mouse {0} defines MOUSE_VIRTUAL_DESKTOP flag, please report at http://www.opentk.com", mouse.ToString())); return true; default: throw new ApplicationException("WinRawMouse driver received invalid data."); } } #endregion #region public void Poll() public void Poll() { } #endregion #region --- IDisposable Members --- private bool disposed; public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) { mice.Clear(); } disposed = true; } } ~WinRawMouse() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinFactory.cs0000664000175000017500000000656411453131422023007 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.Windows { using Graphics; using OpenTK.Input; class WinFactory : IPlatformFactory { #region IPlatformFactory Members public virtual INativeWindow CreateNativeWindow(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { return new WinGLNative(x, y, width, height, title, options, device); } public virtual IDisplayDeviceDriver CreateDisplayDeviceDriver() { return new WinDisplayDeviceDriver(); } public virtual IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new WinGLContext(mode, (WinWindowInfo)window, shareContext, major, minor, flags); } public virtual IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new WinGLContext(handle, (WinWindowInfo)window, shareContext, major, minor, flags); } public virtual GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return (GraphicsContext.GetCurrentContextDelegate)delegate { return new ContextHandle(Wgl.GetCurrentContext()); }; } public virtual IGraphicsMode CreateGraphicsMode() { return new WinGraphicsMode(); } public virtual OpenTK.Input.IKeyboardDriver CreateKeyboardDriver() { throw new NotImplementedException(); // If Windows version is NT5 or higher, we are able to use raw input. if (System.Environment.OSVersion.Version.Major >= 5) return new WinRawKeyboard(); else return new WMInput(null); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WglHelper.cs0000664000175000017500000001714011453131422022603 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info * * Date: 12/8/2007 * Time: 6:43 �� */ #endregion using System; using System.Runtime.InteropServices; using System.Reflection; namespace OpenTK.Platform.Windows { internal partial class Wgl { #region --- Constructors --- static Wgl() { assembly = Assembly.GetExecutingAssembly(); wglClass = assembly.GetType("OpenTK.Platform.Windows.Wgl"); delegatesClass = wglClass.GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic); importsClass = wglClass.GetNestedType("Imports", BindingFlags.Static | BindingFlags.NonPublic); // Ensure core entry points are ready prior to accessing any method. // Resolves bug [#993]: "Possible bug in GraphicsContext.CreateDummyContext()" LoadAll(); } #endregion #region --- Fields --- internal const string Library = "OPENGL32.DLL"; private static Assembly assembly; private static Type wglClass; private static Type delegatesClass; private static Type importsClass; private static bool rebuildExtensionList = true; #endregion #region static Delegate LoadDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call an OpenGL function, core or extension. /// /// The name of the Wgl function (eg. "wglNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function, or null if the specified /// function name did not correspond to an OpenGL function. /// static Delegate LoadDelegate(string name, Type signature) { Delegate d; string realName = name.StartsWith("wgl") ? name.Substring(3) : name; if (importsClass.GetMethod(realName, BindingFlags.NonPublic | BindingFlags.Static) != null) d = GetExtensionDelegate(name, signature) ?? Delegate.CreateDelegate(signature, typeof(Imports), realName); else d = GetExtensionDelegate(name, signature); return d; } #endregion #region private static Delegate GetExtensionDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function or null /// if the function is not available in the current OpenGL context. /// private static Delegate GetExtensionDelegate(string name, Type signature) { IntPtr address = Imports.GetProcAddress(name); if (address == IntPtr.Zero || address == new IntPtr(1) || // Workaround for buggy nvidia drivers which return address == new IntPtr(2)) // 1 or 2 instead of IntPtr.Zero for some extensions. { return null; } else { return Marshal.GetDelegateForFunctionPointer(address, signature); } } #endregion #region public static void LoadAll() /// /// Loads all Wgl entry points, core and extensions. /// public static void LoadAll() { OpenTK.Platform.Utilities.LoadExtensions(typeof(Wgl)); } #endregion #region public static bool Load(string function) /// /// Loads the given Wgl entry point. /// /// The name of the function to load. /// public static bool Load(string function) { return OpenTK.Platform.Utilities.TryLoadExtension(typeof(Wgl), function); } #endregion #region public static partial class Arb /// Contains ARB extensions for WGL. public static partial class Arb { /// /// Checks if a Wgl extension is supported by the given context. /// /// The device context. /// The extension to check. /// True if the extension is supported by the given context, false otherwise public static bool SupportsExtension(WinGLContext context, string ext) { // We cache this locally, as another thread might create a context which doesn't support this method. // The design is far from ideal, but there's no good solution to this issue as long as we are using // static WGL/GL classes. Fortunately, this issue is extremely unlikely to arise in practice, as you'd // have to create one accelerated and one non-accelerated context in the same application, with the // non-accelerated context coming second. Wgl.Delegates.GetExtensionsStringARB get = Wgl.Delegates.wglGetExtensionsStringARB; if (get != null) { string[] extensions = null; unsafe { extensions = new string((sbyte*)get(context.DeviceContext)) .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); } if (extensions == null || extensions.Length == 0) return false; foreach (string s in extensions) if (s == ext) return true; } return false; } } #endregion #region public static partial class Ext /// Contains EXT extensions for WGL. public static partial class Ext { private static string[] extensions; /// /// Checks if a Wgl extension is supported by the given context. /// /// The extension to check. /// True if the extension is supported by the given context, false otherwise public static bool SupportsExtension(string ext) { if (Wgl.Delegates.wglGetExtensionsStringEXT != null) { if (extensions == null || rebuildExtensionList) { extensions = Wgl.Ext.GetExtensionsString().Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); Array.Sort(extensions); rebuildExtensionList = false; } return Array.BinarySearch(extensions, ext) != -1; } return false; } } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinRawKeyboard.cs0000664000175000017500000002371611453131422023610 0ustar laneylaney#region --- License --- /* Copyright (c) 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion #region --- Using directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using Microsoft.Win32; using OpenTK.Input; #endregion namespace OpenTK.Platform.Windows { internal class WinRawKeyboard : IKeyboardDriver, IDisposable { private List keyboards = new List(); private IntPtr window; #region --- Constructors --- internal WinRawKeyboard() : this(IntPtr.Zero) { } internal WinRawKeyboard(IntPtr windowHandle) { Debug.WriteLine("Initializing keyboard driver (WinRawKeyboard)."); Debug.Indent(); this.window = windowHandle; UpdateKeyboardList(); Debug.Unindent(); } #endregion #region internal static void UpdateKeyboardList() internal void UpdateKeyboardList() { int count = WinRawInput.DeviceCount; RawInputDeviceList[] ridl = new RawInputDeviceList[count]; for (int i = 0; i < count; i++) ridl[i] = new RawInputDeviceList(); Functions.GetRawInputDeviceList(ridl, ref count, API.RawInputDeviceListSize); // Discover keyboard devices: for (int i = 0; i < count; i++) { uint size = 0; Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICENAME, IntPtr.Zero, ref size); IntPtr name_ptr = Marshal.AllocHGlobal((IntPtr)size); Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICENAME, name_ptr, ref size); string name = Marshal.PtrToStringAnsi(name_ptr); Marshal.FreeHGlobal(name_ptr); if (name.ToLower().Contains("root")) { // This is a terminal services device, skip it. continue; } else if (ridl[i].Type == RawInputDeviceType.KEYBOARD || ridl[i].Type == RawInputDeviceType.HID) { // This is a keyboard or USB keyboard device. In the latter case, discover if it really is a // keyboard device by qeurying the registry. // remove the \??\ name = name.Substring(4); string[] split = name.Split('#'); string id_01 = split[0]; // ACPI (Class code) string id_02 = split[1]; // PNP0303 (SubClass code) string id_03 = split[2]; // 3&13c0b0c5&0 (Protocol code) // The final part is the class GUID and is not needed here string findme = string.Format( @"System\CurrentControlSet\Enum\{0}\{1}\{2}", id_01, id_02, id_03); RegistryKey regkey = Registry.LocalMachine.OpenSubKey(findme); string deviceDesc = (string)regkey.GetValue("DeviceDesc"); string deviceClass = (string)regkey.GetValue("Class"); if (!String.IsNullOrEmpty(deviceClass) && deviceClass.ToLower().Equals("keyboard")) { KeyboardDevice kb = new KeyboardDevice(); kb.Description = deviceDesc; // Register the keyboard: RawInputDeviceInfo info = new RawInputDeviceInfo(); int devInfoSize = API.RawInputDeviceInfoSize; Functions.GetRawInputDeviceInfo(ridl[i].Device, RawInputDeviceInfoEnum.DEVICEINFO, info, ref devInfoSize); kb.NumberOfLeds = info.Device.Keyboard.NumberOfIndicators; kb.NumberOfFunctionKeys = info.Device.Keyboard.NumberOfFunctionKeys; kb.NumberOfKeys = info.Device.Keyboard.NumberOfKeysTotal; //kb.DeviceID = (info.Device.Keyboard.Type << 32) + info.Device.Keyboard.SubType; kb.DeviceID = ridl[i].Device; //if (!keyboards.Contains(kb)) //{ this.RegisterKeyboardDevice(kb); keyboards.Add(kb); //} } } } } #endregion #region internal void RegisterKeyboardDevice(Keyboard kb) internal void RegisterKeyboardDevice(KeyboardDevice kb) { RawInputDevice[] rid = new RawInputDevice[1]; // Keyboard is 1/6 (page/id). See http://www.microsoft.com/whdc/device/input/HID_HWID.mspx rid[0] = new RawInputDevice(); rid[0].UsagePage = 1; rid[0].Usage = 6; rid[0].Flags = RawInputDeviceFlags.INPUTSINK; rid[0].Target = window; if (!Functions.RegisterRawInputDevices(rid, 1, API.RawInputDeviceSize)) { throw new ApplicationException( String.Format( "Raw input registration failed with error: {0}. Device: {1}", Marshal.GetLastWin32Error(), rid[0].ToString()) ); } else { Debug.Print("Registered keyboard {0}", kb.ToString()); } } #endregion #region internal bool ProcessKeyboardEvent(API.RawInput rin) /// /// Processes raw input events. /// /// /// internal bool ProcessKeyboardEvent(RawInput rin) { //Keyboard key = keyboards[0]; //rin.Header.Device; switch (rin.Header.Type) { case RawInputDeviceType.KEYBOARD: bool pressed = rin.Data.Keyboard.Message == (int)WindowMessage.KEYDOWN || rin.Data.Keyboard.Message == (int)WindowMessage.SYSKEYDOWN; // Find the device where the button was pressed. It can be that the input notification // came not from a physical keyboard device but from a code-generated input message - in // that case, the event goes to the default (first) keyboard. // TODO: Send the event to all keyboards instead of the default one. // TODO: Optimize this! The predicate allocates way to much memory. //int index = keyboards.FindIndex(delegate(KeyboardDevice kb) //{ // return kb.DeviceID == rin.Header.Device; //}); //if (index == -1) index = 0; int index; if (keyboards.Count > 0) index = 0; else return false; // Generic control, shift, alt keys may be sent instead of left/right. // It seems you have to explicitly register left/right events. switch (rin.Data.Keyboard.VKey) { case VirtualKeys.SHIFT: keyboards[index][Input.Key.ShiftLeft] = keyboards[index][Input.Key.ShiftRight] = pressed; return true; case VirtualKeys.CONTROL: keyboards[index][Input.Key.ControlLeft] = keyboards[index][Input.Key.ControlRight] = pressed; return true; case VirtualKeys.MENU: keyboards[index][Input.Key.AltLeft] = keyboards[index][Input.Key.AltRight] = pressed; return true; default: if (!WMInput.KeyMap.ContainsKey(rin.Data.Keyboard.VKey)) Debug.Print("Virtual key {0} ({1}) not mapped.", rin.Data.Keyboard.VKey, (int)rin.Data.Keyboard.VKey); else keyboards[index][WMInput.KeyMap[rin.Data.Keyboard.VKey]] = pressed; return false; } default: throw new ApplicationException("Windows raw keyboard driver received invalid data."); } } #endregion #region --- IInputDevice Members --- public string Description { get { throw new Exception("The method or operation is not implemented."); } } public Input.InputDeviceType DeviceType { get { return Input.InputDeviceType.Keyboard; } } #endregion #region --- IKeyboardDriver Members --- public IList Keyboard { get { return keyboards; } } #endregion #region --- IDisposable Members --- private bool disposed; public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) { keyboards.Clear(); } disposed = true; } } ~WinRawKeyboard() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinKeyMap.cs0000664000175000017500000001165511453131422022563 0ustar laneylaney#region --- License --- /* Copyright (c) 2007 Stefanos Apostolopoulos * See license.txt for license information */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Platform.Windows; using OpenTK.Input; using System.Diagnostics; namespace OpenTK.Platform.Windows { internal class WinKeyMap : Dictionary { /// /// Initializes the map between VirtualKeys and OpenTK.Key /// internal WinKeyMap() { try { this.Add(VirtualKeys.ESCAPE, Key.Escape); // Function keys for (int i = 0; i < 24; i++) { this.Add((VirtualKeys)((int)VirtualKeys.F1 + i), Key.F1 + i); } // Number keys (0-9) for (int i = 0; i <= 9; i++) { this.Add((VirtualKeys)(0x30 + i), Key.Number0 + i); } // Letters (A-Z) for (int i = 0; i < 26; i++) { this.Add((VirtualKeys)(0x41 + i), Key.A + i); } this.Add(VirtualKeys.TAB, Key.Tab); this.Add(VirtualKeys.CAPITAL, Key.CapsLock); this.Add(VirtualKeys.LCONTROL, Key.ControlLeft); this.Add(VirtualKeys.LSHIFT, Key.ShiftLeft); this.Add(VirtualKeys.LWIN, Key.WinLeft); this.Add(VirtualKeys.LMENU, Key.AltLeft); this.Add(VirtualKeys.SPACE, Key.Space); this.Add(VirtualKeys.RMENU, Key.AltRight); this.Add(VirtualKeys.RWIN, Key.WinRight); this.Add(VirtualKeys.APPS, Key.Menu); this.Add(VirtualKeys.RCONTROL, Key.ControlRight); this.Add(VirtualKeys.RSHIFT, Key.ShiftRight); this.Add(VirtualKeys.RETURN, Key.Enter); this.Add(VirtualKeys.BACK, Key.BackSpace); this.Add(VirtualKeys.OEM_1, Key.Semicolon); // Varies by keyboard, ;: on Win2K/US this.Add(VirtualKeys.OEM_2, Key.Slash); // Varies by keyboard, /? on Win2K/US this.Add(VirtualKeys.OEM_3, Key.Tilde); // Varies by keyboard, `~ on Win2K/US this.Add(VirtualKeys.OEM_4, Key.BracketLeft); // Varies by keyboard, [{ on Win2K/US this.Add(VirtualKeys.OEM_5, Key.BackSlash); // Varies by keyboard, \| on Win2K/US this.Add(VirtualKeys.OEM_6, Key.BracketRight); // Varies by keyboard, ]} on Win2K/US this.Add(VirtualKeys.OEM_7, Key.Quote); // Varies by keyboard, '" on Win2K/US this.Add(VirtualKeys.OEM_PLUS, Key.Plus); // Invariant: + this.Add(VirtualKeys.OEM_COMMA, Key.Comma); // Invariant: , this.Add(VirtualKeys.OEM_MINUS, Key.Minus); // Invariant: - this.Add(VirtualKeys.OEM_PERIOD, Key.Period); // Invariant: . this.Add(VirtualKeys.HOME, Key.Home); this.Add(VirtualKeys.END, Key.End); this.Add(VirtualKeys.DELETE, Key.Delete); this.Add(VirtualKeys.PRIOR, Key.PageUp); this.Add(VirtualKeys.NEXT, Key.PageDown); this.Add(VirtualKeys.PRINT, Key.PrintScreen); this.Add(VirtualKeys.PAUSE, Key.Pause); this.Add(VirtualKeys.NUMLOCK, Key.NumLock); this.Add(VirtualKeys.SCROLL, Key.ScrollLock); this.Add(VirtualKeys.SNAPSHOT, Key.PrintScreen); this.Add(VirtualKeys.CLEAR, Key.Clear); this.Add(VirtualKeys.INSERT, Key.Insert); this.Add(VirtualKeys.SLEEP, Key.Sleep); // Keypad for (int i = 0; i <= 9; i++) { this.Add((VirtualKeys)((int)VirtualKeys.NUMPAD0 + i), Key.Keypad0 + i); } this.Add(VirtualKeys.DECIMAL, Key.KeypadDecimal); this.Add(VirtualKeys.ADD, Key.KeypadAdd); this.Add(VirtualKeys.SUBTRACT, Key.KeypadSubtract); this.Add(VirtualKeys.DIVIDE, Key.KeypadDivide); this.Add(VirtualKeys.MULTIPLY, Key.KeypadMultiply); // Navigation this.Add(VirtualKeys.UP, Key.Up); this.Add(VirtualKeys.DOWN, Key.Down); this.Add(VirtualKeys.LEFT, Key.Left); this.Add(VirtualKeys.RIGHT, Key.Right); } catch (ArgumentException e) { Debug.Print("Exception while creating keymap: '{0}'.", e.ToString()); System.Windows.Forms.MessageBox.Show( String.Format("Exception while creating keymap: '{0}'.", e.ToString())); } } } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinGLNative.cs0000664000175000017500000012771511453131422023053 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Text; using OpenTK.Graphics; using OpenTK.Input; using System.Collections.Generic; using System.IO; using System.Drawing; namespace OpenTK.Platform.Windows { /// \internal /// /// Drives GameWindow on Windows. /// This class supports OpenTK, and is not intended for use by OpenTK programs. /// internal sealed class WinGLNative : INativeWindow, IInputDriver { #region Fields const ExtendedWindowStyle ParentStyleEx = ExtendedWindowStyle.WindowEdge | ExtendedWindowStyle.ApplicationWindow; const ExtendedWindowStyle ChildStyleEx = 0; readonly IntPtr Instance = Marshal.GetHINSTANCE(typeof(WinGLNative).Module); readonly IntPtr ClassName = Marshal.StringToHGlobalAuto(Guid.NewGuid().ToString()); readonly WindowProcedure WindowProcedureDelegate; readonly uint ModalLoopTimerPeriod = 1; UIntPtr timer_handle; readonly Functions.TimerProc ModalLoopCallback; bool class_registered; bool disposed; bool exists; WinWindowInfo window, child_window; WindowBorder windowBorder = WindowBorder.Resizable; Nullable previous_window_border; // Set when changing to fullscreen state. Nullable deferred_window_border; // Set to avoid changing borders during fullscreen state. WindowState windowState = WindowState.Normal; bool borderless_maximized_window_state = false; // Hack to get maximized mode with hidden border (not normally possible). bool focused; bool mouse_outside_window = true; bool invisible_since_creation; // Set by WindowsMessage.CREATE and consumed by Visible = true (calls BringWindowToFront). int suppress_resize; // Used in WindowBorder and WindowState in order to avoid rapid, consecutive resize events. Rectangle bounds = new Rectangle(), client_rectangle = new Rectangle(), previous_bounds = new Rectangle(); // Used to restore previous size when leaving fullscreen mode. Icon icon; const ClassStyle DefaultClassStyle = ClassStyle.OwnDC; readonly IntPtr DefaultWindowProcedure = Marshal.GetFunctionPointerForDelegate(new WindowProcedure(Functions.DefWindowProc)); // Used for IInputDriver implementation WinMMJoystick joystick_driver = new WinMMJoystick(); KeyboardDevice keyboard = new KeyboardDevice(); MouseDevice mouse = new MouseDevice(); IList keyboards = new List(1); IList mice = new List(1); internal static readonly WinKeyMap KeyMap = new WinKeyMap(); const long ExtendedBit = 1 << 24; // Used to distinguish left and right control, alt and enter keys. static readonly uint ShiftRightScanCode = Functions.MapVirtualKey(VirtualKeys.RSHIFT, 0); // Used to distinguish left and right shift keys. KeyPressEventArgs key_press = new KeyPressEventArgs((char)0); #endregion #region Contructors public WinGLNative(int x, int y, int width, int height, string title, GameWindowFlags options, DisplayDevice device) { // This is the main window procedure callback. We need the callback in order to create the window, so // don't move it below the CreateWindow calls. WindowProcedureDelegate = WindowProcedure; //// This timer callback is called periodically when the window enters a sizing / moving modal loop. //ModalLoopCallback = delegate(IntPtr handle, WindowMessage msg, UIntPtr eventId, int time) //{ // // Todo: find a way to notify the frontend that it should process queued up UpdateFrame/RenderFrame events. // if (Move != null) // Move(this, EventArgs.Empty); //}; // To avoid issues with Ati drivers on Windows 6+ with compositing enabled, the context will not be // bound to the top-level window, but rather to a child window docked in the parent. window = new WinWindowInfo( CreateWindow(x, y, width, height, title, options, device, IntPtr.Zero), null); child_window = new WinWindowInfo( CreateWindow(0, 0, ClientSize.Width, ClientSize.Height, title, options, device, window.WindowHandle), window); exists = true; keyboard.Description = "Standard Windows keyboard"; keyboard.NumberOfFunctionKeys = 12; keyboard.NumberOfKeys = 101; keyboard.NumberOfLeds = 3; mouse.Description = "Standard Windows mouse"; mouse.NumberOfButtons = 3; mouse.NumberOfWheels = 1; keyboards.Add(keyboard); mice.Add(mouse); } #endregion #region Private Members #region WindowProcedure IntPtr WindowProcedure(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) { switch (message) { #region Size / Move / Style events case WindowMessage.ACTIVATE: // See http://msdn.microsoft.com/en-us/library/ms646274(VS.85).aspx (WM_ACTIVATE notification): // wParam: The low-order word specifies whether the window is being activated or deactivated. bool new_focused_state = Focused; if (IntPtr.Size == 4) focused = (wParam.ToInt32() & 0xFFFF) != 0; else focused = (wParam.ToInt64() & 0xFFFF) != 0; if (new_focused_state != Focused && FocusedChanged != null) FocusedChanged(this, EventArgs.Empty); break; case WindowMessage.ENTERMENULOOP: case WindowMessage.ENTERSIZEMOVE: // Entering the modal size/move loop: we don't want rendering to // stop during this time, so we register a timer callback to continue // processing from time to time. StartTimer(handle); break; case WindowMessage.EXITMENULOOP: case WindowMessage.EXITSIZEMOVE: // ExitingmModal size/move loop: the timer callback is no longer // necessary. StopTimer(handle); break; case WindowMessage.ERASEBKGND: return new IntPtr(1); case WindowMessage.WINDOWPOSCHANGED: unsafe { WindowPosition* pos = (WindowPosition*)lParam; if (window != null && pos->hwnd == window.WindowHandle) { Point new_location = new Point(pos->x, pos->y); if (Location != new_location) { bounds.Location = new_location; if (Move != null) Move(this, EventArgs.Empty); } Size new_size = new Size(pos->cx, pos->cy); if (Size != new_size) { bounds.Width = pos->cx; bounds.Height = pos->cy; Win32Rectangle rect; Functions.GetClientRect(handle, out rect); client_rectangle = rect.ToRectangle(); Functions.SetWindowPos(child_window.WindowHandle, IntPtr.Zero, 0, 0, ClientRectangle.Width, ClientRectangle.Height, SetWindowPosFlags.NOZORDER | SetWindowPosFlags.NOOWNERZORDER | SetWindowPosFlags.NOACTIVATE | SetWindowPosFlags.NOSENDCHANGING); if (suppress_resize <= 0 && Resize != null) Resize(this, EventArgs.Empty); } } } break; case WindowMessage.STYLECHANGED: unsafe { if (wParam.ToInt64() == (long)GWL.STYLE) { WindowStyle style = ((StyleStruct*)lParam)->New; if ((style & WindowStyle.Popup) != 0) windowBorder = WindowBorder.Hidden; else if ((style & WindowStyle.ThickFrame) != 0) windowBorder = WindowBorder.Resizable; else if ((style & ~(WindowStyle.ThickFrame | WindowStyle.MaximizeBox)) != 0) windowBorder = WindowBorder.Fixed; } } break; case WindowMessage.SIZE: SizeMessage state = (SizeMessage)wParam.ToInt64(); WindowState new_state = windowState; switch (state) { case SizeMessage.RESTORED: new_state = borderless_maximized_window_state ? WindowState.Maximized : WindowState.Normal; break; case SizeMessage.MINIMIZED: new_state = WindowState.Minimized; break; case SizeMessage.MAXIMIZED: new_state = WindowBorder == WindowBorder.Hidden ? WindowState.Fullscreen : WindowState.Maximized; break; } if (new_state != windowState) { windowState = new_state; if (WindowStateChanged != null) WindowStateChanged(this, EventArgs.Empty); } break; #endregion #region Input events case WindowMessage.CHAR: if (IntPtr.Size == 4) key_press.KeyChar = (char)wParam.ToInt32(); else key_press.KeyChar = (char)wParam.ToInt64(); if (KeyPress != null) KeyPress(this, key_press); break; case WindowMessage.MOUSEMOVE: Point point = new Point( (short)((uint)lParam.ToInt32() & 0x0000FFFF), (short)(((uint)lParam.ToInt32() & 0xFFFF0000) >> 16)); mouse.Position = point; if (mouse_outside_window) { // Once we receive a mouse move event, it means that the mouse has // re-entered the window. mouse_outside_window = false; EnableMouseTracking(); if (MouseEnter != null) MouseEnter(this, EventArgs.Empty); } break; case WindowMessage.MOUSELEAVE: mouse_outside_window = true; // Mouse tracking is disabled automatically by the OS if (MouseLeave != null) MouseLeave(this, EventArgs.Empty); break; case WindowMessage.MOUSEWHEEL: // This is due to inconsistent behavior of the WParam value on 64bit arch, whese // wparam = 0xffffffffff880000 or wparam = 0x00000000ff100000 mouse.WheelPrecise += ((long)wParam << 32 >> 48) / 120.0f; break; case WindowMessage.LBUTTONDOWN: mouse[MouseButton.Left] = true; break; case WindowMessage.MBUTTONDOWN: mouse[MouseButton.Middle] = true; break; case WindowMessage.RBUTTONDOWN: mouse[MouseButton.Right] = true; break; case WindowMessage.XBUTTONDOWN: mouse[((wParam.ToInt32() & 0xFFFF0000) >> 16) != (int)MouseKeys.XButton1 ? MouseButton.Button1 : MouseButton.Button2] = true; break; case WindowMessage.LBUTTONUP: mouse[MouseButton.Left] = false; break; case WindowMessage.MBUTTONUP: mouse[MouseButton.Middle] = false; break; case WindowMessage.RBUTTONUP: mouse[MouseButton.Right] = false; break; case WindowMessage.XBUTTONUP: // TODO: Is this correct? mouse[((wParam.ToInt32() & 0xFFFF0000) >> 16) != (int)MouseKeys.XButton1 ? MouseButton.Button1 : MouseButton.Button2] = false; break; // Keyboard events: case WindowMessage.KEYDOWN: case WindowMessage.KEYUP: case WindowMessage.SYSKEYDOWN: case WindowMessage.SYSKEYUP: bool pressed = message == WindowMessage.KEYDOWN || message == WindowMessage.SYSKEYDOWN; // Shift/Control/Alt behave strangely when e.g. ShiftRight is held down and ShiftLeft is pressed // and released. It looks like neither key is released in this case, or that the wrong key is // released in the case of Control and Alt. // To combat this, we are going to release both keys when either is released. Hacky, but should work. // Win95 does not distinguish left/right key constants (GetAsyncKeyState returns 0). // In this case, both keys will be reported as pressed. bool extended = (lParam.ToInt64() & ExtendedBit) != 0; switch ((VirtualKeys)wParam) { case VirtualKeys.SHIFT: // The behavior of this key is very strange. Unlike Control and Alt, there is no extended bit // to distinguish between left and right keys. Moreover, pressing both keys and releasing one // may result in both keys being held down (but not always). // The only reliably way to solve this was reported by BlueMonkMN at the forums: we should // check the scancodes. It looks like GLFW does the same thing, so it should be reliable. // TODO: Not 100% reliable, when both keys are pressed at once. if (ShiftRightScanCode != 0) { unchecked { if (((lParam.ToInt64() >> 16) & 0xFF) == ShiftRightScanCode) keyboard[Input.Key.ShiftRight] = pressed; else keyboard[Input.Key.ShiftLeft] = pressed; } } else { // Should only fall here on Windows 9x and NT4.0- keyboard[Input.Key.ShiftLeft] = pressed; } return IntPtr.Zero; case VirtualKeys.CONTROL: if (extended) keyboard[Input.Key.ControlRight] = pressed; else keyboard[Input.Key.ControlLeft] = pressed; return IntPtr.Zero; case VirtualKeys.MENU: if (extended) keyboard[Input.Key.AltRight] = pressed; else keyboard[Input.Key.AltLeft] = pressed; return IntPtr.Zero; case VirtualKeys.RETURN: if (extended) keyboard[Key.KeypadEnter] = pressed; else keyboard[Key.Enter] = pressed; return IntPtr.Zero; default: if (!WMInput.KeyMap.ContainsKey((VirtualKeys)wParam)) { Debug.Print("Virtual key {0} ({1}) not mapped.", (VirtualKeys)wParam, (int)lParam); break; } else { keyboard[WMInput.KeyMap[(VirtualKeys)wParam]] = pressed; } return IntPtr.Zero; } break; case WindowMessage.SYSCHAR: return IntPtr.Zero; case WindowMessage.KILLFOCUS: keyboard.ClearKeys(); break; #endregion #region Creation / Destruction events case WindowMessage.CREATE: CreateStruct cs = (CreateStruct)Marshal.PtrToStructure(lParam, typeof(CreateStruct)); if (cs.hwndParent == IntPtr.Zero) { bounds.X = cs.x; bounds.Y = cs.y; bounds.Width = cs.cx; bounds.Height = cs.cy; Win32Rectangle rect; Functions.GetClientRect(handle, out rect); client_rectangle = rect.ToRectangle(); invisible_since_creation = true; } break; case WindowMessage.CLOSE: System.ComponentModel.CancelEventArgs e = new System.ComponentModel.CancelEventArgs(); if (Closing != null) Closing(this, e); if (!e.Cancel) { if (Unload != null) Unload(this, EventArgs.Empty); DestroyWindow(); break; } return IntPtr.Zero; case WindowMessage.DESTROY: exists = false; Functions.UnregisterClass(ClassName, Instance); window.Dispose(); child_window.Dispose(); if (Closed != null) Closed(this, EventArgs.Empty); break; #endregion } return Functions.DefWindowProc(handle, message, wParam, lParam); } private void EnableMouseTracking() { TrackMouseEventStructure me = new TrackMouseEventStructure(); me.Size = TrackMouseEventStructure.SizeInBytes; me.TrackWindowHandle = child_window.WindowHandle; me.Flags = TrackMouseEventFlags.LEAVE; if (!Functions.TrackMouseEvent(ref me)) Debug.Print("[Warning] Failed to enable mouse tracking, error: {0}.", Marshal.GetLastWin32Error()); } private void StartTimer(IntPtr handle) { if (timer_handle == UIntPtr.Zero) { timer_handle = Functions.SetTimer(handle, new UIntPtr(1), ModalLoopTimerPeriod, ModalLoopCallback); if (timer_handle == UIntPtr.Zero) Debug.Print("[Warning] Failed to set modal loop timer callback ({0}:{1}->{2}).", GetType().Name, handle, Marshal.GetLastWin32Error()); } } private void StopTimer(IntPtr handle) { if (timer_handle != UIntPtr.Zero) { if (!Functions.KillTimer(handle, timer_handle)) Debug.Print("[Warning] Failed to kill modal loop timer callback ({0}:{1}->{2}).", GetType().Name, handle, Marshal.GetLastWin32Error()); timer_handle = UIntPtr.Zero; } } #endregion #region IsIdle bool IsIdle { get { MSG message = new MSG(); return !Functions.PeekMessage(ref message, window.WindowHandle, 0, 0, 0); } } #endregion #region CreateWindow IntPtr CreateWindow(int x, int y, int width, int height, string title, GameWindowFlags options, DisplayDevice device, IntPtr parentHandle) { // Use win32 to create the native window. // Keep in mind that some construction code runs in the WM_CREATE message handler. // The style of a parent window is different than that of a child window. // Note: the child window should always be visible, even if the parent isn't. WindowStyle style = 0; ExtendedWindowStyle ex_style = 0; if (parentHandle == IntPtr.Zero) { style |= WindowStyle.OverlappedWindow | WindowStyle.ClipChildren; ex_style = ParentStyleEx; } else { style |= WindowStyle.Visible | WindowStyle.Child | WindowStyle.ClipSiblings; ex_style = ChildStyleEx; } // Find out the final window rectangle, after the WM has added its chrome (titlebar, sidebars etc). Win32Rectangle rect = new Win32Rectangle(); rect.left = x; rect.top = y; rect.right = x + width; rect.bottom = y + height; Functions.AdjustWindowRectEx(ref rect, style, false, ex_style); // Create the window class that we will use for this window. // The current approach is to register a new class for each top-level WinGLWindow we create. if (!class_registered) { ExtendedWindowClass wc = new ExtendedWindowClass(); wc.Size = ExtendedWindowClass.SizeInBytes; wc.Style = DefaultClassStyle; wc.Instance = Instance; wc.WndProc = WindowProcedureDelegate; wc.ClassName = ClassName; wc.Icon = Icon != null ? Icon.Handle : IntPtr.Zero; #warning "This seems to resize one of the 'large' icons, rather than using a small icon directly (multi-icon files). Investigate!" wc.IconSm = Icon != null ? new Icon(Icon, 16, 16).Handle : IntPtr.Zero; wc.Cursor = Functions.LoadCursor(CursorName.Arrow); ushort atom = Functions.RegisterClassEx(ref wc); if (atom == 0) throw new PlatformException(String.Format("Failed to register window class. Error: {0}", Marshal.GetLastWin32Error())); class_registered = true; } IntPtr window_name = Marshal.StringToHGlobalAuto(title); IntPtr handle = Functions.CreateWindowEx( ex_style, ClassName, window_name, style, rect.left, rect.top, rect.Width, rect.Height, parentHandle, IntPtr.Zero, Instance, IntPtr.Zero); if (handle == IntPtr.Zero) throw new PlatformException(String.Format("Failed to create window. Error: {0}", Marshal.GetLastWin32Error())); return handle; } #endregion #region DestroyWindow /// /// Starts the teardown sequence for the current window. /// void DestroyWindow() { if (Exists) { Debug.Print("Destroying window: {0}", window.ToString()); Functions.DestroyWindow(window.WindowHandle); exists = false; } } #endregion void HideBorder() { suppress_resize++; WindowBorder = WindowBorder.Hidden; ProcessEvents(); suppress_resize--; } void RestoreBorder() { suppress_resize++; WindowBorder = deferred_window_border.HasValue ? deferred_window_border.Value : previous_window_border.HasValue ? previous_window_border.Value : WindowBorder; ProcessEvents(); suppress_resize--; deferred_window_border = previous_window_border = null; } void ResetWindowState() { suppress_resize++; WindowState = WindowState.Normal; ProcessEvents(); suppress_resize--; } #endregion #region INativeWindow Members #region Bounds public Rectangle Bounds { get { return bounds; } set { // Note: the bounds variable is updated when the resize/move message arrives. Functions.SetWindowPos(window.WindowHandle, IntPtr.Zero, value.X, value.Y, value.Width, value.Height, 0); } } #endregion #region Location public Point Location { get { return Bounds.Location; } set { // Note: the bounds variable is updated when the resize/move message arrives. Functions.SetWindowPos(window.WindowHandle, IntPtr.Zero, value.X, value.Y, 0, 0, SetWindowPosFlags.NOSIZE); } } #endregion #region Size public Size Size { get { return Bounds.Size; } set { // Note: the bounds variable is updated when the resize/move message arrives. Functions.SetWindowPos(window.WindowHandle, IntPtr.Zero, 0, 0, value.Width, value.Height, SetWindowPosFlags.NOMOVE); } } #endregion #region ClientRectangle public Rectangle ClientRectangle { get { if (client_rectangle.Width == 0) client_rectangle.Width = 1; if (client_rectangle.Height == 0) client_rectangle.Height = 1; return client_rectangle; } set { ClientSize = value.Size; } } #endregion #region ClientSize public Size ClientSize { get { return ClientRectangle.Size; } set { WindowStyle style = (WindowStyle)Functions.GetWindowLong(window.WindowHandle, GetWindowLongOffsets.STYLE); Win32Rectangle rect = Win32Rectangle.From(value); Functions.AdjustWindowRect(ref rect, style, false); Size = new Size(rect.Width, rect.Height); } } #endregion #region Width public int Width { get { return ClientRectangle.Width; } set { ClientRectangle = new Rectangle(0, 0, value, Height); } } #endregion #region Height public int Height { get { return ClientRectangle.Height; } set { ClientRectangle = new Rectangle(0, 0, Width, value); } } #endregion #region X public int X { get { return Location.X; } set { Location = new Point(value, Y); } } #endregion #region Y public int Y { get { return Location.Y; } set { Location = new Point(X, value); } } #endregion #region Icon public Icon Icon { get { return icon; } set { icon = value; if (window.WindowHandle != IntPtr.Zero) { Functions.SendMessage(window.WindowHandle, WindowMessage.SETICON, (IntPtr)0, icon == null ? IntPtr.Zero : value.Handle); Functions.SendMessage(window.WindowHandle, WindowMessage.SETICON, (IntPtr)1, icon == null ? IntPtr.Zero : value.Handle); } } } #endregion #region Focused public bool Focused { get { return focused; } } #endregion #region Title StringBuilder sb_title = new StringBuilder(256); public string Title { get { sb_title.Remove(0, sb_title.Length); if (Functions.GetWindowText(window.WindowHandle, sb_title, sb_title.MaxCapacity) == 0) Debug.Print("Failed to retrieve window title (window:{0}, reason:{2}).", window.WindowHandle, Marshal.GetLastWin32Error()); return sb_title.ToString(); } set { if (!Functions.SetWindowText(window.WindowHandle, value)) Debug.Print("Failed to change window title (window:{0}, new title:{1}, reason:{2}).", window.WindowHandle, value, Marshal.GetLastWin32Error()); } } #endregion #region Visible public bool Visible { get { return Functions.IsWindowVisible(window.WindowHandle); } set { if (value) { Functions.ShowWindow(window.WindowHandle, ShowWindowCommand.SHOW); if (invisible_since_creation) { Functions.BringWindowToTop(window.WindowHandle); Functions.SetForegroundWindow(window.WindowHandle); } } else if (!value) { Functions.ShowWindow(window.WindowHandle, ShowWindowCommand.HIDE); } } } #endregion #region Exists public bool Exists { get { return exists; } } #endregion #region Close public void Close() { Functions.PostMessage(window.WindowHandle, WindowMessage.CLOSE, IntPtr.Zero, IntPtr.Zero); } #endregion #region public WindowState WindowState public WindowState WindowState { get { return windowState; } set { if (WindowState == value) return; ShowWindowCommand command = 0; bool exiting_fullscreen = false; borderless_maximized_window_state = false; switch (value) { case WindowState.Normal: command = ShowWindowCommand.RESTORE; // If we are leaving fullscreen mode we need to restore the border. if (WindowState == WindowState.Fullscreen) exiting_fullscreen = true; break; case WindowState.Maximized: // Note: if we use the MAXIMIZE command and the window border is Hidden (i.e. WS_POPUP), // we will enter fullscreen mode - we don't want that! As a workaround, we'll resize the window // manually to cover the whole working area of the current monitor. // Reset state to avoid strange interactions with fullscreen/minimized windows. ResetWindowState(); if (WindowBorder == WindowBorder.Hidden) { IntPtr current_monitor = Functions.MonitorFromWindow(window.WindowHandle, MonitorFrom.Nearest); MonitorInfo info = new MonitorInfo(); info.Size = MonitorInfo.SizeInBytes; Functions.GetMonitorInfo(current_monitor, ref info); previous_bounds = Bounds; borderless_maximized_window_state = true; Bounds = info.Work.ToRectangle(); } else { command = ShowWindowCommand.MAXIMIZE; } break; case WindowState.Minimized: command = ShowWindowCommand.MINIMIZE; break; case WindowState.Fullscreen: // We achieve fullscreen by hiding the window border and sending the MAXIMIZE command. // We cannot use the WindowState.Maximized directly, as that will not send the MAXIMIZE // command for windows with hidden borders. // Reset state to avoid strange side-effects from maximized/minimized windows. ResetWindowState(); previous_bounds = Bounds; previous_window_border = WindowBorder; HideBorder(); command = ShowWindowCommand.MAXIMIZE; Functions.SetForegroundWindow(window.WindowHandle); break; } if (command != 0) Functions.ShowWindow(window.WindowHandle, command); // Restore previous window border or apply pending border change when leaving fullscreen mode. if (exiting_fullscreen) { RestoreBorder(); } // Restore previous window size/location if necessary if (command == ShowWindowCommand.RESTORE && previous_bounds != Rectangle.Empty) { Bounds = previous_bounds; previous_bounds = Rectangle.Empty; } } } #endregion #region public WindowBorder WindowBorder public WindowBorder WindowBorder { get { return windowBorder; } set { // Do not allow border changes during fullscreen mode. // Defer them for when we leave fullscreen. if (WindowState == WindowState.Fullscreen) { deferred_window_border = value; return; } if (windowBorder == value) return; // We wish to avoid making an invisible window visible just to change the border. // However, it's a good idea to make a visible window invisible temporarily, to // avoid garbage caused by the border change. bool was_visible = Visible; // To ensure maximized/minimized windows work correctly, reset state to normal, // change the border, then go back to maximized/minimized. WindowState state = WindowState; ResetWindowState(); WindowStyle style = WindowStyle.ClipChildren | WindowStyle.ClipSiblings; switch (value) { case WindowBorder.Resizable: style |= WindowStyle.OverlappedWindow; break; case WindowBorder.Fixed: style |= WindowStyle.OverlappedWindow & ~(WindowStyle.ThickFrame | WindowStyle.MaximizeBox | WindowStyle.SizeBox); break; case WindowBorder.Hidden: style |= WindowStyle.Popup; break; } // Make sure client size doesn't change when changing the border style. Size client_size = ClientSize; Win32Rectangle rect = Win32Rectangle.From(client_size); Functions.AdjustWindowRectEx(ref rect, style, false, ParentStyleEx); // This avoids leaving garbage on the background window. if (was_visible) Visible = false; Functions.SetWindowLong(window.WindowHandle, GetWindowLongOffsets.STYLE, (IntPtr)(int)style); Functions.SetWindowPos(window.WindowHandle, IntPtr.Zero, 0, 0, rect.Width, rect.Height, SetWindowPosFlags.NOMOVE | SetWindowPosFlags.NOZORDER | SetWindowPosFlags.FRAMECHANGED); // Force window to redraw update its borders, but only if it's // already visible (invisible windows will change borders when // they become visible, so no need to make them visiable prematurely). if (was_visible) Visible = true; WindowState = state; if (WindowBorderChanged != null) WindowBorderChanged(this, EventArgs.Empty); } } #endregion #region PointToClient public Point PointToClient(Point point) { if (!Functions.ScreenToClient(window.WindowHandle, ref point)) throw new InvalidOperationException(String.Format( "Could not convert point {0} from client to screen coordinates. Windows error: {1}", point.ToString(), Marshal.GetLastWin32Error())); return point; } #endregion #region PointToScreen public Point PointToScreen(Point p) { throw new NotImplementedException(); } #endregion #region Events public event EventHandler Idle; public event EventHandler Load; public event EventHandler Unload; public event EventHandler Move; public event EventHandler Resize; public event EventHandler Closing; public event EventHandler Closed; public event EventHandler Disposed; public event EventHandler IconChanged; public event EventHandler TitleChanged; public event EventHandler ClientSizeChanged; public event EventHandler VisibleChanged; public event EventHandler WindowInfoChanged; public event EventHandler FocusedChanged; public event EventHandler WindowBorderChanged; public event EventHandler WindowStateChanged; public event EventHandler KeyPress; public event EventHandler MouseEnter; public event EventHandler MouseLeave; #endregion #endregion #region INativeGLWindow Members #region public void ProcessEvents() private int ret; MSG msg; public void ProcessEvents() { while (!IsIdle) { ret = Functions.GetMessage(ref msg, window.WindowHandle, 0, 0); if (ret == -1) { throw new PlatformException(String.Format( "An error happened while processing the message queue. Windows error: {0}", Marshal.GetLastWin32Error())); } Functions.TranslateMessage(ref msg); Functions.DispatchMessage(ref msg); } } #endregion #region public IInputDriver InputDriver public IInputDriver InputDriver { get { return this; } } #endregion #region public IWindowInfo WindowInfo public IWindowInfo WindowInfo { get { return child_window; } } #endregion #endregion #region IInputDriver Members public void Poll() { joystick_driver.Poll(); } #endregion #region IKeyboardDriver Members public IList Keyboard { get { return keyboards; } } #endregion #region IMouseDriver Members public IList Mouse { get { return mice; } } #endregion #region IJoystickDriver Members public IList Joysticks { get { return joystick_driver.Joysticks; } } #endregion #region IDisposable Members public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool calledManually) { if (!disposed) { if (calledManually) { // Safe to clean managed resources DestroyWindow(); if (Icon != null) Icon.Dispose(); } else { Debug.Print("[Warning] INativeWindow leaked ({0}). Did you forget to call INativeWindow.Dispose()?", this); } disposed = true; } } ~WinGLNative() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinDisplayDevice.cs0000664000175000017500000001357311453131422024123 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Graphics; using System.Runtime.InteropServices; using System.Diagnostics; namespace OpenTK.Platform.Windows { internal class WinDisplayDeviceDriver : IDisplayDeviceDriver { static object display_lock = new object(); static Dictionary available_device_names = new Dictionary(); // Needed for ChangeDisplaySettingsEx #region --- Constructors --- /// Queries available display devices and display resolutions. static WinDisplayDeviceDriver() { lock (display_lock) { // To minimize the need to add static methods to OpenTK.Graphics.DisplayDevice // we only allow settings to be set through its constructor. // Thus, we save all necessary parameters in temporary variables // and construct the device when every needed detail is available. // The main DisplayDevice constructor adds the newly constructed device // to the list of available devices. DisplayDevice opentk_dev; DisplayResolution opentk_dev_current_res = null; List opentk_dev_available_res = new List(); bool opentk_dev_primary = false; int device_count = 0, mode_count = 0; // Get available video adapters and enumerate all monitors WindowsDisplayDevice dev1 = new WindowsDisplayDevice(), dev2 = new WindowsDisplayDevice(); while (Functions.EnumDisplayDevices(null, device_count++, dev1, 0)) { if ((dev1.StateFlags & DisplayDeviceStateFlags.AttachedToDesktop) == DisplayDeviceStateFlags.None) continue; DeviceMode monitor_mode = new DeviceMode(); // The second function should only be executed when the first one fails // (e.g. when the monitor is disabled) if (Functions.EnumDisplaySettingsEx(dev1.DeviceName.ToString(), DisplayModeSettingsEnum.CurrentSettings, monitor_mode, 0) || Functions.EnumDisplaySettingsEx(dev1.DeviceName.ToString(), DisplayModeSettingsEnum.RegistrySettings, monitor_mode, 0)) { opentk_dev_current_res = new DisplayResolution( monitor_mode.Position.X, monitor_mode.Position.Y, monitor_mode.PelsWidth, monitor_mode.PelsHeight, monitor_mode.BitsPerPel, monitor_mode.DisplayFrequency); opentk_dev_primary = (dev1.StateFlags & DisplayDeviceStateFlags.PrimaryDevice) != DisplayDeviceStateFlags.None; } opentk_dev_available_res.Clear(); mode_count = 0; while (Functions.EnumDisplaySettings(dev1.DeviceName.ToString(), mode_count++, monitor_mode)) { DisplayResolution res = new DisplayResolution( monitor_mode.Position.X, monitor_mode.Position.Y, monitor_mode.PelsWidth, monitor_mode.PelsHeight, monitor_mode.BitsPerPel, monitor_mode.DisplayFrequency); opentk_dev_available_res.Add(res); } // Construct the OpenTK DisplayDevice through the accumulated parameters. // The constructor will automatically add the DisplayDevice to the list // of available devices. opentk_dev = new DisplayDevice( opentk_dev_current_res, opentk_dev_primary, opentk_dev_available_res, opentk_dev_current_res.Bounds); available_device_names.Add(opentk_dev, dev1.DeviceName); } } } public WinDisplayDeviceDriver() { } #endregion #region --- IDisplayDeviceDriver Members --- #region public bool TryChangeResolution(OpenTK.Graphics.DisplayDevice device, DisplayResolution resolution) public bool TryChangeResolution(DisplayDevice device, DisplayResolution resolution) { DeviceMode mode = null; if (resolution != null) { mode = new DeviceMode(); mode.PelsWidth = resolution.Width; mode.PelsHeight = resolution.Height; mode.BitsPerPel = resolution.BitsPerPixel; mode.DisplayFrequency = (int)resolution.RefreshRate; mode.Fields = Constants.DM_BITSPERPEL | Constants.DM_PELSWIDTH | Constants.DM_PELSHEIGHT | Constants.DM_DISPLAYFREQUENCY; } return Constants.DISP_CHANGE_SUCCESSFUL == Functions.ChangeDisplaySettingsEx(available_device_names[device], mode, IntPtr.Zero, ChangeDisplaySettingsEnum.Fullscreen, IntPtr.Zero); } #endregion #region public TryRestoreResolution TryRestoreResolution(OpenTK.Graphics.DisplayDevice device) public bool TryRestoreResolution(DisplayDevice device) { return TryChangeResolution(device, null); } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WMInput.cs0000664000175000017500000002542611453131422022263 0ustar laneylaney#region --- License --- /* Copyright (c) 2007 Stefanos Apostolopoulos * See license.txt for license information */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OpenTK.Input; using System.Diagnostics; using System.Drawing; namespace OpenTK.Platform.Windows { // Input driver for legacy (pre XP) Windows platforms. sealed class WMInput : System.Windows.Forms.NativeWindow, IInputDriver { #region --- Fields --- WinMMJoystick joystick_driver = new WinMMJoystick(); // Driver supports only one keyboard and mouse; KeyboardDevice keyboard = new KeyboardDevice(); MouseDevice mouse = new MouseDevice(); IList keyboards = new List(1); IList mice = new List(1); internal static readonly WinKeyMap KeyMap = new WinKeyMap(); // Used to distinguish left and right control, alt and enter keys. const long ExtendedBit = 1 << 24; // Used to distinguish left and right shift keys. static readonly uint ShiftRightScanCode = Functions.MapVirtualKey(VirtualKeys.RSHIFT, 0); #endregion #region --- Constructor --- public WMInput(WinWindowInfo parent) { Debug.WriteLine("Initalizing WMInput driver."); Debug.Indent(); AssignHandle(parent.WindowHandle); Debug.Print("Input window attached to parent {0}", parent); Debug.Unindent(); keyboard.Description = "Standard Windows keyboard"; keyboard.NumberOfFunctionKeys = 12; keyboard.NumberOfKeys = 101; keyboard.NumberOfLeds = 3; mouse.Description = "Standard Windows mouse"; mouse.NumberOfButtons = 3; mouse.NumberOfWheels = 1; keyboards.Add(keyboard); mice.Add(mouse); } #endregion #region protected override void WndProc(ref Message msg) bool mouse_about_to_enter = false; protected override void WndProc(ref Message msg) { UIntPtr lparam, wparam; unsafe { lparam = (UIntPtr)(void*)msg.LParam; wparam = (UIntPtr)(void*)msg.WParam; } switch ((WindowMessage)msg.Msg) { // Mouse events: case WindowMessage.NCMOUSEMOVE: mouse_about_to_enter = true; // Used to simulate a mouse enter event. break; case WindowMessage.MOUSEMOVE: mouse.Position = new Point( (int)(lparam.ToUInt32() & 0x0000FFFF), (int)(lparam.ToUInt32() & 0xFFFF0000) >> 16); if (mouse_about_to_enter) { Cursor.Current = Cursors.Default; mouse_about_to_enter = false; } return; case WindowMessage.MOUSEWHEEL: // This is due to inconsistent behavior of the WParam value on 64bit arch, whese // wparam = 0xffffffffff880000 or wparam = 0x00000000ff100000 mouse.Wheel += (int)((long)msg.WParam << 32 >> 48) / 120; return; case WindowMessage.LBUTTONDOWN: mouse[MouseButton.Left] = true; return; case WindowMessage.MBUTTONDOWN: mouse[MouseButton.Middle] = true; return; case WindowMessage.RBUTTONDOWN: mouse[MouseButton.Right] = true; return; case WindowMessage.XBUTTONDOWN: mouse[((wparam.ToUInt32() & 0xFFFF0000) >> 16) != (int)MouseKeys.XButton1 ? MouseButton.Button1 : MouseButton.Button2] = true; return; case WindowMessage.LBUTTONUP: mouse[MouseButton.Left] = false; return; case WindowMessage.MBUTTONUP: mouse[MouseButton.Middle] = false; return; case WindowMessage.RBUTTONUP: mouse[MouseButton.Right] = false; return; case WindowMessage.XBUTTONUP: // TODO: Is this correct? mouse[((wparam.ToUInt32() & 0xFFFF0000) >> 16) != (int)MouseKeys.XButton1 ? MouseButton.Button1 : MouseButton.Button2] = false; return; // Keyboard events: case WindowMessage.KEYDOWN: case WindowMessage.KEYUP: case WindowMessage.SYSKEYDOWN: case WindowMessage.SYSKEYUP: bool pressed = (WindowMessage)msg.Msg == WindowMessage.KEYDOWN || (WindowMessage)msg.Msg == WindowMessage.SYSKEYDOWN; // Shift/Control/Alt behave strangely when e.g. ShiftRight is held down and ShiftLeft is pressed // and released. It looks like neither key is released in this case, or that the wrong key is // released in the case of Control and Alt. // To combat this, we are going to release both keys when either is released. Hacky, but should work. // Win95 does not distinguish left/right key constants (GetAsyncKeyState returns 0). // In this case, both keys will be reported as pressed. bool extended = (msg.LParam.ToInt64() & ExtendedBit) != 0; switch ((VirtualKeys)wparam) { case VirtualKeys.SHIFT: // The behavior of this key is very strange. Unlike Control and Alt, there is no extended bit // to distinguish between left and right keys. Moreover, pressing both keys and releasing one // may result in both keys being held down (but not always). // The only reliably way to solve this was reported by BlueMonkMN at the forums: we should // check the scancodes. It looks like GLFW does the same thing, so it should be reliable. // TODO: Not 100% reliable, when both keys are pressed at once. if (ShiftRightScanCode != 0) { unchecked { if (((lparam.ToUInt32() >> 16) & 0xFF) == ShiftRightScanCode) keyboard[Input.Key.ShiftRight] = pressed; else keyboard[Input.Key.ShiftLeft] = pressed; } } else { // Should only fall here on Windows 9x and NT4.0- keyboard[Input.Key.ShiftLeft] = pressed; } return; case VirtualKeys.CONTROL: if (extended) keyboard[Input.Key.ControlRight] = pressed; else keyboard[Input.Key.ControlLeft] = pressed; return; case VirtualKeys.MENU: if (extended) keyboard[Input.Key.AltRight] = pressed; else keyboard[Input.Key.AltLeft] = pressed; return; case VirtualKeys.RETURN: if (extended) keyboard[Key.KeypadEnter] = pressed; else keyboard[Key.Enter] = pressed; return; default: if (!WMInput.KeyMap.ContainsKey((VirtualKeys)msg.WParam)) { Debug.Print("Virtual key {0} ({1}) not mapped.", (VirtualKeys)msg.WParam, (int)msg.WParam); break; } else { keyboard[WMInput.KeyMap[(VirtualKeys)msg.WParam]] = pressed; return; } } break; case WindowMessage.KILLFOCUS: keyboard.ClearKeys(); break; case WindowMessage.DESTROY: Debug.Print("Input window detached from parent {0}.", Handle); ReleaseHandle(); break; case WindowMessage.QUIT: Debug.WriteLine("Input window quit."); this.Dispose(); break; } base.WndProc(ref msg); } #endregion #region --- IInputDriver Members --- #region IInputDriver Members public void Poll() { joystick_driver.Poll(); } #endregion #region IKeyboardDriver Members public IList Keyboard { get { return keyboards; } } #endregion #region IMouseDriver Members public IList Mouse { get { return mice; } } #endregion #region IJoystickDriver Members public IList Joysticks { get { return joystick_driver.Joysticks; } } #endregion #endregion #region --- IDisposable Members --- private bool disposed; public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) this.ReleaseHandle(); disposed = true; } } ~WMInput() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinGraphicsMode.cs0000664000175000017500000003013711453131422023736 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Runtime.InteropServices; using OpenTK.Graphics; using ColorDepth = OpenTK.Graphics.ColorFormat; namespace OpenTK.Platform.Windows { internal class WinGraphicsMode : IGraphicsMode { // Todo: Get rid of the System.Windows.Forms.Control dependency. #region --- Fields --- // To avoid recursion when calling GraphicsMode.Default bool creating; #endregion #region --- Constructors --- public WinGraphicsMode() { } #endregion #region --- IGraphicsMode Members --- public GraphicsMode SelectGraphicsMode(ColorDepth color, int depth, int stencil, int samples, ColorDepth accum, int buffers, bool stereo) { GraphicsMode mode = null; if (!creating) { try { creating = true; mode = SelectGraphicsModeARB(color, depth, stencil, samples, accum, buffers, stereo); } finally { creating = false; } } if (mode == null) mode = SelectGraphicsModePFD(color, depth, stencil, samples, accum, buffers, stereo); return mode; } #endregion #region --- Private Methods --- #region SelectGraphicsModePFD GraphicsMode SelectGraphicsModePFD(ColorDepth color, int depth, int stencil, int samples, ColorDepth accum, int buffers, bool stereo) { using (Control native_window = new Control()) using (WinWindowInfo window = new WinWindowInfo(native_window.Handle, null)) { IntPtr deviceContext = ((WinWindowInfo)window).DeviceContext; Debug.WriteLine(String.Format("Device context: {0}", deviceContext)); Debug.Write("Selecting pixel format... "); PixelFormatDescriptor pixelFormat = new PixelFormatDescriptor(); pixelFormat.Size = API.PixelFormatDescriptorSize; pixelFormat.Version = API.PixelFormatDescriptorVersion; pixelFormat.Flags = PixelFormatDescriptorFlags.SUPPORT_OPENGL | PixelFormatDescriptorFlags.DRAW_TO_WINDOW; pixelFormat.ColorBits = (byte)(color.Red + color.Green + color.Blue); pixelFormat.PixelType = color.IsIndexed ? PixelType.INDEXED : PixelType.RGBA; pixelFormat.RedBits = (byte)color.Red; pixelFormat.GreenBits = (byte)color.Green; pixelFormat.BlueBits = (byte)color.Blue; pixelFormat.AlphaBits = (byte)color.Alpha; if (accum.BitsPerPixel > 0) { pixelFormat.AccumBits = (byte)(accum.Red + accum.Green + accum.Blue); pixelFormat.AccumRedBits = (byte)accum.Red; pixelFormat.AccumGreenBits = (byte)accum.Green; pixelFormat.AccumBlueBits = (byte)accum.Blue; pixelFormat.AccumAlphaBits = (byte)accum.Alpha; } pixelFormat.DepthBits = (byte)depth; pixelFormat.StencilBits = (byte)stencil; if (depth <= 0) pixelFormat.Flags |= PixelFormatDescriptorFlags.DEPTH_DONTCARE; if (stereo) pixelFormat.Flags |= PixelFormatDescriptorFlags.STEREO; if (buffers > 1) pixelFormat.Flags |= PixelFormatDescriptorFlags.DOUBLEBUFFER; int pixel = Functions.ChoosePixelFormat(deviceContext, ref pixelFormat); if (pixel == 0) throw new GraphicsModeException("The requested GraphicsMode is not available."); // Find out what we really got as a format: PixelFormatDescriptor pfd = new PixelFormatDescriptor(); pixelFormat.Size = API.PixelFormatDescriptorSize; pixelFormat.Version = API.PixelFormatDescriptorVersion; Functions.DescribePixelFormat(deviceContext, pixel, API.PixelFormatDescriptorSize, ref pfd); GraphicsMode fmt = new GraphicsMode((IntPtr)pixel, new ColorDepth(pfd.RedBits, pfd.GreenBits, pfd.BlueBits, pfd.AlphaBits), pfd.DepthBits, pfd.StencilBits, 0, new ColorDepth(pfd.AccumBits), (pfd.Flags & PixelFormatDescriptorFlags.DOUBLEBUFFER) != 0 ? 2 : 1, (pfd.Flags & PixelFormatDescriptorFlags.STEREO) != 0); return fmt; } } #endregion #region SelectGraphicsModeARB GraphicsMode SelectGraphicsModeARB(ColorDepth color, int depth, int stencil, int samples, ColorDepth accum, int buffers, bool stereo) { using (INativeWindow native_window = new NativeWindow()) using (IGraphicsContext context = new GraphicsContext(new GraphicsMode(new ColorFormat(), 0, 0, 0, new ColorFormat(), 2, false), native_window.WindowInfo, 1, 0, GraphicsContextFlags.Default)) { WinWindowInfo window = (WinWindowInfo)native_window.WindowInfo; // See http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt // for more details Debug.Write("Selecting pixel format (ARB)... "); if (Wgl.Delegates.wglChoosePixelFormatARB == null || Wgl.Delegates.wglGetPixelFormatAttribivARB == null) { Debug.WriteLine("failed"); return null; } int[] attribs = new int[] { (int)WGL_ARB_pixel_format.AccelerationArb, (int)WGL_ARB_pixel_format.RedBitsArb, (int)WGL_ARB_pixel_format.GreenBitsArb, (int)WGL_ARB_pixel_format.BlueBitsArb, (int)WGL_ARB_pixel_format.AlphaBitsArb, (int)WGL_ARB_pixel_format.ColorBitsArb, (int)WGL_ARB_pixel_format.DepthBitsArb, (int)WGL_ARB_pixel_format.StencilBitsArb, (int)WGL_ARB_multisample.SampleBuffersArb, (int)WGL_ARB_multisample.SamplesArb, (int)WGL_ARB_pixel_format.AccumRedBitsArb, (int)WGL_ARB_pixel_format.AccumGreenBitsArb, (int)WGL_ARB_pixel_format.AccumBlueBitsArb, (int)WGL_ARB_pixel_format.AccumAlphaBitsArb, (int)WGL_ARB_pixel_format.AccumBitsArb, (int)WGL_ARB_pixel_format.DoubleBufferArb, (int)WGL_ARB_pixel_format.StereoArb, 0 }; int[] values = new int[attribs.Length]; int[] attribs_values = new int[] { (int)WGL_ARB_pixel_format.AccelerationArb, (int)WGL_ARB_pixel_format.FullAccelerationArb, (int)WGL_ARB_pixel_format.DrawToWindowArb, 1, (int)WGL_ARB_pixel_format.RedBitsArb, color.Red, (int)WGL_ARB_pixel_format.GreenBitsArb, color.Green, (int)WGL_ARB_pixel_format.BlueBitsArb, color.Blue, (int)WGL_ARB_pixel_format.AlphaBitsArb, color.Alpha, (int)WGL_ARB_pixel_format.ColorBitsArb, color.BitsPerPixel - color.Alpha, // Should not contain alpha bpp (see spec) (int)WGL_ARB_pixel_format.DepthBitsArb, depth, (int)WGL_ARB_pixel_format.StencilBitsArb, stencil, (int)WGL_ARB_multisample.SampleBuffersArb, samples > 0 ? 1 : 0, (int)WGL_ARB_multisample.SamplesArb, samples, (int)WGL_ARB_pixel_format.AccumRedBitsArb, accum.Red, (int)WGL_ARB_pixel_format.AccumGreenBitsArb, accum.Green, (int)WGL_ARB_pixel_format.AccumBlueBitsArb, accum.Blue, (int)WGL_ARB_pixel_format.AccumAlphaBitsArb, accum.Alpha, (int)WGL_ARB_pixel_format.AccumBitsArb, accum.BitsPerPixel, // Spec doesn't mention wether alpha bpp should be included... (int)WGL_ARB_pixel_format.DoubleBufferArb, buffers > 1 ? 1 : 0, (int)WGL_ARB_pixel_format.StereoArb, stereo ? 1 : 0, 0, 0 }; int[] pixel = new int[1], num_formats = new int[1]; bool success = Wgl.Arb.ChoosePixelFormat(window.DeviceContext, attribs_values, null, 1, pixel, num_formats); if (!success || num_formats[0] == 0 || pixel[0] == 0) { // Try again without an accumulator. Many modern cards cannot accelerate multisampled formats with accumulator buffers. int index_of_accum = Array.IndexOf(attribs_values, (int)WGL_ARB_pixel_format.AccumRedBitsArb); attribs_values[index_of_accum + 1] = attribs_values[index_of_accum + 3] = attribs_values[index_of_accum + 5] = attribs_values[index_of_accum + 7] = attribs_values[index_of_accum + 9] = 0; Wgl.Arb.ChoosePixelFormat(window.DeviceContext, attribs_values, null, 1, pixel, num_formats); } if (!success || num_formats[0] == 0 || pixel[0] == 0) { Debug.WriteLine("failed (no suitable pixel format)."); return null; } // Find out what we really got as a format: success = Wgl.Arb.GetPixelFormatAttrib(window.DeviceContext, pixel[0], 0, attribs.Length - 1, attribs, values); if (!success) { Debug.WriteLine("failed (pixel format attributes could not be determined)."); return null; } GraphicsMode mode = new GraphicsMode(new IntPtr(pixel[0]), new ColorDepth(values[1], values[2], values[3], values[4]), values[6], values[7], values[8] != 0 ? values[9] : 0, new ColorDepth(values[10], values[11], values[12], values[13]), values[15] == 1 ? 2 : 1, values[16] == 1 ? true : false); Debug.WriteLine("success!"); return mode; } } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/API.cs0000664000175000017500000046440511453131422021335 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * Contributions from Erik Ylvisaker * See license.txt for license info */ #endregion #region --- Using Directives --- using System; using System.Drawing; using System.Runtime.InteropServices; using System.Text; using System.Security; #endregion /* TODO: Update the description of TimeBeginPeriod and other native methods. Update Timer. */ #pragma warning disable 3019 // CLS-compliance checking #pragma warning disable 0649 // struct members not explicitly initialized #pragma warning disable 0169 // field / method is never used. #pragma warning disable 0414 // field assigned but never used. namespace OpenTK.Platform.Windows { #region Type aliases using HWND = System.IntPtr; using HINSTANCE = System.IntPtr; using HMENU = System.IntPtr; using HICON = System.IntPtr; using HBRUSH = System.IntPtr; using HCURSOR = System.IntPtr; using LRESULT = System.IntPtr; using LPVOID = System.IntPtr; using LPCTSTR = System.String; using WPARAM = System.IntPtr; using LPARAM = System.IntPtr; using HANDLE = System.IntPtr; using HRAWINPUT = System.IntPtr; using BYTE = System.Byte; using SHORT = System.Int16; using USHORT = System.UInt16; using LONG = System.Int32; using ULONG = System.UInt32; using WORD = System.Int16; using DWORD = System.Int32; using BOOL = System.Boolean; using INT = System.Int32; using UINT = System.UInt32; using LONG_PTR = System.IntPtr; using ATOM = System.Int32; using COLORREF = System.Int32; using RECT = OpenTK.Platform.Windows.Win32Rectangle; using WNDPROC = System.IntPtr; using LPDEVMODE = DeviceMode; using HRESULT = System.IntPtr; using HMONITOR = System.IntPtr; using DWORD_PTR = System.IntPtr; using UINT_PTR = System.UIntPtr; using TIMERPROC = Functions.TimerProc; #endregion /// \internal /// /// For internal use by OpenTK only! /// Exposes useful native WINAPI methods and structures. /// internal static class API { // Prevent BeforeFieldInit optimization, and initialize 'size' fields. static API() { RawInputHeaderSize = Marshal.SizeOf(typeof(RawInputHeader)); RawInputSize = Marshal.SizeOf(typeof(RawInput)); RawMouseSize = Marshal.SizeOf(typeof(RawMouse)); RawInputDeviceSize = Marshal.SizeOf(typeof(RawInputDevice)); RawInputDeviceListSize = Marshal.SizeOf(typeof(RawInputDeviceList)); RawInputDeviceInfoSize = Marshal.SizeOf(typeof(RawInputDeviceInfo)); PixelFormatDescriptorVersion = 1; PixelFormatDescriptorSize = (short)Marshal.SizeOf(typeof(PixelFormatDescriptor)); WindowInfoSize = Marshal.SizeOf(typeof(WindowInfo)); } internal static readonly short PixelFormatDescriptorSize; internal static readonly short PixelFormatDescriptorVersion; internal static readonly int RawInputSize; internal static readonly int RawInputDeviceSize; internal static readonly int RawInputHeaderSize; internal static readonly int RawInputDeviceListSize; internal static readonly int RawInputDeviceInfoSize; internal static readonly int RawMouseSize; internal static readonly int WindowInfoSize; } internal static class Functions { #region Window functions #region SetWindowPos // WINUSERAPI BOOL WINAPI SetWindowPos(__in HWND hWnd, __in_opt HWND hWndInsertAfter, // __in int X, __in int Y, __in int cx, __in int cy, __in UINT uFlags); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool SetWindowPos( IntPtr handle, IntPtr insertAfter, int x, int y, int cx, int cy, SetWindowPosFlags flags ); #endregion #region AdjustWindowRect /// /// Calculates the required size of the window rectangle, based on the desired client-rectangle size. The window rectangle can then be passed to the CreateWindow function to create a window whose client area is the desired size. /// /// [in, out] Pointer to a RECT structure that contains the coordinates of the top-left and bottom-right corners of the desired client area. When the function returns, the structure contains the coordinates of the top-left and bottom-right corners of the window to accommodate the desired client area. /// [in] Specifies the window style of the window whose required size is to be calculated. Note that you cannot specify the WS_OVERLAPPED style. /// [in] Specifies whether the window has a menu. /// /// If the function succeeds, the return value is nonzero. /// If the function fails, the return value is zero. To get extended error information, call GetLastError. /// /// /// A client rectangle is the smallest rectangle that completely encloses a client area. A window rectangle is the smallest rectangle that completely encloses the window, which includes the client area and the nonclient area. /// The AdjustWindowRect function does not add extra space when a menu bar wraps to two or more rows. /// The AdjustWindowRect function does not take the WS_VSCROLL or WS_HSCROLL styles into account. To account for the scroll bars, call the GetSystemMetrics function with SM_CXVSCROLL or SM_CYHSCROLL. /// Found Winuser.h, user32.dll /// [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal static extern BOOL AdjustWindowRect([In, Out] ref Win32Rectangle lpRect, WindowStyle dwStyle, BOOL bMenu); [DllImport("user32.dll", EntryPoint = "AdjustWindowRectEx", CallingConvention = CallingConvention.StdCall, SetLastError = true), SuppressUnmanagedCodeSecurity] internal static extern bool AdjustWindowRectEx(ref Win32Rectangle lpRect, WindowStyle dwStyle, bool bMenu, ExtendedWindowStyle dwExStyle); #endregion #region CreateWindowEx [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern IntPtr CreateWindowEx( ExtendedWindowStyle ExStyle, [MarshalAs(UnmanagedType.LPTStr)] string className, [MarshalAs(UnmanagedType.LPTStr)] string windowName, WindowStyle Style, int X, int Y, int Width, int Height, IntPtr HandleToParentWindow, IntPtr Menu, IntPtr Instance, IntPtr Param); /* [DllImport("user32.dll", SetLastError = true)] internal static extern int CreateWindowEx( [In]ExtendedWindowStyle ExStyle, [In]IntPtr ClassName, [In]IntPtr WindowName, [In]WindowStyle Style, [In]int X, [In]int Y, [In]int Width, [In]int Height, [In]IntPtr HandleToParentWindow, [In]IntPtr Menu, [In]IntPtr Instance, [In]IntPtr Param); */ [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern IntPtr CreateWindowEx( ExtendedWindowStyle ExStyle, IntPtr ClassAtom, IntPtr WindowName, WindowStyle Style, int X, int Y, int Width, int Height, IntPtr HandleToParentWindow, IntPtr Menu, IntPtr Instance, IntPtr Param); #region DestroyWindow [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool DestroyWindow(IntPtr windowHandle); #endregion #region RegisterClass [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern ushort RegisterClass(ref WindowClass window_class); #endregion #region RegisterClassEx [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern ushort RegisterClassEx(ref ExtendedWindowClass window_class); #endregion #region UnregisterClass [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern short UnregisterClass([MarshalAs(UnmanagedType.LPTStr)] LPCTSTR className, IntPtr instance); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern short UnregisterClass(IntPtr className, IntPtr instance); #endregion #region GetClassInfoEx [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern BOOL GetClassInfoEx(HINSTANCE hinst, [MarshalAs(UnmanagedType.LPTStr)] LPCTSTR lpszClass, ref ExtendedWindowClass lpwcx); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern BOOL GetClassInfoEx(HINSTANCE hinst, UIntPtr lpszClass, ref ExtendedWindowClass lpwcx); #endregion #region CallWindowProc #if RELEASE [SuppressUnmanagedCodeSecurity] #endif [DllImport("user32.dll", SetLastError = true)] internal static extern LRESULT CallWindowProc(WNDPROC lpPrevWndFunc, HWND hWnd, WindowMessage Msg, WPARAM wParam, LPARAM lParam); #endregion #region SetWindowLong // SetWindowLongPtr does not exist on x86 platforms (it's a macro that resolves to SetWindowLong). // We need to detect if we are on x86 or x64 at runtime and call the correct function // (SetWindowLongPtr on x64 or SetWindowLong on x86). Fun! internal static IntPtr SetWindowLong(IntPtr handle, GetWindowLongOffsets item, IntPtr newValue) { // SetWindowPos defines its error condition as an IntPtr.Zero retval and a non-0 GetLastError. // We need to SetLastError(0) to ensure we are not detecting on older error condition (from another function). IntPtr retval = IntPtr.Zero; SetLastError(0); if (IntPtr.Size == 4) retval = new IntPtr(SetWindowLong(handle, item, newValue.ToInt32())); else retval = SetWindowLongPtr(handle, item, newValue); if (retval == IntPtr.Zero) { int error = Marshal.GetLastWin32Error(); if (error != 0) throw new PlatformException(String.Format("Failed to modify window border. Error: {0}", error)); } return retval; } internal static IntPtr SetWindowLong(IntPtr handle, WindowProcedure newValue) { return SetWindowLong(handle, GetWindowLongOffsets.WNDPROC, Marshal.GetFunctionPointerForDelegate(newValue)); } #if RELASE [SuppressUnmanagedCodeSecurity] #endif [DllImport("user32.dll", SetLastError = true)] static extern LONG SetWindowLong(HWND hWnd, GetWindowLongOffsets nIndex, LONG dwNewLong); #if RELASE [SuppressUnmanagedCodeSecurity] #endif [DllImport("user32.dll", SetLastError = true)] static extern LONG_PTR SetWindowLongPtr(HWND hWnd, GetWindowLongOffsets nIndex, LONG_PTR dwNewLong); #if RELASE [SuppressUnmanagedCodeSecurity] #endif [DllImport("user32.dll", SetLastError = true)] static extern LONG SetWindowLong(HWND hWnd, GetWindowLongOffsets nIndex, [MarshalAs(UnmanagedType.FunctionPtr)]WindowProcedure dwNewLong); #if RELASE [SuppressUnmanagedCodeSecurity] #endif [DllImport("user32.dll", SetLastError = true)] static extern LONG_PTR SetWindowLongPtr(HWND hWnd, GetWindowLongOffsets nIndex, [MarshalAs(UnmanagedType.FunctionPtr)]WindowProcedure dwNewLong); #endregion #region GetWindowLong internal static UIntPtr GetWindowLong(IntPtr handle, GetWindowLongOffsets index) { if (IntPtr.Size == 4) return (UIntPtr)GetWindowLongInternal(handle, index); return GetWindowLongPtrInternal(handle, index); } [SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true, EntryPoint="GetWindowLong")] static extern ULONG GetWindowLongInternal(HWND hWnd, GetWindowLongOffsets nIndex); [SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true, EntryPoint = "GetWindowLongPtr")] static extern UIntPtr GetWindowLongPtrInternal(HWND hWnd, GetWindowLongOffsets nIndex); #endregion #endregion #region Message handling #region PeekMessage /// /// Low-level WINAPI function that checks the next message in the queue. /// /// The pending message (if any) is stored here. /// Not used /// Not used /// Not used /// Not used /// True if there is a message pending. [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("User32.dll"), CLSCompliant(false)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool PeekMessage(ref MSG msg, IntPtr hWnd, int messageFilterMin, int messageFilterMax, int flags); #endregion #region GetMessage /// /// Low-level WINAPI function that retriives the next message in the queue. /// /// The pending message (if any) is stored here. /// Not used /// Not used /// Not used /// /// Nonzero indicates that the function retrieves a message other than WM_QUIT. /// Zero indicates that the function retrieves the WM_QUIT message, or that lpMsg is an invalid pointer. /// –1 indicates that an error occurred — for example, the function fails if hWnd is an invalid window handle. /// To get extended error information, call GetLastError. /// [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("User32.dll"), CLSCompliant(false)] //[return: MarshalAs(UnmanagedType.Bool)] internal static extern INT GetMessage(ref MSG msg, IntPtr windowHandle, int messageFilterMin, int messageFilterMax); #endregion #region SendMessage [DllImport("user32.dll", CharSet = CharSet.Auto)] internal static extern LRESULT SendMessage(HWND hWnd, WindowMessage Msg, WPARAM wParam, LPARAM lParam); #endregion #region PostMessage [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("User32.dll", CharSet = CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern BOOL PostMessage( HWND hWnd, WindowMessage Msg, WPARAM wParam, LPARAM lParam ); #endregion #region PostQuitMessage [DllImport("User32.dll", CharSet = CharSet.Auto)] internal static extern void PostQuitMessage(int exitCode); #endregion #region DispatchMessage #if RELEASE [System.Security.SuppressUnmanagedCodeSecurity] #endif [DllImport("User32.dll"), CLSCompliant(false)] internal static extern LRESULT DispatchMessage(ref MSG msg); #endregion #region TranslateMessage #if RELEASE [System.Security.SuppressUnmanagedCodeSecurity] #endif [DllImport("User32.dll"), CLSCompliant(false)] internal static extern BOOL TranslateMessage(ref MSG lpMsg); #endregion #region GetQueueStatus /// /// Indicates the type of messages found in the calling thread's message queue. /// /// /// /// The high-order word of the return value indicates the types of messages currently in the queue. /// The low-order word indicates the types of messages that have been added to the queue and that are still /// in the queue since the last call to the GetQueueStatus, GetMessage, or PeekMessage function. /// /// /// The presence of a QS_ flag in the return value does not guarantee that /// a subsequent call to the GetMessage or PeekMessage function will return a message. /// GetMessage and PeekMessage perform some internal filtering that may cause the message /// to be processed internally. For this reason, the return value from GetQueueStatus /// should be considered only a hint as to whether GetMessage or PeekMessage should be called. /// /// The QS_ALLPOSTMESSAGE and QS_POSTMESSAGE flags differ in when they are cleared. /// QS_POSTMESSAGE is cleared when you call GetMessage or PeekMessage, whether or not you are filtering messages. /// QS_ALLPOSTMESSAGE is cleared when you call GetMessage or PeekMessage without filtering messages /// (wMsgFilterMin and wMsgFilterMax are 0). This can be useful when you call PeekMessage multiple times /// to get messages in different ranges. /// /// [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("User32.dll", CharSet = CharSet.Auto)] internal static extern DWORD GetQueueStatus([MarshalAs(UnmanagedType.U4)] QueueStatusFlags flags); #endregion #region DefWindowProc [DllImport("User32.dll", CharSet = CharSet.Auto)] public extern static IntPtr DefWindowProc(HWND hWnd, WindowMessage msg, IntPtr wParam, IntPtr lParam); #endregion #endregion #region Timing #region TimeBeginPeriod /// /// Sets the timing resolution of the GetTime (?) method. /// /// Timing resolution in msec (?) /// (?) [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("winmm.dll")] internal static extern IntPtr TimeBeginPeriod(int period); #endregion #region QueryPerformanceFrequency /// /// /// /// /// [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool QueryPerformanceFrequency(ref long PerformanceFrequency); #endregion #region QueryPerformanceCounter /// /// /// /// /// [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool QueryPerformanceCounter(ref long PerformanceCount); #endregion #endregion #region Rendering #region GetDC /// /// /// /// /// [DllImport("user32.dll")] internal static extern IntPtr GetDC(IntPtr hwnd); #endregion #region GetWindowDC [DllImport("user32.dll")] internal static extern IntPtr GetWindowDC(IntPtr hwnd); #endregion #region ReleaseDC /// /// /// /// /// /// [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool ReleaseDC(IntPtr hwnd, IntPtr DC); #endregion #region ChoosePixelFormat [DllImport("gdi32.dll")] internal static extern int ChoosePixelFormat(IntPtr dc, ref PixelFormatDescriptor pfd); #endregion [DllImport("gdi32.dll")] internal static extern int DescribePixelFormat(IntPtr deviceContext, int pixel, int pfdSize, ref PixelFormatDescriptor pixelFormat); #region SetPixelFormat /// /// /// /// /// /// /// [DllImport("gdi32.dll", SetLastError=true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool SetPixelFormat(IntPtr dc, int format, ref PixelFormatDescriptor pfd); #endregion #region SwapBuffers [SuppressUnmanagedCodeSecurity] [DllImport("gdi32.dll", SetLastError=true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool SwapBuffers(IntPtr dc); #endregion #region GetProcAddress /// /// /// /// /// /// [DllImport("kernel32.dll")] internal static extern IntPtr GetProcAddress(IntPtr handle, string funcname); #endregion #endregion #region DLL handling #region SetLastError [DllImport("kernel32.dll")] internal static extern void SetLastError(DWORD dwErrCode); #endregion #region GetModuleHandle [DllImport("kernel32.dll")] internal static extern IntPtr GetModuleHandle([MarshalAs(UnmanagedType.LPTStr)]string module_name); #endregion #region LoadLibrary /// /// /// /// /// [DllImport("kernel32.dll", SetLastError = true)] internal static extern IntPtr LoadLibrary(string dllName); #endregion #region FreeLibrary /// /// /// /// /// [DllImport("kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool FreeLibrary(IntPtr handle); #endregion #endregion #region GetAsyncKeyState [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern SHORT GetAsyncKeyState(VirtualKeys vKey); #endregion #region GetKeyState [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern SHORT GetKeyState(VirtualKeys vKey); #endregion #region MapVirtualKey [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT MapVirtualKey(UINT uCode, MapVirtualKeyType uMapType); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT MapVirtualKey(VirtualKeys vkey, MapVirtualKeyType uMapType); #endregion #region ShowWindow /// /// The ShowWindow function sets the specified window's show state. /// /// [in] Handle to the window. /// [in] Specifies how the window is to be shown. This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides a STARTUPINFO structure. Otherwise, the first time ShowWindow is called, the value should be the value obtained by the WinMain function in its nCmdShow parameter. In subsequent calls, this parameter can be one of the ShowWindowEnum values. /// If the window was previously visible, the return value is true. Otherwise false. /// /// To perform certain special effects when showing or hiding a window, use AnimateWindow. /// The first time an application calls ShowWindow, it should use the WinMain function's nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function's nCmdShow parameter. /// As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in the structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. This behavior is designed for the following situations: /// /// Applications create their main window by calling CreateWindow with the WS_VISIBLE flag set. /// Applications create their main window by calling CreateWindow with the WS_VISIBLE flag cleared, and later call ShowWindow with the SW_SHOW flag set to make it visible. /// /// [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal static extern BOOL ShowWindow(HWND hWnd, ShowWindowCommand nCmdShow); #endregion #region SetWindowText /// /// The SetWindowText function changes the text of the specified window's title bar (if it has one). If the specified window is a control, the text of the control is changed. However, SetWindowText cannot change the text of a control in another application. /// /// [in] Handle to the window or control whose text is to be changed. /// [in] Pointer to a null-terminated string to be used as the new title or control text. /// /// If the function succeeds, the return value is nonzero. /// If the function fails, the return value is zero. To get extended error information, call GetLastError. /// /// /// If the target window is owned by the current process, SetWindowText causes a WM_SETTEXT message to be sent to the specified window or control. If the control is a list box control created with the WS_CAPTION style, however, SetWindowText sets the text for the control, not for the list box entries. /// To set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText. /// The SetWindowText function does not expand tab characters (ASCII code 0x09). Tab characters are displayed as vertical bar (|) characters. /// Windows 95/98/Me: SetWindowTextW is supported by the Microsoft Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems . /// [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern BOOL SetWindowText(HWND hWnd, [MarshalAs(UnmanagedType.LPTStr)] string lpString); #endregion #region GetWindowText /// /// The GetWindowText function copies the text of the specified window's title bar (if it has one) into a buffer. If the specified window is a control, the text of the control is copied. However, GetWindowText cannot retrieve the text of a control in another application. /// /// [in] Handle to the window or control containing the text. /// [out] Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character. /// [in] Specifies the maximum number of characters to copy to the buffer, including the NULL character. If the text exceeds this limit, it is truncated. /// /// If the function succeeds, the return value is the length, in characters, of the copied string, not including the terminating NULL character. If the window has no title bar or text, if the title bar is empty, or if the window or control handle is invalid, the return value is zero. To get extended error information, call GetLastError. /// This function cannot retrieve the text of an edit control in another application. /// /// /// If the target window is owned by the current process, GetWindowText causes a WM_GETTEXT message to be sent to the specified window or control. If the target window is owned by another process and has a caption, GetWindowText retrieves the window caption text. If the window does not have a caption, the return value is a null string. This behavior is by design. It allows applications to call GetWindowText without becoming unresponsive if the process that owns the target window is not responding. However, if the target window is not responding and it belongs to the calling application, GetWindowText will cause the calling application to become unresponsive. /// To retrieve the text of a control in another process, send a WM_GETTEXT message directly instead of calling GetWindowText. /// Windows 95/98/Me: GetWindowTextW is supported by the Microsoft Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me /// [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] internal static extern int GetWindowText(HWND hWnd, [MarshalAs(UnmanagedType.LPTStr), In, Out] StringBuilder lpString, int nMaxCount); #endregion #region ScreenToClient /// /// Converts the screen coordinates of a specified point on the screen to client-area coordinates. /// /// Handle to the window whose client area will be used for the conversion. /// Pointer to a POINT structure that specifies the screen coordinates to be converted. /// If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. Windows NT/2000/XP: To get extended error information, call GetLastError. /// /// The function uses the window identified by the hWnd parameter and the screen coordinates given in the POINT structure to compute client coordinates. It then replaces the screen coordinates with the client coordinates. The new coordinates are relative to the upper-left corner of the specified window's client area. /// The ScreenToClient function assumes the specified point is in screen coordinates. /// All coordinates are in device units. /// Do not use ScreenToClient when in a mirroring situation, that is, when changing from left-to-right layout to right-to-left layout. Instead, use MapWindowPoints. For more information, see "Window Layout and Mirroring" in Window Features. /// [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] //internal static extern BOOL ScreenToClient(HWND hWnd, ref POINT point); internal static extern BOOL ScreenToClient(HWND hWnd, ref Point point); #endregion #region ClientToScreen /// /// Converts the client-area coordinates of a specified point to screen coordinates. /// /// Handle to the window whose client area will be used for the conversion. /// Pointer to a POINT structure that contains the client coordinates to be converted. The new screen coordinates are copied into this structure if the function succeeds. /// If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. Windows NT/2000/XP: To get extended error information, call GetLastError. /// /// The ClientToScreen function replaces the client-area coordinates in the POINT structure with the screen coordinates. The screen coordinates are relative to the upper-left corner of the screen. Note, a screen-coordinate point that is above the window's client area has a negative y-coordinate. Similarly, a screen coordinate to the left of a client area has a negative x-coordinate. /// All coordinates are device coordinates. /// [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal static extern BOOL ClientToScreen(HWND hWnd, ref Point point); #endregion #region GetClientRect /// /// The GetClientRect function retrieves the coordinates of a window's client area. The client coordinates specify the upper-left and lower-right corners of the client area. Because client coordinates are relative to the upper-left corner of a window's client area, the coordinates of the upper-left corner are (0,0). /// /// Handle to the window whose client coordinates are to be retrieved. /// Pointer to a RECT structure that receives the client coordinates. The left and top members are zero. The right and bottom members contain the width and height of the window. /// /// If the function succeeds, the return value is nonzero. /// If the function fails, the return value is zero. To get extended error information, call GetLastError. /// /// In conformance with conventions for the RECT structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (right, bottom) lies immediately outside the rectangle. [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal extern static BOOL GetClientRect(HWND windowHandle, out Win32Rectangle clientRectangle); #endregion #region GetWindowRect /// /// The GetWindowRect function retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. /// /// Handle to the window whose client coordinates are to be retrieved. /// Pointer to a structure that receives the screen coordinates of the upper-left and lower-right corners of the window. /// /// If the function succeeds, the return value is nonzero. /// If the function fails, the return value is zero. To get extended error information, call GetLastError. /// /// In conformance with conventions for the RECT structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (right, bottom) lies immediately outside the rectangle. [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal extern static BOOL GetWindowRect(HWND windowHandle, out Win32Rectangle windowRectangle); #endregion #region GetWindowInfo [DllImport("user32.dll"), SuppressUnmanagedCodeSecurity] internal static extern BOOL GetWindowInfo(HWND hwnd, ref WindowInfo wi); #endregion #region DwmGetWindowAttribute [DllImport("dwmapi.dll")] unsafe public static extern HRESULT DwmGetWindowAttribute(HWND hwnd, DwmWindowAttribute dwAttribute, void* pvAttribute, DWORD cbAttribute); #endregion #region GetFocus [DllImport("user32.dll")] public static extern HWND GetFocus(); #endregion #region IsWindowVisible [DllImport("user32.dll")] public static extern bool IsWindowVisible(IntPtr intPtr); #endregion #region LoadIcon [DllImport("user32.dll")] public static extern HICON LoadIcon(HINSTANCE hInstance, LPCTSTR lpIconName); #endregion #region LoadCursor [DllImport("user32.dll")] public static extern HCURSOR LoadCursor(HINSTANCE hInstance, LPCTSTR lpCursorName); [DllImport("user32.dll")] public static extern HCURSOR LoadCursor(HINSTANCE hInstance, IntPtr lpCursorName); public static HCURSOR LoadCursor(CursorName lpCursorName) { return LoadCursor(IntPtr.Zero, new IntPtr((int)lpCursorName)); } #endregion [DllImport("user32.dll", SetLastError=true)] public static extern BOOL SetForegroundWindow(HWND hWnd); [DllImport("user32.dll", SetLastError = true)] public static extern BOOL BringWindowToTop(HWND hWnd); #endregion #region Display settings #region ChangeDisplaySettings /// /// The ChangeDisplaySettings function changes the settings of the default display device to the specified graphics mode. /// /// [in] Pointer to a DEVMODE structure that describes the new graphics mode. If lpDevMode is NULL, all the values currently in the registry will be used for the display setting. Passing NULL for the lpDevMode parameter and 0 for the dwFlags parameter is the easiest way to return to the default mode after a dynamic mode change. /// [in] Indicates how the graphics mode should be changed. /// /// To change the settings of a specified display device, use the ChangeDisplaySettingsEx function. /// To ensure that the DEVMODE structure passed to ChangeDisplaySettings is valid and contains only values supported by the display driver, use the DEVMODE returned by the EnumDisplaySettings function. /// When the display mode is changed dynamically, the WM_DISPLAYCHANGE message is sent to all running applications. /// [DllImport("user32.dll", SetLastError = true)] internal static extern int ChangeDisplaySettings(DeviceMode device_mode, ChangeDisplaySettingsEnum flags); #endregion int ChangeDisplaySettings #region ChangeDisplaySettingsEx [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern LONG ChangeDisplaySettingsEx([MarshalAs(UnmanagedType.LPTStr)] LPCTSTR lpszDeviceName, LPDEVMODE lpDevMode, HWND hwnd, ChangeDisplaySettingsEnum dwflags, LPVOID lParam); #endregion #region EnumDisplayDevices [DllImport("user32.dll", SetLastError = true, CharSet=CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] public static extern BOOL EnumDisplayDevices([MarshalAs(UnmanagedType.LPTStr)] LPCTSTR lpDevice, DWORD iDevNum, [In, Out] WindowsDisplayDevice lpDisplayDevice, DWORD dwFlags); #endregion #region EnumDisplaySettings [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern BOOL EnumDisplaySettings([MarshalAs(UnmanagedType.LPTStr)] string device_name, int graphics_mode, [In, Out] DeviceMode device_mode); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern BOOL EnumDisplaySettings([MarshalAs(UnmanagedType.LPTStr)] string device_name, DisplayModeSettingsEnum graphics_mode, [In, Out] DeviceMode device_mode); #endregion #region EnumDisplaySettingsEx [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern BOOL EnumDisplaySettingsEx([MarshalAs(UnmanagedType.LPTStr)] LPCTSTR lpszDeviceName, DisplayModeSettingsEnum iModeNum, [In, Out] DeviceMode lpDevMode, DWORD dwFlags); #endregion #region GetMonitorInfo [DllImport("user32.dll", SetLastError = true)] public static extern BOOL GetMonitorInfo(IntPtr hMonitor, ref MonitorInfo lpmi); #endregion #region MonitorFromPoint [DllImport("user32.dll", SetLastError = true)] public static extern HMONITOR MonitorFromPoint(POINT pt, MonitorFrom dwFlags); #endregion #region MonitorFromWindow [DllImport("user32.dll", SetLastError = true)] public static extern HMONITOR MonitorFromWindow(HWND hwnd, MonitorFrom dwFlags); #endregion #endregion #region Input functions [DllImport("user32.dll", SetLastError=true)] public static extern BOOL TrackMouseEvent(ref TrackMouseEventStructure lpEventTrack); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)] public static extern bool ReleaseCapture(); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr SetCapture(IntPtr hwnd); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetCapture(); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr SetFocus(IntPtr hwnd); #region Async input #region GetCursorPos /// /// Retrieves the cursor's position, in screen coordinates. /// /// Pointer to a POINT structure that receives the screen coordinates of the cursor. /// Returns nonzero if successful or zero otherwise. To get extended error information, call GetLastError. /// /// The cursor position is always specified in screen coordinates and is not affected by the mapping mode of the window that contains the cursor. /// The calling process must have WINSTA_READATTRIBUTES access to the window station. /// The input desktop must be the current desktop when you call GetCursorPos. Call OpenInputDesktop to determine whether the current desktop is the input desktop. If it is not, call SetThreadDesktop with the HDESK returned by OpenInputDesktop to switch to that desktop. /// [DllImport("user32.dll", SetLastError = true), SuppressUnmanagedCodeSecurity] internal static extern BOOL GetCursorPos(ref Point point); #endregion #endregion #region Raw Input #region DefRawInputProc /// /// calls the default raw input procedure to provide default processing for /// any raw input messages that an application does not process. /// This function ensures that every message is processed. /// DefRawInputProc is called with the same parameters received by the window procedure. /// /// Pointer to an array of RawInput structures. /// Number of RawInput structures pointed to by paRawInput. /// Size, in bytes, of the RawInputHeader structure. /// If successful, the function returns S_OK. Otherwise it returns an error value. [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern LRESULT DefRawInputProc(RawInput[] RawInput, INT Input, UINT SizeHeader); [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] unsafe internal static extern LRESULT DefRawInputProc(ref RawInput RawInput, INT Input, UINT SizeHeader); [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] unsafe internal static extern LRESULT DefRawInputProc(IntPtr RawInput, INT Input, UINT SizeHeader); #endregion #region RegisterRawInputDevices /// /// Registers the devices that supply the raw input data. /// /// /// Pointer to an array of RawInputDevice structures that represent the devices that supply the raw input. /// /// /// Number of RawInputDevice structures pointed to by RawInputDevices. /// /// /// Size, in bytes, of a RAWINPUTDEVICE structure. /// /// /// TRUE if the function succeeds; otherwise, FALSE. If the function fails, call GetLastError for more information. /// [CLSCompliant(false)] [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern BOOL RegisterRawInputDevices( RawInputDevice[] RawInputDevices, UINT NumDevices, UINT Size ); [DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern BOOL RegisterRawInputDevices( RawInputDevice[] RawInputDevices, INT NumDevices, INT Size ); #endregion #region GetRawInputBuffer /// /// Does a buffered read of the raw input data. /// /// /// Pointer to a buffer of RawInput structures that contain the raw input data. /// If NULL, the minimum required buffer, in bytes, is returned in Size. /// /// Pointer to a variable that specifies the size, in bytes, of a RawInput structure. /// Size, in bytes, of RawInputHeader. /// /// If Data is NULL and the function is successful, the return value is zero. /// If Data is not NULL and the function is successful, the return value is the number /// of RawInput structures written to Data. /// If an error occurs, the return value is (UINT)-1. Call GetLastError for the error code. /// [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputBuffer( [Out] RawInput[] Data, [In, Out] ref UINT Size, [In] UINT SizeHeader ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputBuffer( [Out] RawInput[] Data, [In, Out] ref INT Size, [In] INT SizeHeader ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputBuffer( [Out] IntPtr Data, [In, Out] ref INT Size, [In] INT SizeHeader ); #endregion #region GetRegisteredRawInputDevices /// /// Gets the information about the raw input devices for the current application. /// /// /// Pointer to an array of RawInputDevice structures for the application. /// /// /// Number of RawInputDevice structures in RawInputDevices. /// /// /// Size, in bytes, of a RawInputDevice structure. /// /// /// /// If successful, the function returns a non-negative number that is /// the number of RawInputDevice structures written to the buffer. /// /// /// If the pRawInputDevices buffer is too small or NULL, the function sets /// the last error as ERROR_INSUFFICIENT_BUFFER, returns -1, /// and sets NumDevices to the required number of devices. /// /// /// If the function fails for any other reason, it returns -1. For more details, call GetLastError. /// /// [CLSCompliant(false)] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRegisteredRawInputDevices( [Out] RawInput[] RawInputDevices, [In, Out] ref UINT NumDevices, UINT cbSize ); [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRegisteredRawInputDevices( [Out] RawInput[] RawInputDevices, [In, Out] ref INT NumDevices, INT cbSize ); #endregion #region GetRawInputDeviceList /// /// Enumerates the raw input devices attached to the system. /// /// /// ointer to buffer that holds an array of RawInputDeviceList structures /// for the devices attached to the system. /// If NULL, the number of devices are returned in NumDevices. /// /// /// Pointer to a variable. If RawInputDeviceList is NULL, it specifies the number /// of devices attached to the system. Otherwise, it contains the size, in bytes, /// of the preallocated buffer pointed to by pRawInputDeviceList. /// However, if NumDevices is smaller than needed to contain RawInputDeviceList structures, /// the required buffer size is returned here. /// /// /// Size of a RawInputDeviceList structure. /// /// /// If the function is successful, the return value is the number of devices stored in the buffer /// pointed to by RawInputDeviceList. /// If RawInputDeviceList is NULL, the return value is zero. /// If NumDevices is smaller than needed to contain all the RawInputDeviceList structures, /// the return value is (UINT) -1 and the required buffer is returned in NumDevices. /// Calling GetLastError returns ERROR_INSUFFICIENT_BUFFER. /// On any other error, the function returns (UINT) -1 and GetLastError returns the error indication. /// [CLSCompliant(false)] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputDeviceList( [In, Out] RawInputDeviceList[] RawInputDeviceList, [In, Out] ref UINT NumDevices, UINT Size ); [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputDeviceList( [In, Out] RawInputDeviceList[] RawInputDeviceList, [In, Out] ref INT NumDevices, INT Size ); /// /// Enumerates the raw input devices attached to the system. /// /// /// ointer to buffer that holds an array of RawInputDeviceList structures /// for the devices attached to the system. /// If NULL, the number of devices are returned in NumDevices. /// /// /// Pointer to a variable. If RawInputDeviceList is NULL, it specifies the number /// of devices attached to the system. Otherwise, it contains the size, in bytes, /// of the preallocated buffer pointed to by pRawInputDeviceList. /// However, if NumDevices is smaller than needed to contain RawInputDeviceList structures, /// the required buffer size is returned here. /// /// /// Size of a RawInputDeviceList structure. /// /// /// If the function is successful, the return value is the number of devices stored in the buffer /// pointed to by RawInputDeviceList. /// If RawInputDeviceList is NULL, the return value is zero. /// If NumDevices is smaller than needed to contain all the RawInputDeviceList structures, /// the return value is (UINT) -1 and the required buffer is returned in NumDevices. /// Calling GetLastError returns ERROR_INSUFFICIENT_BUFFER. /// On any other error, the function returns (UINT) -1 and GetLastError returns the error indication. /// [CLSCompliant(false)] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputDeviceList( [In, Out] IntPtr RawInputDeviceList, [In, Out] ref UINT NumDevices, UINT Size ); [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputDeviceList( [In, Out] IntPtr RawInputDeviceList, [In, Out] ref INT NumDevices, INT Size ); #endregion #region GetRawInputDeviceInfo /// /// Gets information about the raw input device. /// /// /// Handle to the raw input device. This comes from the lParam of the WM_INPUT message, /// from RawInputHeader.Device, or from GetRawInputDeviceList. /// It can also be NULL if an application inserts input data, for example, by using SendInput. /// /// /// Specifies what data will be returned in pData. It can be one of the following values. /// RawInputDeviceInfoEnum.PREPARSEDDATA /// Data points to the previously parsed data. /// RawInputDeviceInfoEnum.DEVICENAME /// Data points to a string that contains the device name. /// For this Command only, the value in Size is the character count (not the byte count). /// RawInputDeviceInfoEnum.DEVICEINFO /// Data points to an RawInputDeviceInfo structure. /// /// /// ointer to a buffer that contains the information specified by Command. /// If Command is RawInputDeviceInfoEnum.DEVICEINFO, set RawInputDeviceInfo.Size to sizeof(RawInputDeviceInfo) /// before calling GetRawInputDeviceInfo. (This is done automatically in OpenTK) /// /// /// Pointer to a variable that contains the size, in bytes, of the data in Data. /// /// /// If successful, this function returns a non-negative number indicating the number of bytes copied to Data. /// If Data is not large enough for the data, the function returns -1. If Data is NULL, the function returns a value of zero. In both of these cases, Size is set to the minimum size required for the Data buffer. /// Call GetLastError to identify any other errors. /// [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputDeviceInfo( HANDLE Device, [MarshalAs(UnmanagedType.U4)] RawInputDeviceInfoEnum Command, [In, Out] LPVOID Data, [In, Out] ref UINT Size ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputDeviceInfo( HANDLE Device, [MarshalAs(UnmanagedType.U4)] RawInputDeviceInfoEnum Command, [In, Out] LPVOID Data, [In, Out] ref INT Size ); /// /// Gets information about the raw input device. /// /// /// Handle to the raw input device. This comes from the lParam of the WM_INPUT message, /// from RawInputHeader.Device, or from GetRawInputDeviceList. /// It can also be NULL if an application inserts input data, for example, by using SendInput. /// /// /// Specifies what data will be returned in pData. It can be one of the following values. /// RawInputDeviceInfoEnum.PREPARSEDDATA /// Data points to the previously parsed data. /// RawInputDeviceInfoEnum.DEVICENAME /// Data points to a string that contains the device name. /// For this Command only, the value in Size is the character count (not the byte count). /// RawInputDeviceInfoEnum.DEVICEINFO /// Data points to an RawInputDeviceInfo structure. /// /// /// ointer to a buffer that contains the information specified by Command. /// If Command is RawInputDeviceInfoEnum.DEVICEINFO, set RawInputDeviceInfo.Size to sizeof(RawInputDeviceInfo) /// before calling GetRawInputDeviceInfo. (This is done automatically in OpenTK) /// /// /// Pointer to a variable that contains the size, in bytes, of the data in Data. /// /// /// If successful, this function returns a non-negative number indicating the number of bytes copied to Data. /// If Data is not large enough for the data, the function returns -1. If Data is NULL, the function returns a value of zero. In both of these cases, Size is set to the minimum size required for the Data buffer. /// Call GetLastError to identify any other errors. /// [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputDeviceInfo( HANDLE Device, [MarshalAs(UnmanagedType.U4)] RawInputDeviceInfoEnum Command, [In, Out] RawInputDeviceInfo Data, [In, Out] ref UINT Size ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputDeviceInfo( HANDLE Device, [MarshalAs(UnmanagedType.U4)] RawInputDeviceInfoEnum Command, [In, Out] RawInputDeviceInfo Data, [In, Out] ref INT Size ); #endregion #region GetRawInputData /// /// Gets the raw input from the specified device. /// /// Handle to the RawInput structure. This comes from the lParam in WM_INPUT. /// /// Command flag. This parameter can be one of the following values. /// RawInputDateEnum.INPUT /// Get the raw data from the RawInput structure. /// RawInputDateEnum.HEADER /// Get the header information from the RawInput structure. /// /// Pointer to the data that comes from the RawInput structure. This depends on the value of uiCommand. If Data is NULL, the required size of the buffer is returned in Size. /// Pointer to a variable that specifies the size, in bytes, of the data in Data. /// Size, in bytes, of RawInputHeader. /// /// If Data is NULL and the function is successful, the return value is 0. If Data is not NULL and the function is successful, the return value is the number of bytes copied into Data. /// If there is an error, the return value is (UINT)-1. /// /// /// GetRawInputData gets the raw input one RawInput structure at a time. In contrast, GetRawInputBuffer gets an array of RawInput structures. /// [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputData( HRAWINPUT RawInput, GetRawInputDataEnum Command, [Out] LPVOID Data, [In, Out] ref UINT Size, UINT SizeHeader ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputData( HRAWINPUT RawInput, GetRawInputDataEnum Command, [Out] LPVOID Data, [In, Out] ref INT Size, INT SizeHeader ); /// /// Gets the raw input from the specified device. /// /// Handle to the RawInput structure. This comes from the lParam in WM_INPUT. /// /// Command flag. This parameter can be one of the following values. /// RawInputDateEnum.INPUT /// Get the raw data from the RawInput structure. /// RawInputDateEnum.HEADER /// Get the header information from the RawInput structure. /// /// Pointer to the data that comes from the RawInput structure. This depends on the value of uiCommand. If Data is NULL, the required size of the buffer is returned in Size. /// Pointer to a variable that specifies the size, in bytes, of the data in Data. /// Size, in bytes, of RawInputHeader. /// /// If Data is NULL and the function is successful, the return value is 0. If Data is not NULL and the function is successful, the return value is the number of bytes copied into Data. /// If there is an error, the return value is (UINT)-1. /// /// /// GetRawInputData gets the raw input one RawInput structure at a time. In contrast, GetRawInputBuffer gets an array of RawInput structures. /// [CLSCompliant(false)] [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern UINT GetRawInputData( HRAWINPUT RawInput, GetRawInputDataEnum Command, /*[MarshalAs(UnmanagedType.LPStruct)]*/ [Out] out RawInput Data, [In, Out] ref UINT Size, UINT SizeHeader ); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("user32.dll", SetLastError = true)] internal static extern INT GetRawInputData( HRAWINPUT RawInput, GetRawInputDataEnum Command, /*[MarshalAs(UnmanagedType.LPStruct)]*/ [Out] out RawInput Data, [In, Out] ref INT Size, INT SizeHeader ); #endregion #region IntPtr NextRawInputStructure(IntPtr data) /* From winuser.h #ifdef _WIN64 #define RAWINPUT_ALIGN(x) (((x) + sizeof(QWORD) - 1) & ~(sizeof(QWORD) - 1)) #else // _WIN64 #define RAWINPUT_ALIGN(x) (((x) + sizeof(DWORD) - 1) & ~(sizeof(DWORD) - 1)) #endif // _WIN64 #define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize))) */ internal static IntPtr NextRawInputStructure(IntPtr data) { unsafe { return RawInputAlign((IntPtr)(((byte*)data) + API.RawInputHeaderSize)); } } private static IntPtr RawInputAlign(IntPtr data) { unsafe { return (IntPtr)(((byte*)data) + ((IntPtr.Size - 1) & ~(IntPtr.Size - 1))); } } #endregion #endregion #endregion #region GDI functions #region GetStockObject [DllImport("gdi32.dll", SetLastError = true)] internal static extern IntPtr GetStockObject(int index); #endregion #endregion #region Timer Functions [DllImport("user32.dll", SetLastError=true)] public static extern UINT_PTR SetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); [DllImport("user32.dll", SetLastError=true)] public static extern BOOL KillTimer(HWND hWnd, UINT_PTR uIDEvent); [UnmanagedFunctionPointer(CallingConvention.Winapi)] public delegate void TimerProc(HWND hwnd, WindowMessage uMsg, UINT_PTR idEvent, DWORD dwTime); #endregion #region Shell Functions [DllImport("shell32.dll")] public static extern DWORD_PTR SHGetFileInfo(LPCTSTR pszPath, DWORD dwFileAttributes, ref SHFILEINFO psfi, UINT cbFileInfo, ShGetFileIconFlags uFlags); #endregion } #region --- Constants --- internal struct Constants { // Found in winuser.h internal const int KEYBOARD_OVERRUN_MAKE_CODE = 0xFF; // WM_ACTIVATE state values (found in winuser.h) internal const int WA_INACTIVE = 0; internal const int WA_ACTIVE = 1; internal const int WA_CLICKACTIVE = 2; // Window Messages (found in winuser.h) internal const int WM_NULL = 0x0000; internal const int WM_CREATE = 0x0001; internal const int WM_DESTROY = 0x0002; internal const int WM_MOVE = 0x0003; internal const int WM_SIZE = 0x0005; internal const int WM_ACTIVATE = 0x0006; internal const int WM_SETFOCUS = 0x0007; internal const int WM_KILLFOCUS = 0x0008; internal const int WM_ENABLE = 0x000A; internal const int WM_SETREDRAW = 0x000B; internal const int WM_SETTEXT = 0x000C; internal const int WM_GETTEXT = 0x000D; internal const int WM_GETTEXTLENGTH = 0x000E; internal const int WM_PAINT = 0x000F; internal const int WM_CLOSE = 0x0010; // _WIN32_WCE internal const int WM_QUERYENDSESSION = 0x0011; internal const int WM_QUERYOPEN = 0x0013; internal const int WM_ENDSESSION = 0x0016; internal const int WM_QUIT = 0x0012; internal const int WM_ERASEBKGND = 0x0014; internal const int WM_SYSCOLORCHANGE = 0x0015; internal const int WM_SHOWWINDOW = 0x0018; internal const int WM_WININICHANGE = 0x001A; // WINVER >= 0x400 internal const int WM_SETTINGCHANGE = WM_WININICHANGE; internal const int WM_DEVMODECHANGE = 0x001B; internal const int WM_ACTIVATEAPP = 0x001C; internal const int WM_FONTCHANGE = 0x001D; internal const int WM_TIMECHANGE = 0x001E; internal const int WM_CANCELMODE = 0x001F; internal const int WM_SETCURSOR = 0x0020; internal const int WM_MOUSEACTIVATE = 0x0021; internal const int WM_CHILDACTIVATE = 0x0022; internal const int WM_QUEUESYNC = 0x0023; internal const int WM_GETMINMAXINFO = 0x0024; internal const int WM_WINDOWPOSCHANGING = 0x0046; internal const int WM_WINDOWPOSCHANGED = 0x0047; // Keyboard events (found in winuser.h) internal const int WM_INPUT = 0x00FF; // Raw input. XP and higher only. internal const int WM_KEYDOWN = 0x0100; internal const int WM_KEYUP = 0x101; internal const int WM_SYSKEYDOWN = 0x0104; internal const int WM_SYSKEYUP = 0x0105; internal const int WM_COMMAND = 0x0111; internal const int WM_SYSCOMMAND = 0x0112; internal const int WM_ENTERIDLE = 0x121; // Pixel types (found in wingdi.h) internal const byte PFD_TYPE_RGBA = 0; internal const byte PFD_TYPE_COLORINDEX = 1; // Layer types (found in wingdi.h) internal const byte PFD_MAIN_PLANE = 0; internal const byte PFD_OVERLAY_PLANE = 1; internal const byte PFD_UNDERLAY_PLANE = unchecked((byte)-1); // Device mode types (found in wingdi.h) internal const int DM_BITSPERPEL = 0x00040000; internal const int DM_PELSWIDTH = 0x00080000; internal const int DM_PELSHEIGHT = 0x00100000; internal const int DM_DISPLAYFLAGS = 0x00200000; internal const int DM_DISPLAYFREQUENCY = 0x00400000; // ChangeDisplaySettings results (found in winuser.h) internal const int DISP_CHANGE_SUCCESSFUL = 0; internal const int DISP_CHANGE_RESTART = 1; internal const int DISP_CHANGE_FAILED = -1; // (found in winuser.h) internal const int ENUM_REGISTRY_SETTINGS = -2; internal const int ENUM_CURRENT_SETTINGS = -1; } #endregion #region --- Structures --- #region CreateStruct internal struct CreateStruct { /// /// Contains additional data which may be used to create the window. /// /// /// If the window is being created as a result of a call to the CreateWindow /// or CreateWindowEx function, this member contains the value of the lpParam /// parameter specified in the function call. /// /// If the window being created is a multiple-document interface (MDI) client window, /// this member contains a pointer to a CLIENTCREATESTRUCT structure. If the window /// being created is a MDI child window, this member contains a pointer to an /// MDICREATESTRUCT structure. /// /// /// Windows NT/2000/XP: If the window is being created from a dialog template, /// this member is the address of a SHORT value that specifies the size, in bytes, /// of the window creation data. The value is immediately followed by the creation data. /// /// /// Windows NT/2000/XP: You should access the data represented by the lpCreateParams member /// using a pointer that has been declared using the UNALIGNED type, because the pointer /// may not be DWORD aligned. /// /// internal LPVOID lpCreateParams; /// /// Handle to the module that owns the new window. /// internal HINSTANCE hInstance; /// /// Handle to the menu to be used by the new window. /// internal HMENU hMenu; /// /// Handle to the parent window, if the window is a child window. /// If the window is owned, this member identifies the owner window. /// If the window is not a child or owned window, this member is NULL. /// internal HWND hwndParent; /// /// Specifies the height of the new window, in pixels. /// internal int cy; /// /// Specifies the width of the new window, in pixels. /// internal int cx; /// /// Specifies the y-coordinate of the upper left corner of the new window. /// If the new window is a child window, coordinates are relative to the parent window. /// Otherwise, the coordinates are relative to the screen origin. /// internal int y; /// /// Specifies the x-coordinate of the upper left corner of the new window. /// If the new window is a child window, coordinates are relative to the parent window. /// Otherwise, the coordinates are relative to the screen origin. /// internal int x; /// /// Specifies the style for the new window. /// internal LONG style; /// /// Pointer to a null-terminated string that specifies the name of the new window. /// [MarshalAs(UnmanagedType.LPTStr)] internal LPCTSTR lpszName; /// /// Either a pointer to a null-terminated string or an atom that specifies the class name /// of the new window. /// /// Note Because the lpszClass member can contain a pointer to a local (and thus inaccessable) atom, /// do not obtain the class name by using this member. Use the GetClassName function instead. /// /// [MarshalAs(UnmanagedType.LPTStr)] internal LPCTSTR lpszClass; /// /// Specifies the extended window style for the new window. /// internal DWORD dwExStyle; } #endregion #region StyleStruct struct StyleStruct { public WindowStyle Old; public WindowStyle New; } #endregion #region ExtendedStyleStruct struct ExtendedStyleStruct { public ExtendedWindowStyle Old; public ExtendedWindowStyle New; } #endregion #region PixelFormatDescriptor /// \internal /// /// Describes a pixel format. It is used when interfacing with the WINAPI to create a new Context. /// Found in WinGDI.h /// [StructLayout(LayoutKind.Sequential)] internal struct PixelFormatDescriptor { internal short Size; internal short Version; internal PixelFormatDescriptorFlags Flags; internal PixelType PixelType; internal byte ColorBits; internal byte RedBits; internal byte RedShift; internal byte GreenBits; internal byte GreenShift; internal byte BlueBits; internal byte BlueShift; internal byte AlphaBits; internal byte AlphaShift; internal byte AccumBits; internal byte AccumRedBits; internal byte AccumGreenBits; internal byte AccumBlueBits; internal byte AccumAlphaBits; internal byte DepthBits; internal byte StencilBits; internal byte AuxBuffers; internal byte LayerType; private byte Reserved; internal int LayerMask; internal int VisibleMask; internal int DamageMask; } #endregion #region internal class LayerPlaneDescriptor /// \internal /// /// Describes the pixel format of a drawing surface. /// [StructLayout(LayoutKind.Sequential)] internal struct LayerPlaneDescriptor { internal static readonly WORD Size = (WORD)Marshal.SizeOf(typeof(LayerPlaneDescriptor)); internal WORD Version; internal DWORD Flags; internal BYTE PixelType; internal BYTE ColorBits; internal BYTE RedBits; internal BYTE RedShift; internal BYTE GreenBits; internal BYTE GreenShift; internal BYTE BlueBits; internal BYTE BlueShift; internal BYTE AlphaBits; internal BYTE AlphaShift; internal BYTE AccumBits; internal BYTE AccumRedBits; internal BYTE AccumGreenBits; internal BYTE AccumBlueBits; internal BYTE AccumAlphaBits; internal BYTE DepthBits; internal BYTE StencilBits; internal BYTE AuxBuffers; internal BYTE LayerPlane; BYTE Reserved; internal COLORREF crTransparent; } #endregion #region GlyphMetricsFloat /// \internal /// /// The GlyphMetricsFloat structure contains information about the placement and orientation of a glyph in a /// character cell. /// /// The values of GlyphMetricsFloat are specified as notional units. /// [StructLayout(LayoutKind.Sequential)] internal struct GlyphMetricsFloat { /// /// Specifies the width of the smallest rectangle (the glyph's black box) that completely encloses the glyph. /// internal float BlackBoxX; /// /// Specifies the height of the smallest rectangle (the glyph's black box) that completely encloses the glyph. /// internal float BlackBoxY; /// /// Specifies the x and y coordinates of the upper-left corner of the smallest rectangle that completely encloses the glyph. /// internal PointFloat GlyphOrigin; /// /// Specifies the horizontal distance from the origin of the current character cell to the origin of the next character cell. /// internal float CellIncX; /// /// Specifies the vertical distance from the origin of the current character cell to the origin of the next character cell. /// internal float CellIncY; } #endregion #region PointFloat /// \internal /// /// The PointFloat structure contains the x and y coordinates of a point. /// /// [StructLayout(LayoutKind.Sequential)] internal struct PointFloat { /// /// Specifies the horizontal (x) coordinate of a point. /// internal float X; /// /// Specifies the vertical (y) coordinate of a point. /// internal float Y; }; #endregion #region DeviceMode /* typedef struct _devicemode { BCHAR dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union { struct { short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; }; POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; }; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; BYTE dmFormName[CCHFORMNAME]; WORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union { DWORD dmDisplayFlags; DWORD dmNup; } DWORD dmDisplayFrequency; #if(WINVER >= 0x0400) DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) DWORD dmPanningWidth; DWORD dmPanningHeight; #endif #endif } DEVMODE; */ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] internal class DeviceMode { internal DeviceMode() { Size = (short)Marshal.SizeOf(this); } [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] internal string DeviceName; internal short SpecVersion; internal short DriverVersion; private short Size; internal short DriverExtra; internal int Fields; //internal short Orientation; //internal short PaperSize; //internal short PaperLength; //internal short PaperWidth; //internal short Scale; //internal short Copies; //internal short DefaultSource; //internal short PrintQuality; internal POINT Position; internal DWORD DisplayOrientation; internal DWORD DisplayFixedOutput; internal short Color; internal short Duplex; internal short YResolution; internal short TTOption; internal short Collate; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] internal string FormName; internal short LogPixels; internal int BitsPerPel; internal int PelsWidth; internal int PelsHeight; internal int DisplayFlags; internal int DisplayFrequency; internal int ICMMethod; internal int ICMIntent; internal int MediaType; internal int DitherType; internal int Reserved1; internal int Reserved2; internal int PanningWidth; internal int PanningHeight; } #endregion DeviceMode class #region DisplayDevice /// \internal /// /// The DISPLAY_DEVICE structure receives information about the display device specified by the iDevNum parameter of the EnumDisplayDevices function. /// [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] internal class WindowsDisplayDevice { internal WindowsDisplayDevice() { size = (short)Marshal.SizeOf(this); } readonly DWORD size; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] internal string DeviceName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceString; internal DisplayDeviceStateFlags StateFlags; // DWORD [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceID; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] internal string DeviceKey; } #endregion #region Window Handling #region WindowClass [StructLayout(LayoutKind.Sequential)] internal struct WindowClass { internal ClassStyle Style; [MarshalAs(UnmanagedType.FunctionPtr)] internal WindowProcedure WindowProcedure; internal int ClassExtraBytes; internal int WindowExtraBytes; //[MarshalAs(UnmanagedType. internal IntPtr Instance; internal IntPtr Icon; internal IntPtr Cursor; internal IntPtr BackgroundBrush; //[MarshalAs(UnmanagedType.LPStr)] internal IntPtr MenuName; [MarshalAs(UnmanagedType.LPTStr)] internal string ClassName; //internal string ClassName; internal static int SizeInBytes = Marshal.SizeOf(default(WindowClass)); } #endregion #region ExtendedWindowClass [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] struct ExtendedWindowClass { public UINT Size; public ClassStyle Style; //public WNDPROC WndProc; [MarshalAs(UnmanagedType.FunctionPtr)] public WindowProcedure WndProc; public int cbClsExtra; public int cbWndExtra; public HINSTANCE Instance; public HICON Icon; public HCURSOR Cursor; public HBRUSH Background; public IntPtr MenuName; public IntPtr ClassName; public HICON IconSm; public static uint SizeInBytes = (uint)Marshal.SizeOf(default(ExtendedWindowClass)); } #endregion #region internal struct MinMaxInfo /// \internal /// /// Struct pointed to by WM_GETMINMAXINFO lParam /// [StructLayout(LayoutKind.Sequential)] internal struct MINMAXINFO { Point Reserved; public Size MaxSize; public Point MaxPosition; public Size MinTrackSize; public Size MaxTrackSize; } #endregion #region internal struct WindowPosition /// \internal /// /// The WindowPosition structure contains information about the size and position of a window. /// [StructLayout(LayoutKind.Sequential)] internal struct WindowPosition { /// /// Handle to the window. /// internal HWND hwnd; /// /// Specifies the position of the window in Z order (front-to-back position). /// This member can be a handle to the window behind which this window is placed, /// or can be one of the special values listed with the SetWindowPos function. /// internal HWND hwndInsertAfter; /// /// Specifies the position of the left edge of the window. /// internal int x; /// /// Specifies the position of the top edge of the window. /// internal int y; /// /// Specifies the window width, in pixels. /// internal int cx; /// /// Specifies the window height, in pixels. /// internal int cy; /// /// Specifies the window position. /// [MarshalAs(UnmanagedType.U4)] internal SetWindowPosFlags flags; } #region internal enum SetWindowPosFlags [Flags] internal enum SetWindowPosFlags : int { /// /// Retains the current size (ignores the cx and cy parameters). /// NOSIZE = 0x0001, /// /// Retains the current position (ignores the x and y parameters). /// NOMOVE = 0x0002, /// /// Retains the current Z order (ignores the hwndInsertAfter parameter). /// NOZORDER = 0x0004, /// /// Does not redraw changes. If this flag is set, no repainting of any kind occurs. /// This applies to the client area, the nonclient area (including the title bar and scroll bars), /// and any part of the parent window uncovered as a result of the window being moved. /// When this flag is set, the application must explicitly invalidate or redraw any parts /// of the window and parent window that need redrawing. /// NOREDRAW = 0x0008, /// /// Does not activate the window. If this flag is not set, /// the window is activated and moved to the top of either the topmost or non-topmost group /// (depending on the setting of the hwndInsertAfter member). /// NOACTIVATE = 0x0010, /// /// Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. /// If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed. /// FRAMECHANGED = 0x0020, /* The frame changed: send WM_NCCALCSIZE */ /// /// Displays the window. /// SHOWWINDOW = 0x0040, /// /// Hides the window. /// HIDEWINDOW = 0x0080, /// /// Discards the entire contents of the client area. If this flag is not specified, /// the valid contents of the client area are saved and copied back into the client area /// after the window is sized or repositioned. /// NOCOPYBITS = 0x0100, /// /// Does not change the owner window's position in the Z order. /// NOOWNERZORDER = 0x0200, /* Don't do owner Z ordering */ /// /// Prevents the window from receiving the WM_WINDOWPOSCHANGING message. /// NOSENDCHANGING = 0x0400, /* Don't send WM_WINDOWPOSCHANGING */ /// /// Draws a frame (defined in the window's class description) around the window. /// DRAWFRAME = FRAMECHANGED, /// /// Same as the NOOWNERZORDER flag. /// NOREPOSITION = NOOWNERZORDER, DEFERERASE = 0x2000, ASYNCWINDOWPOS = 0x4000 } #endregion #endregion #endregion #region Raw Input structures #region RawInputDevice /// \internal /// /// Defines information for the raw input devices. /// /// /// If RIDEV_NOLEGACY is set for a mouse or a keyboard, the system does not generate any legacy message for that device for the application. For example, if the mouse TLC is set with RIDEV_NOLEGACY, WM_LBUTTONDOWN and related legacy mouse messages are not generated. Likewise, if the keyboard TLC is set with RIDEV_NOLEGACY, WM_KEYDOWN and related legacy keyboard messages are not generated. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputDevice { /// /// Top level collection Usage page for the raw input device. /// //internal USHORT UsagePage; internal SHORT UsagePage; /// /// Top level collection Usage for the raw input device. /// //internal USHORT Usage; internal SHORT Usage; /// /// Mode flag that specifies how to interpret the information provided by UsagePage and Usage. /// It can be zero (the default) or one of the following values. /// By default, the operating system sends raw input from devices with the specified top level collection (TLC) /// to the registered application as long as it has the window focus. /// internal RawInputDeviceFlags Flags; /// /// Handle to the target window. If NULL it follows the keyboard focus. /// internal HWND Target; public override string ToString() { return String.Format("{0}/{1}, flags: {2}, window: {3}", UsagePage, Usage, Flags, Target); } } #endregion #region RawInputDeviceList /// \internal /// /// Contains information about a raw input device. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputDeviceList { /// /// Handle to the raw input device. /// internal HANDLE Device; /// /// Type of device. /// internal RawInputDeviceType Type; public override string ToString() { return String.Format("{0}, Handle: {1}", Type, Device); } } #endregion #region RawInput /// \internal /// /// Contains the raw input from a device. /// /// /// The handle to this structure is passed in the lParam parameter of WM_INPUT. /// To get detailed information -- such as the header and the content of the raw input -- call GetRawInputData. /// To get device specific information, call GetRawInputDeviceInfo with the hDevice from RAWINPUTHEADER. /// Raw input is available only when the application calls RegisterRawInputDevices with valid device specifications. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInput { internal RawInputHeader Header; internal RawInputData Data; internal byte[] ToByteArray() { unsafe { byte[] dump = new byte[API.RawInputSize]; fixed (RawInputDeviceType* ptr = &Header.Type) { for (int i = 0; i < API.RawInputSize; i++) dump[i] = *((byte*)ptr + i); return dump; } } } } [StructLayout(LayoutKind.Explicit)] internal struct RawInputData { [FieldOffset(0)] internal RawMouse Mouse; [FieldOffset(0)] internal RawKeyboard Keyboard; [FieldOffset(0)] internal RawHID HID; } #endregion #region RawInputHeader /// \internal /// /// Contains the header information that is part of the raw input data. /// /// /// To get more information on the device, use hDevice in a call to GetRawInputDeviceInfo. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputHeader { /// /// Type of raw input. /// internal RawInputDeviceType Type; /// /// Size, in bytes, of the entire input packet of data. This includes the RawInput struct plus possible extra input reports in the RAWHID variable length array. /// internal DWORD Size; /// /// Handle to the device generating the raw input data. /// internal HANDLE Device; /// /// Value passed in the wParam parameter of the WM_INPUT message. /// internal WPARAM Param; } #endregion #region RawKeyboard /// \internal /// /// Contains information about the state of the keyboard. /// [StructLayout(LayoutKind.Sequential)] internal struct RawKeyboard { /// /// Scan code from the key depression. The scan code for keyboard overrun is KEYBOARD_OVERRUN_MAKE_CODE. /// //internal USHORT MakeCode; internal SHORT MakeCode; /// /// Flags for scan code information. It can be one or more of the following. /// RI_KEY_MAKE /// RI_KEY_BREAK /// RI_KEY_E0 /// RI_KEY_E1 /// RI_KEY_TERMSRV_SET_LED /// RI_KEY_TERMSRV_SHADOW /// internal RawInputKeyboardDataFlags Flags; /// /// Reserved; must be zero. /// USHORT Reserved; /// /// Microsoft Windows message compatible virtual-key code. For more information, see Virtual-Key Codes. /// //internal USHORT VKey; internal VirtualKeys VKey; /// /// Corresponding window message, for example WM_KEYDOWN, WM_SYSKEYDOWN, and so forth. /// //internal UINT Message; internal INT Message; /// /// Device-specific additional information for the event. /// //internal ULONG ExtraInformation; internal LONG ExtraInformation; } #endregion #region RawMouse /// \internal /// /// Contains information about the state of the mouse. /// [StructLayout(LayoutKind.Sequential, Pack=1)] internal struct RawMouse { //internal RawMouseFlags Flags; // USHORT in winuser.h, but only INT works -- USHORT returns 0. USHORT flags; byte for_alignment; // Not used -- used for alignment /// /// Reserved. /// //ULONG Buttons; internal USHORT buttonFlags; /// /// If usButtonFlags is RI_MOUSE_WHEEL, this member is a signed value that specifies the wheel delta. /// internal USHORT ButtonData;// { get { return (USHORT)((Buttons & 0xFFFF0000) >> 16); } } /// /// Raw state of the mouse buttons. /// internal ULONG RawButtons; /// /// Motion in the X direction. This is signed relative motion or absolute motion, depending on the value of usFlags. /// internal LONG LastX; /// /// Motion in the Y direction. This is signed relative motion or absolute motion, depending on the value of usFlags. /// internal LONG LastY; /// /// Device-specific additional information for the event. /// internal ULONG ExtraInformation; /// /// Mouse state. This member can be any reasonable combination of the following. /// MOUSE_ATTRIBUTES_CHANGED /// Mouse attributes changed; application needs to query the mouse attributes. /// MOUSE_MOVE_RELATIVE /// Mouse movement data is relative to the last mouse position. /// MOUSE_MOVE_ABSOLUTE /// Mouse movement data is based on absolute position. /// MOUSE_VIRTUAL_DESKTOP /// Mouse coordinates are mapped to the virtual desktop (for a multiple monitor system). /// internal RawMouseFlags Flags { get { return (RawMouseFlags)(flags); } } /// /// Transition state of the mouse buttons. /// internal RawInputMouseState ButtonFlags { get { return (RawInputMouseState)(buttonFlags); } } } #endregion #region RawMouse (second try) #if false [StructLayout(LayoutKind.Sequential)] internal struct RawMouse { byte b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23; unsafe private byte* this[int i] { get { fixed (byte* ptr = &b00) { return ptr + i; } } } /// /// Mouse state. This member can be any reasonable combination of the following. /// MOUSE_ATTRIBUTES_CHANGED /// Mouse attributes changed; application needs to query the mouse attributes. /// MOUSE_MOVE_RELATIVE /// Mouse movement data is relative to the last mouse position. /// MOUSE_MOVE_ABSOLUTE /// Mouse movement data is based on absolute position. /// MOUSE_VIRTUAL_DESKTOP /// Mouse coordinates are mapped to the virtual desktop (for a multiple monitor system). /// internal RawMouseFlags Flags { get { unsafe { return *(RawMouseFlags*)this[0]; } } } /// /// Transition state of the mouse buttons. /// internal RawInputMouseState ButtonFlags { get { unsafe { return *(RawInputMouseState*)this[4]; } } } /// /// If usButtonFlags is RI_MOUSE_WHEEL, this member is a signed value that specifies the wheel delta. /// internal USHORT ButtonData { get { unsafe { return *(USHORT*)this[6]; } } } /// /// Raw state of the mouse buttons. /// internal ULONG RawButtons { get { unsafe { return *(ULONG*)this[8]; } } } /// /// Motion in the X direction. This is signed relative motion or absolute motion, depending on the value of usFlags. /// internal LONG LastX { get { unsafe { return *(LONG*)this[12]; } } } /// /// Motion in the Y direction. This is signed relative motion or absolute motion, depending on the value of usFlags. /// internal LONG LastY { get { unsafe { return *(LONG*)this[16]; } } } /// /// Device-specific additional information for the event. /// internal ULONG ExtraInformation { get { unsafe { return *(ULONG*)this[20]; } } } } #endif #endregion #region RawHID /// \internal /// /// The RawHID structure describes the format of the raw input /// from a Human Interface Device (HID). /// /// /// Each WM_INPUT can indicate several inputs, but all of the inputs /// come from the same HID. The size of the bRawData array is /// dwSizeHid * dwCount. /// [StructLayout(LayoutKind.Sequential)] internal struct RawHID { /// /// Size, in bytes, of each HID input in bRawData. /// internal DWORD SizeHid; /// /// Number of HID inputs in bRawData. /// internal DWORD Count; /// /// Raw input data as an array of bytes. /// internal BYTE RawData; } #endregion #region RawInputDeviceInfo /// \internal /// /// Defines the raw input data coming from any device. /// [StructLayout(LayoutKind.Sequential)] internal class RawInputDeviceInfo { /// /// Size, in bytes, of the RawInputDeviceInfo structure. /// DWORD Size = Marshal.SizeOf(typeof(RawInputDeviceInfo)); /// /// Type of raw input data. /// internal RawInputDeviceType Type; internal DeviceStruct Device; [StructLayout(LayoutKind.Explicit)] internal struct DeviceStruct { [FieldOffset(0)] internal RawInputMouseDeviceInfo Mouse; [FieldOffset(0)] internal RawInputKeyboardDeviceInfo Keyboard; [FieldOffset(0)] internal RawInputHIDDeviceInfo HID; }; } #endregion #region RawInputHIDDeviceInfo /// \internal /// /// Defines the raw input data coming from the specified Human Interface Device (HID). /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputHIDDeviceInfo { /// /// Vendor ID for the HID. /// internal DWORD VendorId; /// /// Product ID for the HID. /// internal DWORD ProductId; /// /// Version number for the HID. /// internal DWORD VersionNumber; /// /// Top-level collection Usage Page for the device. /// //internal USHORT UsagePage; internal SHORT UsagePage; /// /// Top-level collection Usage for the device. /// //internal USHORT Usage; internal SHORT Usage; } #endregion #region RawInputKeyboardDeviceInfo /// \internal /// /// Defines the raw input data coming from the specified keyboard. /// /// /// For the keyboard, the Usage Page is 1 and the Usage is 6. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputKeyboardDeviceInfo { /// /// Type of the keyboard. /// internal DWORD Type; /// /// Subtype of the keyboard. /// internal DWORD SubType; /// /// Scan code mode. /// internal DWORD KeyboardMode; /// /// Number of function keys on the keyboard. /// internal DWORD NumberOfFunctionKeys; /// /// Number of LED indicators on the keyboard. /// internal DWORD NumberOfIndicators; /// /// Total number of keys on the keyboard. /// internal DWORD NumberOfKeysTotal; } #endregion #region RawInputMouseDeviceInfo /// \internal /// /// Defines the raw input data coming from the specified mouse. /// /// /// For the keyboard, the Usage Page is 1 and the Usage is 2. /// [StructLayout(LayoutKind.Sequential)] internal struct RawInputMouseDeviceInfo { /// /// ID for the mouse device. /// internal DWORD Id; /// /// Number of buttons for the mouse. /// internal DWORD NumberOfButtons; /// /// Number of data points per second. This information may not be applicable for every mouse device. /// internal DWORD SampleRate; /// /// TRUE if the mouse has a wheel for horizontal scrolling; otherwise, FALSE. /// /// /// This member is only supported under Microsoft Windows Vista and later versions. /// internal BOOL HasHorizontalWheel; } #endregion #endregion #region GetWindowLongOffsets #endregion #region Rectangle /// \internal /// /// Defines the coordinates of the upper-left and lower-right corners of a rectangle. /// /// /// By convention, the right and bottom edges of the rectangle are normally considered exclusive. In other words, the pixel whose coordinates are (right, bottom) lies immediately outside of the the rectangle. For example, when RECT is passed to the FillRect function, the rectangle is filled up to, but not including, the right column and bottom row of pixels. This structure is identical to the RECTL structure. /// [StructLayout(LayoutKind.Sequential)] internal struct Win32Rectangle { internal Win32Rectangle(int width, int height) { left = top = 0; right = width; bottom = height; } /// /// Specifies the x-coordinate of the upper-left corner of the rectangle. /// internal LONG left; /// /// Specifies the y-coordinate of the upper-left corner of the rectangle. /// internal LONG top; /// /// Specifies the x-coordinate of the lower-right corner of the rectangle. /// internal LONG right; /// /// Specifies the y-coordinate of the lower-right corner of the rectangle. /// internal LONG bottom; internal int Width { get { return right - left; } } internal int Height { get { return bottom - top; } } public override string ToString() { return String.Format("({0},{1})-({2},{3})", left, top, right, bottom); } internal Rectangle ToRectangle() { return Rectangle.FromLTRB(left, top, right, bottom); } internal static Win32Rectangle From(Rectangle value) { Win32Rectangle rect = new Win32Rectangle(); rect.left = value.Left; rect.right = value.Right; rect.top = value.Top; rect.bottom = value.Bottom; return rect; } internal static Win32Rectangle From(Size value) { Win32Rectangle rect = new Win32Rectangle(); rect.left = 0; rect.right = value.Width; rect.top = 0; rect.bottom = value.Height; return rect; } } #endregion #region WindowInfo /// \internal /// /// Contains window information. /// [StructLayout(LayoutKind.Sequential)] struct WindowInfo { /// /// The size of the structure, in bytes. /// public DWORD Size; /// /// Pointer to a RECT structure that specifies the coordinates of the window. /// public RECT Window; /// /// Pointer to a RECT structure that specifies the coordinates of the client area. /// public RECT Client; /// /// The window styles. For a table of window styles, see CreateWindowEx. /// public WindowStyle Style; /// /// The extended window styles. For a table of extended window styles, see CreateWindowEx. /// public ExtendedWindowStyle ExStyle; /// /// The window status. If this member is WS_ACTIVECAPTION, the window is active. Otherwise, this member is zero. /// public DWORD WindowStatus; /// /// The width of the window border, in pixels. /// public UINT WindowBordersX; /// /// The height of the window border, in pixels. /// public UINT WindowBordersY; /// /// The window class atom (see RegisterClass). /// public ATOM WindowType; /// /// The Microsoft Windows version of the application that created the window. /// public WORD CreatorVersion; } #endregion #region MonitorInfo struct MonitorInfo { public DWORD Size; public RECT Monitor; public RECT Work; public DWORD Flags; public static readonly int SizeInBytes = Marshal.SizeOf(default(MonitorInfo)); } #endregion #region NcCalculateSize [StructLayout(LayoutKind.Sequential, Pack=1)] internal struct NcCalculateSize { public Win32Rectangle NewBounds; public Win32Rectangle OldBounds; public Win32Rectangle OldClientRectangle; unsafe public WindowPosition* Position; } #endregion #region ShFileInfo [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] struct SHFILEINFO { public IntPtr hIcon; public int iIcon; public uint dwAttributes; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string szDisplayName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] public string szTypeName; }; #endregion #region TrackMouseEventStructure struct TrackMouseEventStructure { public DWORD Size; public TrackMouseEventFlags Flags; public HWND TrackWindowHandle; public DWORD HoverTime; public static readonly int SizeInBytes = Marshal.SizeOf(typeof(TrackMouseEventStructure)); } #endregion #endregion #region --- Enums --- #region GetWindowLongOffset /// /// Window field offsets for GetWindowLong() and GetWindowLongPtr(). /// enum GWL { WNDPROC = (-4), HINSTANCE = (-6), HWNDPARENT = (-8), STYLE = (-16), EXSTYLE = (-20), USERDATA = (-21), ID = (-12), } #endregion #region SizeMessage internal enum SizeMessage { MAXHIDE = 4, MAXIMIZED = 2, MAXSHOW = 3, MINIMIZED = 1, RESTORED = 0 } #endregion #region NcCalcSizeOptions internal enum NcCalcSizeOptions { ALIGNTOP = 0x10, ALIGNRIGHT = 0x80, ALIGNLEFT = 0x20, ALIGNBOTTOM = 0x40, HREDRAW = 0x100, VREDRAW = 0x200, REDRAW = (HREDRAW | VREDRAW), VALIDRECTS = 0x400 } #endregion #region internal enum DisplayModeSettingsEnum internal enum DisplayModeSettingsEnum { CurrentSettings = -1, RegistrySettings = -2 } #endregion #region internal enum DisplayDeviceStateFlags [Flags] internal enum DisplayDeviceStateFlags { None = 0x00000000, AttachedToDesktop = 0x00000001, MultiDriver = 0x00000002, PrimaryDevice = 0x00000004, MirroringDriver = 0x00000008, VgaCompatible = 0x00000010, Removable = 0x00000020, ModesPruned = 0x08000000, Remote = 0x04000000, Disconnect = 0x02000000, // Child device state Active = 0x00000001, Attached = 0x00000002, } #endregion #region internal enum ChangeDisplaySettingsEnum [Flags] internal enum ChangeDisplaySettingsEnum { // ChangeDisplaySettings types (found in winuser.h) UpdateRegistry = 0x00000001, Test = 0x00000002, Fullscreen = 0x00000004, } #endregion #region internal enum WindowStyle : uint [Flags] internal enum WindowStyle : uint { Overlapped = 0x00000000, Popup = 0x80000000, Child = 0x40000000, Minimize = 0x20000000, Visible = 0x10000000, Disabled = 0x08000000, ClipSiblings = 0x04000000, ClipChildren = 0x02000000, Maximize = 0x01000000, Caption = 0x00C00000, // Border | DialogFrame Border = 0x00800000, DialogFrame = 0x00400000, VScroll = 0x00200000, HScreen = 0x00100000, SystemMenu = 0x00080000, ThickFrame = 0x00040000, Group = 0x00020000, TabStop = 0x00010000, MinimizeBox = 0x00020000, MaximizeBox = 0x00010000, Tiled = Overlapped, Iconic = Minimize, SizeBox = ThickFrame, TiledWindow = OverlappedWindow, // Common window styles: OverlappedWindow = Overlapped | Caption | SystemMenu | ThickFrame | MinimizeBox | MaximizeBox, PopupWindow = Popup | Border | SystemMenu, ChildWindow = Child } #endregion #region internal enum ExtendedWindowStyle : uint [Flags] internal enum ExtendedWindowStyle : uint { DialogModalFrame = 0x00000001, NoParentNotify = 0x00000004, Topmost = 0x00000008, AcceptFiles = 0x00000010, Transparent = 0x00000020, // #if(WINVER >= 0x0400) MdiChild = 0x00000040, ToolWindow = 0x00000080, WindowEdge = 0x00000100, ClientEdge = 0x00000200, ContextHelp = 0x00000400, // #endif // #if(WINVER >= 0x0400) Right = 0x00001000, Left = 0x00000000, RightToLeftReading = 0x00002000, LeftToRightReading = 0x00000000, LeftScrollbar = 0x00004000, RightScrollbar = 0x00000000, ControlParent = 0x00010000, StaticEdge = 0x00020000, ApplicationWindow = 0x00040000, OverlappedWindow = WindowEdge | ClientEdge, PaletteWindow = WindowEdge | ToolWindow | Topmost, // #endif // #if(_WIN32_WINNT >= 0x0500) Layered = 0x00080000, // #endif // #if(WINVER >= 0x0500) NoInheritLayout = 0x00100000, // Disable inheritence of mirroring by children RightToLeftLayout = 0x00400000, // Right to left mirroring // #endif /* WINVER >= 0x0500 */ // #if(_WIN32_WINNT >= 0x0501) Composited = 0x02000000, // #endif /* _WIN32_WINNT >= 0x0501 */ // #if(_WIN32_WINNT >= 0x0500) NoActivate = 0x08000000 // #endif /* _WIN32_WINNT >= 0x0500 */ } #endregion #region GetWindowLongOffsets enum internal enum GetWindowLongOffsets : int { WNDPROC = (-4), HINSTANCE = (-6), HWNDPARENT = (-8), STYLE = (-16), EXSTYLE = (-20), USERDATA = (-21), ID = (-12), } #endregion #region PixelFormatDescriptorFlags enum [Flags] internal enum PixelFormatDescriptorFlags : int { // PixelFormatDescriptor flags DOUBLEBUFFER = 0x01, STEREO = 0x02, DRAW_TO_WINDOW = 0x04, DRAW_TO_BITMAP = 0x08, SUPPORT_GDI = 0x10, SUPPORT_OPENGL = 0x20, GENERIC_FORMAT = 0x40, NEED_PALETTE = 0x80, NEED_SYSTEM_PALETTE = 0x100, SWAP_EXCHANGE = 0x200, SWAP_COPY = 0x400, SWAP_LAYER_BUFFERS = 0x800, GENERIC_ACCELERATED = 0x1000, SUPPORT_DIRECTDRAW = 0x2000, // PixelFormatDescriptor flags for use in ChoosePixelFormat only DEPTH_DONTCARE = unchecked((int)0x20000000), DOUBLEBUFFER_DONTCARE = unchecked((int)0x40000000), STEREO_DONTCARE = unchecked((int)0x80000000) } #endregion #region PixelType internal enum PixelType : byte { RGBA = 0, INDEXED = 1 } #endregion #region WindowPlacementOptions enum internal enum WindowPlacementOptions { TOP = 0, BOTTOM = 1, TOPMOST = -1, NOTOPMOST = -2 } #endregion #region ClassStyle enum [Flags] internal enum ClassStyle { //None = 0x0000, VRedraw = 0x0001, HRedraw = 0x0002, DoubleClicks = 0x0008, OwnDC = 0x0020, ClassDC = 0x0040, ParentDC = 0x0080, NoClose = 0x0200, SaveBits = 0x0800, ByteAlignClient = 0x1000, ByteAlignWindow = 0x2000, GlobalClass = 0x4000, Ime = 0x00010000, // #if(_WIN32_WINNT >= 0x0501) DropShadow = 0x00020000 // #endif /* _WIN32_WINNT >= 0x0501 */ } #endregion #region RawInputDeviceFlags enum [Flags] internal enum RawInputDeviceFlags : int { /// /// If set, this removes the top level collection from the inclusion list. /// This tells the operating system to stop reading from a device which matches the top level collection. /// REMOVE = 0x00000001, /// /// If set, this specifies the top level collections to exclude when reading a complete usage page. /// This flag only affects a TLC whose usage page is already specified with RawInputDeviceEnum.PAGEONLY. /// EXCLUDE = 0x00000010, /// /// If set, this specifies all devices whose top level collection is from the specified UsagePage. /// Note that usUsage must be zero. To exclude a particular top level collection, use EXCLUDE. /// PAGEONLY = 0x00000020, /// /// If set, this prevents any devices specified by UsagePage or Usage from generating legacy messages. /// This is only for the mouse and keyboard. See RawInputDevice Remarks. /// NOLEGACY = 0x00000030, /// /// If set, this enables the caller to receive the input even when the caller is not in the foreground. /// Note that Target must be specified in RawInputDevice. /// INPUTSINK = 0x00000100, /// /// If set, the mouse button click does not activate the other window. /// CAPTUREMOUSE = 0x00000200, // effective when mouse nolegacy is specified, otherwise it would be an error /// /// If set, the application-defined keyboard device hotkeys are not handled. /// However, the system hotkeys; for example, ALT+TAB and CTRL+ALT+DEL, are still handled. /// By default, all keyboard hotkeys are handled. /// NOHOTKEYS can be specified even if NOLEGACY is not specified and Target is NULL in RawInputDevice. /// NOHOTKEYS = 0x00000200, // effective for keyboard. /// /// Microsoft Windows XP Service Pack 1 (SP1): If set, the application command keys are handled. APPKEYS can be specified only if NOLEGACY is specified for a keyboard device. /// APPKEYS = 0x00000400, // effective for keyboard. /// /// If set, this enables the caller to receive input in the background only if the foreground application /// does not process it. In other words, if the foreground application is not registered for raw input, /// then the background application that is registered will receive the input. /// EXINPUTSINK = 0x00001000, DEVNOTIFY = 0x00002000, //EXMODEMASK = 0x000000F0 } #endregion #region GetRawInputDataEnum internal enum GetRawInputDataEnum { INPUT = 0x10000003, HEADER = 0x10000005 } #endregion #region RawInputDeviceInfoEnum internal enum RawInputDeviceInfoEnum { PREPARSEDDATA = 0x20000005, DEVICENAME = 0x20000007, // the return valus is the character length, not the byte size DEVICEINFO = 0x2000000b } #endregion #region RawInputMouseState [Flags] internal enum RawInputMouseState : ushort { LEFT_BUTTON_DOWN = 0x0001, // Left Button changed to down. LEFT_BUTTON_UP = 0x0002, // Left Button changed to up. RIGHT_BUTTON_DOWN = 0x0004, // Right Button changed to down. RIGHT_BUTTON_UP = 0x0008, // Right Button changed to up. MIDDLE_BUTTON_DOWN = 0x0010, // Middle Button changed to down. MIDDLE_BUTTON_UP = 0x0020, // Middle Button changed to up. BUTTON_1_DOWN = LEFT_BUTTON_DOWN, BUTTON_1_UP = LEFT_BUTTON_UP, BUTTON_2_DOWN = RIGHT_BUTTON_DOWN, BUTTON_2_UP = RIGHT_BUTTON_UP, BUTTON_3_DOWN = MIDDLE_BUTTON_DOWN, BUTTON_3_UP = MIDDLE_BUTTON_UP, BUTTON_4_DOWN = 0x0040, BUTTON_4_UP = 0x0080, BUTTON_5_DOWN = 0x0100, BUTTON_5_UP = 0x0200, WHEEL = 0x0400 } #endregion #region RawInputKeyboardDataFlags internal enum RawInputKeyboardDataFlags : short //: ushort { MAKE = 0, BREAK = 1, E0 = 2, E1 = 4, TERMSRV_SET_LED = 8, TERMSRV_SHADOW = 0x10 } #endregion #region RawInputDeviceType internal enum RawInputDeviceType : int { MOUSE = 0, KEYBOARD = 1, HID = 2 } #endregion #region RawMouseFlags /// /// Mouse indicator flags (found in winuser.h). /// internal enum RawMouseFlags : ushort { /// /// LastX/Y indicate relative motion. /// MOUSE_MOVE_RELATIVE = 0x00, /// /// LastX/Y indicate absolute motion. /// MOUSE_MOVE_ABSOLUTE = 0x01, /// /// The coordinates are mapped to the virtual desktop. /// MOUSE_VIRTUAL_DESKTOP = 0x02, /// /// Requery for mouse attributes. /// MOUSE_ATTRIBUTES_CHANGED = 0x04, } #endregion #region VirtualKeys internal enum VirtualKeys : short { /* * Virtual Key, Standard Set */ LBUTTON = 0x01, RBUTTON = 0x02, CANCEL = 0x03, MBUTTON = 0x04, /* NOT contiguous with L & RBUTTON */ XBUTTON1 = 0x05, /* NOT contiguous with L & RBUTTON */ XBUTTON2 = 0x06, /* NOT contiguous with L & RBUTTON */ /* * 0x07 : unassigned */ BACK = 0x08, TAB = 0x09, /* * 0x0A - 0x0B : reserved */ CLEAR = 0x0C, RETURN = 0x0D, SHIFT = 0x10, CONTROL = 0x11, MENU = 0x12, PAUSE = 0x13, CAPITAL = 0x14, KANA = 0x15, HANGEUL = 0x15, /* old name - should be here for compatibility */ HANGUL = 0x15, JUNJA = 0x17, FINAL = 0x18, HANJA = 0x19, KANJI = 0x19, ESCAPE = 0x1B, CONVERT = 0x1C, NONCONVERT = 0x1D, ACCEPT = 0x1E, MODECHANGE = 0x1F, SPACE = 0x20, PRIOR = 0x21, NEXT = 0x22, END = 0x23, HOME = 0x24, LEFT = 0x25, UP = 0x26, RIGHT = 0x27, DOWN = 0x28, SELECT = 0x29, PRINT = 0x2A, EXECUTE = 0x2B, SNAPSHOT = 0x2C, INSERT = 0x2D, DELETE = 0x2E, HELP = 0x2F, /* * 0 - 9 are the same as ASCII '0' - '9' (0x30 - 0x39) * 0x40 : unassigned * A - Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) */ LWIN = 0x5B, RWIN = 0x5C, APPS = 0x5D, /* * 0x5E : reserved */ SLEEP = 0x5F, NUMPAD0 = 0x60, NUMPAD1 = 0x61, NUMPAD2 = 0x62, NUMPAD3 = 0x63, NUMPAD4 = 0x64, NUMPAD5 = 0x65, NUMPAD6 = 0x66, NUMPAD7 = 0x67, NUMPAD8 = 0x68, NUMPAD9 = 0x69, MULTIPLY = 0x6A, ADD = 0x6B, SEPARATOR = 0x6C, SUBTRACT = 0x6D, DECIMAL = 0x6E, DIVIDE = 0x6F, F1 = 0x70, F2 = 0x71, F3 = 0x72, F4 = 0x73, F5 = 0x74, F6 = 0x75, F7 = 0x76, F8 = 0x77, F9 = 0x78, F10 = 0x79, F11 = 0x7A, F12 = 0x7B, F13 = 0x7C, F14 = 0x7D, F15 = 0x7E, F16 = 0x7F, F17 = 0x80, F18 = 0x81, F19 = 0x82, F20 = 0x83, F21 = 0x84, F22 = 0x85, F23 = 0x86, F24 = 0x87, /* * 0x88 - 0x8F : unassigned */ NUMLOCK = 0x90, SCROLL = 0x91, /* * NEC PC-9800 kbd definitions */ OEM_NEC_EQUAL= 0x92, // '=' key on numpad /* * Fujitsu/OASYS kbd definitions */ OEM_FJ_JISHO = 0x92, // 'Dictionary' key OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key OEM_FJ_TOUROKU = 0x94, // 'Register word' key OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key /* * 0x97 - 0x9F : unassigned */ /* * L* & R* - left and right Alt, Ctrl and Shift virtual keys. * Used only as parameters to GetAsyncKeyState() and GetKeyState(). * No other API or message will distinguish left and right keys in this way. */ LSHIFT = 0xA0, RSHIFT = 0xA1, LCONTROL = 0xA2, RCONTROL = 0xA3, LMENU = 0xA4, RMENU = 0xA5, BROWSER_BACK = 0xA6, BROWSER_FORWARD = 0xA7, BROWSER_REFRESH = 0xA8, BROWSER_STOP = 0xA9, BROWSER_SEARCH = 0xAA, BROWSER_FAVORITES = 0xAB, BROWSER_HOME = 0xAC, VOLUME_MUTE = 0xAD, VOLUME_DOWN = 0xAE, VOLUME_UP = 0xAF, MEDIA_NEXT_TRACK = 0xB0, MEDIA_PREV_TRACK = 0xB1, MEDIA_STOP = 0xB2, MEDIA_PLAY_PAUSE = 0xB3, LAUNCH_MAIL = 0xB4, LAUNCH_MEDIA_SELECT = 0xB5, LAUNCH_APP1 = 0xB6, LAUNCH_APP2 = 0xB7, /* * 0xB8 - 0xB9 : reserved */ OEM_1 = 0xBA, // ';:' for US OEM_PLUS = 0xBB, // '+' any country OEM_COMMA = 0xBC, // ',' any country OEM_MINUS = 0xBD, // '-' any country OEM_PERIOD = 0xBE, // '.' any country OEM_2 = 0xBF, // '/?' for US OEM_3 = 0xC0, // '`~' for US /* * 0xC1 - 0xD7 : reserved */ /* * 0xD8 - 0xDA : unassigned */ OEM_4 = 0xDB, // '[{' for US OEM_5 = 0xDC, // '\|' for US OEM_6 = 0xDD, // ']}' for US OEM_7 = 0xDE, // ''"' for US OEM_8 = 0xDF, /* * 0xE0 : reserved */ /* * Various extended or enhanced keyboards */ OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. ICO_HELP = 0xE3, // Help key on ICO ICO_00 = 0xE4, // 00 key on ICO PROCESSKEY = 0xE5, ICO_CLEAR = 0xE6, PACKET = 0xE7, /* * 0xE8 : unassigned */ /* * Nokia/Ericsson definitions */ OEM_RESET = 0xE9, OEM_JUMP = 0xEA, OEM_PA1 = 0xEB, OEM_PA2 = 0xEC, OEM_PA3 = 0xED, OEM_WSCTRL = 0xEE, OEM_CUSEL = 0xEF, OEM_ATTN = 0xF0, OEM_FINISH = 0xF1, OEM_COPY = 0xF2, OEM_AUTO = 0xF3, OEM_ENLW = 0xF4, OEM_BACKTAB = 0xF5, ATTN = 0xF6, CRSEL = 0xF7, EXSEL = 0xF8, EREOF = 0xF9, PLAY = 0xFA, ZOOM = 0xFB, NONAME = 0xFC, PA1 = 0xFD, OEM_CLEAR = 0xFE, Last } #endregion #region MouseKeys /// /// Enumerates available mouse keys (suitable for use in WM_MOUSEMOVE messages). /// enum MouseKeys { // Summary: // No mouse button was pressed. None = 0, // // Summary: // The left mouse button was pressed. Left = 0x0001, // // Summary: // The right mouse button was pressed. Right = 0x0002, // // Summary: // The middle mouse button was pressed. Middle = 0x0010, // // Summary: // The first XButton was pressed. XButton1 = 0x0020, // // Summary: // The second XButton was pressed. XButton2 = 0x0040, } #endregion #region QueueStatusFlags /// \internal /// /// Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() /// [Flags] internal enum QueueStatusFlags { /// /// A WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP, or WM_SYSKEYDOWN message is in the queue. /// KEY = 0x0001, /// /// A WM_MOUSEMOVE message is in the queue. /// MOUSEMOVE = 0x0002, /// /// A mouse-button message (WM_LBUTTONUP, WM_RBUTTONDOWN, and so on). /// MOUSEBUTTON = 0x0004, /// /// A posted message (other than those listed here) is in the queue. /// POSTMESSAGE = 0x0008, /// /// A WM_TIMER message is in the queue. /// TIMER = 0x0010, /// /// A WM_PAINT message is in the queue. /// PAINT = 0x0020, /// /// A message sent by another thread or application is in the queue. /// SENDMESSAGE = 0x0040, /// /// A WM_HOTKEY message is in the queue. /// HOTKEY = 0x0080, /// /// A posted message (other than those listed here) is in the queue. /// ALLPOSTMESSAGE = 0x0100, /// /// A raw input message is in the queue. For more information, see Raw Input. /// Windows XP and higher only. /// RAWINPUT = 0x0400, /// /// A WM_MOUSEMOVE message or mouse-button message (WM_LBUTTONUP, WM_RBUTTONDOWN, and so on). /// MOUSE = MOUSEMOVE | MOUSEBUTTON, /// /// An input message is in the queue. This is composed of KEY, MOUSE and RAWINPUT. /// Windows XP and higher only. /// INPUT = MOUSE | KEY | RAWINPUT, /// /// An input message is in the queue. This is composed of QS_KEY and QS_MOUSE. /// Windows 2000 and earlier. /// INPUT_LEGACY = MOUSE | KEY, /// /// An input, WM_TIMER, WM_PAINT, WM_HOTKEY, or posted message is in the queue. /// ALLEVENTS = INPUT | POSTMESSAGE | TIMER | PAINT | HOTKEY, /// /// Any message is in the queue. /// ALLINPUT = INPUT | POSTMESSAGE | TIMER | PAINT | HOTKEY | SENDMESSAGE } #endregion #region WindowMessage internal enum WindowMessage : uint { NULL = 0x0000, CREATE = 0x0001, DESTROY = 0x0002, MOVE = 0x0003, SIZE = 0x0005, ACTIVATE = 0x0006, SETFOCUS = 0x0007, KILLFOCUS = 0x0008, // internal const uint SETVISIBLE = 0x0009; ENABLE = 0x000A, SETREDRAW = 0x000B, SETTEXT = 0x000C, GETTEXT = 0x000D, GETTEXTLENGTH = 0x000E, PAINT = 0x000F, CLOSE = 0x0010, QUERYENDSESSION = 0x0011, QUIT = 0x0012, QUERYOPEN = 0x0013, ERASEBKGND = 0x0014, SYSCOLORCHANGE = 0x0015, ENDSESSION = 0x0016, // internal const uint SYSTEMERROR = 0x0017; SHOWWINDOW = 0x0018, CTLCOLOR = 0x0019, WININICHANGE = 0x001A, SETTINGCHANGE = 0x001A, DEVMODECHANGE = 0x001B, ACTIVATEAPP = 0x001C, FONTCHANGE = 0x001D, TIMECHANGE = 0x001E, CANCELMODE = 0x001F, SETCURSOR = 0x0020, MOUSEACTIVATE = 0x0021, CHILDACTIVATE = 0x0022, QUEUESYNC = 0x0023, GETMINMAXINFO = 0x0024, PAINTICON = 0x0026, ICONERASEBKGND = 0x0027, NEXTDLGCTL = 0x0028, // internal const uint ALTTABACTIVE = 0x0029; SPOOLERSTATUS = 0x002A, DRAWITEM = 0x002B, MEASUREITEM = 0x002C, DELETEITEM = 0x002D, VKEYTOITEM = 0x002E, CHARTOITEM = 0x002F, SETFONT = 0x0030, GETFONT = 0x0031, SETHOTKEY = 0x0032, GETHOTKEY = 0x0033, // internal const uint FILESYSCHANGE = 0x0034; // internal const uint ISACTIVEICON = 0x0035; // internal const uint QUERYPARKICON = 0x0036; QUERYDRAGICON = 0x0037, COMPAREITEM = 0x0039, // internal const uint TESTING = 0x003a; // internal const uint OTHERWINDOWCREATED = 0x003c; GETOBJECT = 0x003D, // internal const uint ACTIVATESHELLWINDOW = 0x003e; COMPACTING = 0x0041, COMMNOTIFY = 0x0044, WINDOWPOSCHANGING = 0x0046, WINDOWPOSCHANGED = 0x0047, POWER = 0x0048, COPYDATA = 0x004A, CANCELJOURNAL = 0x004B, NOTIFY = 0x004E, INPUTLANGCHANGEREQUEST = 0x0050, INPUTLANGCHANGE = 0x0051, TCARD = 0x0052, HELP = 0x0053, USERCHANGED = 0x0054, NOTIFYFORMAT = 0x0055, CONTEXTMENU = 0x007B, STYLECHANGING = 0x007C, STYLECHANGED = 0x007D, DISPLAYCHANGE = 0x007E, GETICON = 0x007F, // Non-Client messages SETICON = 0x0080, NCCREATE = 0x0081, NCDESTROY = 0x0082, NCCALCSIZE = 0x0083, NCHITTEST = 0x0084, NCPAINT = 0x0085, NCACTIVATE = 0x0086, GETDLGCODE = 0x0087, SYNCPAINT = 0x0088, // internal const uint SYNCTASK = 0x0089; NCMOUSEMOVE = 0x00A0, NCLBUTTONDOWN = 0x00A1, NCLBUTTONUP = 0x00A2, NCLBUTTONDBLCLK = 0x00A3, NCRBUTTONDOWN = 0x00A4, NCRBUTTONUP = 0x00A5, NCRBUTTONDBLCLK = 0x00A6, NCMBUTTONDOWN = 0x00A7, NCMBUTTONUP = 0x00A8, NCMBUTTONDBLCLK = 0x00A9, /// /// Windows 2000 and higher only. /// NCXBUTTONDOWN = 0x00ab, /// /// Windows 2000 and higher only. /// NCXBUTTONUP = 0x00ac, /// /// Windows 2000 and higher only. /// NCXBUTTONDBLCLK = 0x00ad, INPUT = 0x00FF, KEYDOWN = 0x0100, KEYFIRST = 0x0100, KEYUP = 0x0101, CHAR = 0x0102, DEADCHAR = 0x0103, SYSKEYDOWN = 0x0104, SYSKEYUP = 0x0105, SYSCHAR = 0x0106, SYSDEADCHAR = 0x0107, KEYLAST = 0x0108, IME_STARTCOMPOSITION = 0x010D, IME_ENDCOMPOSITION = 0x010E, IME_COMPOSITION = 0x010F, IME_KEYLAST = 0x010F, INITDIALOG = 0x0110, COMMAND = 0x0111, SYSCOMMAND = 0x0112, TIMER = 0x0113, HSCROLL = 0x0114, VSCROLL = 0x0115, INITMENU = 0x0116, INITMENUPOPUP = 0x0117, // internal const uint SYSTIMER = 0x0118; MENUSELECT = 0x011F, MENUCHAR = 0x0120, ENTERIDLE = 0x0121, MENURBUTTONUP = 0x0122, MENUDRAG = 0x0123, MENUGETOBJECT = 0x0124, UNINITMENUPOPUP = 0x0125, MENUCOMMAND = 0x0126, CHANGEUISTATE = 0x0127, UPDATEUISTATE = 0x0128, QUERYUISTATE = 0x0129, // internal const uint LBTRACKPOINT = 0x0131; CTLCOLORMSGBOX = 0x0132, CTLCOLOREDIT = 0x0133, CTLCOLORLISTBOX = 0x0134, CTLCOLORBTN = 0x0135, CTLCOLORDLG = 0x0136, CTLCOLORSCROLLBAR = 0x0137, CTLCOLORSTATIC = 0x0138, MOUSEMOVE = 0x0200, MOUSEFIRST = 0x0200, LBUTTONDOWN = 0x0201, LBUTTONUP = 0x0202, LBUTTONDBLCLK = 0x0203, RBUTTONDOWN = 0x0204, RBUTTONUP = 0x0205, RBUTTONDBLCLK = 0x0206, MBUTTONDOWN = 0x0207, MBUTTONUP = 0x0208, MBUTTONDBLCLK = 0x0209, MOUSEWHEEL = 0x020A, MOUSELAST = 0x020D, /// /// Windows 2000 and higher only. /// XBUTTONDOWN = 0x020B, /// /// Windows 2000 and higher only. /// XBUTTONUP = 0x020C, /// /// Windows 2000 and higher only. /// XBUTTONDBLCLK = 0x020D, PARENTNOTIFY = 0x0210, ENTERMENULOOP = 0x0211, EXITMENULOOP = 0x0212, NEXTMENU = 0x0213, SIZING = 0x0214, CAPTURECHANGED = 0x0215, MOVING = 0x0216, // internal const uint POWERBROADCAST = 0x0218; DEVICECHANGE = 0x0219, MDICREATE = 0x0220, MDIDESTROY = 0x0221, MDIACTIVATE = 0x0222, MDIRESTORE = 0x0223, MDINEXT = 0x0224, MDIMAXIMIZE = 0x0225, MDITILE = 0x0226, MDICASCADE = 0x0227, MDIICONARRANGE = 0x0228, MDIGETACTIVE = 0x0229, /* D&D messages */ // internal const uint DROPOBJECT = 0x022A; // internal const uint QUERYDROPOBJECT = 0x022B; // internal const uint BEGINDRAG = 0x022C; // internal const uint DRAGLOOP = 0x022D; // internal const uint DRAGSELECT = 0x022E; // internal const uint DRAGMOVE = 0x022F; MDISETMENU = 0x0230, ENTERSIZEMOVE = 0x0231, EXITSIZEMOVE = 0x0232, DROPFILES = 0x0233, MDIREFRESHMENU = 0x0234, IME_SETCONTEXT = 0x0281, IME_NOTIFY = 0x0282, IME_CONTROL = 0x0283, IME_COMPOSITIONFULL = 0x0284, IME_SELECT = 0x0285, IME_CHAR = 0x0286, IME_REQUEST = 0x0288, IME_KEYDOWN = 0x0290, IME_KEYUP = 0x0291, NCMOUSEHOVER = 0x02A0, MOUSEHOVER = 0x02A1, NCMOUSELEAVE = 0x02A2, MOUSELEAVE = 0x02A3, CUT = 0x0300, COPY = 0x0301, PASTE = 0x0302, CLEAR = 0x0303, UNDO = 0x0304, RENDERFORMAT = 0x0305, RENDERALLFORMATS = 0x0306, DESTROYCLIPBOARD = 0x0307, DRAWCLIPBOARD = 0x0308, PAINTCLIPBOARD = 0x0309, VSCROLLCLIPBOARD = 0x030A, SIZECLIPBOARD = 0x030B, ASKCBFORMATNAME = 0x030C, CHANGECBCHAIN = 0x030D, HSCROLLCLIPBOARD = 0x030E, QUERYNEWPALETTE = 0x030F, PALETTEISCHANGING = 0x0310, PALETTECHANGED = 0x0311, HOTKEY = 0x0312, PRINT = 0x0317, PRINTCLIENT = 0x0318, HANDHELDFIRST = 0x0358, HANDHELDLAST = 0x035F, AFXFIRST = 0x0360, AFXLAST = 0x037F, PENWINFIRST = 0x0380, PENWINLAST = 0x038F, APP = 0x8000, USER = 0x0400, // Our "private" ones MOUSE_ENTER = 0x0401, ASYNC_MESSAGE = 0x0403, REFLECT = USER + 0x1c00, CLOSE_INTERNAL = USER + 0x1c01, // NotifyIcon (Systray) Balloon messages BALLOONSHOW = USER + 0x0002, BALLOONHIDE = USER + 0x0003, BALLOONTIMEOUT = USER + 0x0004, BALLOONUSERCLICK = USER + 0x0005 } #endregion #region ShowWindowCommand /// /// ShowWindow() Commands /// internal enum ShowWindowCommand { /// /// Hides the window and activates another window. /// HIDE = 0, /// /// Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time. /// SHOWNORMAL = 1, NORMAL = 1, /// /// Activates the window and displays it as a minimized window. /// SHOWMINIMIZED = 2, /// /// Activates the window and displays it as a maximized window. /// SHOWMAXIMIZED = 3, MAXIMIZE = 3, /// /// Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated. /// SHOWNOACTIVATE = 4, /// /// Activates the window and displays it in its current size and position. /// SHOW = 5, /// /// Minimizes the specified window and activates the next top-level window in the Z order. /// MINIMIZE = 6, /// /// Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated. /// SHOWMINNOACTIVE = 7, /// /// Displays the window in its current size and position. This value is similar to SW_SHOW, except the window is not activated. /// SHOWNA = 8, /// /// Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. /// RESTORE = 9, /// /// Sets the show state based on the SW_ value specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. /// SHOWDEFAULT = 10, /// /// Windows 2000/XP: Minimizes a window, even if the thread that owns the window is not responding. This flag should only be used when minimizing windows from a different thread. /// FORCEMINIMIZE = 11, //MAX = 11, // Old ShowWindow() Commands //HIDE_WINDOW = 0, //SHOW_OPENWINDOW = 1, //SHOW_ICONWINDOW = 2, //SHOW_FULLSCREEN = 3, //SHOW_OPENNOACTIVATE= 4, } #endregion #region ShowWindowMessageIdentifiers /// /// Identifiers for the WM_SHOWWINDOW message /// internal enum ShowWindowMessageIdentifiers { PARENTCLOSING = 1, OTHERZOOM = 2, PARENTOPENING = 3, OTHERUNZOOM = 4, } #endregion #region GDI charset /// /// Enumerates the available character sets. /// internal enum GdiCharset { Ansi = 0, Default = 1, Symbol = 2, ShiftJIS = 128, Hangeul = 129, Hangul = 129, GB2312 = 134, ChineseBig5 = 136, OEM = 255, //#if(WINVER >= 0x0400) Johab = 130, Hebrew = 177, Arabic = 178, Greek = 161, Turkish = 162, Vietnamese = 163, Thai = 222, EastEurope = 238, Russian = 204, Mac = 77, Baltic = 186, } #endregion #region MapVirtualKeyType internal enum MapVirtualKeyType { /// uCode is a virtual-key code and is translated into a scan code. If it is a virtual-key code that does not distinguish between left- and right-hand keys, the left-hand scan code is returned. If there is no translation, the function returns 0. VirtualKeyToScanCode = 0, /// uCode is a scan code and is translated into a virtual-key code that does not distinguish between left- and right-hand keys. If there is no translation, the function returns 0. ScanCodeToVirtualKey = 1, /// uCode is a virtual-key code and is translated into an unshifted character value in the low-order word of the return value. Dead keys (diacritics) are indicated by setting the top bit of the return value. If there is no translation, the function returns 0. VirtualKeyToCharacter = 2, /// Windows NT/2000/XP: uCode is a scan code and is translated into a virtual-key code that distinguishes between left- and right-hand keys. If there is no translation, the function returns 0. ScanCodeToVirtualKeyExtended = 3, VirtualKeyToScanCodeExtended = 4, } #endregion #region DwmWindowAttribute enum DwmWindowAttribute { NCRENDERING_ENABLED = 1, NCRENDERING_POLICY, TRANSITIONS_FORCEDISABLED, ALLOW_NCPAINT, CAPTION_BUTTON_BOUNDS, NONCLIENT_RTL_LAYOUT, FORCE_ICONIC_REPRESENTATION, FLIP3D_POLICY, EXTENDED_FRAME_BOUNDS, HAS_ICONIC_BITMAP, DISALLOW_PEEK, EXCLUDED_FROM_PEEK, LAST } #endregion #region ShGetFileIcon [Flags] enum ShGetFileIconFlags : int { /// get icon Icon = 0x000000100, /// get display name DisplayName = 0x000000200, /// get type name TypeName = 0x000000400, /// get attributes Attributes = 0x000000800, /// get icon location IconLocation = 0x000001000, /// return exe type ExeType = 0x000002000, /// get system icon index SysIconIndex = 0x000004000, /// put a link overlay on icon LinkOverlay = 0x000008000, /// show icon in selected state Selected = 0x000010000, /// get only specified attributes Attr_Specified = 0x000020000, /// get large icon LargeIcon = 0x000000000, /// get small icon SmallIcon = 0x000000001, /// get open icon OpenIcon = 0x000000002, /// get shell size icon ShellIconSize = 0x000000004, /// pszPath is a pidl PIDL = 0x000000008, /// use passed dwFileAttribute UseFileAttributes = 0x000000010, /// apply the appropriate overlays AddOverlays = 0x000000020, /// Get the index of the overlay in the upper 8 bits of the iIcon OverlayIndex = 0x000000040, } #endregion #region MonitorFrom enum MonitorFrom { Null = 0, Primary = 1, Nearest = 2, } #endregion #region CursorName enum CursorName : int { Arrow = 32512 } #endregion #region TrackMouseEventFlags [Flags] enum TrackMouseEventFlags : uint { HOVER = 0x00000001, LEAVE = 0x00000002, NONCLIENT = 0x00000010, QUERY = 0x40000000, CANCEL = 0x80000000, } #endregion #region MouseActivate enum MouseActivate { ACTIVATE = 1, ACTIVATEANDEAT = 2, NOACTIVATE = 3, NOACTIVATEANDEAT = 4, } #endregion #endregion #region --- Callbacks --- internal delegate IntPtr WindowProcedure(IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam); #region Message [StructLayout(LayoutKind.Sequential), CLSCompliant(false)] internal struct MSG { internal IntPtr HWnd; internal WindowMessage Message; internal IntPtr WParam; internal IntPtr LParam; internal uint Time; internal POINT Point; //internal object RefObject; public override string ToString() { return String.Format("msg=0x{0:x} ({1}) hwnd=0x{2:x} wparam=0x{3:x} lparam=0x{4:x} pt=0x{5:x}", (int)Message, Message.ToString(), HWnd.ToInt32(), WParam.ToInt32(), LParam.ToInt32(), Point); } } #endregion #region Point [StructLayout(LayoutKind.Sequential)] internal struct POINT { internal int X; internal int Y; internal POINT(int x, int y) { this.X = x; this.Y = y; } internal Point ToPoint() { return new Point(X, Y); } public override string ToString() { return "Point {" + X.ToString() + ", " + Y.ToString() + ")"; } } #endregion #endregion } #pragma warning restore 3019 #pragma warning restore 0649 #pragma warning restore 0169 #pragma warning restore 0414opentk-1.0.20101006/Source/OpenTK/Platform/Windows/Bindings/0000775000175000017500000000000011453142154022121 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/Windows/Bindings/WglCore.cs0000664000175000017500000002042611453131422024012 0ustar laneylaneynamespace OpenTK.Platform.Windows { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 partial class Wgl { internal static partial class Imports { [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglCreateContext", ExactSpelling = true, SetLastError=true)] internal extern static IntPtr CreateContext(IntPtr hDc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglDeleteContext", ExactSpelling = true, SetLastError = true)] internal extern static Boolean DeleteContext(IntPtr oldContext); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetCurrentContext", ExactSpelling = true, SetLastError=true)] internal extern static IntPtr GetCurrentContext(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglMakeCurrent", ExactSpelling = true, SetLastError=true)] internal extern static Boolean MakeCurrent(IntPtr hDc, IntPtr newContext); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglCopyContext", ExactSpelling = true, SetLastError = true)] internal extern static Boolean CopyContext(IntPtr hglrcSrc, IntPtr hglrcDst, UInt32 mask); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglChoosePixelFormat", ExactSpelling = true, SetLastError = true)] internal extern static unsafe int ChoosePixelFormat(IntPtr hDc, PixelFormatDescriptor* pPfd); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglDescribePixelFormat", ExactSpelling = true, SetLastError = true)] internal extern static unsafe int DescribePixelFormat(IntPtr hdc, int ipfd, UInt32 cjpfd, PixelFormatDescriptor* ppfd); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetCurrentDC", ExactSpelling = true, SetLastError = true)] internal extern static IntPtr GetCurrentDC(); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetDefaultProcAddress", ExactSpelling = true, SetLastError = true)] internal extern static IntPtr GetDefaultProcAddress(String lpszProc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetProcAddress", ExactSpelling = true, SetLastError = true)] internal extern static IntPtr GetProcAddress(String lpszProc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetPixelFormat", ExactSpelling = true, SetLastError = true)] internal extern static int GetPixelFormat(IntPtr hdc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglSetPixelFormat", ExactSpelling = true, SetLastError = true)] internal extern static unsafe Boolean SetPixelFormat(IntPtr hdc, int ipfd, PixelFormatDescriptor* ppfd); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglSwapBuffers", ExactSpelling = true, SetLastError = true)] internal extern static Boolean SwapBuffers(IntPtr hdc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglShareLists", ExactSpelling = true, SetLastError = true)] internal extern static Boolean ShareLists(IntPtr hrcSrvShare, IntPtr hrcSrvSource); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglCreateLayerContext", ExactSpelling = true, SetLastError = true)] internal extern static IntPtr CreateLayerContext(IntPtr hDc, int level); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglDescribeLayerPlane", ExactSpelling = true)] internal extern static unsafe Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, UInt32 nBytes, LayerPlaneDescriptor* plpd); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglSetLayerPaletteEntries", ExactSpelling = true)] internal extern static unsafe int SetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglGetLayerPaletteEntries", ExactSpelling = true)] internal extern static unsafe int GetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglRealizeLayerPalette", ExactSpelling = true)] internal extern static Boolean RealizeLayerPalette(IntPtr hdc, int iLayerPlane, Boolean bRealize); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglSwapLayerBuffers", ExactSpelling = true)] internal extern static Boolean SwapLayerBuffers(IntPtr hdc, UInt32 fuFlags); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglUseFontBitmapsA", CharSet = CharSet.Auto)] internal extern static Boolean UseFontBitmapsA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglUseFontBitmapsW", CharSet = CharSet.Auto)] internal extern static Boolean UseFontBitmapsW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglUseFontOutlinesA", CharSet = CharSet.Auto)] internal extern static unsafe Boolean UseFontOutlinesA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglUseFontOutlinesW", CharSet = CharSet.Auto)] internal extern static unsafe Boolean UseFontOutlinesW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglMakeContextCurrentEXT", ExactSpelling = true, SetLastError = true)] internal extern static Boolean MakeContextCurrentEXT(IntPtr hDrawDC, IntPtr hReadDC, IntPtr hglrc); [System.Security.SuppressUnmanagedCodeSecurity()] [System.Runtime.InteropServices.DllImport(Wgl.Library, EntryPoint = "wglChoosePixelFormatEXT", ExactSpelling = true, SetLastError = true)] internal extern static unsafe Boolean ChoosePixelFormatEXT(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, UInt32 nMaxFormats, [Out] int* piFormats, [Out] UInt32* nNumFormats); } } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/Bindings/WglEnums.cs0000664000175000017500000004602611453131422024215 0ustar laneylaneynamespace OpenTK.Platform.Windows { #pragma warning disable 3019 #pragma warning disable 1591 public enum ArbCreateContext { DebugBit = 0x0001, ForwardCompatibleBit = 0x0002, MajorVersion = 0x2091, MinorVersion = 0x2092, LayerPlane = 0x2093, Flags = 0x2094, ErrorInvalidVersion = 0x2095, } public enum WGL_ARB_buffer_region { BackColorBufferBitArb = ((int)0x00000002), StencilBufferBitArb = ((int)0x00000008), FrontColorBufferBitArb = ((int)0x00000001), DepthBufferBitArb = ((int)0x00000004), } public enum WGL_EXT_pixel_format { SupportGdiExt = ((int)0x200f), TypeColorindexExt = ((int)0x202c), AccelerationExt = ((int)0x2003), GreenBitsExt = ((int)0x2017), DrawToWindowExt = ((int)0x2001), SwapCopyExt = ((int)0x2029), DrawToBitmapExt = ((int)0x2002), TransparentExt = ((int)0x200a), SwapMethodExt = ((int)0x2007), SwapLayerBuffersExt = ((int)0x2006), PixelTypeExt = ((int)0x2013), AlphaShiftExt = ((int)0x201c), AccumRedBitsExt = ((int)0x201e), FullAccelerationExt = ((int)0x2027), SupportOpenglExt = ((int)0x2010), BlueShiftExt = ((int)0x201a), RedBitsExt = ((int)0x2015), NoAccelerationExt = ((int)0x2025), StereoExt = ((int)0x2012), GreenShiftExt = ((int)0x2018), BlueBitsExt = ((int)0x2019), AlphaBitsExt = ((int)0x201b), RedShiftExt = ((int)0x2016), DepthBitsExt = ((int)0x2022), TypeRgbaExt = ((int)0x202b), GenericAccelerationExt = ((int)0x2026), AccumAlphaBitsExt = ((int)0x2021), AccumGreenBitsExt = ((int)0x201f), TransparentValueExt = ((int)0x200b), AccumBlueBitsExt = ((int)0x2020), ShareDepthExt = ((int)0x200c), ShareAccumExt = ((int)0x200e), SwapExchangeExt = ((int)0x2028), AccumBitsExt = ((int)0x201d), NumberUnderlaysExt = ((int)0x2009), StencilBitsExt = ((int)0x2023), DoubleBufferExt = ((int)0x2011), NeedPaletteExt = ((int)0x2004), ColorBitsExt = ((int)0x2014), SwapUndefinedExt = ((int)0x202a), NeedSystemPaletteExt = ((int)0x2005), NumberOverlaysExt = ((int)0x2008), AuxBuffersExt = ((int)0x2024), NumberPixelFormatsExt = ((int)0x2000), ShareStencilExt = ((int)0x200d), } public enum WGL_ARB_pixel_format { ShareStencilArb = ((int)0x200d), AccumBitsArb = ((int)0x201d), NumberUnderlaysArb = ((int)0x2009), StereoArb = ((int)0x2012), MaxPbufferHeightArb = ((int)0x2030), TypeRgbaArb = ((int)0x202b), SupportGdiArb = ((int)0x200f), NeedSystemPaletteArb = ((int)0x2005), AlphaBitsArb = ((int)0x201b), ShareDepthArb = ((int)0x200c), SupportOpenglArb = ((int)0x2010), ColorBitsArb = ((int)0x2014), AccumRedBitsArb = ((int)0x201e), MaxPbufferWidthArb = ((int)0x202f), NumberOverlaysArb = ((int)0x2008), MaxPbufferPixelsArb = ((int)0x202e), NeedPaletteArb = ((int)0x2004), RedShiftArb = ((int)0x2016), AccelerationArb = ((int)0x2003), GreenBitsArb = ((int)0x2017), TransparentGreenValueArb = ((int)0x2038), PixelTypeArb = ((int)0x2013), AuxBuffersArb = ((int)0x2024), DrawToWindowArb = ((int)0x2001), RedBitsArb = ((int)0x2015), NumberPixelFormatsArb = ((int)0x2000), GenericAccelerationArb = ((int)0x2026), BlueBitsArb = ((int)0x2019), PbufferLargestArb = ((int)0x2033), AccumAlphaBitsArb = ((int)0x2021), TransparentArb = ((int)0x200a), FullAccelerationArb = ((int)0x2027), ShareAccumArb = ((int)0x200e), SwapExchangeArb = ((int)0x2028), SwapUndefinedArb = ((int)0x202a), TransparentAlphaValueArb = ((int)0x203a), PbufferHeightArb = ((int)0x2035), TransparentBlueValueArb = ((int)0x2039), SwapMethodArb = ((int)0x2007), StencilBitsArb = ((int)0x2023), DepthBitsArb = ((int)0x2022), GreenShiftArb = ((int)0x2018), TransparentRedValueArb = ((int)0x2037), DoubleBufferArb = ((int)0x2011), NoAccelerationArb = ((int)0x2025), TypeColorindexArb = ((int)0x202c), SwapLayerBuffersArb = ((int)0x2006), AccumBlueBitsArb = ((int)0x2020), DrawToPbufferArb = ((int)0x202d), AccumGreenBitsArb = ((int)0x201f), PbufferWidthArb = ((int)0x2034), TransparentIndexValueArb = ((int)0x203b), AlphaShiftArb = ((int)0x201c), DrawToBitmapArb = ((int)0x2002), BlueShiftArb = ((int)0x201a), SwapCopyArb = ((int)0x2029), } public enum WGL_EXT_pbuffer { DrawToPbufferExt = ((int)0x202d), PbufferLargestExt = ((int)0x2033), OptimalPbufferWidthExt = ((int)0x2031), MaxPbufferPixelsExt = ((int)0x202e), MaxPbufferHeightExt = ((int)0x2030), PbufferWidthExt = ((int)0x2034), MaxPbufferWidthExt = ((int)0x202f), OptimalPbufferHeightExt = ((int)0x2032), PbufferHeightExt = ((int)0x2035), } public enum WGL_ARB_pbuffer { PbufferWidthArb = ((int)0x2034), TransparentGreenValueArb = ((int)0x2038), PbufferHeightArb = ((int)0x2035), PbufferLostArb = ((int)0x2036), DrawToPbufferArb = ((int)0x202d), TransparentIndexValueArb = ((int)0x203b), TransparentRedValueArb = ((int)0x2037), MaxPbufferPixelsArb = ((int)0x202e), TransparentAlphaValueArb = ((int)0x203a), MaxPbufferWidthArb = ((int)0x202f), MaxPbufferHeightArb = ((int)0x2030), TransparentBlueValueArb = ((int)0x2039), PbufferLargestArb = ((int)0x2033), } public enum WGL_EXT_depth_float { DepthFloatExt = ((int)0x2040), } public enum WGL_EXT_multisample { SampleBuffersExt = ((int)0x2041), SamplesExt = ((int)0x2042), } public enum WGL_ARB_multisample { SampleBuffersArb = ((int)0x2041), SamplesArb = ((int)0x2042), } public enum WGL_EXT_make_current_read { ErrorInvalidPixelTypeExt = ((int)0x2043), } public enum WGL_ARB_make_current_read { ErrorInvalidPixelTypeArb = ((int)0x2043), ErrorIncompatibleDeviceContextsArb = ((int)0x2054), } public enum WGL_I3D_genlock { GenlockSourceMultiviewI3d = ((int)0x2044), GenlockSourceEdgeBothI3d = ((int)0x204c), GenlockSourceEdgeRisingI3d = ((int)0x204b), GenlockSourceDigitalSyncI3d = ((int)0x2048), GenlockSourceExtenalFieldI3d = ((int)0x2046), GenlockSourceDigitalFieldI3d = ((int)0x2049), GenlockSourceExtenalSyncI3d = ((int)0x2045), GenlockSourceEdgeFallingI3d = ((int)0x204a), GenlockSourceExtenalTtlI3d = ((int)0x2047), } public enum WGL_I3D_gamma { GammaExcludeDesktopI3d = ((int)0x204f), GammaTableSizeI3d = ((int)0x204e), } public enum WGL_I3D_digital_video_control { DigitalVideoCursorAlphaFramebufferI3d = ((int)0x2050), DigitalVideoGammaCorrectedI3d = ((int)0x2053), DigitalVideoCursorAlphaValueI3d = ((int)0x2051), DigitalVideoCursorIncludedI3d = ((int)0x2052), } public enum WGL_3DFX_multisample { SampleBuffers3dfx = ((int)0x2060), Samples3dfx = ((int)0x2061), } public enum WGL_ARB_render_texture { TextureCubeMapPositiveXArb = ((int)0x207d), TextureCubeMapPositiveYArb = ((int)0x207f), Aux0Arb = ((int)0x2087), Texture1dArb = ((int)0x2079), Aux6Arb = ((int)0x208d), TextureCubeMapArb = ((int)0x2078), TextureFormatArb = ((int)0x2072), BackRightArb = ((int)0x2086), BindToTextureRgbArb = ((int)0x2070), MipmapLevelArb = ((int)0x207b), CubeMapFaceArb = ((int)0x207c), TextureCubeMapNegativeXArb = ((int)0x207e), Aux7Arb = ((int)0x208e), Aux8Arb = ((int)0x208f), MipmapTextureArb = ((int)0x2074), NoTextureArb = ((int)0x2077), Aux3Arb = ((int)0x208a), Texture2DArb = ((int)0x207a), Aux1Arb = ((int)0x2088), TextureCubeMapPositiveZArb = ((int)0x2081), BindToTextureRgbaArb = ((int)0x2071), TextureCubeMapNegativeYArb = ((int)0x2080), TextureRgbaArb = ((int)0x2076), FrontRightArb = ((int)0x2084), Aux5Arb = ((int)0x208c), Aux4Arb = ((int)0x208b), TextureTargetArb = ((int)0x2073), FrontLeftArb = ((int)0x2083), Aux9Arb = ((int)0x2090), TextureRgbArb = ((int)0x2075), BackLeftArb = ((int)0x2085), TextureCubeMapNegativeZArb = ((int)0x2082), Aux2Arb = ((int)0x2089), } public enum WGL_NV_render_texture_rectangle { BindToTextureRectangleRgbNv = ((int)0x20a0), BindToTextureRectangleRgbaNv = ((int)0x20a1), TextureRectangleNv = ((int)0x20a2), } public enum WGL_NV_render_depth_texture { DepthTextureFormatNv = ((int)0x20a5), TextureDepthComponentNv = ((int)0x20a6), BindToTextureDepthNv = ((int)0x20a3), DepthComponentNv = ((int)0x20a7), BindToTextureRectangleDepthNv = ((int)0x20a4), } public enum WGL_NV_float_buffer { BindToTextureRectangleFloatRNv = ((int)0x20b1), TextureFloatRNv = ((int)0x20b5), TextureFloatRgbNv = ((int)0x20b7), TextureFloatRgNv = ((int)0x20b6), TextureFloatRgbaNv = ((int)0x20b8), BindToTextureRectangleFloatRgbaNv = ((int)0x20b4), FloatComponentsNv = ((int)0x20b0), BindToTextureRectangleFloatRgNv = ((int)0x20b2), BindToTextureRectangleFloatRgbNv = ((int)0x20b3), } public enum WGL_ARB_pixel_format_float { TypeRgbaFloatArb = ((int)0x21a0), } public enum WGL_ATI_pixel_format_float { TypeRgbaFloatAti = ((int)0x21a0), } public enum WGL_font_type { FontLines = ((int)0), } public enum All { SwapCopyExt = ((int)0x2029), BackColorBufferBitArb = ((int)0x00000002), FullAccelerationArb = ((int)0x2027), AccelerationExt = ((int)0x2003), GenlockSourceMultiviewI3d = ((int)0x2044), Aux3Arb = ((int)0x208a), TextureCubeMapNegativeYArb = ((int)0x2080), DoubleBufferArb = ((int)0x2011), SwapUndefinedExt = ((int)0x202a), SupportGdiArb = ((int)0x200f), Aux2Arb = ((int)0x2089), TextureCubeMapArb = ((int)0x2078), SwapLayerBuffersExt = ((int)0x2006), SwapCopyArb = ((int)0x2029), ErrorIncompatibleDeviceContextsArb = ((int)0x2054), TypeColorindexArb = ((int)0x202c), DigitalVideoCursorIncludedI3d = ((int)0x2052), NeedPaletteExt = ((int)0x2004), RedBitsArb = ((int)0x2015), TextureCubeMapNegativeXArb = ((int)0x207e), SampleBuffersExt = ((int)0x2041), GenericAccelerationExt = ((int)0x2026), BindToTextureRectangleRgbaNv = ((int)0x20a1), NoTextureArb = ((int)0x2077), FrontColorBufferBitArb = ((int)0x00000001), TransparentValueExt = ((int)0x200b), AlphaBitsArb = ((int)0x201b), RedBitsExt = ((int)0x2015), PbufferHeightArb = ((int)0x2035), BindToTextureRectangleFloatRgbaNv = ((int)0x20b4), SampleBuffersArb = ((int)0x2041), MipmapLevelArb = ((int)0x207b), NeedSystemPaletteExt = ((int)0x2005), Aux4Arb = ((int)0x208b), TextureFormatArb = ((int)0x2072), AccumBitsExt = ((int)0x201d), AccumBlueBitsExt = ((int)0x2020), BackLeftArb = ((int)0x2085), AlphaBitsExt = ((int)0x201b), StencilBitsArb = ((int)0x2023), DrawToPbufferExt = ((int)0x202d), FullAccelerationExt = ((int)0x2027), ColorBitsExt = ((int)0x2014), BindToTextureRectangleFloatRgNv = ((int)0x20b2), DepthBufferBitArb = ((int)0x00000004), BindToTextureRgbaArb = ((int)0x2071), AccumGreenBitsArb = ((int)0x201f), AccumBitsArb = ((int)0x201d), TypeRgbaFloatArb = ((int)0x21a0), NeedPaletteArb = ((int)0x2004), ShareAccumArb = ((int)0x200e), TransparentArb = ((int)0x200a), ShareStencilArb = ((int)0x200d), Aux5Arb = ((int)0x208c), ImageBufferLockI3d = ((int)0x00000002), TextureFloatRNv = ((int)0x20b5), DepthComponentNv = ((int)0x20a7), FloatComponentsNv = ((int)0x20b0), TransparentGreenValueArb = ((int)0x2038), GenlockSourceExtenalTtlI3d = ((int)0x2047), NeedSystemPaletteArb = ((int)0x2005), BlueBitsExt = ((int)0x2019), GreenShiftExt = ((int)0x2018), OptimalPbufferWidthExt = ((int)0x2031), AuxBuffersExt = ((int)0x2024), TypeRgbaFloatAti = ((int)0x21a0), FrontRightArb = ((int)0x2084), DepthBitsExt = ((int)0x2022), GammaTableSizeI3d = ((int)0x204e), AccumAlphaBitsArb = ((int)0x2021), Aux0Arb = ((int)0x2087), TransparentIndexValueArb = ((int)0x203b), AccumGreenBitsExt = ((int)0x201f), TransparentBlueValueArb = ((int)0x2039), NoAccelerationArb = ((int)0x2025), MaxPbufferPixelsArb = ((int)0x202e), GammaExcludeDesktopI3d = ((int)0x204f), MaxPbufferPixelsExt = ((int)0x202e), AccumBlueBitsArb = ((int)0x2020), SwapUndefinedArb = ((int)0x202a), ShareDepthExt = ((int)0x200c), GenlockSourceEdgeBothI3d = ((int)0x204c), Samples3dfx = ((int)0x2061), DoubleBufferExt = ((int)0x2011), BindToTextureRectangleFloatRgbNv = ((int)0x20b3), SwapMethodExt = ((int)0x2007), ErrorInvalidPixelTypeArb = ((int)0x2043), GreenShiftArb = ((int)0x2018), TextureFloatRgbaNv = ((int)0x20b8), Aux1Arb = ((int)0x2088), GreenBitsArb = ((int)0x2017), NumberPixelFormatsExt = ((int)0x2000), NumberOverlaysExt = ((int)0x2008), PixelTypeArb = ((int)0x2013), SwapLayerBuffersArb = ((int)0x2006), DrawToBitmapArb = ((int)0x2002), NumberPixelFormatsArb = ((int)0x2000), PbufferLostArb = ((int)0x2036), Aux9Arb = ((int)0x2090), TextureCubeMapPositiveZArb = ((int)0x2081), MaxPbufferHeightArb = ((int)0x2030), TransparentExt = ((int)0x200a), PbufferLargestArb = ((int)0x2033), SwapMethodArb = ((int)0x2007), TextureRgbaArb = ((int)0x2076), PbufferWidthExt = ((int)0x2034), OptimalPbufferHeightExt = ((int)0x2032), StencilBitsExt = ((int)0x2023), ShareStencilExt = ((int)0x200d), DepthFloatExt = ((int)0x2040), BindToTextureRgbArb = ((int)0x2070), BindToTextureRectangleRgbNv = ((int)0x20a0), GenlockSourceDigitalSyncI3d = ((int)0x2048), AccumAlphaBitsExt = ((int)0x2021), GenlockSourceExtenalSyncI3d = ((int)0x2045), RedShiftExt = ((int)0x2016), GenlockSourceDigitalFieldI3d = ((int)0x2049), FrontLeftArb = ((int)0x2083), BlueShiftArb = ((int)0x201a), PbufferWidthArb = ((int)0x2034), CubeMapFaceArb = ((int)0x207c), StencilBufferBitArb = ((int)0x00000008), NumberOverlaysArb = ((int)0x2008), SwapExchangeExt = ((int)0x2028), BackRightArb = ((int)0x2086), DepthTextureFormatNv = ((int)0x20a5), TextureFloatRgNv = ((int)0x20b6), Texture1dArb = ((int)0x2079), DepthBitsArb = ((int)0x2022), BindToTextureDepthNv = ((int)0x20a3), DrawToWindowArb = ((int)0x2001), TypeRgbaExt = ((int)0x202b), DigitalVideoCursorAlphaValueI3d = ((int)0x2051), ErrorInvalidPixelTypeExt = ((int)0x2043), AccumRedBitsExt = ((int)0x201e), GreenBitsExt = ((int)0x2017), TypeRgbaArb = ((int)0x202b), DigitalVideoCursorAlphaFramebufferI3d = ((int)0x2050), AuxBuffersArb = ((int)0x2024), AccumRedBitsArb = ((int)0x201e), TextureFloatRgbNv = ((int)0x20b7), TypeColorindexExt = ((int)0x202c), TransparentAlphaValueArb = ((int)0x203a), BlueShiftExt = ((int)0x201a), RedShiftArb = ((int)0x2016), PbufferHeightExt = ((int)0x2035), GenlockSourceEdgeRisingI3d = ((int)0x204b), Texture2DArb = ((int)0x207a), NumberUnderlaysArb = ((int)0x2009), NumberUnderlaysExt = ((int)0x2009), DrawToBitmapExt = ((int)0x2002), ShareDepthArb = ((int)0x200c), TextureDepthComponentNv = ((int)0x20a6), NoAccelerationExt = ((int)0x2025), PixelTypeExt = ((int)0x2013), SupportOpenglArb = ((int)0x2010), TextureCubeMapPositiveYArb = ((int)0x207f), DrawToWindowExt = ((int)0x2001), PbufferLargestExt = ((int)0x2033), DrawToPbufferArb = ((int)0x202d), SupportOpenglExt = ((int)0x2010), SampleBuffers3dfx = ((int)0x2060), GenlockSourceExtenalFieldI3d = ((int)0x2046), MaxPbufferHeightExt = ((int)0x2030), SupportGdiExt = ((int)0x200f), Aux7Arb = ((int)0x208e), DigitalVideoGammaCorrectedI3d = ((int)0x2053), ColorBitsArb = ((int)0x2014), Aux6Arb = ((int)0x208d), ShareAccumExt = ((int)0x200e), StereoArb = ((int)0x2012), TextureRgbArb = ((int)0x2075), AccelerationArb = ((int)0x2003), TextureCubeMapPositiveXArb = ((int)0x207d), TransparentRedValueArb = ((int)0x2037), BlueBitsArb = ((int)0x2019), SwapExchangeArb = ((int)0x2028), SamplesExt = ((int)0x2042), AlphaShiftExt = ((int)0x201c), SamplesArb = ((int)0x2042), TextureTargetArb = ((int)0x2073), BindToTextureRectangleDepthNv = ((int)0x20a4), AlphaShiftArb = ((int)0x201c), Aux8Arb = ((int)0x208f), MaxPbufferWidthExt = ((int)0x202f), GenlockSourceEdgeFallingI3d = ((int)0x204a), StereoExt = ((int)0x2012), MaxPbufferWidthArb = ((int)0x202f), TextureRectangleNv = ((int)0x20a2), ImageBufferMinAccessI3d = ((int)0x00000001), TextureCubeMapNegativeZArb = ((int)0x2082), MipmapTextureArb = ((int)0x2074), GenericAccelerationArb = ((int)0x2026), BindToTextureRectangleFloatRNv = ((int)0x20b1), FontLines = ((int)0), } public enum WGL_ARB_extensions_string { } public enum WGL_I3D_image_buffer { ImageBufferMinAccessI3d = ((int)0x00000001), ImageBufferLockI3d = ((int)0x00000002), } public enum WGL_I3D_swap_frame_lock { } }opentk-1.0.20101006/Source/OpenTK/Platform/Windows/Bindings/WglDelegates.cs0000664000175000017500000005741611453131422025030 0ustar laneylaneynamespace OpenTK.Platform.Windows { using System; using System.Runtime.InteropServices; #pragma warning disable 0649 #pragma warning disable 3019 #pragma warning disable 1591 partial class Wgl { internal static partial class Delegates { [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr CreateContext(IntPtr hDc); internal static CreateContext wglCreateContext; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DeleteContext(IntPtr oldContext); internal static DeleteContext wglDeleteContext; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetCurrentContext(); internal static GetCurrentContext wglGetCurrentContext; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean MakeCurrent(IntPtr hDc, IntPtr newContext); internal static MakeCurrent wglMakeCurrent; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean CopyContext(IntPtr hglrcSrc, IntPtr hglrcDst, UInt32 mask); internal static CopyContext wglCopyContext; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate int ChoosePixelFormat(IntPtr hDc, PixelFormatDescriptor* pPfd); internal unsafe static ChoosePixelFormat wglChoosePixelFormat; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate int DescribePixelFormat(IntPtr hdc, int ipfd, UInt32 cjpfd, PixelFormatDescriptor* ppfd); internal unsafe static DescribePixelFormat wglDescribePixelFormat; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetCurrentDC(); internal static GetCurrentDC wglGetCurrentDC; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetDefaultProcAddress(String lpszProc); internal static GetDefaultProcAddress wglGetDefaultProcAddress; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetProcAddress(String lpszProc); internal static GetProcAddress wglGetProcAddress; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int GetPixelFormat(IntPtr hdc); internal static GetPixelFormat wglGetPixelFormat; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean SetPixelFormat(IntPtr hdc, int ipfd, PixelFormatDescriptor* ppfd); internal unsafe static SetPixelFormat wglSetPixelFormat; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean SwapBuffers(IntPtr hdc); internal static SwapBuffers wglSwapBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean ShareLists(IntPtr hrcSrvShare, IntPtr hrcSrvSource); internal static ShareLists wglShareLists; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr CreateLayerContext(IntPtr hDc, int level); internal static CreateLayerContext wglCreateLayerContext; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, UInt32 nBytes, LayerPlaneDescriptor* plpd); internal unsafe static DescribeLayerPlane wglDescribeLayerPlane; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate int SetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr); internal unsafe static SetLayerPaletteEntries wglSetLayerPaletteEntries; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate int GetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr); internal unsafe static GetLayerPaletteEntries wglGetLayerPaletteEntries; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean RealizeLayerPalette(IntPtr hdc, int iLayerPlane, Boolean bRealize); internal static RealizeLayerPalette wglRealizeLayerPalette; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean SwapLayerBuffers(IntPtr hdc, UInt32 fuFlags); internal static SwapLayerBuffers wglSwapLayerBuffers; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean UseFontBitmapsA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase); internal static UseFontBitmapsA wglUseFontBitmapsA; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean UseFontBitmapsW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase); internal static UseFontBitmapsW wglUseFontBitmapsW; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean UseFontOutlinesA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics); internal unsafe static UseFontOutlinesA wglUseFontOutlinesA; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean UseFontOutlinesW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics); internal unsafe static UseFontOutlinesW wglUseFontOutlinesW; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr CreateContextAttribsARB(IntPtr hDC, IntPtr hShareContext, int* attribList); internal unsafe static CreateContextAttribsARB wglCreateContextAttribsARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr CreateBufferRegionARB(IntPtr hDC, int iLayerPlane, UInt32 uType); internal static CreateBufferRegionARB wglCreateBufferRegionARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DeleteBufferRegionARB(IntPtr hRegion); internal static DeleteBufferRegionARB wglDeleteBufferRegionARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean SaveBufferRegionARB(IntPtr hRegion, int x, int y, int width, int height); internal static SaveBufferRegionARB wglSaveBufferRegionARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean RestoreBufferRegionARB(IntPtr hRegion, int x, int y, int width, int height, int xSrc, int ySrc); internal static RestoreBufferRegionARB wglRestoreBufferRegionARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetExtensionsStringARB(IntPtr hdc); internal static GetExtensionsStringARB wglGetExtensionsStringARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetPixelFormatAttribivARB(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int* piAttributes, [Out] int* piValues); internal unsafe static GetPixelFormatAttribivARB wglGetPixelFormatAttribivARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetPixelFormatAttribfvARB(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int* piAttributes, [Out] Single* pfValues); internal unsafe static GetPixelFormatAttribfvARB wglGetPixelFormatAttribfvARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean ChoosePixelFormatARB(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, UInt32 nMaxFormats, [Out] int* piFormats, [Out] UInt32* nNumFormats); internal unsafe static ChoosePixelFormatARB wglChoosePixelFormatARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean MakeContextCurrentARB(IntPtr hDrawDC, IntPtr hReadDC, IntPtr hglrc); internal static MakeContextCurrentARB wglMakeContextCurrentARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetCurrentReadDCARB(); internal static GetCurrentReadDCARB wglGetCurrentReadDCARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr CreatePbufferARB(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int* piAttribList); internal unsafe static CreatePbufferARB wglCreatePbufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetPbufferDCARB(IntPtr hPbuffer); internal static GetPbufferDCARB wglGetPbufferDCARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int ReleasePbufferDCARB(IntPtr hPbuffer, IntPtr hDC); internal static ReleasePbufferDCARB wglReleasePbufferDCARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DestroyPbufferARB(IntPtr hPbuffer); internal static DestroyPbufferARB wglDestroyPbufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean QueryPbufferARB(IntPtr hPbuffer, int iAttribute, [Out] int* piValue); internal unsafe static QueryPbufferARB wglQueryPbufferARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean BindTexImageARB(IntPtr hPbuffer, int iBuffer); internal static BindTexImageARB wglBindTexImageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean ReleaseTexImageARB(IntPtr hPbuffer, int iBuffer); internal static ReleaseTexImageARB wglReleaseTexImageARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean SetPbufferAttribARB(IntPtr hPbuffer, int* piAttribList); internal unsafe static SetPbufferAttribARB wglSetPbufferAttribARB; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool CreateDisplayColorTableEXT(UInt16 id); internal static CreateDisplayColorTableEXT wglCreateDisplayColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate bool LoadDisplayColorTableEXT(UInt16* table, UInt32 length); internal unsafe static LoadDisplayColorTableEXT wglLoadDisplayColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate bool BindDisplayColorTableEXT(UInt16 id); internal static BindDisplayColorTableEXT wglBindDisplayColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void DestroyDisplayColorTableEXT(UInt16 id); internal static DestroyDisplayColorTableEXT wglDestroyDisplayColorTableEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetExtensionsStringEXT(); internal static GetExtensionsStringEXT wglGetExtensionsStringEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean MakeContextCurrentEXT(IntPtr hDrawDC, IntPtr hReadDC, IntPtr hglrc); internal static MakeContextCurrentEXT wglMakeContextCurrentEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetCurrentReadDCEXT(); internal static GetCurrentReadDCEXT wglGetCurrentReadDCEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr CreatePbufferEXT(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int* piAttribList); internal unsafe static CreatePbufferEXT wglCreatePbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate IntPtr GetPbufferDCEXT(IntPtr hPbuffer); internal static GetPbufferDCEXT wglGetPbufferDCEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int ReleasePbufferDCEXT(IntPtr hPbuffer, IntPtr hDC); internal static ReleasePbufferDCEXT wglReleasePbufferDCEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DestroyPbufferEXT(IntPtr hPbuffer); internal static DestroyPbufferEXT wglDestroyPbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean QueryPbufferEXT(IntPtr hPbuffer, int iAttribute, [Out] int* piValue); internal unsafe static QueryPbufferEXT wglQueryPbufferEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetPixelFormatAttribivEXT(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int* piAttributes, [Out] int* piValues); internal unsafe static GetPixelFormatAttribivEXT wglGetPixelFormatAttribivEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetPixelFormatAttribfvEXT(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int* piAttributes, [Out] Single* pfValues); internal unsafe static GetPixelFormatAttribfvEXT wglGetPixelFormatAttribfvEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean ChoosePixelFormatEXT(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, UInt32 nMaxFormats, [Out] int* piFormats, [Out] UInt32* nNumFormats); internal unsafe static ChoosePixelFormatEXT wglChoosePixelFormatEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean SwapIntervalEXT(int interval); internal static SwapIntervalEXT wglSwapIntervalEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate int GetSwapIntervalEXT(); internal static GetSwapIntervalEXT wglGetSwapIntervalEXT; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr AllocateMemoryNV(Int32 size, Single readfreq, Single writefreq, Single priority); internal unsafe static AllocateMemoryNV wglAllocateMemoryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate void FreeMemoryNV([Out] IntPtr pointer); internal static FreeMemoryNV wglFreeMemoryNV; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetSyncValuesOML(IntPtr hdc, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc); internal unsafe static GetSyncValuesOML wglGetSyncValuesOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetMscRateOML(IntPtr hdc, [Out] Int32* numerator, [Out] Int32* denominator); internal unsafe static GetMscRateOML wglGetMscRateOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int64 SwapBuffersMscOML(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder); internal static SwapBuffersMscOML wglSwapBuffersMscOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Int64 SwapLayerBuffersMscOML(IntPtr hdc, int fuPlanes, Int64 target_msc, Int64 divisor, Int64 remainder); internal static SwapLayerBuffersMscOML wglSwapLayerBuffersMscOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean WaitForMscOML(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc); internal unsafe static WaitForMscOML wglWaitForMscOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean WaitForSbcOML(IntPtr hdc, Int64 target_sbc, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc); internal unsafe static WaitForSbcOML wglWaitForSbcOML; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetDigitalVideoParametersI3D(IntPtr hDC, int iAttribute, [Out] int* piValue); internal unsafe static GetDigitalVideoParametersI3D wglGetDigitalVideoParametersI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean SetDigitalVideoParametersI3D(IntPtr hDC, int iAttribute, int* piValue); internal unsafe static SetDigitalVideoParametersI3D wglSetDigitalVideoParametersI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGammaTableParametersI3D(IntPtr hDC, int iAttribute, [Out] int* piValue); internal unsafe static GetGammaTableParametersI3D wglGetGammaTableParametersI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean SetGammaTableParametersI3D(IntPtr hDC, int iAttribute, int* piValue); internal unsafe static SetGammaTableParametersI3D wglSetGammaTableParametersI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGammaTableI3D(IntPtr hDC, int iEntries, [Out] UInt16* puRed, [Out] UInt16* puGreen, [Out] UInt16* puBlue); internal unsafe static GetGammaTableI3D wglGetGammaTableI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean SetGammaTableI3D(IntPtr hDC, int iEntries, UInt16* puRed, UInt16* puGreen, UInt16* puBlue); internal unsafe static SetGammaTableI3D wglSetGammaTableI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean EnableGenlockI3D(IntPtr hDC); internal static EnableGenlockI3D wglEnableGenlockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DisableGenlockI3D(IntPtr hDC); internal static DisableGenlockI3D wglDisableGenlockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean IsEnabledGenlockI3D(IntPtr hDC, [Out] Boolean* pFlag); internal unsafe static IsEnabledGenlockI3D wglIsEnabledGenlockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean GenlockSourceI3D(IntPtr hDC, UInt32 uSource); internal static GenlockSourceI3D wglGenlockSourceI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGenlockSourceI3D(IntPtr hDC, [Out] UInt32* uSource); internal unsafe static GetGenlockSourceI3D wglGetGenlockSourceI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean GenlockSourceEdgeI3D(IntPtr hDC, UInt32 uEdge); internal static GenlockSourceEdgeI3D wglGenlockSourceEdgeI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGenlockSourceEdgeI3D(IntPtr hDC, [Out] UInt32* uEdge); internal unsafe static GetGenlockSourceEdgeI3D wglGetGenlockSourceEdgeI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean GenlockSampleRateI3D(IntPtr hDC, UInt32 uRate); internal static GenlockSampleRateI3D wglGenlockSampleRateI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGenlockSampleRateI3D(IntPtr hDC, [Out] UInt32* uRate); internal unsafe static GetGenlockSampleRateI3D wglGetGenlockSampleRateI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean GenlockSourceDelayI3D(IntPtr hDC, UInt32 uDelay); internal static GenlockSourceDelayI3D wglGenlockSourceDelayI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetGenlockSourceDelayI3D(IntPtr hDC, [Out] UInt32* uDelay); internal unsafe static GetGenlockSourceDelayI3D wglGetGenlockSourceDelayI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean QueryGenlockMaxSourceDelayI3D(IntPtr hDC, [Out] UInt32* uMaxLineDelay, [Out] UInt32* uMaxPixelDelay); internal unsafe static QueryGenlockMaxSourceDelayI3D wglQueryGenlockMaxSourceDelayI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate IntPtr CreateImageBufferI3D(IntPtr hDC, Int32 dwSize, UInt32 uFlags); internal unsafe static CreateImageBufferI3D wglCreateImageBufferI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DestroyImageBufferI3D(IntPtr hDC, IntPtr pAddress); internal static DestroyImageBufferI3D wglDestroyImageBufferI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean AssociateImageBufferEventsI3D(IntPtr hDC, IntPtr* pEvent, IntPtr pAddress, Int32* pSize, UInt32 count); internal unsafe static AssociateImageBufferEventsI3D wglAssociateImageBufferEventsI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean ReleaseImageBufferEventsI3D(IntPtr hDC, IntPtr pAddress, UInt32 count); internal static ReleaseImageBufferEventsI3D wglReleaseImageBufferEventsI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean EnableFrameLockI3D(); internal static EnableFrameLockI3D wglEnableFrameLockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean DisableFrameLockI3D(); internal static DisableFrameLockI3D wglDisableFrameLockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean IsEnabledFrameLockI3D([Out] Boolean* pFlag); internal unsafe static IsEnabledFrameLockI3D wglIsEnabledFrameLockI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean QueryFrameLockMasterI3D([Out] Boolean* pFlag); internal unsafe static QueryFrameLockMasterI3D wglQueryFrameLockMasterI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean GetFrameUsageI3D([Out] float* pUsage); internal unsafe static GetFrameUsageI3D wglGetFrameUsageI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean BeginFrameTrackingI3D(); internal static BeginFrameTrackingI3D wglBeginFrameTrackingI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal delegate Boolean EndFrameTrackingI3D(); internal static EndFrameTrackingI3D wglEndFrameTrackingI3D; [System.Security.SuppressUnmanagedCodeSecurity()] internal unsafe delegate Boolean QueryFrameTrackingI3D([Out] Int32* pFrameCount, [Out] Int32* pMissedFrames, [Out] float* pLastMissedUsage); internal unsafe static QueryFrameTrackingI3D wglQueryFrameTrackingI3D; } } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/Bindings/Wgl.cs0000664000175000017500000034627711453131422023220 0ustar laneylaneynamespace OpenTK.Platform.Windows { using System; using System.Runtime.InteropServices; #pragma warning disable 3019 #pragma warning disable 1591 static partial class Wgl { public static IntPtr CreateContext(IntPtr hDc) { return Delegates.wglCreateContext((IntPtr)hDc); } public static Boolean DeleteContext(IntPtr oldContext) { return Delegates.wglDeleteContext((IntPtr)oldContext); } public static IntPtr GetCurrentContext() { return Delegates.wglGetCurrentContext(); } public static Boolean MakeCurrent(IntPtr hDc, IntPtr newContext) { return Delegates.wglMakeCurrent((IntPtr)hDc, (IntPtr)newContext); } [System.CLSCompliant(false)] public static Boolean CopyContext(IntPtr hglrcSrc, IntPtr hglrcDst, UInt32 mask) { return Delegates.wglCopyContext((IntPtr)hglrcSrc, (IntPtr)hglrcDst, (UInt32)mask); } public static Boolean CopyContext(IntPtr hglrcSrc, IntPtr hglrcDst, Int32 mask) { return Delegates.wglCopyContext((IntPtr)hglrcSrc, (IntPtr)hglrcDst, (UInt32)mask); } public static int ChoosePixelFormat(IntPtr hDc, PixelFormatDescriptor[] pPfd) { unsafe { fixed (PixelFormatDescriptor* pPfd_ptr = pPfd) { return Delegates.wglChoosePixelFormat((IntPtr)hDc, (PixelFormatDescriptor*)pPfd_ptr); } } } public static int ChoosePixelFormat(IntPtr hDc, ref PixelFormatDescriptor pPfd) { unsafe { fixed (PixelFormatDescriptor* pPfd_ptr = &pPfd) { return Delegates.wglChoosePixelFormat((IntPtr)hDc, (PixelFormatDescriptor*)pPfd_ptr); } } } [System.CLSCompliant(false)] public static unsafe int ChoosePixelFormat(IntPtr hDc, PixelFormatDescriptor* pPfd) { return Delegates.wglChoosePixelFormat((IntPtr)hDc, (PixelFormatDescriptor*)pPfd); } [System.CLSCompliant(false)] public static int DescribePixelFormat(IntPtr hdc, int ipfd, UInt32 cjpfd, PixelFormatDescriptor[] ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd_ptr); } } } public static int DescribePixelFormat(IntPtr hdc, int ipfd, Int32 cjpfd, PixelFormatDescriptor[] ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd_ptr); } } } [System.CLSCompliant(false)] public static int DescribePixelFormat(IntPtr hdc, int ipfd, UInt32 cjpfd, ref PixelFormatDescriptor ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = &ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd_ptr); } } } public static int DescribePixelFormat(IntPtr hdc, int ipfd, Int32 cjpfd, ref PixelFormatDescriptor ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = &ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd_ptr); } } } [System.CLSCompliant(false)] public static unsafe int DescribePixelFormat(IntPtr hdc, int ipfd, UInt32 cjpfd, PixelFormatDescriptor* ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd); } [System.CLSCompliant(false)] public static unsafe int DescribePixelFormat(IntPtr hdc, int ipfd, Int32 cjpfd, PixelFormatDescriptor* ppfd) { return Delegates.wglDescribePixelFormat((IntPtr)hdc, (int)ipfd, (UInt32)cjpfd, (PixelFormatDescriptor*)ppfd); } public static IntPtr GetCurrentDC() { return Delegates.wglGetCurrentDC(); } public static IntPtr GetDefaultProcAddres(String lpszProc) { return Delegates.wglGetDefaultProcAddress((String)lpszProc); } public static IntPtr GetProcAddres(String lpszProc) { return Delegates.wglGetProcAddress((String)lpszProc); } public static int GetPixelFormat(IntPtr hdc) { return Delegates.wglGetPixelFormat((IntPtr)hdc); } public static Boolean SetPixelFormat(IntPtr hdc, int ipfd, PixelFormatDescriptor[] ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = ppfd) { return Delegates.wglSetPixelFormat((IntPtr)hdc, (int)ipfd, (PixelFormatDescriptor*)ppfd_ptr); } } } public static Boolean SetPixelFormat(IntPtr hdc, int ipfd, ref PixelFormatDescriptor ppfd) { unsafe { fixed (PixelFormatDescriptor* ppfd_ptr = &ppfd) { return Delegates.wglSetPixelFormat((IntPtr)hdc, (int)ipfd, (PixelFormatDescriptor*)ppfd_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean SetPixelFormat(IntPtr hdc, int ipfd, PixelFormatDescriptor* ppfd) { return Delegates.wglSetPixelFormat((IntPtr)hdc, (int)ipfd, (PixelFormatDescriptor*)ppfd); } public static Boolean SwapBuffers(IntPtr hdc) { return Delegates.wglSwapBuffers((IntPtr)hdc); } public static Boolean ShareLists(IntPtr hrcSrvShare, IntPtr hrcSrvSource) { return Delegates.wglShareLists((IntPtr)hrcSrvShare, (IntPtr)hrcSrvSource); } public static IntPtr CreateLayerContext(IntPtr hDc, int level) { return Delegates.wglCreateLayerContext((IntPtr)hDc, (int)level); } [System.CLSCompliant(false)] public static Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, UInt32 nBytes, LayerPlaneDescriptor[] plpd) { unsafe { fixed (LayerPlaneDescriptor* plpd_ptr = plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd_ptr); } } } public static Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, Int32 nBytes, LayerPlaneDescriptor[] plpd) { unsafe { fixed (LayerPlaneDescriptor* plpd_ptr = plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd_ptr); } } } [System.CLSCompliant(false)] public static Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, UInt32 nBytes, ref LayerPlaneDescriptor plpd) { unsafe { fixed (LayerPlaneDescriptor* plpd_ptr = &plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd_ptr); } } } public static Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, Int32 nBytes, ref LayerPlaneDescriptor plpd) { unsafe { fixed (LayerPlaneDescriptor* plpd_ptr = &plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, UInt32 nBytes, LayerPlaneDescriptor* plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd); } [System.CLSCompliant(false)] public static unsafe Boolean DescribeLayerPlane(IntPtr hDc, int pixelFormat, int layerPlane, Int32 nBytes, LayerPlaneDescriptor* plpd) { return Delegates.wglDescribeLayerPlane((IntPtr)hDc, (int)pixelFormat, (int)layerPlane, (UInt32)nBytes, (LayerPlaneDescriptor*)plpd); } public static int SetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32[] pcr) { unsafe { fixed (Int32* pcr_ptr = pcr) { return Delegates.wglSetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr_ptr); } } } public static int SetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, ref Int32 pcr) { unsafe { fixed (Int32* pcr_ptr = &pcr) { return Delegates.wglSetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr_ptr); } } } [System.CLSCompliant(false)] public static unsafe int SetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr) { return Delegates.wglSetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr); } public static int GetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32[] pcr) { unsafe { fixed (Int32* pcr_ptr = pcr) { return Delegates.wglGetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr_ptr); } } } public static int GetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, ref Int32 pcr) { unsafe { fixed (Int32* pcr_ptr = &pcr) { return Delegates.wglGetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr_ptr); } } } [System.CLSCompliant(false)] public static unsafe int GetLayerPaletteEntries(IntPtr hdc, int iLayerPlane, int iStart, int cEntries, Int32* pcr) { return Delegates.wglGetLayerPaletteEntries((IntPtr)hdc, (int)iLayerPlane, (int)iStart, (int)cEntries, (Int32*)pcr); } public static Boolean RealizeLayerPalette(IntPtr hdc, int iLayerPlane, Boolean bRealize) { return Delegates.wglRealizeLayerPalette((IntPtr)hdc, (int)iLayerPlane, (Boolean)bRealize); } [System.CLSCompliant(false)] public static Boolean SwapLayerBuffers(IntPtr hdc, UInt32 fuFlags) { return Delegates.wglSwapLayerBuffers((IntPtr)hdc, (UInt32)fuFlags); } public static Boolean SwapLayerBuffers(IntPtr hdc, Int32 fuFlags) { return Delegates.wglSwapLayerBuffers((IntPtr)hdc, (UInt32)fuFlags); } public static Boolean UseFontBitmapsA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase) { return Delegates.wglUseFontBitmapsA((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase); } public static Boolean UseFontBitmapsW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase) { return Delegates.wglUseFontBitmapsW((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase); } public static Boolean UseFontOutlinesA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat[] glyphMetrics) { unsafe { fixed (GlyphMetricsFloat* glyphMetrics_ptr = glyphMetrics) { return Delegates.wglUseFontOutlinesA((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics_ptr); } } } public static Boolean UseFontOutlinesA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, ref GlyphMetricsFloat glyphMetrics) { unsafe { fixed (GlyphMetricsFloat* glyphMetrics_ptr = &glyphMetrics) { return Delegates.wglUseFontOutlinesA((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean UseFontOutlinesA(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics) { return Delegates.wglUseFontOutlinesA((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics); } public static Boolean UseFontOutlinesW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat[] glyphMetrics) { unsafe { fixed (GlyphMetricsFloat* glyphMetrics_ptr = glyphMetrics) { return Delegates.wglUseFontOutlinesW((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics_ptr); } } } public static Boolean UseFontOutlinesW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, ref GlyphMetricsFloat glyphMetrics) { unsafe { fixed (GlyphMetricsFloat* glyphMetrics_ptr = &glyphMetrics) { return Delegates.wglUseFontOutlinesW((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean UseFontOutlinesW(IntPtr hDC, Int32 first, Int32 count, Int32 listBase, float thickness, float deviation, Int32 fontMode, GlyphMetricsFloat* glyphMetrics) { return Delegates.wglUseFontOutlinesW((IntPtr)hDC, (Int32)first, (Int32)count, (Int32)listBase, (float)thickness, (float)deviation, (Int32)fontMode, (GlyphMetricsFloat*)glyphMetrics); } public static Boolean MakeContextCurrentEXT(IntPtr hDrawDC, IntPtr hReadDC, IntPtr hglrc) { return Delegates.wglMakeContextCurrentEXT((IntPtr)hDrawDC, (IntPtr)hReadDC, (IntPtr)hglrc); } [System.CLSCompliant(false)] public static Boolean ChoosePixelFormatEXT(IntPtr hdc, int[] piAttribIList, Single[] pfAttribFList, UInt32 nMaxFormats, [Out] int[] piFormats, [Out] UInt32[] nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = piAttribIList) fixed (Single* pfAttribFList_ptr = pfAttribFList) fixed (int* piFormats_ptr = piFormats) fixed (UInt32* nNumFormats_ptr = nNumFormats) { return Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); } } } public static Boolean ChoosePixelFormatEXT(IntPtr hdc, int[] piAttribIList, Single[] pfAttribFList, Int32 nMaxFormats, [Out] int[] piFormats, [Out] Int32[] nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = piAttribIList) fixed (Single* pfAttribFList_ptr = pfAttribFList) fixed (int* piFormats_ptr = piFormats) fixed (Int32* nNumFormats_ptr = nNumFormats) { return Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); } } } [System.CLSCompliant(false)] public static Boolean ChoosePixelFormatEXT(IntPtr hdc, ref int piAttribIList, ref Single pfAttribFList, UInt32 nMaxFormats, [Out] out int piFormats, [Out] out UInt32 nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = &piAttribIList) fixed (Single* pfAttribFList_ptr = &pfAttribFList) fixed (int* piFormats_ptr = &piFormats) fixed (UInt32* nNumFormats_ptr = &nNumFormats) { Boolean retval = Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); piFormats = *piFormats_ptr; nNumFormats = *nNumFormats_ptr; return retval; } } } public static Boolean ChoosePixelFormatEXT(IntPtr hdc, ref int piAttribIList, ref Single pfAttribFList, Int32 nMaxFormats, [Out] out int piFormats, [Out] out Int32 nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = &piAttribIList) fixed (Single* pfAttribFList_ptr = &pfAttribFList) fixed (int* piFormats_ptr = &piFormats) fixed (Int32* nNumFormats_ptr = &nNumFormats) { Boolean retval = Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); piFormats = *piFormats_ptr; nNumFormats = *nNumFormats_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean ChoosePixelFormatEXT(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, UInt32 nMaxFormats, [Out] int* piFormats, [Out] UInt32* nNumFormats) { return Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList, (Single*)pfAttribFList, (UInt32)nMaxFormats, (int*)piFormats, (UInt32*)nNumFormats); } [System.CLSCompliant(false)] public static unsafe Boolean ChoosePixelFormatEXT(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, Int32 nMaxFormats, [Out] int* piFormats, [Out] Int32* nNumFormats) { return Delegates.wglChoosePixelFormatEXT((IntPtr)hdc, (int*)piAttribIList, (Single*)pfAttribFList, (UInt32)nMaxFormats, (int*)piFormats, (UInt32*)nNumFormats); } public static partial class Arb { [CLSCompliant(false)] unsafe public static IntPtr CreateContextAttribs(IntPtr hDC, IntPtr hShareContext, int* attribList) { return Delegates.wglCreateContextAttribsARB((IntPtr)hDC, (IntPtr)hShareContext, (int*)attribList); } public static IntPtr CreateContextAttribs(IntPtr hDC, IntPtr hShareContext, ref int attribList) { unsafe { fixed (int* attribList_ptr = &attribList) { return Delegates.wglCreateContextAttribsARB((IntPtr)hDC, (IntPtr)hShareContext, (int*)attribList_ptr); } } } public static IntPtr CreateContextAttribs(IntPtr hDC, IntPtr hShareContext, int[] attribList) { unsafe { fixed (int* attribList_ptr = attribList) { return Delegates.wglCreateContextAttribsARB((IntPtr)hDC, (IntPtr)hShareContext, (int*)attribList_ptr); } } } [System.CLSCompliant(false)] public static IntPtr CreateBufferRegion(IntPtr hDC, int iLayerPlane, UInt32 uType) { return Delegates.wglCreateBufferRegionARB((IntPtr)hDC, (int)iLayerPlane, (UInt32)uType); } public static IntPtr CreateBufferRegion(IntPtr hDC, int iLayerPlane, Int32 uType) { return Delegates.wglCreateBufferRegionARB((IntPtr)hDC, (int)iLayerPlane, (UInt32)uType); } public static void DeleteBufferRegion(IntPtr hRegion) { Delegates.wglDeleteBufferRegionARB((IntPtr)hRegion); } public static Boolean SaveBufferRegion(IntPtr hRegion, int x, int y, int width, int height) { return Delegates.wglSaveBufferRegionARB((IntPtr)hRegion, (int)x, (int)y, (int)width, (int)height); } public static Boolean RestoreBufferRegion(IntPtr hRegion, int x, int y, int width, int height, int xSrc, int ySrc) { return Delegates.wglRestoreBufferRegionARB((IntPtr)hRegion, (int)x, (int)y, (int)width, (int)height, (int)xSrc, (int)ySrc); } public static string GetExtensionsString(IntPtr hdc) { unsafe { return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.wglGetExtensionsStringARB((IntPtr)hdc)); } } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int[] piAttributes, [Out] int[] piValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (int* piValues_ptr = piValues) { return Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, int[] piAttributes, [Out] int[] piValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (int* piValues_ptr = piValues) { return Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, ref int piAttributes, [Out] out int piValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (int* piValues_ptr = &piValues) { Boolean retval = Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); piValues = *piValues_ptr; return retval; } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, ref int piAttributes, [Out] out int piValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (int* piValues_ptr = &piValues) { Boolean retval = Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); piValues = *piValues_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int* piAttributes, [Out] int* piValues) { return Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (int*)piValues); } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, int* piAttributes, [Out] int* piValues) { return Delegates.wglGetPixelFormatAttribivARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (int*)piValues); } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int[] piAttributes, [Out] Single[] pfValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (Single* pfValues_ptr = pfValues) { return Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, int[] piAttributes, [Out] Single[] pfValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (Single* pfValues_ptr = pfValues) { return Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, ref int piAttributes, [Out] out Single pfValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (Single* pfValues_ptr = &pfValues) { Boolean retval = Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); pfValues = *pfValues_ptr; return retval; } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, ref int piAttributes, [Out] out Single pfValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (Single* pfValues_ptr = &pfValues) { Boolean retval = Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); pfValues = *pfValues_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, int* piAttributes, [Out] Single* pfValues) { return Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (Single*)pfValues); } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, int* piAttributes, [Out] Single* pfValues) { return Delegates.wglGetPixelFormatAttribfvARB((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (Single*)pfValues); } [System.CLSCompliant(false)] public static Boolean ChoosePixelFormat(IntPtr hdc, int[] piAttribIList, Single[] pfAttribFList, UInt32 nMaxFormats, [Out] int[] piFormats, [Out] UInt32[] nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = piAttribIList) fixed (Single* pfAttribFList_ptr = pfAttribFList) fixed (int* piFormats_ptr = piFormats) fixed (UInt32* nNumFormats_ptr = nNumFormats) { return Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); } } } public static Boolean ChoosePixelFormat(IntPtr hdc, int[] piAttribIList, Single[] pfAttribFList, Int32 nMaxFormats, [Out] int[] piFormats, [Out] Int32[] nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = piAttribIList) fixed (Single* pfAttribFList_ptr = pfAttribFList) fixed (int* piFormats_ptr = piFormats) fixed (Int32* nNumFormats_ptr = nNumFormats) { return Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); } } } [System.CLSCompliant(false)] public static Boolean ChoosePixelFormat(IntPtr hdc, ref int piAttribIList, ref Single pfAttribFList, UInt32 nMaxFormats, [Out] out int piFormats, [Out] out UInt32 nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = &piAttribIList) fixed (Single* pfAttribFList_ptr = &pfAttribFList) fixed (int* piFormats_ptr = &piFormats) fixed (UInt32* nNumFormats_ptr = &nNumFormats) { Boolean retval = Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); piFormats = *piFormats_ptr; nNumFormats = *nNumFormats_ptr; return retval; } } } public static Boolean ChoosePixelFormat(IntPtr hdc, ref int piAttribIList, ref Single pfAttribFList, Int32 nMaxFormats, [Out] out int piFormats, [Out] out Int32 nNumFormats) { unsafe { fixed (int* piAttribIList_ptr = &piAttribIList) fixed (Single* pfAttribFList_ptr = &pfAttribFList) fixed (int* piFormats_ptr = &piFormats) fixed (Int32* nNumFormats_ptr = &nNumFormats) { Boolean retval = Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList_ptr, (Single*)pfAttribFList_ptr, (UInt32)nMaxFormats, (int*)piFormats_ptr, (UInt32*)nNumFormats_ptr); piFormats = *piFormats_ptr; nNumFormats = *nNumFormats_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean ChoosePixelFormat(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, UInt32 nMaxFormats, [Out] int* piFormats, [Out] UInt32* nNumFormats) { return Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList, (Single*)pfAttribFList, (UInt32)nMaxFormats, (int*)piFormats, (UInt32*)nNumFormats); } [System.CLSCompliant(false)] public static unsafe Boolean ChoosePixelFormat(IntPtr hdc, int* piAttribIList, Single* pfAttribFList, Int32 nMaxFormats, [Out] int* piFormats, [Out] Int32* nNumFormats) { return Delegates.wglChoosePixelFormatARB((IntPtr)hdc, (int*)piAttribIList, (Single*)pfAttribFList, (UInt32)nMaxFormats, (int*)piFormats, (UInt32*)nNumFormats); } public static Boolean MakeContextCurrent(IntPtr hDrawDC, IntPtr hReadDC, IntPtr hglrc) { return Delegates.wglMakeContextCurrentARB((IntPtr)hDrawDC, (IntPtr)hReadDC, (IntPtr)hglrc); } public static IntPtr GetCurrentReadDC() { return Delegates.wglGetCurrentReadDCARB(); } public static IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int[] piAttribList) { unsafe { fixed (int* piAttribList_ptr = piAttribList) { return Delegates.wglCreatePbufferARB((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList_ptr); } } } public static IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, ref int piAttribList) { unsafe { fixed (int* piAttribList_ptr = &piAttribList) { return Delegates.wglCreatePbufferARB((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList_ptr); } } } [System.CLSCompliant(false)] public static unsafe IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int* piAttribList) { return Delegates.wglCreatePbufferARB((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList); } public static IntPtr GetPbufferDC(IntPtr hPbuffer) { return Delegates.wglGetPbufferDCARB((IntPtr)hPbuffer); } public static int ReleasePbufferDC(IntPtr hPbuffer, IntPtr hDC) { return Delegates.wglReleasePbufferDCARB((IntPtr)hPbuffer, (IntPtr)hDC); } public static Boolean DestroyPbuffer(IntPtr hPbuffer) { return Delegates.wglDestroyPbufferARB((IntPtr)hPbuffer); } public static Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglQueryPbufferARB((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] out int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { Boolean retval = Delegates.wglQueryPbufferARB((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue_ptr); piValue = *piValue_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] int* piValue) { return Delegates.wglQueryPbufferARB((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue); } public static Boolean BindTexImage(IntPtr hPbuffer, int iBuffer) { return Delegates.wglBindTexImageARB((IntPtr)hPbuffer, (int)iBuffer); } public static Boolean ReleaseTexImage(IntPtr hPbuffer, int iBuffer) { return Delegates.wglReleaseTexImageARB((IntPtr)hPbuffer, (int)iBuffer); } public static Boolean SetPbufferAttrib(IntPtr hPbuffer, int[] piAttribList) { unsafe { fixed (int* piAttribList_ptr = piAttribList) { return Delegates.wglSetPbufferAttribARB((IntPtr)hPbuffer, (int*)piAttribList_ptr); } } } public static Boolean SetPbufferAttrib(IntPtr hPbuffer, ref int piAttribList) { unsafe { fixed (int* piAttribList_ptr = &piAttribList) { return Delegates.wglSetPbufferAttribARB((IntPtr)hPbuffer, (int*)piAttribList_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean SetPbufferAttrib(IntPtr hPbuffer, int* piAttribList) { return Delegates.wglSetPbufferAttribARB((IntPtr)hPbuffer, (int*)piAttribList); } } public static partial class Ext { [System.CLSCompliant(false)] public static bool CreateDisplayColorTable(UInt16 id) { return Delegates.wglCreateDisplayColorTableEXT((UInt16)id); } public static bool CreateDisplayColorTable(Int16 id) { return Delegates.wglCreateDisplayColorTableEXT((UInt16)id); } [System.CLSCompliant(false)] public static bool LoadDisplayColorTable(UInt16[] table, UInt32 length) { unsafe { fixed (UInt16* table_ptr = table) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table_ptr, (UInt32)length); } } } public static bool LoadDisplayColorTable(Int16[] table, Int32 length) { unsafe { fixed (Int16* table_ptr = table) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table_ptr, (UInt32)length); } } } [System.CLSCompliant(false)] public static bool LoadDisplayColorTable(ref UInt16 table, UInt32 length) { unsafe { fixed (UInt16* table_ptr = &table) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table_ptr, (UInt32)length); } } } public static bool LoadDisplayColorTable(ref Int16 table, Int32 length) { unsafe { fixed (Int16* table_ptr = &table) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table_ptr, (UInt32)length); } } } [System.CLSCompliant(false)] public static unsafe bool LoadDisplayColorTable(UInt16* table, UInt32 length) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table, (UInt32)length); } [System.CLSCompliant(false)] public static unsafe bool LoadDisplayColorTable(Int16* table, Int32 length) { return Delegates.wglLoadDisplayColorTableEXT((UInt16*)table, (UInt32)length); } [System.CLSCompliant(false)] public static bool BindDisplayColorTable(UInt16 id) { return Delegates.wglBindDisplayColorTableEXT((UInt16)id); } public static bool BindDisplayColorTable(Int16 id) { return Delegates.wglBindDisplayColorTableEXT((UInt16)id); } [System.CLSCompliant(false)] public static void DestroyDisplayColorTable(UInt16 id) { Delegates.wglDestroyDisplayColorTableEXT((UInt16)id); } public static void DestroyDisplayColorTable(Int16 id) { Delegates.wglDestroyDisplayColorTableEXT((UInt16)id); } public static string GetExtensionsString() { unsafe { return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.wglGetExtensionsStringEXT()); } } public static IntPtr GetCurrentReadDC() { return Delegates.wglGetCurrentReadDCEXT(); } public static IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int[] piAttribList) { unsafe { fixed (int* piAttribList_ptr = piAttribList) { return Delegates.wglCreatePbufferEXT((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList_ptr); } } } public static IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, ref int piAttribList) { unsafe { fixed (int* piAttribList_ptr = &piAttribList) { return Delegates.wglCreatePbufferEXT((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList_ptr); } } } [System.CLSCompliant(false)] public static unsafe IntPtr CreatePbuffer(IntPtr hDC, int iPixelFormat, int iWidth, int iHeight, int* piAttribList) { return Delegates.wglCreatePbufferEXT((IntPtr)hDC, (int)iPixelFormat, (int)iWidth, (int)iHeight, (int*)piAttribList); } public static IntPtr GetPbufferDC(IntPtr hPbuffer) { return Delegates.wglGetPbufferDCEXT((IntPtr)hPbuffer); } public static int ReleasePbufferDC(IntPtr hPbuffer, IntPtr hDC) { return Delegates.wglReleasePbufferDCEXT((IntPtr)hPbuffer, (IntPtr)hDC); } public static Boolean DestroyPbuffer(IntPtr hPbuffer) { return Delegates.wglDestroyPbufferEXT((IntPtr)hPbuffer); } public static Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglQueryPbufferEXT((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] out int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { Boolean retval = Delegates.wglQueryPbufferEXT((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue_ptr); piValue = *piValue_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean QueryPbuffer(IntPtr hPbuffer, int iAttribute, [Out] int* piValue) { return Delegates.wglQueryPbufferEXT((IntPtr)hPbuffer, (int)iAttribute, (int*)piValue); } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int[] piAttributes, [Out] int[] piValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (int* piValues_ptr = piValues) { return Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] int[] piAttributes, [Out] int[] piValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (int* piValues_ptr = piValues) { return Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] out int piAttributes, [Out] out int piValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (int* piValues_ptr = &piValues) { Boolean retval = Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); piAttributes = *piAttributes_ptr; piValues = *piValues_ptr; return retval; } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] out int piAttributes, [Out] out int piValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (int* piValues_ptr = &piValues) { Boolean retval = Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (int*)piValues_ptr); piAttributes = *piAttributes_ptr; piValues = *piValues_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int* piAttributes, [Out] int* piValues) { return Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (int*)piValues); } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] int* piAttributes, [Out] int* piValues) { return Delegates.wglGetPixelFormatAttribivEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (int*)piValues); } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int[] piAttributes, [Out] Single[] pfValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (Single* pfValues_ptr = pfValues) { return Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] int[] piAttributes, [Out] Single[] pfValues) { unsafe { fixed (int* piAttributes_ptr = piAttributes) fixed (Single* pfValues_ptr = pfValues) { return Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] out int piAttributes, [Out] out Single pfValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (Single* pfValues_ptr = &pfValues) { Boolean retval = Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); piAttributes = *piAttributes_ptr; pfValues = *pfValues_ptr; return retval; } } } public static Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] out int piAttributes, [Out] out Single pfValues) { unsafe { fixed (int* piAttributes_ptr = &piAttributes) fixed (Single* pfValues_ptr = &pfValues) { Boolean retval = Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes_ptr, (Single*)pfValues_ptr); piAttributes = *piAttributes_ptr; pfValues = *pfValues_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, UInt32 nAttributes, [Out] int* piAttributes, [Out] Single* pfValues) { return Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (Single*)pfValues); } [System.CLSCompliant(false)] public static unsafe Boolean GetPixelFormatAttrib(IntPtr hdc, int iPixelFormat, int iLayerPlane, Int32 nAttributes, [Out] int* piAttributes, [Out] Single* pfValues) { return Delegates.wglGetPixelFormatAttribfvEXT((IntPtr)hdc, (int)iPixelFormat, (int)iLayerPlane, (UInt32)nAttributes, (int*)piAttributes, (Single*)pfValues); } public static Boolean SwapInterval(int interval) { return Delegates.wglSwapIntervalEXT((int)interval); } public static int GetSwapInterval() { return Delegates.wglGetSwapIntervalEXT(); } } public static partial class NV { [System.CLSCompliant(false)] public static unsafe IntPtr AllocateMemory(Int32 size, Single readfreq, Single writefreq, Single priority) { return Delegates.wglAllocateMemoryNV((Int32)size, (Single)readfreq, (Single)writefreq, (Single)priority); } public static void FreeMemory([Out] IntPtr pointer) { unsafe { Delegates.wglFreeMemoryNV((IntPtr)pointer); } } public static void FreeMemory([In, Out] object pointer) { unsafe { System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned); try { Delegates.wglFreeMemoryNV((IntPtr)pointer_ptr.AddrOfPinnedObject()); } finally { pointer_ptr.Free(); } } } } public static partial class Oml { public static Boolean GetSyncValues(IntPtr hdc, [Out] Int64[] ust, [Out] Int64[] msc, [Out] Int64[] sbc) { unsafe { fixed (Int64* ust_ptr = ust) fixed (Int64* msc_ptr = msc) fixed (Int64* sbc_ptr = sbc) { return Delegates.wglGetSyncValuesOML((IntPtr)hdc, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); } } } public static Boolean GetSyncValues(IntPtr hdc, [Out] out Int64 ust, [Out] out Int64 msc, [Out] out Int64 sbc) { unsafe { fixed (Int64* ust_ptr = &ust) fixed (Int64* msc_ptr = &msc) fixed (Int64* sbc_ptr = &sbc) { Boolean retval = Delegates.wglGetSyncValuesOML((IntPtr)hdc, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); ust = *ust_ptr; msc = *msc_ptr; sbc = *sbc_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetSyncValues(IntPtr hdc, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc) { return Delegates.wglGetSyncValuesOML((IntPtr)hdc, (Int64*)ust, (Int64*)msc, (Int64*)sbc); } public static Boolean GetMscRate(IntPtr hdc, [Out] Int32[] numerator, [Out] Int32[] denominator) { unsafe { fixed (Int32* numerator_ptr = numerator) fixed (Int32* denominator_ptr = denominator) { return Delegates.wglGetMscRateOML((IntPtr)hdc, (Int32*)numerator_ptr, (Int32*)denominator_ptr); } } } public static Boolean GetMscRate(IntPtr hdc, [Out] out Int32 numerator, [Out] out Int32 denominator) { unsafe { fixed (Int32* numerator_ptr = &numerator) fixed (Int32* denominator_ptr = &denominator) { Boolean retval = Delegates.wglGetMscRateOML((IntPtr)hdc, (Int32*)numerator_ptr, (Int32*)denominator_ptr); numerator = *numerator_ptr; denominator = *denominator_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetMscRate(IntPtr hdc, [Out] Int32* numerator, [Out] Int32* denominator) { return Delegates.wglGetMscRateOML((IntPtr)hdc, (Int32*)numerator, (Int32*)denominator); } public static Int64 SwapBuffersMsc(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder) { return Delegates.wglSwapBuffersMscOML((IntPtr)hdc, (Int64)target_msc, (Int64)divisor, (Int64)remainder); } public static Int64 SwapLayerBuffersMsc(IntPtr hdc, int fuPlanes, Int64 target_msc, Int64 divisor, Int64 remainder) { return Delegates.wglSwapLayerBuffersMscOML((IntPtr)hdc, (int)fuPlanes, (Int64)target_msc, (Int64)divisor, (Int64)remainder); } public static Boolean WaitForMsc(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder, [Out] Int64[] ust, [Out] Int64[] msc, [Out] Int64[] sbc) { unsafe { fixed (Int64* ust_ptr = ust) fixed (Int64* msc_ptr = msc) fixed (Int64* sbc_ptr = sbc) { return Delegates.wglWaitForMscOML((IntPtr)hdc, (Int64)target_msc, (Int64)divisor, (Int64)remainder, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); } } } public static Boolean WaitForMsc(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder, [Out] out Int64 ust, [Out] out Int64 msc, [Out] out Int64 sbc) { unsafe { fixed (Int64* ust_ptr = &ust) fixed (Int64* msc_ptr = &msc) fixed (Int64* sbc_ptr = &sbc) { Boolean retval = Delegates.wglWaitForMscOML((IntPtr)hdc, (Int64)target_msc, (Int64)divisor, (Int64)remainder, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); ust = *ust_ptr; msc = *msc_ptr; sbc = *sbc_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean WaitForMsc(IntPtr hdc, Int64 target_msc, Int64 divisor, Int64 remainder, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc) { return Delegates.wglWaitForMscOML((IntPtr)hdc, (Int64)target_msc, (Int64)divisor, (Int64)remainder, (Int64*)ust, (Int64*)msc, (Int64*)sbc); } public static Boolean WaitForSbc(IntPtr hdc, Int64 target_sbc, [Out] Int64[] ust, [Out] Int64[] msc, [Out] Int64[] sbc) { unsafe { fixed (Int64* ust_ptr = ust) fixed (Int64* msc_ptr = msc) fixed (Int64* sbc_ptr = sbc) { return Delegates.wglWaitForSbcOML((IntPtr)hdc, (Int64)target_sbc, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); } } } public static Boolean WaitForSbc(IntPtr hdc, Int64 target_sbc, [Out] out Int64 ust, [Out] out Int64 msc, [Out] out Int64 sbc) { unsafe { fixed (Int64* ust_ptr = &ust) fixed (Int64* msc_ptr = &msc) fixed (Int64* sbc_ptr = &sbc) { Boolean retval = Delegates.wglWaitForSbcOML((IntPtr)hdc, (Int64)target_sbc, (Int64*)ust_ptr, (Int64*)msc_ptr, (Int64*)sbc_ptr); ust = *ust_ptr; msc = *msc_ptr; sbc = *sbc_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean WaitForSbc(IntPtr hdc, Int64 target_sbc, [Out] Int64* ust, [Out] Int64* msc, [Out] Int64* sbc) { return Delegates.wglWaitForSbcOML((IntPtr)hdc, (Int64)target_sbc, (Int64*)ust, (Int64*)msc, (Int64*)sbc); } } public static partial class I3d { public static Boolean GetDigitalVideoParameters(IntPtr hDC, int iAttribute, [Out] int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglGetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean GetDigitalVideoParameters(IntPtr hDC, int iAttribute, [Out] out int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { Boolean retval = Delegates.wglGetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); piValue = *piValue_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetDigitalVideoParameters(IntPtr hDC, int iAttribute, [Out] int* piValue) { return Delegates.wglGetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue); } public static Boolean SetDigitalVideoParameters(IntPtr hDC, int iAttribute, int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglSetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean SetDigitalVideoParameters(IntPtr hDC, int iAttribute, ref int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { return Delegates.wglSetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean SetDigitalVideoParameters(IntPtr hDC, int iAttribute, int* piValue) { return Delegates.wglSetDigitalVideoParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue); } public static Boolean GetGammaTableParameters(IntPtr hDC, int iAttribute, [Out] int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglGetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean GetGammaTableParameters(IntPtr hDC, int iAttribute, [Out] out int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { Boolean retval = Delegates.wglGetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); piValue = *piValue_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGammaTableParameters(IntPtr hDC, int iAttribute, [Out] int* piValue) { return Delegates.wglGetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue); } public static Boolean SetGammaTableParameters(IntPtr hDC, int iAttribute, int[] piValue) { unsafe { fixed (int* piValue_ptr = piValue) { return Delegates.wglSetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } public static Boolean SetGammaTableParameters(IntPtr hDC, int iAttribute, ref int piValue) { unsafe { fixed (int* piValue_ptr = &piValue) { return Delegates.wglSetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean SetGammaTableParameters(IntPtr hDC, int iAttribute, int* piValue) { return Delegates.wglSetGammaTableParametersI3D((IntPtr)hDC, (int)iAttribute, (int*)piValue); } [System.CLSCompliant(false)] public static Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] UInt16[] puRed, [Out] UInt16[] puGreen, [Out] UInt16[] puBlue) { unsafe { fixed (UInt16* puRed_ptr = puRed) fixed (UInt16* puGreen_ptr = puGreen) fixed (UInt16* puBlue_ptr = puBlue) { return Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } public static Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] Int16[] puRed, [Out] Int16[] puGreen, [Out] Int16[] puBlue) { unsafe { fixed (Int16* puRed_ptr = puRed) fixed (Int16* puGreen_ptr = puGreen) fixed (Int16* puBlue_ptr = puBlue) { return Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] out UInt16 puRed, [Out] out UInt16 puGreen, [Out] out UInt16 puBlue) { unsafe { fixed (UInt16* puRed_ptr = &puRed) fixed (UInt16* puGreen_ptr = &puGreen) fixed (UInt16* puBlue_ptr = &puBlue) { Boolean retval = Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); puRed = *puRed_ptr; puGreen = *puGreen_ptr; puBlue = *puBlue_ptr; return retval; } } } public static Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] out Int16 puRed, [Out] out Int16 puGreen, [Out] out Int16 puBlue) { unsafe { fixed (Int16* puRed_ptr = &puRed) fixed (Int16* puGreen_ptr = &puGreen) fixed (Int16* puBlue_ptr = &puBlue) { Boolean retval = Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); puRed = *puRed_ptr; puGreen = *puGreen_ptr; puBlue = *puBlue_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] UInt16* puRed, [Out] UInt16* puGreen, [Out] UInt16* puBlue) { return Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed, (UInt16*)puGreen, (UInt16*)puBlue); } [System.CLSCompliant(false)] public static unsafe Boolean GetGammaTable(IntPtr hDC, int iEntries, [Out] Int16* puRed, [Out] Int16* puGreen, [Out] Int16* puBlue) { return Delegates.wglGetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed, (UInt16*)puGreen, (UInt16*)puBlue); } [System.CLSCompliant(false)] public static Boolean SetGammaTable(IntPtr hDC, int iEntries, UInt16[] puRed, UInt16[] puGreen, UInt16[] puBlue) { unsafe { fixed (UInt16* puRed_ptr = puRed) fixed (UInt16* puGreen_ptr = puGreen) fixed (UInt16* puBlue_ptr = puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } public static Boolean SetGammaTable(IntPtr hDC, int iEntries, Int16[] puRed, Int16[] puGreen, Int16[] puBlue) { unsafe { fixed (Int16* puRed_ptr = puRed) fixed (Int16* puGreen_ptr = puGreen) fixed (Int16* puBlue_ptr = puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } [System.CLSCompliant(false)] public static Boolean SetGammaTable(IntPtr hDC, int iEntries, ref UInt16 puRed, ref UInt16 puGreen, ref UInt16 puBlue) { unsafe { fixed (UInt16* puRed_ptr = &puRed) fixed (UInt16* puGreen_ptr = &puGreen) fixed (UInt16* puBlue_ptr = &puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } public static Boolean SetGammaTable(IntPtr hDC, int iEntries, ref Int16 puRed, ref Int16 puGreen, ref Int16 puBlue) { unsafe { fixed (Int16* puRed_ptr = &puRed) fixed (Int16* puGreen_ptr = &puGreen) fixed (Int16* puBlue_ptr = &puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed_ptr, (UInt16*)puGreen_ptr, (UInt16*)puBlue_ptr); } } } [System.CLSCompliant(false)] public static unsafe Boolean SetGammaTable(IntPtr hDC, int iEntries, UInt16* puRed, UInt16* puGreen, UInt16* puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed, (UInt16*)puGreen, (UInt16*)puBlue); } [System.CLSCompliant(false)] public static unsafe Boolean SetGammaTable(IntPtr hDC, int iEntries, Int16* puRed, Int16* puGreen, Int16* puBlue) { return Delegates.wglSetGammaTableI3D((IntPtr)hDC, (int)iEntries, (UInt16*)puRed, (UInt16*)puGreen, (UInt16*)puBlue); } public static Boolean EnableGenlock(IntPtr hDC) { return Delegates.wglEnableGenlockI3D((IntPtr)hDC); } public static Boolean DisableGenlock(IntPtr hDC) { return Delegates.wglDisableGenlockI3D((IntPtr)hDC); } public static Boolean IsEnabledGenlock(IntPtr hDC, [Out] Boolean[] pFlag) { unsafe { fixed (Boolean* pFlag_ptr = pFlag) { return Delegates.wglIsEnabledGenlockI3D((IntPtr)hDC, (Boolean*)pFlag_ptr); } } } public static Boolean IsEnabledGenlock(IntPtr hDC, [Out] out Boolean pFlag) { unsafe { fixed (Boolean* pFlag_ptr = &pFlag) { Boolean retval = Delegates.wglIsEnabledGenlockI3D((IntPtr)hDC, (Boolean*)pFlag_ptr); pFlag = *pFlag_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean IsEnabledGenlock(IntPtr hDC, [Out] Boolean* pFlag) { return Delegates.wglIsEnabledGenlockI3D((IntPtr)hDC, (Boolean*)pFlag); } [System.CLSCompliant(false)] public static Boolean GenlockSource(IntPtr hDC, UInt32 uSource) { return Delegates.wglGenlockSourceI3D((IntPtr)hDC, (UInt32)uSource); } public static Boolean GenlockSource(IntPtr hDC, Int32 uSource) { return Delegates.wglGenlockSourceI3D((IntPtr)hDC, (UInt32)uSource); } [System.CLSCompliant(false)] public static Boolean GetGenlockSource(IntPtr hDC, [Out] UInt32[] uSource) { unsafe { fixed (UInt32* uSource_ptr = uSource) { return Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource_ptr); } } } public static Boolean GetGenlockSource(IntPtr hDC, [Out] Int32[] uSource) { unsafe { fixed (Int32* uSource_ptr = uSource) { return Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetGenlockSource(IntPtr hDC, [Out] out UInt32 uSource) { unsafe { fixed (UInt32* uSource_ptr = &uSource) { Boolean retval = Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource_ptr); uSource = *uSource_ptr; return retval; } } } public static Boolean GetGenlockSource(IntPtr hDC, [Out] out Int32 uSource) { unsafe { fixed (Int32* uSource_ptr = &uSource) { Boolean retval = Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource_ptr); uSource = *uSource_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSource(IntPtr hDC, [Out] UInt32* uSource) { return Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource); } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSource(IntPtr hDC, [Out] Int32* uSource) { return Delegates.wglGetGenlockSourceI3D((IntPtr)hDC, (UInt32*)uSource); } [System.CLSCompliant(false)] public static Boolean GenlockSourceEdge(IntPtr hDC, UInt32 uEdge) { return Delegates.wglGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32)uEdge); } public static Boolean GenlockSourceEdge(IntPtr hDC, Int32 uEdge) { return Delegates.wglGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32)uEdge); } [System.CLSCompliant(false)] public static Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] UInt32[] uEdge) { unsafe { fixed (UInt32* uEdge_ptr = uEdge) { return Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge_ptr); } } } public static Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] Int32[] uEdge) { unsafe { fixed (Int32* uEdge_ptr = uEdge) { return Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] out UInt32 uEdge) { unsafe { fixed (UInt32* uEdge_ptr = &uEdge) { Boolean retval = Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge_ptr); uEdge = *uEdge_ptr; return retval; } } } public static Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] out Int32 uEdge) { unsafe { fixed (Int32* uEdge_ptr = &uEdge) { Boolean retval = Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge_ptr); uEdge = *uEdge_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] UInt32* uEdge) { return Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge); } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSourceEdge(IntPtr hDC, [Out] Int32* uEdge) { return Delegates.wglGetGenlockSourceEdgeI3D((IntPtr)hDC, (UInt32*)uEdge); } [System.CLSCompliant(false)] public static Boolean GenlockSampleRate(IntPtr hDC, UInt32 uRate) { return Delegates.wglGenlockSampleRateI3D((IntPtr)hDC, (UInt32)uRate); } public static Boolean GenlockSampleRate(IntPtr hDC, Int32 uRate) { return Delegates.wglGenlockSampleRateI3D((IntPtr)hDC, (UInt32)uRate); } [System.CLSCompliant(false)] public static Boolean GetGenlockSampleRate(IntPtr hDC, [Out] UInt32[] uRate) { unsafe { fixed (UInt32* uRate_ptr = uRate) { return Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate_ptr); } } } public static Boolean GetGenlockSampleRate(IntPtr hDC, [Out] Int32[] uRate) { unsafe { fixed (Int32* uRate_ptr = uRate) { return Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetGenlockSampleRate(IntPtr hDC, [Out] out UInt32 uRate) { unsafe { fixed (UInt32* uRate_ptr = &uRate) { Boolean retval = Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate_ptr); uRate = *uRate_ptr; return retval; } } } public static Boolean GetGenlockSampleRate(IntPtr hDC, [Out] out Int32 uRate) { unsafe { fixed (Int32* uRate_ptr = &uRate) { Boolean retval = Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate_ptr); uRate = *uRate_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSampleRate(IntPtr hDC, [Out] UInt32* uRate) { return Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate); } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSampleRate(IntPtr hDC, [Out] Int32* uRate) { return Delegates.wglGetGenlockSampleRateI3D((IntPtr)hDC, (UInt32*)uRate); } [System.CLSCompliant(false)] public static Boolean GenlockSourceDelay(IntPtr hDC, UInt32 uDelay) { return Delegates.wglGenlockSourceDelayI3D((IntPtr)hDC, (UInt32)uDelay); } public static Boolean GenlockSourceDelay(IntPtr hDC, Int32 uDelay) { return Delegates.wglGenlockSourceDelayI3D((IntPtr)hDC, (UInt32)uDelay); } [System.CLSCompliant(false)] public static Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] UInt32[] uDelay) { unsafe { fixed (UInt32* uDelay_ptr = uDelay) { return Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay_ptr); } } } public static Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] Int32[] uDelay) { unsafe { fixed (Int32* uDelay_ptr = uDelay) { return Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay_ptr); } } } [System.CLSCompliant(false)] public static Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] out UInt32 uDelay) { unsafe { fixed (UInt32* uDelay_ptr = &uDelay) { Boolean retval = Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay_ptr); uDelay = *uDelay_ptr; return retval; } } } public static Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] out Int32 uDelay) { unsafe { fixed (Int32* uDelay_ptr = &uDelay) { Boolean retval = Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay_ptr); uDelay = *uDelay_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] UInt32* uDelay) { return Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay); } [System.CLSCompliant(false)] public static unsafe Boolean GetGenlockSourceDelay(IntPtr hDC, [Out] Int32* uDelay) { return Delegates.wglGetGenlockSourceDelayI3D((IntPtr)hDC, (UInt32*)uDelay); } [System.CLSCompliant(false)] public static Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] UInt32[] uMaxLineDelay, [Out] UInt32[] uMaxPixelDelay) { unsafe { fixed (UInt32* uMaxLineDelay_ptr = uMaxLineDelay) fixed (UInt32* uMaxPixelDelay_ptr = uMaxPixelDelay) { return Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay_ptr, (UInt32*)uMaxPixelDelay_ptr); } } } public static Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] Int32[] uMaxLineDelay, [Out] Int32[] uMaxPixelDelay) { unsafe { fixed (Int32* uMaxLineDelay_ptr = uMaxLineDelay) fixed (Int32* uMaxPixelDelay_ptr = uMaxPixelDelay) { return Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay_ptr, (UInt32*)uMaxPixelDelay_ptr); } } } [System.CLSCompliant(false)] public static Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] out UInt32 uMaxLineDelay, [Out] out UInt32 uMaxPixelDelay) { unsafe { fixed (UInt32* uMaxLineDelay_ptr = &uMaxLineDelay) fixed (UInt32* uMaxPixelDelay_ptr = &uMaxPixelDelay) { Boolean retval = Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay_ptr, (UInt32*)uMaxPixelDelay_ptr); uMaxLineDelay = *uMaxLineDelay_ptr; uMaxPixelDelay = *uMaxPixelDelay_ptr; return retval; } } } public static Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] out Int32 uMaxLineDelay, [Out] out Int32 uMaxPixelDelay) { unsafe { fixed (Int32* uMaxLineDelay_ptr = &uMaxLineDelay) fixed (Int32* uMaxPixelDelay_ptr = &uMaxPixelDelay) { Boolean retval = Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay_ptr, (UInt32*)uMaxPixelDelay_ptr); uMaxLineDelay = *uMaxLineDelay_ptr; uMaxPixelDelay = *uMaxPixelDelay_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] UInt32* uMaxLineDelay, [Out] UInt32* uMaxPixelDelay) { return Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay, (UInt32*)uMaxPixelDelay); } [System.CLSCompliant(false)] public static unsafe Boolean QueryGenlockMaxSourceDelay(IntPtr hDC, [Out] Int32* uMaxLineDelay, [Out] Int32* uMaxPixelDelay) { return Delegates.wglQueryGenlockMaxSourceDelayI3D((IntPtr)hDC, (UInt32*)uMaxLineDelay, (UInt32*)uMaxPixelDelay); } [System.CLSCompliant(false)] public static unsafe IntPtr CreateImageBuffer(IntPtr hDC, Int32 dwSize, UInt32 uFlags) { return Delegates.wglCreateImageBufferI3D((IntPtr)hDC, (Int32)dwSize, (UInt32)uFlags); } [System.CLSCompliant(false)] public static unsafe IntPtr CreateImageBuffer(IntPtr hDC, Int32 dwSize, Int32 uFlags) { return Delegates.wglCreateImageBufferI3D((IntPtr)hDC, (Int32)dwSize, (UInt32)uFlags); } public static Boolean DestroyImageBuffer(IntPtr hDC, IntPtr pAddress) { unsafe { return Delegates.wglDestroyImageBufferI3D((IntPtr)hDC, (IntPtr)pAddress); } } public static Boolean DestroyImageBuffer(IntPtr hDC, [In, Out] object pAddress) { unsafe { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglDestroyImageBufferI3D((IntPtr)hDC, (IntPtr)pAddress_ptr.AddrOfPinnedObject()); } finally { pAddress_ptr.Free(); } } } [System.CLSCompliant(false)] public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, IntPtr pAddress, Int32[] pSize, UInt32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = pSize) { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress, (Int32*)pSize_ptr, (UInt32)count); } } } public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, IntPtr pAddress, Int32[] pSize, Int32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = pSize) { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress, (Int32*)pSize_ptr, (UInt32)count); } } } [System.CLSCompliant(false)] public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, [In, Out] object pAddress, Int32[] pSize, UInt32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, [In, Out] object pAddress, Int32[] pSize, Int32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, [In, Out] object pAddress, ref Int32 pSize, UInt32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } public static Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr[] pEvent, [In, Out] object pAddress, ref Int32 pSize, Int32 count) { unsafe { fixed (IntPtr* pEvent_ptr = pEvent) fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static Boolean AssociateImageBufferEvents(IntPtr hDC, ref IntPtr pEvent, [In, Out] object pAddress, Int32[] pSize, UInt32 count) { unsafe { fixed (IntPtr* pEvent_ptr = &pEvent) fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } public static Boolean AssociateImageBufferEvents(IntPtr hDC, ref IntPtr pEvent, [In, Out] object pAddress, Int32[] pSize, Int32 count) { unsafe { fixed (IntPtr* pEvent_ptr = &pEvent) fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static Boolean AssociateImageBufferEvents(IntPtr hDC, ref IntPtr pEvent, [In, Out] object pAddress, ref Int32 pSize, UInt32 count) { unsafe { fixed (IntPtr* pEvent_ptr = &pEvent) fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } public static Boolean AssociateImageBufferEvents(IntPtr hDC, ref IntPtr pEvent, [In, Out] object pAddress, ref Int32 pSize, Int32 count) { unsafe { fixed (IntPtr* pEvent_ptr = &pEvent) fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent_ptr, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, Int32* pSize, UInt32 count) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize, (UInt32)count); } finally { pAddress_ptr.Free(); } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, Int32* pSize, Int32 count) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize, (UInt32)count); } finally { pAddress_ptr.Free(); } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, Int32[] pSize, UInt32 count) { unsafe { fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, Int32[] pSize, Int32 count) { unsafe { fixed (Int32* pSize_ptr = pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, ref Int32 pSize, UInt32 count) { unsafe { fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static unsafe Boolean AssociateImageBufferEvents(IntPtr hDC, IntPtr* pEvent, [In, Out] object pAddress, ref Int32 pSize, Int32 count) { unsafe { fixed (Int32* pSize_ptr = &pSize) { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglAssociateImageBufferEventsI3D((IntPtr)hDC, (IntPtr*)pEvent, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (Int32*)pSize_ptr, (UInt32)count); } finally { pAddress_ptr.Free(); } } } } [System.CLSCompliant(false)] public static Boolean ReleaseImageBufferEvents(IntPtr hDC, IntPtr pAddress, UInt32 count) { unsafe { return Delegates.wglReleaseImageBufferEventsI3D((IntPtr)hDC, (IntPtr)pAddress, (UInt32)count); } } public static Boolean ReleaseImageBufferEvents(IntPtr hDC, IntPtr pAddress, Int32 count) { unsafe { return Delegates.wglReleaseImageBufferEventsI3D((IntPtr)hDC, (IntPtr)pAddress, (UInt32)count); } } [System.CLSCompliant(false)] public static Boolean ReleaseImageBufferEvents(IntPtr hDC, [In, Out] object pAddress, UInt32 count) { unsafe { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglReleaseImageBufferEventsI3D((IntPtr)hDC, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (UInt32)count); } finally { pAddress_ptr.Free(); } } } public static Boolean ReleaseImageBufferEvents(IntPtr hDC, [In, Out] object pAddress, Int32 count) { unsafe { System.Runtime.InteropServices.GCHandle pAddress_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pAddress, System.Runtime.InteropServices.GCHandleType.Pinned); try { return Delegates.wglReleaseImageBufferEventsI3D((IntPtr)hDC, (IntPtr)pAddress_ptr.AddrOfPinnedObject(), (UInt32)count); } finally { pAddress_ptr.Free(); } } } public static Boolean EnableFrameLock() { return Delegates.wglEnableFrameLockI3D(); } public static Boolean DisableFrameLock() { return Delegates.wglDisableFrameLockI3D(); } public static Boolean IsEnabledFrameLock([Out] Boolean[] pFlag) { unsafe { fixed (Boolean* pFlag_ptr = pFlag) { return Delegates.wglIsEnabledFrameLockI3D((Boolean*)pFlag_ptr); } } } public static Boolean IsEnabledFrameLock([Out] out Boolean pFlag) { unsafe { fixed (Boolean* pFlag_ptr = &pFlag) { Boolean retval = Delegates.wglIsEnabledFrameLockI3D((Boolean*)pFlag_ptr); pFlag = *pFlag_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean IsEnabledFrameLock([Out] Boolean* pFlag) { return Delegates.wglIsEnabledFrameLockI3D((Boolean*)pFlag); } public static Boolean QueryFrameLockMaster([Out] Boolean[] pFlag) { unsafe { fixed (Boolean* pFlag_ptr = pFlag) { return Delegates.wglQueryFrameLockMasterI3D((Boolean*)pFlag_ptr); } } } public static Boolean QueryFrameLockMaster([Out] out Boolean pFlag) { unsafe { fixed (Boolean* pFlag_ptr = &pFlag) { Boolean retval = Delegates.wglQueryFrameLockMasterI3D((Boolean*)pFlag_ptr); pFlag = *pFlag_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean QueryFrameLockMaster([Out] Boolean* pFlag) { return Delegates.wglQueryFrameLockMasterI3D((Boolean*)pFlag); } public static Boolean GetFrameUsage([Out] float[] pUsage) { unsafe { fixed (float* pUsage_ptr = pUsage) { return Delegates.wglGetFrameUsageI3D((float*)pUsage_ptr); } } } public static Boolean GetFrameUsage([Out] out float pUsage) { unsafe { fixed (float* pUsage_ptr = &pUsage) { Boolean retval = Delegates.wglGetFrameUsageI3D((float*)pUsage_ptr); pUsage = *pUsage_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean GetFrameUsage([Out] float* pUsage) { return Delegates.wglGetFrameUsageI3D((float*)pUsage); } public static Boolean BeginFrameTracking() { return Delegates.wglBeginFrameTrackingI3D(); } public static Boolean EndFrameTracking() { return Delegates.wglEndFrameTrackingI3D(); } public static Boolean QueryFrameTracking([Out] Int32[] pFrameCount, [Out] Int32[] pMissedFrames, [Out] float[] pLastMissedUsage) { unsafe { fixed (Int32* pFrameCount_ptr = pFrameCount) fixed (Int32* pMissedFrames_ptr = pMissedFrames) fixed (float* pLastMissedUsage_ptr = pLastMissedUsage) { return Delegates.wglQueryFrameTrackingI3D((Int32*)pFrameCount_ptr, (Int32*)pMissedFrames_ptr, (float*)pLastMissedUsage_ptr); } } } public static Boolean QueryFrameTracking([Out] out Int32 pFrameCount, [Out] out Int32 pMissedFrames, [Out] out float pLastMissedUsage) { unsafe { fixed (Int32* pFrameCount_ptr = &pFrameCount) fixed (Int32* pMissedFrames_ptr = &pMissedFrames) fixed (float* pLastMissedUsage_ptr = &pLastMissedUsage) { Boolean retval = Delegates.wglQueryFrameTrackingI3D((Int32*)pFrameCount_ptr, (Int32*)pMissedFrames_ptr, (float*)pLastMissedUsage_ptr); pFrameCount = *pFrameCount_ptr; pMissedFrames = *pMissedFrames_ptr; pLastMissedUsage = *pLastMissedUsage_ptr; return retval; } } } [System.CLSCompliant(false)] public static unsafe Boolean QueryFrameTracking([Out] Int32* pFrameCount, [Out] Int32* pMissedFrames, [Out] float* pLastMissedUsage) { return Delegates.wglQueryFrameTrackingI3D((Int32*)pFrameCount, (Int32*)pMissedFrames, (float*)pLastMissedUsage); } } } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinWindowInfo.cs0000664000175000017500000001315211453131422023452 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Runtime.InteropServices; namespace OpenTK.Platform.Windows { /// \internal /// Describes a win32 window. sealed class WinWindowInfo : IWindowInfo { IntPtr handle, dc; WinWindowInfo parent; bool disposed; #region --- Constructors --- /// /// Constructs a new instance. /// public WinWindowInfo() { } /// /// Constructs a new instance with the specified window handle and paren.t /// /// The window handle for this instance. /// The parent window of this instance (may be null). public WinWindowInfo(IntPtr handle, WinWindowInfo parent) { this.handle = handle; this.parent = parent; } #endregion #region --- Public Methods --- /// /// Gets or sets the handle of the window. /// public IntPtr WindowHandle { get { return handle; } set { handle = value; } } /// /// Gets or sets the Parent of the window (may be null). /// public WinWindowInfo Parent { get { return parent; } set { parent = value; } } /// /// Gets the device context for this window instance. /// public IntPtr DeviceContext { get { if (dc == IntPtr.Zero) dc = Functions.GetDC(this.WindowHandle); //dc = Functions.GetWindowDC(this.WindowHandle); return dc; } } #region public override string ToString() /// Returns a System.String that represents the current window. /// A System.String that represents the current window. public override string ToString() { return String.Format("Windows.WindowInfo: Handle {0}, Parent ({1})", this.WindowHandle, this.Parent != null ? this.Parent.ToString() : "null"); } /// Checks if this and obj reference the same win32 window. /// The object to check against. /// True if this and obj reference the same win32 window; false otherwise. public override bool Equals(object obj) { if (obj == null) return false; if (this.GetType() != obj.GetType()) return false; WinWindowInfo info = (WinWindowInfo)obj; if (info == null) return false; // TODO: Assumes windows will always have unique handles. return handle.Equals(info.handle); } /// Returns the hash code for this instance. /// A hash code for the current WinWindowInfo. public override int GetHashCode() { return handle.GetHashCode(); } #endregion #endregion #region --- IDisposable --- #region public void Dispose() /// Releases the unmanaged resources consumed by this instance. public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } #endregion #region void Dispose(bool manual) void Dispose(bool manual) { if (!disposed) { if (this.dc != IntPtr.Zero) if (!Functions.ReleaseDC(this.handle, this.dc)) Debug.Print("[Warning] Failed to release device context {0}. Windows error: {1}.", this.dc, Marshal.GetLastWin32Error()); if (manual) { if (parent != null) parent.Dispose(); } disposed = true; } } #endregion #region ~WinWindowInfo() ~WinWindowInfo() { this.Dispose(false); } #endregion #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/Windows/WinRawInput.cs0000664000175000017500000002114211453131422023136 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion #region --- Using directives --- using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using System.Windows.Forms; using OpenTK.Input; #endregion namespace OpenTK.Platform.Windows { // Not complete. sealed class WinRawInput : System.Windows.Forms.NativeWindow, IInputDriver { // Input event data. RawInput data = new RawInput(); // The total number of input devices connected to this system. static int deviceCount; int rawInputStructSize = API.RawInputSize; private WinRawKeyboard keyboardDriver; private WinRawMouse mouseDriver; #region --- Constructors --- internal WinRawInput(WinWindowInfo parent) { Debug.WriteLine("Initalizing windows raw input driver."); Debug.Indent(); AssignHandle(parent.WindowHandle); Debug.Print("Input window attached to parent {0}", parent); keyboardDriver = new WinRawKeyboard(this.Handle); mouseDriver = new WinRawMouse(this.Handle); Debug.Unindent(); //AllocateBuffer(); } #endregion #region internal static int DeviceCount internal static int DeviceCount { get { Functions.GetRawInputDeviceList(null, ref deviceCount, API.RawInputDeviceListSize); return deviceCount; } } #endregion #region protected override void WndProc(ref Message msg) /// /// Processes the input Windows Message, routing the buffer to the correct Keyboard, Mouse or HID. /// /// The WM_INPUT message, containing the buffer on the input event. protected override void WndProc(ref Message msg) { switch ((WindowMessage)msg.Msg) { case WindowMessage.INPUT: int size = 0; // Get the size of the input buffer Functions.GetRawInputData(msg.LParam, GetRawInputDataEnum.INPUT, IntPtr.Zero, ref size, API.RawInputHeaderSize); //if (buffer == null || API.RawInputSize < size) //{ // throw new ApplicationException("Critical error when processing raw windows input."); //} if (size == Functions.GetRawInputData(msg.LParam, GetRawInputDataEnum.INPUT, out data, ref size, API.RawInputHeaderSize)) { switch (data.Header.Type) { case RawInputDeviceType.KEYBOARD: if (!keyboardDriver.ProcessKeyboardEvent(data)) Functions.DefRawInputProc(ref data, 1, (uint)API.RawInputHeaderSize); return; case RawInputDeviceType.MOUSE: if (!mouseDriver.ProcessEvent(data)) Functions.DefRawInputProc(ref data, 1, (uint)API.RawInputHeaderSize); return; case RawInputDeviceType.HID: Functions.DefRawInputProc(ref data, 1, (uint)API.RawInputHeaderSize); return; default: break; } } else { throw new ApplicationException(String.Format( "GetRawInputData returned invalid buffer. Windows error {0}. Please file a bug at http://opentk.sourceforge.net", Marshal.GetLastWin32Error())); } break; case WindowMessage.DESTROY: Debug.Print("Input window detached from parent {0}.", Handle); ReleaseHandle(); break; case WindowMessage.QUIT: Debug.WriteLine("Input window quit."); this.Dispose(); break; } base.WndProc(ref msg); } #endregion #region --- IInputDriver Members --- #region IInputDriver Members public void Poll() { return; #if false // We will do a buffered read for all input devices and route the RawInput structures // to the correct 'ProcessData' handlers. First, we need to find out the size of the // buffer to allocate for the structures. Then we allocate the buffer and read the // structures, calling the correct handler for each one. Last, we free the allocated // buffer. int size = 0; Functions.GetRawInputBuffer(IntPtr.Zero, ref size, API.RawInputHeaderSize); size *= 256; IntPtr rin_data = Marshal.AllocHGlobal(size); while (true) { // Iterate reading all available RawInput structures and routing them to their respective // handlers. int num = Functions.GetRawInputBuffer(rin_data, ref size, API.RawInputHeaderSize); if (num == 0) break; else if (num < 0) { /*int error = Marshal.GetLastWin32Error(); if (error == 122) { // Enlarge the buffer, it was too small. AllocateBuffer(); } else { throw new ApplicationException(String.Format( "GetRawInputBuffer failed with code: {0}", error)); }*/ Debug.Print("GetRawInputBuffer failed with code: {0}", Marshal.GetLastWin32Error()); //AllocateBuffer(); break; } RawInput[] rin_structs = new RawInput[num]; IntPtr next_rin = rin_data; for (int i = 0; i < num; i++) { rin_structs[i] = (RawInput)Marshal.PtrToStructure(next_rin, typeof(RawInput)); switch (rin_structs[i].Header.Type) { case RawInputDeviceType.KEYBOARD: keyboardDriver.ProcessKeyboardEvent(rin_structs[i]); break; case RawInputDeviceType.MOUSE: mouseDriver.ProcessEvent(rin_structs[i]); break; } next_rin = Functions.NextRawInputStructure(next_rin); } Functions.DefRawInputProc(rin_structs, num, (uint)API.RawInputHeaderSize); } Marshal.FreeHGlobal(rin_data); #endif } #endregion #region IKeyboardDriver Members public IList Keyboard { get { return keyboardDriver.Keyboard; } } #endregion #region IMouseDriver Members public IList Mouse { get { return mouseDriver.Mouse; } } #endregion #region IJoystickDriver Members public IList Joysticks { get { throw new NotImplementedException(); } } #endregion #endregion #region --- IDisposable Members --- private bool disposed; public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manual) { if (!disposed) { if (manual) { keyboardDriver.Dispose(); this.ReleaseHandle(); } disposed = true; } } ~WinRawInput() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/INativeGLWindow.cs0000664000175000017500000000254311453131422022233 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using OpenTK.Input; using OpenTK.Graphics; using System.Drawing; namespace OpenTK.Platform { [Obsolete] internal interface INativeGLWindow : IDisposable { void CreateWindow(int width, int height, GraphicsMode mode, int major, int minor, GraphicsContextFlags flags, out IGraphicsContext context); void DestroyWindow(); void ProcessEvents(); Point PointToClient(Point point); Point PointToScreen(Point point); bool Exists { get; } IWindowInfo WindowInfo { get; } string Title { get; set; } bool Visible { get; set; } bool IsIdle { get; } IInputDriver InputDriver { get; } WindowState WindowState { get; set; } WindowBorder WindowBorder { get; set; } event CreateEvent Create; event DestroyEvent Destroy; } [Obsolete] internal delegate void CreateEvent(object sender, EventArgs e); [Obsolete] internal delegate void DestroyEvent(object sender, EventArgs e); } opentk-1.0.20101006/Source/OpenTK/Platform/IDisplayDeviceDriver.cs0000664000175000017500000000103311453131422023264 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform { internal interface IDisplayDeviceDriver { bool TryChangeResolution(DisplayDevice device, DisplayResolution resolution); bool TryRestoreResolution(DisplayDevice device); } } opentk-1.0.20101006/Source/OpenTK/Platform/IWindowInfo.cs0000664000175000017500000000073511453131422021456 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform { /// Descibes an OS window. public interface IWindowInfo : IDisposable { } } opentk-1.0.20101006/Source/OpenTK/Platform/DesktopGraphicsContext.cs0000664000175000017500000000307611453131422023722 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using OpenTK.Graphics; namespace OpenTK.Platform { // Provides the foundation for all desktop IGraphicsContext implementations. abstract class DesktopGraphicsContext : GraphicsContextBase { public override void LoadAll() { new OpenTK.Graphics.OpenGL.GL().LoadEntryPoints(); } } } opentk-1.0.20101006/Source/OpenTK/Platform/Factory.cs0000664000175000017500000001546411453131422020676 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform { using Graphics; sealed class Factory : IPlatformFactory { #region Fields static IPlatformFactory default_implementation, embedded_implementation; #endregion #region Constructors static Factory() { if (Configuration.RunningOnWindows) Default = new Windows.WinFactory(); else if (Configuration.RunningOnMacOS) Default = new MacOS.MacOSFactory(); else if (Configuration.RunningOnX11) Default = new X11.X11Factory(); else Default = new UnsupportedPlatform(); if (Egl.Egl.IsSupported) { if (Configuration.RunningOnWindows) Embedded = new Egl.EglWinPlatformFactory(); else if (Configuration.RunningOnMacOS) Embedded = new Egl.EglMacPlatformFactory(); else if (Configuration.RunningOnX11) Embedded = new Egl.EglX11PlatformFactory(); else Embedded = new UnsupportedPlatform(); } else Embedded = new UnsupportedPlatform(); if (Default is UnsupportedPlatform && !(Embedded is UnsupportedPlatform)) Default = Embedded; } #endregion #region Public Members public static IPlatformFactory Default { get { return default_implementation; } private set { default_implementation = value; } } public static IPlatformFactory Embedded { get { return embedded_implementation; } private set { embedded_implementation = value; } } #endregion #region IPlatformFactory Members public INativeWindow CreateNativeWindow(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { return default_implementation.CreateNativeWindow(x, y, width, height, title, mode, options, device); } public IDisplayDeviceDriver CreateDisplayDeviceDriver() { return default_implementation.CreateDisplayDeviceDriver(); } public IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return default_implementation.CreateGLContext(mode, window, shareContext, directRendering, major, minor, flags); } public IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return default_implementation.CreateGLContext(handle, window, shareContext, directRendering, major, minor, flags); } public GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return default_implementation.CreateGetCurrentGraphicsContext(); } public IGraphicsMode CreateGraphicsMode() { return default_implementation.CreateGraphicsMode(); } public OpenTK.Input.IKeyboardDriver CreateKeyboardDriver() { return default_implementation.CreateKeyboardDriver(); } class UnsupportedPlatform : IPlatformFactory { #region Fields static readonly string error_string = "Please, refer to http://www.opentk.com for more information."; #endregion #region IPlatformFactory Members public INativeWindow CreateNativeWindow(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { throw new PlatformNotSupportedException(error_string); } public IDisplayDeviceDriver CreateDisplayDeviceDriver() { throw new PlatformNotSupportedException(error_string); } public IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { throw new PlatformNotSupportedException(error_string); } public IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { throw new PlatformNotSupportedException(error_string); } public IGraphicsContext CreateESContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, int major, int minor, GraphicsContextFlags flags) { throw new PlatformNotSupportedException(error_string); } public GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { throw new PlatformNotSupportedException(error_string); } public IGraphicsMode CreateGraphicsMode() { throw new PlatformNotSupportedException(error_string); } public OpenTK.Input.IKeyboardDriver CreateKeyboardDriver() { throw new PlatformNotSupportedException(error_string); } #endregion } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/0000775000175000017500000000000011453142154017303 5ustar laneylaneyopentk-1.0.20101006/Source/OpenTK/Platform/X11/X11GLNative.cs0000664000175000017500000015737511453131422021613 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Runtime.InteropServices; using System.Text; using OpenTK.Graphics; using OpenTK.Input; using System.Drawing; namespace OpenTK.Platform.X11 { /// \internal /// /// Drives GameWindow on X11. /// This class supports OpenTK, and is not intended for use by OpenTK programs. /// internal sealed class X11GLNative : INativeWindow, IDisposable { // TODO: Disable screensaver. // TODO: What happens if we can't disable decorations through motif? // TODO: Mouse/keyboard grabbing/wrapping. #region Fields const int _min_width = 30, _min_height = 30; X11WindowInfo window = new X11WindowInfo(); X11Input driver; // Window manager hints for fullscreen windows. // Not used right now (the code is written, but is not 64bit-correct), but could be useful for older WMs which // are not ICCM compliant, but may support MOTIF hints. const string MOTIF_WM_ATOM = "_MOTIF_WM_HINTS"; const string KDE_WM_ATOM = "KWM_WIN_DECORATION"; const string KDE_NET_WM_ATOM = "_KDE_NET_WM_WINDOW_TYPE"; const string ICCM_WM_ATOM = "_NET_WM_WINDOW_TYPE"; const string ICON_NET_ATOM = "_NET_WM_ICON"; // The Atom class from Mono might be useful to avoid calling XInternAtom by hand (somewhat error prone). IntPtr _atom_wm_destroy; IntPtr _atom_net_wm_state; IntPtr _atom_net_wm_state_minimized; IntPtr _atom_net_wm_state_fullscreen; IntPtr _atom_net_wm_state_maximized_horizontal; IntPtr _atom_net_wm_state_maximized_vertical; IntPtr _atom_net_wm_allowed_actions; IntPtr _atom_net_wm_action_resize; IntPtr _atom_net_wm_action_maximize_horizontally; IntPtr _atom_net_wm_action_maximize_vertically; IntPtr _atom_net_wm_icon; IntPtr _atom_net_frame_extents; readonly IntPtr _atom_xa_cardinal = new IntPtr(6); //IntPtr _atom_motif_wm_hints; //IntPtr _atom_kde_wm_hints; //IntPtr _atom_kde_net_wm_hints; static readonly IntPtr _atom_remove = (IntPtr)0; static readonly IntPtr _atom_add = (IntPtr)1; static readonly IntPtr _atom_toggle = (IntPtr)2; Rectangle bounds, client_rectangle; int border_left, border_right, border_top, border_bottom; Icon icon; bool has_focus; bool visible; // Used for event loop. XEvent e = new XEvent(); bool disposed; bool exists; bool isExiting; bool _decorations_hidden = false; // Keyboard input readonly byte[] ascii = new byte[16]; readonly char[] chars = new char[16]; readonly KeyPressEventArgs KPEventArgs = new KeyPressEventArgs('\0'); #endregion #region Constructors public X11GLNative(int x, int y, int width, int height, string title, GraphicsMode mode,GameWindowFlags options, DisplayDevice device) : this() { if (width <= 0) throw new ArgumentOutOfRangeException("width", "Must be higher than zero."); if (height <= 0) throw new ArgumentOutOfRangeException("height", "Must be higher than zero."); XVisualInfo info = new XVisualInfo(); Debug.Indent(); using (new XLock(window.Display)) { if (!mode.Index.HasValue) throw new GraphicsModeException("Invalid or unsupported GraphicsMode."); info.VisualID = mode.Index.Value; int dummy; window.VisualInfo = (XVisualInfo)Marshal.PtrToStructure( Functions.XGetVisualInfo(window.Display, XVisualInfoMask.ID, ref info, out dummy), typeof(XVisualInfo)); // Create a window on this display using the visual above Debug.Write("Opening render window... "); XSetWindowAttributes attributes = new XSetWindowAttributes(); attributes.background_pixel = IntPtr.Zero; attributes.border_pixel = IntPtr.Zero; attributes.colormap = Functions.XCreateColormap(window.Display, window.RootWindow, window.VisualInfo.Visual, 0/*AllocNone*/); window.EventMask = EventMask.StructureNotifyMask /*| EventMask.SubstructureNotifyMask*/ | EventMask.ExposureMask | EventMask.KeyReleaseMask | EventMask.KeyPressMask | EventMask.KeymapStateMask | EventMask.PointerMotionMask | EventMask.FocusChangeMask | EventMask.ButtonPressMask | EventMask.ButtonReleaseMask | EventMask.EnterWindowMask | EventMask.LeaveWindowMask | EventMask.PropertyChangeMask; attributes.event_mask = (IntPtr)window.EventMask; uint mask = (uint)SetWindowValuemask.ColorMap | (uint)SetWindowValuemask.EventMask | (uint)SetWindowValuemask.BackPixel | (uint)SetWindowValuemask.BorderPixel; window.WindowHandle = Functions.XCreateWindow(window.Display, window.RootWindow, x, y, width, height, 0, window.VisualInfo.Depth/*(int)CreateWindowArgs.CopyFromParent*/, (int)CreateWindowArgs.InputOutput, window.VisualInfo.Visual, (UIntPtr)mask, ref attributes); if (window.WindowHandle == IntPtr.Zero) throw new ApplicationException("XCreateWindow call failed (returned 0)."); if (title != null) Functions.XStoreName(window.Display, window.WindowHandle, title); } // Set the window hints SetWindowMinMax(_min_width, _min_height, -1, -1); XSizeHints hints = new XSizeHints(); hints.base_width = width; hints.base_height = height; hints.flags = (IntPtr)(XSizeHintsFlags.PSize | XSizeHintsFlags.PPosition); using (new XLock(window.Display)) { Functions.XSetWMNormalHints(window.Display, window.WindowHandle, ref hints); // Register for window destroy notification Functions.XSetWMProtocols(window.Display, window.WindowHandle, new IntPtr[] { _atom_wm_destroy }, 1); } // Set the initial window size to ensure X, Y, Width, Height and the rest // return the correct values inside the constructor and the Load event. XEvent e = new XEvent(); e.ConfigureEvent.x = x; e.ConfigureEvent.y = y; e.ConfigureEvent.width = width; e.ConfigureEvent.height = height; RefreshWindowBounds(ref e); driver = new X11Input(window); Debug.WriteLine(String.Format("X11GLNative window created successfully (id: {0}).", Handle)); Debug.Unindent(); exists = true; } /// /// Constructs and initializes a new X11GLNative window. /// Call CreateWindow to create the actual render window. /// public X11GLNative() { try { Debug.Print("Creating X11GLNative window."); Debug.Indent(); // Open a display connection to the X server, and obtain the screen and root window. window.Display = Functions.XOpenDisplay(IntPtr.Zero); //window.Display = API.DefaultDisplay; if (window.Display == IntPtr.Zero) throw new Exception("Could not open connection to X"); using (new XLock(window.Display)) { window.Screen = Functions.XDefaultScreen(window.Display); //API.DefaultScreen; window.RootWindow = Functions.XRootWindow(window.Display, window.Screen); // API.RootWindow; } Debug.Print("Display: {0}, Screen {1}, Root window: {2}", window.Display, window.Screen, window.RootWindow); RegisterAtoms(window); } finally { Debug.Unindent(); } } #endregion #region Private Members #region private void RegisterAtoms() /// /// Not used yet. /// Registers the necessary atoms for GameWindow. /// private void RegisterAtoms(X11WindowInfo window) { using (new XLock(window.Display)) { Debug.WriteLine("Registering atoms."); _atom_wm_destroy = Functions.XInternAtom(window.Display, "WM_DELETE_WINDOW", true); _atom_net_wm_state = Functions.XInternAtom(window.Display, "_NET_WM_STATE", false); _atom_net_wm_state_minimized = Functions.XInternAtom(window.Display, "_NET_WM_STATE_MINIMIZED", false); _atom_net_wm_state_fullscreen = Functions.XInternAtom(window.Display, "_NET_WM_STATE_FULLSCREEN", false); _atom_net_wm_state_maximized_horizontal = Functions.XInternAtom(window.Display, "_NET_WM_STATE_MAXIMIZED_HORZ", false); _atom_net_wm_state_maximized_vertical = Functions.XInternAtom(window.Display, "_NET_WM_STATE_MAXIMIZED_VERT", false); _atom_net_wm_allowed_actions = Functions.XInternAtom(window.Display, "_NET_WM_ALLOWED_ACTIONS", false); _atom_net_wm_action_resize = Functions.XInternAtom(window.Display, "_NET_WM_ACTION_RESIZE", false); _atom_net_wm_action_maximize_horizontally = Functions.XInternAtom(window.Display, "_NET_WM_ACTION_MAXIMIZE_HORZ", false); _atom_net_wm_action_maximize_vertically = Functions.XInternAtom(window.Display, "_NET_WM_ACTION_MAXIMIZE_VERT", false); _atom_net_wm_icon = Functions.XInternAtom(window.Display, "_NEW_WM_ICON", false); _atom_net_frame_extents = Functions.XInternAtom(window.Display, "_NET_FRAME_EXTENTS", false); // string[] atom_names = new string[] // { // //"WM_TITLE", // //"UTF8_STRING" // }; // IntPtr[] atoms = new IntPtr[atom_names.Length]; // //Functions.XInternAtoms(window.Display, atom_names, atom_names.Length, false, atoms); // // int offset = 0; // //WMTitle = atoms[offset++]; // //UTF8String = atoms[offset++]; } } #endregion #region SetWindowMinMax void SetWindowMinMax(short min_width, short min_height, short max_width, short max_height) { IntPtr dummy; XSizeHints hints = new XSizeHints(); using (new XLock(window.Display)) { Functions.XGetWMNormalHints(window.Display, window.WindowHandle, ref hints, out dummy); } if (min_width > 0 || min_height > 0) { hints.flags = (IntPtr)((int)hints.flags | (int)XSizeHintsFlags.PMinSize); hints.min_width = min_width; hints.min_height = min_height; } else hints.flags = (IntPtr)((int)hints.flags & ~(int)XSizeHintsFlags.PMinSize); if (max_width > 0 || max_height > 0) { hints.flags = (IntPtr)((int)hints.flags | (int)XSizeHintsFlags.PMaxSize); hints.max_width = max_width; hints.max_height = max_height; } else hints.flags = (IntPtr)((int)hints.flags & ~(int)XSizeHintsFlags.PMaxSize); if (hints.flags != IntPtr.Zero) { // The Metacity team has decided that they won't care about this when clicking the maximize // icon, will maximize the window to fill the screen/parent no matter what. // http://bugzilla.ximian.com/show_bug.cgi?id=80021 using (new XLock(window.Display)) { Functions.XSetWMNormalHints(window.Display, window.WindowHandle, ref hints); } } } #endregion #region IsWindowBorderResizable bool IsWindowBorderResizable { get { IntPtr actual_atom; int actual_format; IntPtr nitems; IntPtr bytes_after; IntPtr prop = IntPtr.Zero; IntPtr atom; //XWindowAttributes attributes; using (new XLock(window.Display)) { Functions.XGetWindowProperty(window.Display, window.WindowHandle, _atom_net_wm_allowed_actions, IntPtr.Zero, new IntPtr(256), false, IntPtr.Zero, out actual_atom, out actual_format, out nitems, out bytes_after, ref prop); if ((long)nitems > 0 && prop != IntPtr.Zero) { for (int i = 0; i < (long)nitems; i++) { atom = (IntPtr)Marshal.ReadIntPtr(prop, i * IntPtr.Size); if (atom == _atom_net_wm_action_resize) return true; } Functions.XFree(prop); } } return false; } } #endregion #region bool IsWindowBorderHidden bool IsWindowBorderHidden { get { //IntPtr actual_atom; //int actual_format; //IntPtr nitems; //IntPtr bytes_after; IntPtr prop = IntPtr.Zero; //IntPtr atom; //XWindowAttributes attributes; using (new XLock(window.Display)) { // Test if decorations have been disabled through Motif. IntPtr motif_hints_atom = Functions.XInternAtom(this.window.Display, MOTIF_WM_ATOM, true); if (motif_hints_atom != IntPtr.Zero) { // TODO: How to check if MotifWMHints decorations have been really disabled? if (_decorations_hidden) return true; } // Some WMs remove decorations when the transient_for hint is set. Most new ones do not (but those // should obey the Motif hint). Anyway, if this hint is set, we say the decorations have been remove // although there is a slight chance this is not the case. IntPtr transient_for_parent; Functions.XGetTransientForHint(window.Display, window.WindowHandle, out transient_for_parent); if (transient_for_parent != IntPtr.Zero) return true; return false; } } } #endregion #region void DisableWindowDecorations() void DisableWindowDecorations() { if (DisableMotifDecorations()) { Debug.Print("Removed decorations through motif."); _decorations_hidden = true; } using (new XLock(window.Display)) { // Functions.XSetTransientForHint(this.window.Display, this.Handle, this.window.RootWindow); // Some WMs remove decorations when this hint is set. Doesn't hurt to try. Functions.XSetTransientForHint(this.window.Display, this.Handle, this.window.RootWindow); if (_decorations_hidden) { Functions.XUnmapWindow(this.window.Display, this.Handle); Functions.XMapWindow(this.window.Display, this.Handle); } } } #region bool DisableMotifDecorations() bool DisableMotifDecorations() { using (new XLock(window.Display)) { IntPtr atom = Functions.XInternAtom(this.window.Display, MOTIF_WM_ATOM, true); if (atom != IntPtr.Zero) { //Functions.XGetWindowProperty(window.Display, window.WindowHandle, atom, IntPtr.Zero, IntPtr.Zero, false, MotifWmHints hints = new MotifWmHints(); hints.flags = (IntPtr)MotifFlags.Decorations; Functions.XChangeProperty(this.window.Display, this.Handle, atom, atom, 32, PropertyMode.Replace, ref hints, Marshal.SizeOf(hints) / IntPtr.Size); return true; } return false; } } #endregion #region bool DisableGnomeDecorations() bool DisableGnomeDecorations() { using (new XLock(window.Display)) { IntPtr atom = Functions.XInternAtom(this.window.Display, Constants.XA_WIN_HINTS, true); if (atom != IntPtr.Zero) { IntPtr hints = IntPtr.Zero; Functions.XChangeProperty(this.window.Display, this.Handle, atom, atom, 32, PropertyMode.Replace, ref hints, Marshal.SizeOf(hints) / IntPtr.Size); return true; } return false; } } #endregion #endregion #region void EnableWindowDecorations() void EnableWindowDecorations() { if (EnableMotifDecorations()) { Debug.Print("Activated decorations through motif."); _decorations_hidden = false; } //if (EnableGnomeDecorations()) { Debug.Print("Activated decorations through gnome."); activated = true; } using (new XLock(window.Display)) { Functions.XSetTransientForHint(this.window.Display, this.Handle, IntPtr.Zero); if (!_decorations_hidden) { Functions.XUnmapWindow(this.window.Display, this.Handle); Functions.XMapWindow(this.window.Display, this.Handle); } } } #region bool EnableMotifDecorations() bool EnableMotifDecorations() { using (new XLock(window.Display)) { IntPtr atom = Functions.XInternAtom(this.window.Display, MOTIF_WM_ATOM, true); if (atom != IntPtr.Zero) { //Functions.XDeleteProperty(this.window.Display, this.Handle, atom); MotifWmHints hints = new MotifWmHints(); hints.flags = (IntPtr)MotifFlags.Decorations; hints.decorations = (IntPtr)MotifDecorations.All; Functions.XChangeProperty(this.window.Display, this.Handle, atom, atom, 32, PropertyMode.Replace, ref hints, Marshal.SizeOf(hints) / IntPtr.Size); return true; } return false; } } #endregion #region bool EnableGnomeDecorations() bool EnableGnomeDecorations() { using (new XLock(window.Display)) { // Restore window layer. //XEvent xev = new XEvent(); //xev.ClientMessageEvent.window = this.window.Handle; //xev.ClientMessageEvent.type = XEventName.ClientMessage; //xev.ClientMessageEvent.message_type = Functions.XInternAtom(this.window.Display, Constants.XA_WIN_LAYER, false); //xev.ClientMessageEvent.format = 32; //xev.ClientMessageEvent.ptr1 = (IntPtr)WindowLayer.AboveDock; //Functions.XSendEvent(this.window.Display, this.window.RootWindow, false, (IntPtr)EventMask.SubstructureNotifyMask, ref xev); IntPtr atom = Functions.XInternAtom(this.window.Display, Constants.XA_WIN_HINTS, true); if (atom != IntPtr.Zero) { Functions.XDeleteProperty(this.window.Display, this.Handle, atom); return true; } return false; } } #endregion #endregion #region DeleteIconPixmaps static void DeleteIconPixmaps(IntPtr display, IntPtr window) { using (new XLock(display)) { IntPtr wmHints_ptr = Functions.XGetWMHints(display, window); if (wmHints_ptr != IntPtr.Zero) { XWMHints wmHints = (XWMHints)Marshal.PtrToStructure(wmHints_ptr, typeof(XWMHints)); XWMHintsFlags flags = (XWMHintsFlags)wmHints.flags.ToInt32(); if ((flags & XWMHintsFlags.IconPixmapHint) != 0) { wmHints.flags = new IntPtr((int)(flags & ~XWMHintsFlags.IconPixmapHint)); Functions.XFreePixmap(display, wmHints.icon_pixmap); } if ((flags & XWMHintsFlags.IconMaskHint) != 0) { wmHints.flags = new IntPtr((int)(flags & ~XWMHintsFlags.IconMaskHint)); Functions.XFreePixmap(display, wmHints.icon_mask); } Functions.XSetWMHints(display, window, ref wmHints); Functions.XFree(wmHints_ptr); } } } #endregion bool RefreshWindowBorders() { IntPtr atom, nitems, bytes_after, prop = IntPtr.Zero; int format; bool borders_changed = false; using (new XLock(window.Display)) { Functions.XGetWindowProperty(window.Display, window.WindowHandle, _atom_net_frame_extents, IntPtr.Zero, new IntPtr(16), false, (IntPtr)Atom.XA_CARDINAL, out atom, out format, out nitems, out bytes_after, ref prop); } if ((prop != IntPtr.Zero)) { if ((long)nitems == 4) { int new_border_left = Marshal.ReadIntPtr(prop, 0).ToInt32(); int new_border_right = Marshal.ReadIntPtr(prop, IntPtr.Size).ToInt32(); int new_border_top = Marshal.ReadIntPtr(prop, IntPtr.Size * 2).ToInt32(); int new_border_bottom = Marshal.ReadIntPtr(prop, IntPtr.Size * 3).ToInt32(); borders_changed = new_border_left != border_left || new_border_right != border_right || new_border_top != border_top || new_border_bottom != border_bottom; border_left = new_border_left; border_right = new_border_right; border_top = new_border_top; border_bottom = new_border_bottom; //Debug.WriteLine(border_left); //Debug.WriteLine(border_right); //Debug.WriteLine(border_top); //Debug.WriteLine(border_bottom); } using (new XLock(window.Display)) { Functions.XFree(prop); } } return borders_changed; } void RefreshWindowBounds(ref XEvent e) { RefreshWindowBorders(); Point new_location = new Point( e.ConfigureEvent.x - border_left, e.ConfigureEvent.y - border_top); if (Location != new_location) { bounds.Location = new_location; if (Move != null) Move(this, EventArgs.Empty); } // Note: width and height denote the internal (client) size. // To get the external (window) size, we need to add the border size. Size new_size = new Size( e.ConfigureEvent.width + border_left + border_right, e.ConfigureEvent.height + border_top + border_bottom); if (Bounds.Size != new_size) { bounds.Size = new_size; client_rectangle.Size = new Size(e.ConfigureEvent.width, e.ConfigureEvent.height); if (this.Resize != null) { //Debug.WriteLine(new System.Diagnostics.StackTrace()); Resize(this, EventArgs.Empty); } } } #endregion #region INativeWindow Members #region ProcessEvents public void ProcessEvents() { // Process all pending events while (Exists && window != null) { using (new XLock(window.Display)) { if (!Functions.XCheckWindowEvent(window.Display, window.WindowHandle, window.EventMask, ref e) && !Functions.XCheckTypedWindowEvent(window.Display, window.WindowHandle, XEventName.ClientMessage, ref e)) break; } // Respond to the event e switch (e.type) { case XEventName.MapNotify: { bool previous_visible = visible; visible = true; if (visible != previous_visible) if (VisibleChanged != null) VisibleChanged(this, EventArgs.Empty); } return; case XEventName.UnmapNotify: { bool previous_visible = visible; visible = false; if (visible != previous_visible) if (VisibleChanged != null) VisibleChanged(this, EventArgs.Empty); } break; case XEventName.CreateNotify: // A child was was created - nothing to do break; case XEventName.ClientMessage: if (!isExiting && e.ClientMessageEvent.ptr1 == _atom_wm_destroy) { Debug.WriteLine("Exit message received."); CancelEventArgs ce = new CancelEventArgs(); if (Closing != null) Closing(this, ce); if (!ce.Cancel) { isExiting = true; Debug.WriteLine("Destroying window."); using (new XLock(window.Display)) { Functions.XDestroyWindow(window.Display, window.WindowHandle); } break; } } break; case XEventName.DestroyNotify: Debug.WriteLine("Window destroyed"); exists = false; if (Closed != null) Closed(this, EventArgs.Empty); return; case XEventName.ConfigureNotify: RefreshWindowBounds(ref e); break; case XEventName.KeyPress: driver.ProcessEvent(ref e); int status = 0; status = Functions.XLookupString(ref e.KeyEvent, ascii, ascii.Length, null, IntPtr.Zero); Encoding.Default.GetChars(ascii, 0, status, chars, 0); EventHandler key_press = KeyPress; if (key_press != null) { for (int i = 0; i < status; i++) { KPEventArgs.KeyChar = chars[i]; key_press(this, KPEventArgs); } } break; case XEventName.KeyRelease: // Todo: raise KeyPress event. Use code from // http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/X11Keyboard.cs?view=markup driver.ProcessEvent(ref e); break; case XEventName.MotionNotify: case XEventName.ButtonPress: case XEventName.ButtonRelease: driver.ProcessEvent(ref e); break; case XEventName.FocusIn: { bool previous_focus = has_focus; has_focus = true; if (has_focus != previous_focus) if (FocusedChanged != null) FocusedChanged(this, EventArgs.Empty); } break; case XEventName.FocusOut: { bool previous_focus = has_focus; has_focus = false; if (has_focus != previous_focus) if (FocusedChanged != null) FocusedChanged(this, EventArgs.Empty); } break; case XEventName.LeaveNotify: if (MouseLeave != null) MouseLeave(this, EventArgs.Empty); break; case XEventName.EnterNotify: if (MouseEnter != null) MouseEnter(this, EventArgs.Empty); break; case XEventName.MappingNotify: // 0 == MappingModifier, 1 == MappingKeyboard if (e.MappingEvent.request == 0 || e.MappingEvent.request == 1) { Debug.Print("keybard mapping refreshed"); Functions.XRefreshKeyboardMapping(ref e.MappingEvent); } break; case XEventName.PropertyNotify: if (e.PropertyEvent.atom == _atom_net_wm_state) { if (WindowStateChanged != null) WindowStateChanged(this, EventArgs.Empty); } //if (e.PropertyEvent.atom == _atom_net_frame_extents) //{ // RefreshWindowBorders(); //} break; default: //Debug.WriteLine(String.Format("{0} event was not handled", e.type)); break; } } } #endregion #region Bounds public Rectangle Bounds { get { return bounds; } set { using (new XLock(window.Display)) { Functions.XMoveResizeWindow(window.Display, window.WindowHandle, value.X, value.Y, value.Width - border_left - border_right, value.Height - border_top - border_bottom); } ProcessEvents(); } } #endregion #region Location public Point Location { get { return Bounds.Location; } set { using (new XLock(window.Display)) { Functions.XMoveWindow(window.Display, window.WindowHandle, value.X, value.Y); } ProcessEvents(); } } #endregion #region Size public Size Size { get { return Bounds.Size; } set { int width = value.Width - border_left - border_right; int height = value.Height - border_top - border_bottom; width = width <= 0 ? 1 : width; height = height <= 0 ? 1 : height; using (new XLock(window.Display)) { Functions.XResizeWindow(window.Display, window.WindowHandle, width, height); } ProcessEvents(); } } #endregion #region ClientRectangle public Rectangle ClientRectangle { get { if (client_rectangle.Width == 0) client_rectangle.Width = 1; if (client_rectangle.Height == 0) client_rectangle.Height = 1; return client_rectangle; } set { using (new XLock(window.Display)) { Functions.XResizeWindow(window.Display, window.WindowHandle, value.Width, value.Height); } ProcessEvents(); } } #endregion #region ClientSize public Size ClientSize { get { return ClientRectangle.Size; } set { ClientRectangle = new Rectangle(Point.Empty, value); } } #endregion #region Width public int Width { get { return ClientSize.Width; } set { ClientSize = new Size(value, Height); } } #endregion #region Height public int Height { get { return ClientSize.Height; } set { ClientSize = new Size(Width, value); } } #endregion #region X public int X { get { return Location.X; } set { Location = new Point(value, Y); } } #endregion #region Y public int Y { get { return Location.Y; } set { Location = new Point(X, value); } } #endregion #region Icon public Icon Icon { get { return icon; } set { if (value == icon) return; // Note: it seems that Gnome/Metacity does not respect the _NET_WM_ICON hint. // For this reason, we'll also set the icon using XSetWMHints. if (value == null) { using (new XLock(window.Display)) { Functions.XDeleteProperty(window.Display, window.WindowHandle, _atom_net_wm_icon); DeleteIconPixmaps(window.Display, window.WindowHandle); } } else { // Set _NET_WM_ICON System.Drawing.Bitmap bitmap = value.ToBitmap(); int size = bitmap.Width * bitmap.Height + 2; IntPtr[] data = new IntPtr[size]; int index = 0; data[index++] = (IntPtr)bitmap.Width; data[index++] = (IntPtr)bitmap.Height; for (int y = 0; y < bitmap.Height; y++) for (int x = 0; x < bitmap.Width; x++) data[index++] = (IntPtr)bitmap.GetPixel(x, y).ToArgb(); using (new XLock(window.Display)) { Functions.XChangeProperty(window.Display, window.WindowHandle, _atom_net_wm_icon, _atom_xa_cardinal, 32, PropertyMode.Replace, data, size); } // Set XWMHints DeleteIconPixmaps(window.Display, window.WindowHandle); using (new XLock(window.Display)) { IntPtr wmHints_ptr = Functions.XGetWMHints(window.Display, window.WindowHandle); if (wmHints_ptr == IntPtr.Zero) wmHints_ptr = Functions.XAllocWMHints(); XWMHints wmHints = (XWMHints)Marshal.PtrToStructure(wmHints_ptr, typeof(XWMHints)); wmHints.flags = new IntPtr(wmHints.flags.ToInt32() | (int)(XWMHintsFlags.IconPixmapHint | XWMHintsFlags.IconMaskHint)); wmHints.icon_pixmap = Functions.CreatePixmapFromImage(window.Display, bitmap); wmHints.icon_mask = Functions.CreateMaskFromImage(window.Display, bitmap); Functions.XSetWMHints(window.Display, window.WindowHandle, ref wmHints); Functions.XFree (wmHints_ptr); Functions.XSync(window.Display, false); } } icon = value; if (IconChanged != null) IconChanged(this, EventArgs.Empty); } } #endregion #region Focused public bool Focused { get { return has_focus; } } #endregion #region WindowState public OpenTK.WindowState WindowState { get { IntPtr actual_atom; int actual_format; IntPtr nitems; IntPtr bytes_after; IntPtr prop = IntPtr.Zero; IntPtr atom; //XWindowAttributes attributes; bool fullscreen = false; int maximized = 0; bool minimized = false; using (new XLock(window.Display)) { Functions.XGetWindowProperty(window.Display, window.WindowHandle, _atom_net_wm_state, IntPtr.Zero, new IntPtr(256), false, new IntPtr(4) /*XA_ATOM*/, out actual_atom, out actual_format, out nitems, out bytes_after, ref prop); } if ((long)nitems > 0 && prop != IntPtr.Zero) { for (int i = 0; i < (long)nitems; i++) { atom = (IntPtr)Marshal.ReadIntPtr(prop, i * IntPtr.Size); if (atom == _atom_net_wm_state_maximized_horizontal || atom == _atom_net_wm_state_maximized_vertical) maximized++; else if (atom == _atom_net_wm_state_minimized) minimized = true; else if (atom == _atom_net_wm_state_fullscreen) fullscreen = true; } using (new XLock(window.Display)) { Functions.XFree(prop); } } if (minimized) return OpenTK.WindowState.Minimized; else if (maximized == 2) return OpenTK.WindowState.Maximized; else if (fullscreen) return OpenTK.WindowState.Fullscreen; /* attributes = new XWindowAttributes(); Functions.XGetWindowAttributes(window.Display, window.WindowHandle, ref attributes); if (attributes.map_state == MapState.IsUnmapped) return (OpenTK.WindowState)(-1); */ return OpenTK.WindowState.Normal; } set { OpenTK.WindowState current_state = this.WindowState; if (current_state == value) return; Debug.Print("GameWindow {0} changing WindowState from {1} to {2}.", window.WindowHandle.ToString(), current_state.ToString(), value.ToString()); using (new XLock(window.Display)) { // Reset the current window state if (current_state == OpenTK.WindowState.Minimized) Functions.XMapWindow(window.Display, window.WindowHandle); else if (current_state == OpenTK.WindowState.Fullscreen) Functions.SendNetWMMessage(window, _atom_net_wm_state, _atom_remove, _atom_net_wm_state_fullscreen, IntPtr.Zero); else if (current_state == OpenTK.WindowState.Maximized) Functions.SendNetWMMessage(window, _atom_net_wm_state, _atom_toggle, _atom_net_wm_state_maximized_horizontal, _atom_net_wm_state_maximized_vertical); Functions.XSync(window.Display, false); } // We can't resize the window if its border is fixed, so make it resizable first. bool temporary_resizable = false; WindowBorder previous_state = WindowBorder; if (WindowBorder != WindowBorder.Resizable) { temporary_resizable = true; WindowBorder = WindowBorder.Resizable; } using (new XLock(window.Display)) { switch (value) { case OpenTK.WindowState.Normal: Functions.XRaiseWindow(window.Display, window.WindowHandle); break; case OpenTK.WindowState.Maximized: Functions.SendNetWMMessage(window, _atom_net_wm_state, _atom_add, _atom_net_wm_state_maximized_horizontal, _atom_net_wm_state_maximized_vertical); Functions.XRaiseWindow(window.Display, window.WindowHandle); break; case OpenTK.WindowState.Minimized: // Todo: multiscreen support Functions.XIconifyWindow(window.Display, window.WindowHandle, window.Screen); break; case OpenTK.WindowState.Fullscreen: //_previous_window_border = this.WindowBorder; //this.WindowBorder = WindowBorder.Hidden; Functions.SendNetWMMessage(window, _atom_net_wm_state, _atom_add, _atom_net_wm_state_fullscreen, IntPtr.Zero); Functions.XRaiseWindow(window.Display, window.WindowHandle); break; } } if (temporary_resizable) WindowBorder = previous_state; ProcessEvents(); } } #endregion #region WindowBorder public OpenTK.WindowBorder WindowBorder { get { if (IsWindowBorderHidden) return WindowBorder.Hidden; if (IsWindowBorderResizable) return WindowBorder.Resizable; else return WindowBorder.Fixed; } set { if (WindowBorder == value) return; if (WindowBorder == WindowBorder.Hidden) EnableWindowDecorations(); switch (value) { case WindowBorder.Fixed: Debug.Print("Making WindowBorder fixed."); SetWindowMinMax((short)Width, (short)Height, (short)Width, (short)Height); break; case WindowBorder.Resizable: Debug.Print("Making WindowBorder resizable."); SetWindowMinMax(_min_width, _min_height, -1, -1); break; case WindowBorder.Hidden: Debug.Print("Making WindowBorder hidden."); DisableWindowDecorations(); break; } if (WindowBorderChanged != null) WindowBorderChanged(this, EventArgs.Empty); } } #endregion #region Events public event EventHandler Load; public event EventHandler Unload; public event EventHandler Move; public event EventHandler Resize; public event EventHandler Closing; public event EventHandler Closed; public event EventHandler Disposed; public event EventHandler IconChanged; public event EventHandler TitleChanged; public event EventHandler VisibleChanged; public event EventHandler FocusedChanged; public event EventHandler WindowBorderChanged; public event EventHandler WindowStateChanged; public event EventHandler KeyPress; public event EventHandler MouseEnter; public event EventHandler MouseLeave; #endregion #endregion #region --- INativeGLWindow Members --- #region public IInputDriver InputDriver public IInputDriver InputDriver { get { return driver; } } #endregion #region public bool Exists /// /// Returns true if a render window/context exists. /// public bool Exists { get { return exists; } } #endregion #region public bool IsIdle public bool IsIdle { get { throw new Exception("The method or operation is not implemented."); } } #endregion #region public IntPtr Handle /// /// Gets the current window handle. /// public IntPtr Handle { get { return this.window.WindowHandle; } } #endregion #region public string Title /// /// TODO: Use atoms for this property. /// Gets or sets the GameWindow title. /// public string Title { get { IntPtr name = IntPtr.Zero; using (new XLock(window.Display)) { Functions.XFetchName(window.Display, window.WindowHandle, ref name); } if (name != IntPtr.Zero) return Marshal.PtrToStringAnsi(name); return String.Empty; } set { if (value != null && value != Title) { using (new XLock(window.Display)) { Functions.XStoreName(window.Display, window.WindowHandle, value); } } if (TitleChanged != null) TitleChanged(this, EventArgs.Empty); } } #endregion #region public bool Visible public bool Visible { get { return visible; } set { if (value && !visible) { using (new XLock(window.Display)) { Functions.XMapWindow(window.Display, window.WindowHandle); } } else if (!value && visible) { using (new XLock(window.Display)) { Functions.XUnmapWindow(window.Display, window.WindowHandle); } } } } #endregion #region public IWindowInfo WindowInfo public IWindowInfo WindowInfo { get { return window; } } #endregion public void Close() { Exit(); } #region public void Exit() public void Exit() { XEvent ev = new XEvent(); ev.type = XEventName.ClientMessage; ev.ClientMessageEvent.format = 32; ev.ClientMessageEvent.display = window.Display; ev.ClientMessageEvent.window = window.WindowHandle; ev.ClientMessageEvent.ptr1 = _atom_wm_destroy; using (new XLock(window.Display)) { Functions.XSendEvent(window.Display, window.WindowHandle, false, EventMask.NoEventMask, ref ev); Functions.XFlush(window.Display); } } #endregion #region public void DestroyWindow() public void DestroyWindow() { Debug.WriteLine("X11GLNative shutdown sequence initiated."); using (new XLock(window.Display)) { Functions.XDestroyWindow(window.Display, window.WindowHandle); } } #endregion #region PointToClient public Point PointToClient(Point point) { int ox, oy; IntPtr child; using (new XLock(window.Display)) { Functions.XTranslateCoordinates(window.Display, window.RootWindow, window.WindowHandle, point.X, point.Y, out ox, out oy, out child); } point.X = ox; point.Y = oy; return point; } #endregion #region PointToScreen public Point PointToScreen(Point point) { int ox, oy; IntPtr child; using (new XLock(window.Display)) { Functions.XTranslateCoordinates(window.Display, window.WindowHandle, window.RootWindow, point.X, point.Y, out ox, out oy, out child); } point.X = ox; point.Y = oy; return point; } #endregion #endregion #region IDisposable Members public void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manuallyCalled) { if (!disposed) { if (manuallyCalled) { if (window != null && window.WindowHandle != IntPtr.Zero) { if (Exists) { using (new XLock(window.Display)) { Functions.XDestroyWindow(window.Display, window.WindowHandle); } while (Exists) ProcessEvents(); } window.Dispose(); window = null; } } else { Debug.Print("[Warning] {0} leaked.", this.GetType().Name); } disposed = true; } } ~X11GLNative() { this.Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11GraphicsMode.cs0000664000175000017500000002614511453131422022475 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics; namespace OpenTK.Platform.X11 { class X11GraphicsMode : IGraphicsMode { // Todo: Add custom visual selection algorithm, instead of ChooseFBConfig/ChooseVisual. // It seems the Choose* methods do not take multisampling into account (at least on some // drivers). #region Constructors public X11GraphicsMode() { } #endregion #region IGraphicsMode Members public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo) { GraphicsMode gfx; // The actual GraphicsMode that will be selected. IntPtr visual = IntPtr.Zero; IntPtr display = API.DefaultDisplay; // Try to select a visual using Glx.ChooseFBConfig and Glx.GetVisualFromFBConfig. // This is only supported on GLX 1.3 - if it fails, fall back to Glx.ChooseVisual. visual = SelectVisualUsingFBConfig(color, depth, stencil, samples, accum, buffers, stereo); if (visual == IntPtr.Zero) visual = SelectVisualUsingChooseVisual(color, depth, stencil, samples, accum, buffers, stereo); if (visual == IntPtr.Zero) throw new GraphicsModeException("Requested GraphicsMode not available."); XVisualInfo info = (XVisualInfo)Marshal.PtrToStructure(visual, typeof(XVisualInfo)); // See what we *really* got: int r, g, b, a; Glx.GetConfig(display, ref info, GLXAttribute.ALPHA_SIZE, out a); Glx.GetConfig(display, ref info, GLXAttribute.RED_SIZE, out r); Glx.GetConfig(display, ref info, GLXAttribute.GREEN_SIZE, out g); Glx.GetConfig(display, ref info, GLXAttribute.BLUE_SIZE, out b); int ar, ag, ab, aa; Glx.GetConfig(display, ref info, GLXAttribute.ACCUM_ALPHA_SIZE, out aa); Glx.GetConfig(display, ref info, GLXAttribute.ACCUM_RED_SIZE, out ar); Glx.GetConfig(display, ref info, GLXAttribute.ACCUM_GREEN_SIZE, out ag); Glx.GetConfig(display, ref info, GLXAttribute.ACCUM_BLUE_SIZE, out ab); Glx.GetConfig(display, ref info, GLXAttribute.DEPTH_SIZE, out depth); Glx.GetConfig(display, ref info, GLXAttribute.STENCIL_SIZE, out stencil); Glx.GetConfig(display, ref info, GLXAttribute.SAMPLES, out samples); Glx.GetConfig(display, ref info, GLXAttribute.DOUBLEBUFFER, out buffers); ++buffers; // the above lines returns 0 - false and 1 - true. int st; Glx.GetConfig(display, ref info, GLXAttribute.STEREO, out st); stereo = st != 0; gfx = new GraphicsMode(info.VisualID, new ColorFormat(r, g, b, a), depth, stencil, samples, new ColorFormat(ar, ag, ab, aa), buffers, stereo); using (new XLock(display)) { Functions.XFree(visual); } return gfx; } #endregion #region Private Members // See http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.opengl/doc/openglrf/glXChooseFBConfig.htm // for the attribute declarations. Note that the attributes are different than those used in Glx.ChooseVisual. IntPtr SelectVisualUsingFBConfig(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo) { List visualAttributes = new List(); IntPtr visual = IntPtr.Zero; Debug.Print("Bits per pixel: {0}", color.BitsPerPixel); if (color.BitsPerPixel > 0) { if (!color.IsIndexed) { visualAttributes.Add((int)GLXAttribute.RGBA); visualAttributes.Add(1); } visualAttributes.Add((int)GLXAttribute.RED_SIZE); visualAttributes.Add(color.Red); visualAttributes.Add((int)GLXAttribute.GREEN_SIZE); visualAttributes.Add(color.Green); visualAttributes.Add((int)GLXAttribute.BLUE_SIZE); visualAttributes.Add(color.Blue); visualAttributes.Add((int)GLXAttribute.ALPHA_SIZE); visualAttributes.Add(color.Alpha); } Debug.Print("Depth: {0}", depth); if (depth > 0) { visualAttributes.Add((int)GLXAttribute.DEPTH_SIZE); visualAttributes.Add(depth); } if (buffers > 1) { visualAttributes.Add((int)GLXAttribute.DOUBLEBUFFER); visualAttributes.Add(1); } if (stencil > 1) { visualAttributes.Add((int)GLXAttribute.STENCIL_SIZE); visualAttributes.Add(stencil); } if (accum.BitsPerPixel > 0) { visualAttributes.Add((int)GLXAttribute.ACCUM_ALPHA_SIZE); visualAttributes.Add(accum.Alpha); visualAttributes.Add((int)GLXAttribute.ACCUM_BLUE_SIZE); visualAttributes.Add(accum.Blue); visualAttributes.Add((int)GLXAttribute.ACCUM_GREEN_SIZE); visualAttributes.Add(accum.Green); visualAttributes.Add((int)GLXAttribute.ACCUM_RED_SIZE); visualAttributes.Add(accum.Red); } if (samples > 0) { visualAttributes.Add((int)GLXAttribute.SAMPLE_BUFFERS); visualAttributes.Add(1); visualAttributes.Add((int)GLXAttribute.SAMPLES); visualAttributes.Add(samples); } if (stereo) { visualAttributes.Add((int)GLXAttribute.STEREO); visualAttributes.Add(1); } visualAttributes.Add(0); // Select a visual that matches the parameters set by the user. IntPtr display = API.DefaultDisplay; using (new XLock(display)) { try { int screen = Functions.XDefaultScreen(display); IntPtr root = Functions.XRootWindow(display, screen); Debug.Print("Display: {0}, Screen: {1}, RootWindow: {2}", display, screen, root); unsafe { Debug.Print("Getting FB config."); int fbcount; // Note that ChooseFBConfig returns an array of GLXFBConfig opaque structures (i.e. mapped to IntPtrs). IntPtr* fbconfigs = Glx.ChooseFBConfig(display, screen, visualAttributes.ToArray(), out fbcount); if (fbcount > 0 && fbconfigs != null) { // We want to use the first GLXFBConfig from the fbconfigs array (the first one is the best match). visual = Glx.GetVisualFromFBConfig(display, *fbconfigs); Functions.XFree((IntPtr)fbconfigs); } } } catch (EntryPointNotFoundException) { Debug.Print("Function glXChooseFBConfig not supported."); return IntPtr.Zero; } } return visual; } // See http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.opengl/doc/openglrf/glXChooseVisual.htm IntPtr SelectVisualUsingChooseVisual(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo) { List visualAttributes = new List(); Debug.Print("Bits per pixel: {0}", color.BitsPerPixel); if (color.BitsPerPixel > 0) { if (!color.IsIndexed) visualAttributes.Add((int)GLXAttribute.RGBA); visualAttributes.Add((int)GLXAttribute.RED_SIZE); visualAttributes.Add(color.Red); visualAttributes.Add((int)GLXAttribute.GREEN_SIZE); visualAttributes.Add(color.Green); visualAttributes.Add((int)GLXAttribute.BLUE_SIZE); visualAttributes.Add(color.Blue); visualAttributes.Add((int)GLXAttribute.ALPHA_SIZE); visualAttributes.Add(color.Alpha); } Debug.Print("Depth: {0}", depth); if (depth > 0) { visualAttributes.Add((int)GLXAttribute.DEPTH_SIZE); visualAttributes.Add(depth); } if (buffers > 1) visualAttributes.Add((int)GLXAttribute.DOUBLEBUFFER); if (stencil > 1) { visualAttributes.Add((int)GLXAttribute.STENCIL_SIZE); visualAttributes.Add(stencil); } if (accum.BitsPerPixel > 0) { visualAttributes.Add((int)GLXAttribute.ACCUM_ALPHA_SIZE); visualAttributes.Add(accum.Alpha); visualAttributes.Add((int)GLXAttribute.ACCUM_BLUE_SIZE); visualAttributes.Add(accum.Blue); visualAttributes.Add((int)GLXAttribute.ACCUM_GREEN_SIZE); visualAttributes.Add(accum.Green); visualAttributes.Add((int)GLXAttribute.ACCUM_RED_SIZE); visualAttributes.Add(accum.Red); } if (samples > 0) { visualAttributes.Add((int)GLXAttribute.SAMPLE_BUFFERS); visualAttributes.Add(1); visualAttributes.Add((int)GLXAttribute.SAMPLES); visualAttributes.Add(samples); } if (stereo) visualAttributes.Add((int)GLXAttribute.STEREO); visualAttributes.Add(0); Debug.Print("Falling back to glXChooseVisual."); IntPtr display = API.DefaultDisplay; using (new XLock(display)) { return Glx.ChooseVisual(display, Functions.XDefaultScreen(display), visualAttributes.ToArray()); } } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11GLContext.cs0000664000175000017500000004105611453131422021775 0ustar laneylaney#region --- License --- /* Copyright (c) 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics; namespace OpenTK.Platform.X11 { /// \internal /// /// Provides methods to create and control an opengl context on the X11 platform. /// This class supports OpenTK, and is not intended for use by OpenTK programs. /// internal sealed class X11GLContext : DesktopGraphicsContext { #region Fields // We assume that we cannot move a GL context to a different display connection. // For this reason, we'll "lock" onto the display of the window used in the context // constructor and we'll throw an exception if the user ever tries to make the context // current on window originating from a different display. IntPtr display; X11WindowInfo currentWindow; bool vsync_supported; int vsync_interval; bool glx_loaded; #endregion #region --- Constructors --- public X11GLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shared, bool direct, int major, int minor, GraphicsContextFlags flags) { if (mode == null) throw new ArgumentNullException("mode"); if (window == null) throw new ArgumentNullException("window"); Mode = mode; // Do not move this lower, as almost everything requires the Display // property to be correctly set. Display = ((X11WindowInfo)window).Display; currentWindow = (X11WindowInfo)window; currentWindow.VisualInfo = SelectVisual(mode, currentWindow); ContextHandle shareHandle = shared != null ? (shared as IGraphicsContextInternal).Context : (ContextHandle)IntPtr.Zero; Debug.Write("Creating X11GLContext context: "); Debug.Write(direct ? "direct, " : "indirect, "); Debug.WriteLine(shareHandle.Handle == IntPtr.Zero ? "not shared... " : String.Format("shared with ({0})... ", shareHandle)); if (!glx_loaded) { Debug.WriteLine("Creating temporary context to load GLX extensions."); // Create a temporary context to obtain the necessary function pointers. XVisualInfo visual = currentWindow.VisualInfo; IntPtr ctx = IntPtr.Zero; using (new XLock(Display)) { ctx = Glx.CreateContext(Display, ref visual, IntPtr.Zero, true); if (ctx == IntPtr.Zero) ctx = Glx.CreateContext(Display, ref visual, IntPtr.Zero, false); } if (ctx != IntPtr.Zero) { new Glx().LoadEntryPoints(); using (new XLock(Display)) { Glx.MakeCurrent(Display, IntPtr.Zero, IntPtr.Zero); //Glx.DestroyContext(Display, ctx); } glx_loaded = true; } } // Try using the new context creation method. If it fails, fall back to the old one. // For each of these methods, we try two times to create a context: // one with the "direct" flag intact, the other with the flag inversed. // HACK: It seems that Catalyst 9.1 - 9.4 on Linux have problems with contexts created through // GLX_ARB_create_context, including hideous input lag, no vsync and other. Use legacy context // creation if the user doesn't request a 3.0+ context. if ((major * 10 + minor >= 30) && Glx.Delegates.glXCreateContextAttribsARB != null) { Debug.Write("Using GLX_ARB_create_context... "); unsafe { // We need the FB config for the current GraphicsMode. int count; IntPtr* fbconfigs = Glx.ChooseFBConfig(Display, currentWindow.Screen, new int[] { (int)GLXAttribute.VISUAL_ID, (int)mode.Index, 0 }, out count); if (count > 0) { List attributes = new List(); attributes.Add((int)ArbCreateContext.MajorVersion); attributes.Add(major); attributes.Add((int)ArbCreateContext.MinorVersion); attributes.Add(minor); if (flags != 0) { #warning "This is not entirely correct: Embedded is not a valid flag! We need to add a GetARBContextFlags(GraphicsContextFlags) method." attributes.Add((int)ArbCreateContext.Flags); attributes.Add((int)flags); } // According to the docs, " specifies a list of attributes for the context. // The list consists of a sequence of pairs terminated by the // value 0. [...]" // Is this a single 0, or a <0, 0> pair? (Defensive coding: add two zeroes just in case). attributes.Add(0); attributes.Add(0); using (new XLock(Display)) { Handle = new ContextHandle(Glx.Arb.CreateContextAttribs(Display, *fbconfigs, shareHandle.Handle, direct, attributes.ToArray())); if (Handle == ContextHandle.Zero) { Debug.Write(String.Format("failed. Trying direct: {0}... ", !direct)); Handle = new ContextHandle(Glx.Arb.CreateContextAttribs(Display, *fbconfigs, shareHandle.Handle, !direct, attributes.ToArray())); } } if (Handle == ContextHandle.Zero) Debug.WriteLine("failed."); else Debug.WriteLine("success!"); using (new XLock(Display)) { Functions.XFree((IntPtr)fbconfigs); } } } } if (Handle == ContextHandle.Zero) { Debug.Write("Using legacy context creation... "); XVisualInfo info = currentWindow.VisualInfo; using (new XLock(Display)) { // Cannot pass a Property by reference. Handle = new ContextHandle(Glx.CreateContext(Display, ref info, shareHandle.Handle, direct)); if (Handle == ContextHandle.Zero) { Debug.WriteLine(String.Format("failed. Trying direct: {0}... ", !direct)); Handle = new ContextHandle(Glx.CreateContext(Display, ref info, IntPtr.Zero, !direct)); } } } if (Handle != ContextHandle.Zero) Debug.Print("Context created (id: {0}).", Handle); else throw new GraphicsContextException("Failed to create OpenGL context. Glx.CreateContext call returned 0."); using (new XLock(Display)) { if (!Glx.IsDirect(Display, Handle.Handle)) Debug.Print("Warning: Context is not direct."); } } public X11GLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shared, bool direct, int major, int minor, GraphicsContextFlags flags) { if (handle == ContextHandle.Zero) throw new ArgumentException("handle"); if (window == null) throw new ArgumentNullException("window"); Handle = handle; currentWindow = (X11WindowInfo)window; Display = currentWindow.Display; } #endregion #region --- Private Methods --- IntPtr Display { get { return display; } set { if (value == IntPtr.Zero) throw new ArgumentOutOfRangeException(); if (display != IntPtr.Zero) throw new InvalidOperationException("The display connection may not be changed after being set."); display = value; } } #region XVisualInfo SelectVisual(GraphicsMode mode, X11WindowInfo currentWindow) XVisualInfo SelectVisual(GraphicsMode mode, X11WindowInfo currentWindow) { XVisualInfo info = new XVisualInfo(); info.VisualID = (IntPtr)mode.Index; info.Screen = currentWindow.Screen; int items; lock (API.Lock) { IntPtr vs = Functions.XGetVisualInfo(Display, XVisualInfoMask.ID | XVisualInfoMask.Screen, ref info, out items); if (items == 0) throw new GraphicsModeException(String.Format("Invalid GraphicsMode specified ({0}).", mode)); info = (XVisualInfo)Marshal.PtrToStructure(vs, typeof(XVisualInfo)); Functions.XFree(vs); } return info; } #endregion bool SupportsExtension(X11WindowInfo window, string e) { if (window == null) throw new ArgumentNullException("window"); if (e == null) throw new ArgumentNullException("e"); if (window.Display != Display) throw new InvalidOperationException(); string extensions = null; using (new XLock(Display)) { extensions = Glx.QueryExtensionsString(Display, window.Screen); } return !String.IsNullOrEmpty(extensions) && extensions.Contains(e); } #endregion #region --- IGraphicsContext Members --- #region SwapBuffers() public override void SwapBuffers() { if (Display == IntPtr.Zero || currentWindow.WindowHandle == IntPtr.Zero) throw new InvalidOperationException( String.Format("Window is invalid. Display ({0}), Handle ({1}).", Display, currentWindow.WindowHandle)); using (new XLock(Display)) { Glx.SwapBuffers(Display, currentWindow.WindowHandle); } } #endregion #region MakeCurrent public override void MakeCurrent(IWindowInfo window) { if (window == currentWindow && IsCurrent) return; if (window != null && ((X11WindowInfo)window).Display != Display) throw new InvalidOperationException("MakeCurrent() may only be called on windows originating from the same display that spawned this GL context."); if (window == null) { Debug.Write(String.Format("Releasing context {0} from thread {1} (Display: {2})... ", Handle, System.Threading.Thread.CurrentThread.ManagedThreadId, Display)); bool result; using (new XLock(Display)) { result = Glx.MakeCurrent(Display, IntPtr.Zero, IntPtr.Zero); if (result) { currentWindow = null; } } Debug.Print("{0}", result ? "done!" : "failed."); } else { X11WindowInfo w = (X11WindowInfo)window; bool result; Debug.Write(String.Format("Making context {0} current on thread {1} (Display: {2}, Screen: {3}, Window: {4})... ", Handle, System.Threading.Thread.CurrentThread.ManagedThreadId, Display, w.Screen, w.WindowHandle)); if (Display == IntPtr.Zero || w.WindowHandle == IntPtr.Zero || Handle == ContextHandle.Zero) throw new InvalidOperationException("Invalid display, window or context."); using (new XLock(Display)) { result = Glx.MakeCurrent(Display, w.WindowHandle, Handle); if (result) { currentWindow = w; } } if (!result) throw new GraphicsContextException("Failed to make context current."); else Debug.WriteLine("done!"); } currentWindow = (X11WindowInfo)window; } #endregion #region IsCurrent public override bool IsCurrent { get { using (new XLock(Display)) { return Glx.GetCurrentContext() == Handle.Handle; } } } #endregion #region VSync public override bool VSync { get { return vsync_supported && vsync_interval != 0; } set { if (vsync_supported) { ErrorCode error_code = 0; using (new XLock(Display)) { error_code = Glx.Sgi.SwapInterval(value ? 1 : 0); } if (error_code != X11.ErrorCode.NO_ERROR) Debug.Print("VSync = {0} failed, error code: {1}.", value, error_code); vsync_interval = value ? 1 : 0; } } } #endregion #region GetAddress public override IntPtr GetAddress(string function) { using (new XLock(Display)) { return Glx.GetProcAddress(function); } } #endregion #region LoadAll public override void LoadAll() { new Glx().LoadEntryPoints(); vsync_supported = this.GetAddress("glXSwapIntervalSGI") != IntPtr.Zero; Debug.Print("Context supports vsync: {0}.", vsync_supported); base.LoadAll(); } #endregion #endregion #region --- IGLContextInternal Members --- #region IWindowInfo IGLContextInternal.Info //IWindowInfo IGraphicsContextInternal.Info { get { return window; } } #endregion #endregion #region --- IDisposable Members --- public override void Dispose() { this.Dispose(true); GC.SuppressFinalize(this); } private void Dispose(bool manuallyCalled) { if (!IsDisposed) { if (manuallyCalled) { IntPtr display = Display; if (IsCurrent) { using (new XLock(display)) { Glx.MakeCurrent(display, IntPtr.Zero, IntPtr.Zero); } } using (new XLock(display)) { Glx.DestroyContext(display, Handle); } } } else { Debug.Print("[Warning] {0} leaked.", this.GetType().Name); } IsDisposed = true; } ~X11GLContext() { this.Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11KeyMap.cs0000664000175000017500000001306411453131422021312 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK team. * This notice may not be removed. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using OpenTK.Input; namespace OpenTK.Platform.X11 { internal class X11KeyMap : Dictionary { internal X11KeyMap() { try { this.Add(XKey.Escape, Key.Escape); this.Add(XKey.Return, Key.Enter); this.Add(XKey.space, Key.Space); this.Add(XKey.BackSpace, Key.BackSpace); this.Add(XKey.Shift_L, Key.ShiftLeft); this.Add(XKey.Shift_R, Key.ShiftRight); this.Add(XKey.Alt_L, Key.AltLeft); this.Add(XKey.Alt_R, Key.AltRight); this.Add(XKey.Control_L, Key.ControlLeft); this.Add(XKey.Control_R, Key.ControlRight); this.Add(XKey.Super_L, Key.WinLeft); this.Add(XKey.Super_R, Key.WinRight); this.Add(XKey.Meta_L, Key.WinLeft); this.Add(XKey.Meta_R, Key.WinRight); this.Add(XKey.Menu, Key.Menu); this.Add(XKey.Tab, Key.Tab); this.Add(XKey.minus, Key.Minus); this.Add(XKey.plus, Key.Plus); this.Add(XKey.equal, Key.Plus); this.Add(XKey.Caps_Lock, Key.CapsLock); this.Add(XKey.Num_Lock, Key.NumLock); for (int i = (int)XKey.F1; i <= (int)XKey.F35; i++) { this.Add((XKey)i, (Key)((int)Key.F1 + (i - (int)XKey.F1))); } for (int i = (int)XKey.a; i <= (int)XKey.z; i++) { this.Add((XKey)i, (Key)((int)Key.A + (i - (int)XKey.a))); } for (int i = (int)XKey.A; i <= (int)XKey.Z; i++) { this.Add((XKey)i, (Key)((int)Key.A + (i - (int)XKey.A))); } for (int i = (int)XKey.Number0; i <= (int)XKey.Number9; i++) { this.Add((XKey)i, (Key)((int)Key.Number0 + (i - (int)XKey.Number0))); } for (int i = (int)XKey.KP_0; i <= (int)XKey.KP_9; i++) { this.Add((XKey)i, (Key)((int)Key.Keypad0 + (i - (int)XKey.KP_0))); } this.Add(XKey.Pause, Key.Pause); this.Add(XKey.Break, Key.Pause); this.Add(XKey.Scroll_Lock, Key.Pause); this.Add(XKey.Insert, Key.PrintScreen); this.Add(XKey.Print, Key.PrintScreen); this.Add(XKey.Sys_Req, Key.PrintScreen); this.Add(XKey.backslash, Key.BackSlash); this.Add(XKey.bar, Key.BackSlash); this.Add(XKey.braceleft, Key.BracketLeft); this.Add(XKey.bracketleft, Key.BracketLeft); this.Add(XKey.braceright, Key.BracketRight); this.Add(XKey.bracketright, Key.BracketRight); this.Add(XKey.colon, Key.Semicolon); this.Add(XKey.semicolon, Key.Semicolon); this.Add(XKey.quoteright, Key.Quote); this.Add(XKey.quotedbl, Key.Quote); this.Add(XKey.quoteleft, Key.Tilde); this.Add(XKey.asciitilde, Key.Tilde); this.Add(XKey.comma, Key.Comma); this.Add(XKey.less, Key.Comma); this.Add(XKey.period, Key.Period); this.Add(XKey.greater, Key.Period); this.Add(XKey.slash, Key.Slash); this.Add(XKey.question, Key.Slash); this.Add(XKey.Left, Key.Left); this.Add(XKey.Down, Key.Down); this.Add(XKey.Right, Key.Right); this.Add(XKey.Up, Key.Up); this.Add(XKey.Delete, Key.Delete); this.Add(XKey.Home, Key.Home); this.Add(XKey.End, Key.End); //this.Add(XKey.Prior, Key.PageUp); // XKey.Prior == XKey.Page_Up this.Add(XKey.Page_Up, Key.PageUp); this.Add(XKey.Page_Down, Key.PageDown); //this.Add(XKey.Next, Key.PageDown); // XKey.Next == XKey.Page_Down this.Add(XKey.KP_Add, Key.KeypadAdd); this.Add(XKey.KP_Subtract, Key.KeypadSubtract); this.Add(XKey.KP_Multiply, Key.KeypadMultiply); this.Add(XKey.KP_Divide, Key.KeypadDivide); this.Add(XKey.KP_Decimal, Key.KeypadDecimal); this.Add(XKey.KP_Insert, Key.Keypad0); this.Add(XKey.KP_End, Key.Keypad1); this.Add(XKey.KP_Down, Key.Keypad2); this.Add(XKey.KP_Page_Down, Key.Keypad3); this.Add(XKey.KP_Left, Key.Keypad4); this.Add(XKey.KP_Right, Key.Keypad6); this.Add(XKey.KP_Home, Key.Keypad7); this.Add(XKey.KP_Up, Key.Keypad8); this.Add(XKey.KP_Page_Up, Key.Keypad9); this.Add(XKey.KP_Delete, Key.KeypadDecimal); this.Add(XKey.KP_Enter, Key.KeypadEnter); } catch (ArgumentException e) { Debug.Print("Exception while creating keymap: '{0}'.", e.ToString()); } } } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11Input.cs0000664000175000017500000002701611453131422021225 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Runtime.InteropServices; using OpenTK.Input; using System.Drawing; namespace OpenTK.Platform.X11 { /// \internal /// /// Drives the InputDriver on X11. /// This class supports OpenTK, and is not intended for users of OpenTK. /// internal sealed class X11Input : IInputDriver { X11Joystick joystick_driver = new X11Joystick(); //X11WindowInfo window; KeyboardDevice keyboard = new KeyboardDevice(); MouseDevice mouse = new MouseDevice(); List dummy_keyboard_list = new List(1); List dummy_mice_list = new List(1); X11KeyMap keymap = new X11KeyMap(); int firstKeyCode, lastKeyCode; // The smallest and largest KeyCode supported by the X server. int keysyms_per_keycode; // The number of KeySyms for each KeyCode. IntPtr[] keysyms; //bool disposed; #region --- Constructors --- /// /// Constructs a new X11Input driver. Creates a hidden InputOnly window, child to /// the main application window, which selects input events and routes them to /// the device specific drivers (Keyboard, Mouse, Hid). /// /// The window which the InputDriver will attach itself on. public X11Input(IWindowInfo attach) { Debug.WriteLine("Initalizing X11 input driver."); Debug.Indent(); if (attach == null) throw new ArgumentException("A valid parent window must be defined, in order to create an X11Input driver."); //window = new X11WindowInfo(attach); X11WindowInfo window = (X11WindowInfo)attach; // Init mouse mouse.Description = "Default X11 mouse"; mouse.DeviceID = IntPtr.Zero; mouse.NumberOfButtons = 5; mouse.NumberOfWheels = 1; dummy_mice_list.Add(mouse); using (new XLock(window.Display)) { // Init keyboard API.DisplayKeycodes(window.Display, ref firstKeyCode, ref lastKeyCode); Debug.Print("First keycode: {0}, last {1}", firstKeyCode, lastKeyCode); IntPtr keysym_ptr = API.GetKeyboardMapping(window.Display, (byte)firstKeyCode, lastKeyCode - firstKeyCode + 1, ref keysyms_per_keycode); Debug.Print("{0} keysyms per keycode.", keysyms_per_keycode); keysyms = new IntPtr[(lastKeyCode - firstKeyCode + 1) * keysyms_per_keycode]; Marshal.PtrToStructure(keysym_ptr, keysyms); API.Free(keysym_ptr); KeyboardDevice kb = new KeyboardDevice(); keyboard.Description = "Default X11 keyboard"; keyboard.NumberOfKeys = lastKeyCode - firstKeyCode + 1; keyboard.DeviceID = IntPtr.Zero; dummy_keyboard_list.Add(keyboard); // Request that auto-repeat is only set on devices that support it physically. // This typically means that it's turned off for keyboards (which is what we want). // We prefer this method over XAutoRepeatOff/On, because the latter needs to // be reset before the program exits. bool supported; Functions.XkbSetDetectableAutoRepeat(window.Display, true, out supported); } Debug.Unindent(); } #endregion #region private void InternalPoll() #if false private void InternalPoll() { X11.XEvent e = new XEvent(); try { while (!disposed) { Functions.XMaskEvent(window.Display, EventMask.PointerMotionMask | EventMask.PointerMotionHintMask | EventMask.ButtonPressMask | EventMask.ButtonReleaseMask | EventMask.KeyPressMask | EventMask.KeyReleaseMask | EventMask.StructureNotifyMask, ref e); if (disposed) return; switch (e.type) { case XEventName.KeyPress: case XEventName.KeyRelease: keyboardDriver.ProcessKeyboardEvent(ref e.KeyEvent); break; case XEventName.ButtonPress: case XEventName.ButtonRelease: mouseDriver.ProcessButton(ref e.ButtonEvent); break; case XEventName.MotionNotify: mouseDriver.ProcessMotion(ref e.MotionEvent); break; case XEventName.DestroyNotify: Functions.XPutBackEvent(window.Display, ref e); Functions.XAutoRepeatOn(window.Display); return; } } } catch (ThreadAbortException expt) { Functions.XUnmapWindow(window.Display, window.Handle); Functions.XDestroyWindow(window.Display, window.Handle); return; } } #endif #endregion #region internal void ProcessEvent(ref XEvent e) internal void ProcessEvent(ref XEvent e) { switch (e.type) { case XEventName.KeyPress: case XEventName.KeyRelease: bool pressed = e.type == XEventName.KeyPress; IntPtr keysym = API.LookupKeysym(ref e.KeyEvent, 0); IntPtr keysym2 = API.LookupKeysym(ref e.KeyEvent, 1); if (keymap.ContainsKey((XKey)keysym)) keyboard[keymap[(XKey)keysym]] = pressed; else if (keymap.ContainsKey((XKey)keysym2)) keyboard[keymap[(XKey)keysym2]] = pressed; else Debug.Print("KeyCode {0} (Keysym: {1}, {2}) not mapped.", e.KeyEvent.keycode, (XKey)keysym, (XKey)keysym2); break; case XEventName.ButtonPress: if (e.ButtonEvent.button == 1) mouse[OpenTK.Input.MouseButton.Left] = true; else if (e.ButtonEvent.button == 2) mouse[OpenTK.Input.MouseButton.Middle] = true; else if (e.ButtonEvent.button == 3) mouse[OpenTK.Input.MouseButton.Right] = true; else if (e.ButtonEvent.button == 4) mouse.Wheel++; else if (e.ButtonEvent.button == 5) mouse.Wheel--; else if (e.ButtonEvent.button == 6) mouse[OpenTK.Input.MouseButton.Button1] = true; else if (e.ButtonEvent.button == 7) mouse[OpenTK.Input.MouseButton.Button2] = true; else if (e.ButtonEvent.button == 8) mouse[OpenTK.Input.MouseButton.Button3] = true; else if (e.ButtonEvent.button == 9) mouse[OpenTK.Input.MouseButton.Button4] = true; else if (e.ButtonEvent.button == 10) mouse[OpenTK.Input.MouseButton.Button5] = true; else if (e.ButtonEvent.button == 11) mouse[OpenTK.Input.MouseButton.Button6] = true; else if (e.ButtonEvent.button == 12) mouse[OpenTK.Input.MouseButton.Button7] = true; else if (e.ButtonEvent.button == 13) mouse[OpenTK.Input.MouseButton.Button8] = true; else if (e.ButtonEvent.button == 14) mouse[OpenTK.Input.MouseButton.Button9] = true; //if ((e.state & (int)X11.MouseMask.Button4Mask) != 0) m.Wheel++; //if ((e.state & (int)X11.MouseMask.Button5Mask) != 0) m.Wheel--; //Debug.Print("Button pressed: {0}", e.ButtonEvent.button); break; case XEventName.ButtonRelease: if (e.ButtonEvent.button == 1) mouse[OpenTK.Input.MouseButton.Left] = false; else if (e.ButtonEvent.button == 2) mouse[OpenTK.Input.MouseButton.Middle] = false; else if (e.ButtonEvent.button == 3) mouse[OpenTK.Input.MouseButton.Right] = false; else if (e.ButtonEvent.button == 6) mouse[OpenTK.Input.MouseButton.Button1] = false; else if (e.ButtonEvent.button == 7) mouse[OpenTK.Input.MouseButton.Button2] = false; else if (e.ButtonEvent.button == 8) mouse[OpenTK.Input.MouseButton.Button3] = false; else if (e.ButtonEvent.button == 9) mouse[OpenTK.Input.MouseButton.Button4] = false; else if (e.ButtonEvent.button == 10) mouse[OpenTK.Input.MouseButton.Button5] = false; else if (e.ButtonEvent.button == 11) mouse[OpenTK.Input.MouseButton.Button6] = false; else if (e.ButtonEvent.button == 12) mouse[OpenTK.Input.MouseButton.Button7] = false; else if (e.ButtonEvent.button == 13) mouse[OpenTK.Input.MouseButton.Button8] = false; else if (e.ButtonEvent.button == 14) mouse[OpenTK.Input.MouseButton.Button9] = false; break; case XEventName.MotionNotify: mouse.Position = new Point(e.MotionEvent.x, e.MotionEvent.y); break; } } #endregion #region --- IInputDriver Members --- #region public IList Keyboard public IList Keyboard { get { return dummy_keyboard_list; }//return keyboardDriver.Keyboard; } #endregion #region public IList Mouse public IList Mouse { get { return (IList)dummy_mice_list; } //return mouseDriver.Mouse; } #endregion #region public IList Joysticks public IList Joysticks { get { return joystick_driver.Joysticks; } } #endregion #region public void Poll() /// /// Polls and updates state of all keyboard, mouse and joystick devices. /// public void Poll() { joystick_driver.Poll(); } #endregion #endregion #region --- IDisposable Members --- public void Dispose() { //this.Dispose(true); //GC.SuppressFinalize(this); } //private void Dispose(bool manual) //{ // if (!disposed) // { // //disposing = true; // if (pollingThread != null && pollingThread.IsAlive) // pollingThread.Abort(); // if (manual) // { // } // disposed = true; // } //} //~X11Input() //{ // this.Dispose(false); //} #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11DisplayDevice.cs0000664000175000017500000003517611453131422022661 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Runtime.InteropServices; namespace OpenTK.Platform.X11 { internal class X11DisplayDevice : IDisplayDeviceDriver { static object display_lock = new object(); // Store a mapping between resolutions and their respective // size_index (needed for XRRSetScreenConfig). The size_index // is simply the sequence number of the resolution as returned by // XRRSizes. This is done per available screen. static List> screenResolutionToIndex = new List>(); // Store a mapping between DisplayDevices and their default resolutions. static Dictionary deviceToDefaultResolution = new Dictionary(); // Store a mapping between DisplayDevices and X11 screens. static Dictionary deviceToScreen = new Dictionary(); // Keep the time when the config of each screen was last updated. static List lastConfigUpdate = new List(); static bool xinerama_supported, xrandr_supported, xf86_supported; #region --- Constructors --- static X11DisplayDevice() { using (new XLock(API.DefaultDisplay)) { List devices = new List(); bool xinerama_supported = false; try { xinerama_supported = QueryXinerama(devices); } catch { Debug.Print("Xinerama query failed."); } if (!xinerama_supported) { // We assume that devices are equivalent to the number of available screens. // Note: this won't work correctly in the case of distinct X servers. for (int i = 0; i < API.ScreenCount; i++) { DisplayDevice dev = new DisplayDevice(); dev.IsPrimary = i == Functions.XDefaultScreen(API.DefaultDisplay); devices.Add(dev); deviceToScreen.Add(dev, i); } } try { xrandr_supported = QueryXRandR(devices); } catch { } if (!xrandr_supported) { Debug.Print("XRandR query failed, falling back to XF86."); try { xf86_supported = QueryXF86(devices); } catch { } if (!xf86_supported) { Debug.Print("XF86 query failed, no DisplayDevice support available."); } } } } internal X11DisplayDevice() { } #endregion #region --- Private Methods --- static bool QueryXinerama(List devices) { // Try to use Xinerama to obtain the geometry of all output devices. int event_base, error_base; if (NativeMethods.XineramaQueryExtension(API.DefaultDisplay, out event_base, out error_base) && NativeMethods.XineramaIsActive(API.DefaultDisplay)) { IList screens = NativeMethods.XineramaQueryScreens(API.DefaultDisplay); bool first = true; foreach (XineramaScreenInfo screen in screens) { DisplayDevice dev = new DisplayDevice(); dev.Bounds = new Rectangle(screen.X, screen.Y, screen.Width, screen.Height); if (first) { // We consider the first device returned by Xinerama as the primary one. // Makes sense conceptually, but is there a way to verify this? dev.IsPrimary = true; first = false; } devices.Add(dev); // It seems that all X screens are equal to 0 is Xinerama is enabled, at least on Nvidia (verify?) deviceToScreen.Add(dev, 0 /*screen.ScreenNumber*/); } } return true; } static bool QueryXRandR(List devices) { // Get available resolutions. Then, for each resolution get all available rates. foreach (DisplayDevice dev in devices) { int screen = deviceToScreen[dev]; IntPtr timestamp_of_last_update; Functions.XRRTimes(API.DefaultDisplay, screen, out timestamp_of_last_update); lastConfigUpdate.Add(timestamp_of_last_update); List available_res = new List(); // Add info for a new screen. screenResolutionToIndex.Add(new Dictionary()); int[] depths = FindAvailableDepths(screen); int resolution_count = 0; foreach (XRRScreenSize size in FindAvailableResolutions(screen)) { if (size.Width == 0 || size.Height == 0) { Debug.Print("[Warning] XRandR returned an invalid resolution ({0}) for display device {1}", size, screen); continue; } short[] rates = null; rates = Functions.XRRRates(API.DefaultDisplay, screen, resolution_count); // It seems that XRRRates returns 0 for modes that are larger than the screen // can support, as well as for all supported modes. On Ubuntu 7.10 the tool // "Screens and Graphics" does report these modes, though. foreach (short rate in rates) { // Note: some X servers (like Xming on Windows) do not report any rates other than 0. // If we only have 1 rate, add it even if it is 0. if (rate != 0 || rates.Length == 1) foreach (int depth in depths) available_res.Add(new DisplayResolution(0, 0, size.Width, size.Height, depth, (float)rate)); } // Keep the index of this resolution - we will need it for resolution changes later. foreach (int depth in depths) { // Note that Xinerama may return multiple devices for a single screen. XRandR will // not distinguish between the two as far as resolutions are supported (since XRandR // operates on X screens, not display devices) - we need to be careful not to add the // same resolution twice! DisplayResolution res = new DisplayResolution(0, 0, size.Width, size.Height, depth, 0); if (!screenResolutionToIndex[screen].ContainsKey(res)) screenResolutionToIndex[screen].Add(res, resolution_count); } ++resolution_count; } // The resolution of the current DisplayDevice is discovered through XRRConfigCurrentConfiguration. // Its refresh rate is discovered by the FindCurrentRefreshRate call. // Its depth is discovered by the FindCurrentDepth call. float current_refresh_rate = FindCurrentRefreshRate(screen); int current_depth = FindCurrentDepth(screen); IntPtr screen_config = Functions.XRRGetScreenInfo(API.DefaultDisplay, Functions.XRootWindow(API.DefaultDisplay, screen)); ushort current_rotation; // Not needed. int current_resolution_index = Functions.XRRConfigCurrentConfiguration(screen_config, out current_rotation); if (dev.Bounds == Rectangle.Empty) dev.Bounds = new Rectangle(0, 0, available_res[current_resolution_index].Width, available_res[current_resolution_index].Height); dev.BitsPerPixel = current_depth; dev.RefreshRate = current_refresh_rate; dev.AvailableResolutions = available_res; deviceToDefaultResolution.Add(dev, current_resolution_index); } return true; } static bool QueryXF86(List devices) { return false; } #region static int[] FindAvailableDepths(int screen) static int[] FindAvailableDepths(int screen) { return Functions.XListDepths(API.DefaultDisplay, screen); } #endregion #region static XRRScreenSize[] FindAvailableResolutions(int screen) static XRRScreenSize[] FindAvailableResolutions(int screen) { XRRScreenSize[] resolutions = null; resolutions = Functions.XRRSizes(API.DefaultDisplay, screen); if (resolutions == null) throw new NotSupportedException("XRandR extensions not available."); return resolutions; } #endregion #region static float FindCurrentRefreshRate(int screen) static float FindCurrentRefreshRate(int screen) { short rate = 0; IntPtr screen_config = Functions.XRRGetScreenInfo(API.DefaultDisplay, Functions.XRootWindow(API.DefaultDisplay, screen)); ushort rotation = 0; int size = Functions.XRRConfigCurrentConfiguration(screen_config, out rotation); rate = Functions.XRRConfigCurrentRate(screen_config); Functions.XRRFreeScreenConfigInfo(screen_config); return (float)rate; } #endregion #region private static int FindCurrentDepth(int screen) private static int FindCurrentDepth(int screen) { return (int)Functions.XDefaultDepth(API.DefaultDisplay, screen); } #endregion static bool ChangeResolutionXRandR(DisplayDevice device, DisplayResolution resolution) { using (new XLock(API.DefaultDisplay)) { int screen = deviceToScreen[device]; IntPtr root = Functions.XRootWindow(API.DefaultDisplay, screen); IntPtr screen_config = Functions.XRRGetScreenInfo(API.DefaultDisplay, root); ushort current_rotation; int current_resolution_index = Functions.XRRConfigCurrentConfiguration(screen_config, out current_rotation); int new_resolution_index; if (resolution != null) new_resolution_index = screenResolutionToIndex[screen] [new DisplayResolution(0, 0, resolution.Width, resolution.Height, resolution.BitsPerPixel, 0)]; else new_resolution_index = deviceToDefaultResolution[device]; Debug.Print("Changing size of screen {0} from {1} to {2}", screen, current_resolution_index, new_resolution_index); return 0 == Functions.XRRSetScreenConfigAndRate(API.DefaultDisplay, screen_config, root, new_resolution_index, current_rotation, (short)(resolution != null ? resolution.RefreshRate : 0), lastConfigUpdate[screen]); } } static bool ChangeResolutionXF86(DisplayDevice device, DisplayResolution resolution) { return false; } #endregion #region --- IDisplayDeviceDriver Members --- public bool TryChangeResolution(DisplayDevice device, DisplayResolution resolution) { // If resolution is null, restore the default resolution (new_resolution_index = 0). if (xrandr_supported) { return ChangeResolutionXRandR(device, resolution); } else if (xf86_supported) { return ChangeResolutionXF86(device, resolution); } else { return false; } } public bool TryRestoreResolution(DisplayDevice device) { return TryChangeResolution(device, null); } #endregion #region NativeMethods static class NativeMethods { const string Xinerama = "libXinerama"; [DllImport(Xinerama)] public static extern bool XineramaQueryExtension(IntPtr dpy, out int event_basep, out int error_basep); [DllImport(Xinerama)] public static extern int XineramaQueryVersion (IntPtr dpy, out int major_versionp, out int minor_versionp); [DllImport(Xinerama)] public static extern bool XineramaIsActive(IntPtr dpy); [DllImport(Xinerama)] static extern IntPtr XineramaQueryScreens(IntPtr dpy, out int number); public static IList XineramaQueryScreens(IntPtr dpy) { int number; IntPtr screen_ptr = XineramaQueryScreens(dpy, out number); List screens = new List(number); unsafe { XineramaScreenInfo* ptr = (XineramaScreenInfo*)screen_ptr; while (--number >= 0) { screens.Add(*ptr); ptr++; } } return screens; } } [StructLayout(LayoutKind.Sequential, Pack = 1)] struct XineramaScreenInfo { public int ScreenNumber; public short X; public short Y; public short Width; public short Height; } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11Joystick.cs0000664000175000017500000001757511453131422021736 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using OpenTK.Input; namespace OpenTK.Platform.X11 { struct X11JoyDetails { } sealed class X11Joystick : IJoystickDriver { #region Fields List sticks = new List(); IList sticks_readonly; bool disposed; #endregion #region Constructors public X11Joystick() { sticks_readonly = sticks.AsReadOnly(); int number = 0, max_sticks = 25; while (number < max_sticks) { JoystickDevice stick = OpenJoystick(JoystickPath, number++); if (stick != null) { stick.Description = String.Format("USB Joystick {0} ({1} axes, {2} buttons, {3}{0})", number, stick.Axis.Count, stick.Button.Count, JoystickPath); sticks.Add(stick); } } number = 0; while (number < max_sticks) { JoystickDevice stick = OpenJoystick(JoystickPathLegacy, number++); if (stick != null) { stick.Description = String.Format("USB Joystick {0} ({1} axes, {2} buttons, {3}{0})", number, stick.Axis.Count, stick.Button.Count, JoystickPathLegacy); sticks.Add(stick); } } } #endregion #region IJoystickDriver public int DeviceCount { get { return sticks.Count; } } public IList Joysticks { get { return sticks_readonly; } } public void Poll() { JoystickEvent e; foreach (JoystickDevice js in sticks) { unsafe { while ((long)UnsafeNativeMethods.read(js.Id, (void*)&e, (UIntPtr)sizeof(JoystickEvent)) > 0) { e.Type &= ~JoystickEventType.Init; switch (e.Type) { case JoystickEventType.Axis: // Flip vertical axes so that +1 point up. if (e.Number % 2 == 0) js.SetAxis((JoystickAxis)e.Number, e.Value / 32767.0f); else js.SetAxis((JoystickAxis)e.Number, -e.Value / 32767.0f); break; case JoystickEventType.Button: js.SetButton((JoystickButton)e.Number, e.Value != 0); break; } } } } } #endregion #region Private Members JoystickDevice OpenJoystick(string base_path, int number) { string path = base_path + number.ToString(); JoystickDevice stick = null; int fd = -1; try { fd = UnsafeNativeMethods.open(path, OpenFlags.NonBlock); if (fd == -1) return null; // Check joystick driver version (must be 1.0+) int driver_version = 0x00000800; UnsafeNativeMethods.ioctl(fd, JoystickIoctlCode.Version, ref driver_version); if (driver_version < 0x00010000) return null; // Get number of joystick axes int axes = 0; UnsafeNativeMethods.ioctl(fd, JoystickIoctlCode.Axes, ref axes); // Get number of joystick buttons int buttons = 0; UnsafeNativeMethods.ioctl(fd, JoystickIoctlCode.Buttons, ref buttons); stick = new JoystickDevice(fd, axes, buttons); Debug.Print("Found joystick on path {0}", path); } finally { if (stick == null && fd != -1) UnsafeNativeMethods.close(fd); } return stick; } #region UnsafeNativeMethods struct JoystickEvent { public uint Time; // (u32) event timestamp in milliseconds public short Value; // (s16) value public JoystickEventType Type; // (u8) event type public byte Number; // (u8) axis/button number } [Flags] enum JoystickEventType : byte { Button = 0x01, // button pressed/released Axis = 0x02, // joystick moved Init = 0x80 // initial state of device } enum JoystickIoctlCode : uint { Version = 0x80046a01, Axes = 0x80016a11, Buttons = 0x80016a12 } static readonly string JoystickPath = "/dev/input/js"; static readonly string JoystickPathLegacy = "/dev/js"; [Flags] enum OpenFlags { NonBlock = 0x00000800 } static class UnsafeNativeMethods { [DllImport("libc", SetLastError = true)] public static extern int ioctl(int d, JoystickIoctlCode request, ref int data); [DllImport("libc", SetLastError = true)] public static extern int open([MarshalAs(UnmanagedType.LPStr)]string pathname, OpenFlags flags); [DllImport("libc", SetLastError = true)] public static extern int close(int fd); [DllImport("libc", SetLastError = true)] unsafe public static extern IntPtr read(int fd, void* buffer, UIntPtr count); } #endregion #endregion #region IDisposable Members public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } void Dispose(bool manual) { if (!disposed) { if (manual) { } foreach (JoystickDevice js in sticks) { UnsafeNativeMethods.close(js.Id); } disposed = true; } } ~X11Joystick() { Dispose(false); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11Factory.cs0000664000175000017500000000645111453131422021535 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Diagnostics; using OpenTK.Graphics; namespace OpenTK.Platform.X11 { class X11Factory : IPlatformFactory { #region Constructors public X11Factory() { int result = Functions.XInitThreads(); Debug.Print("Initializing threaded X: {0}.", result != 0 ? "success" : "failed"); } #endregion #region IPlatformFactory Members public virtual INativeWindow CreateNativeWindow(int x, int y, int width, int height, string title, GraphicsMode mode, GameWindowFlags options, DisplayDevice device) { return new X11GLNative(x, y, width, height, title, mode, options, device); } public virtual IDisplayDeviceDriver CreateDisplayDeviceDriver() { return new X11DisplayDevice(); } public virtual IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new X11GLContext(mode, window, shareContext, directRendering, major, minor, flags); } public virtual IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { return new X11GLContext(handle, window, shareContext, directRendering, major, minor, flags); } public virtual GraphicsContext.GetCurrentContextDelegate CreateGetCurrentGraphicsContext() { return (GraphicsContext.GetCurrentContextDelegate)delegate { return new ContextHandle(Glx.GetCurrentContext()); }; } public virtual IGraphicsMode CreateGraphicsMode() { return new X11GraphicsMode(); } public virtual OpenTK.Input.IKeyboardDriver CreateKeyboardDriver() { throw new NotImplementedException(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/GlxHelper.cs0000664000175000017500000000661411453131422021527 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.Runtime.InteropServices; using System.Diagnostics; using OpenTK.Graphics; namespace OpenTK.Platform.X11 { partial class Glx : BindingsBase { const string Library = "libGL.so.1"; static readonly object sync_root = new object(); // Disable BeforeFieldInit optimization. static Glx() { } protected override object SyncRoot { get { return sync_root; } } protected override IntPtr GetAddress (string funcname) { return Glx.GetProcAddress(funcname); } #if false #region static Delegate LoadDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call an OpenGL function, core or extension. /// /// The name of the Wgl function (eg. "wglNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function, or null if the specified /// function name did not correspond to an OpenGL function. /// static Delegate LoadDelegate(string name, Type signature) { Delegate d; string realName = name.ToLower().StartsWith("glx") ? name.Substring(3) : name; if (typeof(Glx).GetMethod(realName, BindingFlags.NonPublic | BindingFlags.Static) != null) d = GetExtensionDelegate(name, signature) ?? Delegate.CreateDelegate(signature, typeof(Glx), realName); else d = GetExtensionDelegate(name, signature); return d; } #endregion #region private static Delegate GetExtensionDelegate(string name, Type signature) /// /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function. /// /// The name of the OpenGL function (eg. "glNewList") /// The signature of the OpenGL function. /// /// A System.Delegate that can be used to call this OpenGL function or null /// if the function is not available in the current OpenGL context. /// private static Delegate GetExtensionDelegate(string name, Type signature) { IntPtr address = Glx.GetProcAddress(name); if (address == IntPtr.Zero || address == new IntPtr(1) || // Workaround for buggy nvidia drivers which return address == new IntPtr(2)) // 1 or 2 instead of IntPtr.Zero for some extensions. return null; else return Marshal.GetDelegateForFunctionPointer(address, signature); } #endregion #region internal static void LoadAll public static void LoadAll() { OpenTK.Platform.Utilities.LoadExtensions(typeof(Glx)); } #endregion #endif } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/Functions.cs0000664000175000017500000007334311453131422021610 0ustar laneylaney#region --- License --- /* Licensed under the MIT/X11 license. * Copyright (c) 2006-2008 the OpenTK Team. * This notice may not be removed from any source distribution. * See license.txt for licensing detailed licensing details. */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace OpenTK.Platform.X11 { #region Types // using XID = System.Int32; using Window = System.IntPtr; using Drawable = System.IntPtr; using Font = System.IntPtr; using Pixmap = System.IntPtr; using Cursor = System.IntPtr; using Colormap = System.IntPtr; using GContext = System.IntPtr; using KeySym = System.IntPtr; using Mask = System.IntPtr; using Atom = System.IntPtr; using VisualID = System.IntPtr; using Time = System.UInt32; using KeyCode = System.Byte; // Or maybe ushort? using Display = System.IntPtr; using XPointer = System.IntPtr; // Randr and Xrandr using Bool = System.Boolean; using XRRScreenConfiguration = System.IntPtr; // opaque datatype using Rotation = System.UInt16; using Status = System.Int32; using SizeID = System.UInt16; #endregion #region Structs #endregion internal static partial class Functions { public static readonly object Lock = API.Lock; [DllImport("libX11", EntryPoint = "XOpenDisplay")] extern static IntPtr sys_XOpenDisplay(IntPtr display); public static IntPtr XOpenDisplay(IntPtr display) { lock (Lock) { return sys_XOpenDisplay(display); } } [DllImport("libX11", EntryPoint = "XCloseDisplay")] public extern static int XCloseDisplay(IntPtr display); [DllImport("libX11", EntryPoint = "XSynchronize")] public extern static IntPtr XSynchronize(IntPtr display, bool onoff); //[DllImport("libX11", EntryPoint = "XCreateWindow"), CLSCompliant(false)] //public extern static IntPtr XCreateWindow(IntPtr display, IntPtr parent, int x, int y, int width, int height, int border_width, int depth, int xclass, IntPtr visual, UIntPtr valuemask, ref XSetWindowAttributes attributes); [DllImport("libX11", EntryPoint = "XCreateWindow")] public extern static IntPtr XCreateWindow(IntPtr display, IntPtr parent, int x, int y, int width, int height, int border_width, int depth, int xclass, IntPtr visual, IntPtr valuemask, ref XSetWindowAttributes attributes); [DllImport("libX11", EntryPoint = "XCreateSimpleWindow")]//, CLSCompliant(false)] public extern static IntPtr XCreateSimpleWindow(IntPtr display, IntPtr parent, int x, int y, int width, int height, int border_width, UIntPtr border, UIntPtr background); [DllImport("libX11", EntryPoint = "XCreateSimpleWindow")] public extern static IntPtr XCreateSimpleWindow(IntPtr display, IntPtr parent, int x, int y, int width, int height, int border_width, IntPtr border, IntPtr background); [DllImport("libX11", EntryPoint = "XMapWindow")] public extern static int XMapWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XUnmapWindow")] public extern static int XUnmapWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XMapSubwindows")] public extern static int XMapSubindows(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XUnmapSubwindows")] public extern static int XUnmapSubwindows(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XRootWindow")] public extern static IntPtr XRootWindow(IntPtr display, int screen_number); [DllImport("libX11", EntryPoint = "XNextEvent")] public extern static IntPtr XNextEvent(IntPtr display, ref XEvent xevent); [DllImport("libX11")] public extern static Bool XWindowEvent(Display display, Window w, EventMask event_mask, ref XEvent event_return); [DllImport("libX11")] public extern static Bool XCheckWindowEvent(Display display, Window w, EventMask event_mask, ref XEvent event_return); [DllImport("libX11")] public extern static Bool XCheckTypedWindowEvent(Display display, Window w, XEventName event_type, ref XEvent event_return); [DllImport("libX11")] public extern static int XConnectionNumber(IntPtr diplay); [DllImport("libX11")] public extern static int XPending(IntPtr diplay); [DllImport("libX11", EntryPoint = "XSelectInput")] public extern static IntPtr XSelectInput(IntPtr display, IntPtr window, IntPtr mask); [DllImport("libX11", EntryPoint = "XDestroyWindow")] public extern static int XDestroyWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XReparentWindow")] public extern static int XReparentWindow(IntPtr display, IntPtr window, IntPtr parent, int x, int y); [DllImport("libX11", EntryPoint = "XMoveResizeWindow")] public extern static int XMoveResizeWindow(IntPtr display, IntPtr window, int x, int y, int width, int height); [DllImport("libX11", EntryPoint = "XMoveWindow")] public extern static int XMoveWindow(IntPtr display, IntPtr w, int x, int y); [DllImport("libX11", EntryPoint = "XResizeWindow")] public extern static int XResizeWindow(IntPtr display, IntPtr window, int width, int height); [DllImport("libX11", EntryPoint = "XGetWindowAttributes")] public extern static int XGetWindowAttributes(IntPtr display, IntPtr window, ref XWindowAttributes attributes); [DllImport("libX11", EntryPoint = "XFlush")] public extern static int XFlush(IntPtr display); [DllImport("libX11", EntryPoint = "XSetWMName")] public extern static int XSetWMName(IntPtr display, IntPtr window, ref XTextProperty text_prop); [DllImport("libX11", EntryPoint = "XStoreName")] public extern static int XStoreName(IntPtr display, IntPtr window, string window_name); [DllImport("libX11", EntryPoint = "XFetchName")] public extern static int XFetchName(IntPtr display, IntPtr window, ref IntPtr window_name); [DllImport("libX11", EntryPoint = "XSendEvent")] public extern static int XSendEvent(IntPtr display, IntPtr window, bool propagate, IntPtr event_mask, ref XEvent send_event); public static int XSendEvent(IntPtr display, IntPtr window, bool propagate, EventMask event_mask, ref XEvent send_event) { return XSendEvent(display, window, propagate, new IntPtr((int)event_mask), ref send_event); } [DllImport("libX11", EntryPoint = "XQueryTree")] public extern static int XQueryTree(IntPtr display, IntPtr window, out IntPtr root_return, out IntPtr parent_return, out IntPtr children_return, out int nchildren_return); [DllImport("libX11", EntryPoint = "XFree")] public extern static int XFree(IntPtr data); [DllImport("libX11", EntryPoint = "XRaiseWindow")] public extern static int XRaiseWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XLowerWindow")]//, CLSCompliant(false)] public extern static uint XLowerWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XConfigureWindow")]//, CLSCompliant(false)] public extern static uint XConfigureWindow(IntPtr display, IntPtr window, ChangeWindowAttributes value_mask, ref XWindowChanges values); [DllImport("libX11", EntryPoint = "XInternAtom")] public extern static IntPtr XInternAtom(IntPtr display, string atom_name, bool only_if_exists); [DllImport("libX11", EntryPoint = "XInternAtoms")] public extern static int XInternAtoms(IntPtr display, string[] atom_names, int atom_count, bool only_if_exists, IntPtr[] atoms); [DllImport("libX11", EntryPoint = "XSetWMProtocols")] public extern static int XSetWMProtocols(IntPtr display, IntPtr window, IntPtr[] protocols, int count); [DllImport("libX11", EntryPoint = "XGrabPointer")] public extern static int XGrabPointer(IntPtr display, IntPtr window, bool owner_events, EventMask event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor, IntPtr timestamp); [DllImport("libX11", EntryPoint = "XUngrabPointer")] public extern static int XUngrabPointer(IntPtr display, IntPtr timestamp); [DllImport("libX11", EntryPoint = "XQueryPointer")] public extern static bool XQueryPointer(IntPtr display, IntPtr window, out IntPtr root, out IntPtr child, out int root_x, out int root_y, out int win_x, out int win_y, out int keys_buttons); [DllImport("libX11", EntryPoint = "XTranslateCoordinates")] public extern static bool XTranslateCoordinates(IntPtr display, IntPtr src_w, IntPtr dest_w, int src_x, int src_y, out int intdest_x_return, out int dest_y_return, out IntPtr child_return); [DllImport("libX11", EntryPoint = "XGetGeometry")] public extern static bool XGetGeometry(IntPtr display, IntPtr window, out IntPtr root, out int x, out int y, out int width, out int height, out int border_width, out int depth); [DllImport("libX11", EntryPoint = "XGetGeometry")] public extern static bool XGetGeometry(IntPtr display, IntPtr window, IntPtr root, out int x, out int y, out int width, out int height, IntPtr border_width, IntPtr depth); [DllImport("libX11", EntryPoint = "XGetGeometry")] public extern static bool XGetGeometry(IntPtr display, IntPtr window, IntPtr root, out int x, out int y, IntPtr width, IntPtr height, IntPtr border_width, IntPtr depth); [DllImport("libX11", EntryPoint = "XGetGeometry")] public extern static bool XGetGeometry(IntPtr display, IntPtr window, IntPtr root, IntPtr x, IntPtr y, out int width, out int height, IntPtr border_width, IntPtr depth); [DllImport("libX11", EntryPoint = "XWarpPointer")]//, CLSCompliant(false)] public extern static uint XWarpPointer(IntPtr display, IntPtr src_w, IntPtr dest_w, int src_x, int src_y, uint src_width, uint src_height, int dest_x, int dest_y); [DllImport("libX11", EntryPoint = "XClearWindow")] public extern static int XClearWindow(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XClearArea")] public extern static int XClearArea(IntPtr display, IntPtr window, int x, int y, int width, int height, bool exposures); // Colormaps [DllImport("libX11", EntryPoint = "XDefaultScreenOfDisplay")] public extern static IntPtr XDefaultScreenOfDisplay(IntPtr display); [DllImport("libX11", EntryPoint = "XScreenNumberOfScreen")] public extern static int XScreenNumberOfScreen(IntPtr display, IntPtr Screen); [DllImport("libX11", EntryPoint = "XDefaultVisual")] public extern static IntPtr XDefaultVisual(IntPtr display, int screen_number); [DllImport("libX11", EntryPoint = "XDefaultDepth")]//, CLSCompliant(false)] public extern static uint XDefaultDepth(IntPtr display, int screen_number); [DllImport("libX11", EntryPoint = "XDefaultScreen")] public extern static int XDefaultScreen(IntPtr display); [DllImport("libX11", EntryPoint = "XDefaultColormap")] public extern static IntPtr XDefaultColormap(IntPtr display, int screen_number); [DllImport("libX11", EntryPoint = "XLookupColor")]//, CLSCompliant(false)] public extern static int XLookupColor(IntPtr display, IntPtr Colormap, string Coloranem, ref XColor exact_def_color, ref XColor screen_def_color); [DllImport("libX11", EntryPoint = "XAllocColor")]//, CLSCompliant(false)] public extern static int XAllocColor(IntPtr display, IntPtr Colormap, ref XColor colorcell_def); [DllImport("libX11", EntryPoint = "XSetTransientForHint")] public extern static int XSetTransientForHint(IntPtr display, IntPtr window, IntPtr prop_window); [DllImport("libX11", EntryPoint = "XChangeProperty")] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, ref MotifWmHints data, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")]//, CLSCompliant(false)] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, ref uint value, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, ref int value, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")]//, CLSCompliant(false)] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, ref IntPtr value, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")]//, CLSCompliant(false)] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, uint[] data, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, int[] data, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, IntPtr[] data, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty")] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, IntPtr atoms, int nelements); [DllImport("libX11", EntryPoint = "XChangeProperty", CharSet = CharSet.Ansi)] public extern static int XChangeProperty(IntPtr display, IntPtr window, IntPtr property, IntPtr type, int format, PropertyMode mode, string text, int text_length); [DllImport("libX11", EntryPoint = "XDeleteProperty")] public extern static int XDeleteProperty(IntPtr display, IntPtr window, IntPtr property); // Drawing [DllImport("libX11", EntryPoint = "XCreateGC")] public extern static IntPtr XCreateGC(IntPtr display, IntPtr window, IntPtr valuemask, XGCValues[] values); [DllImport("libX11", EntryPoint = "XFreeGC")] public extern static int XFreeGC(IntPtr display, IntPtr gc); [DllImport("libX11", EntryPoint = "XSetFunction")] public extern static int XSetFunction(IntPtr display, IntPtr gc, GXFunction function); [DllImport("libX11", EntryPoint = "XSetLineAttributes")] public extern static int XSetLineAttributes(IntPtr display, IntPtr gc, int line_width, GCLineStyle line_style, GCCapStyle cap_style, GCJoinStyle join_style); [DllImport("libX11", EntryPoint = "XDrawLine")] public extern static int XDrawLine(IntPtr display, IntPtr drawable, IntPtr gc, int x1, int y1, int x2, int y2); [DllImport("libX11", EntryPoint = "XDrawRectangle")] public extern static int XDrawRectangle(IntPtr display, IntPtr drawable, IntPtr gc, int x1, int y1, int width, int height); [DllImport("libX11", EntryPoint = "XFillRectangle")] public extern static int XFillRectangle(IntPtr display, IntPtr drawable, IntPtr gc, int x1, int y1, int width, int height); [DllImport("libX11", EntryPoint = "XSetWindowBackground")] public extern static int XSetWindowBackground(IntPtr display, IntPtr window, IntPtr background); [DllImport("libX11", EntryPoint = "XCopyArea")] public extern static int XCopyArea(IntPtr display, IntPtr src, IntPtr dest, IntPtr gc, int src_x, int src_y, int width, int height, int dest_x, int dest_y); [DllImport("libX11", EntryPoint = "XGetWindowProperty")] public extern static int XGetWindowProperty(IntPtr display, IntPtr window, IntPtr atom, IntPtr long_offset, IntPtr long_length, bool delete, IntPtr req_type, out IntPtr actual_type, out int actual_format, out IntPtr nitems, out IntPtr bytes_after, ref IntPtr prop); [DllImport("libX11", EntryPoint = "XSetInputFocus")] public extern static int XSetInputFocus(IntPtr display, IntPtr window, RevertTo revert_to, IntPtr time); [DllImport("libX11", EntryPoint = "XIconifyWindow")] public extern static int XIconifyWindow(IntPtr display, IntPtr window, int screen_number); [DllImport("libX11", EntryPoint = "XDefineCursor")] public extern static int XDefineCursor(IntPtr display, IntPtr window, IntPtr cursor); [DllImport("libX11", EntryPoint = "XUndefineCursor")] public extern static int XUndefineCursor(IntPtr display, IntPtr window); [DllImport("libX11", EntryPoint = "XFreeCursor")] public extern static int XFreeCursor(IntPtr display, IntPtr cursor); [DllImport("libX11", EntryPoint = "XCreateFontCursor")] public extern static IntPtr XCreateFontCursor(IntPtr display, CursorFontShape shape); [DllImport("libX11", EntryPoint = "XCreatePixmapCursor")]//, CLSCompliant(false)] public extern static IntPtr XCreatePixmapCursor(IntPtr display, IntPtr source, IntPtr mask, ref XColor foreground_color, ref XColor background_color, int x_hot, int y_hot); [DllImport("libX11", EntryPoint = "XCreatePixmapFromBitmapData")] public extern static IntPtr XCreatePixmapFromBitmapData(IntPtr display, IntPtr drawable, byte[] data, int width, int height, IntPtr fg, IntPtr bg, int depth); [DllImport("libX11", EntryPoint = "XCreatePixmap")] public extern static IntPtr XCreatePixmap(IntPtr display, IntPtr d, int width, int height, int depth); [DllImport("libX11", EntryPoint = "XFreePixmap")] public extern static IntPtr XFreePixmap(IntPtr display, IntPtr pixmap); [DllImport("libX11", EntryPoint = "XQueryBestCursor")] public extern static int XQueryBestCursor(IntPtr display, IntPtr drawable, int width, int height, out int best_width, out int best_height); [DllImport("libX11", EntryPoint = "XQueryExtension")] public extern static int XQueryExtension(IntPtr display, string extension_name, ref int major, ref int first_event, ref int first_error); [DllImport("libX11", EntryPoint = "XWhitePixel")] public extern static IntPtr XWhitePixel(IntPtr display, int screen_no); [DllImport("libX11", EntryPoint = "XBlackPixel")] public extern static IntPtr XBlackPixel(IntPtr display, int screen_no); [DllImport("libX11", EntryPoint = "XGrabServer")] public extern static void XGrabServer(IntPtr display); [DllImport("libX11", EntryPoint = "XUngrabServer")] public extern static void XUngrabServer(IntPtr display); [DllImport("libX11", EntryPoint = "XGetWMNormalHints")] public extern static int XGetWMNormalHints(IntPtr display, IntPtr window, ref XSizeHints hints, out IntPtr supplied_return); [DllImport("libX11", EntryPoint = "XSetWMNormalHints")] public extern static void XSetWMNormalHints(IntPtr display, IntPtr window, ref XSizeHints hints); [DllImport("libX11", EntryPoint = "XSetZoomHints")] public extern static void XSetZoomHints(IntPtr display, IntPtr window, ref XSizeHints hints); [DllImport("libX11")] public static extern IntPtr XGetWMHints(Display display, Window w); // returns XWMHints* [DllImport("libX11")] public static extern void XSetWMHints(Display display, Window w, ref XWMHints wmhints); [DllImport("libX11")] public static extern IntPtr XAllocWMHints(); [DllImport("libX11", EntryPoint = "XGetIconSizes")] public extern static int XGetIconSizes(IntPtr display, IntPtr window, out IntPtr size_list, out int count); [DllImport("libX11", EntryPoint = "XSetErrorHandler")] public extern static IntPtr XSetErrorHandler(XErrorHandler error_handler); [DllImport("libX11", EntryPoint = "XGetErrorText")] public extern static IntPtr XGetErrorText(IntPtr display, byte code, StringBuilder buffer, int length); [DllImport("libX11", EntryPoint = "XInitThreads")] public extern static int XInitThreads(); [DllImport("libX11", EntryPoint = "XConvertSelection")] public extern static int XConvertSelection(IntPtr display, IntPtr selection, IntPtr target, IntPtr property, IntPtr requestor, IntPtr time); [DllImport("libX11", EntryPoint = "XGetSelectionOwner")] public extern static IntPtr XGetSelectionOwner(IntPtr display, IntPtr selection); [DllImport("libX11", EntryPoint = "XSetSelectionOwner")] public extern static int XSetSelectionOwner(IntPtr display, IntPtr selection, IntPtr owner, IntPtr time); [DllImport("libX11", EntryPoint = "XSetPlaneMask")] public extern static int XSetPlaneMask(IntPtr display, IntPtr gc, IntPtr mask); [DllImport("libX11", EntryPoint = "XSetForeground")]//, CLSCompliant(false)] public extern static int XSetForeground(IntPtr display, IntPtr gc, UIntPtr foreground); [DllImport("libX11", EntryPoint = "XSetForeground")] public extern static int XSetForeground(IntPtr display, IntPtr gc, IntPtr foreground); [DllImport("libX11", EntryPoint = "XSetBackground")]//, CLSCompliant(false)] public extern static int XSetBackground(IntPtr display, IntPtr gc, UIntPtr background); [DllImport("libX11", EntryPoint = "XSetBackground")] public extern static int XSetBackground(IntPtr display, IntPtr gc, IntPtr background); [DllImport("libX11", EntryPoint = "XBell")] public extern static int XBell(IntPtr display, int percent); [DllImport("libX11", EntryPoint = "XChangeActivePointerGrab")] public extern static int XChangeActivePointerGrab(IntPtr display, EventMask event_mask, IntPtr cursor, IntPtr time); [DllImport("libX11", EntryPoint = "XFilterEvent")] public extern static bool XFilterEvent(ref XEvent xevent, IntPtr window); [DllImport("libX11")] public extern static bool XkbSetDetectableAutoRepeat(IntPtr display, bool detectable, out bool supported); [DllImport("libX11")] public extern static void XPeekEvent(IntPtr display, ref XEvent xevent); [DllImport("libX11", EntryPoint = "XGetVisualInfo")] static extern IntPtr XGetVisualInfoInternal(IntPtr display, IntPtr vinfo_mask, ref XVisualInfo template, out int nitems); public static IntPtr XGetVisualInfo(IntPtr display, XVisualInfoMask vinfo_mask, ref XVisualInfo template, out int nitems) { return XGetVisualInfoInternal(display, (IntPtr)(int)vinfo_mask, ref template, out nitems); } [DllImport("libX11")] public static extern IntPtr XCreateColormap(Display display, Window window, IntPtr visual, int alloc); [DllImport("libX11")] public static extern void XLockDisplay(Display display); [DllImport("libX11")] public static extern void XUnlockDisplay(Display display); [DllImport("libX11")] public static extern Status XGetTransientForHint(Display display, Window w, out Window prop_window_return); [DllImport("libX11")] public static extern void XSync(Display display, bool discard); [DllImport("libX11")] public static extern void XAutoRepeatOff(IntPtr display); [DllImport("libX11")] public static extern void XAutoRepeatOn(IntPtr display); [DllImport("libX11")] public static extern IntPtr XDefaultRootWindow(IntPtr display); [DllImport("libX11")] public static extern int XBitmapBitOrder(Display display); [DllImport("libX11")] public static extern IntPtr XCreateImage(Display display, IntPtr visual, uint depth, ImageFormat format, int offset, byte[] data, uint width, uint height, int bitmap_pad, int bytes_per_line); [DllImport("libX11")] public static extern IntPtr XCreateImage(Display display, IntPtr visual, uint depth, ImageFormat format, int offset, IntPtr data, uint width, uint height, int bitmap_pad, int bytes_per_line); [DllImport("libX11")] public static extern void XPutImage(Display display, IntPtr drawable, IntPtr gc, IntPtr image, int src_x, int src_y, int dest_x, int dest_y, uint width, uint height); [DllImport("libX11")] public static extern int XLookupString(ref XKeyEvent event_struct, [Out] byte[] buffer_return, int bytes_buffer, [Out] KeySym[] keysym_return, IntPtr status_in_out); [DllImport("libX11")] public static extern int XRefreshKeyboardMapping(ref XMappingEvent event_map); static readonly IntPtr CopyFromParent = IntPtr.Zero; public static void SendNetWMMessage(X11WindowInfo window, IntPtr message_type, IntPtr l0, IntPtr l1, IntPtr l2) { XEvent xev; xev = new XEvent(); xev.ClientMessageEvent.type = XEventName.ClientMessage; xev.ClientMessageEvent.send_event = true; xev.ClientMessageEvent.window = window.WindowHandle; xev.ClientMessageEvent.message_type = message_type; xev.ClientMessageEvent.format = 32; xev.ClientMessageEvent.ptr1 = l0; xev.ClientMessageEvent.ptr2 = l1; xev.ClientMessageEvent.ptr3 = l2; XSendEvent(window.Display, window.RootWindow, false, new IntPtr((int)(EventMask.SubstructureRedirectMask | EventMask.SubstructureNotifyMask)), ref xev); } public static void SendNetClientMessage(X11WindowInfo window, IntPtr message_type, IntPtr l0, IntPtr l1, IntPtr l2) { XEvent xev; xev = new XEvent(); xev.ClientMessageEvent.type = XEventName.ClientMessage; xev.ClientMessageEvent.send_event = true; xev.ClientMessageEvent.window = window.WindowHandle; xev.ClientMessageEvent.message_type = message_type; xev.ClientMessageEvent.format = 32; xev.ClientMessageEvent.ptr1 = l0; xev.ClientMessageEvent.ptr2 = l1; xev.ClientMessageEvent.ptr3 = l2; XSendEvent(window.Display, window.WindowHandle, false, new IntPtr((int)EventMask.NoEventMask), ref xev); } [StructLayout(LayoutKind.Sequential, Pack = 1)] struct Pixel { public byte A, R, G, B; public Pixel(byte a, byte r, byte g, byte b) { A= a; R = r; G = g; B = b; } public static implicit operator Pixel(int argb) { return new Pixel( (byte)((argb >> 24) & 0xFF), (byte)((argb >> 16) & 0xFF), (byte)((argb >> 8) & 0xFF), (byte)(argb & 0xFF)); } } public static IntPtr CreatePixmapFromImage(Display display, System.Drawing.Bitmap image) { int width = image.Width; int height = image.Height; int size = width * height; System.Drawing.Imaging.BitmapData data = image.LockBits(new System.Drawing.Rectangle(0, 0, width, height), System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); IntPtr ximage = XCreateImage(display, CopyFromParent, 24, ImageFormat.ZPixmap, 0, data.Scan0, (uint)width, (uint)height, 32, 0); IntPtr pixmap = XCreatePixmap(display, XDefaultRootWindow(display), width, height, 24); IntPtr gc = XCreateGC(display, pixmap, IntPtr.Zero, null); XPutImage(display, pixmap, gc, ximage, 0, 0, 0, 0, (uint)width, (uint)height); XFreeGC(display, gc); image.UnlockBits(data); return pixmap; } public static IntPtr CreateMaskFromImage(Display display, System.Drawing.Bitmap image) { int width = image.Width; int height = image.Height; int stride = (width + 7) >> 3; byte[] mask = new byte[stride * height]; bool msbfirst = (XBitmapBitOrder(display) == 1); // 1 = MSBFirst for (int y = 0; y < height; ++y) { for (int x = 0; x < width; ++x) { byte bit = (byte) (1 << (msbfirst ? (7 - (x & 7)) : (x & 7))); int offset = y * stride + (x >> 3); if (image.GetPixel(x, y).A >= 128) mask[offset] |= bit; } } Pixmap pixmap = XCreatePixmapFromBitmapData(display, XDefaultRootWindow(display), mask, width, height, new IntPtr(1), IntPtr.Zero, 1); return pixmap; } } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/X11WindowInfo.cs0000664000175000017500000001310011453131422022176 0ustar laneylaney#region License // // The Open Toolkit Library License // // Copyright (c) 2006 - 2009 the Open Toolkit library. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of // the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // #endregion using System; using System.Collections.Generic; using System.Text; namespace OpenTK.Platform.X11 { /// \internal /// Describes an X11 window. sealed class X11WindowInfo : IWindowInfo { IntPtr handle, rootWindow, display; X11WindowInfo parent; int screen; XVisualInfo visualInfo; EventMask eventMask; #region --- Constructors --- #region X11WindowInfo() /// Constructs a new X11WindowInfo class. public X11WindowInfo() { } #endregion #region X11WindowInfo(IntPtr handle, X11WindowInfo parent) /// /// Constructs a new X11WindowInfo class from the specified window handle and parent. /// /// The handle of the window. /// The parent of the window. public X11WindowInfo(IntPtr handle, X11WindowInfo parent) { this.handle = handle; this.parent = parent; if (parent != null) { this.rootWindow = parent.rootWindow; this.display = parent.display; this.screen = parent.screen; this.visualInfo = parent.visualInfo; } } #endregion #endregion #region --- Public Methods --- /// Gets or sets the handle of the window. public IntPtr WindowHandle { get { return handle; } set { handle = value; } } /// Gets or sets the parent of the window. public X11WindowInfo Parent { get { return parent; } set { parent = value; } } /// Gets or sets the X11 root window. public IntPtr RootWindow { get { return rootWindow; } set { rootWindow = value; } } /// Gets or sets the connection to the X11 display. public IntPtr Display { get { return display; } set { display = value; } } /// Gets or sets the X11 screen. public int Screen { get { return screen; } set { screen = value; } } /// Gets or sets the X11 VisualInfo. public XVisualInfo VisualInfo { get { return visualInfo; } set { visualInfo = value; } } /// Gets or sets the X11 EventMask. public EventMask EventMask { get { return eventMask; } set { eventMask = value; } } #endregion #region --- IDisposable Members --- /// /// Disposes of this X11WindowInfo instance. /// public void Dispose() { } #endregion #region --- Overrides --- #region public override string ToString() /// Returns a System.String that represents the current window. /// A System.String that represents the current window. public override string ToString() { return String.Format("X11.WindowInfo: Display {0}, Screen {1}, Handle {2}, Parent: ({3})", this.Display, this.Screen, this.WindowHandle, this.Parent != null ? this.Parent.ToString() : "null"); } #endregion /// Checks if this and obj reference the same win32 window. /// The object to check against. /// True if this and obj reference the same win32 window; false otherwise. public override bool Equals(object obj) { if (obj == null) return false; if (this.GetType() != obj.GetType()) return false; X11WindowInfo info = (X11WindowInfo)obj; if (info == null) return false; // TODO: Assumes windows will have unique handles per X11 display. return object.Equals(display, info.display) && handle.Equals(info.handle); } /// Returns the hash code for this instance. /// A hash code for the current X11WindowInfo. public override int GetHashCode() { return handle.GetHashCode() ^ display.GetHashCode(); } #endregion } } opentk-1.0.20101006/Source/OpenTK/Platform/X11/API.cs0000664000175000017500000021430311453131422020242 0ustar laneylaney#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * Contributions from Erik Ylvisaker * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; #pragma warning disable 3019 // CLS-compliance checking #pragma warning disable 0649 // struct members not explicitly initialized #pragma warning disable 0169 // field / method is never used. #pragma warning disable 0414 // field assigned but never used. namespace OpenTK.Platform.X11 { #region Types // using XID = System.Int32; using Window = System.IntPtr; using Drawable = System.IntPtr; using Font = System.IntPtr; using Pixmap = System.IntPtr; using Cursor = System.IntPtr; using Colormap = System.IntPtr; using GContext = System.IntPtr; using KeySym = System.IntPtr; using Mask = System.IntPtr; using Atom = System.IntPtr; using VisualID = System.IntPtr; using Time = System.IntPtr; using KeyCode = System.Byte; // Or maybe ushort? using Display = System.IntPtr; using XPointer = System.IntPtr; // Randr and Xrandr using Bool = System.Boolean; using XRRScreenConfiguration = System.IntPtr; // opaque datatype using Rotation = System.UInt16; using Status = System.Int32; using SizeID = System.UInt16; #endregion #region internal static class API internal static class API { #region --- Fields --- private const string _dll_name = "libX11"; private const string _dll_name_vid = "libXxf86vm"; static Display defaultDisplay; static int defaultScreen; static Window rootWindow; static int screenCount; internal static Display DefaultDisplay { get { return defaultDisplay; } } static int DefaultScreen { get { return defaultScreen; } } //internal static Window RootWindow { get { return rootWindow; } } internal static int ScreenCount { get { return screenCount; } } internal static object Lock = new object(); #endregion static API() { int has_threaded_x = Functions.XInitThreads(); Debug.Print("Initializing threaded X11: {0}.", has_threaded_x.ToString()); defaultDisplay = Functions.XOpenDisplay(IntPtr.Zero); if (defaultDisplay == IntPtr.Zero) throw new PlatformException("Could not establish connection to the X-Server."); using (new XLock(defaultDisplay)) { screenCount = Functions.XScreenCount(DefaultDisplay); } Debug.Print("Display connection: {0}, Screen count: {1}", DefaultDisplay, ScreenCount); //AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); } static void CurrentDomain_ProcessExit(object sender, EventArgs e) { if (defaultDisplay != IntPtr.Zero) { Functions.XCloseDisplay(defaultDisplay); defaultDisplay = IntPtr.Zero; defaultScreen = 0; rootWindow = IntPtr.Zero; } } // Display management //[DllImport(_dll_name, EntryPoint = "XOpenDisplay")] //extern public static IntPtr OpenDisplay([MarshalAs(UnmanagedType.LPTStr)] string display_name); //[DllImport(_dll_name, EntryPoint = "XCloseDisplay")] //extern public static void CloseDisplay(Display display); //[DllImport(_dll_name, EntryPoint = "XCreateColormap")] //extern public static IntPtr CreateColormap(Display display, Window window, IntPtr visual, int alloc); #region Window handling [Obsolete("Use XCreateWindow instead")] [DllImport(_dll_name, EntryPoint = "XCreateWindow")] public extern static Window CreateWindow( Display display, Window parent, int x, int y, //uint width, uint height, int width, int height, //uint border_width, int border_width, int depth, //uint @class, int @class, IntPtr visual, [MarshalAs(UnmanagedType.SysUInt)] CreateWindowMask valuemask, SetWindowAttributes attributes ); [DllImport(_dll_name, EntryPoint = "XCreateSimpleWindow")] public extern static Window CreateSimpleWindow( Display display, Window parent, int x, int y, int width, int height, int border_width, long border, long background ); [DllImport(_dll_name, EntryPoint = "XResizeWindow")] public extern static int XResizeWindow(Display display, Window window, int width, int height); [DllImport(_dll_name, EntryPoint = "XDestroyWindow")] public extern static void DestroyWindow(Display display, Window window); [DllImport(_dll_name, EntryPoint = "XMapWindow")] extern public static void MapWindow(Display display, Window window); [DllImport(_dll_name, EntryPoint = "XMapRaised")] extern public static void MapRaised(Display display, Window window); #endregion [DllImport(_dll_name, EntryPoint = "XDefaultVisual")] extern public static IntPtr DefaultVisual(Display display, int screen_number); #region XFree /// /// Frees the memory used by an X structure. Only use on unmanaged structures! /// /// A pointer to the structure that will be freed. [DllImport(_dll_name, EntryPoint = "XFree")] extern public static void Free(IntPtr buffer); #endregion #region Event queue management [System.Security.SuppressUnmanagedCodeSecurity] [DllImport(_dll_name, EntryPoint = "XEventsQueued")] extern public static int EventsQueued(Display display, int mode); [System.Security.SuppressUnmanagedCodeSecurity] [DllImport(_dll_name, EntryPoint = "XPending")] extern public static int Pending(Display display); //[System.Security.SuppressUnmanagedCodeSecurity] [DllImport(_dll_name, EntryPoint = "XNextEvent")] extern public static void NextEvent( Display display, [MarshalAs(UnmanagedType.AsAny)][In, Out]object e); [DllImport(_dll_name, EntryPoint = "XNextEvent")] extern public static void NextEvent(Display display, [In, Out] IntPtr e); [DllImport(_dll_name, EntryPoint = "XPeekEvent")] extern public static void PeekEvent( Display display, [MarshalAs(UnmanagedType.AsAny)][In, Out]object event_return ); [DllImport(_dll_name, EntryPoint = "XPeekEvent")] extern public static void PeekEvent(Display display, [In, Out]XEvent event_return); [DllImport(_dll_name, EntryPoint = "XSendEvent")] [return: MarshalAs(UnmanagedType.Bool)] extern public static bool SendEvent(Display display, Window window, bool propagate, [MarshalAs(UnmanagedType.SysInt)]EventMask event_mask, ref XEvent event_send); /// /// The XSelectInput() function requests that the X server report the events associated /// with the specified event mask. /// /// Specifies the connection to the X server. /// Specifies the window whose events you are interested in. /// Specifies the event mask. /// /// Initially, X will not report any of these events. /// Events are reported relative to a window. /// If a window is not interested in a device event, /// it usually propagates to the closest ancestor that is interested, /// unless the do_not_propagate mask prohibits it. /// Setting the event-mask attribute of a window overrides any previous call for the same window but not for other clients. Multiple clients can select for the same events on the same window with the following restrictions: /// Multiple clients can select events on the same window because their event masks are disjoint. When the X server generates an event, it reports it to all interested clients. /// Only one client at a time can select CirculateRequest, ConfigureRequest, or MapRequest events, which are associated with the event mask SubstructureRedirectMask. /// Only one client at a time can select a ResizeRequest event, which is associated with the event mask ResizeRedirectMask. /// Only one client at a time can select a ButtonPress event, which is associated with the event mask ButtonPressMask. /// The server reports the event to all interested clients. /// XSelectInput() can generate a BadWindow error. /// [DllImport(_dll_name, EntryPoint = "XSelectInput")] public static extern void SelectInput(Display display, Window w, EventMask event_mask); /// /// When the predicate procedure finds a match, XCheckIfEvent() copies the matched event into the client-supplied XEvent structure and returns True. (This event is removed from the queue.) If the predicate procedure finds no match, XCheckIfEvent() returns False, and the output buffer will have been flushed. All earlier events stored in the queue are not discarded. /// /// Specifies the connection to the X server. /// Returns a copy of the matched event's associated structure. /// Specifies the procedure that is to be called to determine if the next event in the queue matches what you want /// Specifies the user-supplied argument that will be passed to the predicate procedure. /// true if the predicate returns true for some event, false otherwise [DllImport(_dll_name, EntryPoint = "XCheckIfEvent")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool CheckIfEvent(Display display, ref XEvent event_return, /*[MarshalAs(UnmanagedType.FunctionPtr)] */ CheckEventPredicate predicate, /*XPointer*/ IntPtr arg); [DllImport(_dll_name, EntryPoint = "XIfEvent")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool IfEvent(Display display, ref XEvent event_return, /*[MarshalAs(UnmanagedType.FunctionPtr)] */ CheckEventPredicate predicate, /*XPointer*/ IntPtr arg); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate bool CheckEventPredicate(Display display, ref XEvent @event, IntPtr arg); [DllImport(_dll_name, EntryPoint = "XCheckMaskEvent")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool CheckMaskEvent(Display display, EventMask event_mask, ref XEvent event_return); #endregion #region Pointer and Keyboard functions [DllImport(_dll_name, EntryPoint = "XGrabPointer")] extern public static ErrorCodes GrabPointer(Display display, IntPtr grab_window, bool owner_events, int event_mask, GrabMode pointer_mode, GrabMode keyboard_mode, IntPtr confine_to, IntPtr cursor, int time); [DllImport(_dll_name, EntryPoint = "XUngrabPointer")] extern public static ErrorCodes UngrabPointer(Display display, int time); [DllImport(_dll_name, EntryPoint = "XGrabKeyboard")] extern public static ErrorCodes GrabKeyboard(Display display, IntPtr grab_window, bool owner_events, GrabMode pointer_mode, GrabMode keyboard_mode, int time); [DllImport(_dll_name, EntryPoint = "XUngrabKeyboard")] extern public static void UngrabKeyboard(Display display, int time); /// /// The XGetKeyboardMapping() function returns the symbols for the specified number of KeyCodes starting with first_keycode. /// /// Specifies the connection to the X server. /// Specifies the first KeyCode that is to be returned. /// Specifies the number of KeyCodes that are to be returned /// Returns the number of KeySyms per KeyCode. /// /// /// The value specified in first_keycode must be greater than or equal to min_keycode as returned by XDisplayKeycodes(), or a BadValue error results. In addition, the following expression must be less than or equal to max_keycode as returned by XDisplayKeycodes(): /// first_keycode + keycode_count - 1 /// If this is not the case, a BadValue error results. The number of elements in the KeySyms list is: /// keycode_count * keysyms_per_keycode_return /// KeySym number N, counting from zero, for KeyCode K has the following index in the list, counting from zero: /// (K - first_code) * keysyms_per_code_return + N /// The X server arbitrarily chooses the keysyms_per_keycode_return value to be large enough to report all requested symbols. A special KeySym value of NoSymbol is used to fill in unused elements for individual KeyCodes. To free the storage returned by XGetKeyboardMapping(), use XFree(). /// XGetKeyboardMapping() can generate a BadValue error. /// Diagnostics: /// BadValue: Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error. /// [DllImport(_dll_name, EntryPoint = "XGetKeyboardMapping")] public static extern KeySym GetKeyboardMapping(Display display, KeyCode first_keycode, int keycode_count, ref int keysyms_per_keycode_return); /// /// The XDisplayKeycodes() function returns the min-keycodes and max-keycodes supported by the specified display. /// /// Specifies the connection to the X server. /// Returns the minimum number of KeyCodes /// Returns the maximum number of KeyCodes. /// The minimum number of KeyCodes returned is never less than 8, and the maximum number of KeyCodes returned is never greater than 255. Not all KeyCodes in this range are required to have corresponding keys. [DllImport(_dll_name, EntryPoint = "XDisplayKeycodes")] public static extern void DisplayKeycodes(Display display, ref int min_keycodes_return, ref int max_keycodes_return); #endregion #region Xf86VidMode internal structures [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeModeLine { short hdisplay; /* Number of display pixels horizontally */ short hsyncstart; /* Horizontal sync start */ short hsyncend; /* Horizontal sync end */ short htotal; /* Total horizontal pixels */ short vdisplay; /* Number of display pixels vertically */ short vsyncstart; /* Vertical sync start */ short vsyncend; /* Vertical sync start */ short vtotal; /* Total vertical pixels */ int flags; /* Mode flags */ int privsize; /* Size of private */ IntPtr _private; /* Server privates */ } /// /// Specifies an XF86 display mode. /// [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeModeInfo { /// /// Pixel clock. /// public int dotclock; /// /// Number of display pixels horizontally /// public short hdisplay; /// /// Horizontal sync start /// public short hsyncstart; /// /// Horizontal sync end /// public short hsyncend; /// /// Total horizontal pixel /// public short htotal; /// /// /// public short hskew; /// /// Number of display pixels vertically /// public short vdisplay; /// /// Vertical sync start /// public short vsyncstart; /// /// Vertical sync end /// public short vsyncend; /// /// Total vertical pixels /// public short vtotal; /// /// /// public short vskew; /// /// Mode flags /// public int flags; int privsize; /* Size of private */ IntPtr _private; /* Server privates */ } //Monitor information: [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeMonitor { [MarshalAs(UnmanagedType.LPStr)] string vendor; /* Name of manufacturer */ [MarshalAs(UnmanagedType.LPStr)] string model; /* Model name */ float EMPTY; /* unused, for backward compatibility */ byte nhsync; /* Number of horiz sync ranges */ /*XF86VidModeSyncRange* */ IntPtr hsync;/* Horizontal sync ranges */ byte nvsync; /* Number of vert sync ranges */ /*XF86VidModeSyncRange* */ IntPtr vsync;/* Vertical sync ranges */ } [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeSyncRange { float hi; /* Top of range */ float lo; /* Bottom of range */ } [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeNotifyEvent { int type; /* of event */ ulong serial; /* # of last request processed by server */ bool send_event; /* true if this came from a SendEvent req */ Display display; /* Display the event was read from */ IntPtr root; /* root window of event screen */ int state; /* What happened */ int kind; /* What happened */ bool forced; /* extents of new region */ /* Time */ IntPtr time; /* event timestamp */ } [StructLayout(LayoutKind.Sequential)] internal struct XF86VidModeGamma { float red; /* Red Gamma value */ float green; /* Green Gamma value */ float blue; /* Blue Gamma value */ } #endregion #region libXxf86vm Functions [DllImport(_dll_name_vid)] extern public static bool XF86VidModeQueryExtension( Display display, out int event_base_return, out int error_base_return); /* [DllImport(_dll_name_vid)] extern public static bool XF86VidModeSwitchMode( Display display, int screen, int zoom); */ [DllImport(_dll_name_vid)] extern public static bool XF86VidModeSwitchToMode( Display display, int screen, IntPtr /*XF86VidModeModeInfo* */ modeline); [DllImport(_dll_name_vid)] extern public static bool XF86VidModeQueryVersion( Display display, out int major_version_return, out int minor_version_return); [DllImport(_dll_name_vid)] extern public static bool XF86VidModeGetAllModeLines( Display display, int screen, out int modecount_return, /*XF86VidModeModeInfo*** <-- yes, that's three *'s. */ out IntPtr modesinfo); [DllImport(_dll_name_vid)] extern public static bool XF86VidModeSetViewPort( Display display, int screen, int x, int y); /* Bool XF86VidModeSetClientVersion( Display *display); Bool XF86VidModeGetModeLine( Display *display, int screen, int *dotclock_return, XF86VidModeModeLine *modeline); Bool XF86VidModeDeleteModeLine( Display *display, int screen, XF86VidModeModeInfo *modeline); Bool XF86VidModeModModeLine( Display *display, int screen, XF86VidModeModeLine *modeline); Status XF86VidModeValidateModeLine( Display *display, int screen, XF86VidModeModeLine *modeline); Bool XF86VidModeLockModeSwitch( Display *display, int screen, int lock); Bool XF86VidModeGetMonitor( Display *display, int screen, XF86VidModeMonitor *monitor); Bool XF86VidModeGetViewPort( Display *display, int screen, int *x_return, int *y_return); XF86VidModeGetDotClocks( Display *display, int screen, int *flags return, int *number of clocks return, int *max dot clock return, int **clocks return); XF86VidModeGetGamma( Display *display, int screen, XF86VidModeGamma *Gamma); XF86VidModeSetGamma( Display *display, int screen, XF86VidModeGamma *Gamma); XF86VidModeGetGammaRamp( Display *display, int screen, int size, unsigned short *red array, unsigned short *green array, unsigned short *blue array); XF86VidModeSetGammaRamp( Display *display, int screen, int size, unsigned short *red array, unsigned short *green array, unsigned short *blue array); XF86VidModeGetGammaRampSize( Display *display, int screen, int *size); * */ #endregion [DllImport(_dll_name, EntryPoint = "XLookupKeysym")] public static extern KeySym LookupKeysym(ref XKeyEvent key_event, int index); } #endregion #region X11 Structures #region internal class XVisualInfo [StructLayout(LayoutKind.Sequential)] struct XVisualInfo { public IntPtr Visual; public VisualID VisualID; public int Screen; public int Depth; public XVisualClass Class; public long RedMask; public long GreenMask; public long blueMask; public int ColormapSize; public int BitsPerRgb; public override string ToString() { return String.Format("id ({0}), screen ({1}), depth ({2}), class ({3})", VisualID, Screen, Depth, Class); } } #endregion #region internal class SetWindowAttributes [StructLayout(LayoutKind.Sequential), Obsolete("Use XSetWindowAttributes instead")] internal class SetWindowAttributes { /// /// background, None, or ParentRelative /// public Pixmap background_pixmap; /// /// background pixel /// public long background_pixel; /// /// border of the window or CopyFromParent /// public Pixmap border_pixmap; /// /// border pixel value /// public long border_pixel; /// /// one of bit gravity values /// public int bit_gravity; /// /// one of the window gravity values /// public int win_gravity; /// /// NotUseful, WhenMapped, Always /// public int backing_store; /// /// planes to be preserved if possible /// public long backing_planes; /// /// value to use in restoring planes /// public long backing_pixel; /// /// should bits under be saved? (popups) /// public bool save_under; /// /// set of events that should be saved /// public EventMask event_mask; /// /// set of events that should not propagate /// public long do_not_propagate_mask; /// /// boolean value for override_redirect /// public bool override_redirect; /// /// color map to be associated with window /// public Colormap colormap; /// /// cursor to be displayed (or None) /// public Cursor cursor; } #endregion #region internal struct SizeHints [StructLayout(LayoutKind.Sequential)] internal struct SizeHints { public long flags; /* marks which fields in this structure are defined */ public int x, y; /* Obsolete */ public int width, height; /* Obsolete */ public int min_width, min_height; public int max_width, max_height; public int width_inc, height_inc; public Rectangle min_aspect, max_aspect; public int base_width, base_height; public int win_gravity; internal struct Rectangle { public int x; /* numerator */ public int y; /* denominator */ private void stop_the_compiler_warnings() { x = y = 0; } } /* this structure may be extended in the future */ } #endregion #region internal struct XRRScreenSize internal struct XRRScreenSize { internal int Width, Height; internal int MWidth, MHeight; }; #endregion #region unsafe internal struct Screen unsafe internal struct Screen { XExtData ext_data; /* hook for extension to hang buffer */ IntPtr display; /* back pointer to display structure */ /* _XDisplay */ Window root; /* Root window id. */ int width, height; /* width and height of screen */ int mwidth, mheight; /* width and height of in millimeters */ int ndepths; /* number of depths possible */ //Depth *depths; /* list of allowable depths on the screen */ int root_depth; /* bits per pixel */ //Visual* root_visual; /* root visual */ IntPtr default_gc; /* GC for the root root visual */ // GC Colormap cmap; /* default color map */ UIntPtr white_pixel; // unsigned long UIntPtr black_pixel; /* White and Black pixel values */ // unsigned long int max_maps, min_maps; /* max and min color maps */ int backing_store; /* Never, WhenMapped, Always */ Bool save_unders; long root_input_mask; /* initial root input mask */ } #endregion #region unsafe internal class XExtData unsafe internal class XExtData { int number; /* number returned by XRegisterExtension */ XExtData next; /* next item on list of buffer for structure */ delegate int FreePrivateDelegate(XExtData extension); FreePrivateDelegate FreePrivate; /* called to free private storage */ XPointer private_data; /* buffer private to this extension. */ }; #endregion #region Motif [StructLayout(LayoutKind.Sequential)] internal struct MotifWmHints { internal IntPtr flags; internal IntPtr functions; internal IntPtr decorations; internal IntPtr input_mode; internal IntPtr status; public override string ToString () { return string.Format("MotifWmHints